/* INVENTIVA WEBDEV · blueprint / technical editorial · v100
   Reference analyzed from supplied ZIP; original CSS motion built for Inventiva. */
:root{--wd-black:#030507;--wd-ink:#f4f8fb;--wd-blue:#79caff;--wd-green:#c6f806;--wd-muted:#a4b6c1;--wd-border:rgba(201,228,245,.22)}
html{scroll-behavior:smooth;scroll-padding-top:95px}
html,body{margin:0;padding:0}
body.wd-page{background:var(--wd-black);color:var(--wd-ink);font-family:"Open Sans",Arial,sans-serif;overflow-x:clip}
.wd-page .inv-header{z-index:100}
.wd-page main{min-height:100vh}
.wd-page main *{box-sizing:border-box}
.wd-page .wd-grid{
 background-image:linear-gradient(rgba(134,173,202,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(134,173,202,.075) 1px,transparent 1px);
 background-size:66px 66px;background-position:50% 0}
.wd-wrap{width:min(1300px,calc(100% - 56px));margin:0 auto}
.wd-eyebrow{display:flex;gap:15px;align-items:center;font-size:11px;font-weight:700;letter-spacing:.18em;color:#a3c1d2;text-transform:uppercase}
.wd-eyebrow::before{content:"";width:30px;height:1px;background:var(--wd-blue)}
.wd-page a:focus-visible,.wd-page button:focus-visible{outline:3px solid var(--wd-green);outline-offset:5px}
.wd-page .wd-link{color:var(--wd-ink);text-decoration:underline;text-decoration-color:var(--wd-blue);text-underline-offset:6px}
.wd-page .wd-btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:12px;padding:14px 24px;min-height:52px;font-size:13px;font-weight:700;text-decoration:none;border:1px solid rgba(244,250,255,.7);color:var(--wd-ink);transition:background .2s ease,color .2s ease,transform .2s ease}
.wd-page .wd-btn:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}
.wd-page .wd-btn--green{background:var(--wd-green);color:#14251d;border-color:var(--wd-green)}
.wd-page .wd-btn--green:hover{background:#e0ff86;color:#0c2a1a}
.wd-page .wd-kicker{font-size:clamp(11px,1.15vw,14px);letter-spacing:.12em;text-transform:uppercase;color:#9bb2c5}
.wd-page .wd-accent{color:var(--wd-blue)}
.wd-page .wd-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--wd-border);background:radial-gradient(ellipse at 77% 32%,rgba(41,110,157,.15),transparent 45%),#03070e}
.wd-page .wd-hero__layout{min-height:clamp(650px,85vh,910px);display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:22px;align-items:center;padding-block:clamp(55px,7vw,96px)}
.wd-page .wd-hero__copy{position:relative;z-index:3}
.wd-page .wd-hero h1{font-family:"Open Sans",Arial,sans-serif;font-size:clamp(55px,6.7vw,100px);line-height:.99;letter-spacing:-.078em;font-weight:700;margin:27px 0 29px;max-width:9.6ch;text-wrap:balance}
.wd-page .wd-hero h1 em{color:var(--wd-blue);font-style:normal}
.wd-page .wd-hero__description{max-width:560px;font-size:clamp(16px,1.5vw,20px);font-weight:300;color:#bbcfdb;line-height:1.7;margin:0 0 29px}
.wd-page .wd-hero__actions{display:flex;gap:12px;flex-wrap:wrap}
.wd-page .wd-hero__annotation{display:flex;gap:16px;align-items:center;margin-top:38px;font-size:11px;color:#adc2cd;text-transform:uppercase;letter-spacing:.08em}
.wd-page .wd-hero__annotation i{display:block;width:53px;height:1px;background:var(--wd-blue)}
.wd-page .wd-hero__visual{min-width:0;min-height:550px;display:grid;place-items:center;position:relative;perspective:1100px;isolation:isolate}
.wd-page .wd-hero__visual::before{content:"";position:absolute;width:92%;aspect-ratio:1;border:1px solid rgba(176,227,249,.16);border-radius:50%;box-shadow:0 0 0 40px rgba(177,231,255,.02),0 0 0 90px rgba(177,231,255,.012);pointer-events:none}
.wd-page .wd-hero__visual::after{content:"";position:absolute;inset:9%;background:linear-gradient(90deg,transparent 49.9%,rgba(156,224,255,.3) 50%,transparent 50.1%),linear-gradient(transparent 49.9%,rgba(156,224,255,.3) 50%,transparent 50.1%);pointer-events:none;opacity:.45}
.wd-page .wd-isometric{width:min(96%,560px);aspect-ratio:1.12;position:relative;transform-style:preserve-3d;transform:rotateX(53deg) rotateZ(-35deg);will-change:transform;transition:transform .22s ease-out}
.wd-page .wd-isometric__floor{position:absolute;inset:8%;border:1px solid rgba(182,226,245,.69);background:rgba(68,152,203,.04);box-shadow:inset 0 0 0 10px rgba(225,250,255,.025),0 0 0 1px rgba(78,168,232,.25)}
.wd-page .wd-isometric__floor::after{content:"";position:absolute;inset:7%;border:1px dashed rgba(166,213,255,.33)}
.wd-page .wd-panel{position:absolute;border:1px solid rgba(199,235,255,.76);background:linear-gradient(135deg,rgba(123,201,250,.12),rgba(23,63,112,.05));box-shadow:8px 10px 0 rgba(51,108,155,.12),inset 0 0 30px rgba(144,224,255,.05);transition:border-color .3s,background .3s}
.wd-page .wd-panel::before{content:"";position:absolute;inset:9px;background:repeating-linear-gradient(180deg,rgba(181,231,255,.42) 0 1px,transparent 1px 11px);opacity:.37}
.wd-page .wd-panel--header{width:68%;height:12%;top:13%;left:16%}
.wd-page .wd-panel--hero{width:45%;height:34%;top:29%;left:16%}
.wd-page .wd-panel--form{width:18%;height:34%;top:29%;right:16%;background:rgba(110,180,220,.11)}
.wd-page .wd-panel--card1{width:19%;height:17%;bottom:16%;left:16%}
.wd-page .wd-panel--card2{width:19%;height:17%;bottom:16%;left:40%}
.wd-page .wd-panel--card3{width:19%;height:17%;bottom:16%;right:16%}
.wd-page .wd-panel--hero::after{content:"WEB / 01";position:absolute;inset:18% 11% auto;font-size:clamp(13px,2.4vw,30px);font-weight:700;letter-spacing:-.07em;color:#e6f9ff}
.wd-page .wd-isometric__node{position:absolute;z-index:3;width:11px;height:11px;border-radius:50%;background:#c6f806;box-shadow:0 0 18px rgba(198,248,6,.8)}
.wd-page .wd-isometric__node--one{top:13%;left:16%}.wd-page .wd-isometric__node--two{top:63%;right:16%}.wd-page .wd-isometric__node--three{left:35%;bottom:16%}
.wd-page .wd-visual-label{position:absolute;z-index:4;padding:11px 14px;border:1px solid rgba(157,224,255,.57);background:rgba(5,22,43,.85);font-size:11px;letter-spacing:.13em;color:#ceebff;line-height:1.4}
.wd-page .wd-visual-label--one{left:0;top:14%}.wd-page .wd-visual-label--two{right:0;bottom:14%}
.wd-page .wd-visual-label b{display:block;color:#fff;font-size:14px;margin-top:6px;letter-spacing:0}
.wd-page .wd-hero__orbit{position:absolute;inset:8%;border:1px dashed rgba(172,214,241,.27);border-radius:50%;animation:wdSpin 32s linear infinite;pointer-events:none}
.wd-page .wd-hero__orbit::after{content:"";position:absolute;top:6%;left:22%;width:8px;height:8px;border-radius:50%;background:var(--wd-blue);box-shadow:0 0 23px #78d8ff}
@keyframes wdSpin{to{transform:rotate(360deg)}}
.wd-page .wd-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--wd-border);background:#06111d}
.wd-page .wd-metric{padding:26px clamp(16px,3vw,38px);border-right:1px solid var(--wd-border)}
.wd-page .wd-metric:last-child{border:0}
.wd-page .wd-metric strong{display:block;font-size:clamp(33px,4.3vw,57px);font-weight:300;letter-spacing:-.075em;line-height:1;color:#f5fbff}
.wd-page .wd-metric span{display:block;margin-top:10px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#abc3d4;line-height:1.7}
.wd-page .wd-section{border-bottom:1px solid var(--wd-border);padding:clamp(82px,9vw,136px) 0;background-color:rgba(2,6,13,.83)}
.wd-page .wd-section__split{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(28px,6vw,90px);align-items:start}
.wd-page .wd-section h2{font-weight:300;line-height:1.07;font-size:clamp(39px,5.1vw,75px);letter-spacing:-.065em;margin:20px 0;max-width:13ch;text-wrap:balance}
.wd-page .wd-section__intro{font-size:16px;line-height:1.85;color:#b5c8d5;max-width:620px}
.wd-page .wd-services{border-top:1px solid var(--wd-border)}
.wd-page .wd-services__row{border-bottom:1px solid var(--wd-border);display:grid;grid-template-columns:50px minmax(0,1fr) minmax(100px,.62fr) 90px;align-items:center;gap:20px;padding:24px 0;color:#f7fbff;transition:background .2s}
.wd-page .wd-services__row:hover{background:rgba(255,255,255,.035)}
.wd-page .wd-services__index{font-size:11px;color:var(--wd-blue);letter-spacing:.12em}
.wd-page .wd-services__row h3{font-size:clamp(19px,2.2vw,31px);letter-spacing:-.05em;font-weight:400;margin:0}
.wd-page .wd-services__row p{font-size:12px;color:#adbece;line-height:1.6;margin:0}
.wd-page .wd-services__price{text-align:right;color:#c6f806;font-weight:700;font-size:22px}
.wd-page .wd-services__price small{display:block;color:#b4c4d1;font-weight:300;font-size:10px;text-transform:uppercase;letter-spacing:.13em}
.wd-page .wd-visual-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:50px}
.wd-page .wd-blueprint-demo{position:relative;min-height:420px;background:repeating-linear-gradient(90deg,rgba(181,226,255,.055) 0 1px,transparent 1px 31px),repeating-linear-gradient(180deg,rgba(181,226,255,.055) 0 1px,transparent 1px 31px);border:1px solid var(--wd-border);padding:30px}
.wd-page .wd-blueprint-demo:before,.wd-page .wd-blueprint-demo:after{content:"";position:absolute;border:1px solid rgba(187,231,255,.24);pointer-events:none}
.wd-page .wd-blueprint-demo:before{inset:17px}.wd-page .wd-blueprint-demo:after{inset:40px 15%}
.wd-page .wd-demo-browser{position:absolute;inset:19% 14%;border:1px solid rgba(189,235,255,.73);background:rgba(6,25,41,.72);transform:translateY(0);transition:transform .45s}
.wd-page .wd-blueprint-demo:hover .wd-demo-browser{transform:translateY(-7px)}
.wd-page .wd-demo-browser__chrome{height:12%;border-bottom:1px solid rgba(198,236,253,.51);display:flex;gap:8px;align-items:center;padding:0 12px}
.wd-page .wd-demo-browser__chrome i{width:5px;height:5px;border:1px solid #b7e3fa;border-radius:50%}
.wd-page .wd-demo-browser__body{display:grid;grid-template-columns:1.2fr .8fr;gap:9%;padding:7% 9%}
.wd-page .wd-demo-browser__head{height:16px;width:72%;background:rgba(207,242,252,.77);margin-bottom:12px}
.wd-page .wd-demo-browser__line{height:5px;margin:7px 0;background:rgba(161,221,250,.3);width:90%}
.wd-page .wd-demo-browser__line:nth-child(3){width:64%}
.wd-page .wd-demo-browser__button{width:55%;height:13px;background:var(--wd-green);margin-top:20px}
.wd-page .wd-demo-browser__shape{border:1px solid rgba(190,238,255,.58);background:linear-gradient(137deg,rgba(106,190,239,.22),rgba(106,190,239,.015));min-height:115px;transform:skewY(-9deg);box-shadow:12px 15px 0 rgba(83,167,224,.06)}
.wd-page .wd-demo-browser__cards{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.wd-page .wd-demo-browser__cards i{display:block;height:43px;border:1px solid rgba(191,232,255,.3)}
.wd-page .wd-schematic-tag{position:absolute;right:15px;bottom:13px;color:#9abbd0;font-size:10px;letter-spacing:.1em}
.wd-page .wd-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:45px;border-top:1px solid var(--wd-border)}
.wd-page .wd-step{padding:28px 22px 36px;border-right:1px solid var(--wd-border);border-bottom:1px solid var(--wd-border);position:relative;transition:background .25s}
.wd-page .wd-step:hover{background:rgba(107,185,227,.07)}
.wd-page .wd-step:last-child{border-right:0}
.wd-page .wd-step__num{font-size:12px;letter-spacing:.2em;color:var(--wd-blue)}
.wd-page .wd-step h3{font-size:24px;font-weight:400;letter-spacing:-.05em;margin:36px 0 11px}
.wd-page .wd-step p{font-size:13px;line-height:1.75;color:#b7c9d3;margin:0}
.wd-page .wd-steps-note{color:#adc0ce;font-size:13px;margin-top:20px;line-height:1.7}
.wd-page .wd-plan-table{border-top:1px solid var(--wd-border)}
.wd-page .wd-plan-row{display:grid;grid-template-columns:minmax(0,1fr) 140px 126px;gap:15px;align-items:center;border-bottom:1px solid var(--wd-border);padding:27px 0}
.wd-page .wd-plan-row h3{font-size:clamp(24px,3vw,39px);font-weight:300;letter-spacing:-.055em;margin:0 0 7px}
.wd-page .wd-plan-row p{font-size:13px;line-height:1.7;margin:0;color:#a9bccc}
.wd-page .wd-plan-row strong{font-size:28px;letter-spacing:-.04em;font-weight:400;color:var(--wd-green)}
.wd-page .wd-plan-row strong small{display:block;color:#a8c0ce;font-size:11px;font-weight:300;letter-spacing:.13em;text-transform:uppercase}
.wd-page .wd-plan-row a{font-size:12px;text-align:center;padding:11px;border:1px solid rgba(239,248,255,.46);text-decoration:none}
.wd-page .wd-plan-row a:hover{background:rgba(255,255,255,.12)}
.wd-page .wd-plan-footnote{color:#abc1ce;font-size:12px;line-height:1.75;margin-top:18px}
.wd-page .wd-contact{background:radial-gradient(ellipse 50% 65% at 88% 30%,rgba(27,111,160,.17),transparent),#05101d}
.wd-page .wd-contact__grid{display:grid;grid-template-columns:1fr minmax(0,.86fr);gap:50px;align-items:start}
.wd-page .wd-contact h2{max-width:14ch}
.wd-page .wd-contact__panel{border:1px solid var(--wd-border);padding:clamp(23px,3vw,40px);background:rgba(5,25,38,.85)}
.wd-page .wd-contact__panel h3{font-weight:300;font-size:30px;line-height:1.15;letter-spacing:-.04em;margin:0 0 15px}
.wd-page .wd-contact__panel p{font-size:14px;color:#aec1cf;line-height:1.7}
.wd-page .wd-contact__panel a{margin-top:18px;width:100%}
.wd-page .wd-endmark{font-size:clamp(58px,10vw,130px);font-weight:300;letter-spacing:-.11em;line-height:1;margin:58px 0 0;white-space:nowrap}
.wd-page .wd-endmark span{color:var(--wd-blue)}
.wd-page .wd-reveal{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.wd-page .wd-reveal.wd-is-visible{opacity:1;transform:translateY(0)}
.wd-page .wd-section h2,.wd-page .wd-hero h1{overflow-wrap:break-word}
@media(max-width:1150px){
 .wd-page .wd-hero__layout{grid-template-columns:1fr;min-height:auto}
 .wd-page .wd-hero h1{max-width:13ch}
 .wd-page .wd-hero__visual{min-height:460px}
 .wd-page .wd-section__split,.wd-page .wd-contact__grid,.wd-page .wd-visual-section{grid-template-columns:1fr}
 .wd-page .wd-section h2{max-width:17ch}
}
@media(max-width:760px){
 .wd-wrap{width:calc(100% - 36px)}
 .wd-page .wd-hero__layout{padding-block:51px 42px}
 .wd-page .wd-hero h1{font-size:clamp(46px,11.7vw,78px);max-width:11ch;letter-spacing:-.075em}
 .wd-page .wd-hero__visual{min-height:350px;margin-inline:-8px}
 .wd-page .wd-isometric{width:min(90%,460px)}
 .wd-page .wd-visual-label{font-size:9px;padding:8px}
 .wd-page .wd-visual-label b{font-size:11px}
 .wd-page .wd-hero__actions{flex-direction:column}
 .wd-page .wd-hero__actions a{width:100%}
 .wd-page .wd-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .wd-page .wd-metric:nth-child(2){border-right:0}
 .wd-page .wd-metric:nth-child(-n+2){border-bottom:1px solid var(--wd-border)}
 .wd-page .wd-metric{padding:25px 20px}
 .wd-page .wd-services__row{grid-template-columns:29px minmax(0,1fr) auto;gap:11px}
 .wd-page .wd-services__row p{grid-column:2/-1;grid-row:2}
 .wd-page .wd-services__row h3{font-size:23px}
 .wd-page .wd-services__price{font-size:18px}
 .wd-page .wd-blueprint-demo{min-height:310px}
 .wd-page .wd-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .wd-page .wd-step:nth-child(2){border-right:0}
 .wd-page .wd-plan-row{grid-template-columns:minmax(0,1fr) 100px;gap:12px}
 .wd-page .wd-plan-row a{grid-column:1/-1}
 .wd-page .wd-contact__grid{gap:24px}
 .wd-page .wd-endmark{font-size:clamp(48px,10.5vw,90px);white-space:normal}
}
@media(max-width:450px){
 .wd-page .wd-hero__visual{min-height:300px}
 .wd-page .wd-step{padding:22px 14px}
 .wd-page .wd-step h3{font-size:21px}
 .wd-page .wd-services__row{grid-template-columns:28px minmax(0,1fr)}
 .wd-page .wd-services__price{grid-column:2;text-align:left}
}
@media(hover:none),(pointer:coarse){.wd-page .wd-isometric{will-change:auto}}
@media(prefers-reduced-motion:reduce){
 .wd-page .wd-hero__orbit{animation:none}
 .wd-page .wd-reveal{opacity:1;transform:none;transition:none}
 .wd-page .wd-isometric{transition:none;will-change:auto}
 html{scroll-behavior:auto}
}

/* Draft-to-experience motion: transform/opacity only. No page-wide filters. */
@keyframes wdDrawIn{
 from{opacity:0;transform:translate3d(0,0,22px) scale(.95)}
 to{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
@keyframes wdNodeGlow{
 0%,100%{box-shadow:0 0 9px rgba(198,248,6,.36)}
 50%{box-shadow:0 0 22px rgba(198,248,6,.93)}
}
@media(prefers-reduced-motion:no-preference){
 .wd-page .wd-isometric .wd-panel{animation:wdDrawIn .9s both cubic-bezier(.18,.7,.25,1)}
 .wd-page .wd-isometric .wd-panel--header{animation-delay:.18s}
 .wd-page .wd-isometric .wd-panel--hero{animation-delay:.35s}
 .wd-page .wd-isometric .wd-panel--form{animation-delay:.51s}
 .wd-page .wd-isometric .wd-panel--card1{animation-delay:.66s}
 .wd-page .wd-isometric .wd-panel--card2{animation-delay:.77s}
 .wd-page .wd-isometric .wd-panel--card3{animation-delay:.88s}
 .wd-page .wd-isometric__node{animation:wdNodeGlow 3.2s ease-in-out infinite}
 .wd-page .wd-isometric__node--two{animation-delay:.6s}
 .wd-page .wd-isometric__node--three{animation-delay:1.2s}
}
