/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(assets/fonts/plus-jakarta-sans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(assets/fonts/plus-jakarta-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{color-scheme:dark;--green:#40ee8c;--muted:#929994}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#000;color:#f4f5f2;font-family:"Plus Jakarta Sans",Arial,sans-serif;font-weight:300}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:7px}header{height:108px;padding:0 5.5%;display:flex;align-items:center;gap:50px;position:relative;z-index:5}.brand{display:flex;align-items:center}.brand img{display:block;height:44px;width:auto}nav{display:flex;gap:34px;margin-left:auto;font-size:12px}nav a{color:#a7aca8;transition:color .2s}nav a:hover{color:var(--green)}.nav-cta{font-size:12px;border:1px solid #444b46;border-radius:30px;padding:14px 20px}.nav-cta span{margin-left:24px}.menu{display:none}.hero{position:relative;min-height:730px;height:calc(100svh - 108px);max-height:1000px;isolation:isolate}.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.hero-copy{padding:67px 0 100px 7%;pointer-events:none}.hero-copy a{pointer-events:auto}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:500;line-height:1.8}.eyebrow i{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:9px;box-shadow:0 0 16px #40ee8c}h1{font-size:clamp(64px,7.1vw,110px);letter-spacing:-.065em;line-height:1.015;font-weight:400;margin:32px 0 26px}h1 em{color:var(--green);font-style:normal}.intro{font-size:16px;line-height:1.8;color:#aeb5af}.actions{display:flex;align-items:center;gap:29px;margin-top:32px}.button{background:var(--green);color:#052712;display:inline-flex;align-items:center;justify-content:center;gap:35px;padding:18px 24px;border:0;border-radius:30px;font-size:12px;font-weight:500;transition:background .2s,transform .2s}.button:hover{background:#a4ffc5;transform:translateY(-3px)}.text-link{font-size:12px}.text-link span{margin-left:15px}.art-label{position:absolute;right:9%;bottom:130px;font-size:8px;letter-spacing:1.7px;color:#929e95}.cross{color:var(--green);font-size:20px;vertical-align:middle;margin-right:10px}.coordinates{display:block;text-align:right;font-size:7px;margin-top:8px;color:#5e6961}.hero-bottom{position:absolute;bottom:28px;left:7%;right:6%;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.3px;color:#858e88}.hero-bottom a span{margin-left:18px}.hero-bottom button{background:none;border:0;font-size:9px;color:#858e88}.section{padding:120px 7%}.section-meta{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.6px;color:#969f98;margin-bottom:75px}.section-meta span:first-child{color:var(--green)}h2{font-size:clamp(46px,6.4vw,94px);line-height:1.08;letter-spacing:-.055em;font-weight:400;margin:0}h2 span{color:#7d8981}.vision h2 span{color:#b7c3b9}.vision-bottom{display:grid;grid-template-columns:1fr 1.1fr 1fr;align-items:start;gap:45px;margin-top:65px}.vision-bottom p{font-size:17px;line-height:1.7;color:#a4afa7;margin:0}.vision-bottom p:first-of-type{color:#f0f4ef;font-size:22px}.asterisk{color:var(--green);font-size:85px;line-height:1}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px}.section-heading p{font-size:14px;line-height:1.8;color:#9ba59e}.module-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:65px}.module-list{padding-top:25px}.module-list button{display:flex;align-items:center;gap:22px;width:100%;padding:28px 0;background:none;border:0;border-bottom:1px solid #222a24;text-align:left;font-size:30px;letter-spacing:-1px;color:#7d8981}.module-list button small{font-size:10px;letter-spacing:0}.module-list button span{margin-left:auto;font-size:22px}.module-list button[aria-selected=true]{color:var(--green)}.orbit{height:270px;position:relative;display:grid;place-items:center}.orbit img{width:95px;height:auto;z-index:1}.orbit-ring{position:absolute;border:1px solid #244330;border-radius:50%;width:240px;height:240px;transform:rotate(-30deg) scaleY(.65)}.r2{transform:rotate(30deg) scaleY(.65);width:290px;height:290px}.r3{transform:rotate(90deg) scaleY(.65)}.orbit-node{position:absolute;font-size:9px;letter-spacing:.5px;color:#c1d4c6;background:#000;padding:8px;z-index:2}.n1{left:10%;top:60px}.n2{right:8%;top:115px}.n3{bottom:25px;left:30%}.module-copy{max-width:410px;margin:auto}.module-copy .eyebrow{color:var(--green);font-size:8px}h3{font-weight:400;font-size:23px;letter-spacing:-.7px;margin:15px 0}.module-copy p{font-size:14px;line-height:1.8;color:#9da9a0}.people-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%}.people h2{font-size:clamp(44px,5.5vw,78px);margin-top:25px}.people-copy{font-size:15px;line-height:1.8;color:#a6b0a8;max-width:390px;margin-top:28px}.mascot-scene{position:relative;min-width:0;display:grid;place-items:center;min-height:460px}.mascot-scene img{position:relative;width:95%;height:auto;max-height:450px;object-fit:contain}.mascot-halo{position:absolute;width:85%;aspect-ratio:1;border-radius:50%;background:radial-gradient(ellipse,#12352066,transparent 65%);border:1px solid #173321}.mascot-caption{font-size:8px;letter-spacing:2px;margin-top:30px;color:#94a397}.sectors{display:flex;flex-wrap:wrap;gap:14px 24px;margin-top:30px;font-size:10px;color:#c0ccc3}.closing{text-align:center;padding-top:150px;padding-bottom:150px;background:radial-gradient(ellipse at bottom,#09231488,transparent 60%)}.closing .eyebrow{color:var(--green)}.closing h2{margin:35px 0 40px}.closing h2 span{color:var(--green)}.closing-note{font-size:11px;color:#9ba69e;margin-top:24px}footer{margin:0 7%;padding:35px 0;display:flex;align-items:center;gap:35px;flex-wrap:wrap;font-size:10px;color:#99a39b}footer .brand{color:white;margin-right:auto}footer small{font-size:9px}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}.skip{position:fixed;top:-60px;background:var(--green);color:black;padding:15px;z-index:99}.skip:focus{top:0}dialog{background:#07100a;border:1px solid #304c38;border-radius:20px;color:white;padding:55px;max-width:540px;width:90%}dialog::backdrop{background:#000c;backdrop-filter:blur(10px)}dialog h2{font-size:45px}dialog p:not(.eyebrow){line-height:1.8;font-size:15px;color:#a9b7ad}.close{position:absolute;right:18px;top:14px;background:none;border:0;font-size:28px}.close-action{margin-top:20px}
@media(min-width:1700px){header,main,footer{max-width:1800px;margin-inline:auto}}@media(max-width:850px){header{height:85px;padding:0 6%;gap:20px}.brand img{height:38px}nav{gap:18px}.hero{height:820px;min-height:0}.hero-copy{padding-top:40px}h1{font-size:75px}.art-label{right:7%;bottom:100px}.hero-bottom>span{display:none}.section{padding:85px 7%}.section-meta{margin-bottom:50px}.section-heading{display:block}.module-layout{gap:5%}.vision-bottom{grid-template-columns:60px 1fr;gap:30px}.vision-bottom p:last-child{grid-column:2}.people-grid{gap:3%}.mascot-scene{min-height:300px}.module-list button{font-size:24px}}
@media(max-width:600px){header{gap:14px;height:80px}.brand img{height:32px}.nav-cta{margin-left:auto;font-size:10px;padding:10px 13px}.nav-cta span{margin-left:8px}.menu{display:block;background:none;border:0;font-size:19px;order:3}nav{display:none;position:absolute;top:72px;left:5%;right:5%;background:#0a150e;padding:25px;border-radius:16px;flex-direction:column}nav.open{display:flex}.hero{height:920px}.hero-copy{padding:32px 7%}.eyebrow{font-size:8px;letter-spacing:1.6px}h1{font-size:clamp(54px,12vw,72px);margin:26px 0 22px}.intro{font-size:14px}.actions{gap:20px;margin-top:25px}.button{font-size:11px;padding:16px 20px;gap:20px}.text-link{font-size:10px}.art-label{bottom:100px;font-size:7px}.hero-bottom{font-size:8px;letter-spacing:.6px;bottom:25px}.hero-bottom button{font-size:8px}.section-meta{font-size:8px;gap:30px}.section-meta span:last-child{text-align:right;max-width:140px}h2{font-size:44px}.vision-bottom{grid-template-columns:35px 1fr;gap:25px}.asterisk{font-size:40px}.vision-bottom p:first-of-type{font-size:18px}.vision-bottom p{font-size:14px}.module-layout{grid-template-columns:1fr;margin-top:35px}.module-list button{padding:22px 0}.module-copy{max-width:none}.people-grid{display:flex;flex-direction:column-reverse;gap:30px}.people h2{font-size:48px}.mascot-scene{width:100%;max-width:370px}.closing{padding-block:100px}.closing h2{font-size:49px}footer{gap:25px}footer .brand{width:100%}footer>span{width:100%}dialog{padding:35px 25px}dialog h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{transition:none!important}}
/* Continuous cinematic stage */
body{background:#000}#universe{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}header,main,footer{position:relative;z-index:1}header{position:absolute;top:0;left:0;right:0}.hero{height:100svh;max-height:none;min-height:760px}.hero-copy{padding-top:190px}.hero h1{font-size:clamp(60px,6.5vw,104px)}.hero-copy>*{opacity:0;transform:translateY(30px);transition:opacity 1.2s,transform 1.2s}.entered .hero-copy>*{opacity:1;transform:none}.entered .hero-copy h1{transition-delay:.12s}.entered .hero-copy .intro{transition-delay:.24s}.entered .hero-copy .actions{transition-delay:.36s}header{opacity:0;transition:opacity 1s}.entered header{opacity:1}.hero-bottom #motion{position:fixed;bottom:22px;right:25px;z-index:10;background:#061109bb;border:1px solid #203127;padding:10px 14px;border-radius:24px;backdrop-filter:blur(10px)}.hero-bottom{padding-right:180px}.hero{isolation:auto}.art-label{bottom:130px}.story{height:380svh;position:relative}.story-sticky{position:sticky;top:0;height:100svh;overflow:hidden}.story-copy{position:absolute;top:50%;transform:translateY(-50%);width:44%;opacity:0;will-change:transform,opacity}.story-copy h2{font-size:clamp(48px,6vw,92px)}.story-copy h2 span{color:var(--green)}.story-copy>.eyebrow{color:var(--green);margin-bottom:30px}.story-copy>p:last-child{font-size:16px;color:#aebbb2;line-height:1.9;margin-top:30px}.chapter-one{right:6%}.chapter-two{width:90%;left:5%;text-align:center}.chapter-two h2{font-size:clamp(44px,6vw,90px);text-shadow:0 0 50px #000}.chapter-three{left:7%}.chapter-indicator{position:absolute;bottom:45px;left:7%;display:flex;align-items:center;gap:18px;font-size:10px;letter-spacing:2px;color:#96b09f}.chapter-indicator i{height:1px;width:80px;background:#44634e}.ecosystem{padding-top:160px;background:linear-gradient(transparent,#000b 35%,#000e)}.people{background:#000b}.closing{background:linear-gradient(#000b,transparent)}.section-meta,.section-heading,.module-layout,.people-grid{position:relative}.scroll-progress{position:fixed;left:0;top:0;height:2px;background:var(--green);z-index:30;transform-origin:left;width:100%;transform:scaleX(0)}#loader{position:fixed;inset:0;z-index:100;background:#000;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .7s,visibility .7s}#loader.done{opacity:0;visibility:hidden;pointer-events:none}.loader-symbol{color:var(--green);font-size:55px;animation:loader-turn 3s linear infinite}#loader p{font-size:clamp(25px,3vw,43px);text-align:center;line-height:1.4;letter-spacing:-1.5px;margin:35px 0}#load-status{font-size:9px;letter-spacing:2px;color:#a8b5ac}.load-track{height:1px;width:180px;background:#1d3024;margin-top:22px}.load-track i{display:block;width:100%;height:100%;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .2s}#skip-intro{background:none;border:0;font-size:11px;color:#aab8af;position:absolute;bottom:40px;padding:15px}@keyframes loader-turn{to{transform:rotate(180deg)}}.orbit{opacity:.8}.module-copy{transition:opacity .3s}.closing h2{text-shadow:0 0 60px #000}.closing{min-height:90svh;display:flex;flex-direction:column;align-items:center;justify-content:center}
@media(max-width:850px){.hero-copy{padding-top:160px}.hero{min-height:800px}.story-copy h2{font-size:55px}.story-copy>p:last-child{font-size:14px}.hero-bottom{padding-right:0}.hero-bottom>a{display:none}}
@media(max-width:600px){.hero{height:100svh;min-height:850px}.hero-copy{padding-top:118px}.hero h1{font-size:clamp(48px,11.5vw,66px)}.hero-copy .intro{font-size:13px}.art-label{bottom:85px}.hero-bottom #motion{bottom:14px;right:14px}.story{height:350svh}.story-copy{top:15%;left:7%;right:auto;width:86%;transform:none}.story-copy h2{font-size:43px;line-height:1.1}.story-copy>.eyebrow{margin-bottom:22px}.story-copy>p:last-child{font-size:12px;margin-top:22px}.chapter-two{top:32%;text-align:center;left:5%;width:90%}.chapter-two h2{font-size:38px}.chapter-indicator{bottom:30px}.ecosystem{padding-top:90px}.closing{min-height:80svh}.section-heading h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){.loader-symbol{animation:none}.hero-copy>*{transition:none}.story{height:240svh}}
header{z-index:20}
@media(max-width:600px){.hero .actions{position:relative;z-index:2}.art-label{bottom:65px}}
/* Readable supporting type, with a single uninterrupted canvas underneath. */
.ecosystem,.people,.closing{background:none}
nav,.nav-cta{font-size:14px}
.eyebrow,.section-meta,.art-label,.chapter-indicator,.mascot-caption,#load-status{font-size:12px;letter-spacing:1.4px}
.coordinates{font-size:11px;color:#92a598}
.hero-bottom,.hero-bottom button{font-size:12px;letter-spacing:.8px}
.hero-bottom #motion{font-size:12px}
.intro{font-size:18px}
.section-heading p,.module-copy p,.people-copy,.story-copy>p:last-child{font-size:17px}
.module-copy .eyebrow,.module-list button small,.orbit-node{font-size:12px}
.button,.text-link{font-size:14px}
.sectors,.closing-note,footer,footer small,#skip-intro{font-size:13px}
.closing h2{position:relative;text-shadow:0 2px 22px #000,0 0 55px #000}
.closing-note{color:#b5c4ba}
@media(max-width:850px){nav,.nav-cta{font-size:12px}.section-heading p,.module-copy p,.people-copy,.story-copy>p:last-child{font-size:16px}}
@media(max-width:600px){
 .eyebrow,.section-meta,.art-label,.chapter-indicator,.mascot-caption,#load-status{font-size:11px;letter-spacing:1px}
 .hero-copy .intro,.story-copy>p:last-child{font-size:15px}
 .coordinates{font-size:10px}
 .hero-bottom #motion{font-size:11px}
 .button,.text-link{font-size:12px}
 .actions{gap:16px;flex-wrap:wrap}
 .hero-copy{padding-top:115px}
 .art-label{right:7%;bottom:70px;max-width:86%}
 .section-meta{gap:18px;line-height:1.7}
 .section-meta span:last-child{max-width:48%}
 footer{padding-bottom:80px}
 .nav-cta{padding-inline:12px}
}
@media(min-width:601px){footer{padding-bottom:70px}}
@media(max-width:360px){.orbit-ring.r2{width:240px;height:240px}.orbit-ring{width:210px;height:210px}.module-layout>*{min-width:0}}

/* The C opens the scene; complete, crisp content follows its movement. */
.ecosystem .section-meta,.ecosystem .section-heading,.ecosystem .module-layout,.people .section-meta,.people .people-grid,.closing>.eyebrow,.closing>h2,.closing>.button,.closing>.closing-note{opacity:var(--section-build,1);transform:translateY(calc((1 - var(--section-build,1))*12px));transition:none}
@media(prefers-reduced-motion:reduce){.ecosystem,.people,.closing{--section-build:1!important}}
/* Hero signature centered below the particle artwork. */
.hero .art-label{left:50%;right:auto;bottom:76px;width:max-content;max-width:86%;transform:translateX(-50%);text-align:center}
.hero .art-label .coordinates{text-align:center}
@media(max-width:600px){.hero .art-label{bottom:70px}}
/* Keep desktop navigation beside the brand, clear of the particle artwork. */
@media(min-width:601px){
 header{gap:24px}
 header nav{margin-left:0;gap:20px}
 header .nav-cta{margin-left:0}
}
@media(min-width:601px) and (max-width:850px){
 header{gap:16px}
 header nav{gap:14px}
 header .nav-cta{padding-inline:14px}
 header .nav-cta span{margin-left:12px}
}

/* The persistent particle field draws the ecosystem atom around its logo. */
.orbit-ring{opacity:calc(1 - var(--particle-atom,0))}

/* Labels orbit with the particle clock and remain upright and readable. */
.orbit .orbit-node{left:50%;top:50%;right:auto;bottom:auto;white-space:nowrap;will-change:transform}

/* A particle halo frames the floating mascot; the closing copy sits lower. */
.mascot-halo{border-color:transparent;background:none}
.mascot-scene img{will-change:transform}
.closing{min-height:100svh;padding-top:clamp(140px,20svh,220px);padding-bottom:clamp(60px,8svh,100px)}
/* Keep the halo clear of the caption and give the character room to float. */
.mascot-scene{padding-bottom:42px}
.mascot-scene img{width:78%;max-height:380px}
.mascot-halo{top:calc(50% - 35px);transform:translateY(-50%)}
.mascot-caption{position:relative;margin-top:45px}
.closing{justify-content:flex-end;padding-top:160px;padding-bottom:138px}
@media(max-width:600px){
 .mascot-scene img{max-height:300px}
 .mascot-caption{margin-top:30px}
 .closing{padding-top:120px;padding-bottom:0}
}
.mascot-caption{transform:translateY(-28px)}
@media(max-width:600px){.mascot-caption{transform:translateY(-12px)}}

/* Move the complete closing composition down without resizing its contents. */
.closing>.eyebrow,.closing>h2,.closing>.button,.closing>.closing-note{position:relative;top:65px}

dialog .catalog-link{margin-top:20px}
