:root{
  --night:#030706;
  --forest:#071410;
  --cream:#f1eadb;
  --ink:#17150f;
  --gold:#d9a54d;
  --soft:#b8b1a3;
  --line:rgba(241,234,219,.2);
  --gutter:clamp(1.25rem,4vw,4.8rem);
}

body.story-home,body.chapter-page{background:var(--night);color:var(--cream)}
body.story-home .site-head,body.chapter-page .site-head{height:78px}
body.story-home .site-head.scrolled,body.chapter-page .site-head.scrolled{height:66px}
.journey-main{width:100%;max-width:100%;overflow:clip}
.quiet-dark,.reveal-object,.object-stage,.guardian-ritual,.carrier-key,.key-stage,.living-mark,.future-canvas{max-width:100%;overflow:hidden}
@supports (overflow:clip){.quiet-dark,.reveal-object,.object-stage,.guardian-ritual,.carrier-key,.key-stage,.living-mark,.future-canvas{overflow:clip}}

.story-hero,.story-frame,.chapter-hero,.chapter-frame{position:relative;isolation:isolate;overflow:hidden}
.story-hero,.chapter-hero{min-height:100svh}
.story-hero>img,.story-frame>.frame-media,.chapter-hero>img,.chapter-hero>.frame-media,.chapter-frame>.frame-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}
.story-hero::after,.story-frame::after,.chapter-hero::after,.chapter-frame::after{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(0deg,rgba(3,7,6,.92) 0%,rgba(3,7,6,.22) 52%,rgba(3,7,6,.26) 100%)}
.story-hero::before,.story-frame::before,.chapter-hero::before,.chapter-frame::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(3,7,6,.5),transparent 67%)}

.story-hero{display:flex;align-items:flex-end;padding:8.5rem var(--gutter) 5.5rem}
.story-hero>img{object-position:61% center;filter:saturate(.82) contrast(1.05)}
.story-hero-copy{max-width:65rem}
.story-hero .whisper,.chapter-hero .whisper{display:block;margin-bottom:1.25rem;font-size:.66rem;font-weight:800;letter-spacing:.23em;text-transform:uppercase;color:#f0ce8b}
.story-hero h1,.chapter-hero h1{max-width:11ch;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(4.4rem,10.5vw,11rem);font-weight:400;line-height:.79;letter-spacing:-.065em;text-wrap:balance}
.story-hero h1 em,.chapter-hero h1 em{color:var(--gold);font-weight:400}
.story-hero .invitation{max-width:31rem;margin:2rem 0 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.1rem,1.55vw,1.42rem);line-height:1.55;color:rgba(241,234,219,.82)}
.enter-line{position:absolute;right:var(--gutter);bottom:5.5rem;display:flex;align-items:center;gap:1rem;font-size:.65rem;font-weight:800;letter-spacing:.19em;text-transform:uppercase;text-decoration:none;writing-mode:vertical-rl}.enter-line b{color:var(--gold);font-size:1.2rem}

.story-frame{min-height:108svh;display:flex;align-items:flex-end;padding:8rem var(--gutter) 5rem}
.story-frame>.frame-media{filter:saturate(.78) contrast(1.06)}
.story-frame.frame-light::after{background:linear-gradient(0deg,rgba(3,7,6,.88),rgba(3,7,6,.04) 72%)}
.story-frame.frame-right{justify-content:flex-end;text-align:right}
.story-frame.frame-right::before{background:linear-gradient(270deg,rgba(3,7,6,.62),transparent 67%)}
.frame-copy{width:min(50rem,79vw)}
.frame-right .frame-copy{display:flex;flex-direction:column;align-items:flex-end}
.frame-time{display:block;margin-bottom:1.2rem;font-size:.63rem;font-weight:800;letter-spacing:.23em;text-transform:uppercase;color:#f0ce8b}
.frame-copy h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.6rem,7.7vw,8.3rem);font-weight:400;line-height:.85;letter-spacing:-.055em;text-wrap:balance}
.frame-copy h2 em{color:var(--gold);font-weight:400}
.frame-copy p{max-width:31rem;margin:1.5rem 0 0;font-size:clamp(.98rem,1.25vw,1.12rem);line-height:1.7;color:rgba(241,234,219,.76)}
.frame-place{position:absolute;top:7rem;right:var(--gutter);font-size:.58rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:rgba(241,234,219,.66)}
.frame-right .frame-place{right:auto;left:var(--gutter)}
.story-frame video.frame-media{object-position:58% center}

.home-frame>.frame-media{object-position:center 42%}
.home-frame .frame-copy{width:min(58rem,86vw)}
.sea-frame>.frame-media{object-position:center 52%}
.rain-frame>.frame-media{object-position:center 48%}
.hands-frame>.frame-media{object-position:center}

.quiet-dark{min-height:104svh;display:grid;place-items:center;padding:8rem var(--gutter);background:radial-gradient(circle at 50% 44%,#123026,#06100d 44%,#020504 78%);text-align:center;overflow:hidden;position:relative}
.quiet-dark::before{content:"";position:absolute;inset:10% 18%;border:1px solid rgba(217,165,77,.17);border-radius:50%;transform:rotate(-12deg)}
.quiet-dark .guardian-silhouette{position:absolute;width:min(46rem,78vw);max-height:82vh;object-fit:contain;opacity:.3;filter:sepia(.7) saturate(.7);mix-blend-mode:screen}
.quiet-copy{position:relative;z-index:1;max-width:66rem}
.quiet-copy .whisper{font-size:.64rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#efca7d}
.quiet-copy h2{margin:1.2rem auto 1.5rem;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.7rem,8.3vw,9rem);font-weight:400;line-height:.84;letter-spacing:-.06em;text-wrap:balance}
.quiet-copy h2 em{color:var(--gold);font-weight:400}
.quiet-copy p{max-width:34rem;margin:0 auto;color:rgba(241,234,219,.7);line-height:1.7}

.reveal-object{min-height:110svh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:2rem;padding:7rem var(--gutter);background:var(--forest);overflow:hidden}
.object-copy{position:relative;z-index:2}.object-copy .whisper{font-size:.64rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#efca7d}.object-copy h2{max-width:9ch;margin:1.1rem 0 1.6rem;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.8rem,7.3vw,8rem);font-weight:400;line-height:.84;letter-spacing:-.06em}.object-copy h2 em{color:var(--gold);font-weight:400}.object-copy p{max-width:31rem;color:var(--soft);font-size:1.04rem;line-height:1.7}
.object-stage{position:relative;min-height:80vh}.object-stage::before{content:"";position:absolute;left:50%;top:52%;width:min(45vw,670px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(217,165,77,.2),rgba(7,20,16,0) 68%);transform:translate(-50%,-50%)}.object-stage img{position:absolute;bottom:-2%;height:87%;width:auto;max-width:none;object-fit:contain;filter:drop-shadow(0 2.5rem 2.2rem rgba(0,0,0,.58))}.object-stage img:first-child{left:3%;height:76%;transform:rotate(-6deg)}.object-stage img:last-child{right:1%;transform:rotate(5deg)}

.story-end{min-height:100svh;display:grid;place-items:center;padding:8rem var(--gutter);background:var(--cream);color:var(--ink);text-align:center}.story-end img{width:min(21rem,62vw);margin:0 auto 3rem;filter:sepia(.25) saturate(.85) contrast(1.1)}.story-end h2{max-width:15ch;margin:0 auto;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.2rem,7.5vw,7.8rem);font-weight:400;line-height:.9;letter-spacing:-.055em;text-wrap:balance}.story-end h2 em{color:#9d681e;font-weight:400}.story-end p{max-width:33rem;margin:2rem auto 0;line-height:1.7;color:#5d584e}
.stay-longer{display:inline-flex;align-items:center;gap:2rem;margin-top:2.3rem;padding:.95rem 0;border-bottom:1px solid currentColor;font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;text-decoration:none}.stay-longer b{color:#a66d1b;font-size:1.2rem}

.chapter-hero{display:flex;align-items:flex-end;padding:8.5rem var(--gutter) 5rem}.chapter-hero>img{filter:saturate(.76) contrast(1.06)}.chapter-hero h1{max-width:10ch}.chapter-hero .chapter-intro{max-width:70rem}.chapter-hero .chapter-intro>p:last-child{max-width:34rem;margin:1.6rem 0 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.05rem,1.5vw,1.38rem);line-height:1.55;color:rgba(241,234,219,.78)}
.chapter-index{position:absolute;right:var(--gutter);bottom:5rem;font-family:Georgia,"Times New Roman",serif;font-size:clamp(5rem,14vw,15rem);line-height:.7;color:transparent;-webkit-text-stroke:1px rgba(241,234,219,.22)}

.chapter-frame{min-height:96svh;display:flex;align-items:flex-end;padding:7rem var(--gutter) 5rem}
.chapter-frame.text-top{align-items:flex-start;padding-top:8rem}.chapter-frame.text-right{justify-content:flex-end;text-align:right}.chapter-frame.text-right .chapter-copy{display:flex;flex-direction:column;align-items:flex-end}
.chapter-copy{position:relative;z-index:2;width:min(52rem,79vw)}.chapter-copy .whisper{font-size:.63rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#efca7d}.chapter-copy h2{margin:1rem 0 1.3rem;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.4rem,7.2vw,7.7rem);font-weight:400;line-height:.86;letter-spacing:-.055em;text-wrap:balance}.chapter-copy h2 em{color:var(--gold);font-weight:400}.chapter-copy p{max-width:34rem;margin:0;color:rgba(241,234,219,.76);font-size:clamp(1rem,1.25vw,1.12rem);line-height:1.75}.chapter-frame .micro-caption{position:absolute;right:var(--gutter);top:7rem;padding-top:.7rem;border-top:1px solid rgba(241,234,219,.4);font-size:.58rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:rgba(241,234,219,.66)}.chapter-frame.text-right .micro-caption{right:auto;left:var(--gutter)}

.chapter-breath{min-height:72svh;display:flex;align-items:center;padding:8rem var(--gutter);background:var(--cream);color:var(--ink)}.chapter-breath blockquote{max-width:15ch;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.2rem,7.4vw,8rem);line-height:.9;letter-spacing:-.055em}.chapter-breath blockquote em{color:#9c681f}.chapter-breath small{align-self:flex-end;margin:0 0 1rem auto;font-size:.61rem;font-weight:800;letter-spacing:.19em;text-transform:uppercase;color:#6d665b}

.guardian-ritual{min-height:110svh;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:4vw;padding:8rem var(--gutter);background:radial-gradient(circle at 30% 48%,#18382c,#06100d 47%,#020504 78%)}.guardian-ritual img{width:100%;max-height:85vh;object-fit:contain;filter:sepia(.35) saturate(.85);opacity:.9}.guardian-ritual .chapter-copy{width:auto}
.threshold-row{display:grid;grid-template-columns:repeat(3,1fr);background:#020504}.threshold-row article{min-height:78svh;display:flex;flex-direction:column;justify-content:flex-end;padding:2rem;border-right:1px solid var(--line);position:relative;overflow:hidden}.threshold-row article:last-child{border-right:0}.threshold-row article::before{content:"";position:absolute;inset:0;background:url('/assets/makara-sides-exact.webp') center 20%/70% auto no-repeat;opacity:.16;filter:sepia(.6)}.threshold-row b,.threshold-row h2,.threshold-row p{position:relative}.threshold-row b{font-size:.62rem;letter-spacing:.18em;color:#efca7d}.threshold-row h2{margin:1rem 0 .8rem;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.8rem,5vw,5.8rem);font-weight:400;line-height:.9}.threshold-row p{max-width:25rem;margin:0;color:var(--soft);line-height:1.65}

.carrier-home{min-height:100svh}.carrier-home>.frame-media{object-position:center 49%}
.care-note{min-height:76svh;display:grid;grid-template-columns:.75fr 1.25fr;align-items:center;gap:6vw;padding:8rem var(--gutter);background:var(--cream);color:var(--ink)}.care-note .small-word{font-family:Georgia,"Times New Roman",serif;font-size:clamp(6rem,14vw,15rem);line-height:.7;color:transparent;-webkit-text-stroke:1px rgba(23,21,15,.28)}.care-note h2{max-width:13ch;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,6vw,6.5rem);font-weight:400;line-height:.92;letter-spacing:-.05em}.care-note p{max-width:34rem;margin:1.5rem 0 0;line-height:1.7;color:#635d52}
.carrier-key{min-height:108svh;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:4vw;padding:7rem var(--gutter);background:radial-gradient(circle at 27% 50%,#173b2e,#07140f 46%,#020504 77%)}.key-stage{position:relative;min-height:80vh}.key-stage img{position:absolute;bottom:0;max-height:88%;width:auto;filter:drop-shadow(0 2rem 2.3rem rgba(0,0,0,.58))}.key-stage .key-front{left:4%;transform:rotate(-5deg)}.key-stage .key-back{right:0;height:76%;transform:rotate(5deg)}.key-copy h2{max-width:10ch;margin:1rem 0 1.5rem;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.4rem,6.5vw,7rem);font-weight:400;line-height:.87;letter-spacing:-.055em}.key-copy h2 em{color:var(--gold)}.key-copy p{max-width:31rem;color:var(--soft);line-height:1.7}

.mark-arrival{min-height:112svh;display:grid;place-items:center;padding:8rem var(--gutter);background:radial-gradient(circle at 50% 42%,#17392d,#06110e 45%,#020504 78%);text-align:center}.mark-arrival img{width:min(34rem,76vw);margin:0 auto;filter:drop-shadow(0 2rem 3rem rgba(0,0,0,.4))}.mark-arrival h1{max-width:13ch;margin:2rem auto 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.4rem,7vw,7.6rem);font-weight:400;line-height:.87;letter-spacing:-.055em}.mark-arrival h1 em{color:var(--gold)}
.living-mark{min-height:110svh;display:grid;grid-template-columns:1fr 1fr;background:var(--cream);color:var(--ink)}.living-mark figure{margin:0;min-height:100%;position:relative}.living-mark figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.78)}.living-mark .mark-copy{display:flex;flex-direction:column;justify-content:center;padding:7rem var(--gutter)}.living-mark h2{max-width:9ch;margin:1rem 0 1.5rem;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.5rem,6.2vw,6.8rem);font-weight:400;line-height:.88;letter-spacing:-.055em}.living-mark h2 em{color:#9a661e}.living-mark p{max-width:32rem;color:#615b50;line-height:1.72}
.future-canvas{min-height:100svh;display:flex;align-items:flex-end;padding:8rem var(--gutter) 5rem;background:linear-gradient(0deg,rgba(3,7,6,.94),rgba(3,7,6,.15)),url('/assets/unawatuna-stilt-fishermen.webp') center/cover no-repeat;position:relative}.future-canvas h2{max-width:13ch;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.4rem,7.3vw,7.8rem);font-weight:400;line-height:.86;letter-spacing:-.055em}.future-canvas h2 em{color:var(--gold)}.future-canvas p{max-width:31rem;margin:1.5rem 0 0;color:rgba(241,234,219,.73);line-height:1.72}

.next-chapter{min-height:48svh;display:grid;grid-template-columns:1fr auto;align-items:end;gap:2rem;padding:6rem var(--gutter);background:#020504;border-top:1px solid var(--line);text-decoration:none}.next-chapter span{font-size:.63rem;font-weight:800;letter-spacing:.19em;text-transform:uppercase;color:#efca7d}.next-chapter strong{display:block;margin-top:.8rem;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,7vw,7.4rem);font-weight:400;line-height:.9;letter-spacing:-.05em}.next-chapter b{font-size:2rem;color:var(--gold)}
.journey-foot{padding:4rem var(--gutter) 2rem;background:#020504;border-top:1px solid var(--line)}.journey-foot .foot-row{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}.journey-foot img{width:9rem}.journey-foot p{max-width:26rem;margin:0;color:#8f897e;font-size:.72rem;line-height:1.6}.journey-foot nav{display:flex;gap:1rem;flex-wrap:wrap}.journey-foot nav a{font-size:.64rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;text-decoration:none}.journey-foot .credits{margin-top:3rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.62rem;color:#6f6b63}.journey-foot .credits a{color:inherit}

@media(max-width:900px){
  .reveal-object,.guardian-ritual,.carrier-key,.living-mark{grid-template-columns:1fr}
  .object-stage,.key-stage{min-height:66vh}.guardian-ritual img{max-height:65vh}.living-mark figure{min-height:76svh}.living-mark .mark-copy{min-height:72svh}
  .threshold-row{grid-template-columns:1fr}.threshold-row article{min-height:56svh;border-right:0;border-bottom:1px solid var(--line)}
  .care-note{grid-template-columns:1fr}.care-note .small-word{font-size:8rem}
}

@media(max-width:640px){
  body.story-home .site-head,body.chapter-page .site-head{height:72px}.brand{width:96px}.head-note{display:none}.head-right{gap:.7rem}
  .nav-panel{grid-template-columns:1fr}.nav-main{padding:6.2rem var(--gutter) 2rem}.nav-main a{padding:.9rem 0;font-size:clamp(2.1rem,10.5vw,3.7rem)}.nav-side{min-height:34svh;padding:3rem var(--gutter);background-position:center}.nav-side .head-note{display:inline-block;margin-top:1rem}
  .story-hero,.chapter-hero{min-height:100svh;padding:7.5rem var(--gutter) 5.5rem}.story-hero>img{object-position:65% center}.story-hero h1,.chapter-hero h1{font-size:clamp(3.75rem,18.4vw,5.7rem);line-height:.82;max-width:9ch}.story-hero .invitation{max-width:23rem;font-size:1.05rem}.enter-line{right:1rem;bottom:3rem}
  .story-frame{min-height:102svh;padding:7rem var(--gutter) 4.5rem}.frame-copy,.home-frame .frame-copy{width:100%}.frame-copy h2{font-size:clamp(3.25rem,15.8vw,5rem);line-height:.87}.frame-copy p{font-size:.96rem;line-height:1.62}.frame-place{top:6rem}.story-frame.frame-right{text-align:left;justify-content:flex-start}.frame-right .frame-copy{align-items:flex-start}.frame-right .frame-place{right:var(--gutter);left:auto}.hands-frame>.frame-media{object-position:62% center}.rain-frame>.frame-media{object-position:56% center}.home-frame>.frame-media{object-position:52% center}.sea-frame>.frame-media{object-position:48% center}
  .quiet-dark{min-height:96svh;padding:7rem var(--gutter)}.quiet-dark .guardian-silhouette{width:110vw;opacity:.22}.quiet-copy h2{font-size:clamp(3.2rem,15.4vw,4.9rem);line-height:.86}
  .reveal-object{min-height:auto;display:flex;flex-direction:column;padding:7rem var(--gutter) 4rem}.object-copy h2{font-size:clamp(3.2rem,15.3vw,4.8rem)}.object-stage{order:-1;width:100%;min-height:58svh}.object-stage img:first-child{left:-7%;height:66%}.object-stage img:last-child{right:-9%;height:79%}
  .story-end{min-height:96svh;padding:7rem var(--gutter)}.story-end h2{font-size:clamp(3rem,14.5vw,4.7rem)}
  .chapter-hero .chapter-intro{width:100%}.chapter-hero .chapter-intro>p:last-child{font-size:1.03rem}.chapter-index{right:var(--gutter);top:7.5rem;bottom:auto;font-size:44vw}
  .chapter-frame{min-height:94svh;padding:7rem var(--gutter) 4.5rem}.chapter-frame.text-top{padding-top:7rem}.chapter-frame.text-right{text-align:left;justify-content:flex-start}.chapter-frame.text-right .chapter-copy{align-items:flex-start}.chapter-copy{width:100%}.chapter-copy h2{font-size:clamp(3.1rem,15vw,4.8rem);line-height:.88}.chapter-copy p{font-size:.97rem;line-height:1.66}.chapter-frame .micro-caption{top:5.8rem}.chapter-frame.text-right .micro-caption{right:var(--gutter);left:auto}
  .chapter-breath{min-height:72svh;display:block;padding:7rem var(--gutter)}.chapter-breath blockquote{font-size:clamp(3rem,14.5vw,4.7rem)}.chapter-breath small{display:block;margin:2rem 0 0}
  .guardian-ritual{min-height:auto;padding:7rem var(--gutter)}.guardian-ritual img{max-height:56svh}.threshold-row article{min-height:62svh;padding:1.4rem}.threshold-row h2{font-size:3.5rem}
  .care-note{min-height:78svh;padding:7rem var(--gutter)}.care-note .small-word{font-size:6rem}.care-note h2{font-size:clamp(3rem,14vw,4.5rem)}
  .carrier-key{min-height:auto;padding:6rem var(--gutter)}.key-stage{min-height:58svh}.key-stage .key-front{left:-10%;height:76%}.key-stage .key-back{right:-10%;height:68%}.key-copy h2{font-size:clamp(3rem,14.5vw,4.6rem)}
  .mark-arrival{min-height:100svh;padding:7rem var(--gutter)}.mark-arrival h1{font-size:clamp(3rem,14.5vw,4.7rem)}.living-mark figure{min-height:70svh}.living-mark .mark-copy{min-height:74svh;padding:6rem var(--gutter)}.living-mark h2,.future-canvas h2{font-size:clamp(3.1rem,14.8vw,4.8rem)}.future-canvas{min-height:96svh;padding:7rem var(--gutter) 4.5rem}
  .next-chapter{min-height:42svh;padding:5rem var(--gutter);grid-template-columns:1fr auto}.next-chapter strong{font-size:clamp(3rem,14vw,4.6rem)}
  .journey-foot{padding:3.5rem var(--gutter) 2rem}.journey-foot .foot-row{align-items:flex-start;flex-direction:column}.journey-foot nav{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:1rem}
}

@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}}
