@charset "UTF-8";
:root{--ink:#153d36;--muted:#60796e;--paper:#f5f6ec;--line:#cbd5c4;--lime:#d9f594;--copper:#b0835c;--serif:Georgia,'Times New Roman',serif;--sans:'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;--mono:Consolas,'Courier New',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;cursor:pointer;background:none}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #377be0;outline-offset:6px}::selection{background:#d1d2fb;color:#173d36}canvas{display:block}.skip-link{position:fixed;top:-70px;left:16px;z-index:20;background:var(--paper);padding:14px}.skip-link:focus{top:16px}
.site-header{position:absolute;z-index:5;inset:0 0 auto;height:106px;padding:20px 4.2vw;display:flex;align-items:center;gap:30px;color:#113d39}.wordmark{font:italic 48px/.9 var(--serif);letter-spacing:-3px}.wordmark-dot{color:#568e60}.header-note{font:9px var(--mono);letter-spacing:.16em;margin-top:8px}.site-header nav{display:flex;align-items:center;gap:30px;margin-left:auto;font:10px var(--mono);letter-spacing:.09em}.site-header nav a{position:relative}.site-header nav a:after{content:'';position:absolute;left:0;bottom:-7px;width:0;height:1px;background:currentColor;transition:width .25s}.site-header nav a:hover:after{width:100%}
.hero{position:relative;min-height:620px;height:100svh;max-height:1250px;overflow:hidden;background:#c6dbe3}.hero-topline{position:absolute;top:133px;left:4.2vw;right:4.2vw;display:flex;justify-content:space-between;border-top:1px solid #21524633;padding-top:14px;color:#224f46;font:9px var(--mono);letter-spacing:.15em;pointer-events:none}.scroll-link{justify-self:end;display:flex;align-items:center;gap:15px;font:8px var(--mono);letter-spacing:.12em}.arrow-down{font-size:26px}.hero.dark .hero-topline{color:#e3f5df}.hero.dark .hero-topline{border-color:#e3f5df44}.site-header.dark{color:#e3f5df}
.section-shell{padding:58px 7.4vw 110px}.section-index{display:flex;justify-content:space-between;font:9px var(--mono);letter-spacing:.13em;border-bottom:1px solid var(--line);padding-bottom:18px}.story-intro{display:grid;grid-template-columns:1.3fr 1fr;column-gap:7vw;padding-top:82px}.eyebrow{font:9px/1.5 var(--mono);letter-spacing:.14em}.story-intro>.eyebrow{grid-column:1/-1;margin:0 0 25px}.story h2{font-size:clamp(35px,4.25vw,72px);letter-spacing:-.045em;font-weight:500;line-height:1.55;margin:0}.story h2 span{color:#83a272}.story-copy{padding:26px 0 0;align-self:center}.small-cross{font-size:40px;color:#afc094;line-height:1}.story-copy p{font-size:13px;line-height:2.4;letter-spacing:.055em;margin:25px 0;color:#52695b}.story-copy .story-last{font-size:18px;color:var(--ink);margin-top:34px}.journey{position:relative;display:grid;grid-template-columns:repeat(3,1fr);margin-top:95px;border-bottom:1px solid var(--line);padding-bottom:45px;gap:7vw}.journey-line{position:absolute;height:1px;background:var(--line);inset:18px 0 auto}.journey-number{display:block;background:var(--paper);width:40px;position:relative;font:italic 28px var(--serif);margin:0 0 38px;color:#758c6d}.journey h3{font-size:23px;font-weight:500;margin:18px 0}.journey p:last-child{font-size:12px;line-height:2.1;color:var(--muted)}.journey .eyebrow{color:var(--muted)}
.interlude{position:relative;height:590px;overflow:hidden;background:#163f43}.interlude canvas{height:100%;width:100%;object-fit:cover}.interlude-copy{position:absolute;inset:85px auto auto 7.4vw;color:#effce5}.interlude-copy>.eyebrow{font-size:8px;letter-spacing:.18em;margin-bottom:43px}.interlude-copy>p:last-child{font-size:clamp(40px,5.3vw,76px);font-weight:500;line-height:1.45;letter-spacing:.035em;margin:0}.interlude-copy em{font-style:normal;color:#d8ffbf}.interlude-coordinate{position:absolute;bottom:30px;right:5vw;font:8px var(--mono);letter-spacing:.14em;color:#e2f4dd}
.character{padding-bottom:80px;background:#e9edde}.character-layout{display:grid;grid-template-columns:1.06fr 1fr;gap:6vw;padding-top:40px;align-items:center}.character-art{position:relative;height:770px;overflow:hidden;background:radial-gradient(ellipse at 50% 35%,#fffcef 0,#e9edde 60%)}.character-art canvas{position:relative;width:100%;height:100%;object-fit:contain;z-index:1}.art-orbit{position:absolute;width:85%;height:58%;border:1px solid #a5b99977;left:8%;top:14%;border-radius:50%;transform:rotate(-32deg) skew(22deg)}.orbit-two{transform:rotate(32deg) skew(-22deg);border-color:#b78e6b55}.character-caption{position:absolute;bottom:10px;left:4px;font:8px var(--mono);letter-spacing:.13em;color:#667b62}.character-copy{padding:15px 0}.character-copy>.eyebrow{color:#6b8165}.character-copy h2{font:italic clamp(80px,8vw,135px)/1.1 var(--serif);letter-spacing:-7px;margin:25px 0 34px;display:flex;align-items:baseline;gap:30px}.character-copy h2 span{font:10px var(--sans);letter-spacing:.2em}.character-lead{font-size:clamp(24px,2.3vw,36px);line-height:1.6;letter-spacing:.03em;margin:30px 0}.character-copy>.character-lead+p{font-size:12px;line-height:2.25;letter-spacing:.04em;color:#60715a}.palette{display:flex;gap:8px;align-items:center;margin:30px 0}.palette i{width:17px;height:17px;border-radius:50%;background:#24463a}.palette i:nth-child(2){background:#ae815a}.palette i:nth-child(3){background:#faf0da;border:1px solid #c9c9ae}.palette span{font:7px var(--mono);letter-spacing:.06em;margin-left:8px;color:#738267}.text-button{border-bottom:1px solid #8c9f7f;padding:11px 0;display:flex;gap:65px;font-size:11px}.text-button span{font-size:20px}.portrait-pair{display:flex;gap:14px;margin-top:40px}.portrait{width:125px;height:120px;border-radius:50% 50% 3px 3px;background-image:none;background-size:441px 662px;border:1px solid #d4dac9}.portrait-one{background-position:-287px -332px}.portrait-two{background-position:-292px -453px}
.outro{position:relative;min-height:650px;overflow:hidden;display:flex;align-items:center;flex-direction:column;justify-content:center;padding:90px 20px 165px;background:#173f3b;color:#e9f5dc}.outro-halo{position:absolute;width:650px;height:650px;border:1px solid #b4d8ac25;border-radius:50%;top:-225px;left:calc(50% - 325px);box-shadow:0 0 0 70px #b4d8ac08,0 0 0 140px #b4d8ac05}.outro>.eyebrow{position:relative;font-size:8px;letter-spacing:.17em;color:#b9cda5}.outro h2{position:relative;font-size:clamp(38px,5.7vw,85px);font-weight:400;letter-spacing:.015em;margin:28px 0 40px}.round-link{position:relative;display:flex;gap:35px;align-items:center;font-size:11px}.round-arrow{border:1px solid #bcd4a377;border-radius:50%;display:grid;place-items:center;width:60px;height:60px;font-size:28px;transition:background .3s,color .3s}.round-link:hover .round-arrow{background:#d4efb7;color:#173f3b}.outro-wordmark{position:absolute;bottom:-96px;font:italic clamp(180px,30vw,490px)/1 var(--serif);letter-spacing:-.08em;color:#aac9a310;user-select:none}footer{display:flex;align-items:center;gap:35px;background:#173f3b;color:#b8caa9;border-top:1px solid #c8e0b51f;padding:35px 5vw}footer .wordmark{font-size:36px}footer>span,footer small,footer>a:last-child{font:8px var(--mono);letter-spacing:.07em}footer small{margin-left:auto}footer>a:last-child{margin-left:35px}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .9s,transform .9s}.reveal.seen{opacity:1;transform:translateY(0)}dialog{border:0;padding:62px 22px 20px;max-width:min(92vw,740px);max-height:92svh;background:#fcf4e8;color:#294137}dialog::backdrop{background:#082d2bd9;backdrop-filter:blur(12px)}dialog>button{position:absolute;right:20px;top:20px;font:10px var(--mono);letter-spacing:.1em}dialog img{width:100%;height:auto}dialog p{font:10px var(--mono);text-align:center;padding-top:10px}
@media(min-aspect-ratio:19/10){.hero{min-height:600px}.hero-topline{top:115px}}
@media(max-width:900px){.header-note{display:none}.site-header{height:85px}.hero-topline{top:110px}.scroll-link{font-size:7px}.story-intro{column-gap:6vw}.story-copy p{font-size:11px}.character-art{height:650px}.character-copy h2{font-size:90px}.character-copy>.character-lead+p{font-size:11px}.portrait{width:100px;height:110px;background-size:407px 610px}.portrait-one{background-position:-267px -307px}.portrait-two{background-position:-272px -419px}}
@media(max-width:600px){html{scroll-padding-top:20px}.site-header{padding:23px 23px;height:80px}.wordmark{font-size:40px}.site-header nav{gap:20px;font-size:8px}.site-header nav>a:nth-child(2){display:none}.hero{height:92svh;min-height:620px}.hero-topline{top:104px;left:24px;right:24px;font-size:7px}.scroll-link span:first-child{display:none}.scroll-link .arrow-down{font-size:27px}.section-shell{padding:34px 25px 64px}.section-index{font-size:7px;letter-spacing:.05em}.story-intro{display:block;padding-top:53px}.story-intro>.eyebrow{font-size:8px;margin-bottom:24px}.story h2{font-size:37px;line-height:1.6;letter-spacing:-.055em}.story-copy{padding-top:25px}.small-cross{font-size:33px}.story-copy p{font-size:12px;line-height:2.3;margin:20px 0}.story-copy .story-last{font-size:16px}.journey{gap:16px;margin-top:54px;padding-bottom:22px}.journey .eyebrow{font-size:6px;letter-spacing:.01em}.journey-number{font-size:23px;margin-bottom:26px}.journey h3{font-size:17px;margin:15px 0}.journey p:last-child{font-size:9px;line-height:2}.interlude{height:490px}.interlude-copy{left:26px;top:70px}.interlude-copy>.eyebrow{font-size:7px;letter-spacing:.05em}.interlude-copy>p:last-child{font-size:47px}.interlude-coordinate{font-size:6px;right:26px;bottom:25px}.character-layout{display:flex;flex-direction:column;gap:0;padding-top:12px}.character-art{width:100%;height:610px}.character-copy{align-self:stretch;padding:20px 5px 0}.character-copy h2{font-size:105px;margin:16px 0 20px}.character-copy>.eyebrow{font-size:8px}.character-lead{font-size:28px}.character-copy>.character-lead+p{font-size:12px}.portrait-pair{margin-top:30px}.portrait{width:125px;height:120px;background-size:441px 662px}.portrait-one{background-position:-287px -332px}.portrait-two{background-position:-292px -453px}.outro{min-height:480px;padding:85px 20px 115px}.outro h2{font-size:42px}.outro>.eyebrow{font-size:7px}.outro-wordmark{bottom:-40px;font-size:255px}.round-arrow{width:50px;height:50px}footer{gap:14px;padding:25px;flex-wrap:wrap}footer>span{font-size:6px}footer small{font-size:6px}footer>a:last-child{margin-left:auto;font-size:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{animation:none!important;transition:none!important}}

/* The website is the sequence. Scrolling controls the camera; there is no player. */
.nav-explore{display:flex;align-items:center;gap:25px;border:1px solid #244e444f;border-radius:50px;padding:14px 20px}.nav-explore span{font-size:19px}
.experience{height:560svh;position:relative}.experience>.hero{position:sticky;top:0;height:100svh;max-height:none;min-height:0}.hero>canvas{position:absolute;inset:0;width:100%;height:100%}
.scene-grain{position:absolute;inset:0;pointer-events:none;opacity:.11;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:multiply}
.scene-copy{position:absolute;left:7.3vw;top:29%;pointer-events:none;opacity:0;will-change:transform,opacity;color:#164238;max-width:68vw}.scene-copy.current{opacity:1}.scene-kicker{font:10px var(--mono);letter-spacing:.2em;margin:0 0 32px}.scene-copy h1,.scene-copy h2{font-size:clamp(55px,6.4vw,110px);font-weight:500;line-height:1.31;letter-spacing:-.055em;margin:0}.scene-description{font-size:12px;letter-spacing:.08em;line-height:2;margin-top:31px}.scene-signature{display:block;font:italic 70px/1 var(--serif);letter-spacing:-3px;margin-top:35px}.scene-signature>span{color:#78a564}.scene-copy-1,.scene-copy-3{color:#edf6db}.scene-copy-1{left:12%;top:32%}.scene-copy-2{top:32%}.scene-copy-3{top:31%}.scene-copy-4{top:30%}
.experience-bottom{position:absolute;bottom:35px;left:4.2vw;right:4.2vw;display:flex;justify-content:space-between;align-items:center;gap:20px;font:8px var(--mono);letter-spacing:.13em;color:#204e40}.scroll-cue{display:flex;align-items:center;gap:18px}.scroll-cue i{font:normal 25px var(--sans)}.experience-counter b{font-weight:400}.experience-progress{position:absolute;inset:auto 0 0;height:2px;background:#174b411c}.experience-progress i{display:block;width:0;height:100%;background:#346a52}.hero.dark .experience-bottom{color:#d6f0d2}.hero.dark .experience-progress i{background:#a5d9b4}
@media(min-width:1600px){.scene-copy{top:30%}.scene-copy h1,.scene-copy h2{font-size:clamp(110px,6.5vw,145px)}}
@media(max-height:720px) and (min-width:700px){.scene-copy{top:29%}.scene-kicker{margin-bottom:16px}.scene-copy h1,.scene-copy h2{font-size:64px}.scene-description{margin-top:18px;font-size:10px}.scene-signature{margin-top:17px;font-size:50px}}
@media(max-width:600px){.nav-explore{padding:10px 13px;gap:14px}.experience{height:530svh}.hero-topline{font-size:6px}.scene-copy{left:26px;top:43%;max-width:90vw}.scene-kicker{font-size:7px;letter-spacing:.13em;margin:0 0 19px}.scene-copy h1,.scene-copy h2{font-size:clamp(44px,12.5vw,62px);line-height:1.38;letter-spacing:-.055em}.scene-description{font-size:9px;letter-spacing:.02em;line-height:2;margin-top:22px}.scene-signature{font-size:52px;margin-top:23px}.scene-copy-1{top:32%}.scene-copy-2{top:49%}.scene-copy-3{top:42%}.scene-copy-4{top:47%}.experience-bottom{bottom:25px;left:25px;right:25px;font-size:6px;letter-spacing:.04em}.scroll-cue{gap:8px}.scroll-cue i{font-size:20px}.experience-counter{display:none}}
@media(prefers-reduced-motion:reduce){.experience{height:100svh}.experience>.hero{position:relative}.scene-copy{will-change:auto}}

/* Final direction: an automatically moving first-view background, integrated
   into the website. Scrolling simply carries the visitor into the page. */
.experience{height:100svh}.experience>.hero{position:relative}.experience-progress,.experience-counter{display:none}.experience-bottom>span:first-child{visibility:hidden}.experience-bottom .scroll-cue{margin-left:auto}.site-header.dark .nav-explore{border-color:#d4eac25c}.site-header{transition:color .6s}.hero .hero-topline{transition:color .6s,border-color .6s}.scene-grain{opacity:.065}.scene-copy{filter:drop-shadow(0 1px 12px #f2f3df18)}
@media(max-width:600px){.experience{height:100svh}.scene-copy-0{top:44%}.scene-copy-0 h1{font-size:49px}.scene-copy-0 .scene-signature{font-size:48px;margin-top:25px}.scene-copy-0 .scene-description{font-size:8px}.scene-copy-0{left:25px}.scene-description{max-width:80vw}}

.hero.dark .scene-copy{color:#eff8e3}.scene-copy{will-change:transform,opacity,clip-path}.scene-copy-1 .scene-description,.scene-copy-3 .scene-description{color:#e7f4df}.scene-copy-2 .scene-description,.scene-copy-4 .scene-description{color:#174438}.hero.dark .scene-description{color:#e8f5db}.scene-copy h1,.scene-copy h2{font-feature-settings:"palt";text-wrap:balance}.site-header{background:linear-gradient(180deg,#edf3e62b,transparent)}
@media(max-width:600px){.scene-copy-0 .scene-description{font-size:9px;max-width:220px}.scene-copy-0 h1{font-size:47px}.scene-copy-1,.scene-copy-2,.scene-copy-3,.scene-copy-4{left:25px}.scene-copy-2 h2,.scene-copy-3 h2,.scene-copy-4 h2{font-size:45px}.scene-copy-2{top:52%}.scene-copy-3{top:47%}.scene-copy-4{top:45%}}

.portrait{width:125px;height:128px;background-size:550px 825px}.portrait-one{background-position:-370px -408px}.portrait-two{background-position:-374px -545px}
.hero>.cinematic-plane{z-index:0}.hero>#world{z-index:1}.scene-grain,.hero-topline,.scene-copy,.experience-bottom{z-index:2}.interlude>.cinematic-plane{z-index:0}.interlude>#interlude-canvas{position:relative;z-index:1}.interlude-copy,.interlude-coordinate{z-index:2}

.character.art-ready .portrait{background-image:url('assets/ipse-original.png')}
