/*
Theme Name: WebPro 360
Theme URI: https://web-pro360.ch/
Description: Thème sur mesure WebPro 360, site en 4 langues (FR, DE, IT, EN).
Version: 2.0.0
Requires PHP: 7.4
Text Domain: webpro360
WPVibe: yes
*/
/* Layout concept: une roue chromatique 360° (dégradé conique) comme signature, sur un monde « encre de nuit » ;
   typographie élargie très grasse pour les titres, italique serif pour les mots-clés, mono pour les prix en CHF. */
:root{
  color-scheme: dark;
  --ink:#090A12;          /* fond */
  --ink-2:#10121F;        /* surfaces */
  --ink-3:#171A2C;        /* surfaces hautes */
  --line:#262A44;         /* filets */
  --fg:#ECEDF6;           /* texte */
  --muted:#9195B4;        /* texte secondaire */
  --cobalt:#4B63FF;
  --rose:#FF4F8F;
  --ambre:#FFB547;
  --menthe:#3BE3C4;
  --wheel:conic-gradient(from 0deg, var(--cobalt), var(--rose), var(--ambre), var(--menthe), var(--cobalt));
  --sweep:linear-gradient(100deg, var(--cobalt), var(--rose) 45%, var(--ambre));
  --f-display:"Archivo", "Arial Black", Helvetica, sans-serif;
  --f-serif:"Instrument Serif", Georgia, "Times New Roman", serif;
  --f-body:"Hanken Grotesk", "Segoe UI", Helvetica, Arial, sans-serif;
  --f-mono:"JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
  --r:18px;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--fg);font-family:var(--f-body);font-size:17px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%}
::selection{background:var(--rose);color:var(--ink)}
:focus-visible{outline:2px solid var(--ambre);outline-offset:3px;border-radius:6px}

/* grain + halo curseur */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.07;mix-blend-mode:overlay;
  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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.halo{position:fixed;width:520px;height:520px;border-radius:50%;pointer-events:none;z-index:0;left:0;top:0;
  background:radial-gradient(circle, color-mix(in srgb, var(--cobalt) 22%, transparent), transparent 65%);transform:translate(-50%,-50%);transition:opacity .4s;opacity:0}
@media (hover:hover){.halo{opacity:1}}

.wrap{max-width:var(--max);margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
main{position:relative;z-index:1}
section{padding-block:clamp(64px,10vw,130px)}

/* typo */
h1,h2,h3{font-family:var(--f-display);font-weight:900;font-stretch:125%;letter-spacing:-.02em;line-height:.95;margin:0;text-wrap:balance}
h1{font-size:clamp(44px,8.6vw,124px);text-transform:uppercase}
h2{font-size:clamp(34px,5.4vw,72px);text-transform:uppercase}
h3{font-size:clamp(20px,2vw,26px);font-stretch:112%;font-weight:800;line-height:1.1;letter-spacing:-.01em}
em,.serif{font-family:var(--f-serif);font-style:italic;font-weight:400;font-stretch:100%;text-transform:none;letter-spacing:-.01em}
.grad{background:var(--sweep);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:inline-flex;gap:10px;align-items:center}
.eyebrow::before{content:"";width:22px;height:22px;border-radius:50%;background:var(--wheel);-webkit-mask:radial-gradient(circle,transparent 6px,#000 7px);mask:radial-gradient(circle,transparent 6px,#000 7px);animation:spin 6s linear infinite}
.lead{font-size:clamp(18px,1.6vw,21px);color:var(--muted);max-width:60ch;margin:22px 0 0}
.lead strong{color:var(--fg);font-weight:600}
.mono{font-family:var(--f-mono)}
.sec-head{display:grid;gap:18px;margin-bottom:clamp(36px,5vw,64px);max-width:900px}

/* boutons */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-body);font-weight:700;font-size:16px;padding:16px 26px;border-radius:999px;text-decoration:none;border:0;cursor:pointer;transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s;white-space:nowrap}
.btn-main{color:var(--ink);background:var(--fg);position:relative;isolation:isolate}
.btn-main::after{content:"";position:absolute;inset:-2px;border-radius:inherit;background:var(--wheel);z-index:-1;filter:blur(14px);opacity:.55;transition:opacity .25s}
.btn-main:hover{transform:translateY(-2px)}
.btn-main:hover::after{opacity:.95}
.btn-ghost{color:var(--fg);background:transparent;box-shadow:inset 0 0 0 1.5px var(--line)}
.btn-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--fg)}
.btn .arr{transition:transform .25s}
.btn:hover .arr{transform:translateX(4px)}
.row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);background:color-mix(in srgb,var(--ink) 72%,transparent);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:72px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--f-display);font-weight:900;font-stretch:125%;font-size:19px;letter-spacing:-.01em}
.logo i{width:26px;height:26px;border-radius:50%;background:var(--wheel);-webkit-mask:radial-gradient(circle,transparent 7px,#000 8px);mask:radial-gradient(circle,transparent 7px,#000 8px);animation:spin 8s linear infinite}
.logo b{font-weight:900}
.logo span{color:var(--muted);font-family:var(--f-mono);font-size:12px;font-stretch:100%;font-weight:500}
.nav{display:flex;align-items:center;gap:6px}
.nav>a,.nav>.dd>button{font:600 15px var(--f-body);color:var(--fg);text-decoration:none;padding:10px 14px;border-radius:999px;background:none;border:0;cursor:pointer}
.nav>a:hover,.nav>.dd>button:hover,.nav>a[aria-current]{background:var(--ink-3)}
.dd{position:relative}
.mega{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(6px);width:min(720px,92vw);background:var(--ink-2);border:1px solid var(--line);border-radius:22px;padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:4px;opacity:0;visibility:hidden;transition:.25s;box-shadow:0 30px 80px -20px #000}
.dd:hover .mega,.dd:focus-within .mega,.dd.open .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.mega a{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;padding:14px;border-radius:14px;text-decoration:none}
.mega a:hover{background:var(--ink-3)}
.mega .ic{grid-row:span 2;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--ink-3);border:1px solid var(--line);font-family:var(--f-mono);font-size:12px;color:var(--ambre)}
.mega strong{font-size:15px}
.mega small{color:var(--muted);font-size:13.5px;line-height:1.35}
.mega .price{color:var(--menthe);font-family:var(--f-mono);font-size:12px}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--fg);cursor:pointer}
.burger span{display:block;width:18px;height:2px;background:currentColor;margin:4px auto;transition:.3s}
.top-cta{padding:12px 20px;font-size:15px}
@media (max-width:1240px){
  .burger{display:block}
  .top-cta{display:none}
  .nav{position:fixed;inset:72px 0 auto 0;flex-direction:column;align-items:stretch;background:var(--ink);padding:16px clamp(16px,4vw,40px) 28px;border-bottom:1px solid var(--line);gap:2px;max-height:calc(100dvh - 72px);overflow:auto;transform:translateY(-8px);opacity:0;visibility:hidden;transition:.25s}
  .nav.open{opacity:1;visibility:visible;transform:none}
  .nav>a,.nav>.dd>button{font-size:20px;padding:14px 6px;text-align:left;width:100%}
  .mega{position:static;transform:none;width:100%;grid-template-columns:1fr;opacity:1;visibility:visible;display:none;box-shadow:none;margin-top:4px}
  .dd.open .mega{display:grid;transform:none}
  .dd:hover .mega{transform:none}
  .nav .btn{margin-top:12px;justify-content:center}
}
@media (min-width:1241px){.nav .mobile-only{display:none}}

/* HERO */
.hero{padding-block:clamp(40px,7vw,90px) clamp(40px,6vw,80px);position:relative;overflow:clip}
.hero h1{font-size:clamp(38px,5.8vw,88px);font-stretch:112%}
.hero-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:clamp(24px,4vw,60px);align-items:center}
.hero h1 .line{display:block;overflow:hidden}
.hero h1 .line>span{display:inline-block;animation:rise .9s cubic-bezier(.2,.8,.2,1) both}
.hero h1 .line:nth-child(2)>span{animation-delay:.08s}
.hero h1 .line:nth-child(3)>span{animation-delay:.16s}
.rot{display:inline-grid;vertical-align:bottom}
.rot>span{grid-area:1/1;white-space:nowrap;font-family:var(--f-serif);font-style:italic;font-weight:400;font-stretch:100%;text-transform:none;letter-spacing:-.02em;padding-right:.08em;background:var(--sweep);-webkit-background-clip:text;background-clip:text;color:transparent;transition:opacity .5s, transform .5s;opacity:0;transform:translateY(40%)}
.rot>span.on{opacity:1;transform:none}
.rot>span.out{opacity:0;transform:translateY(-40%)}
.hero .lead{margin-top:28px}
.hero .row{margin-top:36px}
.trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:34px;color:var(--muted);font-size:14px}
.trust span{display:inline-flex;gap:8px;align-items:center}
.trust span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--menthe);box-shadow:0 0 12px var(--menthe)}

.orb{position:relative;aspect-ratio:1;max-width:520px;width:100%;margin-inline:auto;transition:transform .2s ease-out}
.orb .ring{position:absolute;inset:6%;border-radius:50%;background:var(--wheel);-webkit-mask:radial-gradient(circle,transparent 57%,#000 58%,#000 70%,transparent 71%);mask:radial-gradient(circle,transparent 57%,#000 58%,#000 70%,transparent 71%);animation:spin 14s linear infinite}
.orb .glow{position:absolute;inset:14%;border-radius:50%;background:var(--wheel);filter:blur(60px);opacity:.45;animation:spin 14s linear infinite reverse}
.orb .core{position:absolute;inset:27%;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--ink-3),var(--ink) 70%);border:1px solid var(--line);display:grid;place-items:center;text-align:center}
.orb .core b{font-family:var(--f-display);font-weight:900;font-stretch:125%;font-size:clamp(46px,7vw,86px);line-height:.9;letter-spacing:-.04em}
.orb .core small{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;color:var(--muted);margin-top:8px}
.orb svg.txt{position:absolute;inset:0;width:100%;height:100%;animation:spin 40s linear infinite reverse}
.orb svg.txt text{font-family:var(--f-mono);font-size:10.5px;letter-spacing:4px;fill:var(--muted)}
.chip{position:absolute;display:flex;gap:10px;align-items:center;background:color-mix(in srgb,var(--ink-2) 80%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:14px;padding:10px 14px;font-size:13.5px;font-weight:600;white-space:nowrap;animation:float 6s ease-in-out infinite;box-shadow:0 20px 40px -20px #000}
.chip small{display:block;font-family:var(--f-mono);font-weight:400;font-size:11px;color:var(--muted)}
.chip .dot{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-family:var(--f-mono);font-size:11px;color:var(--ink);font-weight:700}
.chip.c1{top:6%;left:-4%}
.chip.c1 .dot{background:var(--menthe)}
.chip.c2{bottom:16%;right:-6%;animation-delay:-2s}
.chip.c2 .dot{background:var(--ambre)}
.chip.c3{bottom:2%;left:6%;animation-delay:-4s}
.chip.c3 .dot{background:var(--rose)}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr}
  .orb{max-width:380px;margin-top:10px}
  .chip.c1{left:0}.chip.c2{right:0}
  .chip{font-size:12.5px;padding:8px 10px}
}

/* marquee */
.marquee{border-block:1px solid var(--line);overflow:hidden;padding-block:22px;background:var(--ink-2)}
.marquee .track{display:flex;gap:48px;width:max-content;animation:slide 38s linear infinite}
.marquee span{font-family:var(--f-display);font-weight:800;font-stretch:125%;font-size:clamp(22px,3vw,38px);text-transform:uppercase;white-space:nowrap;display:flex;align-items:center;gap:48px;color:var(--fg)}
.marquee span:nth-child(even){font-family:var(--f-serif);font-style:italic;font-weight:400;font-stretch:100%;text-transform:none;color:var(--muted)}
.marquee span::after{content:"";width:14px;height:14px;border-radius:50%;background:var(--wheel)}

/* constat */
.problems{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.problem{padding:30px;border-top:1px solid var(--line)}
.problem .k{display:inline-block;font-family:var(--f-display);font-weight:900;font-stretch:125%;font-size:56px;line-height:1;background:var(--sweep);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 18px color-mix(in srgb,var(--rose) 35%,transparent))}
.problem h3{margin:18px 0 10px}
.problem p{color:var(--muted);margin:0}
@media (max-width:820px){.problems{grid-template-columns:1fr}}

/* bento */
.bento{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(220px,auto);gap:16px}
.tile{position:relative;background:var(--ink-2);border:1px solid var(--line);border-radius:24px;padding:28px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;gap:24px;transition:border-color .3s, transform .3s;isolation:isolate;min-width:0}
.tile::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(400px circle at var(--mx,50%) var(--my,0%), color-mix(in srgb,var(--rose) 16%,transparent), transparent 60%);opacity:0;transition:opacity .3s}
.tile:hover{border-color:color-mix(in srgb,var(--fg) 30%,var(--line));transform:translateY(-3px)}
.tile:hover::before{opacity:1}
.tile .tag{font-family:var(--f-mono);font-size:12px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.tile h3{margin-top:10px}
.tile p{color:var(--muted);margin:10px 0 0;font-size:15.5px}
.tile .foot{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.tile .price{font-family:var(--f-mono);font-size:14px}
.tile .price b{font-family:var(--f-display);font-stretch:125%;font-size:28px;font-weight:900;display:block;letter-spacing:-.02em}
.tile .go{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;flex:none;transition:.3s}
.tile:hover .go{background:var(--fg);color:var(--ink);transform:rotate(-45deg)}
.t-big{grid-column:span 4;grid-row:span 2}
.t-md{grid-column:span 2;grid-row:span 2}
.t-sm{grid-column:span 2}
.t-wide{grid-column:span 3}
.t-big h3{font-size:clamp(28px,3.4vw,46px);font-stretch:125%;font-weight:900;text-transform:uppercase;line-height:.95}
.browser{border:1px solid var(--line);border-radius:14px;background:var(--ink);overflow:hidden;margin-top:6px}
.browser .bar{display:flex;gap:6px;padding:10px 12px;border-bottom:1px solid var(--line);align-items:center}
.browser .bar i{width:9px;height:9px;border-radius:50%;background:var(--line)}
.browser .bar span{margin-left:10px;font-family:var(--f-mono);font-size:11.5px;color:var(--muted);background:var(--ink-2);padding:3px 10px;border-radius:6px}
.browser .scr{padding:18px;display:grid;grid-template-columns:1.3fr 1fr;gap:14px;align-items:center}
.sk{height:10px;border-radius:5px;background:var(--ink-3);margin:7px 0}
.sk.h{height:22px;width:85%;background:var(--sweep);opacity:.9}
.sk.w60{width:60%}.sk.w40{width:40%}
.sk.btn{width:110px;height:28px;border-radius:999px;background:var(--fg);margin-top:14px}
.sk-img{aspect-ratio:1;border-radius:12px;background:var(--wheel);filter:saturate(.9)}
.gauge{display:flex;gap:18px;align-items:center}
.gauge svg{width:92px;height:92px;flex:none}
.gauge text{font-family:var(--f-display);font-weight:900;fill:var(--fg)}
.serp{display:grid;gap:8px}
.serp div{display:flex;gap:10px;align-items:center;font-size:13.5px;padding:8px 10px;border-radius:10px;background:var(--ink)}
.serp b{font-family:var(--f-mono);font-size:12px;color:var(--ink);background:var(--menthe);border-radius:6px;padding:1px 7px}
.serp div:not(:first-child) b{background:var(--ink-3);color:var(--muted)}
@media (max-width:1000px){.bento{grid-template-columns:repeat(2,1fr)}.t-big,.t-md,.t-sm,.t-wide{grid-column:span 2;grid-row:auto}}
@media (min-width:640px) and (max-width:1000px){.t-sm,.t-wide{grid-column:span 1}}

/* méthode */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:s}
.step{border:1px solid var(--line);border-radius:24px;padding:30px;background:linear-gradient(180deg,var(--ink-2),var(--ink));position:relative;overflow:hidden;min-width:0}
.step .n{font-family:var(--f-mono);font-size:13px;color:var(--ambre)}
.step h3{margin:14px 0 10px}
.step p{color:var(--muted);margin:0;font-size:15.5px}
.step ul{margin:16px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.step li{font-family:var(--f-mono);font-size:11.5px;border:1px solid var(--line);border-radius:999px;padding:4px 10px;color:var(--muted)}
.step::after{content:"";position:absolute;right:-60px;top:-60px;width:140px;height:140px;border-radius:50%;background:var(--wheel);filter:blur(50px);opacity:.18}
@media (max-width:1000px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.steps{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1*clamp(16px,4vw,40px));padding-inline:clamp(16px,4vw,40px);scrollbar-width:none}.step{flex:0 0 84%;scroll-snap-align:start}}

/* garanties */
.guar{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.guar>div{padding:34px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}
.guar .big{font-family:var(--f-display);font-weight:900;font-stretch:125%;font-size:clamp(44px,5vw,68px);line-height:1;letter-spacing:-.03em}
.guar h3{font-size:18px;margin:14px 0 8px}
.guar p{margin:0;color:var(--muted);font-size:15px}
@media (max-width:900px){.guar{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.guar{grid-template-columns:1fr}}

/* comparatif */
.cmp{overflow-x:auto;border:1px solid var(--line);border-radius:24px}
.cmp table{width:100%;border-collapse:collapse;min-width:640px}
.cmp th,.cmp td{padding:18px 22px;text-align:left;border-bottom:1px solid var(--line);font-size:15.5px;vertical-align:top}
.cmp tr:last-child td{border-bottom:0}
.cmp th{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500}
.cmp td:first-child{color:var(--muted);width:30%}
.cmp td:last-child,.cmp th:last-child{background:color-mix(in srgb,var(--cobalt) 9%,transparent)}
.cmp th:last-child{color:var(--fg)}
.yes{color:var(--menthe)}
.no{color:var(--rose)}

/* réalisations */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.case{border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--ink-2);text-decoration:none;display:flex;flex-direction:column;transition:.3s;min-width:0}
.case:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--fg) 30%,var(--line))}
.case .vis{aspect-ratio:16/10;position:relative;overflow:hidden;display:grid;place-items:center}
.case .vis b{font-family:var(--f-display);font-weight:900;font-stretch:125%;font-size:clamp(26px,3vw,38px);text-transform:uppercase;letter-spacing:-.02em;color:#fff;text-align:center;line-height:.95;position:relative;mix-blend-mode:normal;padding:0 16px}
.case .vis::before{content:"";position:absolute;inset:0;background:var(--g)}
.case .vis::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 120%,rgba(0,0,0,.55),transparent 60%)}
.case .body{padding:22px 24px 26px;display:grid;gap:8px}
.case .meta{display:flex;flex-wrap:wrap;gap:6px}
.case .meta span{font-family:var(--f-mono);font-size:11.5px;border:1px solid var(--line);border-radius:999px;padding:3px 9px;color:var(--muted)}
.case h3{font-size:19px}
.case p{margin:0;color:var(--muted);font-size:15px}
@media (max-width:1240px){.cases{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.cases{grid-template-columns:1fr}}

/* prix */
.tabs{display:inline-flex;padding:6px;border:1px solid var(--line);border-radius:999px;background:var(--ink-2);gap:4px;flex-wrap:wrap;margin-bottom:34px}
.tabs button{font:600 15px var(--f-body);color:var(--muted);background:none;border:0;padding:11px 20px;border-radius:999px;cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--fg);color:var(--ink)}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.plan{border:1px solid var(--line);border-radius:24px;padding:30px;background:var(--ink-2);display:flex;flex-direction:column;gap:18px;position:relative;min-width:0}
.plan.hot{border-color:transparent;background:linear-gradient(var(--ink-2),var(--ink-2)) padding-box, var(--wheel) border-box;border:1.5px solid transparent}
.plan .badge{position:absolute;top:-13px;left:26px;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;background:var(--fg);color:var(--ink);padding:5px 12px;border-radius:999px;font-weight:700}
.plan .name{font-family:var(--f-mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ambre)}
.plan h3{font-size:22px}
.plan .amt{font-family:var(--f-display);font-weight:900;font-stretch:125%;font-size:46px;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.plan .amt small{font-family:var(--f-mono);font-size:13px;font-weight:400;color:var(--muted);letter-spacing:0;margin-left:4px}
.plan .amt sup{font-family:var(--f-mono);font-size:13px;font-weight:400;color:var(--muted);vertical-align:top;margin-right:6px;letter-spacing:0}
.plan p{margin:0;color:var(--muted);font-size:15px}
.plan ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:15px}
.plan li{display:grid;grid-template-columns:18px 1fr;gap:10px}
.plan li::before{content:"";width:16px;height:16px;margin-top:4px;border-radius:50%;background:var(--wheel);-webkit-mask:radial-gradient(circle,transparent 4px,#000 5px);mask:radial-gradient(circle,transparent 4px,#000 5px)}
.plan .btn{margin-top:auto;justify-content:center}
.plan .note{font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.vat{font-family:var(--f-mono);font-size:12.5px;color:var(--muted);margin-top:22px}

.pack{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;border-radius:32px;padding:clamp(28px,5vw,64px);position:relative;overflow:hidden;background:var(--ink-2);border:1px solid var(--line);isolation:isolate}
.pack::before{content:"";position:absolute;width:640px;height:640px;right:-200px;top:-240px;border-radius:50%;background:var(--wheel);filter:blur(90px);opacity:.28;z-index:-1;animation:spin 20s linear infinite}
.pack .amt{font-family:var(--f-display);font-weight:900;font-stretch:125%;font-size:clamp(64px,9vw,120px);letter-spacing:-.04em;line-height:.9}
.pack .amt small{font-family:var(--f-mono);font-size:16px;font-weight:400;color:var(--muted);letter-spacing:0}
.pack ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.pack li{display:flex;gap:12px;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:12px}
.pack li span{font-family:var(--f-mono);font-size:12px;color:var(--menthe);min-width:64px}
@media (max-width:860px){.pack{grid-template-columns:1fr}}

.opts{border:1px solid var(--line);border-radius:24px;overflow:hidden}
.opts>div{display:flex;justify-content:space-between;gap:20px;padding:16px 22px;border-bottom:1px solid var(--line);align-items:baseline}
.opts>div:last-child{border-bottom:0}
.opts span{color:var(--muted);font-size:15px}
.opts span b{color:var(--fg);font-weight:600;display:block;font-size:16px}
.opts .p{font-family:var(--f-mono);white-space:nowrap;font-variant-numeric:tabular-nums}

/* simulateur */
.sim{display:grid;grid-template-columns:1.3fr 1fr;gap:0;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:var(--ink-2)}
.sim form{padding:clamp(22px,4vw,40px);display:grid;gap:26px;min-width:0}
.sim fieldset{border:0;margin:0;padding:0;display:grid;gap:12px;min-width:0}
.sim legend{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;padding:0}
.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
.choices label{position:relative;cursor:pointer}
.choices input{position:absolute;opacity:0;pointer-events:none}
.choices span{display:block;border:1px solid var(--line);border-radius:14px;padding:14px;font-weight:700;font-size:15px;transition:.2s;height:100%}
.choices span small{display:block;font-weight:400;color:var(--muted);font-size:12.5px;font-family:var(--f-mono);margin-top:4px}
.choices input:checked+span{border-color:var(--fg);background:var(--ink-3);box-shadow:0 0 0 1px var(--fg)}
.choices input:focus-visible+span{outline:2px solid var(--ambre);outline-offset:2px}
.range{display:flex;align-items:center;gap:16px}
.range input{flex:1;accent-color:var(--rose)}
.range output{font-family:var(--f-mono);min-width:72px;text-align:right}
.checks{display:grid;gap:8px}
.checks label{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer;font-size:15px}
.checks label span{display:flex;gap:10px;align-items:center}
.checks input{accent-color:var(--rose);width:18px;height:18px}
.checks small{font-family:var(--f-mono);color:var(--muted);font-size:12.5px;white-space:nowrap}
.sim .out{padding:clamp(22px,4vw,40px);background:var(--ink);border-left:1px solid var(--line);display:flex;flex-direction:column;gap:18px;position:relative;overflow:hidden;min-width:0}
.sim .out::before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:var(--wheel);filter:blur(80px);opacity:.22;bottom:-160px;right:-140px}
.sim .total{font-family:var(--f-display);font-weight:900;font-stretch:125%;font-size:clamp(48px,6vw,78px);letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.sim .lines{display:grid;gap:8px;font-size:14.5px;position:relative}
.sim .lines div{display:flex;justify-content:space-between;gap:12px;color:var(--muted);border-bottom:1px dashed var(--line);padding-bottom:8px}
.sim .lines div b{font-family:var(--f-mono);font-weight:500;color:var(--fg);white-space:nowrap}
.sim .btn{position:relative;justify-content:center;margin-top:auto}
@media (max-width:900px){.sim{grid-template-columns:1fr}.sim .out{border-left:0;border-top:1px solid var(--line)}}

/* FAQ */
.faq{display:grid;gap:10px;max-width:920px}
.faq details{border:1px solid var(--line);border-radius:18px;background:var(--ink-2);transition:border-color .3s}
.faq details[open]{border-color:color-mix(in srgb,var(--fg) 25%,var(--line))}
.faq summary{list-style:none;cursor:pointer;padding:22px 26px;font-weight:700;font-size:17.5px;display:flex;justify-content:space-between;gap:20px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--f-mono);font-size:22px;font-weight:400;transition:transform .3s;flex:none}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0;padding:0 26px 24px;color:var(--muted);max-width:70ch}

/* CTA final */
.final{text-align:center;position:relative;overflow:hidden}
.final .disc{width:min(760px,130vw);aspect-ratio:1;border-radius:50%;background:var(--wheel);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);filter:blur(110px);opacity:.25;animation:spin 24s linear infinite;z-index:-1}
.final h2{font-size:clamp(40px,7.5vw,110px)}
.final .lead{margin-inline:auto}
.final .row{justify-content:center;margin-top:36px}

/* page interne hero */
.phero{padding-block:clamp(48px,8vw,110px) clamp(32px,5vw,60px);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.phero::after{content:"";position:absolute;right:-12vw;top:-30%;width:min(640px,80vw);aspect-ratio:1;border-radius:50%;background:var(--wheel);-webkit-mask:radial-gradient(circle,transparent 58%,#000 59%,#000 64%,transparent 65%);mask:radial-gradient(circle,transparent 58%,#000 59%,#000 64%,transparent 65%);opacity:.55;animation:spin 30s linear infinite;z-index:-1}
.phero h1{font-size:clamp(40px,7vw,100px);max-width:14ch}
.crumbs{font-family:var(--f-mono);font-size:12.5px;color:var(--muted);margin-bottom:26px;display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--fg)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,72px);align-items:start}
.split>*{min-width:0}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.list li{padding:20px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:52px 1fr;gap:14px}
.list li .n{font-family:var(--f-mono);font-size:13px;color:var(--ambre);padding-top:3px}
.list li b{display:block;font-size:17.5px;margin-bottom:4px}
.list li span{color:var(--muted);font-size:15.5px}
.prose p{color:var(--muted);max-width:62ch}
.prose p strong{color:var(--fg)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.kpi{border:1px solid var(--line);border-radius:20px;padding:24px;background:var(--ink-2)}
.kpi b{font-family:var(--f-display);font-weight:900;font-stretch:125%;font-size:40px;letter-spacing:-.03em;display:block;line-height:1}
.kpi span{color:var(--muted);font-size:14.5px;display:block;margin-top:10px}
@media (max-width:900px){.kpis{grid-template-columns:1fr 1fr}}

/* formulaire */
.formcard{border:1px solid var(--line);border-radius:28px;background:var(--ink-2);padding:clamp(22px,4vw,44px);display:grid;gap:18px;position:relative;overflow:hidden}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fgrid .full{grid-column:1/-1}
@media (max-width:620px){.fgrid{grid-template-columns:1fr}}
.field{display:grid;gap:8px;min-width:0}
.field label{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.field input,.field select,.field textarea{font:16px var(--f-body);color:var(--fg);background:var(--ink);border:1px solid var(--line);border-radius:14px;padding:15px 16px;width:100%;transition:border-color .2s}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--fg)}
.formcard .msg{border-radius:14px;padding:16px 18px;background:var(--ink-3);border:1px solid var(--line);font-size:15px}
.formcard .msg.ok{border-color:var(--menthe)}
.small{font-size:13px;color:var(--muted)}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted)}
.chk input{margin-top:4px;accent-color:var(--rose)}

/* footer */
footer{border-top:1px solid var(--line);padding-block:72px 40px;position:relative;z-index:1;background:var(--ink)}
.fbig{font-family:var(--f-display);font-weight:900;font-stretch:125%;font-size:clamp(56px,14vw,210px);line-height:.85;letter-spacing:-.05em;text-transform:uppercase;background:var(--sweep);-webkit-background-clip:text;background-clip:text;color:transparent;margin:0 0 56px;opacity:.9;overflow-wrap:anywhere}
.fcols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.fcols h4{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 14px;font-weight:500}
.fcols ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fcols a{text-decoration:none;font-size:15px}
.fcols a:hover{color:var(--ambre)}
.fcols p{color:var(--muted);font-size:15px;margin:0;max-width:34ch}
.fbase{margin-top:56px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.cantons{display:flex;flex-wrap:wrap;gap:6px}
.cantons span{font-family:var(--f-mono);font-size:12px;border:1px solid var(--line);border-radius:6px;padding:3px 8px}
@media (max-width:860px){.fcols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.fcols{grid-template-columns:1fr}}

/* sticky mobile CTA */
.mcta{display:none}
@media (max-width:700px){
  .mcta{display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:60;justify-content:center;box-shadow:0 18px 40px -10px #000}
  footer{padding-bottom:110px}
}

@keyframes spin{to{transform:rotate(360deg)}}
@keyframes rise{from{transform:translateY(105%)}to{transform:none}}
@keyframes float{50%{transform:translateY(-10px)}}
@keyframes slide{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* Suisse x USA */
.usch{padding-top:0}
.usch-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(24px,5vw,72px);align-items:center}
.usch-grid>*{min-width:0}
.usch .lead+.lead{margin-top:16px}
.usch-map svg{width:100%;height:auto;display:block}
.usch-map text{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;fill:var(--muted)}
.arcpath{animation:dash 3s linear infinite}
.ping{transform-box:fill-box;transform-origin:center;animation:ping 2.4s ease-out infinite}
.usch-pts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(28px,4vw,48px)}
.usch-pts>div{border-top:1px solid var(--line);padding-top:20px;display:grid;gap:8px;min-width:0}
.usch-pts b{font-family:var(--f-display);font-weight:900;font-stretch:125%;font-size:clamp(26px,3vw,36px);letter-spacing:-.02em;text-transform:uppercase;line-height:1}
.usch-pts span{color:var(--muted);font-size:15.5px}
@media (max-width:860px){.usch-grid,.usch-pts{grid-template-columns:1fr}}
@keyframes dash{to{stroke-dashoffset:-56}}
@keyframes ping{0%{transform:scale(.6);opacity:.6}100%{transform:scale(1.8);opacity:0}}

/* sélecteur de langue */
.lang{display:inline-flex;gap:2px;padding:4px;border:1px solid var(--line);border-radius:999px;font-family:var(--f-mono);font-size:12px}
.lang a{text-decoration:none;padding:6px 9px;border-radius:999px;color:var(--muted)}
.lang a[aria-current]{background:var(--fg);color:var(--ink)}
.lang a:hover{color:var(--fg)}
@media (max-width:1240px){.lang{order:-1}}
@media (max-width:420px){.lang a{padding:5px 7px}}

/* correctifs mobile (oct. 2026) */
.hero-grid>*,.split>*,.usch-grid>*,.pack>*,.sim>*{min-width:0}
.eyebrow{flex-wrap:wrap;row-gap:6px}
.lead,.trust,.prose p,h1,h2,h3{overflow-wrap:break-word}
@media (max-width:600px){
  h1,.phero h1{font-size:clamp(34px,10vw,52px);font-stretch:108%}
  .hero h1{font-size:clamp(34px,10.5vw,52px)}
  h2,.final h2{font-size:clamp(30px,8.6vw,44px);font-stretch:108%}
  .pack .amt{font-size:clamp(56px,17vw,80px)}
  .guar .big,.usch-pts b{font-size:clamp(36px,11vw,50px)}
  .fbig{font-size:clamp(44px,15vw,80px)}
  .hero .row .btn,.final .row .btn,.phero .row .btn{white-space:normal;text-align:center;justify-content:center;width:100%}
}
@media (max-width:420px){
  .top .wrap{gap:10px}
  .logo{font-size:16px;gap:8px}
  .logo i{width:22px;height:22px}
  .lang{padding:3px}
  .lang a{padding:5px 6px;font-size:11px}
  .burger{width:42px;height:42px}
}
.hero h1 .line>span.rot{display:inline-grid;max-width:100%}
.top .wrap>.row{flex-wrap:nowrap;gap:10px}
@media (max-width:420px){.logo{font-size:15px}.logo b{letter-spacing:-.02em}}
.nav .lang-menu{align-self:flex-start;margin-top:10px}
.nav .lang-menu a{font-size:14px;padding:8px 14px}
@media (max-width:400px){.top .lang-top{display:none}}
.offices{margin-top:26px;display:grid;gap:14px}
.offices h4{margin:0}
.off{display:flex;gap:12px;align-items:flex-start}
.off .flag{font-family:var(--f-mono);font-size:11px;font-weight:700;border:1px solid var(--line);border-radius:6px;padding:3px 7px;color:var(--ambre);flex:none;margin-top:2px}
.off p{font-size:14.5px;line-height:1.5}

/* refonte oct. 2026 : entretien, testeur, diagnostic Ads */
.callback{border-top:1px solid var(--line);background:radial-gradient(900px 400px at 85% 0%, color-mix(in srgb,var(--cobalt) 12%,transparent), transparent 70%)}
.callback h2{font-size:clamp(30px,4.4vw,58px)}
.offer-foot{font-family:var(--f-mono);font-size:13px;color:var(--menthe);letter-spacing:.04em}
.tile .foot .cta-txt{font-family:var(--f-mono);font-size:13px;color:var(--muted)}
.spot{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px);align-items:center;border:1px solid var(--line);border-radius:32px;padding:clamp(24px,5vw,60px);background:var(--ink-2);position:relative;overflow:hidden;isolation:isolate}
.spot>*{min-width:0}
.spot::before{content:"";position:absolute;width:560px;height:560px;left:-220px;bottom:-260px;border-radius:50%;background:var(--wheel);filter:blur(90px);opacity:.22;z-index:-1}
@media (max-width:900px){.spot{grid-template-columns:1fr}}
.console{border:1px solid var(--line);border-radius:18px;background:var(--ink);overflow:hidden;font-family:var(--f-mono);font-size:12.5px}
.console .bar{display:flex;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);color:var(--muted)}
.console .row2{display:grid;grid-template-columns:1fr auto;gap:10px;padding:9px 14px;border-bottom:1px dashed var(--line);align-items:center}
.console .row2:last-child{border-bottom:0}
.console .row2 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.console .tag{border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700}
.console .keep{background:color-mix(in srgb,var(--menthe) 20%,transparent);color:var(--menthe)}
.console .cut{background:color-mix(in srgb,var(--rose) 20%,transparent);color:var(--rose)}
.console .boost{background:color-mix(in srgb,var(--ambre) 22%,transparent);color:var(--ambre)}
.console .note{padding:9px 14px;color:var(--muted);font-size:11px;border-top:1px solid var(--line)}
.symptoms{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.symptom{border:1px solid var(--line);border-radius:20px;padding:24px;background:var(--ink-2);min-width:0}
.symptom b{display:block;font-size:17.5px;margin:12px 0 6px}
.symptom p{margin:0;color:var(--muted);font-size:15px}
.symptom .ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--rose) 16%,transparent);color:var(--rose);font-family:var(--f-mono);font-weight:700;font-size:13px}
@media (max-width:900px){.symptoms{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.symptoms{grid-template-columns:1fr}}
.offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.tool{border:1px solid var(--line);border-radius:28px;background:var(--ink-2);padding:clamp(22px,4vw,40px);display:grid;gap:22px;position:relative;overflow:hidden}
.tool form{display:flex;gap:10px;flex-wrap:wrap}
.tool form input{flex:1 1 260px;min-width:0;font:16px var(--f-body);color:var(--fg);background:var(--ink);border:1px solid var(--line);border-radius:999px;padding:16px 22px}
.tool form input:focus{outline:none;border-color:var(--fg)}
.tool .status{font-family:var(--f-mono);font-size:13.5px;color:var(--ambre)}
.tgs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.tg{display:grid;justify-items:center;gap:6px;text-align:center;position:relative}
.tg svg{width:100%;max-width:120px;height:auto}
.tg .bg{fill:none;stroke:var(--ink-3);stroke-width:9}
.tg .fg{fill:none;stroke-width:9;stroke-linecap:round}
.tg.g .fg{stroke:var(--menthe)}.tg.m .fg{stroke:var(--ambre)}.tg.b .fg{stroke:var(--rose)}
.tg b{position:absolute;top:0;left:0;right:0;aspect-ratio:1;max-width:120px;margin:auto;display:grid;place-items:center;font-family:var(--f-display);font-weight:900;font-stretch:112%;font-size:clamp(22px,3vw,32px)}
.tg span{font-size:13.5px;color:var(--muted)}
.tms{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tm{border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;gap:4px;min-width:0}
.tm span{font-size:13px;color:var(--muted)}
.tm b{font-family:var(--f-mono);font-size:18px}
.tm i{font-style:normal;font-family:var(--f-mono);font-size:11.5px}
.tm.g i{color:var(--menthe)}.tm.m i{color:var(--ambre)}.tm.b i{color:var(--rose)}
.tcta{font-size:16.5px;max-width:62ch;margin:0}
#tester-out{display:grid;gap:18px}
@media (max-width:640px){.tgs{grid-template-columns:1fr 1fr}.tms{grid-template-columns:1fr}}
.quiz{display:grid;gap:10px}
.q{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:14px 18px;background:var(--ink)}
.q p{margin:0;font-size:15.5px}
.q .yn{display:flex;gap:6px}
.q .yn label{position:relative;cursor:pointer}
.q .yn input{position:absolute;opacity:0;pointer-events:none}
.q .yn span{display:block;border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-family:var(--f-mono);font-size:12.5px}
.q .yn input:checked+span{background:var(--fg);color:var(--ink);border-color:var(--fg)}
.q .yn input:focus-visible+span{outline:2px solid var(--ambre);outline-offset:2px}
@media (max-width:560px){.q{grid-template-columns:1fr}}
#quiz-out{border:1px solid var(--line);border-radius:20px;padding:24px;background:var(--ink);display:grid;gap:14px}
#quiz-out ul{margin:0;padding-left:20px;color:var(--muted);display:grid;gap:6px}
#quiz-out p{margin:0}
.qscore{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.qscore b{font-family:var(--f-display);font-weight:900;font-stretch:112%;font-size:clamp(48px,7vw,72px);line-height:1}
.qscore b small{font-family:var(--f-mono);font-size:16px;color:var(--muted);font-weight:400}
.qscore span{color:var(--muted)}
.usch-pts{grid-template-columns:repeat(3,minmax(0,1fr))}
.usch-pts b{overflow-wrap:anywhere}
@media (max-width:860px){.usch-pts{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.usch-pts b{font-size:clamp(26px,7.4vw,36px);font-stretch:100%}}
.spot h2,.split h2{font-size:clamp(30px,3.8vw,54px)}

/* Formulaire en étapes, plus visible et plus vivant */
.callback{position:relative;overflow:hidden;isolation:isolate}
.callback::before{content:"";position:absolute;width:min(900px,140vw);aspect-ratio:1;right:-30%;top:-40%;border-radius:50%;background:var(--wheel);filter:blur(110px);opacity:.22;z-index:-1;animation:spin 26s linear infinite}
.callback .formcard{border:0;padding:clamp(22px,4vw,40px);background:linear-gradient(var(--ink-2),var(--ink-2)) padding-box,conic-gradient(from var(--ang,0deg),var(--cobalt),var(--rose),var(--ambre),var(--menthe),var(--cobalt)) border-box;border:2px solid transparent;box-shadow:0 40px 90px -30px color-mix(in srgb,var(--rose) 45%,transparent),0 0 0 1px var(--line);animation:angle 6s linear infinite}
@property --ang{syntax:"<angle>";initial-value:0deg;inherits:false}
@keyframes angle{to{--ang:360deg}}
.wz-head{display:grid;gap:14px}
.wz-free{justify-self:start;font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;color:var(--ink);background:var(--menthe);border-radius:999px;padding:6px 12px;font-weight:700}
.wz-prog{height:6px;border-radius:6px;background:var(--ink-3);overflow:hidden}
.wz-prog i{display:block;height:100%;width:33%;border-radius:6px;background:var(--sweep);transition:width .5s cubic-bezier(.2,.8,.2,1)}
.wz-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.wz-steps li{display:flex;gap:8px;align-items:center;min-width:0}
.wz-steps li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--ink-3);flex:none;transition:.3s}
.wz-steps li.on{color:var(--fg)}
.wz-steps li.on::before{background:var(--rose);box-shadow:0 0 12px var(--rose)}
.wz-step{display:none;gap:16px}
.wz-step.on{display:grid;animation:wzin .45s cubic-bezier(.2,.8,.2,1)}
@keyframes wzin{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
.wz-q{margin:6px 0 0;font-family:var(--f-display);font-weight:800;font-stretch:112%;font-size:clamp(22px,2.6vw,30px);line-height:1.1;letter-spacing:-.01em}
.wz-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.wz-card{display:flex;gap:12px;align-items:center;text-align:left;font:600 15px var(--f-body);color:var(--fg);background:var(--ink);border:1.5px solid var(--line);border-radius:16px;padding:16px;cursor:pointer;transition:transform .2s cubic-bezier(.2,.8,.2,1),border-color .2s,background .2s;min-height:68px}
.wz-card .ic{flex:none;min-width:44px;height:36px;padding:0 6px;border-radius:10px;display:grid;place-items:center;font-family:var(--f-mono);font-size:11px;font-weight:700;color:var(--ink);background:var(--sweep)}
.wz-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--fg) 40%,var(--line))}
.wz-card:active{transform:scale(.97)}
.wz-card.sel{border-color:var(--menthe);background:color-mix(in srgb,var(--menthe) 12%,var(--ink));box-shadow:0 0 0 3px color-mix(in srgb,var(--menthe) 25%,transparent)}
.wz-chips{display:flex;flex-wrap:wrap;gap:8px}
.wz-chip{font:600 15px var(--f-body);color:var(--fg);background:var(--ink);border:1.5px solid var(--line);border-radius:999px;padding:12px 18px;cursor:pointer;transition:.2s}
.wz-chip:active{transform:scale(.96)}
.wz-chip.sel{background:var(--fg);color:var(--ink);border-color:var(--fg)}
.wz-nav{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.wz-nav .btn{justify-content:center}
.wz-nav .wz-next,.wz-nav button[type="submit"]{margin-left:auto}
.formcard .field input,.formcard .field textarea{transition:border-color .2s,box-shadow .2s,transform .2s}
.formcard .field input:focus,.formcard .field textarea:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--cobalt) 30%,transparent)}
.shake{animation:shake .45s}
@keyframes shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.wz-done{display:grid;justify-items:center;text-align:center;gap:10px;padding:30px 10px;animation:wzin .5s}
.wz-done svg{width:86px;height:86px}
.wz-done circle{fill:none;stroke:var(--menthe);stroke-width:3;stroke-dasharray:151;stroke-dashoffset:151;animation:draw .7s forwards}
.wz-done path{fill:none;stroke:var(--menthe);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:draw .45s .55s forwards}
.wz-done h3{font-size:clamp(28px,4vw,40px);font-stretch:118%;font-weight:900}
.wz-done p{color:var(--muted);margin:0;max-width:40ch}
@keyframes draw{to{stroke-dashoffset:0}}
.confetti{position:fixed;inset:0;pointer-events:none;z-index:200}
@media (max-width:560px){.wz-cards{grid-template-columns:1fr}.wz-steps{font-size:10px}.wz-nav .btn{flex:1 1 auto}}
/* apparitions au défilement */
.rv{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}
.rv.rv-in{opacity:1;transform:none}
/* bouton mobile */
.mcta{transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .35s}
.mcta.mcta-off{transform:translateY(140%);opacity:0;pointer-events:none}
.mcta.pulse{animation:mpulse 2.4s ease-in-out 3}
@keyframes mpulse{0%,100%{box-shadow:0 18px 40px -10px #000}50%{box-shadow:0 0 0 10px color-mix(in srgb,var(--rose) 35%,transparent),0 18px 40px -10px #000}}
/* reflet sur les boutons principaux */
.btn-main .arr{position:relative;z-index:1}
.btn-main::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.6) 50%,transparent 65%) no-repeat;background-size:260% 100%;background-position:120% 0;transition:background-position .7s;pointer-events:none}
.btn-main:hover::before{background-position:-20% 0}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}
[hidden]{display:none!important}
@media (max-width:860px){
  .callback .split>div:first-child{display:contents}
  .callback .split{gap:18px}
  .callback .formcard{order:2;margin-top:6px}
  .callback .list{order:3;margin-top:10px!important}
}

/* v3 : maquettes de sites (motif répété) + grille de prix */
.devices{position:relative;max-width:560px;width:100%;margin-inline:auto;padding:26px 30px 44px 0;transition:transform .2s ease-out}
.dv-glow{position:absolute;inset:12% 6% 6% 12%;background:var(--wheel);filter:blur(70px);opacity:.33;border-radius:50%;animation:spin 18s linear infinite;pointer-events:none}
.dv-browser{position:relative;border:1px solid var(--line);border-radius:16px;background:var(--ink);overflow:hidden;box-shadow:0 40px 80px -30px #000}
.dv-browser .bar,.case .cbar,.browser .bar{display:flex;gap:6px;padding:10px 12px;border-bottom:1px solid var(--line);align-items:center;background:var(--ink)}
.dv-browser .bar i,.case .cbar i,.browser .bar i{width:9px;height:9px;border-radius:50%;background:var(--rose);flex:none}
.dv-browser .bar i:nth-child(2),.case .cbar i:nth-child(2),.browser .bar i:nth-child(2){background:var(--ambre)}
.dv-browser .bar i:nth-child(3),.case .cbar i:nth-child(3),.browser .bar i:nth-child(3){background:var(--menthe)}
.dv-browser .bar span,.case .cbar span{margin-left:10px;font-family:var(--f-mono);font-size:11.5px;color:var(--muted);background:var(--ink-2);padding:3px 10px;border-radius:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dv-site{padding:14px 16px 18px;display:grid;gap:14px}
.dv-nav{display:flex;align-items:center;gap:12px;font-family:var(--f-mono);font-size:10.5px;color:var(--muted)}
.dv-nav b{width:22px;height:22px;border-radius:50%;background:var(--wheel);-webkit-mask:radial-gradient(circle,transparent 5px,#000 6px);mask:radial-gradient(circle,transparent 5px,#000 6px);margin-right:auto;animation:spin 8s linear infinite}
.dv-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:14px;align-items:center}
.dv-hero i{display:block;height:8px;border-radius:4px;background:var(--ink-3);margin:8px 0;transform-origin:left;animation:grow .9s cubic-bezier(.2,.8,.2,1) both}
.dv-hero i.h{height:18px;width:92%;background:var(--sweep);animation-delay:.2s}
.dv-hero i:nth-child(2){animation-delay:.35s}.dv-hero i.w60{width:60%;animation-delay:.45s}
.dv-hero i.cta{width:44%;height:22px;border-radius:999px;background:var(--fg);margin-top:14px;animation-delay:.6s}
.dv-img{aspect-ratio:1;border-radius:12px;background:var(--wheel);animation:pop .8s .5s cubic-bezier(.2,.8,.2,1) both}
.dv-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.dv-cards span{height:48px;border-radius:10px;background:var(--ink-2);border:1px solid var(--line);position:relative;animation:pop .6s .75s both}
.dv-cards span::before{content:"";position:absolute;left:8px;top:9px;width:16px;height:16px;border-radius:5px;background:var(--rose)}
.dv-cards span:nth-child(2){animation-delay:.85s}.dv-cards span:nth-child(2)::before{background:var(--ambre)}
.dv-cards span:nth-child(3){animation-delay:.95s}.dv-cards span:nth-child(3)::before{background:var(--menthe)}
.dv-phone{position:absolute;right:0;bottom:0;width:30%;min-width:104px;aspect-ratio:9/18;border-radius:24px;border:1px solid var(--line);background:var(--ink);padding:18px 7px 8px;box-shadow:0 30px 60px -20px #000,0 0 0 5px var(--ink-2);overflow:hidden;animation:float 7s ease-in-out infinite}
.dv-phone .notch{position:absolute;top:7px;left:50%;width:34%;height:6px;border-radius:6px;background:var(--ink-3);transform:translateX(-50%)}
.dv-site.sm{padding:2px;gap:8px}
.dv-site.sm .dv-nav span{display:none}
.dv-site.sm .dv-nav b{width:14px;height:14px;-webkit-mask:radial-gradient(circle,transparent 3px,#000 4px);mask:radial-gradient(circle,transparent 3px,#000 4px)}
.dv-site.sm .dv-hero{grid-template-columns:1fr;gap:4px}
.dv-site.sm .dv-img{aspect-ratio:16/11;order:-1}
.dv-site.sm .dv-hero i{height:5px;margin:5px 0}.dv-site.sm .dv-hero i.h{height:10px}.dv-site.sm .dv-hero i.cta{height:12px;margin-top:8px;width:60%}
.dv-site.sm .dv-cards{grid-template-columns:1fr;gap:6px}
.dv-site.sm .dv-cards span{height:20px;border-radius:6px}
.dv-site.sm .dv-cards span::before{width:8px;height:8px;top:5px;left:5px;border-radius:3px}
.devices .chip{z-index:2}
.devices .chip.c1{top:auto;bottom:2%;left:-5%}.devices .chip.c2{top:-1%;bottom:auto;left:auto;right:2%}.devices .chip.c3{top:44%;bottom:auto;left:auto;right:22%}
.devices .chip.c1 .dot{background:var(--menthe)}.devices .chip.c2 .dot{background:var(--cobalt);color:#fff}.devices .chip.c3 .dot{background:var(--rose)}
@keyframes grow{from{transform:scaleX(0)}}
@keyframes pop{from{opacity:0;transform:scale(.88)}}
@media (max-width:900px){.devices{max-width:440px;margin-top:6px}.devices .chip.c1{left:0}.devices .chip.c2{right:0}.devices .chip.c3{right:24%}}
@media (max-width:560px){.devices{padding:22px 18px 40px 0}.devices .chip.c3{display:none}.dv-nav span{display:none}}
@media (prefers-reduced-motion:reduce){.dv-hero i,.dv-img,.dv-cards span{animation:none}}

/* réalisations façon fenêtre de navigateur */
.case .cbar{padding:9px 12px}
.case .cbar i{width:8px;height:8px}

/* grille de prix */
.prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.plan.price{gap:14px}
.plan.price .pv{height:96px;border-radius:12px;border:1px solid var(--line);background:var(--ink);padding:10px;position:relative;overflow:hidden;margin-bottom:4px}
.pv i{display:block;height:6px;border-radius:3px;background:var(--ink-3);margin-bottom:6px;transition:transform .4s}
.pv i.b{width:28%;height:4px}.pv i.h{height:10px;width:76%;background:var(--sweep)}.pv i.s{width:52%}
.pv i.img{height:16px;background:var(--wheel);opacity:.85;border-radius:5px}
.pv-vitrine{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pv-vitrine span,.pv-shop span{border:1px solid var(--line);border-radius:7px;background:var(--ink-2);position:relative;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.pv-vitrine span::before{content:"";position:absolute;left:5px;right:5px;top:6px;height:8px;border-radius:3px;background:var(--sweep)}
.pv-vitrine span::after{content:"";position:absolute;left:5px;right:10px;top:21px;bottom:8px;background:repeating-linear-gradient(var(--ink-3) 0 4px,transparent 4px 10px)}
.pv-shop{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:1fr 1fr;gap:6px}
.pv-shop span::before{content:"";position:absolute;inset:4px 4px 10px;border-radius:4px;background:var(--wheel);opacity:.5}
.pv-shop em{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;background:var(--menthe);box-shadow:0 0 14px var(--menthe)}
.pv-shop em::after{content:"1";position:absolute;inset:0;display:grid;place-items:center;font:700 11px var(--f-mono);font-style:normal;color:var(--ink)}
.plan.price:hover .pv span:nth-child(odd),.plan.price:hover .pv i:nth-child(odd){transform:translateY(-3px)}
.plan.price:hover .pv span:nth-child(even),.plan.price:hover .pv i:nth-child(even){transform:translateY(2px)}
.amtrow{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.amtrow .from{font-family:var(--f-mono);font-size:13px;color:var(--muted)}
.plan.price .amt{font-size:clamp(40px,4.4vw,54px)}
.plan.hot .amt{background:var(--sweep);-webkit-background-clip:text;background-clip:text;color:transparent}
.plan.hot .amt small,.plan.hot .amt sup{-webkit-text-fill-color:var(--muted)}
.opt-h{margin:44px 0 16px;font-size:22px}
.opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.opt{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:18px 20px;background:var(--ink-2);min-width:0}
.opt b{display:block;font-size:16px;margin-bottom:4px}
.opt>div>span{color:var(--muted);font-size:14px;display:block}
.opt .oamt{font-family:var(--f-display);font-weight:900;font-stretch:120%;font-size:26px;white-space:nowrap}
.opt .oamt small{font-family:var(--f-mono);font-size:11px;font-weight:400;color:var(--muted)}
#tarifs .sec-head .lead{margin:0}
@media (max-width:900px){.prices,.opts{grid-template-columns:1fr}.plan.price.hot{order:-1}}

/* silo territorial */
.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.kpi{position:relative;border:1px solid var(--line);border-radius:20px;padding:24px;background:var(--ink-2);display:grid;gap:8px}
.kpi b{font-family:var(--f-display);font-weight:900;font-stretch:120%;font-size:clamp(34px,4vw,48px);line-height:1;background:var(--sweep);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.kpi span{color:var(--muted);font-size:15px}
.kpi sup{position:absolute;top:14px;right:16px;font-family:var(--f-mono);font-size:11px;color:var(--muted)}
.micro{display:flex;justify-content:space-between;align-items:center;gap:24px;border-radius:24px;padding:clamp(22px,4vw,36px);background:linear-gradient(var(--ink-2),var(--ink-2)) padding-box,var(--wheel) border-box;border:1.5px solid transparent}
.micro h3{font-size:clamp(20px,2.4vw,26px);margin:10px 0 6px}
.micro p{margin:0;color:var(--muted)}
.nears{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.near{display:grid;gap:4px;border:1px solid var(--line);border-radius:18px;padding:18px 20px;background:var(--ink-2);text-decoration:none;color:var(--fg);transition:.25s}
.near:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--fg) 30%,var(--line))}
.near span{color:var(--muted);font-size:14px}
.geo-links,.fzones{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.geo-links a,.fzones a{font-size:14px;border:1px solid var(--line);border-radius:999px;padding:7px 14px;color:var(--fg);text-decoration:none}
.geo-links a[aria-current]{background:var(--fg);color:var(--ink)}
.fzones{align-items:center;margin:28px 0 0}
.fzones span{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-right:6px}
.method{margin-top:36px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}
.method h4{font-size:14px;color:var(--fg);margin:0 0 6px}
.srcs{margin:10px 0 0;padding-left:20px;display:grid;gap:4px}
.srcs a{color:var(--muted)}
@media (max-width:900px){.kpis,.nears{grid-template-columns:1fr}.micro{flex-direction:column;align-items:flex-start}}

/* v4 : visuels photo + captures réelles */
.ph-band{padding-top:clamp(28px,4vw,48px)!important}
figure.ph{position:relative;margin:0;border-radius:28px;overflow:hidden;border:1px solid var(--line);background:var(--ink-2);aspect-ratio:21/9;isolation:isolate}
figure.ph img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02);transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
figure.ph:hover img{transform:scale(1.05)}
figure.ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(10,12,20,.72));pointer-events:none}
figure.ph figcaption{position:absolute;left:clamp(14px,2.4vw,28px);bottom:clamp(14px,2.4vw,26px);z-index:1;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-family:var(--f-mono);font-size:12.5px;color:#fff}
figure.ph figcaption span{background:rgba(15,17,26,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);padding:7px 12px;border-radius:999px}
figure.ph figcaption span:first-child::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--menthe);margin-right:8px;vertical-align:1px}
.browser .shot,.dv-browser .shot{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.spot .browser{align-self:center}
.ph-band + section{padding-top:clamp(28px,4vw,48px)!important}
.case .vis.shot::before{display:none}
.case .vis.shot::after{background:linear-gradient(180deg,transparent 70%,rgba(0,0,0,.25))}
.case .vis.shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform 1.6s ease}
.case:hover .vis.shot img{transform:translateY(-3%) scale(1.03)}
.mosaic{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px}
.mosaic figure.ph{aspect-ratio:4/5}
.mosaic figure.ph:first-child{aspect-ratio:auto}
@media (max-width:900px){figure.ph{aspect-ratio:4/3;border-radius:22px}.mosaic{grid-template-columns:1fr 1fr}.mosaic figure.ph:first-child{grid-column:1/-1;aspect-ratio:16/10}}
@media (max-width:560px){.mosaic{grid-template-columns:1fr}.mosaic figure.ph{aspect-ratio:4/3}}
/* v5 : visuels appareils (Canva) */
.devices .dv-photo{position:relative;display:block;width:100%;height:auto;border-radius:22px;box-shadow:0 40px 80px -30px #000;animation:pop .8s .2s cubic-bezier(.2,.8,.2,1) both}
.devices{padding:18px 0 30px}
.dev-shot{display:block;width:100%;height:auto;border-radius:20px;border:1px solid var(--line);box-shadow:0 30px 60px -30px #000;align-self:center}
.tile .dev-shot{margin-top:8px}
.devices .chip.c3{top:auto;bottom:4%;right:-3%}
/* v6 : thème clair lumineux (bleu électrique / violet) */
:root{
  color-scheme: light;
  --ink:#F7F8FD; --ink-2:#FFFFFF; --ink-3:#EDEFFA; --line:#E2E5F3;
  --fg:#0D0F2B; --muted:#565B7E;
  --cobalt:#3A4BFF; --rose:#B04CFF; --ambre:#FF7A59; --menthe:#14C7A5;
  --violet:#7C3AED;
  --wheel:conic-gradient(from 0deg, var(--cobalt), var(--rose), var(--ambre), var(--menthe), var(--cobalt));
  --sweep:linear-gradient(100deg, var(--cobalt), var(--violet) 50%, var(--rose));
  --shadow:0 24px 60px -28px rgba(40,46,120,.28);
  --shadow-hi:0 34px 80px -30px rgba(58,75,255,.38);
}
body{background:var(--ink);color:var(--fg)}
body::before{opacity:.035;mix-blend-mode:multiply}
/* aurore animée en arrière-plan */
body::after{content:"";position:fixed;inset:-20vmax;z-index:0;pointer-events:none;
  background:radial-gradient(38vmax 30vmax at 12% 8%,color-mix(in srgb,var(--cobalt) 16%,transparent),transparent 70%),
             radial-gradient(34vmax 28vmax at 88% 18%,color-mix(in srgb,var(--rose) 14%,transparent),transparent 70%),
             radial-gradient(40vmax 30vmax at 70% 92%,color-mix(in srgb,var(--menthe) 12%,transparent),transparent 70%);
  animation:aurora 26s ease-in-out infinite alternate}
@keyframes aurora{to{transform:translate3d(4vmax,-3vmax,0) rotate(6deg)}}
@media (prefers-reduced-motion:reduce){body::after{animation:none}}
.halo{background:radial-gradient(circle,color-mix(in srgb,var(--violet) 14%,transparent),transparent 65%)}
::selection{background:var(--cobalt);color:#fff}
/* boutons : dégradé bleu-violet vif */
.btn-main{background:var(--sweep);color:#fff;box-shadow:0 14px 34px -14px rgba(58,75,255,.65)}
.btn-main:hover{box-shadow:0 18px 44px -12px rgba(124,58,237,.7);transform:translateY(-2px)}
.btn-ghost{background:#fff;border-color:var(--line);color:var(--fg)}
.btn-ghost:hover{border-color:var(--cobalt);color:var(--cobalt)}
/* cartes qui se soulèvent */
.tile,.case,.plan,.opt,.kpi,.near,.spot,.wz-card,details{background:var(--ink-2);box-shadow:var(--shadow);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
.tile:hover,.case:hover,.plan:hover,.opt:hover,.near:hover{transform:translateY(-6px);box-shadow:var(--shadow-hi);border-color:color-mix(in srgb,var(--cobalt) 35%,var(--line))}
.plan.hot{border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--sweep) border-box}
.spot{background:linear-gradient(135deg,#fff,#F3F1FF)}
.spot::before{opacity:.18}
/* textes en dégradé */
.hero h1 em,h2 em{background:var(--sweep);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{color:var(--violet)}
/* surfaces sombres d'origine -> claires */
.chip{background:rgba(255,255,255,.82);box-shadow:var(--shadow)}
.chip .dot{color:#fff}
.console{background:#0F1233;color:#E9ECFF;box-shadow:var(--shadow-hi)}
.console *{border-color:rgba(255,255,255,.08)}
.dv-browser,.dv-phone,.case .cbar,.browser .bar{background:#fff}
.mcta{box-shadow:0 18px 40px -12px rgba(58,75,255,.55)}
@keyframes mpulse{0%,100%{box-shadow:0 18px 40px -12px rgba(58,75,255,.55)}50%{box-shadow:0 0 0 10px color-mix(in srgb,var(--violet) 25%,transparent),0 18px 40px -12px rgba(58,75,255,.55)}}
.devices .dv-photo{box-shadow:0 40px 90px -36px rgba(40,46,120,.45)}
.dev-shot{box-shadow:0 30px 70px -34px rgba(40,46,120,.45)}
.case .vis::after{background:radial-gradient(circle at 80% 120%,rgba(13,15,43,.35),transparent 60%)}
figure.ph{box-shadow:var(--shadow)}
/* en-tête et pied */
header,.site-header{background:color-mix(in srgb,#fff 78%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
footer{background:#0D0F2B;color:#E9ECFF;--fg:#F2F3FF;--muted:#A6AACB;--line:#262A4D;--ink-2:#15183A}
footer a{color:inherit}
/* défilement : apparition douce renforcée */
.rv{transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
/* v7 : rideau au vent + effets digitaux */
#wp-curtain{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;overflow:hidden;cursor:pointer;pointer-events:auto}
html.curtain-on{overflow:hidden}
#wp-curtain .cp{position:absolute;top:-4%;bottom:-4%;width:52%;filter:url(#wp-wind);will-change:transform;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.10) 0 1.6%,rgba(255,255,255,0) 1.6% 3.4%,rgba(10,8,60,.16) 3.4% 5%,rgba(255,255,255,0) 5% 6.6%),
  linear-gradient(160deg,#2B37F5 0%,#5B33F0 45%,#9B3CF7 75%,#C04DF2 100%);
  box-shadow:inset 0 -80px 120px -60px rgba(8,6,40,.55)}
#wp-curtain .cp-l{left:-1%;transform-origin:0 0;animation:cpl-sway 1.5s ease-in-out infinite alternate}
#wp-curtain .cp-r{right:-1%;transform-origin:100% 0;animation:cpr-sway 1.5s ease-in-out infinite alternate}
@keyframes cpl-sway{to{transform:skewY(.6deg) translateX(-.6%)}}
@keyframes cpr-sway{to{transform:skewY(-.6deg) translateX(.6%)}}
#wp-curtain.blow .cp-l{animation:cpl-blow 1.35s cubic-bezier(.55,0,.25,1) forwards}
#wp-curtain.blow .cp-r{animation:cpr-blow 1.35s .08s cubic-bezier(.55,0,.25,1) forwards}
@keyframes cpl-blow{0%{transform:none}35%{transform:skewY(-3deg) skewX(4deg) translateX(-6%)}100%{transform:skewY(-14deg) skewX(18deg) translate(-115%,-22%) rotate(-8deg);opacity:.9}}
@keyframes cpr-blow{0%{transform:none}35%{transform:skewY(3deg) skewX(-4deg) translateX(6%)}100%{transform:skewY(14deg) skewX(-18deg) translate(115%,-18%) rotate(8deg);opacity:.9}}
#wp-curtain .cwind{position:absolute;inset:0;pointer-events:none}
#wp-curtain .cwind i{position:absolute;left:-45vw;height:2px;border-radius:2px;opacity:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);animation:gust .9s cubic-bezier(.3,0,.2,1) forwards}
@keyframes gust{0%{opacity:0;transform:translateX(0)}20%{opacity:.9}100%{opacity:0;transform:translateX(170vw)}}
#wp-curtain .cslogan{position:relative;z-index:2;text-align:center;color:#fff;padding:0 6vw;display:grid;gap:.25em;justify-items:center}
#wp-curtain .cl1,#wp-curtain .cl2{display:block;font-family:var(--f-display);font-weight:900;font-stretch:118%;text-transform:uppercase;letter-spacing:-.02em;line-height:.95;font-size:clamp(30px,6.4vw,92px);opacity:0;transform:translateY(30px);filter:blur(8px);animation:cs-in .8s cubic-bezier(.2,.8,.2,1) forwards}
#wp-curtain .cl1{animation-delay:.15s}
#wp-curtain .cl2{animation-delay:.6s}
#wp-curtain .cl2 em{font-family:var(--f-serif);font-style:italic;font-weight:400;text-transform:none;color:#FFE1F5}
#wp-curtain .clogo{margin-top:22px;font-family:var(--f-mono);font-weight:500;font-size:13px;letter-spacing:.32em;opacity:0;animation:cs-in .6s 1s forwards;display:flex;gap:10px;align-items:center}
#wp-curtain .clogo i{width:16px;height:16px;border-radius:50%;background:conic-gradient(#3BE3C4,#FFB547,#FF4F8F,#3BE3C4);-webkit-mask:radial-gradient(circle,transparent 4px,#000 5px);mask:radial-gradient(circle,transparent 4px,#000 5px);animation:spin 3s linear infinite}
@keyframes cs-in{to{opacity:1;transform:none;filter:none}}
#wp-curtain.blow .cslogan{animation:cs-out .9s .15s cubic-bezier(.55,0,.25,1) forwards}
@keyframes cs-out{to{opacity:0;transform:translate(22vw,-6vh) skewX(-12deg);filter:blur(10px)}}
#wp-curtain.gone{opacity:0;transition:opacity .6s ease;pointer-events:none}
@media (max-width:640px){#wp-curtain .cl1,#wp-curtain .cl2{font-size:clamp(28px,9vw,44px)}}
.wp-progress{position:fixed;left:0;top:0;height:3px;width:100%;z-index:80;transform-origin:0 50%;transform:scaleX(0);background:var(--sweep);box-shadow:0 0 12px color-mix(in srgb,var(--violet) 60%,transparent);pointer-events:none}
.fx-tilt{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-style:preserve-3d;position:relative}
.fx-tilt:hover{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-6px)}
.fx-tilt::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s;z-index:3;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(124,58,237,.12),rgba(58,75,255,.06) 40%,transparent 70%)}
.fx-tilt:hover::after{opacity:1}
figure.ph.fx-tilt::after{background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.22),transparent 60%),linear-gradient(180deg,transparent 45%,rgba(10,12,20,.6))}
figure.ph.fx-tilt::after{opacity:1}
.btn-main{transition:translate .25s cubic-bezier(.2,.8,.2,1),box-shadow .3s,transform .3s}
.plan.hot{background:linear-gradient(#fff,#fff) padding-box,conic-gradient(from var(--ang,0deg),#3A4BFF,#7C3AED,#B04CFF,#14C7A5,#3A4BFF) border-box;animation:angspin 6s linear infinite}
@property --ang{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes angspin{to{--ang:360deg}}
@media (prefers-reduced-motion:reduce){.plan.hot{animation:none}.fx-tilt,.fx-tilt:hover{transform:none}}

/* v9 : maillage local */
.communes{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.communes span{font-family:var(--f-mono);font-size:12.5px;padding:6px 12px;border-radius:999px;background:var(--ink-3);border:1px solid var(--line);color:var(--fg)}
a.step.svc{text-decoration:none;color:inherit;position:relative;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
a.step.svc:hover{transform:translateY(-6px);box-shadow:var(--shadow-hi);border-color:color-mix(in srgb,var(--cobalt) 35%,var(--line))}
a.step.svc .go{position:absolute;right:18px;top:18px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);font-size:14px}
.fzones+.fzones{margin-top:10px}
