:root{--review-height:0px;--journey-gutter:clamp(26px,7.5vw,128px)}
html{scroll-padding-top:90px}body{overflow-x:hidden}
.header{position:fixed!important;top:0!important;left:0;right:0;z-index:50!important;display:flex;justify-content:space-between;align-items:center;padding:20px var(--journey-gutter)!important;background:linear-gradient(#080d08ed,#080d08b8);backdrop-filter:blur(16px)}
body .header a,body:has(main.active) .header a{color:#f1ead8!important}
.header .nav{display:flex;gap:25px;align-items:center}.header .nav a{padding:12px 0;min-height:44px;display:flex;align-items:center;font-size:10px;white-space:nowrap}.header .nav a[aria-current=page]{border-bottom:1px solid #c7b17b}
.menu-toggle{display:none}.story-wayfinder{display:none!important}.beat-copy{transform:none!important}.story-beat{min-height:115svh;padding-block:16svh}.story-beat .orientation{font-size:14px;max-width:360px;line-height:1.7;margin-top:25px;color:#e1e5d9}.night-threshold{min-height:150px}
.chapter-next{position:relative;display:flex;flex-direction:column;align-items:center;gap:26px;text-align:center;padding:clamp(70px,10vw,130px) var(--journey-gutter);background:#080d08;color:#ece6d5}.chapter-next .outline{display:inline-flex;justify-content:center;align-items:center;border:1px solid #c7b17b;border-radius:100px;padding:18px 30px;min-height:52px;color:#f1ead8;text-decoration:none;font:14px Georgia,serif;letter-spacing:.08em}.chapter-next .chapter-back{color:#b5b8a6;font:12px Arial,sans-serif;text-decoration:none;padding:12px}.chapter-next p{font:14px/1.7 Arial,sans-serif;max-width:330px;margin:0}.chapter-next .kicker{color:#b6ab8a}
.studio-tools{background:#0c120c;color:#acb19f;padding:24px var(--journey-gutter);font:11px/1.8 Arial,sans-serif}.studio-tools summary{cursor:pointer}.studio-tools .review{position:static!important;display:flex;flex-wrap:wrap;padding:20px 0;background:transparent}.studio-tools .motion-shortcuts{display:none!important}.studio-tools a{color:inherit}.studio-tools button{min-height:44px}
:focus-visible{outline:2px solid #d8c38e!important;outline-offset:6px}main .copyblock{max-width:760px}main p{overflow-wrap:break-word}.care-nav a{min-height:44px}
@media(max-width:760px){.header{padding:14px 26px!important}.header .brand{font-size:15px}.header .brand i{font-size:24px}.menu-toggle{display:block;background:none;color:#f1ead8;border:1px solid #b9aa7b80;border-radius:40px;padding:10px 16px;min-height:44px;font:12px Arial,sans-serif}.header .nav{display:none;position:absolute;top:100%;left:0;right:0;background:#0c130cf5;padding:20px 26px 28px;flex-direction:column;align-items:stretch;gap:3px}.header.menu-open .nav{display:flex}.header .nav a{font:20px Georgia,serif;padding:14px 0;min-height:50px}.header .nav a[aria-current=page]{color:#d6bf86!important;border:0}.story-beat{min-height:112svh;padding:140px 28px 100px}.inside{padding-left:28px!important;padding-right:28px!important}.copyblock{padding-block:36px}.chapter-next{gap:24px}.story-beat .orientation{font-size:13px;max-width:300px}.care-nav{gap:8px;flex-wrap:wrap}main h1,main h2{overflow-wrap:normal}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
@media(max-width:760px){body .header{flex-direction:row!important;gap:12px!important;text-align:left!important}body .header .nav{display:none!important}body .header.menu-open .nav{display:flex!important}body .header .nav a{font-size:20px!important;letter-spacing:0!important}body .header .brand{font-size:15px!important}}
/* Keep the final invitation readable while its chapter leaves the viewport. */
.beat-connection .beat-copy{opacity:1!important}.beat-connection a.outline{opacity:1!important;background:#101a10e6;color:#f1ead8!important;border:1.5px solid #d1b77e;box-shadow:0 4px 25px #0005}
.scene-fog{position:absolute;pointer-events:none;z-index:1;transform-origin:center}.passagewords,.mastcopy{z-index:3}
.flight-sticky{top:84px;height:calc(100svh - 100px);max-height:900px;overflow:visible}.flight-scroll{height:200svh}
.flight-sticky video{object-fit:contain!important;object-position:center!important;width:100%!important;height:100%;mask-image:none!important;-webkit-mask-image:none!important}
.flight-sticky:after{display:none}.flight-caption{bottom:14px;font-size:24px}.flight-cue{bottom:0;transform:translateY(100%)}
@media(max-width:700px){.flight-sticky{top:80px;height:calc(100svh - 125px)}.flight-scroll{height:190svh}.flight-caption{bottom:15px;font-size:22px}}
.flight-sticky video{position:absolute!important;inset:0;min-width:0;min-height:0;max-height:100%;max-width:100%}
/* A shorter, edge-to-edge flight passage, with the flock above the horizon. */
#connect .flight-scroll{width:100vw;margin-left:calc((100% - 100vw)/2);margin-right:calc((100% - 100vw)/2);height:165svh}
#connect .flight-sticky{height:68svh;max-height:720px;min-height:390px;overflow:hidden}
#connect .flight-sticky video{object-fit:cover!important;object-position:50% 38%!important}
#connect .flight-caption{bottom:32px}#connect .flight-cue{bottom:12px;transform:none}
#connect .flight-sticky:after{display:block;position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#142313b0,transparent 22%,transparent 88%,#14231355);z-index:1}
/* Continue the photograph's exact dark endpoint through the new reflections. */
#testimonials .voice-landscape+.voices-body{max-width:none;background:linear-gradient(180deg,#080c08 0%,#0a110a 17%,#101b10 42%,#101b10 58%,#0a110a 83%,#080c08 100%);padding-top:100px;padding-bottom:110px}
#testimonials .voice-landscape+.voices-body .voice{max-width:940px;margin:0 auto;padding:65px 0}
#testimonials .chapter-next{background:#080c08}
@media(max-width:700px){#connect .flight-sticky{height:64svh;min-height:360px;max-height:620px}#connect .flight-scroll{height:155svh}#connect .flight-sticky video{object-position:50% 40%!important}#testimonials .voice-landscape+.voices-body{padding-top:45px;padding-bottom:55px}#testimonials .voice-landscape+.voices-body .voice{padding:45px 0}}

/* Keep the invitation above the threshold overlay, at the same full opacity as other CTAs. */
#welcome .beat-human{z-index:3}
#welcome .beat-human .beat-copy{opacity:1!important}
#welcome .beat-human .outline{opacity:1!important;color:#f1ead8!important;border-color:#c7b17b!important;background:#101a10e6;position:relative;z-index:4}
#connect .flight-scroll{height:120svh}
#testimonials .voice-landscape img{object-position:65% center}
#process .copyblock{margin-top:55px;padding-block:12px}
#process .copyblock p{margin-bottom:22px;line-height:1.75}
#process .practice-chapter{position:relative;margin-top:48px;padding-top:54px}
#process .practice-chapter:before{content:'';position:absolute;left:0;top:0;width:min(220px,55%);height:1px;background:linear-gradient(90deg,#c7b17b88,#c7b17b22,transparent)}
@media(max-width:700px){#connect .flight-scroll{height:110svh}#process .copyblock{margin-top:38px;padding-block:10px}#process .practice-chapter{margin-top:35px;padding-top:42px}#process .copyblock p{margin-bottom:20px}}
/* Blend the landscape within its own stacking context, below the readable invitation. */
#welcome .night-threshold:before{display:none}
#welcome .immersive-story:after{content:'';position:absolute;left:0;right:0;bottom:0;height:70svh;min-height:360px;z-index:2;pointer-events:none;background:linear-gradient(180deg,#05060500 0%,#05060508 12%,#05060521 26%,#05060552 43%,#05060594 60%,#050605d1 77%,#050605f5 91%,#050605 100%)}
/* A continuous film: normal page flow and feathered forest-green edges. */
#connect .mist-arrival{position:relative;width:100vw;margin:25px calc((100% - 100vw)/2) 0;height:64svh;min-height:380px;max-height:720px;overflow:hidden;isolation:isolate;background:#142313}
.mist-arrival video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;filter:brightness(.86);mask-image:linear-gradient(180deg,transparent,#000 20%,#000 75%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 20%,#000 75%,transparent)}
.mist-arrival-shade{position:absolute;inset:0;background:linear-gradient(0deg,#14231399,transparent 65%);pointer-events:none}
#connect .mist-arrival p{position:absolute;left:24px;right:24px;bottom:16%;text-align:center;color:#f1ead8;font:400 clamp(28px,3.1vw,46px)/1.28 Georgia,serif;text-shadow:0 2px 24px #101a10;margin:0}
.mist-arrival p em{font-weight:400}.mist-play{position:absolute;bottom:8%;left:50%;transform:translateX(-50%);border:1px solid #c7b17b;border-radius:30px;background:#142313cc;color:#f1ead8;padding:12px 22px;font:13px Georgia,serif;cursor:pointer}
#connect .mist-arrival+.copyblock{margin-top:32px}
@media(max-width:700px){#connect .mist-arrival{height:56svh;min-height:340px;max-height:520px}.mist-arrival video{object-position:45% center}#connect .mist-arrival p{bottom:18%;font-size:29px}}
.living-photo{position:absolute;pointer-events:none;z-index:0;image-rendering:auto}
.lightstage .living-photo{z-index:0}.lightstage .restored-night{z-index:1}
#process .master-art .living-photo,#guides .master-art .living-photo{z-index:0}
.story-frame .living-photo{z-index:0}.story-frame .scene-shade{z-index:1}

/* The valley photograph is anchored; only its isolated mist layer drifts. */
.story-frame[data-scene="3"] img,.story-frame[data-scene="3"] .living-photo{transform:scale(1.025)!important}

/* Canopy trees remain completely fixed; central cloud window alone animates. */
.story-frame[data-scene="2"] img,.story-frame[data-scene="2"] .living-photo{transform:scale(1.025)!important}

/* Let the final valley chapter linger before the night transition. */
#welcome .story-beat.beat-human{min-height:175svh;align-items:flex-start;padding-top:25svh;padding-bottom:65svh}

/* Seal fractional-pixel compositing gaps at the valley/night join. */
#welcome .immersive-story{border-bottom:0;background:#050605}
#welcome .immersive-story:after{bottom:-2px;height:calc(70svh + 2px)}
#welcome .night-threshold{border:0;outline:0;background:#050605;box-shadow:0 -3px 0 0 #050605}
/* Mobile Connect: light paper, photographic mist, unbroken tonal transitions. */
@media(max-width:760px){
 body:has(#connect.active),#connect,#connect .inside,#connect .footer{background:#faf9f6;color:#171b17}
 #connect h1,#connect h2,#connect .intro,#connect label{color:#171b17}
 #connect .kicker,#connect .scope,#connect .footer{color:#596052}
 #connect .field{color:#62695e;border-color:#aeb4a6}
 #connect .outline{color:#171b17;border-color:#857449}
 body:has(#connect.active) .header{background:#faf9f6ed}
 body:has(#connect.active) .header a{color:#171b17!important}
 body:has(#connect.active) .menu-toggle{color:#171b17;border-color:#857449}
 body:has(#connect.active) .header .nav{background:#faf9f6}
 #connect .mist-arrival{background:#faf9f6;height:68svh;max-height:620px;min-height:440px}
 #connect .mist-arrival video{filter:brightness(.9);mask-image:linear-gradient(180deg,transparent,#0001 7%,#0004 15%,#000a 24%,#000 34%,#000 68%,#000d 76%,#0007 86%,#0002 94%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#0001 7%,#0004 15%,#000a 24%,#000 34%,#000 68%,#000d 76%,#0007 86%,#0002 94%,transparent)}
 #connect .mist-arrival-shade{background:radial-gradient(ellipse at 50% 58%,#14231350,transparent 55%)}
 #connect .mist-arrival p{bottom:36%;color:#fffdf5;text-shadow:0 2px 18px #101a10bb}
 #testimonials .voice-landscape img{object-position:94% 32%}
}

/* Work page: contain full-bleed scenery at the viewport edge.
   Match the mobile figure bleed to the actual 28px content inset. */
html:has(#process.active) { overflow-x: clip; background: #142313; }
body:has(#process.active) { background: #142313; }
#process { width: 100%; max-width: 100%; overflow-x: clip; background: #142313; }
@media (max-width: 760px) {
  #process .inside.illustrated { --gutter: 28px; width: 100%; max-width: 100%; }
  #process .widepause { width: calc(100% + 56px); margin-left: -28px; margin-right: -28px; }
}

.contact-form input,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #7b866b;background:transparent;color:inherit;font:inherit;padding:12px 0;margin-bottom:25px;border-radius:0}.contact-form textarea{min-height:110px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:1px solid #c7b17b;outline-offset:5px}.motion-control{padding:18px 28px;background:#0c130c;text-align:right}.motion-control button{background:none;border:0;border-bottom:1px solid #b9aa7b;color:#eee8d5;padding:8px;font:12px Arial;cursor:pointer}.reading-list{padding:20px 0;border-bottom:1px solid #c7b17b44}.reading-list summary{cursor:pointer;font:24px Georgia;color:#eee8d5}.reading-list li{margin:14px 0}.reading-list ul{padding-left:22px}

.motion-control #motionToggle{color:#eee8d5!important;opacity:1!important;visibility:visible!important}

/* Keep story links in the normal hit-testing tree on desktop and touch browsers. */
#welcome .story-beat{pointer-events:auto}
#welcome .beat-copy{transform:none}
#welcome .story-beat a.outline{pointer-events:auto;touch-action:manipulation;position:relative;z-index:4}

/* Keyboard navigation: visible only when focused. */
.skip-content{position:fixed;top:12px;left:12px;z-index:99999;transform:translateY(-200%);padding:12px 20px;background:#f1ead8;color:#0c130c;border:2px solid #c7b17b;border-radius:4px;font:16px Arial,sans-serif}.skip-content:focus{transform:none}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #c7b17b;outline-offset:5px}
