
:root{
  --ink:#06100d;
  --ink2:#0a1915;
  --jade:#72c59a;
  --jade-deep:#235d46;
  --cream:#f2ead9;
  --paper:#e9dfcd;
  --rust:#a85743;
  --gold:#d1ae69;
  --line:rgba(242,234,217,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--cream);font-family:Inter,system-ui,sans-serif;line-height:1.65;overflow-x:hidden}
a{color:inherit}
::selection{background:var(--jade);color:#06100d}

.site-header{position:fixed;z-index:100;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:20px 5vw;transition:.25s;background:linear-gradient(to bottom,rgba(3,10,8,.9),rgba(3,10,8,0))}
.site-header.scrolled{background:rgba(4,14,11,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.brand{font-family:"Cormorant Garamond",serif;font-weight:700;letter-spacing:.18em;text-decoration:none}
.nav{display:flex;gap:28px}
.nav a{text-decoration:none;text-transform:uppercase;font-size:.66rem;font-weight:700;letter-spacing:.16em;opacity:.68;transition:.2s}
.nav a:hover{opacity:1;color:var(--jade)}
.menu-toggle{display:none;background:transparent;border:0;color:#fff;font-size:1.4rem}

.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;padding:120px 8vw 90px;background:linear-gradient(120deg,#06100d 5%,#0b271f 48%,#163a2e 100%)}
.hero-sky{position:absolute;inset:0;background:
 radial-gradient(circle at 78% 22%,rgba(239,165,96,.15),transparent 18%),
 radial-gradient(circle at 72% 16%,rgba(124,185,171,.12),transparent 12%),
 radial-gradient(circle at 15% 18%,rgba(255,255,255,.03),transparent 20%),
 linear-gradient(to bottom,#071a16 0%,#0a2821 47%,#07110e 100%)}
.hero-sky:after{content:"";position:absolute;inset:0;background-image:
 radial-gradient(circle at 11% 25%,white 0 1px,transparent 1.5px),
 radial-gradient(circle at 32% 12%,white 0 1px,transparent 1.5px),
 radial-gradient(circle at 54% 22%,white 0 1px,transparent 1.5px),
 radial-gradient(circle at 88% 30%,white 0 1px,transparent 1.5px),
 radial-gradient(circle at 65% 46%,white 0 1px,transparent 1.5px);
 opacity:.32}
.hero-sun{
position:absolute;
border-radius:50%;
isolation:isolate;
filter:saturate(1.12);
}
.sun-one{
width:118px;height:118px;right:12vw;top:15vh;
background:radial-gradient(circle at 48% 46%,
#ffd95a 0 74%,
#f3bc3d 75% 85%,
rgba(243,188,61,.16) 91%,
transparent 100%);
box-shadow:
0 0 12px 3px rgba(255,226,103,.52),
0 0 34px 11px rgba(246,186,61,.28),
0 0 70px 25px rgba(237,157,32,.15);
}
.sun-two{
width:78px;height:78px;right:28vw;top:10vh;
background:radial-gradient(circle at 48% 46%,
#e66f4d 0 74%,
#c9573e 75% 85%,
rgba(201,87,62,.16) 91%,
transparent 100%);
box-shadow:
0 0 11px 3px rgba(244,153,114,.46),
0 0 30px 10px rgba(219,92,65,.24),
0 0 60px 22px rgba(177,64,48,.13);
}
.hero-ridge{position:absolute;left:-5vw;right:-5vw;bottom:-4vh;height:46vh;clip-path:polygon(0 52%,8% 42%,14% 48%,22% 31%,28% 44%,36% 25%,45% 38%,52% 22%,63% 40%,71% 26%,79% 36%,88% 18%,100% 38%,100% 100%,0 100%)}
.ridge-one{background:#102a21;opacity:.78}
.ridge-two{bottom:-12vh;height:42vh;background:#07110e;clip-path:polygon(0 38%,10% 31%,19% 45%,29% 27%,37% 40%,48% 25%,57% 43%,66% 32%,78% 47%,89% 26%,100% 42%,100% 100%,0 100%)}
.hero-falls{position:absolute;right:8vw;bottom:7vh;width:24vw;height:50vh;opacity:.3;filter:drop-shadow(0 0 40px rgba(151,219,194,.16));background:
 linear-gradient(100deg,transparent 0 30%,rgba(188,233,217,.36) 31% 36%,transparent 37% 43%,rgba(188,233,217,.24) 44% 48%,transparent 49% 58%,rgba(188,233,217,.18) 59% 63%,transparent 64%);
 transform:skewX(-7deg)}
.film-grain{position:absolute;inset:0;opacity:.055;pointer-events:none;background-image:repeating-radial-gradient(circle at 0 0,#fff 0 1px,transparent 1px 3px);mix-blend-mode:screen}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,10,8,.82),rgba(3,10,8,.24) 58%,rgba(3,10,8,.06));pointer-events:none}
.hero-copy{position:relative;z-index:5;max-width:980px}
.eyebrow,.kicker{color:var(--jade);font-size:.68rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase}
.hero h1{font-family:"Cormorant Garamond",serif;font-size:clamp(6rem,12vw,12rem);line-height:.72;letter-spacing:-.055em;font-weight:600;margin:24px 0 40px;text-shadow:0 12px 30px rgba(0,0,0,.2)}
.hero h1 span{color:#fff}
.tagline{font-family:"Cormorant Garamond",serif;font-size:clamp(1.65rem,3vw,2.55rem);line-height:1.12;max-width:750px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.btn{display:inline-block;text-decoration:none;border-radius:999px;padding:13px 22px;text-transform:uppercase;font-size:.72rem;font-weight:700;letter-spacing:.14em;transition:.22s}
.btn.primary{background:var(--jade);color:var(--ink)}
.btn.primary:hover{transform:translateY(-2px);box-shadow:0 12px 35px rgba(114,197,154,.19)}
.btn.ghost{border:1px solid rgba(255,255,255,.28)}
.btn.ghost:hover{border-color:var(--jade);color:var(--jade)}
.hero-credit{position:absolute;z-index:5;right:5vw;bottom:38px;text-align:right}
.hero-credit span{display:block;font-size:.55rem;letter-spacing:.23em;opacity:.55}
.hero-credit strong{font-family:"Cormorant Garamond",serif;font-size:1.25rem;letter-spacing:.09em}
.scroll-cue{position:absolute;z-index:5;left:50%;bottom:30px;transform:translateX(-50%);font-size:.55rem;letter-spacing:.24em;opacity:.48;text-align:center}
.scroll-cue span{display:block;font-size:1rem}

.agent-strip{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#081611}
.agent-strip>div{padding:23px 18px;border-right:1px solid var(--line)}
.agent-strip>div:last-child{border-right:0}
.agent-strip span{display:block;color:#7f958b;font-size:.58rem;text-transform:uppercase;letter-spacing:.16em;margin-bottom:5px}
.agent-strip strong{font-size:.78rem;font-weight:600;color:#e7dfd1}

.cinematic-section{padding:120px 8vw}
.story{position:relative;background:linear-gradient(135deg,#081410,#0b211a);overflow:hidden}
.story:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 44%,rgba(114,197,154,.09),transparent 24%)}
.story-number{position:absolute;right:5vw;top:22px;font-family:"Cormorant Garamond",serif;font-size:12rem;color:rgba(255,255,255,.025);line-height:1}
.story-grid{position:relative;display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;align-items:center}
.story-copy{max-width:760px}
h2,h3{font-family:"Cormorant Garamond",serif}
h2{font-size:clamp(3rem,5.8vw,5.8rem);line-height:.97;font-weight:600;margin:.2em 0 .42em}
h2 em{color:var(--jade);font-weight:600}
h3{font-size:2rem;line-height:1.05}
.story-copy p{color:#c9c2b5}
.story-copy .lead{font-size:1.2rem;color:#efe7d9}
.story-copy .turn{font-size:1.16rem;color:#fff;padding-top:8px}
.quote-frame{position:relative;border-left:1px solid rgba(114,197,154,.6);padding:48px 0 48px 38px}
.frame-label{display:block;font-size:.58rem;color:var(--jade);letter-spacing:.2em;text-transform:uppercase;margin-bottom:28px}
.quote-frame blockquote{margin:0;font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,3.3vw,3.6rem);font-style:italic;line-height:1.05}
.quote-frame p{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:#92a59b}

.identity-sequence{padding:100px 7vw;background:var(--paper);color:#101915;text-align:center}
.sequence-title{font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;font-weight:700;color:#587065}
.identity-line{display:flex;align-items:center;justify-content:center;gap:clamp(10px,2vw,34px);margin:30px auto;flex-wrap:wrap}
.identity-line .name{font-family:"Cormorant Garamond",serif;font-size:clamp(2.8rem,6.4vw,6rem);font-weight:700;letter-spacing:-.03em}
.identity-line i{width:44px;height:1px;background:rgba(13,25,21,.28)}
.name.gala{color:#7e857f}.name.vaurienne{color:#275f48}.name.return{color:var(--rust)}
.identity-thesis{max-width:820px;margin:auto;color:#53615a;font-size:1.02rem}

.world{display:grid;grid-template-columns:1fr 1fr;min-height:80vh}
.world-panel{position:relative;display:flex;align-items:flex-end;overflow:hidden;padding:90px 6vw}
.world-panel:before,.world-panel:after{content:"";position:absolute;inset:0}
.world-panel.botan{background:linear-gradient(160deg,#294c34,#102219)}
.world-panel.botan:before{background:
 radial-gradient(circle at 20% 22%,rgba(197,223,155,.28),transparent 16%),
 linear-gradient(to top,rgba(4,12,9,.78),transparent 65%)}
.world-panel.minos{background:linear-gradient(160deg,#6c6a32,#2b321b 55%,#10170f)}
.world-panel.minos:before{background:
 radial-gradient(circle at 75% 17%,rgba(235,186,105,.18),transparent 18%),
 linear-gradient(to top,rgba(5,10,6,.8),transparent 65%)}
.world-panel:after{opacity:.13;background:repeating-linear-gradient(118deg,transparent 0 34px,rgba(255,255,255,.08) 35px 36px,transparent 37px 72px)}
.panel-number{position:absolute;top:40px;right:5vw;font-family:"Cormorant Garamond",serif;font-size:clamp(5rem,9vw,10rem);font-weight:700;color:rgba(255,255,255,.07)}
.panel-copy{position:relative;z-index:2;max-width:600px}
.panel-copy p{color:#d1cabd}
.location-line{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}
.location-line span{border-top:1px solid rgba(255,255,255,.28);padding-top:8px;font-size:.59rem;letter-spacing:.16em}

.map-section{background:#07110e}
.map-header{display:grid;grid-template-columns:1fr .85fr;gap:8vw;align-items:end;max-width:1200px;margin:0 auto 40px}
.map-header>p{color:#bdb8ad;max-width:520px}
.map-cinema{max-width:1260px;margin:0 auto;position:relative}
.map-cinema img{display:block;width:100%;height:auto;border-radius:6px;box-shadow:0 32px 100px rgba(0,0,0,.38);filter:saturate(.9) contrast(1.03)}
.map-cinema:before,.map-cinema:after{content:"";position:absolute;left:0;right:0;height:38px;z-index:2;pointer-events:none}
.map-cinema:before{top:0;background:linear-gradient(to bottom,rgba(3,9,7,.55),transparent)}
.map-cinema:after{bottom:0;background:linear-gradient(to top,rgba(3,9,7,.6),transparent)}
.map-cinema figcaption{margin-top:12px;text-align:right;color:#839087;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase}
.location-reel{display:grid;grid-template-columns:repeat(3,1fr);gap:0;max-width:1260px;margin:60px auto 0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.location{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:205px}
.location span{font-size:.57rem;color:var(--jade);letter-spacing:.16em}
.location h3{font-size:1.55rem;margin:.45em 0}
.location p{color:#bdb8ad;font-size:.9rem}

.tone-sequence{position:relative;min-height:680px;display:flex;align-items:center;padding:120px 8vw;overflow:hidden;background:
 radial-gradient(circle at 78% 38%,rgba(110,135,58,.28),transparent 20%),
 linear-gradient(105deg,#07110e 0 48%,#172315 100%)}
.tone-sequence:before{content:"";position:absolute;inset:-10%;background:repeating-linear-gradient(115deg,transparent 0 88px,rgba(118,197,154,.04) 89px 90px);transform:rotate(-4deg)}
.tone-copy{position:relative;z-index:3;max-width:840px}
.tone-copy p:last-child{font-size:1.08rem;color:#c9c2b5;max-width:760px}
.tone-words{position:absolute;right:-2vw;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;text-align:right;font-family:"Cormorant Garamond",serif;font-size:clamp(3rem,6vw,7rem);line-height:.78;font-weight:700;color:rgba(255,255,255,.045)}
.tone-words span:nth-child(2){color:rgba(114,197,154,.08)}
.tone-words span:nth-child(3){color:rgba(209,174,105,.07)}

.characters{background:#e9dfcd;color:#111916}
.characters .kicker{color:#567261}
.section-title{max-width:970px}
.character-reel{margin-top:55px;border-top:1px solid rgba(9,22,16,.16)}
.character-row{display:grid;grid-template-columns:60px 92px 1fr;gap:28px;align-items:center;padding:30px 0;border-bottom:1px solid rgba(9,22,16,.16)}
.character-index{font-size:.56rem;letter-spacing:.16em;color:#77847d}
.character-mark{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:#153d30;color:#bee3cb;font-family:"Cormorant Garamond",serif;font-size:2.1rem;font-weight:700}
.character-row h3{font-size:2rem;margin:0 0 8px}
.character-row p{margin:0;max-width:850px;color:#49564f}

.final-line{padding:140px 8vw;background:radial-gradient(circle at 50% 48%,#214f3d,#06100d 62%);text-align:center}
.final-line-inner{max-width:1100px;margin:auto;font-family:"Cormorant Garamond",serif;font-size:clamp(2.4rem,5vw,5rem);line-height:1.04}
.final-line p{margin:0}.final-line strong{display:block;color:var(--jade);font-weight:600;font-style:italic}

.author{display:grid;grid-template-columns:.55fr 1.25fr;gap:8vw;align-items:center;background:#0b1d17}
.author-portrait{aspect-ratio:1;max-width:360px;width:100%;border-radius:50%;display:grid;place-items:center;background:
 radial-gradient(circle at 35% 28%,#3c7b60,#123429 65%,#081b15);box-shadow:0 30px 80px rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.14)}
.author-portrait span{font-family:"Cormorant Garamond",serif;font-size:7rem;letter-spacing:-.06em}
.author-copy{max-width:780px}
.author-copy p{color:#c8c2b5}
.author-note{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);font-size:.58rem;color:#91a096;letter-spacing:.16em}

.contact{padding:120px 8vw;background:var(--paper);color:#101915;text-align:center}
.contact-inner{max-width:900px;margin:auto}
.contact .kicker{color:#4f765f}
.contact h2{max-width:800px;margin:.25em auto .55em}
footer{display:flex;justify-content:space-between;gap:20px;padding:28px 8vw;background:#040c0a;color:#8c978f;font-size:.59rem;letter-spacing:.14em;text-transform:uppercase}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:1050px){
  .agent-strip{grid-template-columns:1fr 1fr 1fr}
  .agent-strip>div{border-bottom:1px solid var(--line)}
  .story-grid,.map-header,.author{grid-template-columns:1fr}
  .world{grid-template-columns:1fr}
  .world-panel{min-height:72vh}
  .location-reel{grid-template-columns:1fr 1fr}
  .author-portrait{max-width:260px}
}
@media(max-width:760px){
  .nav{display:none;position:absolute;top:67px;left:4vw;right:4vw;flex-direction:column;padding:20px;background:#081813;border:1px solid var(--line);border-radius:14px}
  .nav.open{display:flex}
  .menu-toggle{display:block}
  .hero{padding:110px 6vw 90px}
  .hero h1{font-size:22vw}
  .hero-credit{display:none}
  .hero-falls{right:-2vw;width:44vw}
  .agent-strip{grid-template-columns:1fr}
  .agent-strip>div{border-right:0}
  .cinematic-section{padding:88px 6vw}
  .story-number{font-size:7rem}
  .quote-frame{margin-top:10px}
  .identity-line i{width:18px}
  .location-reel{grid-template-columns:1fr}
  .tone-words{opacity:.55}
  .character-row{grid-template-columns:42px 62px 1fr;gap:14px}
  .character-mark{width:56px;height:56px;font-size:1.6rem}
  .character-row h3{font-size:1.55rem}
  .final-line{padding:95px 6vw}
  footer{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
}




.hero-sun:before{
  content:"";
  position:absolute;
  z-index:-2;
  left:50%;top:50%;
  width:220%;height:220%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:
    repeating-conic-gradient(
      from 3deg,
      rgba(255,240,177,.58) 0deg 1.2deg,
      transparent 1.3deg 8deg,
      rgba(255,217,112,.34) 8.2deg 9deg,
      transparent 9.2deg 17deg
    );
  -webkit-mask:radial-gradient(circle,transparent 0 33%,#000 38% 55%,transparent 74%);
  mask:radial-gradient(circle,transparent 0 33%,#000 38% 55%,transparent 74%);
  filter:blur(.8px);
  opacity:.92;
}
.hero-sun:after{
content:"";
position:absolute;
z-index:-1;
left:50%;top:50%;
width:132%;height:132%;
transform:translate(-50%,-50%);
border-radius:50%;
background:radial-gradient(circle,
rgba(255,255,236,.07) 0 18%,
rgba(255,223,126,.035) 38%,
transparent 68%);
filter:blur(10px);
}
.sun-two:before{
  background:
    repeating-conic-gradient(
      from 8deg,
      rgba(255,199,160,.54) 0deg 1.2deg,
      transparent 1.3deg 9deg,
      rgba(239,116,82,.32) 9.2deg 10deg,
      transparent 10.2deg 19deg
    );
}
.sun-two:after{
background:radial-gradient(circle,
rgba(255,236,218,.06) 0 18%,
rgba(235,122,88,.03) 38%,
transparent 68%);
}
