:root{--bg:#090d0b;--panel:#101713;--line:rgba(225,241,229,.12);--text:#edf4ee;--muted:#8b9a8f;--green:#b5f36e;--cyan:#81d9cc;--orange:#eaa77c;--mono:"DM Mono",monospace;--sans:"Manrope",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.announcement{height:35px;padding:0 6.2%;display:flex;align-items:center;gap:10px;background:#101713;border-bottom:1px solid var(--line);font:9px var(--mono);letter-spacing:.12em;color:#a2b2a6}.announce-right{margin-left:auto}.pulse{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}.site-header{height:82px;padding:0 6.2%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(9,13,11,.9);backdrop-filter:blur(18px);z-index:20}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;letter-spacing:-.07em}.brand-mark{width:31px;height:31px;border:1px solid var(--green);display:grid;place-items:center;font-size:18px;color:var(--green);letter-spacing:-.08em}.brand-mark span{font-size:9px}.brand-light{font-weight:500;color:#829087}.nav{display:flex;align-items:center;gap:34px;font-size:11px;color:#a8b4ab}.nav a:not(.nav-cta):hover,.nav a.active{color:var(--green)}.nav-cta{border:1px solid #53664d;padding:13px 17px;color:var(--text);transition:.25s}.nav-cta:hover{background:var(--green);color:#0a1008;border-color:var(--green)}.nav-cta span{margin-left:18px;color:var(--green)}.menu-toggle{display:none;background:none;border:0}.section-shell{width:min(1180px,87.6%);margin:auto}.hero{min-height:650px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;padding-top:35px;padding-bottom:55px}.eyebrow,.section-kicker,.card-index,.project-type,.project-number,.status,.hero-foot,.art-caption,.footer-col>span,.footer-bottom,.work-more,.manifesto-bottom{font:9px var(--mono);letter-spacing:.12em}.eyebrow{color:var(--green);display:flex;align-items:center;gap:12px}.eyebrow-line{width:28px;height:1px;background:var(--green)}h1{font-size:clamp(68px,8.8vw,122px);line-height:.91;letter-spacing:-.09em;margin:29px 0 28px;font-weight:600}.outline-text{-webkit-text-stroke:1px #eaf1eb;color:transparent}.green-dot{color:var(--green)}.hero-lede{max-width:470px;color:#a5b1a8;line-height:1.85;font-size:14px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}.button{display:inline-flex;align-items:center;gap:34px;padding:16px 19px;font-size:11px;font-weight:700;transition:.25s}.button-primary{background:var(--green);color:#10170c}.button-primary:hover{background:#d0ffa0;transform:translateY(-3px)}.text-link{font-size:11px;color:#d9e2db}.text-link span{color:var(--green);margin-left:8px}.hero-foot{display:flex;gap:28px;color:#75847a;margin-top:88px;font-size:8px}.hero-art{height:470px;position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at center,rgba(127,193,103,.12),transparent 57%)}.hero-art:before,.hero-art:after{content:"";position:absolute;width:85%;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent);transform:rotate(35deg)}.hero-art:after{transform:rotate(-35deg)}.art-orbit{position:absolute;border:1px solid rgba(181,243,110,.27);border-radius:50%;transform:rotate(-32deg)}.orbit-one{width:310px;height:430px}.orbit-two{width:410px;height:255px;transform:rotate(38deg);border-color:rgba(129,217,204,.28)}.orbit-three{width:455px;height:170px;transform:rotate(-10deg);border-color:rgba(234,167,124,.22)}.art-core{height:142px;width:142px;border:1px solid rgba(181,243,110,.62);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle,#263923,#111b13 65%);box-shadow:0 0 80px rgba(181,243,110,.12),inset 0 0 35px rgba(181,243,110,.1);z-index:2}.art-core span{font-size:48px;font-weight:500;letter-spacing:-.1em;color:var(--green)}.art-core small{font:8px var(--mono);letter-spacing:.17em;color:#81977f}.art-node{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 18px var(--green);z-index:3}.node-a{top:17%;left:30%}.node-b{bottom:20%;right:21%;background:var(--cyan);box-shadow:0 0 18px var(--cyan)}.node-c{top:32%;right:16%;width:5px;height:5px;background:var(--orange)}.art-caption{position:absolute;bottom:8px;left:12px;right:12px;display:flex;justify-content:space-between;color:#75877a;font-size:8px}.art-cross{position:absolute;color:#718875;font-size:15px}.cross-a{top:10%;right:20%}.cross-b{bottom:16%;left:14%}.ticker{height:57px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;display:flex;align-items:center;background:#0c110e}.ticker-track{display:flex;align-items:center;gap:34px;white-space:nowrap;animation:marquee 28s linear infinite;font:9px var(--mono);letter-spacing:.16em;color:#b4c0b5}.ticker b{color:var(--green);font-size:14px}@keyframes marquee{to{transform:translateX(-30%)}}.section-pad{padding-top:120px;padding-bottom:125px}.intro{display:grid;grid-template-columns:1fr 3fr;gap:40px}.section-kicker{color:var(--green);padding-top:11px}.intro h2,.section-heading h2{font-size:clamp(37px,5vw,61px);line-height:1.08;letter-spacing:-.065em;font-weight:500;margin:0}.muted{color:#718078}.intro-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:34px}.intro-bottom p{font-size:13px;line-height:1.9;color:#9eaca2;max-width:565px;margin:0}.circle-link{width:48px;height:48px;border:1px solid #556c50;border-radius:50%;display:grid;place-items:center;color:var(--green);font-size:18px;transition:.25s}.circle-link:hover{background:var(--green);color:#0b1109}.capabilities-section{background:#0e1511;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:1fr 3fr;gap:40px;margin-bottom:55px}.section-note{font-size:12px;color:#87968c;margin-top:18px}.capability-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.capability-card{min-height:295px;padding:23px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;transition:.3s;background:rgba(255,255,255,.008)}.capability-card:hover{background:#17221a;transform:translateY(-5px)}.card-index{color:#7c8d80;font-size:8px}.cap-icon{font-size:30px;color:var(--green);margin:42px 0 21px}.capability-card h3{font-size:16px;letter-spacing:-.04em;margin:0 0 12px}.capability-card p{font-size:11px;line-height:1.8;color:#95a399;max-width:220px}.card-arrow{position:absolute;right:19px;bottom:19px;color:var(--green)}.work-section{padding-bottom:110px}.work-section .section-heading{margin-bottom:44px}.project-list{border-top:1px solid var(--line)}.project-row{display:grid;grid-template-columns:90px 76px 1fr 170px 25px;align-items:center;gap:22px;padding:28px 3px;border-bottom:1px solid var(--line);transition:.25s}.project-row:hover{background:rgba(181,243,110,.035);padding-left:13px;padding-right:13px}.project-number{color:#738278}.project-symbol{width:57px;height:57px;border:1px solid var(--line);display:grid;place-items:center;font-size:28px;font-weight:600}.vayu-symbol{color:var(--cyan);background:rgba(129,217,204,.06)}.zero-symbol{color:var(--green);background:rgba(181,243,110,.06)}.air-symbol{color:var(--orange);background:rgba(234,167,124,.06)}.project-type{font-size:8px;color:#829187}.project-info h3{font-size:20px;letter-spacing:-.04em;margin:8px 0}.project-info p{font-size:11px;color:#94a198;margin:0}.status{font-size:8px;letter-spacing:.04em;padding:8px 10px;border:1px solid #455b45;color:#b5db91;text-align:center}.status-research{border-color:#3d6862;color:var(--cyan)}.status-initiative{border-color:#725c48;color:var(--orange)}.project-arrow{color:var(--green);font-size:18px}.work-more{display:flex;justify-content:space-between;color:#77867b;margin-top:27px}.manifesto{background:#b5f36e;color:#0a1108;padding:100px 0}.manifesto .section-kicker{color:#304a24}.manifesto-inner>p{font-size:clamp(45px,7.1vw,91px);font-weight:600;letter-spacing:-.08em;line-height:1.04;margin:35px 0 65px}.manifesto-inner>p span{color:transparent;-webkit-text-stroke:1.4px #18301a}.manifesto-bottom{display:flex;justify-content:space-between;align-items:center;color:#35502d}.button-outline{border:1px solid #34502c;color:#10200c}.button-outline:hover{background:#0c190a;color:var(--green)}.team-preview{padding-bottom:110px}.people-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.people-strip>div{border-top:1px solid var(--line);padding-top:20px;display:grid;grid-template-columns:53px 1fr;align-items:center}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#263d22;color:var(--green);font:13px var(--mono);grid-row:span 2}.avatar-cyan{background:#193733;color:var(--cyan)}.avatar-orange{background:#3a2a20;color:var(--orange)}.people-strip strong{font-size:12px}.people-strip small{font:8px var(--mono);letter-spacing:.1em;color:#7f9084}.team-link{display:inline-block;margin-top:34px}.contact-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 78% 50%,rgba(181,243,110,.1),transparent 35%),#0e1511}.contact-band-inner{display:flex;justify-content:space-between;align-items:center;padding-top:78px;padding-bottom:78px}.contact-band h2{font-size:clamp(56px,8vw,94px);line-height:.95;letter-spacing:-.09em;font-weight:500;margin:24px 0 0}.contact-band h2 span{color:var(--green)}.big-arrow{width:83px;height:83px;border:1px solid #66835b;border-radius:50%;display:grid;place-items:center;color:var(--green);font-size:31px;transition:.3s}.big-arrow:hover{background:var(--green);color:#0a1008;transform:rotate(45deg)}.footer{background:#080c0a}.footer-main{padding-top:68px;padding-bottom:60px;display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:40px}.footer-brand{font-size:18px}.footer-main>div:first-child p{font-size:11px;line-height:1.8;color:#89998e;margin-top:20px}.footer-col{display:flex;flex-direction:column;gap:13px}.footer-col>span{color:var(--green);margin-bottom:8px}.footer-col a,.footer-col p{font-size:10px;color:#a4b0a6;margin:0;line-height:1.8}.footer-col a:hover{color:var(--green)}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;padding-bottom:23px;display:flex;justify-content:space-between;color:#728176;font-size:8px}.footer-bottom b{color:var(--green);margin-left:5px}.page-hero{padding:115px 0 85px;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 85% 30%,rgba(181,243,110,.08),transparent 35%)}.page-hero h1{font-size:clamp(55px,8vw,96px);margin:26px 0 22px}.page-hero p{max-width:660px;color:#a4b1a7;font-size:14px;line-height:1.9}.page-content{padding:75px 0 120px}.content-grid{display:grid;grid-template-columns:1fr 2fr;gap:55px;padding:30px 0;border-bottom:1px solid var(--line)}.content-grid h2{font-size:26px;letter-spacing:-.05em;margin:0}.content-grid p,.content-grid li{font-size:13px;line-height:1.9;color:#9eaca2}.content-grid ul{padding-left:18px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.team-card{padding:25px;border:1px solid var(--line);background:#101713}.team-card .avatar{width:65px;height:65px;font-size:18px;margin-bottom:50px}.team-card h3{margin:0 0 7px;font-size:17px}.team-card p{margin:0;color:#93a198;font:9px var(--mono);letter-spacing:.09em}.project-detail{display:grid;grid-template-columns:1.6fr 1fr;gap:55px}.project-detail h2{font-size:29px;letter-spacing:-.05em}.project-detail p{font-size:13px;line-height:2;color:#a4b1a7}.detail-panel{border:1px solid var(--line);padding:25px;height:max-content;background:#101713}.detail-panel span{font:9px var(--mono);color:var(--green)}.detail-panel p{font-size:12px}.contact-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:70px}.contact-info p{font-size:13px;color:#a0ada3;line-height:1.9}.contact-info a{color:var(--green)}.contact-form{display:grid;gap:19px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:grid;gap:9px;font:9px var(--mono);letter-spacing:.1em;color:#9ca99f}.contact-form input,.contact-form textarea,.contact-form select{background:#111914;border:1px solid #354238;padding:15px;color:var(--text);font:12px var(--sans);outline:none;width:100%}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--green)}.contact-form textarea{min-height:125px;resize:vertical}.form-note{font-size:10px;color:#7e8e82}.form-success{color:var(--green);font-size:12px;display:none}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:none}@media(max-width:800px){.site-header{height:70px}.menu-toggle{display:flex;flex-direction:column;gap:6px;padding:10px}.menu-toggle i{height:1px;width:23px;background:var(--green)}.nav{display:none;position:absolute;top:70px;left:0;right:0;padding:24px 6%;background:#0d140f;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:22px}.nav.open{display:flex}.nav-cta{width:max-content}.hero{grid-template-columns:1fr;padding-top:85px}.hero-art{height:390px;grid-row:1}.hero-copy{grid-row:2}.hero-foot{margin-top:55px;flex-wrap:wrap}.section-pad{padding-top:85px;padding-bottom:90px}.intro,.section-heading{grid-template-columns:1fr;gap:23px}.capability-grid{grid-template-columns:repeat(2,1fr)}.project-row{grid-template-columns:55px 55px 1fr 20px;gap:12px}.project-row .status{display:none}.project-symbol{width:48px;height:48px}.people-strip{grid-template-columns:1fr;gap:22px}.footer-main{grid-template-columns:1fr 1fr}.content-grid{grid-template-columns:1fr;gap:15px}.team-grid{grid-template-columns:1fr 1fr}.project-detail,.contact-layout{grid-template-columns:1fr;gap:35px}.page-hero{padding:85px 0 60px}}@media(max-width:500px){.announcement{font-size:7px;padding:0 5%}.announce-right{font-size:7px}.section-shell{width:89%}.hero{padding-top:55px}.hero-art{height:300px}.orbit-one{width:240px;height:320px}.orbit-two{width:300px;height:200px}.orbit-three{width:340px}.art-core{width:110px;height:110px}.art-core span{font-size:38px}h1{font-size:65px}.hero-actions{gap:17px;flex-wrap:wrap}.hero-foot{font-size:7px;gap:13px}.capability-grid{grid-template-columns:1fr}.capability-card{min-height:245px}.cap-icon{margin:30px 0 15px}.project-row{grid-template-columns:45px 1fr 18px}.project-number{display:none}.project-info h3{font-size:17px}.project-info p{font-size:10px;line-height:1.6}.project-type{font-size:7px}.project-symbol{width:40px;height:40px;font-size:22px}.footer-main{grid-template-columns:1fr 1fr;gap:35px 20px}.footer-bottom{flex-direction:column;gap:12px}.manifesto{padding:80px 0}.manifesto-bottom{gap:20px;align-items:flex-start;flex-direction:column}.contact-band-inner{padding-top:60px;padding-bottom:60px}.big-arrow{width:60px;height:60px}.team-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}}
/* GenSolutions DNA / founding purpose */
.dna-section{background:#0c120e;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.dna-top{display:grid;grid-template-columns:1fr 3fr;gap:40px}.dna-top h2{font-size:clamp(38px,5.4vw,66px);line-height:1.06;letter-spacing:-.07em;font-weight:500;margin:27px 0 20px}.dna-highlight{color:var(--green)}.dna-lede{max-width:670px;color:#a4b1a7;font-size:14px;line-height:1.9}.dna-statement{margin:65px 0 0;padding:28px 32px;border-left:2px solid var(--green);background:linear-gradient(90deg,rgba(181,243,110,.08),rgba(181,243,110,0));}.dna-statement>span,.dna-grid article>span{font:9px var(--mono);letter-spacing:.12em;color:var(--green)}.dna-statement p{font-size:clamp(19px,2.7vw,30px);letter-spacing:-.04em;line-height:1.45;max-width:900px;margin:16px 0 0}.dna-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:35px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.dna-grid article{padding:25px 20px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:205px}.dna-grid article h3{font-size:17px;letter-spacing:-.04em;margin:28px 0 10px}.dna-grid article p{font-size:11px;line-height:1.85;color:#96a49a;margin:0}.dna-foot{display:flex;justify-content:space-between;margin-top:28px;font:8px var(--mono);letter-spacing:.12em;color:#819086}@media(max-width:800px){.dna-top{grid-template-columns:1fr;gap:24px}.dna-grid{grid-template-columns:repeat(2,1fr)}.dna-statement{margin-top:45px}}@media(max-width:500px){.dna-grid{grid-template-columns:1fr}.dna-grid article{min-height:auto}.dna-foot{flex-direction:column;gap:10px}}

.team-card .team-bio{margin-top:17px;color:#89998e;font:11px/1.8 var(--sans);letter-spacing:0}

/* Motion direction — purposeful, reduced-motion aware, and framework-free */
.scroll-progress{position:fixed;inset:0 auto auto 0;width:100%;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left center;z-index:1000;box-shadow:0 0 14px rgba(181,243,110,.45);pointer-events:none}
.site-header{transition:height .35s ease,background .35s ease,border-color .35s ease,box-shadow .35s ease}
.site-header.is-scrolled{background:rgba(7,12,9,.96);box-shadow:0 10px 36px rgba(0,0,0,.22);border-bottom-color:rgba(181,243,110,.16)}
.pointer-aura{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.38;background:radial-gradient(420px circle at var(--pointer-x,50%) var(--pointer-y,50%),rgba(181,243,110,.075),transparent 72%);mix-blend-mode:screen}
body.motion-enabled main,body.motion-enabled .site-header,body.motion-enabled .footer{position:relative;z-index:1}
body.motion-enabled .hero-copy>*{opacity:0;animation:gs-rise-in .8s cubic-bezier(.2,.7,.2,1) forwards}
body.motion-enabled .hero-copy .eyebrow{animation-delay:.08s}
body.motion-enabled .hero-copy h1{animation-delay:.18s}
body.motion-enabled .hero-copy .hero-lede{animation-delay:.3s}
body.motion-enabled .hero-copy .hero-actions{animation-delay:.4s}
body.motion-enabled .hero-copy .hero-foot{animation-delay:.52s}
body.motion-enabled .hero-art{animation:gs-art-in 1.2s cubic-bezier(.18,.72,.2,1) both}
body.motion-enabled .art-core{transition:transform .22s ease-out;transform:translate3d(var(--art-shift-x,0px),var(--art-shift-y,0px),0);animation:gs-core-breathe 5.5s ease-in-out infinite}
body.motion-enabled .orbit-one{animation:gs-orbit-one 76s linear infinite}
body.motion-enabled .orbit-two{animation:gs-orbit-two 92s linear infinite}
body.motion-enabled .orbit-three{animation:gs-orbit-three 110s linear infinite}
body.motion-enabled .node-a{animation:gs-float-a 6s ease-in-out infinite}
body.motion-enabled .node-b{animation:gs-float-b 7.5s ease-in-out infinite}
body.motion-enabled .node-c{animation:gs-float-c 5.2s ease-in-out infinite}
@keyframes gs-rise-in{from{opacity:0;transform:translate3d(0,24px,0);filter:blur(5px)}to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}}
@keyframes gs-art-in{from{opacity:0;transform:translate3d(18px,10px,0) scale(.94)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes gs-core-breathe{0%,100%{box-shadow:0 0 65px rgba(181,243,110,.10),inset 0 0 28px rgba(181,243,110,.08)}50%{box-shadow:0 0 105px rgba(181,243,110,.22),inset 0 0 42px rgba(181,243,110,.15)}}
@keyframes gs-orbit-one{to{transform:rotate(328deg)}}
@keyframes gs-orbit-two{to{transform:rotate(398deg)}}
@keyframes gs-orbit-three{to{transform:rotate(350deg)}}
@keyframes gs-float-a{0%,100%{transform:translate(0,0)}50%{transform:translate(7px,-11px)}}
@keyframes gs-float-b{0%,100%{transform:translate(0,0)}50%{transform:translate(-9px,8px)}}
@keyframes gs-float-c{0%,100%{transform:translate(0,0);opacity:.65}50%{transform:translate(4px,-8px);opacity:1}}
.reveal{transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.capability-card,.team-card{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-style:preserve-3d;will-change:transform}
.capability-card::after,.team-card::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;background:radial-gradient(260px circle at var(--spot-x,50%) var(--spot-y,50%),rgba(181,243,110,.11),transparent 72%);transition:opacity .3s ease}
.capability-card>* ,.team-card>*{position:relative;z-index:1}
.capability-card:hover,.team-card:hover{transform:perspective(900px) translateY(-5px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));border-color:rgba(181,243,110,.32)}
.capability-card:hover::after,.team-card:hover::after{opacity:1}
.project-row{position:relative;overflow:hidden}
.project-row::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(90deg,transparent,rgba(181,243,110,.055),transparent);transform:translateX(-100%);transition:opacity .3s ease}
.project-row:hover::before{opacity:1;animation:gs-row-sheen .9s ease}
@keyframes gs-row-sheen{to{transform:translateX(100%)}}
.project-arrow,.card-arrow,.text-link span{transition:transform .25s ease,color .25s ease}
.project-row:hover .project-arrow,.capability-card:hover .card-arrow{transform:translate(3px,-3px)}
.text-link:hover span{display:inline-block;transform:translateX(5px)}
.nav a:not(.nav-cta){position:relative}
.nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--green);transition:right .25s ease}
.nav a:not(.nav-cta):hover::after,.nav a.active::after{right:0}
.button,.big-arrow{will-change:transform}
.button-primary,.big-arrow{transition:background .25s ease,color .25s ease,border-color .25s ease,transform .2s ease}
.button-primary:focus-visible,.big-arrow:focus-visible,.nav a:focus-visible,.text-link:focus-visible,.circle-link:focus-visible{outline:2px solid var(--green);outline-offset:4px}
a,button,input,textarea,select{-webkit-tap-highlight-color:transparent}
@view-transition{navigation:auto}
::view-transition-old(root){animation:gs-page-out .18s ease both}
::view-transition-new(root){animation:gs-page-in .32s ease both}
@keyframes gs-page-out{to{opacity:0;filter:blur(3px)}}
@keyframes gs-page-in{from{opacity:0;filter:blur(3px)}to{opacity:1;filter:blur(0)}}
@media(max-width:800px){.pointer-aura{display:none}.capability-card,.team-card{transform:none!important}.capability-card:hover,.team-card:hover{transform:translateY(-3px)!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.pointer-aura{display:none}.reveal{opacity:1!important;transform:none!important;filter:none!important}}

/* =========================================================
   GEN / VISUAL SYSTEM 02 — considered color, depth & rhythm
   ========================================================= */
:root{
  --bg:#07100c;
  --panel:#0c1811;
  --panel2:#112117;
  --line:rgba(225,241,229,.13);
  --text:#f0f4ec;
  --muted:#9ca99c;
  --green:#c7ef78;
  --cyan:#8cdbce;
  --orange:#e5a17b;
  --paper:#e9eee2;
  --ink:#11251a;
  --forest:#183a28;
  --mono:"DM Mono",monospace;
  --sans:"Manrope",sans-serif;
}
html{background:var(--bg);scroll-padding-top:105px}
body{background:radial-gradient(ellipse at 50% -15%,rgba(45,90,58,.19),transparent 43%),var(--bg);color:var(--text)}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.15;background-image:linear-gradient(rgba(208,230,209,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(208,230,209,.05) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,black,transparent 76%)}
::selection{background:var(--green);color:#0a170d}
.announcement{background:#0a1510;color:#acb9ad;border-color:rgba(199,239,120,.12)}
.pulse{background:var(--green);box-shadow:0 0 12px rgba(199,239,120,.8)}
.site-header{background:rgba(7,16,12,.84);border-bottom-color:rgba(221,240,224,.1)}
.site-header.is-scrolled{background:rgba(7,16,12,.96);border-bottom-color:rgba(199,239,120,.22)}
.brand-mark{border-color:var(--green);color:var(--green);border-radius:3px}
.brand{letter-spacing:-.065em}
.brand-light{color:#9aa99d}
.nav{gap:clamp(16px,2.4vw,34px);font-size:11px}
.nav-cta{border-color:rgba(199,239,120,.46);border-radius:2px}
.nav-cta:hover{background:var(--green);color:#101b11}
.hero{min-height:min(760px,calc(100svh - 117px));position:relative}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:28px;height:1px;background:linear-gradient(90deg,transparent,rgba(199,239,120,.26),transparent);pointer-events:none}
.hero-copy{position:relative;z-index:2}
.hero h1{font-size:clamp(72px,9.5vw,132px);font-weight:600;letter-spacing:-.095em;line-height:.88;margin-top:33px}
.outline-text{-webkit-text-stroke:1px rgba(240,244,236,.82);text-shadow:0 0 32px rgba(199,239,120,.05)}
.green-dot{color:var(--green)}
.eyebrow{color:var(--green);letter-spacing:.16em}
.hero-lede{font-size:clamp(14px,1.25vw,16px);max-width:500px;color:#b4c1b5;line-height:1.95}
.button{border-radius:2px;letter-spacing:.015em}
.button-primary{background:var(--green);color:#0c180e;box-shadow:0 8px 30px rgba(199,239,120,.08)}
.button-primary:hover{background:#d8ff9b;box-shadow:0 12px 36px rgba(199,239,120,.17)}
.text-link{font-weight:700}
.hero-foot{color:#8a9b8d}
.hero-art{isolation:isolate;border:1px solid rgba(199,239,120,.08);background:radial-gradient(circle at 50% 50%,rgba(199,239,120,.11),transparent 35%),linear-gradient(135deg,rgba(30,65,42,.42),rgba(7,16,12,.06) 62%);border-radius:2px}
.hero-art::before,.hero-art::after{background:linear-gradient(90deg,transparent,rgba(199,239,120,.2),transparent)}
.art-orbit{border-color:rgba(199,239,120,.32);filter:drop-shadow(0 0 8px rgba(199,239,120,.05))}
.orbit-two{border-color:rgba(140,219,206,.34)}
.orbit-three{border-color:rgba(229,161,123,.3)}
.art-core{border-color:rgba(199,239,120,.78);background:radial-gradient(circle,#29472c,#0d1b12 72%);box-shadow:0 0 90px rgba(199,239,120,.15),inset 0 0 35px rgba(199,239,120,.12)}
.art-core span{color:var(--green);text-shadow:0 0 28px rgba(199,239,120,.22)}
.art-core small{color:#9ab296}
.art-node{background:var(--green);box-shadow:0 0 20px rgba(199,239,120,.9)}
.node-b{background:var(--cyan);box-shadow:0 0 20px rgba(140,219,206,.9)}
.node-c{background:var(--orange)}
.art-caption{color:#92a494}
.ticker{background:#0b1710;border-color:rgba(199,239,120,.13)}
.ticker-track{color:#c1cec0;letter-spacing:.18em}
.ticker b{color:var(--green)}
.section-kicker{color:var(--green);letter-spacing:.16em}
.intro{position:relative}
.intro h2,.section-heading h2{font-weight:500;letter-spacing:-.075em}
.intro-bottom p{color:#adb9ad;font-size:13px}
.muted{color:#849588}
.circle-link{border-color:rgba(199,239,120,.52);color:var(--green)}
.circle-link:hover{background:var(--green);color:#0b160d}
.dna-section{background:var(--paper);color:var(--ink);border:0;position:relative;overflow:hidden}
.dna-section::before{content:"GEN";position:absolute;right:-.04em;top:-.3em;font-size:clamp(180px,34vw,470px);line-height:1;font-weight:800;letter-spacing:-.12em;color:rgba(17,37,26,.035);pointer-events:none}
.dna-section .section-shell{position:relative;z-index:1}
.dna-section .section-kicker{color:#537354}
.dna-section .eyebrow{color:#355b3c}
.dna-section .eyebrow-line{background:#52794a}
.dna-top h2{font-size:clamp(40px,5.8vw,72px);letter-spacing:-.082em;color:var(--ink);max-width:900px}
.dna-highlight{color:#3d702d}
.dna-lede{color:#4b5d4d;font-size:14px;max-width:690px}
.dna-statement{border-left:3px solid #8db953;background:rgba(255,255,255,.53);box-shadow:0 12px 40px rgba(20,45,28,.035)}
.dna-statement>span{color:#52734a}
.dna-statement p{color:#172c1c;font-size:clamp(20px,2.7vw,33px);font-weight:500;letter-spacing:-.05em}
.dna-grid{border-color:rgba(17,37,26,.13)}
.dna-grid article{border-color:rgba(17,37,26,.13);background:rgba(255,255,255,.26);transition:background .3s ease,transform .3s ease,border-color .3s ease}
.dna-grid article>span{color:#5a7849}
.dna-grid article h3{color:var(--ink);font-size:18px}
.dna-grid article p{color:#566657;font-size:12px;line-height:1.9}
.dna-grid article:hover{background:rgba(255,255,255,.78);transform:translateY(-4px);border-color:rgba(61,112,45,.3)}
.dna-foot{color:#5d705d}
.capabilities-section{background:linear-gradient(180deg,#0d1912,#0a1510);border-color:rgba(199,239,120,.12)}
.capability-grid{border-color:rgba(225,241,229,.14)}
.capability-card{background:linear-gradient(145deg,rgba(24,48,32,.54),rgba(9,20,13,.48));min-height:310px;padding:25px 23px}
.capability-card:hover{background:linear-gradient(145deg,rgba(34,65,42,.82),rgba(11,25,16,.82))}
.card-index{color:#91a594}
.cap-icon{color:var(--green);font-size:34px;text-shadow:0 0 25px rgba(199,239,120,.12)}
.capability-card h3{font-size:18px;letter-spacing:-.045em}
.capability-card p{font-size:12px;color:#a8b6aa;line-height:1.9}
.card-arrow{color:var(--green)}
.method-section{background:#0a140e;border-top:1px solid rgba(199,239,120,.12);border-bottom:1px solid rgba(199,239,120,.12);position:relative;overflow:hidden}
.method-section::after{content:"";position:absolute;inset:auto -15% -55% 35%;height:500px;background:radial-gradient(ellipse,rgba(199,239,120,.075),transparent 68%);pointer-events:none}
.method-section .section-shell{position:relative;z-index:1}
.method-heading{display:grid;grid-template-columns:1fr 3fr;gap:40px;margin-bottom:55px}
.method-heading h2{font-size:clamp(38px,5vw,62px);font-weight:500;line-height:1.08;letter-spacing:-.075em;margin:0}
.method-track{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(199,239,120,.25);border-left:1px solid var(--line)}
.method-step{position:relative;min-height:280px;padding:23px 21px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.012);transition:background .3s ease,transform .3s ease}
.method-step:hover{background:rgba(199,239,120,.055);transform:translateY(-5px)}
.method-number{font:10px var(--mono);color:var(--green);letter-spacing:.15em}
.method-icon{font-size:32px;color:var(--cyan);margin:39px 0 22px}
.method-step h3{font-size:17px;letter-spacing:-.04em;margin:0 0 12px}
.method-step p{color:#9ead9f;font-size:12px;line-height:1.9;margin:0}
.method-footer{display:flex;justify-content:space-between;align-items:center;margin-top:27px;font:8px var(--mono);letter-spacing:.14em;color:#839487}
.work-section{background:transparent}
.project-list{border-top-color:rgba(199,239,120,.2)}
.project-row{min-height:126px;border-bottom-color:var(--line)}
.project-row:hover{background:rgba(199,239,120,.035)}
.project-symbol{border-color:rgba(225,241,229,.17);border-radius:2px}
.project-info h3{font-size:22px;font-weight:600;letter-spacing:-.055em}
.project-info p{color:#a5b2a7;line-height:1.75}
.status{border-radius:2px;text-transform:uppercase;font-size:7px;letter-spacing:.08em}
.status-research{color:var(--cyan);border-color:rgba(140,219,206,.36)}
.status-initiative{color:var(--orange);border-color:rgba(229,161,123,.4)}
.status-discovery{color:var(--green);border-color:rgba(199,239,120,.32)}
.manifesto{background:var(--green);color:#102016;position:relative;overflow:hidden}
.manifesto::after{content:"✳";position:absolute;right:5%;top:-.35em;font-size:clamp(200px,30vw,390px);line-height:1;color:rgba(17,37,26,.055);pointer-events:none;animation:gs-manifesto-spin 70s linear infinite}
.manifesto-inner{position:relative;z-index:1}
.manifesto .section-kicker{color:#42613b}
.manifesto-inner>p{font-size:clamp(48px,7.5vw,100px);letter-spacing:-.09em;line-height:.99}
.manifesto-inner>p span{-webkit-text-stroke:1.5px rgba(17,37,26,.85)}
.manifesto-bottom{color:#45623d}
.button-outline{border-color:rgba(17,37,26,.55);color:#13251a}
.button-outline:hover{background:#102016;color:var(--green)}
.team-preview{background:transparent}
.people-strip>div{border-top-color:rgba(199,239,120,.2)}
.avatar{background:#243d2a;color:var(--green);border:1px solid rgba(199,239,120,.2)}
.avatar-cyan{background:#173933;color:var(--cyan);border-color:rgba(140,219,206,.24)}
.avatar-orange{background:#3b2a20;color:var(--orange);border-color:rgba(229,161,123,.24)}
.people-strip strong{font-size:13px}
.contact-band{background:radial-gradient(ellipse at 82% 55%,rgba(140,219,206,.11),transparent 38%),linear-gradient(125deg,#102219,#09140e 65%);border-color:rgba(199,239,120,.17)}
.contact-band h2{font-size:clamp(62px,9vw,112px);letter-spacing:-.095em}
.big-arrow{border-color:rgba(199,239,120,.55);background:rgba(199,239,120,.035)}
.big-arrow:hover{background:var(--green);color:#0b160d}
.footer{background:#050b07;border-top:1px solid rgba(199,239,120,.13)}
.footer-main{padding-top:78px;padding-bottom:70px}
.footer-col>span{color:var(--green)}
.footer-col a:hover{color:var(--green)}
.footer-bottom{border-top-color:rgba(225,241,229,.12)}
.page-hero{background:radial-gradient(ellipse at 82% 25%,rgba(199,239,120,.09),transparent 38%),linear-gradient(180deg,#0c1911,#07100c);position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;width:340px;height:340px;border:1px solid rgba(199,239,120,.12);border-radius:50%;right:4%;top:12%;box-shadow:0 0 0 45px rgba(199,239,120,.018),0 0 0 90px rgba(199,239,120,.014);pointer-events:none}
.page-hero .section-shell{position:relative;z-index:1}
.page-hero h1{font-size:clamp(58px,8vw,104px);letter-spacing:-.09em}
.page-hero p{font-size:15px;line-height:1.95;max-width:710px}
.page-content{padding-top:88px;padding-bottom:130px}
.content-grid{border-bottom-color:rgba(225,241,229,.13);padding:34px 0}
.content-grid h2{font-size:clamp(24px,3vw,34px);font-weight:500;line-height:1.2;letter-spacing:-.06em}
.content-grid p,.content-grid li{color:#aab7ac;line-height:2}
.content-grid ul{margin-top:20px}
.team-card{background:linear-gradient(145deg,#112117,#0a150e);border-color:rgba(225,241,229,.15);border-radius:3px;min-height:300px;transition:border-color .3s ease,background .3s ease}
.team-card h3{font-size:19px;letter-spacing:-.05em}
.team-card:hover{border-color:rgba(199,239,120,.4)}
.team-card .team-bio{color:#a2b0a4}
.detail-panel{background:linear-gradient(145deg,#112117,#0a150e);border-color:rgba(199,239,120,.18);border-radius:3px}
.detail-panel span{color:var(--green)}
.contact-form input,.contact-form textarea,.contact-form select{border-radius:2px;background:#0d1911;border-color:rgba(225,241,229,.2)}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(199,239,120,.08)}
.form-note{line-height:1.8;color:#8e9e91}
@keyframes gs-manifesto-spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.nav{gap:15px}.method-heading{grid-template-columns:1fr;gap:20px}.method-track{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.hero{min-height:auto;padding-bottom:75px}.hero::after{bottom:22px}.hero-art{border:0}.dna-section::before{right:-.14em;top:.05em}.method-track{grid-template-columns:repeat(2,1fr)}.page-hero::after{right:-180px;top:20%}.footer-main{gap:36px 26px}}
@media(max-width:500px){.hero h1{font-size:clamp(62px,17vw,82px)}.hero-art{background:radial-gradient(circle at 50% 50%,rgba(199,239,120,.09),transparent 42%)}.dna-top h2{font-size:clamp(38px,11vw,52px)}.dna-statement{padding:23px 21px}.method-track{grid-template-columns:1fr}.method-step{min-height:225px}.method-icon{margin:25px 0 17px}.method-footer{align-items:flex-start;flex-direction:column;gap:13px}.project-row{min-height:105px}.project-info h3{font-size:18px}.page-content{padding-top:55px;padding-bottom:85px}.footer-main{padding-top:55px;padding-bottom:45px}}

/* Hero parallax uses CSS variables so the motion stays composited and subtle. */
.art-core{transform:translate3d(var(--art-shift-x,0px),var(--art-shift-y,0px),0);will-change:transform}
.art-orbit{will-change:transform}
.hero-art{perspective:1000px}
.contact-form input:focus-visible,.contact-form textarea:focus-visible,.contact-form select:focus-visible{outline:2px solid var(--green);outline-offset:2px}
@media(max-width:800px){.art-core{transform:none!important}.art-orbit{will-change:auto}}
