/* Flowsky Web : nouveau header (toutes les pages) + nouvelle page d'accueil.
   Toutes les classes sont préfixées fs- pour ne pas entrer en conflit avec main.css. */
:root{
  --nav-h:96px; /* hauteur réservée en haut des pages pour le nouveau menu flottant (remplace celle de main.css) */
  --fs-bg:#0a0a0c;
  --fs-bg-2:#111114;
  --fs-bg-3:#18181d;
  --fs-line:rgba(255,255,255,.08);
  --fs-line-2:rgba(255,255,255,.14);
  --fs-text:#f3f2ef;
  --fs-muted:#8e8e98;
  --fs-accent:#2f6bff;
  --fs-accent-2:#5ec8ff;
  --fs-ok:#3ddc84;
  --fs-r:20px;
  --fs-wrap:1240px;
  --fs-ease:cubic-bezier(.2,.7,.2,1);
}
.fs-home,.fs-home :where(*),.fs-nav,.fs-nav :where(*){box-sizing:border-box;margin:0;padding:0}
.fs-home :where(h1,h2,h3,h4,p,ul,li,small,em,b,s){font-family:inherit;line-height:inherit;letter-spacing:inherit;text-transform:none;color:inherit}
.fs-home :where(h1,h2,h3,h4){font-weight:inherit;font-size:inherit}
html:has(body.home){scroll-behavior:smooth}
body.home main{padding-top:0!important;margin-top:0}
body.home{background:var(--fs-bg);color:var(--fs-text);font:16px/1.6 Geist,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.fs-home a,.fs-nav a{color:inherit;text-decoration:none}
.fs-home button,.fs-nav button{font:inherit;color:inherit}
body.home ::selection{background:var(--fs-accent);color:#fff}
.fs-wrap{max-width:var(--fs-wrap);margin:0 auto;padding:0 28px}
.fs-serif{font-family:"Instrument Serif",serif!important;font-style:italic;font-weight:400;letter-spacing:-.01em}
.fs-mono{font-family:"Geist Mono",monospace}
.fs-label{display:inline-flex;align-items:center;gap:10px;font:500 12px/1 "Geist Mono",monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--fs-muted)}
.fs-label i{width:6px;height:6px;border-radius:50%;background:var(--fs-accent);box-shadow:0 0 12px var(--fs-accent)}

/* grain */
body.home::before{content:"";position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* progress */
.fs-progress{position:fixed;top:0;left:0;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--fs-accent),var(--fs-accent-2));z-index:60}


/* buttons */
.fs-btn{position:relative;display:inline-flex;align-items:center;gap:12px;padding:16px 26px;border-radius:999px;font-weight:600;font-size:15px;border:0;cursor:pointer;transition:transform .3s var(--fs-ease),background .25s,color .25s;will-change:transform;overflow:hidden;isolation:isolate}
.fs-btn-primary{background:var(--fs-accent);color:#fff}
.fs-btn-primary:hover{color:#0a0a0c}
.fs-btn-primary::before{content:"";position:absolute;inset:0;background:#fff;transform:translateY(101%);transition:transform .4s var(--fs-ease);z-index:-1;border-radius:inherit}
.fs-btn-primary:hover::before{transform:none}
.fs-btn-ghost{background:rgba(255,255,255,.04);border:1px solid var(--fs-line-2)}
.fs-btn-ghost:hover{background:rgba(255,255,255,.1)}
.fs-btn .fs-arr{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(0,0,0,.12);transition:transform .3s var(--fs-ease)}
.fs-btn-ghost .fs-arr{background:rgba(255,255,255,.08)}
.fs-btn:hover .fs-arr{transform:rotate(-45deg)}
.fs-btn svg{width:14px;height:14px}

/* nav */
.fs-nav{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:50;display:flex;align-items:center;gap:6px;padding:7px 7px 7px 20px;border-radius:999px;background:rgba(18,18,22,.66);border:1px solid var(--fs-line);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);width:max-content;max-width:calc(100% - 24px)}
.fs-logo{display:flex;align-items:center;gap:8px;font-weight:700;letter-spacing:-.02em;margin-right:18px;white-space:nowrap}
.fs-logo b{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--fs-accent);color:#fff;font-size:13px;font-weight:800}
.fs-nav-links{display:flex;gap:2px}
.fs-nav-links a{padding:9px 14px;border-radius:999px;font-size:14px;color:var(--fs-muted);transition:color .2s,background .2s}
.fs-nav-links a:hover{color:var(--fs-text);background:rgba(255,255,255,.06)}
.fs-nav .fs-btn{padding:10px 18px;font-size:14px;margin-left:10px}
.fs-burger{display:none;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.06);border:0;cursor:pointer}
.fs-burger span{display:block;width:16px;height:1.5px;background:#fff;margin:4px auto;transition:transform .3s var(--fs-ease)}
.fs-burger[aria-expanded="true"] span:first-child{transform:translateY(2.75px) rotate(45deg)}
.fs-burger[aria-expanded="true"] span:last-child{transform:translateY(-2.75px) rotate(-45deg)}

/* hero */
.fs-hero{position:relative;padding:124px 0 80px;min-height:100vh;overflow:hidden}
.fs-hero-bg{position:absolute;inset:0;pointer-events:none;
  background:
   radial-gradient(600px circle at var(--hx,70%) var(--hy,30%),rgba(47,107,255,.16),transparent 60%),
   linear-gradient(var(--fs-line) 1px,transparent 1px) 0 0/72px 72px,
   linear-gradient(90deg,var(--fs-line) 1px,transparent 1px) 0 0/72px 72px;
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,#000 30%,transparent 80%)}
.fs-hero-top{position:relative;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.fs-status{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 10px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--fs-line);font-size:13px;color:var(--fs-muted)}
.fs-status .fs-dot{position:relative;width:8px;height:8px;border-radius:50%;background:var(--fs-ok)}
.fs-status .fs-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--fs-ok);animation:ping 2s infinite}
@keyframes ping{to{transform:scale(3);opacity:0}}
.fs-hero h1{position:relative;font-size:clamp(46px,7.6vw,112px);line-height:.92;font-weight:700;letter-spacing:-.055em;margin:26px 0 0}
.fs-hero h1 .fs-line{display:block;overflow:hidden;padding-bottom:.06em}
.fs-hero h1 .fs-line>span{display:inline-block;transform:translateY(105%);animation:up 1s var(--fs-ease) forwards}
.fs-hero h1 .fs-line:nth-child(2)>span{animation-delay:.08s}
.fs-hero h1 .fs-line:nth-child(3)>span{animation-delay:.16s}
@keyframes up{to{transform:none}}
.fs-hero h1 .fs-serif{color:var(--fs-accent);font-size:1.06em;letter-spacing:-.03em}
.fs-rot{display:inline-grid;vertical-align:bottom}
.fs-rot>span{grid-area:1/1;transform:translateY(100%);opacity:0;transition:transform .7s var(--fs-ease),opacity .5s}
.fs-rot>span.on{transform:none;opacity:1}
.fs-rot>span.out{transform:translateY(-100%);opacity:0}
.fs-hero-grid{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:end;margin-top:40px}
.fs-hero-copy p{font-size:19px;color:var(--fs-muted);max-width:40ch;line-height:1.55}
.fs-hero-copy p b{color:var(--fs-text);font-weight:500}
.fs-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.fs-fade-in{opacity:0;transform:translateY(20px);animation:fin .9s var(--fs-ease) .5s forwards}
@keyframes fin{to{opacity:1;transform:none}}

/* browser build demo */
.fs-browser{position:relative;border-radius:16px;background:var(--fs-bg-2);border:1px solid var(--fs-line-2);box-shadow:0 50px 100px -30px rgba(0,0,0,.8),0 0 0 1px rgba(0,0,0,.4);overflow:visible;animation-delay:.7s}
.fs-b-bar{display:flex;align-items:center;gap:14px;padding:12px 14px;border-bottom:1px solid var(--fs-line)}
.fs-b-dots{display:flex;gap:6px}
.fs-b-dots i{width:10px;height:10px;border-radius:50%;background:#2a2a30}
.fs-b-url{flex:1;display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;background:var(--fs-bg);font:12px "Geist Mono",monospace;color:var(--fs-muted)}
.fs-b-url svg{width:11px;height:11px;color:var(--fs-ok)}
.fs-b-body{display:grid;grid-template-columns:1fr 1.15fr;height:340px}
.fs-code{padding:18px 16px;font:12px/1.75 "Geist Mono",monospace;color:#c9c9d1;border-right:1px solid var(--fs-line);overflow:hidden;white-space:pre}
.fs-code .fs-k{color:var(--fs-accent-2)}.fs-code .fs-s{color:#9be29b}.fs-code .fs-c{color:#5d5d68}.fs-code .fs-t{color:#7fb4ff}
.fs-code .fs-caret{display:inline-block;width:7px;height:14px;background:var(--fs-accent);vertical-align:-2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.fs-preview{position:relative;padding:16px;background:#f4f2ee;border-radius:0 0 15px 0;overflow:hidden;color:#121214}
.fs-pv{opacity:0;transform:translateY(10px) scale(.98);transition:opacity .5s var(--fs-ease),transform .5s var(--fs-ease)}
.fs-pv.on{opacity:1;transform:none}
.fs-pv-nav{display:flex;justify-content:space-between;align-items:center}
.fs-pv-nav b{font-size:12px;font-weight:800;letter-spacing:-.02em}
.fs-pv-nav span{display:flex;gap:8px}
.fs-pv-nav span i{width:22px;height:5px;border-radius:3px;background:#cfcbc2}
.fs-pv-hero{margin-top:22px}
.fs-pv-hero h4{font-size:21px;line-height:1;letter-spacing:-.04em;font-weight:800}
.fs-pv-hero h4 em{font-family:"Instrument Serif";font-weight:400;color:var(--fs-accent)}
.fs-pv-hero p{width:78%;height:6px;border-radius:3px;background:#d8d4cb;margin-top:12px}
.fs-pv-hero p+p{width:56%;margin-top:6px}
.fs-pv-btn{display:inline-block;margin-top:14px;padding:6px 12px;border-radius:999px;background:#121214;color:#fff;font-size:10px;font-weight:600}
.fs-pv-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px}
.fs-pv-cards div{height:74px;border-radius:10px;background:#fff;border:1px solid #e3dfd6;padding:8px}
.fs-pv-cards div i{display:block;width:16px;height:16px;border-radius:5px;background:var(--fs-accent);opacity:.85}
.fs-pv-cards div:nth-child(2) i{background:#121214}
.fs-pv-cards div:nth-child(3) i{background:#7fb4ff}
.fs-pv-cards div s{display:block;height:5px;border-radius:3px;background:#e3dfd6;margin-top:10px;width:80%}
.fs-pv-cards div s+s{width:55%;margin-top:5px}
.fs-chip{position:absolute;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;background:rgba(24,24,29,.85);backdrop-filter:blur(12px);border:1px solid var(--fs-line-2);box-shadow:0 20px 40px -10px rgba(0,0,0,.6);font-size:13px;animation:float 6s ease-in-out infinite}
.fs-chip small{display:block;color:var(--fs-muted);font-size:11px}
.fs-chip b{font-weight:600}
.fs-chip-score{left:-34px;bottom:-30px}
.fs-chip-mob{right:-24px;bottom:40px;animation-delay:-3s}
.fs-ring{width:46px;height:46px}
.fs-ring circle{fill:none;stroke-width:4}
.fs-ring .fs-bgc{stroke:#2a2a30}
.fs-ring .fs-fg{stroke:var(--fs-ok);stroke-linecap:round;stroke-dasharray:113;stroke-dashoffset:113;transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset 1.6s var(--fs-ease)}
.fs-ring text{fill:var(--fs-ok);font:700 13px Geist;text-anchor:middle;dominant-baseline:central}
.fs-chip-mob svg{width:22px;height:22px;color:var(--fs-accent)}
@keyframes float{50%{transform:translateY(-10px)}}

/* marquee */
.fs-marquee{border-block:1px solid var(--fs-line);padding:22px 0;overflow:hidden;display:flex;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.fs-marquee-track{display:flex;flex:none;gap:48px;padding-right:48px;animation:mq 32s linear infinite;align-items:center}
.fs-marquee:hover .fs-marquee-track{animation-play-state:paused}
.fs-marquee-track span{font-size:26px;font-weight:500;letter-spacing:-.03em;white-space:nowrap;color:var(--fs-muted)}
.fs-marquee-track span.fs-serif{color:var(--fs-text);font-size:30px}
.fs-marquee-track i{width:8px;height:8px;background:var(--fs-accent);transform:rotate(45deg);flex:none}
@keyframes mq{to{transform:translateX(-100%)}}

/* sections */
.fs-home section{position:relative;padding:130px 0}
.fs-head{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end;margin-bottom:64px}
.fs-head h2,.fs-contact h2{font-size:clamp(38px,5.4vw,76px);line-height:.98;font-weight:600;letter-spacing:-.045em;margin-top:22px}
.fs-head h2 .fs-serif,.fs-contact h2 .fs-serif{color:var(--fs-accent)}
.fs-head p{color:var(--fs-muted);font-size:18px}

/* reveal */
.fs-rv{opacity:0;transform:translateY(40px);transition:opacity .9s var(--fs-ease),transform .9s var(--fs-ease)}
.fs-rv.in{opacity:1;transform:none}
.fs-rv.fs-d1{transition-delay:.08s}.fs-rv.fs-d2{transition-delay:.16s}.fs-rv.d3{transition-delay:.24s}

/* stats */
.fs-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.fs-stat{padding:32px;border-radius:var(--fs-r);border:1px solid var(--fs-line);background:var(--fs-bg-2)}
.fs-stat b{display:block;white-space:nowrap;font-size:clamp(64px,8vw,112px);font-weight:600;line-height:1;letter-spacing:-.06em}
.fs-stat b sup{font-size:.35em;color:var(--fs-accent);vertical-align:top;margin-left:4px;letter-spacing:0}
.fs-stat>span{display:block;margin-top:14px;color:var(--fs-muted)}

/* spotlight card */
.fs-spot{position:relative;border-radius:var(--fs-r);border:1px solid var(--fs-line);background:var(--fs-bg-2);overflow:hidden;isolation:isolate}
.fs-spot::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .3s;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(47,107,255,.13),transparent 50%)}
.fs-spot::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;opacity:0;transition:opacity .3s;
  background:radial-gradient(300px circle at var(--mx,50%) var(--my,50%),rgba(94,200,255,.7),transparent 50%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.fs-spot:hover::before,.fs-spot:hover::after{opacity:1}

/* promo */
.fs-promo{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:36px;padding:28px 32px;margin-top:16px;background:linear-gradient(110deg,#0b1433,var(--fs-bg-2) 60%)}
.fs-promo-tag{display:grid;place-items:center;width:110px;height:110px;border-radius:50%;background:var(--fs-accent);color:#fff;text-align:center;font-weight:700;font-size:12px;line-height:1.1;animation:spin 14s linear infinite}
.fs-promo-tag b{display:block;font-size:30px;letter-spacing:-.04em}
@keyframes spin{to{transform:rotate(360deg)}}
.fs-promo h3{font-size:clamp(22px,2.6vw,32px);font-weight:600;letter-spacing:-.03em;line-height:1.1}
.fs-promo p{color:var(--fs-muted);margin-top:6px}

/* bento */
.fs-bento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.fs-bento .fs-spot{padding:32px;display:flex;flex-direction:column;min-height:380px}
.fs-bento .fs-b-a{grid-column:span 3}.fs-bento .fs-b-b{grid-column:span 3}.fs-bento .fs-b-c{grid-column:span 6;min-height:auto;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.fs-card-k{font:500 12px "Geist Mono",monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--fs-accent)}
.fs-spot h3{font-size:30px;font-weight:600;letter-spacing:-.035em;line-height:1.05;margin:12px 0 10px}
.fs-spot p{color:var(--fs-muted)}
.fs-viz{margin-top:auto;padding-top:30px}

/* viz: devis */
.fs-devis{border-radius:14px;background:var(--fs-bg);border:1px solid var(--fs-line);padding:16px 18px;font-size:14px}
.fs-devis-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px dashed var(--fs-line);opacity:0;transform:translateX(-12px);transition:all .5s var(--fs-ease)}
.fs-devis-row span:last-child{font-family:"Geist Mono";color:var(--fs-muted)}
.fs-devis-row.fs-tot{border:0;padding-top:14px;font-weight:600}
.fs-devis-row.fs-tot span:last-child{color:var(--fs-accent);font-size:18px}
.in .fs-devis-row{opacity:1;transform:none}
.in .fs-devis-row:nth-child(2){transition-delay:.15s}.in .fs-devis-row:nth-child(3){transition-delay:.3s}.in .fs-devis-row:nth-child(4){transition-delay:.45s}

/* viz: editor */
.fs-editor{border-radius:14px;background:var(--fs-bg);border:1px solid var(--fs-line);overflow:hidden}
.fs-editor-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--fs-line);font-size:12px;color:var(--fs-muted)}
.fs-editor-bar .fs-save{padding:5px 12px;border-radius:999px;background:var(--fs-accent);color:#fff;font-weight:600;transition:background .3s}
.fs-editor-bar .fs-save.done{background:var(--fs-ok)}
.fs-editor-body{padding:20px 18px}
.fs-editor-body small{display:block;color:var(--fs-muted);font-size:11px;font-family:"Geist Mono";margin-bottom:8px}
.fs-editor-body .fs-field{font-size:20px;font-weight:600;letter-spacing:-.02em;min-height:30px;border-left:2px solid var(--fs-accent);padding-left:10px}
.fs-editor-body .fs-caret{display:inline-block;width:2px;height:20px;background:var(--fs-text);vertical-align:-3px;margin-left:1px;animation:blink 1s steps(1) infinite}

/* viz: suivi */
.fs-checks{display:grid;gap:10px}
.fs-check{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;background:var(--fs-bg);border:1px solid var(--fs-line);font-size:15px}
.fs-check .fs-ic{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:rgba(255,255,255,.05);flex:none}
.fs-check .fs-ic svg{width:14px;height:14px;opacity:0;transform:scale(.4);transition:all .4s var(--fs-ease)}
.fs-check.ok .fs-ic{background:rgba(61,220,132,.14);color:var(--fs-ok)}
.fs-check.ok .fs-ic svg{opacity:1;transform:none}
.fs-check em{margin-left:auto;font-style:normal;font:12px "Geist Mono";color:var(--fs-muted)}
.fs-check.ok em{color:var(--fs-ok)}

/* offers */
.fs-offers{display:grid;grid-template-columns:1fr 1fr;gap:16px;perspective:1400px}
.fs-offer{padding:40px;display:flex;flex-direction:column;transition:transform .5s var(--fs-ease);transform-style:preserve-3d}
.fs-offer.fs-hot{background:linear-gradient(160deg,#0d1638 0%,var(--fs-bg-2) 55%);border-color:rgba(47,107,255,.35)}
.fs-offer-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.fs-offer-top .fs-label{color:var(--fs-text)}
.fs-save-pill{padding:6px 12px;border-radius:999px;background:rgba(47,107,255,.14);color:var(--fs-accent-2);font:600 13px "Geist Mono"}
.fs-offer h3{font-size:34px;margin-top:22px}
.fs-price{display:flex;align-items:flex-end;gap:14px;margin:36px 0 4px}
.fs-price b{font-size:clamp(68px,7vw,96px);font-weight:600;letter-spacing:-.06em;line-height:.85}
.fs-price .fs-old{display:flex;flex-direction:column;gap:2px;padding-bottom:6px;color:var(--fs-muted);font-size:14px}
.fs-price .fs-old s{font-size:18px}
.fs-offer .fs-scope{font:13px "Geist Mono";color:var(--fs-muted);margin-bottom:28px}
.fs-offer ul{list-style:none;display:grid;gap:14px;padding-top:28px;border-top:1px solid var(--fs-line);margin-bottom:38px}
.fs-offer li{display:flex;gap:12px;align-items:flex-start;color:#d3d3d9}
.fs-offer li svg{flex:none;width:18px;height:18px;color:var(--fs-accent);margin-top:3px}
.fs-offer .fs-btn{margin-top:auto;align-self:flex-start}

/* timeline */
.fs-timeline{position:relative;display:grid;gap:0;padding-left:64px}
.fs-tl-line{position:absolute;left:19px;top:8px;bottom:8px;width:2px;background:var(--fs-line)}
.fs-tl-fill{position:absolute;inset:0;background:linear-gradient(var(--fs-accent),var(--fs-accent-2));transform-origin:top;transform:scaleY(0)}
.fs-step{position:relative;display:grid;grid-template-columns:1fr 1.2fr;gap:40px;padding:34px 0;border-bottom:1px solid var(--fs-line)}
.fs-step:last-child{border:0}
.fs-step::before{content:attr(data-n);position:absolute;left:-64px;top:30px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--fs-bg);border:1px solid var(--fs-line-2);font:500 13px "Geist Mono";color:var(--fs-muted);transition:all .4s var(--fs-ease)}
.fs-step.on::before{background:var(--fs-accent);border-color:var(--fs-accent);color:#fff;box-shadow:0 0 0 6px rgba(47,107,255,.15)}
.fs-step h3{font-size:clamp(26px,3vw,38px);font-weight:600;letter-spacing:-.035em;line-height:1.05;color:var(--fs-muted);transition:color .4s}
.fs-step.on h3{color:var(--fs-text)}
.fs-step p{color:var(--fs-muted);font-size:17px;padding-top:6px}

/* contact */
.fs-contact{padding-bottom:100px}
.fs-contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px}
.fs-contact-side p{color:var(--fs-muted);font-size:18px;margin:22px 0 34px;max-width:36ch}
.fs-perks{display:grid;gap:12px}
.fs-perk{display:flex;align-items:center;gap:14px;font-weight:500}
.fs-perk i{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--fs-bg-2);border:1px solid var(--fs-line)}
.fs-perk svg{width:16px;height:16px;color:var(--fs-accent)}


/* responsive */
@media (max-width:1020px){
  .fs-nav-links,.fs-nav>.fs-btn{display:none}
  .fs-burger{display:block}
  .fs-nav{justify-content:space-between;width:calc(100% - 24px)}
  .fs-nav-links.open{display:flex;flex-direction:column;position:absolute;top:calc(100% + 8px);left:0;right:0;padding:12px;border-radius:22px;background:#121216;border:1px solid var(--fs-line-2);box-shadow:0 24px 48px -12px rgba(0,0,0,.7)}
  .fs-nav-links.open a{padding:14px 16px;font-size:17px}
  .fs-hero-grid,.fs-head,.fs-contact-grid,.fs-offers{grid-template-columns:1fr}
  .fs-hero-grid{gap:64px}
  .fs-bento .fs-b-a,.fs-bento .fs-b-b{grid-column:span 6}
  .fs-bento .fs-b-c{grid-template-columns:1fr}
  .fs-step{grid-template-columns:1fr;gap:8px}
  .fs-chip-score{left:-8px}
  .fs-chip-mob{right:-8px}
}
@media (max-width:640px){
  .fs-wrap{padding:0 16px}
  .fs-home section{padding:90px 0}
  .fs-hero{padding-top:120px}
  .fs-stats{grid-template-columns:1fr}
  .fs-b-body{grid-template-columns:1fr;height:300px}
  .fs-code{display:none}
  .fs-preview{border-radius:0 0 15px 15px}
  .fs-promo{grid-template-columns:1fr;text-align:left;gap:20px}
  .fs-promo-tag{width:90px;height:90px}
  .fs-offer,.fs-bento .fs-spot{padding:24px}
  .fs-timeline{padding-left:52px}
  .fs-step::before{left:-52px}
  .fs-tl-line{left:19px}
  .fs-chip{padding:10px 12px}
  .fs-chip-mob{display:none}
  .fs-marquee-track span{font-size:20px}
  .fs-marquee-track span.fs-serif{font-size:24px}
}
@media (prefers-reduced-motion:reduce){
  .fs-home *,.fs-home *::before,.fs-home *::after,.fs-nav *{animation:none!important;transition:none!important}
  .fs-hero h1 .fs-line>span,.fs-fade-in,.fs-rv,.fs-pv{opacity:1;transform:none}
  html:has(body.home){scroll-behavior:auto}
}

/* menu : éléments générés par wp_nav_menu (li) + lien actif */
.fs-nav-links li{list-style:none;display:contents}
.fs-nav-links .current-menu-item>a,.fs-nav-links a[aria-current="page"]{color:var(--fs-text);background:rgba(255,255,255,.08)}
body.admin-bar .fs-nav{top:calc(18px + var(--admin-h))}
.fs-nav{font-family:Geist,system-ui,sans-serif;line-height:1.6;color:var(--fs-text)}

/* ===== Ninja Forms dans la section contact ===== */
.fs-form-wrap{padding:36px}
.fs-form-wrap .nf-form-title,.fs-form-wrap .nf-form-title h3{display:none}
.fs-form-wrap .nf-form-fields-required{font-size:13px;color:var(--fs-muted);margin-bottom:18px}
.fs-form-wrap .nf-field-container{margin-bottom:18px}
.fs-form-wrap .nf-field-label label,.fs-form-wrap .nf-field-label .nf-label-span{font-family:Geist,system-ui,sans-serif;font-size:14px;font-weight:500;color:var(--fs-text)}
.fs-form-wrap .ninja-forms-req-symbol{color:var(--fs-accent)}
.fs-form-wrap .nf-field-element input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]),
.fs-form-wrap .nf-field-element select,
.fs-form-wrap .nf-field-element textarea{width:100%;font:16px/1.5 Geist,system-ui,sans-serif;color:var(--fs-text);background:var(--fs-bg)!important;border:1px solid var(--fs-line-2)!important;border-radius:14px!important;padding:14px 16px!important;height:auto!important;box-shadow:none;transition:border-color .2s,box-shadow .2s}
.fs-form-wrap .nf-field-element textarea{min-height:150px}
.fs-form-wrap .nf-field-element select option{background:var(--fs-bg-2);color:var(--fs-text)}
.fs-form-wrap .nf-field-element input:focus,.fs-form-wrap .nf-field-element select:focus,.fs-form-wrap .nf-field-element textarea:focus{outline:none;border-color:var(--fs-accent)!important;box-shadow:0 0 0 4px rgba(47,107,255,.14)}
.fs-form-wrap input[type=submit],.fs-form-wrap input[type=button]{font:600 15px Geist,system-ui,sans-serif;background:var(--fs-accent)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:16px 30px!important;cursor:pointer;transition:background .25s,color .25s,transform .2s}
.fs-form-wrap input[type=submit]:hover,.fs-form-wrap input[type=button]:hover{background:#fff!important;color:#0a0a0c!important}
.fs-form-wrap .nf-error-msg,.fs-form-wrap .nf-error .nf-error-msg{color:#ff7a7a;font-size:13px}
.fs-form-wrap .nf-response-msg{color:var(--fs-text);font-size:17px}
@media (max-width:640px){.fs-form-wrap{padding:24px}}
