/* ==========================================================
   INVEST PRODUCTION — v2 design system
   ========================================================== */
:root{
  /* palette extracted from the INVEST PRODUCTION logo */
  --bg:#020b24; --bg-2:#04163d; --bg-3:#0a2459;
  --navy:#032f68; --navy-2:#001f4f; --steel:#2963aa;
  --c-violet:#736dfe; --c-magenta:#f24ffd; --c-blue:#2f6bff;
  --surface:rgba(30,40,130,.25); --surface-2:rgba(115,109,254,.10);
  --line:rgba(150,150,255,.15); --line-2:rgba(170,160,255,.32);
  --ink:#f3f4ff; --ink-2:#c3c8ec; --muted:#8a90c4;
  --blue:#2f6bff; --blue-2:#736dfe; --cyan:#c49bff; --glow:#8a6dff;
  --grad:linear-gradient(110deg,#736dfe 0%,#a35cff 48%,#f24ffd 100%);
  --grad-blue:linear-gradient(120deg,#032f68,#2963aa);
  --radius:22px; --radius-sm:14px;
  --ff-d:"Archivo",system-ui,sans-serif; --ff:"Inter",system-ui,sans-serif;
  --wrap:1240px; --ease:cubic-bezier(.2,.8,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--ff);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--ff-d);line-height:1.04;letter-spacing:-.025em;margin:0 0 .5em;font-weight:800}
p{margin:0 0 1em;color:var(--ink-2)}
::selection{background:var(--blue);color:#fff}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:italic;font-weight:900;padding-right:.08em}

/* ---------- background ambience ---------- */
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:radial-gradient(1200px 600px at 85% -10%,rgba(41,99,170,.35),transparent 60%),
             radial-gradient(900px 600px at -10% 40%,rgba(115,109,254,.12),transparent 60%),
             radial-gradient(700px 500px at 110% 80%,rgba(242,79,253,.07),transparent 60%),var(--bg)}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.35;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:72px 72px;mask-image:radial-gradient(ellipse at 50% 0%,#000 0%,transparent 70%)}
.cursor-glow{position:fixed;left:0;top:0;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;pointer-events:none;z-index:0;
  background:radial-gradient(circle,rgba(140,110,255,.14),transparent 65%);transition:opacity .3s;mix-blend-mode:screen}
@media (hover:none){.cursor-glow{display:none}}

/* ---------- loader ---------- */
.loader{position:fixed;inset:0;z-index:999;background:var(--bg);display:grid;place-items:center;transition:opacity .7s var(--ease),visibility .7s}
.loader img{width:150px;height:auto;object-fit:contain;animation:pulse 1.4s ease-in-out infinite}
.loader.done{opacity:0;visibility:hidden}
@keyframes pulse{50%{transform:scale(.92);filter:drop-shadow(0 0 22px var(--glow))}}

/* ---------- nav ---------- */
.nav{position:fixed;top:14px;left:0;right:0;z-index:100;transition:transform .4s var(--ease)}
.nav-in{max-width:var(--wrap);margin:0 auto;padding:0 16px}
.nav-bar{display:flex;align-items:center;gap:18px;padding:10px 10px 10px 16px;border-radius:999px;
  background:rgba(6,14,40,.55);border:1px solid var(--line);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);
  transition:background .3s,box-shadow .3s}
.nav.scrolled .nav-bar{background:rgba(5,11,32,.82);box-shadow:0 20px 50px -20px rgba(0,0,0,.6)}
.nav.hide{transform:translateY(-120%)}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--ff-d);font-weight:700;font-size:15px;letter-spacing:.02em;white-space:nowrap}
.brand img{height:30px;width:auto;object-fit:contain}
.brand small{display:block;font-family:var(--ff);font-weight:500;font-size:10.5px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.menu{display:flex;gap:4px;margin-left:auto;list-style:none;padding:0;margin-top:0;margin-bottom:0}
.menu a{display:block;padding:9px 14px;border-radius:999px;font-size:14px;color:var(--ink-2);transition:color .2s,background .2s}
.menu a:hover{color:#fff;background:rgba(255,255,255,.06)}
.menu a.active{color:#fff;background:linear-gradient(110deg,rgba(115,109,254,.3),rgba(242,79,253,.2))}
.burger{display:none;margin-left:auto;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:transparent;color:#fff;cursor:pointer}
.burger span{display:block;width:18px;height:2px;background:currentColor;margin:4px auto;transition:.3s}
.nav.open .burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav.open .burger span:nth-child(2){opacity:0}
.nav.open .burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;gap:10px;padding:14px 24px;border-radius:999px;font-weight:600;font-size:15px;
  border:1px solid transparent;cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s,background .3s;white-space:nowrap;font-family:var(--ff)}
.btn svg{width:18px;height:18px;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn-primary{background:var(--grad);color:#fff;box-shadow:0 10px 30px -8px rgba(160,90,255,.75),inset 0 1px 0 rgba(255,255,255,.3)}
.btn-primary:hover{box-shadow:0 16px 44px -6px rgba(242,79,253,.75),inset 0 1px 0 rgba(255,255,255,.3)}
.btn-ghost{background:rgba(255,255,255,.04);border-color:var(--line-2);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.09)}
.btn-sm{padding:10px 18px;font-size:14px}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:140px 0 90px;overflow:hidden;isolation:isolate}
.hero canvas,.scene-bg{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:0;transition:opacity 1.6s}
.hero canvas.ready,.scene-bg.ready{opacity:1}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:30%;z-index:-1;background:linear-gradient(transparent,var(--bg))}
.hero-sm{min-height:auto;padding:180px 0 90px}
.hero-sm canvas{opacity:.65}
.kicker{display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 8px;border-radius:999px;font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-2);background:rgba(10,25,70,.55);border:1px solid var(--line);backdrop-filter:blur(10px)}
.kicker i{width:8px;height:8px;border-radius:50%;background:var(--c-magenta);box-shadow:0 0 0 4px rgba(242,79,253,.18),0 0 14px var(--c-magenta);margin-left:6px;animation:blink 2s infinite}
@keyframes blink{50%{opacity:.4}}
.hero h1{font-size:clamp(38px,5.6vw,80px);margin:22px 0 22px;max-width:19ch}
.hero.hero-sm h1{font-size:clamp(36px,5vw,68px);max-width:20ch}
.hero .lead{font-size:clamp(16px,1.35vw,19px);max-width:62ch;color:var(--ink-2)}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;margin:26px 0 0;padding:0;list-style:none;max-width:760px}
.checks li{display:flex;gap:10px;font-size:14.5px;color:var(--ink-2)}
.checks li::before{content:"";flex:none;width:18px;height:18px;margin-top:3px;border-radius:50%;
  background:rgba(115,109,254,.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c49bff' stroke-width='3'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/11px no-repeat;
  border:1px solid rgba(160,140,255,.45)}
.scroll-hint{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:11px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase}
.scroll-hint span{width:22px;height:36px;border:1.5px solid var(--line-2);border-radius:12px;position:relative}
.scroll-hint span::after{content:"";position:absolute;left:50%;top:7px;width:3px;height:7px;margin-left:-1.5px;border-radius:2px;background:var(--cyan);animation:wheel 1.8s infinite}
@keyframes wheel{to{transform:translateY(12px);opacity:0}}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  background:linear-gradient(180deg,rgba(20,45,120,.35),rgba(8,18,50,.35));backdrop-filter:blur(14px);margin-top:-40px;position:relative;z-index:2}
.stat{padding:28px 18px;text-align:center;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat b{display:block;font-family:var(--ff-d);font-size:clamp(32px,3.6vw,50px);font-weight:900;font-style:italic;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{display:block;margin-top:8px;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* ---------- sections ---------- */
.section{position:relative;padding:120px 0}
.section.tight{padding:80px 0}
.sec-head{max-width:760px;margin-bottom:56px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:12.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);margin-bottom:18px}
.eyebrow em{font-style:normal;font-family:var(--ff-d);color:var(--muted);letter-spacing:.05em}
.eyebrow::after{content:"";width:40px;height:1px;background:linear-gradient(90deg,var(--cyan),transparent)}
.sec-head h2{font-size:clamp(30px,4vw,54px)}
.sec-head p{font-size:17px}
.band{background:linear-gradient(180deg,transparent,rgba(12,30,85,.35) 20%,rgba(12,30,85,.35) 80%,transparent)}

/* ---------- cards ---------- */
.grid{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,1fr)} .g3{grid-template-columns:repeat(3,1fr)} .g4{grid-template-columns:repeat(4,1fr)}
.card{position:relative;padding:32px;border-radius:var(--radius);background:linear-gradient(180deg,rgba(25,55,150,.22),rgba(8,20,60,.35));
  border:1px solid var(--line);overflow:hidden;transition:transform .5s var(--ease),border-color .4s,box-shadow .5s;transform-style:preserve-3d}
.card::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(140,100,255,.24),transparent 45%)}
.card:hover{border-color:var(--line-2);box-shadow:0 30px 60px -30px rgba(140,90,255,.55)}
.card:hover::before{opacity:1}
.card h3{font-size:21px;margin-bottom:10px}
.card p{font-size:15px;margin-bottom:0}
.card .ico{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;margin-bottom:22px;font-size:24px;
  background:linear-gradient(140deg,rgba(115,109,254,.45),rgba(242,79,253,.18));border:1px solid var(--line-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 30px -10px rgba(160,90,255,.7)}
.card .ico svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.card .num{position:absolute;top:22px;right:26px;font-family:var(--ff-d);font-size:13px;color:var(--muted)}
.card .more{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-weight:600;font-size:14px;color:var(--cyan)}
.card .more::after{content:"→";transition:transform .3s var(--ease)}
.card:hover .more::after{transform:translateX(5px)}
.ticks{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:8px}
.ticks li{font-size:14px;color:var(--ink-2);display:flex;gap:10px}
.ticks li::before{content:"";width:6px;height:6px;margin-top:9px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan);flex:none}
.tilt{will-change:transform}

/* ---------- media cards ---------- */
.media{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);min-height:440px;display:flex;align-items:flex-end;isolation:isolate}
.media img{position:absolute;inset:-6% 0 0 0;width:100%;height:112%;object-fit:cover;z-index:-2;transition:transform 1.2s var(--ease)}
.media::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(4,10,28,0) 30%,rgba(4,10,28,.92))}
.media:hover img{transform:scale(1.06)}
.media .cap{padding:28px}
.media .cap h3{font-size:22px;margin-bottom:6px}
.media .cap p{font-size:14.5px;margin:0}
.media .tag{position:absolute;top:18px;left:18px;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;background:rgba(4,10,28,.6);border:1px solid var(--line-2);backdrop-filter:blur(8px)}
.media-row{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:20px}

/* ---------- marquee ---------- */
.marquee{position:relative;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);padding:10px 0}
.marquee-track{display:flex;gap:22px;width:max-content;animation:mq 38s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
.logo-tile{width:200px;height:110px;flex:none;border-radius:18px;background:#fff;display:grid;place-items:center;padding:16px 22px;border:1px solid var(--line);
  box-shadow:0 20px 40px -24px rgba(0,0,0,.7);transition:transform .4s var(--ease)}
.logo-tile:hover{transform:translateY(-4px) scale(1.03)}
.logo-tile img{max-height:78px;width:auto;object-fit:contain}
.logo-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}
.logo-wall .logo-tile{width:auto;height:130px}

/* ---------- founder / quote ---------- */
.founder{display:grid;grid-template-columns:340px 1fr;gap:56px;align-items:start}
.founder-card{position:sticky;top:120px;padding:34px;border-radius:var(--radius);text-align:center;border:1px solid var(--line-2);
  background:radial-gradient(circle at 50% 0%,rgba(140,100,255,.35),transparent 60%),rgba(8,20,60,.5)}
.avatar{width:120px;height:120px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;font-family:var(--ff-d);font-size:40px;font-weight:700;
  background:var(--grad);box-shadow:0 0 0 6px rgba(140,100,255,.18),0 0 60px rgba(180,90,255,.6)}
.founder-card h3{font-size:22px;margin-bottom:4px}
.founder-card p{font-size:14px;margin:0}
.quote{font-family:var(--ff-d);font-size:clamp(19px,1.8vw,24px);line-height:1.5;color:var(--ink);font-weight:400;letter-spacing:-.01em;margin:0 0 26px;padding-left:26px;border-left:2px solid;border-image:var(--grad) 1}
.quote.lg{font-size:clamp(22px,2.4vw,32px)}

/* ---------- info table ---------- */
.kv{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:rgba(8,20,60,.35)}
.kv div{display:grid;grid-template-columns:200px 1fr;gap:16px;padding:18px 24px;border-bottom:1px solid var(--line)}
.kv div:last-child{border-bottom:0}
.kv dt,.kv span{color:var(--muted);font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.kv dd,.kv strong{margin:0;font-weight:600}

/* ---------- org ---------- */
.org h3{display:flex;align-items:center;gap:12px}
.org h3::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--grad);box-shadow:0 0 14px var(--glow)}

/* ---------- process ---------- */
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative}
.steps::before{content:"";position:absolute;top:34px;left:6%;right:6%;height:1px;background:linear-gradient(90deg,transparent,var(--line-2),var(--cyan),var(--line-2),transparent)}
.step{position:relative;padding-top:84px}
.step b{position:absolute;top:0;left:0;width:68px;height:68px;border-radius:50%;display:grid;place-items:center;font-family:var(--ff-d);font-size:20px;
  background:var(--bg-2);border:1px solid var(--line-2);box-shadow:0 0 0 8px var(--bg),0 0 30px -6px var(--glow)}
.step h3{font-size:19px}
.step p{font-size:14.5px}

/* ---------- pills / pillars ---------- */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.pillar{padding:26px;border-radius:var(--radius-sm);border:1px solid var(--line);text-align:center;font-family:var(--ff-d);font-size:18px;font-weight:600;
  background:linear-gradient(180deg,rgba(140,100,255,.16),transparent)}
.pillar small{display:block;font-family:var(--ff);font-size:13px;font-weight:400;color:var(--muted);margin-top:4px}

/* ---------- CTA ---------- */
.cta{position:relative;padding:80px 56px;border-radius:32px;overflow:hidden;isolation:isolate;border:1px solid var(--line-2);
  background:radial-gradient(800px 400px at 100% 0%,rgba(242,79,253,.22),transparent 60%),radial-gradient(700px 400px at 0% 100%,rgba(115,109,254,.3),transparent 60%),linear-gradient(130deg,#032f68,#04194a 60%,#020b24)}
.cta::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.4;background-image:radial-gradient(rgba(255,255,255,.35) 1px,transparent 1.4px);background-size:22px 22px;
  mask-image:radial-gradient(ellipse at 80% 20%,#000,transparent 60%)}
.cta canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:0;transition:opacity 1.6s}
.cta canvas.ready{opacity:.55}
.cta h2{font-size:clamp(28px,3.6vw,48px);max-width:18ch}
.cta p{font-size:17px;max-width:56ch}
.cta .hero-cta{margin-top:26px}

/* ---------- contact / form ---------- */
.contact-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:28px;align-items:start}
.form{padding:38px;border-radius:var(--radius);border:1px solid var(--line-2);background:linear-gradient(180deg,rgba(20,45,120,.35),rgba(8,18,50,.5));backdrop-filter:blur(14px)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.field label{font-size:13px;font-weight:600;color:var(--ink-2)}
.field input,.field select,.field textarea{width:100%;padding:14px 16px;border-radius:12px;border:1px solid var(--line-2);background:rgba(4,10,28,.6);color:#fff;font:inherit;font-size:15px;transition:border-color .2s,box-shadow .2s}
.field select option{background:var(--bg-2)}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 4px rgba(160,120,255,.2)}
.form small{display:block;font-size:12.5px;color:var(--muted);margin:4px 0 20px}
.form-ok{display:none;margin-top:16px;padding:14px 18px;border-radius:12px;background:rgba(160,120,255,.14);border:1px solid rgba(180,140,255,.45);color:#efe8ff;font-size:14px}
.form-ok.show{display:block}
.side{display:grid;gap:16px}
.side .card{padding:26px}
.side .card h3{font-size:18px}
.side a.big{display:block;font-family:var(--ff-d);font-size:20px;font-weight:600;color:#fff}

/* ---------- FAQ ---------- */
.faq{max-width:860px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line);padding:6px 0}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:20px 0;font-family:var(--ff-d);font-size:19px;font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-2);font-family:var(--ff);font-weight:400;transition:transform .3s var(--ease),background .3s}
.faq details[open] summary::after{transform:rotate(45deg);background:rgba(140,100,255,.3)}
.faq details p{padding-bottom:16px;max-width:70ch}

/* ---------- legal ---------- */
.prose{max-width:860px}
.prose h2{font-size:26px;margin-top:48px}
.prose ul{color:var(--ink-2);padding-left:20px}
.prose li{margin:6px 0}

/* ---------- footer ---------- */
.footer{position:relative;margin-top:60px;padding:90px 0 34px;border-top:1px solid var(--line);background:linear-gradient(180deg,transparent,rgba(7,18,51,.8))}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1.4fr;gap:48px}
.footer h4{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:18px;font-family:var(--ff)}
.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.footer a{color:var(--ink-2);transition:color .2s}
.footer a:hover{color:#fff}
.footer p{font-size:14.5px}
.footer-big{font-family:var(--ff-d);font-weight:800;font-size:clamp(28px,6.6vw,104px);line-height:.9;letter-spacing:-.05em;white-space:nowrap;margin:70px 0 30px;text-align:center;
  font-style:italic;background:linear-gradient(180deg,rgba(150,130,255,.4),rgba(150,130,255,0));-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:24px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}

/* ---------- floating call ---------- */
.fab{position:fixed;right:20px;bottom:20px;z-index:90;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--grad);
  box-shadow:0 14px 34px -8px rgba(200,80,255,.9);transition:transform .3s var(--ease)}
.fab:hover{transform:scale(1.08)}
.fab svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:2}
.fab::before{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--blue-2);animation:ring 2.4s infinite}
@keyframes ring{from{transform:scale(.85);opacity:.9}to{transform:scale(1.35);opacity:0}}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.rv.in{opacity:1;transform:none}
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
.split .w>span{display:inline-block;transform:translateY(105%);transition:transform 1.1s var(--ease)}
.split.in .w>span{transform:none}
.grad-text .w>span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
@media (prefers-reduced-motion:reduce){.rv,.split .w>span{opacity:1!important;transform:none!important;transition:none}.marquee-track{animation:none}}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .stats{grid-template-columns:repeat(3,1fr)} .stat:nth-child(3){border-right:0} .stat:nth-child(-n+3){border-bottom:1px solid var(--line)}
  .g4,.pillars{grid-template-columns:repeat(2,1fr)} .steps{grid-template-columns:repeat(2,1fr);row-gap:40px} .steps::before{display:none}
  .founder{grid-template-columns:1fr} .founder-card{position:relative;top:0}
  .media-row{grid-template-columns:1fr 1fr} .media-row .media:first-child{grid-column:1/-1}
}
@media (max-width:920px){
  .menu{position:fixed;inset:0;z-index:-1;flex-direction:column;justify-content:center;align-items:center;gap:6px;background:rgba(4,10,28,.97);backdrop-filter:blur(20px);
    opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
  .menu a{font-family:var(--ff-d);font-size:26px;padding:12px 24px}
  .nav.open .menu{opacity:1;visibility:visible}
  .burger{display:block} .nav-bar .btn{display:none}
  .g3,.contact-grid,.footer-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .wrap{padding:0 16px}
  .section{padding:84px 0}
  .hero{padding:120px 0 80px}
  .hero-sm{padding:140px 0 60px}
  .checks,.g2,.g4,.pillars,.steps,.form .row,.media-row{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,1fr)} .stat{border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)} .stat:nth-child(2n){border-right:0!important}
  .card,.form{padding:24px} .cta{padding:48px 24px;border-radius:24px}
  .kv div{grid-template-columns:1fr;gap:4px}
  .media{min-height:340px}
  .brand small{display:none}
  .scroll-hint{display:none}
}
@media (max-width:640px){.hero canvas.ready{opacity:.55}}

/* ================= v2.1 immersive components ================= */
.hero-logo{position:absolute;right:4%;top:50%;width:min(34vw,460px);transform:translateY(-58%) perspective(1200px) rotateY(-18deg) rotateX(6deg);
  filter:drop-shadow(0 30px 60px rgba(115,109,254,.45));animation:floaty 7s ease-in-out infinite;pointer-events:none;opacity:.95}
@keyframes floaty{50%{transform:translateY(-62%) perspective(1200px) rotateY(-10deg) rotateX(3deg)}}
@media (max-width:1180px){.hero-logo{display:none}}

/* 3D truck stage */
.truck-wrap{display:grid;grid-template-columns:1fr 1.5fr;gap:40px;align-items:center}
.truck-stage{position:relative;height:560px;border-radius:28px;overflow:hidden;border:1px solid var(--line-2);isolation:isolate;
  background:radial-gradient(70% 60% at 50% 75%,rgba(115,109,254,.28),transparent 70%),radial-gradient(50% 40% at 80% 20%,rgba(242,79,253,.16),transparent 70%),linear-gradient(180deg,#04163d,#020b24)}
.truck-stage canvas{position:absolute;inset:0;width:100%!important;height:100%!important;opacity:0;transition:opacity 1.2s}
.truck-stage.ready canvas{opacity:1}
.truck-stage .hint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:2;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);
  padding:8px 14px;border-radius:999px;background:rgba(2,11,36,.6);border:1px solid var(--line);backdrop-filter:blur(8px);white-space:nowrap;pointer-events:none}
.truck-stage .chip{position:absolute;z-index:2;padding:10px 14px;border-radius:14px;background:rgba(4,22,61,.7);border:1px solid var(--line-2);backdrop-filter:blur(10px);
  font-size:12.5px;color:var(--ink-2);pointer-events:none;animation:floaty2 6s ease-in-out infinite}
.truck-stage .chip b{display:block;font-family:var(--ff-d);font-style:italic;font-size:22px;font-weight:900;color:#fff;line-height:1.1}
.truck-stage .chip:nth-of-type(2){animation-delay:-2s}.truck-stage .chip:nth-of-type(3){animation-delay:-4s}
@keyframes floaty2{50%{transform:translateY(-8px)}}
.truck-stage .loading{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.truck-stage.ready .loading{display:none}

/* 3D photo carousel (real photos) */
.c3d{position:relative;height:430px;perspective:1800px;user-select:none;touch-action:pan-y;cursor:grab;margin-top:10px}
.c3d:active{cursor:grabbing}
.c3d-ring{position:absolute;left:50%;top:46%;width:0;height:0;transform-style:preserve-3d}
.c3d-item{position:absolute;width:360px;height:250px;left:-180px;top:-125px;border-radius:18px;overflow:hidden;backface-visibility:hidden;
  border:1px solid rgba(200,190,255,.35);box-shadow:0 30px 60px -20px rgba(0,0,0,.7),0 0 40px -10px rgba(140,100,255,.5);
  -webkit-box-reflect:below 14px linear-gradient(transparent 55%,rgba(255,255,255,.22))}
.c3d-item img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.c3d-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;font-size:13px;font-weight:600;background:linear-gradient(transparent,rgba(2,11,36,.9))}
.c3d-floor{position:absolute;left:10%;right:10%;bottom:30px;height:120px;border-radius:50%;background:radial-gradient(closest-side,rgba(140,100,255,.35),transparent);filter:blur(10px)}
.c3d-nav{display:flex;justify-content:center;gap:12px;margin-top:-10px;position:relative;z-index:2}
.c3d-nav button{width:52px;height:52px;border-radius:50%;border:1px solid var(--line-2);background:rgba(255,255,255,.04);color:#fff;font-size:20px;cursor:pointer;transition:background .2s,transform .2s}
.c3d-nav button:hover{background:rgba(140,100,255,.3);transform:scale(1.06)}
@media (max-width:640px){.c3d{height:400px}.c3d-item{width:250px;height:175px;left:-125px;top:-88px}}

/* lightbox */
.lb{position:fixed;inset:0;z-index:300;background:rgba(2,6,20,.92);backdrop-filter:blur(10px);display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;transition:.35s}
.lb.open{opacity:1;visibility:visible}
.lb img{max-width:min(1200px,94vw);max-height:84vh;border-radius:16px;box-shadow:0 40px 80px rgba(0,0,0,.6)}
.lb button{position:absolute;top:20px;right:20px;width:48px;height:48px;border-radius:50%;border:1px solid var(--line-2);background:transparent;color:#fff;font-size:22px;cursor:pointer}

/* stacked service cards (cascade) */
.stack{position:relative}
.stack-card{position:sticky;top:110px;display:grid;grid-template-columns:1.05fr 1fr;min-height:420px;margin-bottom:36px;border-radius:28px;overflow:hidden;
  border:1px solid var(--line-2);background:linear-gradient(135deg,#0a2459 0%,#04163d 55%,#0b1440 100%);box-shadow:0 -20px 60px -30px rgba(0,0,0,.8),0 40px 80px -40px rgba(140,90,255,.45);
  transform-origin:50% 0;will-change:transform}
.stack-card .txt{padding:46px;display:flex;flex-direction:column;justify-content:center}
.stack-card .n{font-family:var(--ff-d);font-style:italic;font-weight:900;font-size:64px;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:16px}
.stack-card h3{font-size:clamp(26px,2.6vw,36px)}
.stack-card p{font-size:16px}
.stack-card .ph{position:relative;overflow:hidden}
.stack-card .ph img{width:100%;height:100%;object-fit:cover;transform:scale(1.04)}
.stack-card .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#071a48 0%,transparent 35%),linear-gradient(0deg,rgba(115,109,254,.2),transparent 40%)}
@media (max-width:820px){.stack-card{grid-template-columns:1fr;top:90px}.stack-card .ph{height:220px;order:-1}.stack-card .txt{padding:28px}.stack-card .ph::after{background:linear-gradient(0deg,#071a48,transparent 60%)}}

/* tunnel band */
.tunnel-band{position:relative;overflow:hidden;isolation:isolate;padding:130px 0}
.tunnel-band canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:0;transition:opacity 1.5s}
.tunnel-band canvas.ready{opacity:.9}
.tunnel-band::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,rgba(2,11,36,.15),rgba(2,11,36,.85) 75%),linear-gradient(180deg,var(--bg),transparent 18%,transparent 82%,var(--bg))}
.tunnel-band .stats{margin-top:0}

/* roadmap path */
.roadmap{position:relative}
.roadmap svg.path{position:absolute;left:0;top:34px;width:100%;height:40px;overflow:visible;pointer-events:none}
.roadmap svg.path .base{stroke:var(--line-2);stroke-width:2;fill:none;stroke-dasharray:4 8}
.roadmap svg.path .draw{stroke:url(#rg);stroke-width:3;fill:none;filter:drop-shadow(0 0 6px #b06bff)}
.roadmap .steps::before{display:none}
.roadmap .step b{background:linear-gradient(var(--bg-2),var(--bg-2)) padding-box,var(--grad) border-box;border:2px solid transparent;transition:box-shadow .5s,transform .5s}
.roadmap .step.lit b{box-shadow:0 0 0 8px var(--bg),0 0 40px 0 rgba(200,90,255,.8);transform:scale(1.08)}
@media (max-width:1080px){.roadmap svg.path{display:none}}

/* gallery grid (real photos) */
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:16px}
.gal figure{margin:0;position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line);cursor:zoom-in;transform-style:preserve-3d}
.gal figure:first-child{grid-column:span 2;grid-row:span 2}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.gal figure:hover img{transform:scale(1.07)}
.gal figcaption{position:absolute;left:12px;bottom:12px;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;background:rgba(2,11,36,.7);border:1px solid var(--line-2);backdrop-filter:blur(8px)}
@media (max-width:820px){.gal{grid-template-columns:1fr 1fr;grid-auto-rows:160px}}

/* animated gradient beams */
.beams{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.beams i{position:absolute;width:60%;height:140%;top:-20%;filter:blur(60px);opacity:.35;border-radius:50%;animation:beam 14s ease-in-out infinite alternate}
.beams i:nth-child(1){left:-10%;background:radial-gradient(closest-side,#736dfe,transparent)}
.beams i:nth-child(2){right:-15%;background:radial-gradient(closest-side,#f24ffd,transparent);animation-duration:18s;opacity:.22}
.beams i:nth-child(3){left:30%;background:radial-gradient(closest-side,#2963aa,transparent);animation-duration:22s}
@keyframes beam{to{transform:translate(12%,-6%) rotate(25deg) scale(1.2)}}

/* 3D tilted marquee */
.marquee.tilted{transform:perspective(1200px) rotateX(14deg);transform-origin:50% 100%}

@media (max-width:1080px){.truck-wrap{grid-template-columns:1fr}.truck-stage{height:460px}}
@media (max-width:640px){.truck-stage{height:380px}.truck-stage .chip{display:none}.tunnel-band{padding:90px 0}}
@media (min-width:1181px){.hero:not(.hero-sm) .wrap>*{max-width:840px}.hero:not(.hero-sm) h1{font-size:clamp(42px,4.3vw,66px);max-width:none}.hero:not(.hero-sm) .checks{grid-template-columns:1fr 1fr}}
.hero-logo{width:min(25vw,370px);right:4%}

/* =====================================================================
   THEME CLAIR (v4) — demande du responsable : site clair
   ===================================================================== */
:root{
  --bg:#f5f6fc; --bg-2:#ffffff; --bg-3:#eef0fb;
  --ink:#0b1b46; --ink-2:#3d4a72; --muted:#6b7499;
  --line:rgba(20,40,120,.10); --line-2:rgba(90,80,220,.22);
  --cyan:#7a52f0; --glow:#8a6dff;
  --surface:#ffffff;
  --shadow:0 1px 2px rgba(11,27,70,.04),0 12px 32px -14px rgba(11,27,70,.18);
}
body{background:var(--bg);color:var(--ink)}
h1,h2,h3,h4{color:var(--ink)}
::selection{background:#d9d3ff;color:var(--ink)}
body::before{background:radial-gradient(1100px 600px at 90% -10%,rgba(115,109,254,.16),transparent 60%),
  radial-gradient(900px 600px at -10% 35%,rgba(41,99,170,.10),transparent 60%),
  radial-gradient(700px 500px at 110% 85%,rgba(242,79,253,.08),transparent 60%),var(--bg)}
body::after{opacity:.55;background-image:linear-gradient(rgba(20,40,120,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(20,40,120,.05) 1px,transparent 1px)}
.cursor-glow{background:radial-gradient(circle,rgba(140,110,255,.12),transparent 65%);mix-blend-mode:multiply}
.loader{background:var(--bg)}

/* nav */
.nav-bar{background:rgba(255,255,255,.72);border-color:rgba(20,40,120,.08);box-shadow:0 10px 30px -18px rgba(11,27,70,.25)}
.nav.scrolled .nav-bar{background:rgba(255,255,255,.92);box-shadow:0 18px 40px -20px rgba(11,27,70,.3)}
.brand{color:var(--ink)}
.menu a{color:var(--ink-2)}
.menu a:hover{color:var(--ink);background:rgba(115,109,254,.08)}
.menu a.active{color:#4b2fd6;background:linear-gradient(110deg,rgba(115,109,254,.14),rgba(242,79,253,.10))}
.burger{color:var(--ink);border-color:var(--line-2)}
@media (max-width:920px){.menu{background:rgba(255,255,255,.98)}}

/* buttons */
.btn-ghost{background:#fff;border-color:rgba(20,40,120,.14);color:var(--ink);box-shadow:var(--shadow)}
.btn-ghost:hover{background:#f3f1ff;border-color:var(--line-2)}

/* hero */
.hero::after{background:linear-gradient(transparent,var(--bg))}
.kicker{background:#fff;color:var(--ink-2);border-color:rgba(20,40,120,.1);box-shadow:var(--shadow)}
.hero .lead,.checks li{color:var(--ink-2)}
.hero-logo{filter:drop-shadow(0 30px 50px rgba(3,47,104,.35))}
.scroll-hint{color:var(--muted)}

/* stats */
.stats{background:rgba(255,255,255,.85);border-color:rgba(20,40,120,.08);box-shadow:0 30px 60px -30px rgba(11,27,70,.25)}
.stat{border-color:rgba(20,40,120,.08)!important}

/* sections & cards */
.eyebrow{color:#6a43e8}
.eyebrow em{color:var(--muted)}
.band{background:linear-gradient(180deg,transparent,rgba(115,109,254,.06) 20%,rgba(115,109,254,.06) 80%,transparent)}
.card{background:#fff;border-color:rgba(20,40,120,.08);box-shadow:var(--shadow)}
.card::before{background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(140,100,255,.10),transparent 45%)}
.card:hover{border-color:var(--line-2);box-shadow:0 30px 60px -28px rgba(110,70,240,.35)}
.card p,.card .ticks li{color:var(--ink-2)}
.card .more{color:#6a43e8}
.card strong,.card a{color:var(--ink)}
.ticks li::before{background:var(--grad);box-shadow:0 0 8px rgba(160,90,255,.6)}
.card .ico{background:var(--grad);border-color:transparent;box-shadow:0 10px 24px -10px rgba(160,90,255,.8)}

/* media cards keep photo overlays dark -> white text */
.media{border-color:rgba(20,40,120,.08);box-shadow:0 30px 60px -30px rgba(11,27,70,.4)}
.media .cap h3,.media .cap p,.media .tag,.media .ticks li{color:#fff}
.media .tag{background:rgba(3,47,104,.55);border-color:rgba(255,255,255,.3)}
.media::after{background:linear-gradient(180deg,rgba(3,25,70,0) 35%,rgba(3,25,70,.88))}

/* founder / quote / kv */
.founder-card{background:radial-gradient(circle at 50% 0%,rgba(140,100,255,.18),transparent 60%),#fff;border-color:rgba(20,40,120,.08);box-shadow:var(--shadow)}
.founder-card h3{color:var(--ink)}
.avatar{color:#fff}
.quote{color:var(--ink)}
.kv{background:#fff;border-color:rgba(20,40,120,.08);box-shadow:var(--shadow)}
.kv div{border-color:rgba(20,40,120,.08)}
.kv strong,.kv dd{color:var(--ink)}
.pillar{background:linear-gradient(180deg,rgba(115,109,254,.10),#fff);border-color:rgba(20,40,120,.08);color:var(--ink);box-shadow:var(--shadow)}

/* process / roadmap */
.step b{background:#fff;color:var(--ink);box-shadow:0 0 0 8px var(--bg),0 10px 30px -8px rgba(110,70,240,.5)}
.roadmap .step b{background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box}
.roadmap .step.lit b{box-shadow:0 0 0 8px var(--bg),0 0 30px 0 rgba(200,90,255,.55)}
.roadmap svg.path .base{stroke:rgba(90,80,220,.3)}

/* CTA : bloc bleu marine de la marque (fond du logo) */
.cta{box-shadow:0 40px 80px -40px rgba(3,47,104,.6);border-color:transparent}
.cta h2,.cta p{color:#fff}
.cta p{color:#d6dcf5}
.cta .btn-ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.3);color:#fff;box-shadow:none}
.cta .btn-ghost:hover{background:rgba(255,255,255,.16)}

/* form / contact */
.form{background:#fff;border-color:rgba(20,40,120,.08);box-shadow:0 30px 60px -30px rgba(11,27,70,.25)}
.form h2{color:var(--ink)}
.field label{color:var(--ink-2)}
.field input,.field select,.field textarea{background:#f7f8fd;color:var(--ink);border-color:rgba(20,40,120,.14)}
.field select option{background:#fff;color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#8a6dff;box-shadow:0 0 0 4px rgba(138,109,255,.15);background:#fff}
.form-ok{color:#3b2a8f;background:rgba(138,109,255,.1)}
.side a.big{color:var(--ink)}

/* FAQ */
.faq details{border-color:rgba(20,40,120,.1)}
.faq summary{color:var(--ink)}
.faq summary::after{border-color:rgba(20,40,120,.15);color:var(--ink)}
.faq details[open] summary::after{background:var(--grad);color:#fff;border-color:transparent}

/* footer */
.footer{background:linear-gradient(180deg,transparent,#eceefa);border-color:rgba(20,40,120,.08)}
.footer a{color:var(--ink-2)}
.footer a:hover{color:#6a43e8}
.footer p strong,.footer .brand{color:var(--ink)}
.footer-big{background:linear-gradient(180deg,rgba(115,109,254,.35),rgba(115,109,254,0));-webkit-background-clip:text;background-clip:text}
.footer-bottom{border-color:rgba(20,40,120,.08)}

/* 3D truck stage : studio clair */
.truck-stage{border-color:rgba(20,40,120,.08);box-shadow:0 40px 80px -40px rgba(11,27,70,.35);
  background:radial-gradient(70% 60% at 50% 80%,rgba(115,109,254,.22),transparent 70%),radial-gradient(50% 40% at 85% 15%,rgba(242,79,253,.12),transparent 70%),linear-gradient(180deg,#ffffff,#eceefb)}
.truck-stage .hint{background:rgba(255,255,255,.85);color:var(--ink-2);border-color:rgba(20,40,120,.1)}
.truck-stage .chip{background:rgba(255,255,255,.85);color:var(--ink-2);border-color:rgba(20,40,120,.1);box-shadow:var(--shadow)}
.truck-stage .chip b{color:var(--ink)}

/* carousel / gallery / lightbox */
.c3d-item{border-color:rgba(255,255,255,.8);box-shadow:0 30px 60px -24px rgba(11,27,70,.45);-webkit-box-reflect:below 14px linear-gradient(transparent 60%,rgba(255,255,255,.35))}
.c3d-item figcaption{color:#fff;background:linear-gradient(transparent,rgba(3,25,70,.85))}
.c3d-floor{background:radial-gradient(closest-side,rgba(140,100,255,.25),transparent)}
.c3d-nav button{background:#fff;color:var(--ink);border-color:rgba(20,40,120,.12);box-shadow:var(--shadow)}
.c3d-nav button:hover{background:var(--grad);color:#fff}
.gal figure{border-color:rgba(20,40,120,.08);box-shadow:var(--shadow)}
.gal figcaption{color:#fff;background:rgba(3,47,104,.6);border-color:rgba(255,255,255,.3)}
.lb{background:rgba(245,246,252,.95)}
.lb button{color:var(--ink);border-color:rgba(20,40,120,.2)}

/* stacked service cards */
.stack-card{background:#fff;border-color:rgba(20,40,120,.08);box-shadow:0 -10px 40px -24px rgba(11,27,70,.25),0 40px 80px -40px rgba(110,70,240,.35)}
.stack-card h3{color:var(--ink)}
.stack-card p{color:var(--ink-2)}
.stack-card .ph::after{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,0) 30%)}
@media (max-width:820px){.stack-card .ph::after{background:linear-gradient(0deg,#fff,transparent 50%)}}

/* tunnel band */
.tunnel-band::after{background:radial-gradient(ellipse at center,rgba(245,246,252,.1),rgba(245,246,252,.85) 75%),linear-gradient(180deg,var(--bg),transparent 18%,transparent 82%,var(--bg))}
.tunnel-band canvas.ready{opacity:.75}

/* logo tiles */
.logo-tile{border-color:rgba(20,40,120,.08);box-shadow:var(--shadow)}

/* canvases on light: soften */
.hero canvas.ready,.scene-bg.ready{opacity:.9}
.beams i{opacity:.25}
.hero:not(.hero-sm)::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(245,246,252,.96) 0%,rgba(245,246,252,.88) 55%,rgba(245,246,252,0) 80%)}
.hero-sm::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(245,246,252,.85) 0%,rgba(245,246,252,.5) 50%,rgba(245,246,252,0) 80%)}
@media (max-width:900px){.hero:not(.hero-sm)::before,.hero-sm::before{background:rgba(245,246,252,.72)}}
.hero-logo{filter:drop-shadow(0 24px 40px rgba(3,47,104,.25))}
@media (max-width:900px){.hero canvas.ready{opacity:.35}.hero:not(.hero-sm)::before,.hero-sm::before{background:rgba(245,246,252,.8)}}
.hero:not(.hero-sm)::before{background:linear-gradient(90deg,rgba(245,246,252,.97) 0%,rgba(245,246,252,.92) 62%,rgba(245,246,252,0) 86%)}
