/* New interior pages only; approved homepage and hubs retain their cascade. */
:is(.ggds-books,.ggds-about) #main :is(a,summary):focus-visible { outline:3px solid var(--orange-dark); outline-offset:5px; }
:is(.ggds-books,.ggds-about) #main section[id] { scroll-margin-top:110px; }
.book-hero-shelf { display:flex; align-items:center; justify-content:center; min-height:380px; padding:20px 0; }
.book-hero-shelf img { width:39%; height:auto; object-fit:contain; filter:drop-shadow(8px 18px 13px #23170d26); }
.book-hero-shelf img:first-child { transform:rotate(-9deg); margin-right:-9%; }
.book-hero-shelf img:nth-child(2) { z-index:1; transform:translateY(-20px); width:43%; }
.book-hero-shelf img:last-child { transform:rotate(9deg); margin-left:-9%; }
.book-collection { padding-top:64px; }
.book-primary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.book-product { display:flex; flex-direction:column; border:1px solid var(--line); border-radius:22px; overflow:hidden; background:var(--paper); min-width:0; }
.book-cover { background:var(--paper-deep); display:flex; align-items:center; justify-content:center; padding:28px; height:300px; }
.book-cover img { height:100%; width:auto; max-width:100%; object-fit:contain; filter:drop-shadow(7px 12px 10px #23170d20); transition:transform .25s ease; }
.book-product:hover .book-cover img { transform:translateY(-5px); }
.book-copy { padding:28px; display:flex; flex-direction:column; flex:1; }
.book-catalog-proof { display:flex; align-items:center; gap:10px; align-self:flex-start; padding:10px 13px; margin:0 0 22px; border:1px solid var(--line); border-radius:12px; background:var(--paper-deep); color:var(--charcoal); }
.book-catalog-proof svg { width:22px; height:22px; flex:none; color:var(--orange-dark); }
.book-catalog-proof strong { display:block; font-size:12px; line-height:1.45; font-weight:700; }
.book-catalog-proof small { display:block; margin-top:2px; font-size:11px; line-height:1.4; color:var(--muted); }
.book-copy h3 { font:400 32px/1.12 var(--serif); letter-spacing:-.03em; margin:0 0 16px; }
.book-copy p:not(.hub-kicker) { color:var(--muted); font-size:16px; line-height:1.65; margin:0 0 22px; }
.book-secondary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-top:24px; }
.book-product-wide { display:grid; grid-template-columns:.7fr 1fr; }
.book-product-wide .book-cover { height:100%; min-height:300px; padding:20px; }
.book-product-wide .book-cover img { height:auto; max-height:270px; width:100%; }
.book-product-wide h3 { font-size:30px; }
.book-finder-section { padding-top:28px; padding-bottom:64px; }
.ggds-books .hub-book-finder-copy h2 { font:400 clamp(32px,3.3vw,44px)/1.08 var(--serif); letter-spacing:-.03em; margin:0 0 16px; }
.about-hero .hub-hero-grid { grid-template-columns:1.1fr .85fr; gap:80px; }
.about-portrait { display:block; width:100%; height:540px; object-fit:cover; object-position:center 28%; border-radius:24px; }
.about-story { padding-top:72px; padding-bottom:64px; display:grid; grid-template-columns:.85fr 1.15fr; gap:36px 70px; }
.about-story h2,.about-life h2 { font:400 clamp(36px,4vw,52px)/1.08 var(--serif); letter-spacing:-.035em; margin:20px 0 26px; }
.about-story h2 em,.about-life h2 em { font-weight:400; color:var(--orange-dark); }
.about-story-copy p,.about-chapter-copy p:not(.hub-kicker),.about-life p:not(.eyebrow) { font-size:17px; line-height:1.75; color:var(--muted); margin:0 0 20px; }
.about-video { grid-column:1/-1; width:100%; max-width:1040px; margin:8px auto 0; aspect-ratio:16/9; background:var(--charcoal); border-radius:24px; overflow:hidden; }
.about-video iframe { border:0; width:100%; height:100%; display:block; }
.about-chapters { padding-top:16px; padding-bottom:64px; }
.about-chapter-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:start; }
.about-chapter-grid > img { width:100%; height:auto; border-radius:20px; margin-top:8px; }
.about-chapter-copy article { border-top:1px solid var(--line); padding:26px 0 12px; }
.about-chapter-copy h3,.about-today h3 { font:400 31px/1.12 var(--serif); letter-spacing:-.025em; margin:0 0 16px; }
.about-life { background:var(--paper-soft); border-block:1px solid var(--line); padding:64px 0; }
.about-life-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.about-life-grid > img { width:100%; height:auto; border-radius:22px; }
.about-today { padding-top:64px; padding-bottom:56px; }
.about-today-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.about-today-grid article { border-top:2px solid var(--orange-dark); padding-top:24px; display:flex; flex-direction:column; }
.about-today-grid article:nth-child(3) { border-color:var(--green); }
.about-index { font:italic 26px var(--serif); color:var(--orange-dark); margin-bottom:22px; }
.about-today-grid p { color:var(--muted); font-size:16px; line-height:1.7; margin:0 0 16px; }
.about-partner-note { color:var(--muted); font-size:14px; line-height:1.7; margin:36px 0 0; padding-top:24px; border-top:1px solid var(--line); max-width:860px; }
.about-partner-note a { color:var(--ink); text-underline-offset:4px; }
@media(max-width:950px) {
 .book-secondary-grid { grid-template-columns:1fr; }
 .book-product-wide { grid-template-columns:220px 1fr; }
 .book-product-wide .book-cover { min-height:260px; }
 .about-hero .hub-hero-grid,.about-chapter-grid { gap:36px; }
 .about-story,.about-life-grid { gap:32px; }
}
@media(max-width:700px) {
 .book-hero .hub-hero-grid,.about-hero .hub-hero-grid,.about-story,.about-chapter-grid,.about-life-grid { grid-template-columns:1fr; gap:30px; }
 .book-hero-shelf { min-height:0; max-width:500px; margin:24px auto 0; }
 .book-primary-grid,.about-today-grid { grid-template-columns:1fr; }
 .book-cover { height:280px; }
 .book-product-wide { grid-template-columns:1fr; }
 .book-product-wide .book-cover { height:260px; min-height:0; }
 .book-product-wide .book-cover img { height:100%; width:auto; }
 .book-copy { padding:26px; }
 .about-portrait { height:430px; object-position:center 24%; }
 .about-story,.about-today { padding-top:44px; padding-bottom:40px; }
 .about-chapters { padding-bottom:40px; }
 .about-life { padding:40px 0; }
 .about-chapter-copy article:first-child { padding-top:0; border-top:0; }
 .about-video { border-radius:14px; }
 .book-collection { padding-top:40px; }
 .book-finder-section { padding-bottom:40px; }
}
@media(prefers-reduced-motion:reduce) { .book-cover img { transition:none; } .book-product:hover .book-cover img { transform:none; } }

/* My Story: a continuous reading experience, with archival photographs. */
.story-hero{background:var(--cream,#f7efe4);padding:72px 0}
.story-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.story-hero h1{font-size:clamp(64px,7vw,108px);line-height:1.02;margin:20px 0 28px}
.story-hero h1 em{color:#bd5108;font-weight:400}
.story-hero-grid>img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:24px;object-position:45% center}
.story-intro{font-size:19px;line-height:1.75;margin-bottom:30px}
.story-section{padding:80px 24px}
.story-reading{max-width:790px;margin:auto;font-size:18px;line-height:1.85}
.story-reading h2{font-size:clamp(36px,4vw,54px);line-height:1.12;margin:16px 0 32px}
.story-reading h3{font-size:30px;line-height:1.2;margin:10px 0 20px}
.story-reading p{margin:0 0 23px}
.story-reading .hub-eyebrow,.story-reading .hub-kicker{font-size:12px;line-height:1.5}
.story-reading a{text-decoration:underline;text-underline-offset:4px}
.story-bio{background:#fffdf8}
.story-dark{background:#191815;color:#f6f0e6}
.story-dark h2{color:inherit}.story-dark .hub-eyebrow{color:#ffae64}
.story-signature{font-family:Georgia,serif;font-style:italic;font-size:24px}
.story-video{aspect-ratio:16/9;margin:32px 0 42px;border-radius:18px;overflow:hidden;background:#191815}
.story-video iframe{width:100%;height:100%;border:0}
.story-photo{margin:30px 0 40px}
.story-photo img{display:block;max-height:580px;object-fit:contain;width:100%;border-radius:18px}
.story-timeline{background:#f6efe5}
.story-milestone{padding:32px 36px;margin-top:24px;background:#fffdf8;border-radius:18px}
.story-milestone p:last-child{margin-bottom:0}
.story-reading h4{font-size:24px;line-height:1.4;margin:32px 0 14px}
@media(max-width:760px){.story-hero{padding:42px 0}.story-hero-grid{grid-template-columns:1fr;gap:32px}.story-hero-grid>img{aspect-ratio:4/3}.story-section{padding:52px 22px}.story-reading{font-size:17px}.story-milestone{padding:26px 24px}.story-intro{font-size:17px}}
.ggds-about :is(.story-hero,.story-section) :is(h1,h2,h3,h4){font-family:var(--serif);font-weight:400;letter-spacing:-.035em}
.ggds-about .story-hero-grid>img{height:auto}
.ggds-about :is(.story-hero,.story-section) .hub-eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-dark);font-weight:700}
.ggds-about .story-dark .hub-eyebrow{color:#ffae64}

/* Biography is editorial; chapters combine photographs and a flowing narrative. */
.story-bio-editorial .story-reading{max-width:1100px;display:grid;grid-template-columns: .8fr 1.2fr;gap:70px}
.story-bio-heading h2{max-width:370px}
.story-bio-copy{font-size:17px;line-height:1.8}
.story-chapter{padding-top:60px;padding-bottom:60px}
.story-chapter .story-reading{max-width:1040px;display:flow-root;font-size:18px;line-height:1.85}
.story-chapter .story-reading>h2{max-width:760px;margin-bottom:38px}
.story-chapter .story-photo{float:left;width:43%;margin:6px 48px 24px 0}
.story-chapter-reverse .story-photo{float:right;margin:6px 0 24px 48px}
.story-chapter .story-photo img{height:auto;max-height:540px;object-fit:contain;border-radius:16px;box-shadow:0 18px 40px #30211312}
.story-chapter:nth-of-type(6),.story-chapter:nth-of-type(9){background:var(--paper-deep)}
.story-chapter .story-video{max-width:1040px;margin-bottom:54px}
/* A real chronological spine replaces the uniform stack of large cards. */
.story-timeline{padding-top:88px;padding-bottom:88px;background:var(--paper-deep)}
.story-timeline>.story-reading{max-width:1180px}
.story-timeline>.story-reading>h2{max-width:720px;margin-bottom:56px}
.story-journey-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:64px;align-items:start}
.story-era-nav{position:sticky;top:110px;display:grid;gap:8px}
.story-reading .story-era-nav a{text-decoration:none;display:block;padding:14px 16px;border-radius:10px;transition:background .2s,color .2s}
.story-era-nav a:hover,.story-era-nav a:focus-visible{background:var(--paper);color:var(--orange-dark)}
.story-era-nav span{display:block;font-size:12px;letter-spacing:.08em;color:var(--orange-dark);margin-bottom:4px}
.story-era-nav strong{font-size:15px;line-height:1.45;font-weight:600;display:block}
.story-era{scroll-margin-top:110px;margin-bottom:70px}
.story-era:last-child{margin-bottom:0}
.ggds-about .story-era-title{font-size:36px;line-height:1.15;margin:0 0 32px;padding-left:30px}
.story-milestone{position:relative;display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;margin:0;padding:0 0 42px 30px;border-left:1px solid #d5c7b5;border-radius:0;background:none}
.story-milestone:before{content:'';position:absolute;left:-6px;top:8px;width:11px;height:11px;background:var(--orange-dark);border:3px solid var(--paper-deep);border-radius:50%;box-shadow:0 0 0 1px var(--orange-dark)}
.story-milestone:last-child{padding-bottom:4px}
.story-reading .story-milestone-date{margin:6px 0 0;color:var(--orange-dark);font-size:11px;letter-spacing:.07em;font-weight:700;text-transform:uppercase;line-height:1.6}
.ggds-about .story-milestone h4{font-size:29px;line-height:1.2;margin:0 0 16px}
.story-milestone-copy{font-size:16px;line-height:1.85;color:var(--muted)}
.story-milestone-copy h4{color:var(--charcoal)}
.story-milestone-copy p{margin-bottom:18px}
.story-current-faq .story-reading{max-width:1040px}
.story-current-answer{padding:24px 28px;background:var(--paper-deep);border-radius:14px;margin-top:14px}
.story-current-answer h3{font-size:25px;margin:0 0 12px}
.story-current-answer p{font-size:17px;margin:0}
@media(max-width:1000px){
 .story-journey-layout{grid-template-columns:1fr;gap:36px}
 .story-era-nav{position:static;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
 .story-era-nav a{background:var(--paper)}
 .story-bio-editorial .story-reading{gap:36px}
}
@media(max-width:700px){
 .story-bio-editorial .story-reading{display:block}
 .story-bio-heading h2{max-width:none}
 .story-chapter{padding:46px 22px}
 .story-chapter .story-reading{font-size:17px;line-height:1.8}
 .story-chapter .story-photo,.story-chapter-reverse .story-photo{float:none;width:100%;margin:0 0 28px}
 .story-chapter .story-photo img{max-height:none}
 .story-chapter .story-reading>h2{margin-bottom:28px}
 .story-era-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
 .story-reading .story-era-nav a{padding:12px}
 .story-timeline{padding:52px 22px}
 .story-timeline>.story-reading>h2{margin-bottom:28px}
 .story-era{margin-bottom:48px}
 .ggds-about .story-era-title{font-size:30px;padding-left:24px}
 .story-milestone{display:block;padding:0 0 34px 24px}
 .story-reading .story-milestone-date{margin:0 0 10px}
 .ggds-about .story-milestone h4{font-size:27px}
 .story-current-answer{padding:22px}
}
@media(prefers-reduced-motion:reduce){.story-era-nav a{transition:none}}
.ggds-about .hub-newsletter-close h2{font-size:clamp(38px,4.5vw,60px);line-height:1.08;max-width:740px}
.ggds-about .hub-newsletter-close .hub-close-inner>div{min-width:0}
@media(max-width:850px){.ggds-about .hub-newsletter-close .hub-close-inner{flex-direction:column;align-items:flex-start}}

/* Keep the document as the scroll container so the timeline rail can stick. */
body.ggds-about{overflow-x:clip;overflow-y:visible}

.story-reading .story-resources-link{margin:28px 0 0;font-size:17px}
