:root{--display:"Georgia","Times New Roman",serif;--body:"Segoe UI","Helvetica Neue",sans-serif;--max:1570px;--gutter:clamp(23px,5.8vw,110px);--masthead-height:76px}
h1,h2,h3{line-height:.99;letter-spacing:-.045em}
p{font-size:clamp(1.04rem,1.22vw,1.27rem)}
.eyebrow{font-size:clamp(.71rem,1vw,.86rem)}
.brand{font-family:var(--body)}
.masthead{gap:clamp(.75rem,2vw,2rem)}
.masthead nav{gap:clamp(.75rem,1.65vw,1.9rem)}
.masthead nav a{font-weight:650;white-space:nowrap}
.footer .motion-toggle{justify-self:start}
.footer .motion-toggle[aria-pressed=true]{color:var(--warm)}
.footer small{font-size:.87rem;max-width:64ch}
.opening{--reel-height:calc(100svh - var(--masthead-height));background:#090e15}
.opening .reel-stage{position:relative;min-height:600px}
.opening.opening-pinned{height:390svh}
.opening.opening-pinned .reel-stage{top:var(--masthead-height)}
.opening .reel-shot{align-items:center;min-height:max(600px,var(--reel-height));padding:clamp(58px,8vw,130px) var(--gutter) 110px;isolation:isolate}
.opening.opening-pinned .reel-shot{min-height:0}
.opening .reel-shot::after{background:linear-gradient(90deg,#080d16f5 0%,#080d16c0 28%,#080d1655 58%,#080d161a 100%),linear-gradient(0deg,#0b0f14 0%,transparent 32%)}
.opening-art{position:absolute;inset:0;z-index:-2;overflow:hidden}
.opening .opening-art img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:var(--art-position,center);transform:none}
.opening.opening-pinned .opening-art img{transform:translateY(var(--drift,0px)) scale(1.055)}
.opening-art-2{--art-position:65% center}
.opening-art-3{--art-position:62% center}
.opening-art-4{--art-position:62% center}
.opening-art-5{--art-position:65% center}
.opening-copy{width:min(100%,805px)}
.opening-copy h1{font-size:clamp(5rem,9.65vw,11.3rem);line-height:.86;margin-bottom:.21em}
.opening-copy h2{font-size:clamp(3.65rem,7.8vw,9.2rem);max-width:11ch}
.opening-copy .opening-text{max-width:36ch;margin-top:1.2rem;color:#f2ede5;font-size:clamp(1.12rem,1.64vw,1.53rem);line-height:1.54;text-wrap:pretty}
.opening-copy .subtitle{font-family:var(--display);font-style:italic;font-size:clamp(1.4rem,2.4vw,2.25rem)}
.opening-navigation{position:absolute;left:var(--gutter);right:var(--gutter);bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:1rem;z-index:3}
.opening-progress{display:flex;align-items:center;gap:clamp(6px,1.1vw,18px)}
.opening-progress a{display:grid;place-items:center;min-width:44px;height:44px;border-top:1px solid #f1e9dc63;color:#e0d8ca;font:700 .8rem var(--body)}
.opening-progress a:hover,.opening-progress a[aria-current]{border-color:var(--warm);color:var(--warm)}
.opening-scroll{display:flex;align-items:center;gap:.75rem;min-height:44px;color:var(--ink);font-size:.88rem}
.opening-scroll:hover{color:var(--warm)}
.opening:not(.opening-pinned) .opening-navigation{position:static;padding:20px var(--gutter);background:var(--base)}
.opening:not(.opening-pinned) .reel-shot{scroll-margin-top:12px}
.editorial-sequence{padding-top:clamp(16px,4vw,60px)}
.editorial-sequence .editorial h2{font-size:clamp(3.1rem,6vw,6.8rem)}
.editorial-sequence .editorial img{aspect-ratio:3/2}
.library .tile-art{background:#0f161e;aspect-ratio:16/10}
.library .tile-art img{object-fit:cover}
@media(min-width:721px){.library .book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.library .book-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.book-lead>img{object-fit:contain;aspect-ratio:16/10}
.book-detail .book-text .book-setting{font-weight:700;color:var(--warm);font-size:.95rem;margin-top:1rem}
.book-detail+.book-detail{border-top:1px solid var(--line);margin-top:clamp(45px,6vw,88px)}
.book-images{margin-top:clamp(30px,5vw,62px)}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(225px,100%),1fr));gap:clamp(8px,1.7vw,25px)}
.photo-tile{position:relative;display:block;background:var(--panel);overflow:hidden;aspect-ratio:3/2}
.photo-tile img{width:100%;height:100%;object-fit:cover;transition:transform .28s}
.photo-tile img[src$="book-ceti-descent.webp"]{object-position:40% center}
.photo-tile img[src$="book-hope-waterloo.webp"]{object-position:48% 56%}
.photo-tile:hover img,.photo-tile:focus-visible img{transform:scale(1.035)}
.photo-tile>span{position:absolute;right:9px;bottom:8px;padding:.35em .55em;background:#0b0f14e8;color:var(--ink);font-size:.74rem;font-weight:650;white-space:nowrap}
.image-dialog{padding:0;background:#0c1118;border:1px solid var(--line);color:var(--ink);max-width:min(94vw,1350px);max-height:92svh;overflow:auto}
.image-dialog::backdrop{background:#05070bec}
.image-dialog img{width:auto;max-width:100%;max-height:calc(86svh - 44px);margin:auto}
.image-close{display:block;width:100%;min-height:45px;padding:.65rem .9rem;text-align:right;background:var(--panel);border:0;cursor:pointer}
.image-close:focus-visible{outline-offset:-4px}
.cast-browser{padding-bottom:clamp(55px,9vw,115px)}
.cast-controls{display:flex;justify-content:flex-end;align-items:center;gap:.7rem;margin-bottom:.85rem}
.cast-controls[hidden]{display:none}
.cast-controls button{width:46px;height:46px;border:1px solid var(--line);background:var(--panel);cursor:pointer}
.cast-controls button:disabled{opacity:.4;cursor:default}
.cast-controls p{font-size:.87rem;color:var(--muted);min-width:5.1rem;text-align:center}
.cast-rail{display:flex;gap:clamp(10px,2vw,28px);overflow-x:auto;scroll-snap-type:x mandatory;padding-inline:var(--gutter);scroll-padding-inline:var(--gutter);padding-bottom:13px;scrollbar-color:var(--warm) var(--panel);scrollbar-width:thin}
.cast-rail:focus-visible{outline:2px solid var(--warm);outline-offset:-2px}
.cast-slide{flex:0 0 clamp(350px,42vw,660px);scroll-snap-align:start}
.cast-slide>a{position:relative;isolation:isolate;display:flex;align-items:end;min-height:clamp(510px,68vh,840px);overflow:hidden;background:var(--panel)}
.cast-slide img,.cast-slide>a:after{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.cast-slide img{object-fit:cover;object-position:50% 32%}
.cast-slide>a:after{content:"";z-index:-1;background:linear-gradient(0deg,#090e15f5 0%,#090e15ad 23%,transparent 57%)}
.cast-slide>a:focus-visible{outline-offset:-5px}
.cast-label{padding:clamp(23px,4vw,55px);width:100%}
.cast-label h2{font-size:clamp(3.15rem,6vw,6.4rem);max-width:10ch}
.cast-label>span{display:inline-block;margin-top:.8rem;color:var(--warm);font-weight:750}
.cast-index{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;padding-top:1.7rem}
.cast-index a{color:var(--muted);border-bottom:1px solid var(--line);padding:.4rem 0}
.cast-index a:hover{color:var(--warm)}
.profile{padding-top:clamp(32px,5vw,70px);padding-bottom:clamp(70px,10vw,140px)}
.profile-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(24px,6vw,95px);align-items:center;margin-top:1.55rem}
.profile-portrait{height:clamp(560px,72svh,860px);background:var(--panel);overflow:hidden}
.profile-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 32%}
.profile-copy h1{font-size:clamp(4rem,7.7vw,10rem)}
.profile-handle{color:var(--warm);margin:.6rem 0 1.3rem;font-weight:650}
.profile-trait{margin-top:1.2rem;color:var(--ink);font-family:var(--display);font-style:italic;font-size:clamp(1.35rem,2.2vw,2.15rem)}
.profile-photos{padding-top:clamp(40px,7vw,98px)}
.profile-photos h2{font-size:clamp(2.7rem,5vw,4.8rem);margin-bottom:.6em}
.profile-photos .photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.profile-photos .photo-tile{aspect-ratio:1;object-position:center 30%}
.profile-photos .photo-tile img{object-position:center 30%}
.profile-photos .photo-tile img[src$="susan-gallery-briefing.webp"]{object-fit:contain;object-position:center}
.profile-photos .photo-tile img[src$="taya-gallery-terminal.webp"]{object-position:right center}
.timeline{display:grid;gap:clamp(40px,7vw,95px)}
.timeline article{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:clamp(26px,6vw,100px)}
.timeline article:nth-child(even) .timeline-art{order:2}
.timeline-art img{width:100%;aspect-ratio:3/2;object-fit:cover}
.timeline h2,.future-grid h2,.sentinel-body h2{font-size:clamp(2.6rem,5vw,5.7rem)}
.timeline article p:not(.eyebrow),.future-grid article p,.sentinel-body article p:not(.eyebrow){margin-top:.85rem;color:var(--muted)}
.future-grid,.leader-grid,.reader-grid,.sentinel-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,4vw,55px)}
.future-grid article,.leader-grid article,.reader-grid article,.sentinel-body article{background:var(--panel);border-top:1px solid var(--line)}
.future-grid img,.leader-grid img,.sentinel-lead img{width:100%;aspect-ratio:16/9;object-fit:cover}
.leader-grid img{aspect-ratio:5/5.2;object-position:50% 28%}
.future-grid article>div,.leader-grid article>div,.reader-grid article,.sentinel-body article{padding:clamp(20px,4vw,50px)}
.future-grid .button{margin-top:1.2rem}
.leader-grid h2{font-size:clamp(2rem,4vw,4.4rem)}
.leader-grid .text-link{margin-top:.65rem}
.sentinel-body{margin-top:clamp(24px,4vw,70px);grid-template-columns:repeat(3,minmax(0,1fr))}
.sentinel-body h2{font-size:clamp(2rem,3.4vw,4rem)}
.reader-grid{padding-bottom:clamp(45px,7vw,90px)}
.reader-grid h3{font-size:clamp(1.7rem,3.5vw,3rem);line-height:1.05}
.reader-grid blockquote{font-family:var(--display);font-size:clamp(1.28rem,2.5vw,2rem);line-height:1.25;margin:.9rem 0}
.reader-grid p:not(.eyebrow){color:var(--muted);margin:.8rem 0}
.review-section{margin-top:clamp(36px,6vw,84px)}
.review-section h2{margin-bottom:.45em}
@media(max-width:1080px){
  .masthead nav{gap:clamp(.6rem,1.35vw,1rem)}
  .masthead nav a{font-size:.82rem}
  .masthead{padding-inline:clamp(21px,3.4vw,45px)}
}
@media(max-width:850px){
  :root{--masthead-height:64px}
  html{scroll-padding-top:76px}
  .masthead{min-height:var(--masthead-height);justify-content:space-between}
  .masthead .brand{line-height:44px}
  .masthead nav{width:100%;order:3;margin:0;flex-wrap:wrap;justify-content:flex-start;gap:.5rem 1.3rem}
  .masthead .masthead-buy{display:none}
  .enhanced .masthead nav{display:none}
  .enhanced .masthead nav.is-open{display:flex}
  .enhanced .menu-toggle{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:flex-end}
  .opening.opening-pinned .reel-stage{top:var(--masthead-height)}
  .profile-hero{gap:1.8rem}
  .profile-portrait{height:clamp(425px,68svh,650px)}
  .sentinel-body{grid-template-columns:1fr}
}
@media(max-width:620px){
  .cast-slide{flex-basis:84vw}
  .cast-slide>a{min-height:clamp(420px,69svh,615px)}
  .cast-label h2{font-size:clamp(3.1rem,12vw,5.2rem)}
  .profile-hero,.timeline article,.future-grid,.leader-grid,.reader-grid{grid-template-columns:1fr}
  .profile-portrait{height:clamp(400px,70svh,640px)}
  .profile-copy h1{font-size:clamp(3.8rem,14vw,6rem)}
  .profile-photos .photo-grid{gap:5px}
  .photo-tile>span{bottom:4px;right:4px}
  .timeline article:nth-child(even) .timeline-art{order:0}
}
.opening.opening-pinned .reel-stage{position:sticky;height:max(600px,var(--reel-height))}
@media(max-height:690px) and (min-width:721px){
  .opening .reel-stage{min-height:0}
  .opening.opening-pinned .reel-stage{height:var(--reel-height)}
  .opening .reel-shot{padding-block:35px 76px}
  .opening-copy h1{font-size:clamp(4rem,8vw,7rem)}
}
@media(min-width:721px){
  .opening-art-2{left:16%;--art-position:64% 41%;mask-image:linear-gradient(90deg,transparent,#000 20%)}
}
.reader-grid{padding-top:1rem}
.reader-grid article .text-link{margin-top:.5rem}
@media(min-width:721px){
  .opening-copy h1{font-size:clamp(4.65rem,8.45vw,10.2rem)}
}
@media(max-width:720px), (max-height:500px) and (max-width:950px){
  .opening{--opening-frame:clamp(145px,min(58vw,34svh),400px)}
  .opening .reel-stage{min-height:0}
  .opening.opening-pinned .reel-stage{height:var(--reel-height)}
  .opening .reel-shot{display:block;min-height:0;padding:calc(var(--opening-frame) + clamp(14px,4vw,27px)) var(--gutter) 64px;background:#090e15}
  .opening .reel-shot::after{content:none}
  .opening-art{inset:0 0 auto;height:var(--opening-frame);mask-image:none}
  .opening-art::after{content:"";position:absolute;inset:auto 0 0;height:clamp(24px,6vw,46px);background:linear-gradient(transparent,#090e15);pointer-events:none}
  .opening.opening-pinned .reel-shot .opening-art img{transform:none}
  .opening-art-2{--art-position:59% 41%}
  .opening-art-3{--art-position:50% 36%}
  .opening-art-4{--art-position:50% 33%}
  .opening-art-5{--art-position:50% 36%}
  .opening-copy .eyebrow{margin-bottom:.75rem}
  .opening-copy h1{font-size:clamp(2.85rem,12.6vw,6rem)}
  .opening-copy h2{font-size:clamp(2.35rem,10.7vw,5.1rem);max-width:15ch}
  .opening-copy .subtitle{font-size:clamp(1.16rem,4.8vw,1.6rem)}
  .opening-copy .opening-text{font-size:clamp(1.02rem,4.3vw,1.21rem);line-height:1.44;margin-top:.75rem}
  .opening-copy .actions{margin-top:1rem;gap:.5rem}
  .opening-copy .button{min-height:44px;padding:.55rem .8rem}
  .opening-progress{gap:2px}
  .opening-progress a{min-width:clamp(33px,10vw,44px)}
  .opening-scroll{font-size:.8rem;gap:.35rem;min-height:44px;white-space:nowrap}
  .opening-navigation{bottom:10px;gap:.55rem}
  .opening:not(.opening-pinned) .reel-shot{padding-bottom:35px}
}
@media(max-height:660px) and (max-width:720px){
  .opening{--opening-frame:clamp(125px,min(54vw,26svh),190px)}
  .opening-copy .eyebrow{margin-bottom:.5rem}
  .opening-copy h1{font-size:clamp(2.55rem,12vw,4.7rem)}
  .opening-copy h2{font-size:clamp(2.15rem,10vw,4.1rem)}
  .opening-copy .opening-text{margin-top:.55rem}
  .opening-copy .actions{margin-top:.7rem}
  .opening-copy .button{font-size:.86rem;padding-inline:.63rem}
}
@media(max-height:660px) and (max-width:365px){
  .opening-copy .actions:has(.outline){display:grid;grid-template-columns:1fr 1.25fr;max-width:19rem}
  .opening-copy .actions .button{white-space:nowrap;gap:.4rem}
}
@media(max-width:365px){
  .opening-scroll{white-space:normal;line-height:1.15}
}
@media(max-height:500px) and (max-width:950px) and (orientation:landscape){
  .opening{--opening-frame:min(56vw,480px)}
}
@font-face{font-family:"DM Serif Text";src:url("fonts/dm-serif-text.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"DM Serif Text";src:url("fonts/dm-serif-text-italic.woff2") format("woff2");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("fonts/source-sans-3.woff2") format("woff2");font-style:normal;font-weight:400 800;font-display:swap}
:root{--display:"DM Serif Text",Georgia,serif;--body:"Source Sans 3","Segoe UI",sans-serif}
h1,h2,h3,.subtitle,.opening-copy .subtitle,.themes summary{font-weight:400}
h1,h2,h3{letter-spacing:-.036em}
