/* Stymic — site styles */
/* Stymic editorial system (indigo, mint, volt) merged with the Aigocy single-page flow */
:root{
  --navy:#14112B;--indigo:#2A2066;--indigo-2:#3A2E85;--night:#17132F;--violet:#5A4BB5;--mint:#BFE3DC;--mint-2:#DDF1EC;--volt:#7E71CF;--gold:#7E71CF;--gold-ink:#5A4BB5;
  --bg:#F3F2F7;--card:#fff;--panel:#F8F7FB;--ink:#14112B;--body:#4B4863;--meta:#6A6683;--line:#DCD9E6;
  --inv-bg:#17132F;--inv-ink:#fff;--inv-muted:#B7B2D3;--inv-card:#221C45;--inv-line:#332B63;
  --font-cond:"Barlow Condensed","Arial Narrow","Roboto Condensed",sans-serif;
  --font:"Inter","Helvetica Neue",Arial,system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --spring:cubic-bezier(.34,1.35,.64,1);--expo:cubic-bezier(.16,1,.3,1);
  --max:1200px;--gut:clamp(20px,4vw,40px);--r-btn:8px;--r-card:32px;--r-big:64px;
  color-scheme:light;box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0D0B1C;--card:#16132C;--panel:#1D1938;--ink:#F2F0FA;--body:#C3BFDD;--meta:#A39FC4;--line:#2C2750;
  --inv-bg:#221C4A;--inv-ink:#fff;--inv-muted:#C8C3E6;--inv-card:#2C2560;--inv-line:#3D3577;color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0D0B1C;--card:#16132C;--panel:#1D1938;--ink:#F2F0FA;--body:#C3BFDD;--meta:#A39FC4;--line:#2C2750;
  --inv-bg:#221C4A;--inv-ink:#fff;--inv-muted:#C8C3E6;--inv-card:#2C2560;--inv-line:#3D3577;color-scheme:dark}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 6.5rem);-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.4 var(--font);letter-spacing:-.011em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4,p{margin:0}
.wrap{width:100%;max-width:calc(var(--max) + 2*var(--gut));margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-999px;top:10px;z-index:200;background:var(--volt);color:var(--navy);padding:10px 16px;border-radius:var(--r-btn);font-weight:500}
.skip:focus{left:12px}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:6px}
.inv :focus-visible,footer :focus-visible{outline-color:var(--inv-ink)}

/* type roles */
.d-xl,.d-lg,.d-md{font-family:var(--font-cond);font-weight:700;text-transform:uppercase;line-height:.9;letter-spacing:-.03em}
.d-xl{font-size:clamp(64px,10.8vw,136px)}
.d-lg{font-size:clamp(48px,6.6vw,84px)}
.d-md{font-size:clamp(40px,5vw,64px)}
.h-sec{font-size:clamp(26px,3.2vw,40px);font-weight:450;text-transform:uppercase;line-height:1.1;letter-spacing:-.02em}
.h-card{font-size:26px;font-weight:450;text-transform:uppercase;line-height:1.1;letter-spacing:-.03em}
.sub{font-size:18px;line-height:1.35;color:var(--body);max-width:34em}
.small{font-size:14px;line-height:1.35;color:var(--body)}
.mono{font:400 12px/1.6 var(--mono);letter-spacing:-.03em;color:var(--meta)}
.tag{display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 12px;border-radius:64px;background:var(--mint);color:var(--navy);font:400 12px var(--mono);letter-spacing:-.03em;white-space:nowrap}
.tag.ghost{background:var(--card);color:var(--ink)}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.inv{background:var(--inv-bg);color:var(--inv-ink)}
.inv .sub,.inv .small,.inv .mono{color:var(--inv-muted)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 24px;border-radius:var(--r-btn);font:500 16px var(--font);letter-spacing:-.011em;text-decoration:none;border:1.5px solid transparent;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}
.btn-dark{background:var(--ink);color:var(--bg)}
.btn-dark:hover{background:var(--mint);color:var(--navy)}
.btn-ghost{background:transparent;border-color:var(--body);color:var(--body);border-radius:4px;padding:0 18px}
.btn-ghost:hover{border-color:var(--ink);color:var(--ink)}
.btn-sm{min-height:44px;font-size:15px;padding:0 18px}
.inv .btn-dark{background:var(--inv-ink);color:var(--inv-bg)}
.inv .btn-dark:hover{background:var(--mint);color:var(--navy)}
.inv .btn-ghost{border-color:var(--inv-muted);color:var(--inv-ink)}
.inv .btn-ghost:hover{border-color:var(--inv-ink)}
.ctas{display:flex;flex-wrap:wrap;gap:12px}

/* progress */
.prog{position:fixed;left:0;right:0;top:0;height:3px;background:var(--volt);transform-origin:0 50%;z-index:80}

/* header */
.hdr{position:fixed;inset:0 0 auto 0;z-index:60;height:7rem;display:flex;align-items:center;padding-top:env(safe-area-inset-top,0px);transition:height .25s,background .25s}
.hdr.scrolled{height:5.5rem;background:var(--bg)}
.bar{width:100%;max-width:calc(var(--max) + 2*var(--gut));margin:0 auto;padding:0 var(--gut);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}
.brand{justify-self:start;display:inline-flex}
.brand img{height:34px;width:auto}
:root[data-theme="dark"] .brand img{filter:brightness(0) invert(1)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .brand img{filter:brightness(0) invert(1)}}
.pill{display:flex;align-items:center;gap:2px;background:var(--card);border-radius:48px;padding:6px}
.pill a{position:relative;display:inline-flex;align-items:center;height:44px;padding:0 16px;border-radius:48px;text-decoration:none;color:var(--body);font:500 15px var(--font)}
.pill a:hover{color:var(--ink)}
.pill-hl{position:absolute;inset:0;border-radius:48px;background:var(--mint)}
.pill a span:not(.pill-hl){position:relative;z-index:1}
.pill a .pill-hl{position:absolute;inset:0;z-index:0}
.pill a.hl{color:var(--navy)}
.right{justify-self:end;display:flex;align-items:center;gap:8px}
.seg{display:inline-flex;height:44px;padding:4px;border-radius:48px;background:var(--card)}
.seg button{position:relative;border:0;background:none;color:var(--body);font:400 12px var(--mono);min-width:40px;border-radius:48px;cursor:pointer}
.seg button[aria-pressed="true"]{color:var(--bg)}
.seg-pill{position:absolute;inset:0;border-radius:48px;background:var(--ink)}
.seg button span:not(.seg-pill){position:relative;z-index:1}
.seg button .seg-pill{position:absolute;inset:0;z-index:0}
.ibtn{width:44px;height:44px;border:0;border-radius:48px;background:var(--card);color:var(--ink);display:inline-grid;place-items:center;cursor:pointer}
.ibtn:hover{background:var(--mint);color:var(--navy)}
.mbtn{display:none}
@media (max-width:1100px){.pill,.right .cta-h{display:none}.mbtn{display:inline-grid}.bar{grid-template-columns:1fr auto}.hdr{height:5.5rem}}
.sheet{position:fixed;inset:0;z-index:55;background:var(--bg);padding:calc(env(safe-area-inset-top,0px) + 6.5rem) var(--gut) calc(env(safe-area-inset-bottom,0px) + 28px);display:flex;flex-direction:column;overflow:auto}
.sheet a.big{font-family:var(--font-cond);font-weight:700;text-transform:uppercase;font-size:clamp(48px,13vw,72px);line-height:.98;letter-spacing:-.03em;text-decoration:none;display:block}
.sheet .btn{margin-top:auto}

/* sections */
.sec{padding:96px 0}
.arc{border-radius:var(--r-big) var(--r-big) 0 0}
.white{background:var(--card)}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.head .sub{margin-top:24px}
.card{background:var(--card);border-radius:var(--r-card);padding:clamp(24px,3vw,36px)}

/* hero */
.hero{padding:calc(7rem + 32px) 0 92px;overflow:hidden;border-radius:0}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:center;min-height:min(calc(100svh - 7rem - 150px),720px)}
.hero .tags{margin-bottom:28px}
.hero h1 .ln{display:block;overflow:hidden;padding-top:.04em;margin-top:-.04em}
.hero h1 .ch{display:inline-block;will-change:transform}
.hero h1 .ln:nth-child(3){color:var(--violet)}
:root[data-theme="dark"] .hero h1 .ln:nth-child(3){color:var(--mint)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hero h1 .ln:nth-child(3){color:var(--mint)}}
.hero .sub{margin-top:32px;font-size:20px;line-height:1.25;max-width:26em}
.hero .ctas{margin-top:40px}
.hero .note{margin-top:20px}
.hero-art{position:relative;perspective:1200px;justify-self:end;width:100%;max-width:600px}
.hero-art .tilt{transform-style:preserve-3d}
.float{position:absolute;z-index:2}
.dotv{width:8px;height:8px;border-radius:50%;background:var(--volt);outline:1.5px solid var(--navy)}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;min-height:0}.hero-art{max-width:440px;justify-self:center;margin-top:16px}.float{display:none}}

.hero-orbit{position:relative;justify-self:end;width:100%;max-width:600px;touch-action:pan-y}
.hero-orbit svg{width:100%;height:auto;overflow:visible}
.hero-orbit .disc{fill:url(#h-disc);opacity:.55}
:root[data-theme="dark"] .hero-orbit .disc{opacity:.06}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hero-orbit .disc{opacity:.06}}
.hero-orbit .ring{fill:none;stroke:var(--ink);stroke-opacity:.2;stroke-width:1.2;stroke-dasharray:2 7}
.hero-orbit .ring2{fill:none;stroke:var(--ink);stroke-opacity:.08;stroke-width:1}
.hero-orbit .spoke{stroke:var(--ink);stroke-opacity:.18;stroke-width:1.5;stroke-dasharray:3 6;stroke-linecap:round;transition:stroke .4s,stroke-opacity .4s}
.hero-orbit .spoke.on{stroke:var(--gold);stroke-opacity:1;stroke-dasharray:none;stroke-width:2.2}
:root[data-theme="dark"] .hero-orbit .spoke.on{stroke:var(--gold)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hero-orbit .spoke.on{stroke:var(--gold)}}
.hero-orbit .nd-c{fill:var(--card);stroke:var(--line);stroke-width:1.5;filter:drop-shadow(0 8px 14px rgba(20,17,43,.12));transition:fill .4s,stroke .4s}
.hero-orbit .nd.on .nd-c{fill:#2A2066;stroke:#2A2066}
.hero-orbit .nd-i{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:stroke .4s}
.hero-orbit .nd.on .nd-i{stroke:#fff}
.hero-orbit .nd-l rect{fill:var(--card);transition:fill .4s}
.hero-orbit .nd-l text{font:400 12px var(--mono);letter-spacing:-.03em;fill:var(--ink);transition:fill .4s}
.hero-orbit .nd.on .nd-l rect{fill:#2A2066}
.hero-orbit .nd.on .nd-l text{fill:#fff}
.hero-orbit .pulse{fill:none;stroke:var(--gold);stroke-width:2;transform-box:fill-box;transform-origin:center}
@media (prefers-reduced-motion:no-preference){
  .hero-orbit .orbit{animation:hspin 100s linear infinite;transform-box:view-box;transform-origin:300px 300px}
  .hero-orbit .orbit .nd{animation:hspin 100s linear infinite reverse;transform-box:view-box}
}
@keyframes hspin{to{transform:rotate(360deg)}}
@media (max-width:900px){.hero-orbit{max-width:440px;justify-self:center;margin-top:16px}}

/* isometric illustration */
.art{width:100%;height:auto;overflow:visible}
.art text{font-family:var(--mono);letter-spacing:-.03em}
@media (prefers-reduced-motion:no-preference){
  .art.anim .drop{animation:drop .9s var(--spring) both;animation-delay:var(--d,0ms)}
  @keyframes drop{from{opacity:0;transform:translateY(-60px)}}
  .art .bob{animation:bob 4s ease-in-out infinite}
  @keyframes bob{50%{transform:translateY(-8px)}}
}

.art-box{display:grid;place-items:center}
.art-box .art{width:100%!important;height:auto!important;max-width:320px;margin:0 auto}
.slide .art-box,.step-c .art-box,.cmp .art-box{height:auto!important}
.cmp .art-box .art{max-width:360px}
.cta-box .art-box .art{max-width:380px}
.art text{font-family:var(--mono);letter-spacing:-.02em}
@media (prefers-reduced-motion:no-preference){.art .flt{animation:kflt 6s ease-in-out infinite}@keyframes kflt{50%{transform:translateY(-6px)}}}
/* motion line backgrounds */
.hero,.contact-sec{position:relative;isolation:isolate}
.contact-sec{overflow:hidden}
.hero>.wrap,.contact-sec>.wrap{position:relative;z-index:1}
.lines-bg{position:absolute;inset:0;z-index:0;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 75% 70% at 55% 50%,#000 35%,transparent 85%);mask-image:radial-gradient(ellipse 75% 70% at 55% 50%,#000 35%,transparent 85%)}
.lines-bg svg{width:100%;height:100%;display:block}
.lb-grid line{stroke:var(--ink);stroke-opacity:.045;stroke-width:1}
.lb-line{fill:none;stroke:var(--ink);stroke-opacity:.13;stroke-width:1}
.lb-comet{fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-dasharray:.06 .94;stroke-dashoffset:1;animation:lbc 9s linear infinite}
.lb-comet.c1{stroke:#7E71CF}
.lb-comet.c2{stroke:#8FC4BB}
@keyframes lbc{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.spot{position:absolute;left:0;top:0;width:680px;height:680px;margin:-340px 0 0 -340px;border-radius:50%;background:radial-gradient(closest-side,rgba(191,227,220,.55),rgba(169,156,240,.12) 55%,transparent);pointer-events:none;z-index:0}
:root[data-theme="dark"] .spot{background:radial-gradient(closest-side,rgba(110,96,201,.28),rgba(169,156,240,.08) 55%,transparent)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .spot{background:radial-gradient(closest-side,rgba(110,96,201,.28),rgba(169,156,240,.08) 55%,transparent)}}
@media (hover:none){.spot{display:none}}
/* hero orbit hover */
.hero-orbit:hover .orbit,.hero-orbit:hover .orbit .nd{animation-play-state:paused}
.hero-orbit .nd{cursor:pointer}
.hero-orbit .nd-core{transform-box:fill-box;transform-origin:center;transition:transform .45s var(--spring)}
.hero-orbit .nd.on .nd-core{transform:scale(1.12)}
.hero-orbit .nd:hover .nd-c{stroke:var(--gold)}
.orbit-cap{display:flex;justify-content:center;min-height:84px;margin-top:-6px}
.cap-card{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;max-width:380px;padding:14px 18px;border-radius:20px;background:var(--card);box-shadow:0 14px 34px -14px rgba(20,17,43,.28);border:1px solid var(--line)}
.cap-n{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--indigo);color:#fff!important;font-size:11px}
.cap-t{display:grid;gap:2px}
.cap-t b{font-weight:600;font-size:15px}
.cap-t span{font-size:13px;line-height:1.35;color:var(--body)}
/* envelope */
.env-card{cursor:pointer;overflow:hidden}
.env-svg{width:100%;max-width:300px;height:auto;margin:-8px auto 4px;display:block;overflow:visible}
/* Lumora-style hero: liquid reveal, watermark, carousel card, status bar, intro loader */
html.has-lenis{scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-stopped{overflow:hidden}
.liquid{position:absolute;inset:0;z-index:0}
.liquid canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.liquid-top{pointer-events:none}
.hero-vig{position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(to bottom,color-mix(in srgb,var(--bg) 70%,transparent),transparent 26%,transparent 72%,color-mix(in srgb,var(--bg) 60%,transparent))}
.hero-wm{position:absolute;left:0;right:0;bottom:70px;z-index:0;text-align:center;pointer-events:none;user-select:none;font:700 clamp(120px,22vw,380px)/.8 var(--font-cond);text-transform:uppercase;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1.5px rgba(20,17,43,.11)}
:root[data-theme="dark"] .hero-wm{-webkit-text-stroke-color:rgba(255,255,255,.08)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hero-wm{-webkit-text-stroke-color:rgba(255,255,255,.08)}}
.hero .hint{margin-top:18px;display:inline-flex;align-items:center;gap:10px}
@media (hover:none){.hero .hint{display:none}}
.hero-status{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:48px;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent);font:400 12px var(--mono);letter-spacing:-.02em;color:var(--meta)}
.hero-status a{text-decoration:none;color:var(--ink)}
.hero-status a:hover{text-decoration:underline;text-underline-offset:4px}
.hero-status .clk{font-weight:400;color:var(--ink);font-variant-numeric:tabular-nums}
@media (max-width:640px){.hero-status .hide-sm{display:none}}
.hc-wrap{display:flex;justify-content:center;margin-top:-4px}
.hcard{width:100%;max-width:25rem;border-radius:1.25rem;padding:.5rem;background:color-mix(in srgb,var(--card) 72%,transparent);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);box-shadow:0 18px 40px -20px rgba(20,17,43,.35);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.hc-main{display:flex;gap:.5rem;width:100%;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer;border-radius:.875rem}
.hc-tile{flex:none;width:6rem;aspect-ratio:1;display:grid;place-items:center;border-radius:.875rem;background:linear-gradient(140deg,#3A2E85,#14112B)}
.hc-tile svg{width:1.4rem;height:2.8rem;fill:#7E71CF;transition:transform .5s var(--spring)}
.hc-main:hover .hc-tile svg{transform:rotate(-12deg) scale(1.08)}
.hc-body{flex:1;min-width:0;border-radius:.875rem;background:color-mix(in srgb,var(--panel) 80%,transparent);padding:.7rem .85rem;position:relative;min-height:6rem;display:flex;align-items:center}
.hc-item{display:grid;gap:3px}
.hc-cap{font:400 11px var(--mono);text-transform:uppercase;color:var(--meta)}
.hc-title{font-size:15px;font-weight:600;line-height:1.25}
.hc-short{font-size:12.5px;line-height:1.35;color:var(--body);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hc-foot{display:flex;align-items:center;justify-content:space-between;padding:.55rem .35rem .2rem .6rem}
.hc-dots{display:flex;gap:5px;align-items:center}
.hc-dots span{height:.25rem;width:.375rem;border-radius:9999px;background:color-mix(in srgb,var(--ink) 20%,transparent);transition:all .3s}
.hc-dots span.on{width:1rem;background:var(--ink)}
.hc-btns{display:flex;gap:6px}
.hc-btns button{width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:var(--card);color:var(--body);cursor:pointer;transition:color .2s,border-color .2s,transform .3s var(--spring)}
.hc-btns button:hover{color:var(--ink);border-color:var(--ink);transform:scale(1.08)}
.hc-btns svg{width:16px;height:16px}
.loader{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;background:#14112B;color:#fff;border-radius:0 0 2rem 2rem}
.ld-center{display:flex;flex-direction:column;align-items:center;gap:1.1rem;text-align:center}
.ld-brand{display:flex;align-items:center;gap:.7rem;font:700 44px/1 var(--font-cond);text-transform:uppercase;letter-spacing:-.01em}
.ld-mark svg{width:20px;height:40px;fill:#7E71CF}
.loader p{max-width:24ch;font-size:14px;color:rgba(255,255,255,.55)}
.ld-prog{width:min(22rem,72vw);display:grid;gap:.75rem}
.ld-track{height:1px;background:rgba(255,255,255,.15)}
.ld-fill{height:100%;background:#7E71CF;transition:width .1s ease-out}
.ld-row{display:flex;justify-content:space-between;font:400 12px var(--mono);text-transform:uppercase;color:rgba(255,255,255,.45)}
.ld-num{color:rgba(255,255,255,.85);font-variant-numeric:tabular-nums}
/* marquee */
.band{overflow:hidden;padding:18px 0;background:var(--mint);color:var(--navy)}
.band-track{display:flex;width:max-content}
.band-item{display:inline-flex;align-items:center;gap:28px;padding-right:28px;font:700 clamp(28px,3.6vw,44px)/1 var(--font-cond);text-transform:uppercase;letter-spacing:-.02em;white-space:nowrap}
.band-item svg{width:22px;height:40px;fill:var(--indigo)}

/* capabilities slider */
.caps{position:relative;z-index:2;margin-top:-64px;padding:80px 0 96px}
.nav2{display:flex;align-items:center;gap:16px}
.nav2 .count{min-width:60px;text-align:center}
.nav2 button{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--inv-line);background:transparent;color:var(--inv-ink);cursor:pointer;display:grid;place-items:center}
.nav2 button:hover:not([disabled]){background:var(--mint);border-color:var(--mint);color:var(--navy)}
.nav2 button[disabled]{opacity:.3;cursor:default}
.track{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(290px,calc((100% - 32px)/3));gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.track::-webkit-scrollbar{display:none}
@media (max-width:900px){.track{grid-auto-columns:minmax(270px,82%)}}
.slide{scroll-snap-align:start;background:var(--inv-card);color:var(--inv-ink);border-radius:var(--r-card);padding:24px;display:flex;flex-direction:column;min-height:470px;transition:background .2s,color .2s}
.slide .art-box{height:200px;margin:12px 0 8px;display:grid;place-items:center}
.slide .art-box .art{height:200px;width:auto;transition:transform .5s var(--spring)}
.slide:hover{background:var(--mint);color:var(--navy)}
.slide:hover .small,.slide:hover .mono{color:var(--navy)}
.slide:hover .art-box .art{transform:translateY(-8px) scale(1.04)}
.slide .h-card{margin-top:auto}
.slide .small{margin-top:10px;font-size:15px;color:var(--inv-muted)}
.slide .tags{margin-top:16px}
.slide .tag{background:var(--inv-ink);color:var(--navy)}
.slide:hover .tag{background:var(--navy);color:var(--mint)}
.also{margin-top:28px}

/* how it works */
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.step-c{display:flex;flex-direction:column;min-height:440px}
.step-c .art-box{height:190px;display:grid;place-items:center;margin-top:12px}
.step-c .art-box .art{height:190px;width:auto}
.step-c .h-card{margin-top:auto;padding-top:24px}
.step-c p{margin-top:10px}
@media (max-width:900px){.three{grid-template-columns:1fr}.step-c{min-height:0}}

/* live flow */
.flow-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:16px;align-items:stretch}
.flow-intro{display:flex;flex-direction:column;gap:24px}
.flow-intro .note{margin-top:auto;padding-top:20px;border-top:1px solid var(--line)}
.flow-intro .note b{font-weight:600;color:var(--ink)}
.flow{background:var(--card);border-radius:var(--r-card);padding:24px}
.flow-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.flow-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.flow-row{position:relative;width:100%;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;min-height:60px;padding:0 16px;border:0;border-radius:20px;background:var(--panel);color:var(--ink);font:500 16px/1.2 var(--font);text-align:left;cursor:pointer;overflow:hidden}
.flow-active{position:absolute;inset:0;border-radius:20px;background:var(--mint)}
.flow-row.on{color:var(--navy)}
.flow-num,.flow-name,.flow-tag{position:relative}
.flow-num{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font:400 12px var(--mono);background:var(--card);color:var(--ink)}
.flow-row.on .flow-num{background:var(--navy);color:var(--mint)}
.flow-tag{font:400 12px var(--mono);color:var(--meta)}
.flow-row.on .flow-tag{color:var(--navy)}
.flow-bar{position:absolute;left:16px;right:16px;bottom:0;height:3px;border-radius:2px;background:var(--navy);transform-origin:left center}
.flow-detail{margin-top:16px;min-height:96px;padding:20px;border-radius:20px;background:var(--panel);color:var(--body);font-size:16px;line-height:1.4}
@media (max-width:900px){.flow-grid{grid-template-columns:1fr}}
@media (max-width:560px){.flow-tag{display:none}.flow-row{grid-template-columns:36px 1fr}}

/* compare */
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cmp .card{display:flex;flex-direction:column;gap:20px;padding:32px}
.cmp .art-box{height:220px;display:grid;place-items:center}
.cmp .art-box .art{height:220px;width:auto}
.cmp ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.cmp li{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.cmp li b{display:block;font-weight:500}
.cmp li small{display:block;margin-top:2px}
.mk{width:24px;height:24px;border-radius:50%;display:grid;place-items:center}
.c-a{background:var(--panel)!important}
.c-a .mk{background:var(--card)}
.c-b{background:var(--inv-bg)!important;color:var(--inv-ink)}
.c-b ul,.c-b li{border-color:var(--inv-line)}
.c-b small{color:var(--inv-muted)}
.c-b .mk{background:var(--mint);color:var(--navy)}
.c-b .tag{background:var(--mint)}
@media (max-width:900px){.cmp{grid-template-columns:1fr}}

/* process */
.proc-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,5vw,80px)}
.proc-head{position:sticky;top:8rem;align-self:start}
.proc-head .sub{margin-top:24px}
.steps-wrap{position:relative}
.rail{position:absolute;left:27px;top:28px;bottom:28px;width:2px;background:var(--line)}
.rail-fill{position:absolute;inset:0;background:var(--ink);transform-origin:top center}
.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:56px}
.step{display:grid;grid-template-columns:56px 1fr;gap:24px;position:relative}
.step-num{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font:700 24px/1 var(--font-cond);background:var(--panel);color:var(--ink);border:2px solid var(--line);transition:background .3s,color .3s,border-color .3s,transform .4s var(--spring)}
.step-num.on{background:var(--mint);color:var(--navy);border-color:var(--navy);transform:scale(1.06)}
.step h3{margin:12px 0 10px}
.step p{color:var(--body);max-width:46ch}
@media (max-width:900px){.proc-grid{grid-template-columns:1fr}.proc-head{position:static}}

/* plans */
.plans{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:16px;align-items:stretch}
.plan{border-radius:var(--r-card);padding:32px;display:flex;flex-direction:column;gap:18px;background:var(--card)}
.plan ul{list-style:none;margin:0;padding:0;display:grid;gap:12px;font-size:15px}
.plan li{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start}
.plan .mk{background:var(--mint);color:var(--navy);width:22px;height:22px}
.plan .price{margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}
.plan .btn{width:100%}
.plan.feat{background:var(--inv-bg);color:var(--inv-ink);padding:40px 32px}
.plan.feat .price{border-color:var(--inv-line)}
@media (max-width:960px){.plans{grid-template-columns:1fr}}

/* CTA box */
.cta-box{border-radius:var(--r-big);padding:clamp(40px,6vw,88px);display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:end}
.cta-box .sub{margin-top:24px}
.cta-box .ctas{margin-top:40px}
.cta-box .art-box .art{height:260px;width:auto;margin-left:auto}
@media (max-width:900px){.cta-box{grid-template-columns:1fr}.cta-box .art-box{display:none}}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,5vw,80px)}
.faq-list{display:grid;gap:8px}
.faq-item{background:var(--card);border-radius:24px}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding:18px 24px;border:0;background:transparent;color:var(--ink);font:500 18px/1.3 var(--font);text-align:left;cursor:pointer;border-radius:24px}
.faq-icon{flex:0 0 auto;width:36px;height:36px;border-radius:50%;background:var(--panel);display:grid;place-items:center}
.faq-q[aria-expanded="true"] .faq-icon{background:var(--mint);color:var(--navy)}
.faq-a{overflow:hidden}
.faq-a p{color:var(--body);padding:0 24px 24px;max-width:60ch}
@media (max-width:900px){.faq-grid{grid-template-columns:1fr}}

/* contact */
.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;align-items:start}
.card h2.h-sec{margin-bottom:8px}
.field{display:grid;gap:6px;margin-bottom:16px}
.field label,.legend{font-weight:500;font-size:14px}
.field .o{font-weight:400;color:var(--meta)}
.field input,.field textarea{width:100%;min-height:50px;padding:12px 14px;border-radius:var(--r-btn);border:1.5px solid var(--line);background:var(--panel);color:var(--ink);font:400 16px/1.4 var(--font)}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--ink)}
.field [aria-invalid="true"]{border-color:#C0392B}
.err{font-size:13px;color:#B03A2E}
:root[data-theme="dark"] .err{color:#FF9C8F}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .err{color:#FF9C8F}}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
fieldset{border:0;margin:0 0 20px;padding:0;min-width:0}
.legend{margin:8px 0 12px;padding:0}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{min-height:44px;padding:0 16px;border-radius:64px;border:0;background:var(--panel);color:var(--ink);font:500 14px var(--font);cursor:pointer;transition:background .15s}
.opt:hover{background:color-mix(in srgb,var(--mint) 45%,var(--panel))}
.opt[aria-pressed="true"]{background:var(--mint);color:var(--navy)}
.side{display:grid;gap:16px}
.side .card{display:grid;gap:10px}
.direct a{font:700 30px/1.05 var(--font-cond);text-transform:uppercase;text-decoration:none;letter-spacing:-.01em;word-break:break-word}
.direct a:hover{text-decoration:underline}
.sent{display:grid;gap:16px;justify-items:start;padding:24px 0}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
@media (max-width:560px){.row2{grid-template-columns:1fr}}

/* footer */
footer{background:#110E26;color:#fff;padding:64px 0 28px}
:root[data-theme="dark"] footer{background:#08061C}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) footer{background:#08061C}}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
footer .brand img{filter:brightness(0) invert(1)!important;height:32px}
footer .small{color:#BDB8E0;margin-top:16px;max-width:24em}
footer h4{font:400 12px var(--mono);color:#BDB8E0;margin-bottom:14px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
footer ul a{color:#fff;text-decoration:none;font-size:14px;font-weight:500}
footer ul a:hover{text-decoration:underline;text-underline-offset:4px}
.legal{margin-top:40px;padding-top:18px;border-top:1px solid #2A2550;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font:400 12px var(--mono);color:#9C97C6}
@media (max-width:760px){.foot{grid-template-columns:1fr}}
/* ===== readability + accessibility pass ===== */
/* header: always on a readable surface */
.hdr,.hdr.scrolled{height:5.5rem;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:saturate(1.3) blur(16px);-webkit-backdrop-filter:saturate(1.3) blur(16px);border-bottom:1px solid var(--line)}
.hdr.scrolled{background:color-mix(in srgb,var(--bg) 97%,transparent);box-shadow:0 10px 30px -18px rgba(20,17,43,.35)}
.pill{border:1px solid var(--line)}
.pill a{color:var(--ink);font-size:15px}
.pill a.cur span{font-weight:600}
.pill a.cur::after{content:"";position:absolute;left:16px;right:16px;bottom:7px;height:2px;border-radius:2px;background:currentColor}
.pill a:focus-visible,.seg button:focus-visible,.ibtn:focus-visible,.hdr .btn:focus-visible{outline:3px solid var(--violet);outline-offset:2px}
:root[data-theme="dark"] .pill a:focus-visible,:root[data-theme="dark"] .seg button:focus-visible,:root[data-theme="dark"] .ibtn:focus-visible{outline-color:var(--mint)}
.seg{border:1px solid var(--line)}
.seg button{font-size:13px;color:var(--ink);min-width:44px}
.ibtn{border:1px solid var(--line)}
.hero-vig{background:linear-gradient(to right,color-mix(in srgb,var(--bg) 86%,transparent) 0%,color-mix(in srgb,var(--bg) 70%,transparent) 40%,transparent 64%),linear-gradient(to bottom,color-mix(in srgb,var(--bg) 75%,transparent),transparent 24%,transparent 70%,color-mix(in srgb,var(--bg) 88%,transparent) 100%)}
@media (max-width:900px){.hero-vig{background:color-mix(in srgb,var(--bg) 62%,transparent)}}
.hero-orbit.is-paused .orbit,.hero-orbit.is-paused .orbit .nd{animation-play-state:paused}
.hc-btns button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
/* marquee: CSS animation, pauses on hover */
.band-track{animation:band 34s linear infinite}
.band:hover .band-track{animation-play-state:paused}
@keyframes band{to{transform:translateX(-50%)}}
/* contact */
.contact-sec{background:var(--bg)}
.lines-contact{opacity:.55}
.contact-grid{grid-template-columns:1.35fr 1fr;gap:20px}
.form-card{background:var(--card);border:1px solid var(--line);box-shadow:0 24px 60px -32px rgba(20,17,43,.35);padding:clamp(24px,3.4vw,44px)}
.form-card form{display:flex;flex-direction:column}
.form-card .h-card{font-size:28px}
.form-note{font-size:14px;color:var(--body);margin:8px 0 22px}
.form-card .form-note:last-of-type{margin:4px 0 18px}
.field{margin-bottom:20px}
.field label,.legend{font-size:15px;font-weight:600;color:var(--ink)}
.req{color:#B42318;font-weight:600}
.o{font-weight:400;color:var(--meta);font-size:14px}
.field input,.field textarea{background:var(--card);border:1.5px solid #8C88A6;border-radius:12px;min-height:52px;font-size:16px;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.field input:hover,.field textarea:hover{border-color:var(--ink)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 4px color-mix(in srgb,var(--violet) 25%,transparent)}
.field [aria-invalid="true"]{border-color:#B42318;border-width:2px}
.err{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:#B42318}
.err svg{flex:none}
.err-sum{border:2px solid #B42318;border-radius:14px;padding:14px 16px;margin-bottom:22px;background:color-mix(in srgb,#B42318 6%,var(--card));color:var(--ink);font-size:15px}
.err-sum:focus-visible{outline:3px solid var(--violet);outline-offset:3px}
.err-sum ul{margin:8px 0 0;padding-left:18px;list-style:disc}
.err-sum a{color:#B42318;font-weight:500;text-decoration:underline;text-underline-offset:3px}
fieldset{margin-bottom:20px}
.opt{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px 0 12px;border:1.5px solid #8C88A6;background:var(--card);color:var(--ink);font-size:15px}
.opt:hover{border-color:var(--ink);background:var(--card)}
.opt-ck{width:18px;height:18px;border-radius:50%;border:1.5px solid #8C88A6;display:grid;place-items:center;color:transparent;transition:all .15s}
.opt[aria-pressed="true"]{background:var(--indigo);border-color:var(--indigo);color:#fff}
.opt[aria-pressed="true"] .opt-ck{background:#fff;border-color:#fff;color:var(--indigo)}
.opt:focus-visible,.btn:focus-visible{outline:3px solid var(--violet);outline-offset:3px}
.btn-send{align-self:flex-start;min-width:220px}
.sent .h-sec:focus{outline:none}
.ok-badge{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--indigo);color:#fff}
.form-p{font-size:16px;color:var(--body)}
.form-p a{color:var(--ink);text-decoration:underline}
.next-card{background:var(--card);border:1px solid var(--line);display:grid;gap:18px}
.next-card .h-card{font-size:22px}
.next-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.next-list li{display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start;font-size:15px;color:var(--body);line-height:1.45}
.nn{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--navy);font:700 16px/1 var(--font-cond)}
.lang-note{display:grid;gap:8px;padding-top:16px;border-top:1px solid var(--line);font-size:14px;color:var(--body)}
.lang-note .tag{justify-self:start}
.env-card a{color:#fff}
.env-card a:focus-visible{outline:3px solid var(--mint);outline-offset:4px}
:root[data-theme="dark"] .field input,:root[data-theme="dark"] .field textarea,:root[data-theme="dark"] .opt{border-color:#7A759C}
:root[data-theme="dark"] .req,:root[data-theme="dark"] .err,:root[data-theme="dark"] .err-sum a{color:#FF9C8F}
:root[data-theme="dark"] .err-sum,:root[data-theme="dark"] .field [aria-invalid="true"]{border-color:#FF9C8F}
:root[data-theme="dark"] .opt[aria-pressed="true"]{background:var(--mint);border-color:var(--mint);color:var(--navy)}
:root[data-theme="dark"] .opt[aria-pressed="true"] .opt-ck{background:var(--navy);border-color:var(--navy);color:var(--mint)}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .field input,:root:not([data-theme="light"]) .field textarea,:root:not([data-theme="light"]) .opt{border-color:#7A759C}
  :root:not([data-theme="light"]) .req,:root:not([data-theme="light"]) .err,:root:not([data-theme="light"]) .err-sum a{color:#FF9C8F}
  :root:not([data-theme="light"]) .err-sum,:root:not([data-theme="light"]) .field [aria-invalid="true"]{border-color:#FF9C8F}
  :root:not([data-theme="light"]) .opt[aria-pressed="true"]{background:var(--mint);border-color:var(--mint);color:var(--navy)}
  :root:not([data-theme="light"]) .opt[aria-pressed="true"] .opt-ck{background:var(--navy);border-color:var(--navy);color:var(--mint)}
  :root:not([data-theme="light"]) .pill a:focus-visible,:root:not([data-theme="light"]) .seg button:focus-visible,:root:not([data-theme="light"]) .ibtn:focus-visible{outline-color:var(--mint)}
}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}.btn-send{align-self:stretch}}
@media (prefers-reduced-motion:reduce){.band-track{animation:none}}
/* ===== round 2: hcard, caps alignment, contact alignment, footer ===== */
/* hero card — trend glass bento */
.hcard{position:relative;max-width:26rem;padding:.55rem;border-radius:1.5rem;border:1px solid transparent;background:linear-gradient(color-mix(in srgb,var(--card) 78%,transparent),color-mix(in srgb,var(--card) 78%,transparent)) padding-box,linear-gradient(135deg,rgba(191,227,220,.95),rgba(90,75,181,.35) 45%,rgba(255,255,255,.2)) border-box;box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 30px 60px -30px rgba(20,17,43,.45),0 10px 20px -12px rgba(20,17,43,.18)}
.hc-tile{position:relative;overflow:hidden;width:6.5rem;border-radius:1.05rem;background:radial-gradient(120% 120% at 20% 10%,#4A3CA3 0%,#1F1850 55%,#120F2B 100%);isolation:isolate}
.hc-conic{position:absolute;inset:-40%;background:conic-gradient(from 0deg,transparent 0 55%,rgba(191,227,220,.55) 70%,rgba(169,156,240,.35) 80%,transparent 92%);animation:hcspin 7s linear infinite;z-index:0;filter:blur(6px)}
.hc-tile::after{content:"";position:absolute;inset:3px;border-radius:.9rem;background:radial-gradient(120% 120% at 20% 10%,#3E3290 0%,#1A1544 60%,#120F2B 100%);z-index:0}
.hc-ring{position:absolute;inset:18%;border-radius:50%;border:1px solid rgba(255,255,255,.14);z-index:1}
.hc-ring::before{content:"";position:absolute;top:-3px;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:#BFE3DC;box-shadow:0 0 10px #BFE3DC}
.hc-ring{animation:hcspin 9s linear infinite}
.hc-markw{position:relative;z-index:2;display:block;width:1.75rem}
.hc-markw svg{width:100%;height:auto;display:block;overflow:visible;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35))}
.hc-tile svg{fill:none}
.pc{transition:transform .5s var(--spring)}
.hc-main:hover .pc-ub{transform:translate(2.5px,-3px)}
.hc-main:hover .pc-lb{transform:translate(-2.5px,3px)}
.hc-main:hover .pc-ld{transform:translate(-3.5px,0)}
.hc-main:hover .pc-rd{transform:translate(3.5px,0)}
.hc-num{position:absolute;z-index:2;left:.55rem;bottom:.45rem;font:400 10px var(--mono);color:rgba(255,255,255,.75)}
@keyframes hcspin{to{transform:rotate(360deg)}}
.hc-body{background:color-mix(in srgb,var(--panel) 85%,transparent);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);min-height:6.5rem}
.hc-title{font-size:16px;letter-spacing:-.01em}
.hc-foot{gap:14px;padding:.6rem .35rem .25rem .5rem}
.hc-prog{flex:1;display:grid;grid-template-columns:repeat(6,1fr);gap:4px}
.hc-prog span{height:3px;border-radius:3px;background:color-mix(in srgb,var(--ink) 14%,transparent);overflow:hidden}
.hc-prog span.done i{display:block;height:100%;width:100%;background:color-mix(in srgb,var(--ink) 45%,transparent)}
.hc-prog span.on i{display:block;height:100%;width:0;background:var(--ink);animation:hcfill 3s linear forwards}
.hc-prog.hold span.on i{animation:none;width:100%}
@keyframes hcfill{to{width:100%}}
@media (prefers-reduced-motion:reduce){.hc-conic,.hc-ring{animation:none}}
/* caps slides — consistent alignment in EN and FR */
.slide{display:flex;flex-direction:column;gap:0}
.slide .h-card{margin-top:8px;min-height:2.3em;display:flex;align-items:flex-end}
.slide .small{min-height:calc(1.4em * 4);line-height:1.4}
.slide .tags{list-style:none;margin:auto 0 0;padding:18px 0 0;display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start;min-height:calc(28px * 2 + 6px + 18px)}
.slide .tag{height:auto;min-height:28px;white-space:normal;line-height:1.2;padding:5px 12px}
/* contact alignment */
.contact-sec .head{margin-bottom:32px}
.contact-grid{align-items:stretch}
.side{display:flex;flex-direction:column;gap:20px}
.side .next-card{flex:1;align-content:start}
.env-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.env-card .env-svg{align-self:center}
.form-card,.side .card{border-radius:var(--r-card)}
.row2{gap:16px;align-items:start}
.row2 .field{margin-bottom:20px}
/* footer — professional */
.site-foot{position:relative;overflow:hidden;background:#110E26;color:#fff;padding:88px 0 32px;border-radius:var(--r-big) var(--r-big) 0 0}
:root[data-theme="dark"] .site-foot{background:#08061A}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .site-foot{background:#08061A}}
.site-foot .wrap{position:relative;z-index:1}
.site-foot a{color:#fff}
.site-foot .ctas .btn-light,.site-foot .ctas .btn-light:visited{background:#fff;color:#14112B}
.site-foot .ctas .btn-light:hover,.site-foot .ctas .btn-light:focus-visible{background:var(--mint);color:#14112B}
.ctas .btn-dark{color:var(--bg)}
.ctas .btn-dark:hover,.ctas .btn-dark:focus-visible{color:#14112B}
.inv .ctas .btn-dark{background:#fff;color:#14112B}
.site-foot :focus-visible{outline:3px solid var(--mint);outline-offset:3px}
.foot-cta{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:end;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.12)}
.foot-cta .d-lg{max-width:12ch}
.foot-cta-r p{font-size:18px;line-height:1.4;color:#C8C3E6;max-width:32em}
.foot-cta-r .ctas{margin-top:28px}
.btn-light{background:#fff;color:#14112B}
.btn-light:hover{background:var(--mint);color:#14112B}
.btn-line{border:1.5px solid rgba(255,255,255,.4);color:#fff;background:transparent}
.btn-line:hover{border-color:#fff}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:40px;padding:56px 0}
.foot-brand .brand img{height:34px;filter:brightness(0) invert(1)}
.foot-brand>p:not(.foot-h){margin-top:18px;max-width:26em;font-size:15px;line-height:1.5;color:#C8C3E6}
.foot-h{font:400 12px var(--mono);text-transform:uppercase;letter-spacing:.02em;color:#A9A3D3;margin-bottom:16px}
.foot-brand .foot-h{margin:28px 0 12px}
.site-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.site-foot nav ul a,.foot-addr a{font-size:15px;text-decoration:none;color:#fff}
.site-foot nav ul a:hover,.foot-addr a:hover{text-decoration:underline;text-underline-offset:4px}
.soc{display:flex!important;gap:10px!important}
.soc a{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);transition:background .2s,color .2s,transform .3s var(--spring)}
.soc a:hover{background:var(--mint);color:#14112B;transform:translateY(-2px)}
.foot-addr{font-style:normal;display:grid;gap:10px;font-size:15px;color:#C8C3E6}
.foot-legal{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);font-size:14px;color:#A9A3D3}
.foot-legal ul{display:flex!important;flex-wrap:wrap;gap:8px 24px!important}
.foot-legal ul a{font-size:14px;color:#C8C3E6}
.to-top{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid rgba(255,255,255,.2);text-decoration:none;font-size:14px}
.to-top:hover{background:rgba(255,255,255,.08)}
.foot-wm{position:absolute;left:0;right:0;bottom:-.12em;text-align:center;pointer-events:none;user-select:none;font:700 clamp(120px,22vw,360px)/.8 var(--font-cond);text-transform:uppercase;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.06);z-index:0}
@media (max-width:960px){.foot-cta{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr}.foot-legal{flex-direction:column;align-items:flex-start}}
/* ===== legibility lock: light/dark × hover/rest ===== */
.hcard{background:linear-gradient(color-mix(in srgb,var(--card) 90%,transparent),color-mix(in srgb,var(--card) 90%,transparent)) padding-box,linear-gradient(135deg,rgba(191,227,220,.95),rgba(90,75,181,.35) 45%,rgba(255,255,255,.2)) border-box}
.hc-body{background:var(--panel)}
.hero-status{background:color-mix(in srgb,var(--bg) 80%,transparent);border-radius:14px;padding:14px 16px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line)}
.hero .tags .tag.ghost{border:1px solid var(--line)}
.hero-orbit .nd-l rect{stroke:var(--line);stroke-width:1}
/* hover states keep a dark-on-light or light-on-dark pair in both themes */
.slide:hover .h-card,.slide:hover .small,.slide:hover .mono{color:#14112B}
.pill a.hl,.pill a.hl span{color:#14112B}
.ibtn:hover,.nav2 button:hover:not([disabled]),.faq-q[aria-expanded="true"] .faq-icon,.soc a:hover{color:#14112B}
.btn-dark:hover,.inv .btn-dark:hover,.btn-light:hover{color:#14112B}
.btn-ghost:hover{color:var(--ink);border-color:var(--ink)}
.flow-row.on,.flow-row.on .flow-name,.flow-row.on .flow-tag{color:#14112B}
.flow-row:not(.on):hover{background:color-mix(in srgb,var(--mint) 35%,var(--panel));color:var(--ink)}
.opt:hover:not([aria-pressed="true"]){color:var(--ink)}
.site-foot nav ul a:hover,.foot-legal ul a:hover{color:#fff}
.hc-btns button:hover{color:var(--ink)}
.hc-btns button[aria-pressed="true"]:hover{color:var(--bg)}
/* ===== buttons: legible text in every theme and state ===== */
.btn{font-weight:600;letter-spacing:-.005em}
.btn-dark{background:var(--ink);color:var(--bg)}
.btn-ghost{color:var(--ink);border-color:color-mix(in srgb,var(--ink) 55%,transparent);background:color-mix(in srgb,var(--card) 70%,transparent)}
.btn-ghost:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.inv .btn-ghost{color:#fff;border-color:rgba(255,255,255,.55);background:transparent}
.inv .btn-ghost:hover{background:#fff;color:#14112B;border-color:#fff}
.inv .btn-dark,.plan.feat .btn-dark{background:#fff;color:#14112B}
.inv .btn-dark:hover,.plan.feat .btn-dark:hover{background:var(--mint);color:#14112B}
.btn-line{color:#fff;border-color:rgba(255,255,255,.55)}
.btn-line:hover{background:#fff;color:#14112B;border-color:#fff}
.btn-light{background:#fff;color:#14112B}
.to-top{color:#fff}
.to-top:hover{background:#fff;color:#14112B}
.cta-h{white-space:nowrap}
[tabindex="-1"]:focus{outline:none}
@media (max-width:1240px){.pill a{padding:0 12px;font-size:14.5px}}
/* ===== logo lockup ===== */
:root{--lg1:#7A6CD6;--lg2:#2A2066;--lg3:#E3F5F1;--lg4:#7FB9AF}
:root[data-theme="dark"]{--lg1:#E4E0FA;--lg2:#8C7FD9;--lg3:#F0FBF8;--lg4:#8FCFC4}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--lg1:#E4E0FA;--lg2:#8C7FD9;--lg3:#F0FBF8;--lg4:#8FCFC4}}
.on-dark{--lg1:#E4E0FA;--lg2:#8C7FD9;--lg3:#F0FBF8;--lg4:#8FCFC4}
.lg-s1{stop-color:var(--lg1)}.lg-s2{stop-color:var(--lg2)}.lg-s3{stop-color:var(--lg3)}.lg-s4{stop-color:var(--lg4)}
.logo-lockup{display:inline-flex;align-items:center;gap:11px;color:var(--ink)}
.lg-mark{width:19px;height:38px;overflow:visible;filter:drop-shadow(0 4px 8px rgba(42,32,102,.18))}
.lp{transition:transform .55s var(--spring)}
.brand:hover .lp-ub,.brand:focus-visible .lp-ub{transform:translate(1.5px,-2px)}
.brand:hover .lp-lb,.brand:focus-visible .lp-lb{transform:translate(-1.5px,2px)}
.brand:hover .lp-ld,.brand:focus-visible .lp-ld{transform:translate(-2.5px,0)}
.brand:hover .lp-rd,.brand:focus-visible .lp-rd{transform:translate(2.5px,0)}
.lg-txt{display:grid;gap:5px}
.lg-word{font:700 29px/.82 var(--font-cond);text-transform:uppercase;letter-spacing:.075em;color:var(--ink)}
.lg-rule{display:block;height:2px;width:100%;border-radius:2px;background:linear-gradient(90deg,var(--lg2),var(--lg4));transform-origin:left;transform:scaleX(.32);transition:transform .55s var(--spring)}
.brand:hover .lg-rule,.brand:focus-visible .lg-rule{transform:scaleX(1)}
.on-dark .lg-word{color:#fff}
.brand{border-radius:10px;text-decoration:none}
.site-foot .logo-lockup .lg-mark{filter:none}
/* ===== ribbons (band) ===== */
.ribbons{position:relative;overflow:hidden;padding:76px 0 86px;background:var(--bg)}
.rb{position:relative;width:112%;margin-left:-6%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.rb-track{display:flex;width:max-content;animation:rbx 46s linear infinite;will-change:transform}
.rb-b .rb-track{animation-duration:38s;animation-direction:reverse}
@keyframes rbx{to{transform:translateX(-50%)}}
.ribbons:hover .rb-track,.ribbons.paused .rb-track{animation-play-state:paused}
.rb-a{z-index:1;transform:rotate(-2.2deg);padding:22px 0;background:linear-gradient(90deg,#17123E,#2A2066 50%,#17123E);color:#fff;border-block:1px solid rgba(255,255,255,.08);box-shadow:0 28px 50px -30px rgba(20,17,43,.6)}
.rb-b{z-index:2;transform:rotate(1.7deg);margin-top:-26px;padding:14px 0;background:linear-gradient(90deg,#CDEAE4,#BFE3DC 50%,#CDEAE4);color:#14112B;box-shadow:0 18px 40px -26px rgba(20,17,43,.45)}
.rb-item{display:inline-flex;align-items:center;gap:18px;padding:0 30px;white-space:nowrap;font:700 clamp(30px,4.2vw,54px)/1 var(--font-cond);text-transform:uppercase;letter-spacing:-.005em}
.rb-a .rb-item.ol .rb-t{color:transparent;-webkit-text-stroke:1.5px #fff}
.rb-ic{flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#BFE3DC;box-shadow:0 0 0 6px rgba(191,227,220,.12)}
.rb-a .rb-item.ol .rb-ic{background:transparent;border:1.5px solid rgba(255,255,255,.85);box-shadow:none}
.rb-ic svg{width:24px;height:24px;fill:none;stroke:#14112B;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rb-a .rb-item.ol .rb-ic svg{stroke:#fff}
.rb-b .rb-item{font-size:clamp(22px,2.8vw,36px);gap:30px;padding:0 0 0 30px;letter-spacing:.02em}
.rb-mk svg{display:block;width:13px;height:26px;fill:#2A2066}
.rb-pause{position:absolute;right:clamp(16px,4vw,40px);bottom:20px;z-index:3;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;transition:background .2s,color .2s}
.rb-pause:hover{background:var(--ink);color:var(--bg)}
.rb-pause[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.rb-pause:focus-visible{outline:3px solid var(--violet);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.rb-track{animation:none}}
@media (max-width:640px){.ribbons{padding:56px 0 70px}.rb-ic{width:40px;height:40px}.rb-ic svg{width:20px;height:20px}}
/* ===== hover + wrap safety (EN/FR, light/dark) ===== */
.btn{white-space:normal;text-align:center;line-height:1.2;padding-top:12px;padding-bottom:12px}
.cta-h{white-space:nowrap}
.btn-dark:hover,.btn-dark:focus-visible{background:var(--mint);color:#14112B;border-color:var(--mint)}
.btn-dark:hover *,.btn-ghost:hover *,.btn-light:hover *,.btn-line:hover *{color:inherit}
.slide:hover .tag{background:#14112B;color:#BFE3DC}
.pill a:hover span{color:inherit}
@media (max-width:1280px){.right .cta-h{display:none}}
/* ===== velocity band ===== */
.velband{position:relative;overflow:hidden;padding:64px 0 76px;background:var(--bg);border-block:1px solid var(--line)}
.vb-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 80% at 50% 50%,color-mix(in srgb,var(--mint) 35%,transparent),transparent 70%)}
.vel-row{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.vel-track{display:flex;width:max-content;will-change:transform}
.vel-item{display:inline-flex;align-items:center;gap:36px;padding-right:36px}
.vel-word{font:700 clamp(46px,7.2vw,104px)/1.02 var(--font-cond);text-transform:uppercase;letter-spacing:-.02em;color:var(--ink);white-space:nowrap;transition:color .35s,-webkit-text-stroke-color .35s}
.vel-word.ol{color:transparent;-webkit-text-stroke:1.5px var(--ink)}
.vel-word:hover{color:transparent;-webkit-text-stroke:0 transparent;background:linear-gradient(100deg,#4A3CA3,#2F7F74);-webkit-background-clip:text;background-clip:text}
:root[data-theme="dark"] .vel-word:hover{background:linear-gradient(100deg,#C9C2F5,var(--mint));-webkit-background-clip:text;background-clip:text}
.vel-spark{display:inline-block;width:clamp(26px,3vw,40px);height:clamp(26px,3vw,40px);animation:spk 9s linear infinite}
.vel-spark svg{width:100%;height:100%;display:block}
@keyframes spk{to{transform:rotate(360deg)}}
.vr-chips{margin-top:26px}
.vel-chip{display:inline-flex;align-items:center;gap:10px;margin-right:12px;padding:10px 18px 10px 10px;border-radius:999px;white-space:nowrap;font:500 16px/1 var(--font);color:var(--ink);background:color-mix(in srgb,var(--card) 80%,transparent);border:1px solid var(--line);box-shadow:0 8px 20px -14px rgba(20,17,43,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.vc-ic{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--mint)}
.vc-ic svg{width:16px;height:16px;fill:none;stroke:#14112B;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.velband .rb-pause{bottom:18px}
@media (prefers-reduced-motion:reduce){.vel-spark{animation:none}}
@media (max-width:640px){.velband{padding:44px 0 70px}.vel-chip{font-size:14px}}
/* ===== larger logo with signature dot ===== */
.logo-lockup{gap:13px}
.lg-mark{width:24px;height:48px}
.lg-txt{display:flex;align-items:flex-end;gap:5px}
.lg-word{font-size:38px;line-height:.8;letter-spacing:.07em}
.lg-dot{width:10px;height:10px;border-radius:50%;margin-bottom:1px;flex:none;background:linear-gradient(135deg,var(--lg2),var(--lg4));box-shadow:0 0 0 3px color-mix(in srgb,var(--lg4) 28%,transparent);transition:transform .5s var(--spring),box-shadow .5s}
.brand:hover .lg-dot,.brand:focus-visible .lg-dot{transform:translateY(-4px) scale(1.15);box-shadow:0 0 0 5px color-mix(in srgb,var(--lg4) 30%,transparent)}
@media (max-width:640px){.lg-mark{width:20px;height:40px}.lg-word{font-size:31px}.lg-dot{width:8px;height:8px}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .vel-word:hover{background:linear-gradient(100deg,#C9C2F5,var(--mint));-webkit-background-clip:text;background-clip:text}}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.btn[disabled]{opacity:.7;cursor:progress}

/* footer legal identity */
.foot-addr .addr-co{color:#fff;font-weight:600}
.foot-addr span{line-height:1.5}
.legal-id{display:flex;flex-wrap:wrap;gap:4px 18px}

.form-note a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.form-note a:hover{color:var(--violet)}

/* Services cards on phones: stacked vertically, no sideways swiping */
@media (max-width:640px){
  .caps .track{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:1fr;overflow:visible;scroll-snap-type:none;touch-action:pan-y}
  .caps .slide{min-height:0}
  .caps .nav2{display:none}
}
