@font-face{font-family:"Libre Baskerville";src:url('assets/libre-baskerville-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Libre Baskerville";src:url('assets/libre-baskerville-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:Cfont;src:url('assets/font.woff2') format('woff2'),url('assets/font.woff') format('woff');font-display:swap;font-weight:400}
@font-face{font-family:'Open Sans';src:url('assets/OpenSans-Regular.ttf') format('truetype');font-display:swap;font-weight:400}
:root{--ink:#28130d;--black:#100906;--amber:#d88328;--sun:#f4aa38;--rust:#983a1d;--clay:#b8572c;--sand:#e8c995;--paper:#f0dfbd;--progress:0;--scroll:0px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;overflow-x:hidden;background:var(--ink);color:var(--paper);font-family:'Open Sans',Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.6}a{color:inherit;text-decoration:none}h1,h2,.mark,.giant-label{font-family:Cfont,"Libre Baskerville",serif;font-weight:400}p{text-wrap:pretty}.paper-noise{position:fixed;inset:-30%;z-index:60;opacity:.055;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .3s steps(2) infinite}.embers{position:fixed;inset:0;z-index:59;pointer-events:none}.progress{position:fixed;top:0;left:0;z-index:80;height:3px;width:100%;background:var(--sun);transform:scaleX(var(--progress));transform-origin:left}nav{position:fixed;z-index:70;top:0;left:0;right:0;padding:23px 3.2vw;display:flex;align-items:center;justify-content:space-between;mix-blend-mode:difference;color:white}.mark{font-size:28px}.nav{}nav div{display:flex;gap:26px;font-size:9px;letter-spacing:.22em;text-transform:uppercase}
.cover{position:relative;height:100svh;min-height:680px;overflow:hidden;background:var(--amber);color:var(--ink)}.cover-photo{position:absolute;top:0;left:21vw;width:58vw;height:100%;overflow:hidden}.cover-image{position:absolute;inset:-4%;background:url('assets/ruiha-beach.jpg') 42% center/cover no-repeat;filter:sepia(.28) saturate(.75) contrast(1.25) brightness(.7);animation:breathe 18s ease-in-out infinite alternate}.cover-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(50,15,4,.25),transparent 30% 70%,rgba(50,15,4,.28)),linear-gradient(0deg,rgba(35,12,5,.36),transparent 45%)}.sun-slit{position:absolute;z-index:2;left:45%;top:-10%;width:18%;height:125%;background:linear-gradient(90deg,transparent,rgba(255,218,142,.5),#ffe7a2,rgba(255,218,142,.5),transparent);clip-path:polygon(39% 0,61% 0,100% 100%,0 100%);mix-blend-mode:screen;filter:blur(2px);animation:pulse 5s ease-in-out infinite}.cover h1{position:absolute;z-index:3;inset:0;margin:0;display:flex;align-items:center;justify-content:space-between;font-size:clamp(130px,21vw,330px);line-height:.62;letter-spacing:-.075em;pointer-events:none}.cover h1 span:first-child{transform:translateX(-3vw)}.cover h1 span:last-child{transform:translateX(3vw)}.cover-meta{position:absolute;z-index:4;top:26px;text-transform:uppercase;font-size:8px;line-height:1.7;letter-spacing:.2em}.cover-meta.left{left:10vw}.cover-meta.right{right:9vw;text-align:right}.issue{position:absolute;z-index:4;left:3vw;bottom:12vh;writing-mode:vertical-rl;transform:rotate(180deg);font-size:8px;letter-spacing:.25em;text-transform:uppercase}.cover-note{position:absolute;z-index:4;right:3vw;bottom:11vh;text-align:right;font-family:Cfont,serif;font-size:clamp(20px,2.2vw,34px);line-height:.95}.down{position:absolute;z-index:4;left:50%;bottom:27px;transform:translateX(-50%);font-size:8px;letter-spacing:.23em;text-transform:uppercase}
.eyebrow{text-transform:uppercase;font-size:8px;letter-spacing:.26em}.opening{position:relative;min-height:125vh;padding:17vh 6vw 14vh;background:var(--paper);color:var(--ink)}.opening-number{position:absolute;top:8vh;right:5vw;font-family:Cfont,serif;font-size:clamp(120px,20vw,310px);line-height:1;color:var(--amber);opacity:.45}.opening h2{position:relative;z-index:2;margin:9vh 0 0 6vw;font-size:clamp(80px,11.5vw,190px);line-height:.74;letter-spacing:-.055em}.opening h2 i,.listen h2 i,.closing h2 i{color:var(--rust);font-weight:400}.opening-copy{width:min(510px,40vw);margin:12vh 9vw 0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:45px}.opening-copy p{margin:0;font-size:13px;line-height:1.75}.opening-copy .standfirst{font-family:Cfont,serif;font-size:25px;line-height:1.15}.margin-word{position:absolute;bottom:10vh;left:3vw;writing-mode:vertical-rl;transform:rotate(180deg);font-size:8px;letter-spacing:.5em}
.film-spread{position:relative;height:120vh;min-height:800px;background:var(--rust);overflow:hidden}.film-frame{position:absolute;left:7vw;top:12vh;width:72vw;height:82vh;overflow:hidden}.film-frame video{width:100%;height:100%;object-fit:cover;filter:sepia(.3) saturate(.72) contrast(1.25) brightness(.68)}.film-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 48%,rgba(37,8,2,.5))}.film-type{position:absolute;z-index:2;right:3vw;top:30vh;text-align:right}.film-type span,.film-caption{font-size:8px;text-transform:uppercase;letter-spacing:.25em}.film-type h2{margin:8px 0 0;font-size:clamp(85px,13vw,200px);line-height:.7;color:var(--sun)}.film-type p{font-family:Cfont,serif;font-size:clamp(28px,4vw,62px);line-height:.88}.film-caption{position:absolute;bottom:7vh;left:7vw;line-height:1.7}
.feature{position:relative;min-height:185vh;padding:13vh 6vw;background:var(--sand);color:var(--ink);overflow:hidden}.feature>h2{position:relative;z-index:3;margin:8vh 0 0;font-size:clamp(105px,15.5vw,250px);line-height:.63;letter-spacing:-.06em}.feature>h2 em{color:var(--rust);font-weight:400}.feature-photo{position:absolute;top:41vh;right:7vw;width:39vw;height:92vh;overflow:hidden}.feature-photo img{width:100%;height:100%;object-fit:cover;filter:sepia(.27) saturate(.8) contrast(1.16)}.feature-copy{position:absolute;left:12vw;bottom:22vh;width:32vw}.feature-copy p{font-size:14px;line-height:1.8}.feature-copy .standfirst{font-family:Cfont,serif;font-size:28px;line-height:1.1}.feature blockquote{position:absolute;z-index:2;right:3vw;bottom:10vh;margin:0;font-family:Cfont,serif;font-size:clamp(35px,5vw,78px);line-height:.9;color:var(--rust);text-align:right}.vertical-note{position:absolute;right:2vw;top:12vh;writing-mode:vertical-rl;font-size:8px;letter-spacing:.4em}
.ritual-transition{height:220vh;background:var(--black)}.ritual-sticky{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;isolation:isolate}.ritual-image{position:absolute;inset:-5%;z-index:-4;background:url('assets/ruiha-ritual.jpg') center/cover no-repeat;filter:sepia(.45) saturate(.85) contrast(1.35) brightness(.42)}.ritual-image.ghost{z-index:-3;mix-blend-mode:screen;opacity:.25;filter:sepia(1) saturate(3) hue-rotate(338deg) contrast(1.4) blur(2px)}.ghost.one{clip-path:polygon(0 0,46% 0,57% 100%,0 100%);animation:drift1 7s ease-in-out infinite alternate}.ghost.two{clip-path:polygon(56% 0,100% 0,100% 100%,47% 100%);animation:drift2 8s ease-in-out infinite alternate}.ritual-ring{position:absolute;width:min(64vw,850px);aspect-ratio:1;border:1px solid rgba(255,176,61,.55);border-radius:50%;box-shadow:0 0 80px rgba(216,131,40,.24),inset 0 0 80px rgba(216,131,40,.12);animation:ring 6s ease-in-out infinite}.ritual-sticky p{position:relative;z-index:2;color:var(--sun);font-size:8px;text-transform:uppercase;letter-spacing:.35em}.ritual-sticky h2{position:relative;z-index:2;margin:20px 0 5px;font-family:Arial,sans-serif;font-weight:900;font-size:clamp(85px,17vw,270px);line-height:.7;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px var(--paper)}.ritual-sticky>span{font-family:Cfont,serif;font-size:25px;color:var(--sun)}
.warrior-spread{position:relative;min-height:160vh;padding:13vh 6vw;background:var(--clay);overflow:hidden}.giant-label{position:absolute;top:-1vh;left:-2vw;font-size:25vw;line-height:.7;color:rgba(40,19,13,.14);white-space:nowrap}.warrior-photo{position:absolute;top:28vh;left:7vw;width:49vw;height:90vh;overflow:hidden}.warrior-photo img{width:100%;height:100%;object-fit:cover;filter:sepia(.3) saturate(.75) contrast(1.3)}.warrior-copy{position:absolute;z-index:3;top:40vh;right:5vw;width:44vw}.warrior-copy h2{margin:0;font-size:clamp(72px,9vw,145px);line-height:.72;letter-spacing:-.04em}.warrior-copy p{width:50%;margin:8vh 0 0 auto;font-size:14px;line-height:1.8}.pull{position:absolute;bottom:9vh;left:11vw;font-family:Cfont,serif;font-size:clamp(34px,4.5vw,70px);line-height:.9;color:var(--sun)}
.place{position:relative;min-height:135vh;background:var(--ink);overflow:hidden}.place-image{position:absolute;inset:0 0 0 28vw;background:url('assets/ruiha-field.jpg') 45% center/cover no-repeat;filter:sepia(.48) saturate(.7) contrast(1.2) brightness(.58)}.place-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink),transparent 40%),linear-gradient(0deg,var(--ink),transparent 35%)}.place-title{position:absolute;z-index:2;left:5vw;top:18vh}.place-title span{font-size:8px;letter-spacing:.28em;text-transform:uppercase;color:var(--sun)}.place-title h2{margin:35px 0 0;font-size:clamp(100px,16vw,250px);line-height:.64}.place-copy{position:absolute;z-index:2;right:6vw;bottom:10vh;width:38vw}.place-copy p{width:55%;margin-left:auto;font-size:14px;line-height:1.8}.place-copy blockquote{margin:55px 0 0;font-family:Cfont,serif;font-size:clamp(34px,5vw,78px);line-height:.9;color:var(--sun);text-align:right}
.listen{position:relative;min-height:150vh;padding:14vh 6vw;background:var(--paper);color:var(--ink);overflow:hidden}.listen-head p{font-size:8px;letter-spacing:.26em;text-transform:uppercase}.listen h2{position:relative;z-index:2;margin:6vh 0 0;font-size:clamp(105px,17vw,270px);line-height:.58;letter-spacing:-.06em}.record{position:absolute;top:39vh;right:6vw;width:42vw;aspect-ratio:1;background:var(--ink);border:18px solid var(--amber);box-shadow:0 35px 80px rgba(64,22,5,.25);overflow:hidden}.record iframe{position:absolute;inset:0;width:100%;height:100%;border:0;opacity:.42;mix-blend-mode:luminosity}.record-disc{position:absolute;z-index:2;left:50%;top:50%;width:74%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:repeating-radial-gradient(circle,#1a0d09 0 2px,#392016 3px 5px);box-shadow:0 0 0 2px var(--sun),0 0 50px #000;display:grid;place-items:center;pointer-events:none}.record-disc:after{content:"";position:absolute;width:8%;aspect-ratio:1;border-radius:50%;background:var(--sun)}.record-disc span{font-family:Cfont,serif;font-size:5vw;color:var(--sun);transform:rotate(-18deg)}.track-meta{position:absolute;left:7vw;bottom:10vh;display:flex;flex-direction:column;gap:12px;text-transform:uppercase;font-size:8px;letter-spacing:.23em}.track-meta span:first-child{font-family:Cfont,serif;font-size:30px;text-transform:none;letter-spacing:0;color:var(--rust)}
.closing{position:relative;min-height:110svh;overflow:hidden;background:var(--black);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.closing video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:sepia(.5) saturate(.75) contrast(1.35) brightness(.42)}.closing-veil{position:absolute;inset:0;background:radial-gradient(circle,transparent,rgba(23,7,2,.7)),linear-gradient(0deg,rgba(20,6,2,.65),transparent 55%)}.closing-kicker,.closing h2,.closing-intro,.links,footer{position:relative;z-index:2}.closing-kicker{color:var(--sun);font-size:8px;letter-spacing:.3em;text-transform:uppercase}.closing h2{margin:20px 0 55px;font-family:Arial,sans-serif;font-weight:900;font-size:clamp(70px,11vw,175px);line-height:.75;letter-spacing:-.065em}.closing h2 i{font-family:Cfont,serif}.closing-intro{width:min(560px,78vw);margin:16px 0 36px;font-size:14px;line-height:1.7;color:rgba(240,223,189,.86)}.links{display:flex;gap:12px}.links a{border:1px solid rgba(244,170,56,.55);padding:14px 20px;text-transform:uppercase;font-size:8px;letter-spacing:.2em;transition:.3s}.links a:hover{background:var(--sun);color:var(--ink)}footer{position:absolute;bottom:25px;left:4vw;right:4vw;display:flex;justify-content:space-between;text-transform:uppercase;font-size:7px;letter-spacing:.22em;opacity:.7}
[data-in]{opacity:0;transform:translateY(60px);transition:opacity 1.1s ease,transform 1.4s cubic-bezier(.2,.75,.15,1)}[data-in].seen{opacity:1;transform:none}@keyframes breathe{to{transform:scale(1.055) translateY(-1%)}}@keyframes pulse{50%{opacity:.6;filter:blur(7px)}}@keyframes drift1{to{transform:translateX(-4%);opacity:.4}}@keyframes drift2{to{transform:translateX(4%);opacity:.38}}@keyframes ring{50%{transform:scale(1.06);opacity:.55}}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(2%,-3%)}50%{transform:translate(-3%,2%)}75%{transform:translate(2%,3%)}}
@media(max-width:800px){nav{padding:18px 20px}.cover-photo{left:10vw;width:80vw}.cover h1{font-size:31vw}.cover h1 span:first-child{transform:translateX(-8vw)}.cover h1 span:last-child{transform:translateX(8vw)}.cover-meta{display:none}.cover-note{right:20px}.issue{left:14px}.opening,.feature,.warrior-spread,.listen{padding-left:22px;padding-right:22px}.opening h2{margin-left:0;font-size:20vw}.opening-copy{width:75vw;margin:10vh 0 0 auto;grid-template-columns:1fr}.film-frame{left:0;top:0;width:100%;height:100%}.film-type{right:15px;top:38vh}.film-type h2{font-size:20vw}.film-caption{left:20px}.feature{min-height:180vh}.feature>h2{font-size:23vw}.feature-photo{top:42vh;right:0;width:78vw;height:82vh}.feature-copy{left:22px;bottom:24vh;width:72vw}.feature blockquote{right:20px;font-size:10vw}.ritual-sticky h2{font-size:21vw}.ritual-ring{width:92vw}.warrior-spread{min-height:170vh}.warrior-photo{left:0;width:82vw;height:75vh}.warrior-copy{top:85vh;right:22px;width:84vw}.warrior-copy h2{font-size:18vw}.warrior-copy p{width:72%}.pull{left:22px}.place{min-height:140vh}.place-image{inset:0}.place-title{left:22px}.place-title h2{font-size:24vw}.place-copy{right:22px;width:75vw}.listen{min-height:145vh}.listen h2{font-size:23vw}.record{top:53vh;right:0;width:88vw}.record-disc span{font-size:12vw}.track-meta{left:22px}.closing h2{font-size:16vw}.links{flex-wrap:wrap;justify-content:center}.closing{padding:0 18px}footer{left:20px;right:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}[data-in]{opacity:1;transform:none}}
.cover-meta.right{top:76px}

/* Continuous editorial canvases — chapters overlap instead of stacking as panels. */
.continuum{position:relative;isolation:isolate;overflow:hidden}.continuum:before,.continuum:after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(100px);pointer-events:none}.light-flow{background:linear-gradient(165deg,var(--paper) 0%,#ecd5aa 43%,#dca968 72%,#ba6036 100%);color:var(--ink)}.light-flow:before{width:65vw;height:65vw;left:-30vw;top:24%;background:rgba(244,170,56,.34)}.light-flow:after{width:58vw;height:58vw;right:-22vw;bottom:7%;background:rgba(152,58,29,.25)}.earth-flow{background:linear-gradient(168deg,var(--clay) 0%,#8f3a25 30%,var(--ink) 53%,#32170f 68%,#b97847 84%,var(--paper) 100%)}.earth-flow:before{width:70vw;height:70vw;right:-36vw;top:10%;background:rgba(244,170,56,.22)}.earth-flow:after{width:78vw;height:78vw;left:-35vw;bottom:4%;background:rgba(240,223,189,.35)}
.opening,.film-spread,.feature,.warrior-spread,.place,.listen{background:transparent}.opening{min-height:138vh;padding-bottom:32vh}.opening h2{transform:translateZ(0) rotate(-1.4deg)}.opening-copy{position:relative;z-index:5;transform:translateY(7vh)}
.film-spread{height:142vh;margin-top:-32vh;overflow:visible}.film-frame{left:9vw;top:19vh;width:67vw;height:92vh;clip-path:polygon(0 7%,92% 0,100% 88%,8% 100%);filter:drop-shadow(0 40px 65px rgba(49,16,7,.22))}.film-type{top:46vh;right:1vw;transform:rotate(1.7deg)}.film-caption{bottom:13vh;color:var(--ink)}
.feature{min-height:205vh;margin-top:-30vh;padding-top:40vh;overflow:visible}.feature>h2{transform:rotate(-1deg)}.feature-photo{top:61vh;right:6vw;height:104vh;clip-path:polygon(9% 0,100% 6%,93% 100%,0 91%);filter:drop-shadow(0 40px 65px rgba(49,16,7,.24))}.feature-copy{bottom:30vh}.feature blockquote{bottom:14vh}
.earth-flow .warrior-spread{min-height:182vh;padding-top:22vh;overflow:visible}.warrior-photo{top:34vh;clip-path:polygon(4% 0,100% 8%,94% 100%,0 92%);filter:drop-shadow(0 45px 70px rgba(16,9,6,.35))}.warrior-copy{top:45vh}.pull{bottom:19vh}
.earth-flow .place{min-height:158vh;margin-top:-28vh;overflow:visible}.place-image{inset:12vh -8vw 0 25vw;clip-path:ellipse(63% 47% at 57% 51%);filter:sepia(.48) saturate(.7) contrast(1.2) brightness(.58) drop-shadow(0 40px 80px rgba(16,9,6,.4))}.place-image:after{background:radial-gradient(ellipse at center,transparent 38%,rgba(40,19,13,.94) 76%)}.place-title{top:31vh}.place-copy{bottom:18vh}
.earth-flow .listen{min-height:170vh;margin-top:-23vh;padding-top:34vh}.listen h2{transform:rotate(.8deg)}.record{top:55vh;right:5vw;transform:rotate(3deg);border-width:10px;box-shadow:0 45px 90px rgba(40,19,13,.28)}.track-meta{bottom:12vh}
.opening:after,.feature:after,.warrior-spread:after,.listen:after{content:"";position:absolute;z-index:-1;width:34vw;aspect-ratio:1;border:1px solid rgba(152,58,29,.18);border-radius:50%;pointer-events:none}.opening:after{right:-8vw;bottom:5vh}.feature:after{left:-14vw;top:66vh}.warrior-spread:after{right:-12vw;bottom:20vh;border-color:rgba(244,170,56,.22)}.listen:after{left:-12vw;top:40vh}
@media(max-width:800px){.opening{padding-bottom:24vh}.film-spread{margin-top:-22vh;height:132vh}.film-frame{left:-8vw;top:20vh;width:105vw;height:90vh}.film-type{top:48vh}.feature{margin-top:-24vh;padding-top:32vh;min-height:200vh}.feature-photo{top:56vh}.earth-flow .warrior-spread{min-height:180vh}.earth-flow .place{margin-top:-18vh}.place-image{inset:18vh -28vw 8vh -8vw}.earth-flow .listen{margin-top:-18vh;padding-top:28vh}.record{top:62vh;right:-8vw}}

/* Full-bleed cover photography: amber now lives in the grade, not side panels. */
.cover-photo{inset:0;width:100%;height:100%}.cover-image{background-position:42% center;filter:sepia(.38) saturate(.8) contrast(1.3) brightness(.62)}.cover-photo:after{background:linear-gradient(90deg,rgba(63,21,5,.5),rgba(216,131,40,.08) 22%,transparent 43% 62%,rgba(63,21,5,.5)),linear-gradient(180deg,rgba(216,131,40,.16),transparent 38%,rgba(35,12,5,.52))}.cover h1{color:var(--sun);mix-blend-mode:screen;text-shadow:0 10px 60px rgba(28,8,2,.4)}.cover-meta,.cover-note,.issue,.down{color:var(--paper)}
@media(max-width:800px){.cover-photo{inset:0;width:100%}.cover h1{font-size:31vw}}

/* Media stays raw and rectangular. No masks, decorative crops or tilted frames. */
.film-frame,.feature-photo,.warrior-photo,.place-image{clip-path:none;border-radius:0;transform:none}.record{transform:none}.ghost.one,.ghost.two{clip-path:none}.film-frame,.feature-photo,.warrior-photo{filter:drop-shadow(0 38px 65px rgba(49,16,7,.23))}

/* Spirit double: a full-screen astral afterimage appears only at chapter thresholds. */
.spirit-echo{--spirit-shift:0px;--spirit-shift-neg:0px;--spirit-shift-soft:0px;--spirit-scale:1.035;position:fixed;inset:0;z-index:18;opacity:0;pointer-events:none;overflow:hidden;mix-blend-mode:screen;will-change:opacity}.spirit-echo i{position:absolute;inset:-4%;display:block;background:url('assets/ruiha-ritual.jpg') 50% 48%/cover no-repeat;transform:translate3d(var(--spirit-shift),0,0) scale(var(--spirit-scale));filter:sepia(1) saturate(2.2) hue-rotate(342deg) contrast(1.35) brightness(.62);opacity:.48;will-change:transform}.spirit-echo i:nth-child(2){transform:translate3d(var(--spirit-shift-neg),0,0) scale(var(--spirit-scale));filter:sepia(1) saturate(3.4) hue-rotate(355deg) contrast(1.55) brightness(.72);opacity:.22}.spirit-echo i:nth-child(3){transform:translate3d(var(--spirit-shift-soft),0,0) scale(var(--spirit-scale));filter:grayscale(1) sepia(.7) contrast(1.6) brightness(.48);opacity:.18}.spirit-echo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(244,170,56,.2),transparent 38% 62%,rgba(152,58,29,.18));mix-blend-mode:color-dodge}
@media(prefers-reduced-motion:reduce){.spirit-echo{display:none}}

/* WARRIOR needs weight: solid type holds against the astral image. */
.ritual-sticky h2{color:var(--paper);-webkit-text-stroke:0;text-shadow:0 8px 42px rgba(75,24,7,.48),0 0 70px rgba(244,170,56,.18)}

/* Restore the restrained, centered Cfont cover composition. */
.cover-center{position:absolute;z-index:4;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--paper)}.cover-center h1{position:static;display:block;margin:0;font-size:clamp(112px,17vw,260px);line-height:.68;letter-spacing:-.055em;color:var(--paper);mix-blend-mode:normal;text-shadow:0 15px 70px rgba(28,8,2,.68)}.cover-center>div{margin-top:45px;font-size:11px;letter-spacing:.24em;text-transform:uppercase}.cover-center i{margin:0 12px;color:var(--sun);font-style:normal}.cover-center em{font-family:Cfont,"Libre Baskerville",serif;font-size:1.45em;letter-spacing:0;text-transform:none;color:var(--sun);font-weight:400}.cover .issue{color:var(--paper)}
@media(max-width:800px){.cover-center h1{font-size:25vw}.cover-center>div{margin-top:34px;font-size:8px}.cover-center i{margin:0 6px}}

/* Editorial rhythm: readable leading and deliberate separation from media. */
.opening h2{font-size:clamp(79.2px,11.16vw,184.5px);line-height:.82}.film-type{left:60vw;right:3vw;top:36vh;width:auto;padding:0;text-align:left;transform:none}.film-type h2{max-width:none;font-size:clamp(70px,8.52vw,160px);line-height:.72;letter-spacing:-.07em;white-space:nowrap}.film-type p{margin-top:4vh;line-height:1.02}.film-frame{left:7vw;width:50vw;height:88vh;line-height:0;filter:none}.film-frame video{display:block;border:0;outline:0}
.feature{min-height:228vh}.feature>h2{font-size:clamp(91.8px,13.5vw,211.5px);line-height:.78;letter-spacing:-.045em;transform:none}.feature-photo{top:72vh;right:5vw;width:40vw;height:98vh}.feature-copy{top:96vh;bottom:auto;left:9vw;width:34vw}.feature-copy .standfirst{line-height:1.22}.feature blockquote{top:184vh;bottom:auto;left:28vw;right:auto;width:65vw;font-size:clamp(34px,4.5vw,70px);line-height:1.02;text-align:right}
.warrior-copy{top:46vh;right:4vw;width:40vw}.warrior-copy h2{font-size:clamp(64.8px,7.02vw,113.4px);line-height:.84;letter-spacing:-.035em}.warrior-copy p{width:70%;margin-top:7vh}.place-title h2{font-size:clamp(97.2px,15.3vw,238.5px);line-height:.78}.place-copy blockquote{line-height:1.02}
.listen-head{width:54vw}.listen h2{font-size:clamp(90px,12.42vw,196.2px);line-height:.72}.closing h2{font-size:clamp(68.4px,10.62vw,169.2px);line-height:.84}.ritual-sticky h2{font-size:clamp(82.8px,16.2vw,256.5px);line-height:.78}
@media(max-width:800px){.opening h2{font-size:19.35vw;line-height:.84}.film-frame{left:3vw;width:46vw;height:82vh}.film-type{left:52vw;right:3vw;top:38vh;width:auto;padding:0}.film-type h2{max-width:none;font-size:8.2vw;line-height:.75;white-space:nowrap}.feature{min-height:220vh}.feature>h2{font-size:19.8vw;line-height:.82}.feature-photo{top:68vh;right:0;width:70vw;height:78vh}.feature-copy{top:97vh;left:22px;width:62vw}.feature blockquote{top:176vh;left:20px;width:calc(100vw - 40px);font-size:10vw;line-height:1.05}.ritual-sticky h2{font-size:20.25vw}.warrior-copy{right:22px;width:82vw}.warrior-copy h2{font-size:15.3vw;line-height:.86}.listen-head{width:82vw}.listen h2{font-size:18.9vw;line-height:.78}.place-title h2{font-size:22.5vw}.closing h2{font-size:15.3vw}.place-title h2,.closing h2{line-height:.84}}

/* Biography spread follows content flow; no fragile vertical offsets. */
.feature{min-height:0;padding-bottom:25vh}.feature>h2{max-width:92vw}.feature-body{position:relative;display:grid;grid-template-columns:.92fr 1.08fr;gap:8vw;align-items:start;margin:16vh 2vw 0 6vw}.feature-body .feature-copy{position:relative;inset:auto;width:auto;padding-top:6vh}.feature-body .feature-copy p{margin:0}.feature-body .feature-copy p+p{margin-top:2.1vh}.feature-body .feature-photo{position:relative;inset:auto;width:100%;height:108vh}.feature .feature-copy blockquote{position:relative;inset:auto;width:auto;margin:5vh auto 0;font-family:Cfont,"Libre Baskerville",serif;font-size:clamp(30px,2.9vw,46px);line-height:1.06;text-align:center}.feature .feature-copy blockquote span{display:block;white-space:nowrap}.feature .vertical-note{top:18vh}
@media(max-width:800px){.feature{min-height:0;padding-top:32vh;padding-bottom:20vh}.feature>h2{font-size:19.8vw;line-height:.84}.feature-body{grid-template-columns:1fr;gap:8vh;margin:11vh 0 0}.feature-body .feature-copy{width:78vw;padding-top:0}.feature-body .feature-photo{width:calc(100vw - 22px);height:72vh;margin-left:0}.feature .feature-copy blockquote{width:auto;margin:6vh auto 0;font-size:6.2vw;line-height:1.1;text-align:center}}

/* The spirit remains a whisper: one clean afterimage at major thresholds. */
.spirit-echo{mix-blend-mode:soft-light}.spirit-echo i{opacity:.42}.spirit-echo i:nth-child(2),.spirit-echo i:nth-child(3),.spirit-echo:after{display:none}

/* Chapter cues should read as titles, not microcopy. */
.eyebrow,.film-type>span,.place-title>span,.ritual-sticky>p,.closing-kicker{font-size:clamp(11px,1vw,15px);line-height:1.25;letter-spacing:.22em}

/* Mobile photography acts as punctuation, not a full-screen wall. */
@media(max-width:800px){
  .opening{min-height:112vh;padding-bottom:14vh}
  .opening-copy{margin-top:7vh;transform:translateY(2vh)}
  .film-spread{height:76vh;margin-top:-10vh}
  .film-frame{left:3vw;top:12vh;width:46vw;height:auto;aspect-ratio:4/5}
  .film-frame video{object-position:50% 38%}
  .film-type{top:22vh}
  .film-caption{bottom:5vh}
  .feature{margin-top:-8vh;padding-top:16vh;padding-bottom:10vh}
  .feature-body{gap:4vh;margin-top:7vh}
  .feature-body .feature-photo{width:calc(100vw - 22px);height:auto;aspect-ratio:4/3}
  .feature-body .feature-photo img{object-position:center 38%}
  .ritual-transition{height:135vh}
  .earth-flow .warrior-spread{min-height:125vh;padding-top:14vh}
  .warrior-photo{top:16vh;left:0;width:82vw;height:auto;aspect-ratio:4/3}
  .warrior-photo img{object-position:center 38%}
  .warrior-copy{top:48vh}
  .pull{bottom:5vh}
  .earth-flow .place{min-height:110vh;margin-top:-8vh}
  .place-image{inset:18vh 0 auto 18vw;height:62vw;background-position:45% 42%}
  .place-title{top:12vh}
  .place-copy{bottom:8vh}
  .earth-flow .listen{min-height:120vh;margin-top:-8vh;padding-top:16vh}
  .record{top:45vh}
  .track-meta{bottom:6vh}
  .closing{min-height:100svh}
  .closing-intro{width:82vw;margin:14px 0 30px;font-size:13px;line-height:1.6}
}

/* Story-led media slots. Drop video-01.mp4 through video-04.mp4 into assets/. */
.opening .opening-title-long{max-width:88vw;font-size:clamp(68px,9.3vw,148px);line-height:.82}
.media-slot{position:relative;background:var(--ink);overflow:hidden}
.feature-photo video,.warrior-photo video{display:block;width:100%;height:100%;object-fit:cover;filter:sepia(.27) saturate(.8) contrast(1.16)}
.warrior-photo video{filter:sepia(.3) saturate(.75) contrast(1.3)}
.slot-note{position:absolute;z-index:6;left:18px;bottom:18px;display:flex;flex-direction:column;gap:6px;max-width:min(320px,calc(100% - 36px));padding:11px 13px;background:rgba(16,9,6,.72);color:var(--paper);font-size:8px;line-height:1.35;letter-spacing:.16em;text-transform:uppercase;backdrop-filter:blur(8px);transition:opacity .45s ease}
.slot-note b{color:var(--sun);font-weight:400}
.slot-note code{font:inherit;letter-spacing:.08em;text-transform:none}
.media-slot.ready .slot-note{opacity:0;pointer-events:none}
.closing .closing-slot{left:18px;right:auto;top:18px;bottom:auto;transform:none;text-align:left;white-space:normal}
.warrior-copy p+p{margin-top:2.2vh}

@media(max-width:800px){
  .opening .opening-title-long{font-size:13.4vw;line-height:.9}
  .feature-body .feature-photo video,.warrior-photo video{object-position:center 38%}
  .slot-note{left:10px;bottom:10px;max-width:calc(100% - 20px);padding:8px 9px;font-size:7px}
  .closing .closing-slot{display:none}
}

/* Open Sans text uses a 1rem minimum for readable body and utility copy. */
nav div,.cover-meta,.issue,.down,.eyebrow,.opening-copy p,.film-type span,.film-caption,.margin-word,.feature-copy p,.vertical-note,.ritual-sticky p,.warrior-copy p,.place-title span,.place-copy p,.listen-head p,.track-meta,.closing-kicker,.closing-intro,footer,.cover-center>div,.slot-note{font-size:1rem}
.links a{display:inline-flex;align-items:center;gap:10px;font-size:.875rem;line-height:1}
.link-icon{display:inline-block;width:1.2em;height:1.2em;flex:0 0 auto;background:currentColor;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}
.link-email .link-icon{-webkit-mask-image:url('assets/icon-email.svg');mask-image:url('assets/icon-email.svg')}
.link-spotify .link-icon{-webkit-mask-image:url('assets/icon-spotify.svg');mask-image:url('assets/icon-spotify.svg')}
.link-soundcloud .link-icon{-webkit-mask-image:url('assets/icon-soundcloud.svg');mask-image:url('assets/icon-soundcloud.svg')}
.link-instagram .link-icon{-webkit-mask-image:url('assets/icon-instagram.svg');mask-image:url('assets/icon-instagram.svg')}

@media(max-width:800px){
  nav{align-items:flex-start}
  nav div{position:absolute;top:18px;right:20px;gap:8px;letter-spacing:0;white-space:nowrap}
  .cover-center>div{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:0 8px;max-width:calc(100vw - 40px);line-height:1.5;letter-spacing:.08em}
  .cover-center em{flex-basis:100%;font-size:1.25em}
  .links a{padding:12px 14px}
  footer{flex-direction:column;align-items:center;gap:8px;line-height:1.4;text-align:center}
}

@media(max-width:500px){
  nav div{left:92px;right:auto}
  .feature .feature-copy blockquote{font-size:clamp(1.3rem,4.6vw,2rem)}
  .feature .feature-copy blockquote span{white-space:normal}
}
