/* Inventiva · GBS Launch Studio — original editorial design, no external UI library.
   Compositor-friendly animation, reduced-motion accessible, responsive. */
:root{--g-ink:#0c2928;--g-deep:#061b1d;--g-sea:#0b3435;--g-mint:#bcffb7;--g-lime:#c6f806;--g-gold:#e1c8a4;--g-fog:#e9eee8;--g-cream:#f4f2e9}
html{scroll-behavior:smooth;scroll-padding-top:100px}
*{box-sizing:border-box}
body{margin:0;font-family:"Plus Jakarta Sans",Arial,sans-serif;background:var(--g-cream);color:var(--g-ink)}
.gbs-main{overflow:hidden}.gbs-main a:focus-visible,.gbs-main button:focus-visible,.gbs-main summary:focus-visible{outline:3px solid #c6f806;outline-offset:5px}
.gbs-container{width:min(1320px,calc(100% - 64px));margin:0 auto}
.gbs-skip{position:fixed;top:-100px;left:20px;z-index:11000;border-radius:12px;padding:13px 20px;color:#0a3026;background:#fff}.gbs-skip:focus{top:15px}
.gbs-eyebrow{display:inline-flex;align-items:center;gap:10px;color:#23685b;font-size:11px;font-weight:850;letter-spacing:.22em;text-transform:uppercase}
.gbs-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:#16ab89;box-shadow:0 0 0 5px #54ab9129}
.gbs-hero{position:relative;isolation:isolate;min-height:760px;overflow:hidden;background:radial-gradient(ellipse 55% 68% at 82% 39%,#1656538a,transparent 75%),linear-gradient(135deg,#061d20 0%,#0b3532 60%,#091d20 100%);color:#f7fcf7}
.gbs-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.25;background:linear-gradient(120deg,transparent 0 52%,#b7efe82a 52.07%,transparent 52.15%),radial-gradient(#c8e5d95c .85px,transparent 1px);background-size:100% 100%,27px 27px;mask-image:linear-gradient(95deg,transparent 23%,black 92%);-webkit-mask-image:linear-gradient(95deg,transparent 23%,black 92%)}
.gbs-hero::after{content:"";position:absolute;pointer-events:none;inset:auto -10% -42% 32%;height:580px;background:radial-gradient(ellipse,#b5e7aa13,transparent 70%);z-index:-1}
.gbs-crumb{display:flex;flex-wrap:wrap;gap:9px;padding-top:21px;font-size:11px;color:#a9c9c3}.gbs-crumb a{color:#d2eae4;text-underline-offset:4px}
.gbs-hero__grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);align-items:center;gap:30px;min-height:685px}
.gbs-hero__copy{min-width:0;padding:59px 0 80px;position:relative;z-index:2}
.gbs-hero .gbs-eyebrow{color:#c4e9d4;margin-bottom:28px}.gbs-hero .gbs-eyebrow::before{background:var(--g-lime);box-shadow:0 0 0 6px #c6f80621}
.gbs-hero h1{max-width:760px;margin:0;font-size:clamp(54px,6.25vw,98px);font-weight:850;letter-spacing:-.07em;line-height:1.035;overflow-wrap:break-word;text-wrap:balance}
.gbs-hero h1 .gbs-accent{display:block;color:var(--g-mint);background:linear-gradient(90deg,#e5ffdc,#9ef1bb 53%,#94c7c3 86%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.gbs-hero__intro{max-width:590px;margin:26px 0 0;font-size:clamp(16px,1.55vw,20px);font-weight:450;line-height:1.68;color:#c7ddcf}
.gbs-hero__actions{display:flex;gap:13px;flex-wrap:wrap;margin:34px 0 0}
.gbs-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 22px;border-radius:99px;border:1px solid #dafb98;background:var(--g-lime);color:#183220!important;text-decoration:none!important;font-weight:850;font-size:13px;text-align:center;transition:transform .25s ease,background .25s ease}
.gbs-button:hover{transform:translateY(-2px);background:#e6ff84}
.gbs-button--outline{background:#ddf8e30d;color:#f3fcf6!important;border-color:#c5ebd65c}
.gbs-button--outline:hover{background:#ddf8e32a}
.gbs-button--dark{background:#103b35;color:#f5fff5!important;border-color:#1d5349}.gbs-button--dark:hover{background:#1d574e}
.gbs-hero__chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:33px}.gbs-hero__chips span{font-size:10px;letter-spacing:.08em;font-weight:800;color:#c4ded5;padding:8px 11px;border:1px solid #b7f6cf38;background:#ecfff207;border-radius:100px}
.gbs-visual{position:relative;min-height:550px;min-width:0;display:grid;place-items:center;isolation:isolate}
.gbs-visual__sphere{position:absolute;width:76%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 32% 25%,#f2ffdc38,#90bb9a18 31%,#174c4d3b 62%,#082f2c 78%);box-shadow:inset -26px -17px 50px #021a2275,0 0 100px #93eeba13;border:1px solid #efffee36;transform:rotate(-18deg)}
.gbs-visual__sphere::after{content:"";position:absolute;inset:14%;border-radius:50%;border:1px solid #d8ffe438;transform:scaleX(.53) rotate(22deg)}
.gbs-orbit{position:relative;z-index:1;width:min(100%,640px);height:auto;overflow:visible;filter:drop-shadow(0 23px 30px #00120f47)}
.gbs-orbit__line{fill:none;stroke:#d5ffe9;stroke-opacity:.32;stroke-width:1.4;stroke-dasharray:3 8}
.gbs-orbit__ring{fill:none;stroke:#c4ffd6;stroke-opacity:.4;stroke-width:1.3}
.gbs-orbit__track{fill:none;stroke:#bbefbd;stroke-width:2;stroke-dasharray:10 22;stroke-linecap:round;opacity:.5;transform-origin:320px 280px;animation:gbs-rotate 90s linear infinite}
.gbs-orbit__node{fill:#b9ffba;stroke:#fff;stroke-width:2}
.gbs-orbit__node--warm{fill:#e7cdaf}
.gbs-visual__core{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:192px;height:192px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 29% 18%,#24584e,#082b2d 77%);box-shadow:0 18px 50px #001b1ac2,inset 0 1px 0 #edffe9ab,0 0 0 13px #ffffff0a;border:1px solid #bcffe2a1;text-align:center}
.gbs-visual__core small{font-size:10px;letter-spacing:.23em;font-weight:700;color:#b2ddc4}.gbs-visual__core strong{font-size:64px;line-height:1.2;font-weight:850;letter-spacing:-.08em;color:#f7fff3}.gbs-visual__core em{font-style:normal;font-size:9px;letter-spacing:.2em;color:#c4f3c7}
.gbs-glass{position:absolute;z-index:4;display:flex;align-items:center;gap:11px;padding:14px 16px;background:linear-gradient(132deg,#e7ffed27,#99cfc012);border:1px solid #d9fff25c;border-radius:16px;box-shadow:inset 0 1px 0 #ffffff32,0 14px 32px #00170e36;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);max-width:210px}
.gbs-glass--a{left:-1%;top:13%}.gbs-glass--b{right:-3%;bottom:14%}
.gbs-glass__dot{flex:0 0 9px;width:9px;height:9px;border-radius:50%;background:#c6f806;box-shadow:0 0 0 5px #d2fa721b}
.gbs-glass small{display:block;font-size:9px;letter-spacing:.13em;color:#b5dfce;margin-bottom:3px}.gbs-glass strong{font-size:12px;color:#f5fff3;line-height:1.4}
.gbs-visual__tag{position:absolute;z-index:4;right:3%;top:6%;color:#cee9d6;font-size:10px;letter-spacing:.2em;font-weight:800}
@keyframes gbs-rotate{to{transform:rotate(360deg)}}
.gbs-marquee{position:relative;background:#bfffaa;color:#173826;border-top:1px solid #e9ffe6;border-bottom:1px solid #d3ffd0;overflow:hidden}
.gbs-marquee__inner{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:19px 0}
.gbs-marquee__inner span{display:inline-flex;align-items:center;gap:10px;font-weight:850;font-size:12px;letter-spacing:.075em;white-space:nowrap}
.gbs-marquee__inner span::before{content:"✦";font-size:16px;color:#288356}
.gbs-section{padding:clamp(76px,8vw,117px) 0}
.gbs-section--light{background:var(--g-cream)}
.gbs-section--white{background:#fafbf7}
.gbs-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.55fr);align-items:end;gap:40px;margin-bottom:42px}
.gbs-head h2{max-width:900px;font-size:clamp(38px,4.2vw,66px);font-weight:850;letter-spacing:-.06em;line-height:1.09;margin:20px 0 0;color:#0a2827;text-wrap:balance}
.gbs-head h2 span{color:#378977}
.gbs-head p{max-width:420px;font-size:15px;line-height:1.75;color:#52706b;margin:0}
.gbs-choose{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.gbs-choice{position:relative;min-height:384px;padding:clamp(27px,3.1vw,48px);overflow:hidden;border-radius:30px;background:linear-gradient(145deg,#e3efdf,#d2e5d8 70%,#bad5cc);border:1px solid #fff;box-shadow:0 18px 45px #294d3c15,inset 0 1px 0 #fff}
.gbs-choice--dark{background:radial-gradient(circle at 90% 12%,#32726c88,transparent 48%),linear-gradient(145deg,#0c3836,#082624 75%);color:white;border-color:#7baa9f56}
.gbs-choice__number{font-weight:900;font-size:12px;color:#377d6e;letter-spacing:.18em}
.gbs-choice--dark .gbs-choice__number{color:#c0f1c8}
.gbs-choice h3{font-size:clamp(30px,3vw,44px);line-height:1.14;letter-spacing:-.054em;margin:42px 0 17px;max-width:470px}
.gbs-choice p{max-width:490px;color:#49685b;font-size:15px;line-height:1.76;margin:0}
.gbs-choice--dark p{color:#bfdcd4}
.gbs-choice__foot{position:absolute;bottom:32px;left:clamp(27px,3.1vw,48px);right:clamp(27px,3.1vw,48px);display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #306b6436;padding-top:19px;font-size:12px;font-weight:850}
.gbs-choice--dark .gbs-choice__foot{border-top-color:#eaffc63d;color:#d3f9d1}
.gbs-choice__orb{position:absolute;right:-38px;top:-55px;width:260px;height:260px;border-radius:50%;border:1px solid #26756052;box-shadow:0 0 0 38px #0b73540a,0 0 0 77px #0b735409;pointer-events:none}
.gbs-choice--dark .gbs-choice__orb{border-color:#c5ffdc50;box-shadow:0 0 0 38px #dbffdb0c,0 0 0 77px #dbffdb07}
.gbs-capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gbs-cap{min-width:0;min-height:289px;padding:clamp(23px,2.6vw,35px);position:relative;overflow:hidden;border-radius:25px;border:1px solid #dceae0;background:linear-gradient(141deg,#fff,#f1f6f1);box-shadow:0 15px 34px #244b3610;transition:transform .28s ease,box-shadow .28s ease}
.gbs-cap:hover{transform:translateY(-5px);box-shadow:0 25px 42px #20463224}
.gbs-cap__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}
.gbs-cap__icon{display:grid;place-items:center;width:55px;height:55px;border-radius:17px;background:#d7ead9;color:#105846;border:1px solid #c1dfc9}
.gbs-cap__icon svg{width:28px;height:28px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.gbs-cap__num{font-size:11px;letter-spacing:.12em;font-weight:850;color:#7b9891}
.gbs-cap h3{margin:0 0 11px;font-size:clamp(21px,1.8vw,28px);font-weight:850;letter-spacing:-.045em;color:#102e2a}
.gbs-cap p{margin:0;font-size:14px;line-height:1.73;color:#58716a}
.gbs-cap--focus{background:linear-gradient(145deg,#103e39,#1c6353);border-color:#64a78c;color:#fff}
.gbs-cap--focus h3{color:white}.gbs-cap--focus p{color:#d6eee3}.gbs-cap--focus .gbs-cap__icon{background:#b3ffcb2c;border-color:#b3ffcb69;color:#d1ffe2}.gbs-cap--focus .gbs-cap__num{color:#c2e6d3}
.gbs-roadmap{background:#071e21;color:#fff;position:relative;isolation:isolate}
.gbs-roadmap::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 12% 0%,#2e6f6333,transparent 60%),radial-gradient(ellipse at 90% 90%,#4c9c7034,transparent 60%)}
.gbs-roadmap .gbs-head h2{color:#fff}.gbs-roadmap .gbs-head p{color:#b2cec4}.gbs-roadmap .gbs-eyebrow{color:#bcf6d0}
.gbs-roadmap__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.gbs-phase{padding:clamp(23px,2vw,32px);min-width:0;min-height:323px;border-radius:25px;border:1px solid #ddffdb38;background:linear-gradient(145deg,#f0fff21c,#e5ffd507);position:relative}
.gbs-phase__bar{display:block;width:100%;height:3px;border-radius:4px;background:#c6f806;margin-bottom:31px;transform-origin:left;transform:scaleX(.17);transition:transform .6s ease}
.gbs-phase.is-visible .gbs-phase__bar{transform:scaleX(1)}
.gbs-phase__index{font-size:11px;letter-spacing:.19em;color:#b1ecbc;font-weight:900}
.gbs-phase h3{font-size:clamp(23px,2vw,31px);letter-spacing:-.04em;margin:22px 0 13px;color:#fff;line-height:1.17}
.gbs-phase p{color:#bcd2c9;font-size:14px;line-height:1.65;margin:0}
.gbs-phase__foot{position:absolute;left:clamp(23px,2vw,32px);bottom:23px;font-weight:900;font-size:10px;letter-spacing:.13em;color:#c4efc8}
.gbs-operating{background:#e1ece3;padding:clamp(75px,7vw,106px) 0}
.gbs-operating__grid{display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);gap:clamp(35px,6vw,100px);align-items:center}
.gbs-operating h2{font-size:clamp(39px,4.3vw,67px);line-height:1.08;letter-spacing:-.055em;margin:21px 0;color:#113a31}
.gbs-operating p{font-size:16px;line-height:1.75;color:#4d6a62;max-width:540px}
.gbs-operating__points{display:grid;gap:13px;margin-top:25px}
.gbs-operating__points span{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:800;color:#2b5448}
.gbs-operating__points span::before{content:"";width:7px;height:7px;border-radius:50%;background:#2ca87b;box-shadow:0 0 0 5px #2ba7771c}
.gbs-board{border-radius:32px;padding:clamp(22px,3.7vw,48px);color:white;background:linear-gradient(145deg,#0a3434,#082322);box-shadow:0 30px 60px #1e4d3d31,inset 0 1px 0 #daffe640;border:1px solid #c6ffce35;overflow:hidden;position:relative}
.gbs-board__head{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #d6ffee35;padding-bottom:21px;margin-bottom:25px}
.gbs-board__head strong{font-size:11px;letter-spacing:.19em;color:#dcffdb}
.gbs-board__status{font-size:10px;color:#bfecd2;display:inline-flex;gap:8px;align-items:center}.gbs-board__status::before{content:"";width:7px;height:7px;background:#b0fca8;border-radius:50%}
.gbs-board__center{border:1px solid #d6ffee4c;border-radius:23px;background:linear-gradient(140deg,#dfffe81c,#c2ffd006);min-height:94px;display:flex;align-items:center;justify-content:center;gap:16px;font-size:26px;font-weight:900;letter-spacing:-.055em}
.gbs-board__center span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#c6f806;color:#123d2d;font-size:18px}
.gbs-board__connect{display:flex;justify-content:center;height:29px}.gbs-board__connect::before{content:"";width:1px;background:#a4ebb3}
.gbs-board__nodes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.gbs-board__node{display:flex;align-items:center;gap:12px;padding:18px 15px;border-radius:16px;border:1px solid #d8ffdf3c;background:#e0fff116;font-size:13px;font-weight:800}
.gbs-board__node::before{content:"✦";color:#b6f5b4;font-size:16px}
.gbs-board__bottom{font-size:10px;letter-spacing:.14em;text-align:center;color:#b2dcc0;margin-top:22px}
.gbs-faq{padding:clamp(75px,8vw,116px) 0;background:#f9fbf6}
.gbs-faq__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:70px;align-items:start}
.gbs-faq .gbs-head{display:block;margin:0}.gbs-faq .gbs-head h2{margin:19px 0}
.gbs-faq__items{display:grid;gap:13px}
.gbs-faq details{border:1px solid #d8e6db;border-radius:19px;background:#fff;box-shadow:0 8px 20px #19472c0c;overflow:hidden}
.gbs-faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;font-weight:850;color:#13352e;font-size:15px}
.gbs-faq summary::-webkit-details-marker{display:none}.gbs-faq summary::after{content:"+";font-size:25px;font-weight:400;color:#2c7558}.gbs-faq details[open] summary::after{content:"−"}
.gbs-faq details p{color:#506c60;font-size:14px;line-height:1.8;margin:0;padding:0 22px 25px}
.gbs-last{padding:clamp(75px,8vw,116px) 0;background:radial-gradient(ellipse at 100% 0%,#277b6633,transparent 60%),#0a2928;color:#fff}
.gbs-last__inner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:center;gap:50px}
.gbs-last .gbs-eyebrow{color:#bef2ce}.gbs-last h2{font-size:clamp(41px,5vw,77px);letter-spacing:-.06em;line-height:1.09;margin:18px 0 18px}
.gbs-last p{color:#bed6c9;line-height:1.75;max-width:630px;font-size:16px}
.gbs-last__actions{display:grid;gap:12px}.gbs-last__actions .gbs-button{width:100%}.gbs-last__note{font-size:11px;text-align:center;color:#97b9aa;line-height:1.5}
.js .gbs-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.8,.3,1)}
.js .gbs-reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:1160px){.gbs-hero__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.gbs-hero h1{font-size:clamp(49px,6.2vw,78px)}.gbs-glass--a{left:0}.gbs-glass--b{right:0}.gbs-marquee__inner{justify-content:center}}
@media(max-width:900px){.gbs-container{width:calc(100% - 38px)}.gbs-hero__grid{grid-template-columns:1fr;gap:0}.gbs-hero__copy{padding:64px 0 16px}.gbs-visual{min-height:540px;width:min(100%,660px);margin:0 auto 15px}.gbs-visual__core{width:170px;height:170px}.gbs-head{grid-template-columns:1fr;gap:17px}.gbs-head p{max-width:700px}.gbs-capabilities{grid-template-columns:repeat(2,minmax(0,1fr))}.gbs-roadmap__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gbs-operating__grid{grid-template-columns:1fr}.gbs-faq__grid{grid-template-columns:1fr;gap:29px}.gbs-last__inner{grid-template-columns:1fr;gap:24px}}
@media(max-width:600px){.gbs-container{width:calc(100% - 30px)}.gbs-hero__copy{padding:43px 0 15px}.gbs-hero h1{font-size:clamp(44px,11vw,63px)}.gbs-hero__intro{font-size:16px;margin-top:23px}.gbs-hero__actions{gap:10px}.gbs-button{width:100%}.gbs-hero__chips{gap:7px}.gbs-visual{min-height:390px;max-width:440px}.gbs-visual__core{width:132px;height:132px}.gbs-visual__core strong{font-size:44px}.gbs-visual__core small{font-size:8px}.gbs-visual__core em{font-size:7px}.gbs-glass{padding:10px;max-width:135px;border-radius:12px}.gbs-glass--a{left:0;top:10%}.gbs-glass--b{right:0;bottom:9%}.gbs-glass strong{font-size:10px}.gbs-glass small{font-size:8px}.gbs-visual__tag{font-size:8px}.gbs-marquee__inner{gap:12px 23px;padding:17px 0}.gbs-marquee__inner span{font-size:10px}.gbs-section{padding:67px 0}.gbs-head h2{font-size:clamp(36px,9vw,51px)}.gbs-choose{grid-template-columns:1fr}.gbs-choice{min-height:347px}.gbs-capabilities,.gbs-roadmap__grid{grid-template-columns:1fr}.gbs-cap{min-height:0}.gbs-phase{min-height:290px}.gbs-operating{padding:73px 0}.gbs-board{padding:25px 20px}.gbs-board__center{font-size:22px}.gbs-board__nodes{gap:8px}.gbs-board__node{font-size:11px;padding:15px 11px}.gbs-last h2{font-size:clamp(38px,10vw,54px)}}
@media(max-width:375px){.gbs-hero h1{font-size:clamp(39px,10.5vw,47px)}.gbs-visual__core{width:116px;height:116px}.gbs-glass{max-width:118px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gbs-orbit__track{animation:none}.gbs-button,.gbs-cap,.gbs-phase__bar,.js .gbs-reveal{transition:none!important}.js .gbs-reveal{opacity:1;transform:none}.gbs-button:hover,.gbs-cap:hover{transform:none}}
