:root {
  --navy-950:#020e18;--navy-900:#061827;--navy-850:#082033;--navy-800:#0a2940;--navy-700:#0d3d5c;
  --blue:#108fc4;--cyan:#4bd4ee;--cyan-soft:#a8ecf7;--gold:#d5b45a;
  --ink:#071b2a;--body:#506474;--mist:#eef5f7;--ice:#f6fafb;--white:#fff;
  --line:rgba(7,42,65,.14);--dark-line:rgba(151,222,239,.15);
  --shell:min(1240px,calc(100% - 64px));--radius:24px;--shadow:0 32px 90px rgba(2,18,31,.18);
  --font:"Poppins","Segoe UI",Arial,sans-serif;--text-xs:.72rem;--text-sm:.86rem;--text-md:1rem;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.7;overflow-x:hidden}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit}
::selection{background:var(--cyan);color:var(--navy-950)}
:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.skip-link{position:fixed;z-index:9999;top:12px;left:12px;padding:11px 17px;background:#fff;color:var(--ink);border-radius:8px;transform:translateY(-170%);box-shadow:var(--shadow)}
.skip-link:focus{transform:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.section-shell{width:var(--shell);margin-inline:auto}
.section{padding:clamp(92px,10vw,150px) 0;position:relative}
.eyebrow{margin:0 0 24px;display:flex;align-items:center;gap:13px;color:var(--blue);font-size:.69rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.eyebrow>span{width:34px;height:1px;background:currentColor}
.eyebrow.light{color:var(--cyan)}
.eyebrow.dark{color:var(--blue)}
h1,h2,h3,p,blockquote,figure{margin-top:0}
h1,h2,h3{font-family:var(--font);font-weight:600}
.section h2{margin-bottom:0;font-size:clamp(2.55rem,4.6vw,4.75rem);line-height:1.05;letter-spacing:-.04em}
.lead{font-size:clamp(1.12rem,1.45vw,1.32rem);line-height:1.65}
.button{min-height:54px;padding:0 24px;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:22px;font-size:.84rem;font-weight:800;letter-spacing:.02em;cursor:pointer;transition:transform .25s ease,background .25s ease,box-shadow .25s ease,border-color .25s ease}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--cyan);color:var(--navy-950);box-shadow:0 14px 34px rgba(75,212,238,.15)}
.button-primary:hover{background:#78e2f4;box-shadow:0 18px 42px rgba(75,212,238,.24)}
.button-ghost{border:1px solid rgba(255,255,255,.27);background:rgba(255,255,255,.03);color:#fff}
.button-ghost:hover{border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.07)}
.button-navy{background:var(--navy-900);color:#fff}
.text-link{display:inline-flex;align-items:center;gap:14px;padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.32);font-size:.83rem;font-weight:800}
.text-link span{transition:transform .2s ease}
.text-link:hover span{transform:translateX(5px)}
.dark-link{border-color:var(--line)}

/* Header */
.site-header{position:fixed;z-index:100;inset:0 0 auto;padding:18px 0;transition:padding .3s ease,background .3s ease,box-shadow .3s ease}
.site-header.scrolled{padding:8px 0;background:rgba(255,255,255,.95);box-shadow:0 8px 38px rgba(1,20,34,.09);backdrop-filter:blur(18px)}
.nav-shell{width:var(--shell);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{width:174px;height:58px;padding:5px 9px;background:#fff;border-radius:8px;overflow:hidden;transition:height .3s ease}
.brand img{width:100%;height:100%;object-fit:contain}
.site-header.scrolled .brand{height:50px}
.primary-nav{display:flex;align-items:center;gap:clamp(17px,2vw,31px);color:rgba(255,255,255,.76);font-size:.78rem;font-weight:700}
.primary-nav a{padding:7px 0;transition:color .2s ease}
.primary-nav a:hover{color:var(--cyan)}
.primary-nav .nav-cta{padding:11px 17px;border:1px solid rgba(255,255,255,.3);border-radius:999px;color:#fff}
.site-header.scrolled .primary-nav{color:var(--ink)}
.site-header.scrolled .primary-nav .nav-cta{background:var(--navy-900);border-color:var(--navy-900);color:#fff}
.menu-toggle{display:none;width:46px;height:46px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:transparent;cursor:pointer}
.menu-toggle span:not(.sr-only){display:block;width:18px;height:2px;margin:4px auto;background:currentColor;transition:.25s ease}

/* Hero */
.hero{min-height:100svh;position:relative;display:flex;align-items:center;overflow:hidden;color:#fff;background:radial-gradient(circle at 81% 32%,#0e3f5f 0,transparent 31%),linear-gradient(118deg,#020e18 0%,#061827 47%,#092d46 100%)}
.hero-grid{position:absolute;inset:0;opacity:.28;background-image:linear-gradient(rgba(87,191,224,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(87,191,224,.11) 1px,transparent 1px);background-size:78px 78px;mask-image:linear-gradient(100deg,#000 0%,rgba(0,0,0,.45) 62%,transparent)}
.hero-current{position:absolute;border:1px solid rgba(75,212,238,.14);border-radius:50%;transform:rotate(-12deg)}
.current-one{right:-13%;top:5%;width:52vw;height:80vh}.current-two{right:4%;top:24%;width:31vw;height:43vh;border-color:rgba(213,180,90,.17)}
.hero-shell{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(450px,.96fr);gap:clamp(55px,7vw,110px);align-items:center;padding-top:130px;padding-bottom:95px}
.hero-copy{padding-top:10px}
.hero h1{max-width:720px;margin:0;font-size:clamp(3.7rem,6.2vw,6.35rem);font-weight:600;line-height:.96;letter-spacing:-.052em}
.hero h1 em{display:block;color:var(--cyan);font-family:var(--font);font-weight:400;font-style:italic}
.hero-lead{max-width:660px;margin:34px 0 0;color:rgba(255,255,255,.69);font-size:clamp(1rem,1.4vw,1.18rem)}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:36px}
.hero-labels{display:flex;flex-wrap:wrap;gap:9px;margin-top:45px}
.hero-labels span{padding:7px 12px;border:1px solid rgba(255,255,255,.13);border-radius:999px;color:rgba(255,255,255,.58);font-size:.67rem;letter-spacing:.08em;text-transform:uppercase}
.hero-visual{position:relative;min-height:620px;display:flex;align-items:center;justify-content:center}
.reactor-orbit{position:absolute;border:1px solid rgba(75,212,238,.2);border-radius:50%}
.orbit-a{width:560px;height:560px;animation:turn 32s linear infinite}.orbit-a:before,.orbit-b:before{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 18px rgba(75,212,238,.6)}
.orbit-a:before{top:46px;left:92px}.orbit-b{width:430px;height:300px;transform:rotate(62deg);border-color:rgba(213,180,90,.24);animation:counterturn 25s linear infinite}.orbit-b:before{right:52px;bottom:36px;background:var(--gold)}
.reactor-card{position:relative;width:min(100%,470px);padding:20px;border:1px solid rgba(255,255,255,.17);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.025));box-shadow:0 45px 110px rgba(0,0,0,.35);backdrop-filter:blur(13px)}
.reactor-card:after{content:"";position:absolute;inset:7px;border:1px solid rgba(255,255,255,.05);border-radius:22px;pointer-events:none}
.reactor-head{position:relative;z-index:1;display:flex;justify-content:space-between;padding:2px 3px 15px;color:rgba(255,255,255,.53);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase}
.reactor-head b{color:var(--gold)}
.reactor-scene{height:345px;position:relative;overflow:hidden;border:1px solid rgba(114,210,235,.14);border-radius:16px;background:radial-gradient(circle at 50% 50%,rgba(13,93,128,.34),transparent 41%),linear-gradient(rgba(75,212,238,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(75,212,238,.07) 1px,transparent 1px);background-size:auto,29px 29px,29px 29px}
.reactor-core{position:absolute;left:50%;top:50%;width:145px;height:170px;transform:translate(-50%,-44%);border:1px solid rgba(75,212,238,.7);border-radius:36% 36% 45% 45%;background:linear-gradient(145deg,rgba(75,212,238,.18),rgba(5,34,54,.72));box-shadow:inset 0 0 30px rgba(75,212,238,.09),0 0 50px rgba(75,212,238,.12)}
.core-ring{position:absolute;left:12%;right:12%;height:18px;border:1px solid rgba(255,255,255,.27);border-radius:50%}.core-ring:nth-child(1){top:25%}.core-ring:nth-child(2){top:47%}.core-ring:nth-child(3){top:69%}
.core-drop{position:absolute;left:50%;top:50%;width:31px;height:42px;transform:translate(-50%,-50%) rotate(45deg);border-radius:60% 45% 55% 45%;background:linear-gradient(145deg,#b8f4fc,#2dbbdf);box-shadow:0 0 25px rgba(75,212,238,.45)}
.feed-line,.output-line{position:absolute;height:2px;background:linear-gradient(90deg,transparent,var(--cyan));top:53%;left:2%;width:34%}
.feed-line:before{content:"FEED";position:absolute;bottom:9px;left:18px;color:rgba(255,255,255,.47);font-size:.56rem;letter-spacing:.13em}
.feed-line:after,.output-line:after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid var(--cyan);border-right:1px solid var(--cyan);transform:rotate(45deg)}
.output-line{left:auto;right:2%;width:34%;background:linear-gradient(90deg,var(--cyan),transparent)}
.output-water{top:43%;transform:rotate(-9deg)}.output-mineral{top:64%;transform:rotate(10deg);background:linear-gradient(90deg,var(--gold),transparent)}
.solar-array{position:absolute;top:23px;left:50%;display:flex;gap:5px;transform:translateX(-50%) skewX(-18deg)}
.solar-array i{width:22px;height:43px;border:1px solid rgba(213,180,90,.7);background:rgba(213,180,90,.08)}
.particle{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--cyan);opacity:.7;animation:float 5s ease-in-out infinite}
.p1{top:43%;left:16%}.p2{top:61%;left:24%;animation-delay:-2s;background:#fff}.p3{top:35%;right:18%;animation-delay:-3s}.p4{top:69%;right:22%;background:var(--gold);animation-delay:-1s}
.reactor-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:16px}
.reactor-flow>div{display:flex;gap:9px;align-items:flex-start;padding:8px}
.reactor-flow i{font-style:normal;color:var(--cyan);font-size:.63rem}.reactor-flow span{font-size:.67rem;font-weight:700;line-height:1.3}.reactor-flow small{color:rgba(255,255,255,.43);font-weight:400}
.floating-note{position:absolute;z-index:3;padding:10px 14px;border:1px solid rgba(255,255,255,.16);border-radius:9px;background:rgba(3,22,35,.78);box-shadow:0 16px 38px rgba(0,0,0,.24);backdrop-filter:blur(8px);color:rgba(255,255,255,.7);font-size:.64rem;letter-spacing:.06em}
.floating-note span{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 9px var(--cyan)}
.floating-note b{display:block;color:var(--gold);font-size:.54rem;text-transform:uppercase;letter-spacing:.14em}.note-top{right:-10px;top:30px}.note-bottom{left:2px;bottom:30px}
.scroll-cue{position:absolute;z-index:3;left:32px;bottom:28px;display:flex;align-items:center;gap:15px;color:rgba(255,255,255,.43);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;writing-mode:vertical-rl}
.scroll-cue i{width:1px;height:36px;background:linear-gradient(var(--cyan),transparent)}
@keyframes turn{to{transform:rotate(348deg)}}@keyframes counterturn{to{transform:rotate(-298deg)}}@keyframes float{50%{transform:translateY(-12px);opacity:1}}

/* Ecosystem */
.ecosystem{padding:31px 0;border-bottom:1px solid var(--line);background:#fff}
.ecosystem-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}
.ecosystem-title span{display:block;color:var(--ink);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ecosystem-title small{color:#81909b;font-size:.64rem}
.ecosystem-names{display:flex;align-items:center;gap:22px;color:#526675}
.ecosystem-names strong{white-space:nowrap;font-size:.71rem;letter-spacing:.08em}
.ecosystem-names i{width:4px;height:4px;border-radius:50%;background:var(--cyan)}
.ecosystem-names img{width:122px;height:36px;object-fit:cover;object-position:left center}

/* About */
.about{padding-bottom:clamp(92px,10vw,150px);background:linear-gradient(180deg,#fff 0%,#f8fbfc 100%);overflow:hidden}
.about:before{content:"";position:absolute;right:-220px;top:15%;width:520px;height:520px;border:1px solid rgba(16,143,196,.09);border-radius:50%;pointer-events:none}
.about-top{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(50px,7vw,110px);align-items:center;padding:clamp(54px,6vw,82px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.about-heading .eyebrow{margin-bottom:24px}
.about-heading h2{max-width:780px;margin:0;font-size:clamp(2.8rem,4.7vw,4.85rem);line-height:1.02;letter-spacing:-.045em}
.about-heading h2 em{color:var(--blue);font-style:normal;font-weight:500}
.about-intro{max-width:430px;padding-left:30px;border-left:2px solid var(--blue)}
.about-index{display:block;margin-bottom:18px;color:#82919b;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.about-summary{margin:0;color:var(--body);font-size:1rem;line-height:1.8}
.about-stage{display:grid;grid-template-columns:1.03fr .97fr;min-height:650px;margin-top:70px;border:1px solid var(--line);background:#fff;box-shadow:0 32px 90px rgba(5,35,54,.08)}
.about-system{position:relative;min-height:650px;overflow:hidden;padding:30px;background:radial-gradient(circle at 50% 48%,#0d3a56 0%,transparent 35%),linear-gradient(135deg,var(--navy-950),var(--navy-800));color:#fff}
.about-system:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(75,212,238,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(75,212,238,.065) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(circle,#000,transparent 75%)}
.system-header,.system-footer{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;color:rgba(255,255,255,.54);font-size:.68rem;letter-spacing:.13em;text-transform:uppercase}
.system-header b{color:var(--gold)}
.system-map{position:absolute;z-index:2;inset:80px 35px 72px}
.system-map:before,.system-map:after{content:"";position:absolute;left:50%;top:50%;border:1px solid rgba(75,212,238,.2);border-radius:50%;transform:translate(-50%,-50%)}
.system-map:before{width:390px;height:390px}.system-map:after{width:285px;height:285px;border-color:rgba(213,180,90,.2)}
.system-axis{position:absolute;left:50%;top:50%;background:linear-gradient(90deg,transparent,rgba(75,212,238,.45),transparent)}
.axis-horizontal{width:92%;height:1px;transform:translate(-50%,-50%)}.axis-vertical{width:1px;height:92%;transform:translate(-50%,-50%);background:linear-gradient(transparent,rgba(75,212,238,.45),transparent)}
.system-core{position:absolute;z-index:3;left:50%;top:50%;width:150px;height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(75,212,238,.58);border-radius:50%;background:rgba(4,28,44,.92);box-shadow:0 0 0 13px rgba(75,212,238,.045),0 25px 70px rgba(0,0,0,.35);transform:translate(-50%,-50%)}
.system-core span{color:var(--cyan);font-size:1.05rem;font-weight:700;letter-spacing:.16em}.system-core small{margin-top:7px;color:rgba(255,255,255,.5);font-size:.64rem;line-height:1.4;text-align:center;text-transform:uppercase;letter-spacing:.08em}
.system-node{position:absolute;z-index:3;display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.72);font-size:.72rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.system-node i{width:11px;height:11px;border:2px solid var(--cyan);border-radius:50%;box-shadow:0 0 18px rgba(75,212,238,.55)}
.node-water{left:4%;top:48%}.node-matter{right:3%;top:25%}.node-matter i{border-color:var(--gold);box-shadow:0 0 18px rgba(213,180,90,.45)}.node-energy{right:8%;bottom:15%}
.system-pulse{position:absolute;z-index:2;width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 16px var(--cyan);animation:float 5s ease-in-out infinite}.pulse-one{left:28%;top:23%}.pulse-two{right:30%;bottom:21%;background:var(--gold);animation-delay:-2.5s}
.system-footer{position:absolute;z-index:4;left:30px;right:30px;bottom:26px;justify-content:center;gap:17px;font-size:.62rem;letter-spacing:.08em}.system-footer i{width:26px;height:1px;background:rgba(75,212,238,.45)}
.about-content{padding:clamp(42px,5.2vw,72px);align-self:center}
.about-kicker{margin-bottom:18px;color:var(--blue);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.about-content h3{max-width:540px;margin-bottom:25px;font-size:clamp(2rem,3.3vw,3.35rem);line-height:1.08;letter-spacing:-.04em}
.about-lead{margin-bottom:17px;color:var(--ink);font-size:1.08rem;font-weight:500;line-height:1.65}
.about-body{margin-bottom:34px;color:var(--body);font-size:.93rem;line-height:1.75}
.about-focus{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.about-focus>div{padding:23px 22px 23px 0}.about-focus>div+div{padding-left:22px;border-left:1px solid var(--line)}
.about-focus span,.about-standard span{display:block;margin-bottom:7px;color:var(--blue);font-size:.67rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.about-focus p{margin:0;color:var(--body);font-size:.82rem;line-height:1.65}
.about-standard{display:grid;grid-template-columns:130px 1fr;gap:22px;margin-top:31px;padding:21px 23px;border-left:3px solid var(--gold);background:var(--mist)}
.about-standard span{margin:0;color:#8b712c}.about-standard p{margin:0;font-size:.86rem;font-weight:500}
.about-method{margin-top:38px;display:grid;grid-template-columns:.65fr 2.35fr;gap:40px;align-items:start}
.about-method>p{margin:18px 0 0;color:#748590;font-size:.72rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.about-method ol{position:relative;display:grid;grid-template-columns:repeat(3,1fr);list-style:none;margin:0;padding:0}
.about-method ol:before{content:"";position:absolute;left:18px;right:18px;top:18px;height:1px;background:linear-gradient(90deg,var(--blue),var(--cyan),var(--gold))}
.about-method li{position:relative;padding-right:28px}.about-method li>span{position:relative;z-index:2;width:37px;height:37px;display:grid;place-items:center;border:1px solid var(--blue);border-radius:50%;background:#f8fbfc;color:var(--blue);font-size:.65rem;font-weight:800}
.about-method li:nth-child(2)>span{border-color:var(--cyan)}.about-method li:nth-child(3)>span{border-color:var(--gold);color:#9a7b27}
.about-method li div{padding-top:23px}.about-method h3{margin:0 0 7px;font-size:1.08rem}.about-method li p{max-width:250px;margin:0;color:var(--body);font-size:.8rem;line-height:1.65}

/* Challenge */
.challenge{background:var(--navy-900);color:#fff;overflow:hidden}
.challenge:before{content:"";position:absolute;left:-180px;bottom:-280px;width:600px;height:600px;border:1px solid rgba(75,212,238,.12);border-radius:50%}
.challenge-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(65px,9vw,140px);align-items:center}
.challenge-copy h2{max-width:620px}.challenge-copy>p:not(.eyebrow){max-width:560px;margin:32px 0;color:rgba(255,255,255,.62)}
.challenge-board{position:relative;border:1px solid var(--dark-line);background:rgba(255,255,255,.025)}
.board-axis{height:46px;padding:0 25px;border-bottom:1px solid var(--dark-line);display:flex;align-items:center;justify-content:space-between;color:rgba(255,255,255,.34);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase}
.challenge-board article{display:grid;grid-template-columns:70px 1fr;gap:21px;align-items:center;padding:25px;border-bottom:1px solid var(--dark-line)}
.challenge-board article:last-child{border-bottom:0}
.challenge-icon{width:55px;height:55px;border:1px solid rgba(75,212,238,.25);border-radius:50%;display:grid;place-items:center;color:var(--cyan);font-size:1.45rem}
.challenge-board small{color:var(--cyan);font-size:.59rem;letter-spacing:.13em;text-transform:uppercase}.challenge-board h3{margin:3px 0 4px;font-size:1.17rem}.challenge-board p{margin:0;color:rgba(255,255,255,.48);font-size:.81rem}
.concept-diagram{margin-top:64px;padding:0;overflow:hidden;border:1px solid var(--line);background:var(--navy-900)}.concept-diagram img{width:100%;height:auto}.concept-diagram figcaption,.prototype-concept figcaption,.sustainability-diagram figcaption{padding:14px 18px;color:var(--body);background:#fff;font-size:.75rem}.concept-diagram figcaption span,.prototype-concept figcaption span{margin-right:14px;color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.concept-diagram-dark{border-color:var(--dark-line)}.concept-diagram-dark figcaption{color:rgba(255,255,255,.62);background:var(--navy-900)}.concept-diagram-dark figcaption span{color:var(--cyan)}

/* Philosophy */
.philosophy{background:var(--ice)}
.philosophy-heading,.pillars-heading,.project-header,.roadmap-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:80px;margin-bottom:72px}
.philosophy-heading>p,.pillars-heading>div>p,.project-header>p,.roadmap-heading>p{max-width:390px;margin-bottom:8px;color:var(--body)}
.philosophy-track{display:grid;grid-template-columns:1fr 1.25fr;gap:22px}
.philosophy-feature{min-height:515px;position:relative;overflow:hidden;padding:44px;background:var(--navy-900);color:#fff}
.feature-index{color:var(--cyan);font-size:.7rem;font-weight:800}
.philosophy-feature>div{position:absolute;z-index:2;left:44px;right:44px;bottom:45px}.philosophy-feature h3{max-width:430px;margin-bottom:14px;font-size:clamp(2rem,3.3vw,3.3rem);line-height:1.03;letter-spacing:-.04em}.philosophy-feature p{max-width:480px;margin:0;color:rgba(255,255,255,.61)}
.philosophy-feature svg{position:absolute;top:60px;right:-5px;width:62%;fill:none;stroke:rgba(75,212,238,.45);stroke-width:1}
.philosophy-feature svg circle{fill:rgba(75,212,238,.13);stroke:var(--cyan)}
.philosophy-list{display:grid;grid-template-columns:1fr 1fr}
.philosophy-list article{min-height:257px;padding:35px;border:1px solid var(--line);background:#fff}
.philosophy-list article:nth-child(even){border-left:0}.philosophy-list article:nth-child(n+3){border-top:0}
.philosophy-list span{color:var(--blue);font-size:.66rem;font-weight:800}.philosophy-list h3{margin:52px 0 10px;font-size:1.2rem;line-height:1.25}.philosophy-list p{margin:0;color:var(--body);font-size:.83rem}

/* Process */
.system-process{background:linear-gradient(125deg,var(--navy-950),var(--navy-800));color:#fff;overflow:hidden}
.system-process:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(75,212,238,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(75,212,238,.055) 1px,transparent 1px);background-size:68px 68px;mask-image:linear-gradient(90deg,transparent,#000,transparent);pointer-events:none}
.process-heading{position:relative;z-index:1;text-align:center}.process-heading .eyebrow{justify-content:center}.process-heading h2{max-width:920px;margin-inline:auto}.process-heading>p:last-child{max-width:640px;margin:26px auto 0;color:rgba(255,255,255,.57)}
.process-flow{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:64px}
.process-flow:before{display:none}
.process-step{position:relative;min-height:285px;padding:28px 30px 30px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto 1fr;align-content:start;column-gap:20px;overflow:hidden;border:1px solid rgba(151,222,239,.16);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));box-shadow:0 18px 40px rgba(0,0,0,.12);transition:transform .28s ease,border-color .28s ease,background .28s ease,box-shadow .28s ease}
.process-step:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--cyan),var(--blue));opacity:.72}
.process-step:after{content:"";position:absolute;width:130px;height:130px;right:-70px;bottom:-78px;border:1px solid rgba(75,212,238,.08);border-radius:50%;pointer-events:none}
.process-step:hover{transform:translateY(-5px);border-color:rgba(75,212,238,.36);background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:0 24px 52px rgba(0,0,0,.18)}
.process-step>span{grid-column:1;grid-row:1;color:rgba(255,255,255,.34);font-size:.66rem;font-weight:700;letter-spacing:.12em}
.process-symbol{grid-column:2;grid-row:1/3;position:relative;z-index:2;width:58px;height:58px;margin:0;border:1px solid rgba(75,212,238,.34);border-radius:50%;display:grid;place-items:center;background:rgba(6,24,39,.82);color:var(--cyan);font-size:1.35rem;box-shadow:inset 0 0 0 6px rgba(75,212,238,.025)}
.process-step small{grid-column:1;grid-row:2;align-self:end;margin-top:22px;color:var(--cyan);font-size:.6rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.process-step h3{grid-column:1/-1;grid-row:3;margin:18px 0 12px;min-height:1.35em;font-size:1.24rem;line-height:1.25;letter-spacing:-.015em}
.process-step p{grid-column:1/-1;grid-row:4;margin:0;color:rgba(255,255,255,.56);font-size:.84rem;line-height:1.7;max-width:34rem}
.process-caveat{position:relative;z-index:1;display:flex;gap:25px;align-items:flex-start;margin-top:29px;color:rgba(255,255,255,.46);font-size:.75rem}.process-caveat span{flex:none;color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:.11em}.process-caveat p{margin:0}

/* Pillars */
.pillars{background:#fff}.pillars-heading{display:block;max-width:none;margin-bottom:46px;padding-bottom:34px;border-bottom:1px solid var(--line)}.pillars-heading>.eyebrow{min-width:0;margin:0 0 16px}.pillars-heading>div{max-width:none}.pillars-heading>div>h2{max-width:1080px;font-size:clamp(2.65rem,3.9vw,4rem);line-height:1.03;letter-spacing:-.035em}.pillars-heading>div>p{margin:16px 0 0;max-width:790px;color:var(--body);font-size:1rem;line-height:1.7}
.pillar-number{display:block;color:var(--blue);font-size:.64rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.pillar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.pillar-card{display:grid;grid-template-rows:280px 1fr;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 22px 55px rgba(7,30,52,.08);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.pillar-card:hover{transform:translateY(-4px);border-color:rgba(18,138,196,.18);box-shadow:0 28px 60px rgba(7,30,52,.12)}
.pillar-card-media{margin:0;padding:0;background:#1e303f;border-bottom:1px solid rgba(255,255,255,.08);overflow:hidden}
.pillar-card-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;background:#1e303f}
.pillar-card-content{padding:30px 28px 28px}
.pillar-card-content h3{margin:16px 0 14px;font-size:clamp(1.6rem,2.5vw,2.25rem);line-height:1.08;letter-spacing:-.03em;color:var(--navy-950)}
.pillar-card-content>p{margin:0;color:var(--body);font-size:.98rem;line-height:1.78}
.pillar-meta{display:grid;grid-template-columns:1fr;gap:14px;margin-top:24px}
.pillar-meta>div{padding:16px 18px;background:var(--mist);border-radius:16px;border:1px solid rgba(15,49,77,.08)}
.pillar-meta strong{display:block;margin-bottom:8px;color:var(--navy-950);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.pillar-meta p{margin:0;color:var(--body);font-size:.84rem;line-height:1.65}

/* Project */
.project{background:var(--navy-950);color:#fff}.project-header>div{max-width:760px}.project-header>p{color:rgba(255,255,255,.56)}
.project-showcase{display:grid;grid-template-columns:1.08fr .92fr;min-height:720px;border:1px solid var(--dark-line);background:var(--navy-900)}
.project-media{position:relative;min-height:520px;overflow:hidden;background:#0c2233}.project-media img{width:100%;height:100%;object-fit:contain;transition:opacity .24s ease,transform .7s ease}.project-media img.switching{opacity:.12;transform:scale(1.025)}
.project-media-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,14,24,.87),transparent 48%),linear-gradient(90deg,transparent 70%,rgba(2,14,24,.35))}
.project-media-meta{position:absolute;left:34px;bottom:30px}.project-media-meta span{display:block;color:var(--cyan);font-size:.61rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.project-media-meta small{color:rgba(255,255,255,.66)}
.project-content{display:grid;grid-template-columns:105px 1fr}
.project-tabs{display:flex;flex-direction:column;border-right:1px solid var(--dark-line)}
.project-tab{flex:1;min-height:90px;padding:15px 8px;border:0;border-bottom:1px solid var(--dark-line);background:transparent;color:rgba(255,255,255,.38);font-size:.61rem;cursor:pointer;transition:.2s ease}.project-tab:last-child{border-bottom:0}.project-tab span{display:block;margin-bottom:4px;font-size:.53rem}.project-tab:hover,.project-tab.active{background:rgba(75,212,238,.08);color:#fff}.project-tab.active{box-shadow:inset 3px 0 var(--cyan)}
.project-panel{align-self:center;padding:clamp(37px,4.8vw,65px)}.project-kicker{margin-bottom:17px;color:var(--cyan);font-size:.63rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.project-panel h3{margin-bottom:20px;font-size:clamp(2rem,3.8vw,3.7rem);line-height:1.03;letter-spacing:-.045em}.project-panel>p:not(.project-kicker,.status-note){color:rgba(255,255,255,.58)}.project-panel ul{list-style:none;margin:27px 0;padding:0}.project-panel li{padding:10px 0 10px 21px;border-bottom:1px solid var(--dark-line);position:relative;color:rgba(255,255,255,.7);font-size:.82rem}.project-panel li:before{content:"";position:absolute;left:0;top:17px;width:6px;height:6px;border-radius:50%;background:var(--cyan)}.status-note{margin:34px 0 0;padding:16px;border:1px solid rgba(213,180,90,.25);color:rgba(255,255,255,.55);font-size:.72rem}.status-note span{display:block;color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:.1em}

/* Prototyping */
.prototype{background:#fff}.prototype-layout{display:block}.prototype-copy{max-width:none}.prototype-copy .eyebrow{margin-bottom:18px}.prototype-copy h2{max-width:900px;margin-bottom:34px}.prototype-description{max-width:920px;margin-top:30px}.prototype-copy .lead{margin:0 0 16px;font-size:1.08rem}.prototype-description>p:not(.lead){margin:0;color:var(--body);line-height:1.75}.prototype-copy .text-link{margin-top:22px}
.prototype-rig{position:relative;overflow:hidden;min-height:560px;padding:25px;background:var(--mist);border:1px solid var(--line)}.rig-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(7,54,81,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(7,54,81,.07) 1px,transparent 1px);background-size:31px 31px}.rig-label{position:relative;z-index:2;display:flex;justify-content:space-between;color:var(--blue);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em}.rig-label small{color:#81909b;font-weight:500}.prototype-rig svg{position:relative;z-index:1;width:100%;height:auto;margin-top:24px;fill:none;stroke:var(--ink);stroke-width:2}.rig-frame{stroke:#a5b6c0;stroke-width:1.4}.rig-unit{fill:rgba(255,255,255,.52);stroke:#254d66}.rig-flow{stroke:url(#rigFlow);stroke-width:5}.rig-coil{stroke:var(--blue)}.rig-point{fill:var(--gold);stroke:none}.rig-metrics{position:absolute;z-index:2;left:25px;right:25px;bottom:23px;display:flex;gap:10px}.rig-metrics span{padding:7px 10px;background:rgba(255,255,255,.75);font-size:.6rem}.rig-metrics b{color:var(--blue);margin-right:5px}
.prototype-concept{width:100%;min-height:0;padding:0;margin:0;background:#1e303f;border:0}.prototype-concept img{display:block;width:100%;height:auto}.prototype-concept figcaption{border-top:1px solid var(--line)}
.prototype-sequence{margin-top:58px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.prototype-sequence ol{display:grid;grid-template-columns:repeat(6,1fr);list-style:none;margin:0;padding:0}.prototype-sequence li{min-height:190px;padding:24px 20px;border-right:1px solid var(--line)}.prototype-sequence li:last-child{border-right:0}.prototype-sequence li>span{color:var(--blue);font-size:.62rem;font-weight:800}.prototype-sequence li div{margin-top:44px}.prototype-sequence h3{margin:0 0 7px;font-size:.94rem}.prototype-sequence p{margin:0;color:var(--body);font-size:.73rem}

/* Applications */
.applications{background:var(--navy-800);color:#fff}.applications-intro{display:block;max-width:980px;margin-bottom:48px}.applications-intro .eyebrow{margin:0 0 17px}.applications-intro h2{max-width:900px;font-size:clamp(2.7rem,4.5vw,4.35rem);line-height:1.04}.applications-intro>p:last-child{max-width:760px;margin:18px 0 0;color:rgba(255,255,255,.56);font-size:.9rem;line-height:1.7}
.application-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:16px;border:0}
.application-grid article,.application-grid .application-lead{display:flex;flex-direction:column;min-height:270px;padding:28px;border:1px solid var(--dark-line);background:rgba(255,255,255,.025);transition:transform .2s ease,border-color .2s ease,background .2s ease}
.application-grid article:hover{transform:translateY(-3px);border-color:rgba(75,212,238,.3);background:rgba(75,212,238,.045)}
.application-grid article>span{color:var(--cyan);font-size:.61rem;font-weight:800;letter-spacing:.08em}.application-grid article small{display:block;margin-top:18px;color:rgba(255,255,255,.48);font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.application-grid article h3,.application-grid .application-lead h3{margin:36px 0 11px;font-size:1.35rem;line-height:1.2;letter-spacing:-.015em}.application-grid .application-lead small+h3{margin-top:8px}
.application-grid article p,.application-lead p{margin:0;color:rgba(255,255,255,.52);font-size:.84rem;line-height:1.68}
.application-lead a{display:inline-block;align-self:flex-start;margin-top:auto;padding-top:20px;padding-bottom:3px;border-bottom:1px solid rgba(255,255,255,.3);font-size:.74rem;font-weight:800}


/* Sustainability */
.sustainability{background:var(--ice)}.sustainability-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(65px,10vw,150px);align-items:center}.sustainability-visual{position:relative;min-height:620px}.resource-orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(16,143,196,.3);border-radius:50%;transform:translate(-50%,-50%) rotate(-17deg)}.resource-orbit:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--cyan);box-shadow:0 0 24px rgba(75,212,238,.6)}.resource-orbit span{position:absolute;padding:6px 10px;background:var(--ice);color:var(--body);font-size:.63rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.sustainability-diagram{min-height:0;margin:0;border:1px solid var(--line);background:var(--navy-900)}.sustainability-diagram img{width:100%;height:auto}.sustainability-diagram figcaption{background:var(--ice)}
.resource-water{width:570px;height:310px}.resource-water:after{left:50px;top:26px}.resource-water span{right:10px;bottom:27px}.resource-mineral{width:430px;height:430px;transform:translate(-50%,-50%) rotate(54deg);border-color:rgba(213,180,90,.38)}.resource-mineral:after{right:44px;top:28px;background:var(--gold)}.resource-mineral span{left:0;bottom:60px;transform:rotate(-54deg)}.resource-energy{width:290px;height:500px;transform:translate(-50%,-50%) rotate(8deg)}.resource-energy:after{right:31px;bottom:47px}.resource-energy span{top:37px;right:0;transform:rotate(-8deg)}
.resource-core{position:absolute;left:50%;top:50%;width:160px;height:160px;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;background:var(--navy-900);color:#fff;box-shadow:0 24px 70px rgba(4,29,46,.2)}.resource-core i{position:absolute;inset:13px;border:1px solid rgba(75,212,238,.35);border-radius:50%}.resource-core strong{text-align:center;font-size:.92rem;line-height:1.2;letter-spacing:.08em;text-transform:uppercase}
.sustainability-copy h2{max-width:620px}.sustainability-copy>.lead{margin:29px 0;color:var(--body)}.value-list>div{display:grid;grid-template-columns:45px 1fr;gap:18px;padding:17px 0;border-top:1px solid var(--line)}.value-list span{color:var(--blue);font-size:.62rem;font-weight:800}.value-list p{margin:0}.fine-note{margin:25px 0 0;padding-left:19px;border-left:2px solid var(--gold);color:#73838e;font-size:.72rem}

/* Roadmap */
.roadmap{background:var(--navy-950);color:#fff}.roadmap-heading>p{color:rgba(255,255,255,.53)}.roadmap-list{border-top:1px solid var(--dark-line)}
.roadmap-diagram{margin-top:-20px;margin-bottom:64px}
.roadmap-stage{display:grid;grid-template-columns:105px 1.2fr .8fr;gap:37px;padding:35px 0;border-bottom:1px solid var(--dark-line);align-items:center;transition:background .25s ease}.roadmap-stage:hover{background:rgba(75,212,238,.025)}
.stage-marker{align-self:stretch;position:relative;display:flex;align-items:center}.stage-marker span{width:58px;height:58px;border:1px solid rgba(75,212,238,.35);border-radius:50%;display:grid;place-items:center;color:var(--cyan);font-size:.67rem;font-weight:800}.stage-marker i{position:absolute;top:calc(50% + 29px);bottom:-65px;left:29px;width:1px;background:linear-gradient(var(--cyan),rgba(75,212,238,.08))}
.stage-main small{color:var(--cyan);font-size:.57rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em}.stage-main h3{margin:5px 0 7px;font-size:1.55rem}.stage-main p{max-width:600px;margin:0;color:rgba(255,255,255,.5);font-size:.83rem}.roadmap-stage ul{margin:0;padding:0;list-style:none}.roadmap-stage li{position:relative;padding:4px 0 4px 17px;color:rgba(255,255,255,.55);font-size:.76rem}.roadmap-stage li:before{content:"";position:absolute;left:0;top:12px;width:5px;height:5px;border-radius:50%;background:var(--gold)}

/* Collaborate */
.collaborate{background:#fff}.collaborate-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(70px,11vw,170px)}.collaborate-copy{position:sticky;top:130px;align-self:start}.collaborate-copy h2{max-width:620px}.collaborate-copy>p:not(.eyebrow){max-width:550px;margin:30px 0;color:var(--body)}
.partner-list{border-top:1px solid var(--line)}.partner-list article{display:grid;grid-template-columns:58px 1fr;gap:20px;padding:28px 0;border-bottom:1px solid var(--line)}.partner-list article>span{color:var(--blue);font-size:.62rem;font-weight:800}.partner-list h3{margin:0 0 5px;font-size:1.22rem}.partner-list p{margin:0;color:var(--body);font-size:.83rem}

/* FAQ */
.faq{background:var(--navy-800);color:#fff}.faq-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(70px,11vw,170px);align-items:start}.faq-intro{position:sticky;top:130px}.faq-intro h2{font-size:clamp(2.8rem,5vw,5rem)}.faq-intro>p:last-child{max-width:500px;margin-top:28px;color:rgba(255,255,255,.51)}
.faq-list{border-top:1px solid var(--dark-line)}.faq-list details{border-bottom:1px solid var(--dark-line)}.faq-list summary{position:relative;list-style:none;padding:25px 55px 25px 0;cursor:pointer;font-size:1.04rem;font-weight:650}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span,.faq-list summary span:after{position:absolute;right:3px;top:50%;width:17px;height:1px;background:var(--cyan);content:"";transition:transform .25s ease}.faq-list summary span:after{right:0;top:0;transform:rotate(90deg)}.faq-list details[open] summary span:after{transform:rotate(0)}.faq-list details>div{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.faq-list details[open]>div{grid-template-rows:1fr}.faq-list details p{overflow:hidden;max-width:720px;margin:0;padding:0 50px 25px 0;color:rgba(255,255,255,.53);font-size:.87rem}

/* Contact */
.contact{overflow:hidden;background:var(--navy-950);color:#fff}.contact-grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(75,212,238,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(75,212,238,.055) 1px,transparent 1px);background-size:78px 78px;mask-image:radial-gradient(circle at 10% 20%,#000,transparent 65%)}
.contact-layout{position:relative;display:grid;grid-template-columns:.83fr 1.17fr;gap:clamp(70px,9vw,135px);align-items:start}.contact-copy h2{max-width:600px}.contact-copy>p:not(.eyebrow){max-width:530px;margin:30px 0;color:rgba(255,255,255,.55)}
.contact-context{margin-top:50px;padding:24px;border:1px solid var(--dark-line);background:rgba(255,255,255,.025)}.contact-context>span{font-size:.62rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--cyan)}.contact-context ul{margin:14px 0 0;padding-left:20px;color:rgba(255,255,255,.55);font-size:.8rem}
.contact-form{padding:clamp(27px,4vw,52px);border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.055);box-shadow:0 35px 90px rgba(0,0,0,.25);backdrop-filter:blur(12px)}
.form-heading{display:flex;justify-content:space-between;padding-bottom:25px;margin-bottom:28px;border-bottom:1px solid var(--dark-line)}.form-heading span{font-size:1.07rem;font-weight:700}.form-heading small{color:rgba(255,255,255,.42)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.contact-form label{display:block;margin-bottom:17px;color:rgba(255,255,255,.74);font-size:.69rem;font-weight:700}.contact-form input,.contact-form textarea,.contact-form select{width:100%;margin-top:7px;padding:14px 15px;border:1px solid rgba(255,255,255,.18);border-radius:0;background:rgba(255,255,255,.055);color:#fff;outline:0;transition:border-color .2s ease,background .2s ease}.contact-form input,.contact-form select{height:52px}.contact-form select{color:rgba(255,255,255,.7)}.contact-form option{color:var(--ink);background:#fff}.contact-form textarea{resize:vertical;min-height:130px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(255,255,255,.32)}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--cyan);background:rgba(255,255,255,.08)}.contact-form [aria-invalid="true"]{border-color:#ff9a91}.field-error{display:none;margin-top:4px;color:#ffaaa3;font-weight:500}.contact-form [aria-invalid="true"]+.field-error{display:block}.form-footer{display:flex;align-items:center;gap:22px;margin-top:8px}.form-footer>p{max-width:260px;margin:0;color:rgba(255,255,255,.37);font-size:.63rem;line-height:1.4}.form-status{display:none;margin-top:19px;padding:13px 15px;border:1px solid var(--dark-line);font-size:.75rem}.form-status.visible{display:block}.form-status.error{border-color:rgba(255,154,145,.48);color:#ffc0bb}.form-status.info{border-color:rgba(75,212,238,.4);color:var(--cyan)}.form-status.success{border-color:rgba(126,220,162,.45);color:#92e6b3}

/* Footer + Dialog */
.site-footer{padding:75px 0 24px;background:#fff}.footer-top{display:grid;grid-template-columns:1.5fr .6fr .75fr .85fr;gap:70px;padding-bottom:65px}.footer-brand img{width:210px;height:74px;object-fit:contain;margin-bottom:18px}.footer-brand p{max-width:340px;margin:0;color:var(--body);font-size:.81rem}.footer-column{display:flex;flex-direction:column;gap:8px}.footer-column h2{margin:4px 0 15px;font-size:.63rem;letter-spacing:.13em;text-transform:uppercase}.footer-column a,.footer-column span{color:var(--body);font-size:.76rem}.footer-column a:hover{color:var(--blue)}
.footer-bottom{padding-top:21px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;align-items:center;color:#7e8d97;font-size:.66rem}.footer-bottom p{margin:0}.footer-bottom>div{display:flex;gap:20px}.footer-bottom button{padding:0;border:0;background:none;color:inherit;cursor:pointer}.footer-bottom button:hover,.footer-bottom a:hover{color:var(--ink)}
.legal-dialog{width:min(620px,calc(100% - 30px));padding:0;border:0;background:transparent}.legal-dialog::backdrop{background:rgba(1,13,22,.8);backdrop-filter:blur(5px)}.legal-dialog>div{position:relative;padding:45px;background:#fff;box-shadow:var(--shadow)}.legal-dialog h2{font-size:2.25rem;line-height:1.05;letter-spacing:-.04em}.legal-dialog p:not(.eyebrow){color:var(--body)}.dialog-close{position:absolute;right:15px;top:15px;width:37px;height:37px;border:1px solid var(--line);border-radius:50%;background:#fff;cursor:pointer;font-size:1.4rem;line-height:1}

/* Consistent Poppins type scale */
.eyebrow{font-size:.74rem;line-height:1.45;letter-spacing:.16em}
.primary-nav{font-size:.84rem}
.hero-lead{font-size:clamp(1.02rem,1.2vw,1.12rem);line-height:1.75}
.button,.text-link{font-size:.86rem}
.hero-labels span{font-size:.69rem}
.reactor-head{font-size:.7rem}
.feed-line:before{font-size:.64rem}
.reactor-flow i{font-size:.68rem}.reactor-flow span{font-size:.72rem}.reactor-flow small{font-size:.68rem}
.floating-note{font-size:.7rem}.floating-note b{font-size:.62rem}.scroll-cue{font-size:.68rem}
.ecosystem-title span,.ecosystem-names strong{font-size:.75rem}
.ecosystem-title small{font-size:.72rem}
.section-number,.about-principle>span,.purpose-band span,.feature-index,.philosophy-list span,
.process-step>span,.pillar-number,.pillar-copy dt,.project-media-meta span,.project-kicker,
.prototype-sequence li>span,.application-grid article>span,.value-list span,.stage-marker span,
.partner-list article>span,.contact-context>span,.footer-column h2{font-size:.72rem}
.board-axis,.challenge-board small,.process-step small,.application-lead small,.stage-main small{font-size:.68rem}
.purpose-band p,.challenge-board p,.philosophy-list p,.pillar-copy dd,.project-panel li,
.prototype-sequence p,.application-grid article p,.stage-main p,.roadmap-stage li,.partner-list p,
.faq-list details p,.contact-context ul,.footer-brand p,.footer-column a,.footer-column span{font-size:.88rem;line-height:1.7}
.process-step p{font-size:.84rem;line-height:1.65}
.process-caveat,.status-note,.fine-note,.form-status{font-size:.78rem;line-height:1.65}
.project-tab{font-size:.7rem}.project-tab span{font-size:.64rem}
.technical-figure figcaption{font-size:.73rem}
.rig-label,.rig-metrics span{font-size:.7rem}
.prototype-sequence h3{font-size:1.02rem;line-height:1.4}
.application-lead a{font-size:.8rem}
.contact-form label{font-size:.78rem}
.contact-form input,.contact-form textarea,.contact-form select{font-size:.94rem}
.form-footer>p{font-size:.72rem;line-height:1.55}
.footer-bottom{font-size:.75rem}
.philosophy-feature h3,.pillar-copy h3,.project-panel h3{font-size:clamp(2rem,3.2vw,3.2rem);line-height:1.08}
.applications-intro h2,.faq-intro h2{font-size:clamp(2.55rem,4.4vw,4.25rem)}
.application-grid .application-lead h3{font-size:clamp(2.1rem,3.6vw,3.5rem)}
.philosophy-feature p,.pillar-copy>p,.pillar-compact p,.project-panel>p:not(.project-kicker,.status-note),
.applications-intro>p:last-child,.sustainability-copy>.lead,.collaborate-copy>p:not(.eyebrow),
.faq-intro>p:last-child,.contact-copy>p:not(.eyebrow){font-size:.96rem;line-height:1.75}

/* Reveal - production-safe: homepage content is always visible */
.reveal,
.js .reveal,
.js.reveal-ready .reveal,
.js .reveal.visible,
.js.reveal-ready .reveal.visible,
.js .hero .reveal,
.js.reveal-ready .hero .reveal {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}


/* Homepage CTA */
.home-cta{position:relative;overflow:hidden;padding:clamp(88px,10vw,140px) 0;background:linear-gradient(135deg,var(--navy-950) 0%,#0b2b3e 100%);color:#fff}
.home-cta:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(75,212,238,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(75,212,238,.045) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,#000,transparent 72%);pointer-events:none}
.home-cta-orbit{position:absolute;width:420px;height:420px;right:-110px;top:50%;transform:translateY(-50%);border:1px solid rgba(75,212,238,.13);border-radius:50%;pointer-events:none}
.home-cta-orbit:before,.home-cta-orbit:after{content:"";position:absolute;border:1px solid rgba(75,212,238,.09);border-radius:50%}
.home-cta-orbit:before{inset:58px}.home-cta-orbit:after{inset:118px}
.home-cta-inner{position:relative;z-index:1}
.home-cta-inner>.eyebrow{margin-bottom:27px}
.home-cta-content{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:clamp(54px,8vw,120px);align-items:end}
.home-cta-content h2{max-width:900px;margin:0;font-size:clamp(3rem,5.6vw,4.7rem);line-height:.98;letter-spacing:-.05em}
.home-cta-action{max-width:470px;padding-left:28px;border-left:1px solid rgba(75,212,238,.28)}
.home-cta-action p{margin:0 0 27px;color:rgba(255,255,255,.62);font-size:.96rem;line-height:1.75}
.home-cta-button{display:inline-flex;align-items:center;justify-content:center;gap:12px}
.home-cta-button span{transition:transform .2s ease}.home-cta-button:hover span{transform:translateX(4px)}

@media(max-width:1100px){
  :root{--shell:min(100% - 48px,960px)}
  .primary-nav{gap:17px}
  .hero-shell{grid-template-columns:1fr 430px;gap:45px}.hero h1{font-size:clamp(3.65rem,6vw,5.3rem)}.hero-visual{min-height:540px}.reactor-card{width:400px}.orbit-a{width:460px;height:460px}
  .ecosystem-inner{align-items:flex-start}.ecosystem-names{flex-wrap:wrap;justify-content:flex-end}
  .process-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.process-step{padding:26px 24px 28px}.process-step h3{font-size:1.14rem}
    .prototype-sequence ol{grid-template-columns:repeat(3,1fr)}.prototype-sequence li:nth-child(3){border-right:0}.prototype-sequence li:nth-child(-n+3){border-bottom:1px solid var(--line)}
}
@media(max-width:850px){
  :root{--shell:min(100% - 36px,720px)}.section{padding:90px 0}
  .menu-toggle{display:block;color:#fff}.site-header.scrolled .menu-toggle{color:var(--ink);border-color:var(--line)}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .primary-nav{position:absolute;top:calc(100% + 6px);left:18px;right:18px;padding:20px;display:grid;gap:3px;background:rgba(3,18,30,.98);border:1px solid rgba(255,255,255,.14);border-radius:16px;color:#fff!important;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.22s ease}
  .primary-nav.open{opacity:1;visibility:visible;transform:none}.primary-nav a,.primary-nav a:nth-child(4),.primary-nav a:nth-child(5){display:block;padding:9px}.primary-nav .nav-cta{margin-top:7px;text-align:center;background:transparent!important;border-color:rgba(255,255,255,.25)!important}
  .hero{min-height:auto}.hero-shell{grid-template-columns:1fr;padding-top:150px;padding-bottom:95px}.hero h1{font-size:clamp(3.55rem,10vw,5rem)}.hero-copy{max-width:680px}.hero-visual{min-height:570px}.reactor-card{width:min(100%,470px)}.orbit-a{width:530px;height:530px}.scroll-cue{display:none}
  .ecosystem-inner{display:block}.ecosystem-names{justify-content:flex-start;margin-top:20px}
  .challenge-layout,.sustainability-layout,.collaborate-layout,.faq-layout,.contact-layout{grid-template-columns:1fr;gap:55px}
  .about-top{grid-template-columns:1.15fr .85fr;gap:45px}.about-intro{max-width:none}.about-stage{grid-template-columns:1fr}.about-system{min-height:570px}.about-content{padding:55px}.about-method{grid-template-columns:1fr;gap:24px}.about-method>p{margin-top:0}
  .challenge-copy h2{max-width:700px}.challenge-board{max-width:680px}
  .process-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.process-step{min-height:270px}
  .philosophy-heading,.pillars-heading,.project-header,.roadmap-heading{display:block;margin-bottom:50px}.philosophy-heading>p,.project-header>p,.roadmap-heading>p{margin-top:25px}.philosophy-track{grid-template-columns:1fr}.philosophy-feature{min-height:460px}
  .pillar-grid{grid-template-columns:1fr 1fr}.pillar-card{grid-template-rows:250px 1fr}
  .project-showcase{grid-template-columns:1fr}.project-media{min-height:510px}.project-content{min-height:520px}
  .prototype-sequence ol{grid-template-columns:repeat(2,1fr)}.prototype-sequence li:nth-child(3){border-right:1px solid var(--line)}.prototype-sequence li:nth-child(even){border-right:0}.prototype-sequence li:nth-child(-n+4){border-bottom:1px solid var(--line)}
  .application-grid{grid-template-columns:1fr 1fr}
  .sustainability-visual{order:2}.collaborate-copy,.faq-intro{position:static}.roadmap-stage{grid-template-columns:80px 1fr}.roadmap-stage ul{grid-column:2}
  .footer-top{grid-template-columns:1.3fr 1fr;gap:45px}.footer-bottom{flex-wrap:wrap}

  .home-cta-content{grid-template-columns:1fr;gap:34px}.home-cta-action{max-width:650px;padding-left:0;padding-top:24px;border-left:0;border-top:1px solid rgba(75,212,238,.22)}
}
@media(max-width:560px){
  :root{--shell:calc(100% - 30px);--radius:18px}.section{padding:74px 0}.section h2{font-size:clamp(2.35rem,10vw,3.25rem);line-height:1.08}
  .site-header{padding:11px 0}.brand{width:146px;height:49px}.site-header.scrolled .brand{height:45px}
  .hero-shell{padding-top:125px;padding-bottom:70px}.hero h1{font-size:clamp(3rem,14vw,4.2rem);line-height:1}.hero-lead{margin-top:25px}.hero-actions{display:grid}.hero-labels{margin-top:32px}.hero-labels span{font-size:.66rem}
  .hero-visual{min-height:440px}.reactor-card{padding:14px}.reactor-scene{height:260px}.reactor-flow>div{padding:4px}.reactor-flow i{display:none}.reactor-flow span{font-size:.66rem}.orbit-a{width:390px;height:390px}.orbit-b{width:330px;height:230px}.floating-note{font-size:.64rem}.note-top{right:-4px;top:40px}.note-bottom{left:0;bottom:20px}
  .ecosystem{padding:25px 0}.ecosystem-names{gap:13px}.ecosystem-names i{display:none}.ecosystem-names strong{font-size:.7rem}.ecosystem-names img{width:102px}
  .about-top{grid-template-columns:1fr;gap:30px;padding:46px 0}.about-heading .eyebrow{margin-bottom:16px}.about-heading h2{font-size:clamp(2.45rem,11vw,3.4rem)}.about-intro{padding:0 0 0 20px}.about-index{margin-bottom:12px}.about-summary{font-size:.93rem}.about-stage{margin-top:42px}.about-system{min-height:470px;padding:21px}.system-map{inset:67px 15px 65px}.system-map:before{width:320px;height:320px}.system-map:after{width:230px;height:230px}.system-core{width:128px;height:128px}.system-core span{font-size:.9rem}.system-core small{font-size:.57rem}.system-node{font-size:.64rem}.node-water{left:1%}.node-matter{right:0}.node-energy{right:3%}.system-footer{left:18px;right:18px;bottom:20px;gap:8px;font-size:.55rem}.system-footer i{width:12px}.about-content{padding:37px 25px}.about-content h3{font-size:2.25rem}.about-focus{grid-template-columns:1fr}.about-focus>div{padding:20px 0}.about-focus>div+div{padding-left:0;border-top:1px solid var(--line);border-left:0}.about-focus p{font-size:.86rem}.about-standard{grid-template-columns:1fr;gap:7px}.about-method ol{grid-template-columns:1fr;gap:0}.about-method ol:before{left:18px;right:auto;top:18px;bottom:28px;width:1px;height:auto;background:linear-gradient(var(--blue),var(--cyan),var(--gold))}.about-method li{display:grid;grid-template-columns:48px 1fr;padding:0 0 25px}.about-method li div{padding-top:5px}.about-method li p{max-width:none}
  .challenge-board article{grid-template-columns:52px 1fr;padding:21px 16px;gap:14px}.challenge-icon{width:46px;height:46px}.board-axis{padding:0 16px}
  .philosophy-feature{min-height:440px;padding:28px}.philosophy-feature>div{left:28px;right:28px;bottom:30px}.philosophy-list{grid-template-columns:1fr}.philosophy-list article:nth-child(even){border-left:1px solid var(--line)}.philosophy-list article:nth-child(n+2){border-top:0}.philosophy-list article{min-height:auto;padding:28px}.philosophy-list h3{margin-top:35px}
  .process-flow{grid-template-columns:1fr;gap:13px;margin-top:46px}.process-step{min-height:auto;grid-template-columns:1fr auto;grid-template-rows:auto auto auto 1fr;padding:23px 21px 24px;border:1px solid rgba(151,222,239,.16)!important}.process-step>span{grid-column:1;grid-row:1}.process-symbol{grid-column:2;grid-row:1/3;width:50px;height:50px;margin:0}.process-step small{grid-column:1;grid-row:2;margin-top:16px}.process-step h3{grid-column:1/-1;grid-row:3;margin:16px 0 9px;min-height:0;font-size:1.13rem}.process-step p{grid-column:1/-1;grid-row:4;font-size:.82rem;line-height:1.65}.process-caveat{display:block}.process-caveat span{display:block;margin-bottom:7px}
  .pillars-heading{margin-bottom:34px;padding-bottom:26px}.pillars-heading>.eyebrow{min-width:0;margin-bottom:13px}.pillars-heading>div>h2{font-size:clamp(2.3rem,10vw,3rem);line-height:1.06}.pillars-heading>div>p{margin-top:14px;font-size:.92rem;line-height:1.65}.pillar-grid{grid-template-columns:1fr;gap:20px}.pillar-card{grid-template-rows:220px 1fr;border-radius:20px}.pillar-card-media{padding:0}.pillar-card-content{padding:24px 22px}.pillar-card-content h3{font-size:1.8rem}.pillar-meta>div{padding:14px 15px}
  .project-media{min-height:320px}.project-content{display:block;min-height:auto}.project-tabs{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--dark-line)}.project-tab{min-width:90px;min-height:70px;border-bottom:0;border-right:1px solid var(--dark-line)}.project-tab.active{box-shadow:inset 0 -3px var(--cyan)}.project-panel{padding:32px 24px}.project-panel h3{font-size:2.1rem}
  .prototype-rig{min-height:420px;padding:17px}.prototype-rig svg{margin-top:45px}.rig-metrics{left:17px;right:17px;bottom:17px;flex-wrap:wrap}.rig-label small{display:none}.prototype-sequence ol{grid-template-columns:1fr}.prototype-sequence li{min-height:auto;border-right:0!important;border-bottom:1px solid var(--line)!important;display:grid;grid-template-columns:45px 1fr;padding:21px 10px}.prototype-sequence li div{margin-top:0}.prototype-sequence li:last-child{border-bottom:0!important}
  .application-grid{grid-template-columns:1fr}.application-grid article,.application-grid .application-lead{min-height:230px;padding:24px}.application-grid article h3,.application-grid .application-lead h3{margin-top:28px}.application-grid .application-lead small+h3{margin-top:8px}
  .sustainability-visual{min-height:390px;transform:scale(.78)}.sustainability-diagram{min-height:0;transform:none}.resource-water{width:460px;height:260px}.resource-mineral{width:350px;height:350px}.resource-energy{width:240px;height:410px}
  .roadmap-stage{grid-template-columns:56px 1fr;gap:15px}.stage-marker span{width:48px;height:48px}.stage-marker i{left:24px;top:calc(50% + 24px)}.roadmap-stage ul{grid-column:2}.stage-main h3{font-size:1.3rem}
  .partner-list article{grid-template-columns:43px 1fr}.faq-list summary{font-size:1rem;line-height:1.55}
  .form-row{grid-template-columns:1fr}.form-heading{display:block}.form-heading small{display:block;margin-top:4px}.contact-form{padding:24px 19px}.form-footer{display:block}.form-footer>p{margin-top:13px}
  .footer-top{grid-template-columns:1fr;gap:30px}.footer-bottom{align-items:flex-start;flex-direction:column}.legal-dialog>div{padding:35px 25px}

  .home-cta{padding:78px 0}.home-cta-orbit{width:300px;height:300px;right:-155px}.home-cta-inner>.eyebrow{margin-bottom:20px}.home-cta-content{gap:27px}.home-cta-content h2{font-size:clamp(2.45rem,11vw,3.5rem);line-height:1.02}.home-cta-action{padding-top:20px}.home-cta-action p{font-size:.9rem;margin-bottom:22px}.home-cta-button{width:100%}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}
}
