@font-face{font-family:Instrument;src:url('assets/instrument-serif.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Instrument;src:url('assets/instrument-serif-italic.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:DM;src:url('assets/dm-sans-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:DM;src:url('assets/dm-sans-medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:DM;src:url('assets/dm-sans-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--bg:#111510;--paper:#e9e6d9;--muted:#a4aa99;--line:#343a2e;--gold:#d6b979;--green:#b5c19c;--serif:Instrument,Georgia,serif;--sans:DM,-apple-system,BlinkMacSystemFont,sans-serif;--mono:'SFMono-Regular',Consolas,monospace}
[hidden]{display:none!important}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--paper);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:7px}::selection{background:#b5c19c;color:#111510}p,h1,h2,h3{margin:0;font-weight:400}em{font-weight:400}button{border:0;background:none}.skip-link{position:fixed;top:-80px;left:20px;padding:12px 20px;background:var(--paper);color:var(--bg);z-index:100}.skip-link:focus{top:15px}
.header{height:102px;padding:0 4.5vw;display:flex;align-items:center;gap:40px;position:absolute;top:0;left:0;width:100%;z-index:20;border-bottom:1px solid #e9e6d91c;background:transparent}.wordmark{font-family:var(--serif);font-size:46px;letter-spacing:-3px;line-height:1}.wordmark span{font-family:var(--sans);font-size:19px;display:inline-block;vertical-align:top;margin:8px 0 0 9px;letter-spacing:0;color:var(--gold)}.header nav{display:flex;gap:36px;align-items:center;margin-left:auto}.header nav a{font-size:13px;transition:color .2s}.header nav a:hover{color:var(--gold)}.contact-nav span{margin-left:13px}.motion-toggle{display:flex;align-items:center;gap:9px;border-left:1px solid #ffffff29;padding:4px 0 4px 30px;font-size:11px;color:#d8dace}.pause-icon{width:10px;height:12px;display:block;border-left:2px solid currentColor;border-right:2px solid currentColor}.motion-toggle[aria-pressed=true] .pause-icon{border:0;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid currentColor}
.hero{height:100svh;min-height:760px;max-height:1400px;position:relative;overflow:hidden;isolation:isolate;background:#131a10}.forest-scene{position:absolute;inset:0;z-index:-3}.forest-scene canvas,.forest-fallback{width:100%;height:100%;position:absolute;inset:0;display:block;object-fit:cover}.forest-fallback{filter:brightness(.66) saturate(.8)}#forest{opacity:0;transition:opacity .55s ease}.forest-scene.ready #forest{opacity:1}.forest-scene.ready .forest-fallback{visibility:hidden}.hero-content{position:absolute;left:8.2vw;top:27%;pointer-events:none}.hero-content a{pointer-events:auto}.eyebrow{font-family:var(--mono);font-size:9px;letter-spacing:2px;line-height:1.6;font-weight:400}.hero .eyebrow{color:#d3d7be;display:flex;align-items:center;gap:12px}.tiny-star{font-size:21px;color:var(--gold);line-height:1;letter-spacing:0}h1{font-family:var(--serif);font-size:clamp(98px,9.5vw,174px);line-height:.88;letter-spacing:-3.5px;margin:30px 0 27px;text-shadow:0 3px 40px #09120833}h1 em{color:#dfcb9c}.hero-intro{font-size:14px;line-height:1.85;color:#dbddce;letter-spacing:.05px}.explore-link{display:inline-flex;align-items:center;gap:33px;margin-top:31px;padding-bottom:9px;border-bottom:1px solid #d7d9c66b;font-size:12px}.explore-link span{font-size:20px;transition:transform .3s}.explore-link:hover span{transform:translate(3px,3px)}.forest-marker{position:absolute;display:flex;align-items:center;gap:13px;padding:18px 15px;z-index:3;transform:translate(-50%,-50%)}.marker-work{left:64%;top:44%}.marker-about{left:81%;top:67%}.marker-dot{width:7px;height:7px;border-radius:50%;background:#fff5cd;box-shadow:0 0 0 5px #dfc67e18,0 0 13px 4px #ffe0a270,0 0 32px 10px #f3da8e22;flex-shrink:0;transition:box-shadow .3s,transform .3s}.marker-label{font-size:11px;font-weight:500;padding:9px 12px;background:#19201496;backdrop-filter:blur(12px);border:1px solid #e4d9ae22;border-radius:2px;color:#f0ecd9;white-space:nowrap;transition:background .3s}.marker-label small{font-family:var(--mono);font-size:8px;color:#dfc78b;margin-right:12px}.marker-label>span{margin-left:12px;color:#dfc78b}.forest-marker:hover .marker-dot{transform:scale(1.3);box-shadow:0 0 0 9px #dfc67e18,0 0 18px 7px #ffe0a290}.forest-marker:hover .marker-label{background:#26301bd9}.hero-bottom{position:absolute;bottom:31px;left:4.5vw;right:4.5vw;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:#bfc4ac}.scene-caption{display:flex;gap:9px;align-items:center}.status-dot{width:4px;height:4px;border-radius:50%;background:#c3cd9f;box-shadow:0 0 7px #c3cd9f}.water-hint{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-style:italic;font-size:18px;color:#d5d7bc;opacity:.8}.water-hint svg{opacity:.6}.scroll-cue{font-family:var(--mono);letter-spacing:1.5px;font-size:8px;display:flex;gap:17px;align-items:center}.scroll-cue>span:last-child{font-family:var(--sans);font-size:20px}.scene-cursor{position:absolute;left:0;top:0;width:60px;height:60px;border:1px solid #f4e4b458;border-radius:50%;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;transition:opacity .3s;z-index:4;margin:-30px 0 0 -30px}.scene-cursor span{font-family:var(--serif);font-style:italic;font-size:15px;color:#ede2ba}.hero.scene-active .scene-cursor{opacity:1}
.section-shell{padding:120px 8.2vw}.section-heading{display:grid;grid-template-columns:1fr 2.15fr;gap:30px;align-items:start;margin-bottom:56px}.section-index{color:var(--muted);padding-top:12px;font-size:9px;letter-spacing:1.4px}h2{font-family:var(--serif);font-size:clamp(48px,4.5vw,80px);line-height:1.06;letter-spacing:-.8px}h2 em{color:var(--green)}.section-intro{font-size:13px;color:var(--muted);margin-top:20px;line-height:1.8}.project-list{border-top:1px solid var(--line)}.project{border-bottom:1px solid var(--line)}.project summary{list-style:none;display:flex;align-items:center;gap:24px;padding:32px 0;transition:color .2s}.project summary::-webkit-details-marker{display:none}.project-number{font-family:var(--mono);font-size:10px;color:#7d8672;width:calc(31.75% - 24px);align-self:center;flex-shrink:0}.project-title h3{font-family:var(--serif);font-size:40px;line-height:1.2}.project-title>span{display:block;font-size:11px;margin-top:7px;color:var(--muted)}.project-tag{margin-left:auto;font-family:var(--mono);font-size:8px;letter-spacing:1px;color:#9ea58e;white-space:nowrap}.project-plus{font-size:26px;font-weight:400;margin-left:20px;color:var(--gold);transition:transform .3s}.project[open] .project-plus{transform:rotate(45deg)}.project summary:hover{color:var(--gold)}.project-body{margin-left:31.75%;display:flex;gap:50px;align-items:flex-start;padding:0 0 38px;animation:appear .3s ease}.project-body>p{max-width:410px;font-size:13px;line-height:1.9;color:#b9bfaf}.project-stats{display:flex;gap:30px;margin-left:auto}.project-stats>div{display:flex;flex-direction:column;gap:8px}.project-stats strong{font-family:var(--serif);font-size:40px;font-weight:400;color:var(--paper);white-space:nowrap;line-height:1}.project-stats strong span{color:var(--gold)}.project-stats>div>span{font-size:10px;color:var(--muted)}.project-body .text-link{margin-left:auto;white-space:nowrap;margin-top:7px;font-size:11px}.yc-label{font-family:var(--mono);font-size:10px;vertical-align:middle;color:var(--muted);margin-left:10px}.text-link{display:inline-flex;gap:25px;align-items:center;padding:0 0 8px;border-bottom:1px solid #aeb79a66;font-size:13px;transition:color .2s}.text-link:hover{color:var(--gold)}.text-link>span{color:var(--gold)}
.about-section{background:#1c2319;display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;position:relative;overflow:hidden}.about-section:before{content:'';position:absolute;bottom:-260px;left:-190px;width:650px;height:650px;border:1px solid #bfcca20d;border-radius:50%;box-shadow:0 0 0 70px #bfcca205,0 0 0 140px #bfcca203;pointer-events:none}.about-heading h2{margin-top:36px;font-size:clamp(50px,4.6vw,80px);line-height:1.12}.about-content{display:flex;gap:35px;position:relative;padding-top:62px}.leaf-illustration{color:var(--gold);font-size:46px;line-height:1.1;flex-shrink:0}.about-content p{font-size:14px;line-height:1.9;color:#c7cbbb}.about-content p+p{margin-top:20px}.about-content .about-footnote{font-size:10px;color:var(--muted);margin-top:32px}.about-footnote span{margin-left:15px}.interests{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 0;padding:0}.interests li{font-size:10px;padding:7px 11px;border:1px solid #7a866444;border-radius:2px;color:#c0c7ad}.contact-section{padding-top:105px;padding-bottom:28px}.contact-main{display:flex;justify-content:space-between;align-items:center;margin:30px 0 42px}.contact-main h2{font-size:clamp(66px,7vw,115px);line-height:1.04}.contact-main h2 em{color:var(--gold)}.contact-arrow{font-size:90px;font-weight:400;border:1px solid var(--line);width:145px;height:145px;display:flex;align-items:center;justify-content:center;border-radius:50%;line-height:1;color:var(--gold);transition:background .3s,transform .3s}.contact-arrow:hover{background:#20281b;transform:rotate(8deg)}.contact-links{display:flex;gap:40px;align-items:center}.footer-bottom{border-top:1px solid var(--line);padding-top:25px;margin-top:95px;display:flex;justify-content:space-between;gap:25px;color:var(--muted);font-size:9px}.footer-bottom a{color:#c4cbb7}.footer-bottom a span{margin-left:12px}@keyframes appear{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1700px){.hero-content{top:26%}.hero-intro{font-size:17px}.hero .eyebrow{font-size:11px}.marker-label{font-size:13px}}
@media(max-width:1100px){.hero{min-height:720px}.hero-content{left:7%;top:27%}h1{font-size:116px}.marker-work{left:72%;top:43%}.marker-about{left:78%;top:66%}.section-shell{padding:90px 7%}.section-heading{grid-template-columns:1fr 2.5fr}.project-number{width:40px}.project-body{margin-left:64px;gap:35px}.project-tag{font-size:7px}.project-title h3{font-size:35px}.about-section{gap:45px}.about-content{padding-top:55px;gap:20px}.leaf-illustration{font-size:30px}.contact-section{padding-bottom:25px}.footer-bottom{margin-top:65px}}
@media(max-width:760px){html{scroll-padding-top:28px}.header{height:82px;padding:0 7%;gap:20px}.wordmark{font-size:40px}.wordmark span{font-size:15px}.header nav{gap:22px}.header nav a{font-size:11px}.contact-nav span{margin-left:5px}.motion-toggle{padding-left:15px}.motion-label{display:none}.hero{min-height:780px;height:100svh;max-height:1100px}.hero-content{top:21%;left:7%}.hero .eyebrow{font-size:8px;letter-spacing:1.4px}.hero .tiny-star{font-size:17px}h1{font-size:112px;letter-spacing:-2px;margin-top:28px}.hero-intro{font-size:12px;line-height:1.85}.explore-link{font-size:11px;margin-top:24px}.marker-work{left:65%;top:66%;padding:14px 0}.marker-about{left:55%;top:77%;padding:14px 0}.marker-label{font-size:10px;background:#172210c4}.marker-label small{font-size:7px;margin-right:8px}.marker-label>span{margin-left:8px}.hero-bottom{left:7%;right:7%;bottom:25px;align-items:end}.scene-caption{display:none}.water-hint{font-size:16px;gap:8px}.water-hint svg{width:22px}.scroll-cue{font-size:7px;letter-spacing:1px;gap:10px}.scene-cursor{display:none}.section-shell{padding:70px 7%}.section-heading{display:block;margin-bottom:32px}.section-index{font-size:8px;padding-top:0}.section-heading h2{margin-top:25px;font-size:52px}.section-intro{font-size:12px;max-width:300px;margin-top:16px}.project summary{gap:15px;padding:28px 0}.project-number{width:18px;font-size:9px}.project-title h3{font-size:34px}.project-title>span{font-size:9px;line-height:1.8;max-width:220px}.project-tag{display:none}.project-plus{margin-left:auto;font-size:24px}.project-body{margin-left:33px;display:block;padding-bottom:30px}.project-body>p{font-size:12px;line-height:1.9}.project-stats{margin-top:24px;gap:38px}.project-stats strong{font-size:38px}.project-body .text-link{margin-top:20px}.about-section{display:block}.about-heading h2{font-size:55px;margin-top:26px}.about-content{padding-top:35px;gap:20px}.about-content p{font-size:13px}.leaf-illustration{font-size:28px}.about-content .about-footnote{font-size:10px}.contact-section{padding-bottom:24px}.contact-main{gap:20px;margin:27px 0 35px}.contact-main h2{font-size:57px}.contact-arrow{font-size:45px;width:70px;height:70px;flex-shrink:0}.contact-links{flex-wrap:wrap;gap:25px}.contact-links .text-link{font-size:11px;gap:15px}.footer-bottom{margin-top:55px;display:flex;flex-wrap:wrap;gap:18px;font-size:8px}.footer-bottom>span:nth-child(2){display:none}.footer-bottom>a{margin-left:auto}}
@media(max-width:370px){.header nav{gap:14px}.header{gap:14px}h1{font-size:100px}.contact-main h2{font-size:49px}.contact-arrow{width:55px;height:55px;font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.scene-cursor{display:none}}

/* Spatial scan art direction: quiet ink, sage, ochre; the scan supplies the texture. */
:root{--bg:#252d2a;--paper:#f1eee2;--muted:#b0b9ad;--line:#49534a;--gold:#d7c391;--green:#c4cda7}
.hero{background:#252d2a}.header{background:transparent;border-bottom:0}
.forest-fallback{background:#252d2a;filter:none}

.hero-content{left:6.5vw;top:31%}h1{font-size:clamp(84px,8vw,136px);margin-top:24px}h1 em{color:#e3dbc2}.hero .eyebrow{font-size:8px;letter-spacing:1.6px}.hero-intro{font-size:13px}
.marker-dot{box-shadow:0 0 0 4px #e6dfbd18;background:#e6dfbd;width:5px;height:5px}
.marker-label{background:#25312b77;border:1px solid #eee8ce33;backdrop-filter:blur(6px)}
.marker-work{left:68%;top:53%}.marker-about{left:80%;top:74%}
.water-hint{font-family:var(--mono);font-style:normal;font-size:9px;letter-spacing:.2px}.water-hint svg{display:none}
.scene-cursor{display:none!important}.hero.dragging{cursor:grabbing}.hero.dragging .hero-content{user-select:none}
.about-section{background:#2d3830}.contact-arrow:hover{background:#39463a}
@media(max-width:760px){.hero-content{top:23%;left:7%}h1{font-size:98px}.hero-intro{font-size:12px}.marker-work{left:63%;top:68%}.marker-about{left:58%;top:79%}.water-hint{font-size:8px} }

/* One continuous full-screen field; editorial content will be layered later. */
.forest-journey.is-spatial{height:430svh;position:relative}
.is-spatial .hero{position:fixed;inset:0;height:100vh;height:100dvh;min-height:0;max-height:none}
.gradient-anchor{position:absolute;left:0;width:1px;height:1px;pointer-events:none}
.is-spatial .hero-content,.is-spatial .forest-marker,.is-spatial .hero-bottom{opacity:var(--forest-copy,1)}
.is-spatial .hero-content{transform:translateY(calc(var(--scroll-phase,0)*-35px))}
.is-spatial .hero-content.is-away,.is-spatial .forest-marker.is-away,.is-spatial .hero-bottom.is-away{visibility:hidden}

/* Reversible ivory trial: set <html data-theme="dark"> to restore the dark theme. */
html[data-theme="ivory"]{--bg:#f5f1e7;--paper:#233d30;--muted:#536653;--line:#c5cbbd;--gold:#806022;--green:#385b3d;color-scheme:light}
html[data-theme="ivory"] .hero,html[data-theme="ivory"] .forest-fallback{background:var(--bg)}
html[data-theme="ivory"] h1{text-shadow:none}
html[data-theme="ivory"] h1 em{color:#36553b}
html[data-theme="ivory"] .hero .eyebrow,html[data-theme="ivory"] .hero-intro{color:#344d3b}
html[data-theme="ivory"] .motion-toggle{color:#344d3b;border-left-color:#344d3b33}
html[data-theme="ivory"] .explore-link{border-bottom-color:#344d3b66}
html[data-theme="ivory"] .hero-bottom,html[data-theme="ivory"] .water-hint{color:#344d3b}
html[data-theme="ivory"] .status-dot{background:#527048;box-shadow:none}
html[data-theme="ivory"] .marker-label{background:#f5f1e7cf;color:#233d30;border-color:#385b3d40}
html[data-theme="ivory"] .marker-label small,html[data-theme="ivory"] .marker-label>span{color:#806022}
html[data-theme="ivory"] .marker-dot{background:#806022;box-shadow:0 0 0 4px #8060221a}
html[data-theme="ivory"] .forest-marker:hover .marker-label{background:#f5f1e7f2}
html[data-theme="ivory"] .forest-marker:hover .marker-dot{box-shadow:0 0 0 8px #80602222}

/* The forest unfolds into a persistent, navigable branching network. */
.network-ui{position:absolute;inset:0;opacity:0;z-index:5;pointer-events:none;color:#e9e6d9}
.network-heading{position:absolute;left:6.5%;top:7%}.network-heading .eyebrow{color:#b7bea9;font-size:8px}.network-heading h2{font-size:38px;margin-top:12px;letter-spacing:-.4px}
.network-node{position:absolute;transform:translate(-50%,-10px);padding:0 15px 12px;display:flex;flex-direction:column;align-items:center;min-width:150px;pointer-events:auto;text-align:center;color:#e9e6d9}
.network-ui[inert] .network-node,.network-ui[inert] button{pointer-events:none}
.node-core{display:block;width:9px;height:9px;border-radius:50%;background:#edce88;box-shadow:0 0 0 5px #d9b77312,0 0 18px 4px #e8c47a70;transition:box-shadow .5s,transform .5s;margin-bottom:17px}
.network-node:nth-of-type(2) .node-core,.network-node:nth-of-type(3) .node-core{background:#b5d3a0;box-shadow:0 0 0 5px #a2ce8a12,0 0 18px 4px #86c59d65}
.node-name{font-family:var(--serif);font-size:26px;line-height:1.2;text-shadow:0 2px 12px #07100b}
.node-subtitle{font-size:10px;color:#b3bca8;margin-top:5px;text-shadow:0 1px 8px #07100b}
.node-hint{font-size:9px;margin-top:10px;opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s;color:#e0ca94}
.network-node:hover .node-hint,.network-node:focus-visible .node-hint{opacity:1;transform:none}
.network-node:hover .node-core,.network-node:focus-visible .node-core{transform:scale(1.35);box-shadow:0 0 0 8px #d9b77318,0 0 26px 8px #e8c47a70}
.network-node.is-current .node-subtitle{color:#e1d2a9}
.network-footer{position:absolute;left:4.5%;right:4.5%;bottom:28px;display:flex;justify-content:space-between;align-items:center;gap:15px;color:#aab8a2;font-size:10px}.network-footer button{pointer-events:auto;padding:10px 0;font-size:10px}.network-footer>span{font-family:var(--mono);font-size:8px;letter-spacing:1.5px}
.network-panel{position:fixed;inset:16px 16px 16px auto;width:min(480px,calc(100vw - 32px));height:calc(100svh - 32px);max-height:none;max-width:none;margin:0;border:1px solid #b9c5a733;border-radius:3px;padding:80px 40px 40px;background:#15231ff5;color:#e9e6d9;box-shadow:-20px 0 100px #0003;overflow-y:auto;overscroll-behavior:contain}
.network-panel::backdrop{background:#07110b33;backdrop-filter:blur(1px)}
.panel-close{position:absolute;top:20px;right:25px;display:flex;align-items:center;gap:20px;font-size:11px;padding:8px}.panel-close span{font-size:25px;font-weight:400;color:#c4cda7}
.panel-content>.eyebrow{color:#c6b886;font-size:8px}.panel-content h2{font-size:56px;margin:22px 0 32px;line-height:1.04}.panel-content p{font-size:13px;line-height:1.9;color:#c8d0bd;margin:18px 0}.panel-content h3{font-family:var(--serif);font-size:30px}.network-project{border-top:1px solid #b9c5a729;padding:26px 0 12px}.network-project small{display:block;font-family:var(--mono);font-size:8px;letter-spacing:.8px;color:#acb59f;margin-top:8px}.network-project a,.panel-link{font-size:12px;color:#e2ca92;border-bottom:1px solid #e2ca9244;padding-bottom:8px;display:inline-block}.panel-link{display:table;margin:25px 0}.panel-interests{font-size:11px;line-height:1.8;color:#c8ba8c;margin-top:28px}
@media(max-width:760px){.network-heading{left:7%;top:6%}.network-heading h2{font-size:30px}.network-heading .eyebrow{font-size:7px;letter-spacing:1.2px}.network-node{min-width:132px;padding-left:8px;padding-right:8px}.node-name{font-size:24px}.node-subtitle{font-size:9px}.node-hint{display:none}.network-footer{left:7%;right:7%;bottom:16px}.network-footer>span{display:none}.network-panel{padding:75px 25px 30px;inset:8px 8px 8px auto;width:calc(100vw - 16px);height:calc(100svh - 16px)}.panel-content h2{font-size:48px}}

/* Botanical inspection windows: HTML boundaries match shader color masks. */
.network-heading{left:3.5%;top:4.5%;display:flex;align-items:center;gap:28px}.inspection-wordmark{font-family:var(--serif);font-size:28px;line-height:1}.network-heading .eyebrow{font-size:9px;letter-spacing:1.5px;border-left:1px solid #9baa9877;padding-left:26px;color:#d8dfcc}
.network-node.inspection-window{--accent:#db6d2f;transform:translate(-50%,-50%);padding:0;min-width:0;display:block;color:#e7e8d4;text-align:left;overflow:visible}
.inspection-window[data-node="1"]{--accent:#c6a64d}.inspection-window[data-node="2"]{--accent:#6eaa7d}.inspection-window[data-node="3"]{--accent:#b88a65}
.inspection-frame{position:absolute;inset:0;border:1px solid color-mix(in srgb,var(--accent) 72%,transparent);transition:border-color .35s,box-shadow .35s}
.inspection-frame:before,.inspection-frame:after{content:'';position:absolute;inset:-6px;pointer-events:none;background:linear-gradient(var(--accent),var(--accent)) left top/10px 1px no-repeat,linear-gradient(var(--accent),var(--accent)) right top/10px 1px no-repeat,linear-gradient(var(--accent),var(--accent)) left bottom/10px 1px no-repeat,linear-gradient(var(--accent),var(--accent)) right bottom/10px 1px no-repeat;opacity:.7}
.inspection-frame:after{background:linear-gradient(var(--accent),var(--accent)) left top/1px 10px no-repeat,linear-gradient(var(--accent),var(--accent)) right top/1px 10px no-repeat,linear-gradient(var(--accent),var(--accent)) left bottom/1px 10px no-repeat,linear-gradient(var(--accent),var(--accent)) right bottom/1px 10px no-repeat}
.inspection-caption{position:absolute;top:calc(100% + 15px);left:0;display:flex;flex-direction:column;gap:6px;white-space:nowrap}
.inspection-window .node-name{font-family:var(--mono);font-size:10px;letter-spacing:1.3px;line-height:1.3;text-shadow:none}.inspection-window .node-subtitle{font-family:var(--mono);font-size:9px;letter-spacing:.4px;line-height:1.4;color:#b7bfad;margin:0;text-shadow:none}
.inspection-window:hover .inspection-frame,.inspection-window:focus-visible .inspection-frame{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent)}
.inspection-window:hover .node-name,.inspection-window:focus-visible .node-name{color:var(--accent)}
.inspection-window .inspection-leader{position:absolute;height:1px;background:#9baa9844;top:42%;right:100%;width:clamp(30px,10vw,180px);pointer-events:none}
.inspection-window[data-node="1"] .inspection-leader{top:auto;bottom:100%;right:58%;width:1px;height:60px}.inspection-window[data-node="2"] .inspection-leader{right:auto;left:100%;top:52%;width:18vw}.inspection-window[data-node="3"] .inspection-leader{top:100%;right:85%;width:1px;height:45px}
.inspection-axis{position:absolute;left:3.5%;bottom:10%;width:50px;height:50px;fill:#a9b6a3;pointer-events:none}.inspection-axis path{stroke:#a9b6a3;stroke-width:.7;fill:none}.inspection-axis text{font-family:var(--mono);font-size:8px}
@media(max-width:760px){.network-heading{left:7%;top:5%;gap:16px}.network-heading .eyebrow{font-size:7px;padding-left:16px;letter-spacing:1px}.inspection-wordmark{font-size:25px}.inspection-caption{top:calc(100% + 12px);gap:4px}.inspection-window .node-name{font-size:9px;letter-spacing:.8px}.inspection-window .node-subtitle{font-size:8px;letter-spacing:0}.inspection-axis{display:none}.inspection-window .inspection-leader{width:25px}.inspection-window[data-node="2"] .inspection-leader{width:12vw}.inspection-window[data-node="1"] .inspection-leader{height:30px}.network-footer{font-size:9px}}

/* Forest composition trial: richer dark green, no vignette or image overlay. */
html:not([data-theme="ivory"]) .hero,html:not([data-theme="ivory"]) .forest-fallback{background:#16221c}

/* One delicate scroll rail with two clickable scene endpoints. */
html,body{scrollbar-width:none}
html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0}
.scene-nav{--scene-progress:0;--rail-rgb:221,217,188;position:fixed;right:max(10px,env(safe-area-inset-right));top:50%;transform:translateY(-50%);z-index:25;width:44px;height:144px}
.scene-track{position:absolute;top:22px;bottom:22px;left:calc(50% - .5px);width:1px;background:rgba(var(--rail-rgb),.19);pointer-events:none}
.scene-progress{position:absolute;inset:0;transform:scaleY(var(--scene-progress));transform-origin:top;transition:transform .12s linear;background:linear-gradient(to bottom,rgba(var(--rail-rgb),.48),rgba(var(--rail-rgb),.92));box-shadow:0 0 5px rgba(var(--rail-rgb),.18)}
.scene-step{position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;touch-action:manipulation;color:rgba(var(--rail-rgb),.88)}
.scene-step[data-scene="1"]{top:auto;bottom:0}
.scene-endpoint{display:block;position:relative;width:5px;height:5px;border-radius:50%;background:radial-gradient(circle at 32% 25%,#e9e7d5 0%,#b4b8a2 40%,#626f5f 100%);opacity:.48;box-shadow:0 0 0 1px rgba(var(--rail-rgb),.08);transition:opacity .3s,box-shadow .3s,transform .3s}
.scene-step[aria-current] .scene-endpoint{opacity:1;box-shadow:0 0 6px rgba(var(--rail-rgb),.30),0 0 0 2px rgba(var(--rail-rgb),.045)}
.scene-step:hover .scene-endpoint,.scene-step:focus-visible .scene-endpoint{opacity:1;transform:scale(1.15);box-shadow:0 0 8px rgba(var(--rail-rgb),.4)}
.scene-step-label{position:absolute;right:43px;white-space:nowrap;font-family:var(--mono);font-size:8px;letter-spacing:.6px;opacity:0;transform:translateX(3px);transition:opacity .2s,transform .2s;pointer-events:none}
.scene-step:hover .scene-step-label,.scene-step:focus-visible .scene-step-label{opacity:1;transform:none}
.scene-step:focus-visible{outline:1px solid rgba(var(--rail-rgb),.35);outline-offset:-5px;border-radius:50%}
html[data-theme="ivory"] .scene-nav{--rail-rgb:52,77,59}
@media(max-width:760px){.scene-nav{right:max(0px,env(safe-area-inset-right));height:126px}}

/* A quiet, text-free forest while the introductory copy is being decided. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.header{justify-content:flex-end;pointer-events:none}
.header .motion-toggle{pointer-events:auto;border:0;padding:12px;opacity:.45}
.header .motion-toggle:hover,.header .motion-toggle:focus-visible{opacity:.85}
.forest-axis{position:absolute;left:max(22px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));width:100px;height:100px;padding:0;z-index:6;color:#d1d3c3;touch-action:none;user-select:none;cursor:grab;opacity:calc(var(--forest-copy,1)*.62);transition:opacity .2s}
.forest-axis:hover,.forest-axis:focus-visible,.forest-axis.is-dragging{opacity:var(--forest-copy,1)}
.forest-axis.is-dragging{cursor:grabbing}
.forest-axis.is-away{visibility:hidden;pointer-events:none}
.forest-axis svg{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}
.forest-axis path{fill:none;stroke:currentColor;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round}
.forest-axis,.forest-axis:focus,.forest-axis:focus-visible,.forest-axis:active{outline:none;box-shadow:none;border:0}
@media(max-width:760px){.forest-axis{left:12px;bottom:max(16px,env(safe-area-inset-bottom));width:88px;height:88px}}

/* Both scenes share the enlarged, restrained drafting-axis design. */
.forest-axis,.inspection-axis{left:3.5%;bottom:10%;width:104px;height:104px;color:#a9b6a3;fill:currentColor}
.forest-axis{opacity:calc(var(--forest-copy,1)*.85)}
.forest-axis path,.inspection-axis path{stroke:currentColor;stroke-width:.7;fill:none;stroke-linecap:butt;stroke-linejoin:miter}
.forest-axis text,.inspection-axis text{font-family:var(--mono);font-size:8px;fill:currentColor}
.forest-axis circle,.inspection-axis circle{fill:currentColor}
@media(max-width:760px){.forest-axis,.inspection-axis{display:block;left:7%;bottom:10%;width:80px;height:80px}}

/* A small signature in the forest's upper-right clearing. */
.hero-identity{position:absolute;top:11%;right:8%;z-index:3;text-align:right;pointer-events:none;opacity:var(--forest-copy,1)}
.hero-identity h1{font-family:var(--serif);font-size:clamp(34px,3.45vw,54px);line-height:1.12;letter-spacing:-.8px;margin:0;color:#e8e4ce;text-shadow:none;white-space:nowrap}
.hero-identity p{font-family:var(--mono);font-size:10px;line-height:1.6;letter-spacing:.3px;color:#c6cbb7;margin-top:12px}
.hero-identity.is-away{visibility:hidden}
@media(max-width:760px){.hero-identity{top:12%;right:7%}.hero-identity h1{font-size:34px;letter-spacing:-.5px}.hero-identity p{font-size:9px;margin-top:10px}}

/* Keep the scene covering the viewport at both ends, including mobile chrome changes. */
html,body{overscroll-behavior:none;background:var(--scene-ground,#16221c)}
html{overflow-x:clip}
html[data-theme="ivory"]{--scene-ground:#f5f1e7}
