/* « Cadran de précision » : site vitrine Limites IA / AI limits.
   Aucune police ni ressource externe. Jetons de couleur : docs/ART_DIRECTION.md. */
:root{
  color-scheme:light;
  --bg:#E3EBF3;--band:rgba(255,255,255,.42);--surface:#FCFDFF;--raised:#F1F5F9;--stroke:#CBD6E2;--stroke-2:#9FB0C4;
  --text:#172230;--text2:#3F4B5C;--text3:#4F5B6B;
  --accent:#2B5F9E;--accent-ink:#2B5F9E;--on-accent:#fff;
  --claude:#C8623D;--g1:#3B72E0;--g2:#8A5FC4;--g3:#C95566;
  --track:#C9D5E2;--tick:#8B9AAD;--grid:rgba(23,34,48,.055);--glow:rgba(43,95,158,.16);
  --head:rgba(227,235,243,.84);--shadow:0 1px 2px rgba(23,34,48,.06),0 14px 34px -14px rgba(23,34,48,.2);
  --stage:linear-gradient(180deg,rgba(255,255,255,.7),rgba(241,245,249,.5));
  --wall:linear-gradient(135deg,#a9bfdc,#cbb9de 55%,#ebc4cf);
  --mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --sans:system-ui,-apple-system,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --r:20px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#0B1322;--band:rgba(21,32,54,.5);--surface:#152036;--raised:#1E2B47;--stroke:#2C3C5E;--stroke-2:#4A5D82;
    --text:#F2F5FA;--text2:#B4BFD0;--text3:#9AA6BA;
    --accent:#8DB7E8;--accent-ink:#8DB7E8;--on-accent:#0B1322;
    --track:#26385A;--tick:#6E7F9C;--grid:rgba(141,183,232,.07);--glow:rgba(43,95,158,.38);
    --head:rgba(11,19,34,.84);--shadow:0 1px 2px rgba(0,0,0,.3),0 18px 40px -16px rgba(0,0,0,.6);
    --stage:linear-gradient(180deg,rgba(30,43,71,.55),rgba(21,32,54,.35));
    --wall:linear-gradient(135deg,#27406e,#42336c 55%,#6a3a58);
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0B1322;--band:rgba(21,32,54,.5);--surface:#152036;--raised:#1E2B47;--stroke:#2C3C5E;--stroke-2:#4A5D82;
  --text:#F2F5FA;--text2:#B4BFD0;--text3:#9AA6BA;
  --accent:#8DB7E8;--accent-ink:#8DB7E8;--on-accent:#0B1322;
  --track:#26385A;--tick:#6E7F9C;--grid:rgba(141,183,232,.07);--glow:rgba(43,95,158,.38);
  --head:rgba(11,19,34,.84);--shadow:0 1px 2px rgba(0,0,0,.3),0 18px 40px -16px rgba(0,0,0,.6);
  --stage:linear-gradient(180deg,rgba(30,43,71,.55),rgba(21,32,54,.35));
  --wall:linear-gradient(135deg,#27406e,#42336c 55%,#6a3a58);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--bg);color:var(--text);font:400 1.0625rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%}
img{display:block;height:auto}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:var(--accent-ink);text-underline-offset:.18em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.01em}
.wrap{width:min(100% - 40px,1120px);margin-inline:auto}
.narrow{width:min(100% - 40px,760px)}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--accent);color:var(--on-accent);padding:12px 16px;border-radius:10px;font-weight:600;text-decoration:none}
.skip:focus{top:12px}

/* ---------- En-tête collant ---------- */
.top{position:sticky;top:0;z-index:50;background:var(--head);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--stroke)}
.bar{display:grid;grid-template-columns:1fr auto;grid-template-areas:"brand tools" "nav nav";align-items:center;column-gap:12px}
.brand{grid-area:brand;display:flex;align-items:center;gap:10px;min-height:56px;color:var(--text);font-weight:700;text-decoration:none;letter-spacing:-.01em}
.brand img{border-radius:8px;flex:none}
.brand span{white-space:nowrap}
@media (max-width:419px){
  .wrap{width:min(100% - 32px,1120px)}
  .secnav{margin-inline:-16px;padding-inline:16px}
  .brand span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
.tools{grid-area:tools;display:flex;align-items:center;gap:6px}
.secnav{grid-area:nav;overflow-x:auto;scrollbar-width:none;margin-inline:-20px;padding-inline:20px}
.secnav::-webkit-scrollbar{display:none}
.secnav ul{display:flex;gap:2px;white-space:nowrap}
.secnav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;color:var(--text2);text-decoration:none;font-size:.9rem;border-radius:10px;font-weight:500}
.secnav a:hover{color:var(--text);background:var(--raised)}
.secnav a[aria-current="true"]{color:var(--accent-ink);box-shadow:inset 0 -2px 0 var(--accent)}
.langs{display:flex;gap:2px}
.langs a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font:600 .8rem var(--mono);color:var(--text2);text-decoration:none;border-radius:10px;letter-spacing:.04em}
.langs a:hover{background:var(--raised);color:var(--text)}
.langs a[aria-current="page"]{color:var(--accent-ink);box-shadow:inset 0 -2px 0 var(--accent)}
.theme{display:none;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--stroke);background:var(--surface);color:var(--text);border-radius:12px;cursor:pointer}
.js .theme{display:inline-flex}
.theme:hover{border-color:var(--stroke-2)}
.i-sun{display:none}
:root[data-theme="dark"] .i-sun{display:block}
:root[data-theme="dark"] .i-moon{display:none}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .i-sun{display:block}
  :root:not([data-theme="light"]) .i-moon{display:none}
}
@media (min-width:980px){
  .bar{grid-template-columns:auto 1fr auto;grid-template-areas:"brand nav tools"}
  .secnav{margin-inline:0;padding-inline:0;justify-self:center}
}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:14px;font:600 1rem var(--sans);text-decoration:none}
.btn-soon{border:1.5px dashed var(--stroke-2);background:transparent;color:var(--text2);cursor:not-allowed}
.btn-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;color:var(--accent-ink);text-decoration:none}
.btn-link:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.2em}
.btn-link svg{transition:transform .2s}
.btn-link:hover svg{transform:translateX(3px)}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}
.cta-row.center{justify-content:center}

/* ---------- Hero ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(55% 55% at 78% 35%,var(--glow),transparent 70%),
  linear-gradient(var(--grid) 1px,transparent 1px) 0 0/44px 44px,linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0/44px 44px;
  -webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
.hero-grid{display:grid;gap:44px;padding:44px 0 72px}
.eyebrow{font-size:.8rem;color:var(--text3);text-transform:uppercase;letter-spacing:.1em;margin-bottom:18px}
h1{font-size:clamp(2.1rem,1.1rem + 4.2vw,3.6rem);line-height:1.04;letter-spacing:-.025em;font-weight:760;text-wrap:balance}
.lead{font-size:1.125rem;color:var(--text2);max-width:40rem;margin-top:20px;text-wrap:pretty}
.hero .cta-row{margin-top:28px}
.status{margin-top:14px;font-size:.84rem;color:var(--text2)}
.langnote{margin-top:6px;font-size:.92rem;color:var(--text3)}
.facts{display:grid;grid-template-columns:repeat(3,auto);justify-content:space-between;gap:12px 20px;max-width:34rem;margin-top:36px;padding-top:22px;border-top:1px solid var(--stroke)}
.facts div{display:flex;flex-direction:column;gap:2px}
.facts dd{order:-1}
.facts dd{font-size:clamp(1.05rem,.8rem + 1.2vw,1.65rem);font-weight:700;color:var(--text);white-space:nowrap}
.facts dt{font-size:.74rem;color:var(--text3);text-transform:uppercase;letter-spacing:.07em}
.hero-visual{position:relative;width:100%;max-width:580px;margin:0 auto 64px;aspect-ratio:1/.92}
.hv-mac{position:absolute;left:0;top:0;width:88%}
.hv-mac img,.mac{width:100%;height:auto;filter:drop-shadow(0 22px 34px rgba(11,19,34,.28))}
.hv-phone{position:absolute;right:0;bottom:6%;width:37%}
.hv-gauge{position:absolute;left:2%;bottom:0;width:33%;background:var(--surface);border:1px solid var(--stroke);border-radius:22px;padding:8px 8px 12px;text-align:center;box-shadow:var(--shadow)}
.hv-gauge span{display:block;font-size:.7rem;color:var(--text3);margin-top:-4px}
.hv-cap{position:absolute;left:0;right:0;bottom:-58px;font-size:.74rem;color:var(--text3);text-align:center}
@media (min-width:960px){
  .hero-grid{grid-template-columns:1.02fr 1fr;align-items:center;padding:72px 0 96px;gap:56px}
}

/* ---------- Jauge 270° ---------- */
.gauge{display:block;width:100%;height:auto}
.g-track{fill:none;stroke:var(--track);stroke-width:14;stroke-linecap:round}
.g-fill{fill:none;stroke:var(--claude);stroke-width:14;stroke-linecap:round;stroke-dasharray:var(--f) var(--c)}
.g-fill-static{fill:none;stroke:#E8896A;stroke-linecap:round}
.g-ticks line{stroke:var(--tick);stroke-width:3;stroke-linecap:round}
.g-dot{fill:#fff;stroke:var(--claude);stroke-width:2}
.g-num{font:700 54px var(--mono);fill:var(--text)}
.g-pct{font-size:20px;fill:var(--text3)}
.gauge-mini{width:56px}.gauge-final{width:96px;margin:0 auto 12px}
@media (prefers-reduced-motion:no-preference){
  .gauge .g-fill{animation:gfill 1.5s cubic-bezier(.2,.7,.2,1) .25s both}
  .js .reveal .g-fill{animation-play-state:paused}
  .js .reveal.in .g-fill{animation-play-state:running}
}
@keyframes gfill{from{stroke-dasharray:0 var(--c)}}

/* ---------- Sections ---------- */
.section{padding:72px 0}
@media (min-width:860px){.section{padding:104px 0}}
#gallery,#how{background:var(--band);border-block:1px solid var(--stroke)}
.sec-head{max-width:46rem;margin-bottom:44px}
.kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-ink);margin-bottom:12px;display:flex;align-items:center;gap:10px}
.kicker::before{content:"";width:22px;height:2px;background:currentColor;border-radius:2px;flex:none}
h2{font-size:clamp(1.7rem,1rem + 2.8vw,2.7rem);line-height:1.1;letter-spacing:-.02em;font-weight:740;text-wrap:balance}
h3{font-size:1.3rem;line-height:1.25;letter-spacing:-.01em;font-weight:700}
.sec-head .lead{margin-top:18px}
.card{background:var(--surface);border:1px solid var(--stroke);border-radius:var(--r);padding:26px;box-shadow:var(--shadow)}
.solution{font:700 clamp(1.15rem,1rem + .8vw,1.5rem)/1.3 var(--sans);margin-bottom:24px;letter-spacing:-.01em}
.pillars{display:grid;gap:16px}
@media (min-width:860px){.pillars{grid-template-columns:repeat(3,1fr);gap:20px}}
.pillar{transition:transform .25s,border-color .25s}
.pillar:hover{transform:translateY(-3px);border-color:var(--stroke-2)}
.pillar-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.tag{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text3)}
.pillar h3{margin-bottom:8px}
.pillar p{color:var(--text2)}

/* ---------- Fonctions ---------- */
.features{display:grid;gap:56px}
.feature{display:grid;gap:24px;align-items:center}
.f-copy p:not(.kicker):not(.note){color:var(--text2);margin-top:12px;max-width:34rem}
.f-copy h3{font-size:clamp(1.4rem,1.1rem + 1.2vw,1.9rem)}
.note{margin-top:18px;padding:12px 16px;border-left:3px solid var(--accent);background:var(--surface);border-radius:0 12px 12px 0;font-size:.95rem;color:var(--text2);max-width:34rem}
.note strong{color:var(--text)}
.f-visual{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--stage);border:1px solid var(--stroke);border-radius:28px;padding:36px 20px;min-height:320px;overflow:hidden}
.f-visual figcaption{font-size:.74rem;color:var(--text3);text-align:center}
@media (min-width:860px){
  .feature{grid-template-columns:1fr 1fr;gap:64px}
  .feature:nth-child(even) .f-copy{order:2}
}

/* Cadre d'iPhone dessiné en CSS autour de la capture */
.phone{container-type:inline-size;width:100%}
.screen{position:relative;background:#0b0e15;padding:3cqw;border-radius:14cqw;box-shadow:0 0 0 1.1cqw #2a2f3b,0 0 0 1.5cqw #0b0e15,0 26px 44px -18px rgba(11,19,34,.5)}
.screen::before{content:"";position:absolute;z-index:2;left:50%;top:4.2cqw;width:20cqw;height:4.6cqw;margin-left:-10cqw;background:#000;border-radius:3cqw}
.screen img{width:100%;height:auto;border-radius:11cqw}
.f-visual .phone{width:min(100%,264px)}
.phone-native .screen::before{display:none}
/* iPhone Duo, écran extérieur : format plus large, caméra ronde en haut à droite, barre d'état sur le côté. */
.phone-duo .screen{border-radius:11cqw}
.phone-duo .screen::before{left:83.5cqw;top:8.7cqw;width:7.5cqw;height:7.5cqw;margin-left:0;border-radius:50%}
.phone-duo .screen img{border-radius:8.5cqw}
.phone-hero .screen{box-shadow:0 0 0 1.1cqw #2a2f3b,0 0 0 1.5cqw #0b0e15,0 30px 50px -18px rgba(11,19,34,.6)}

/* Bascule des captures clair / sombre */
.sh-dark{display:none}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .sh-light{display:none}
  :root:not([data-theme="light"]) .sh-dark{display:block}
}
:root[data-theme="dark"] .sh-light{display:none}
:root[data-theme="dark"] .sh-dark{display:block}
:root[data-theme="light"] .sh-light{display:block}
:root[data-theme="light"] .sh-dark{display:none}
.gallery[data-shots="light"] .sh-light{display:block}
.gallery[data-shots="light"] .sh-dark{display:none}
.gallery[data-shots="dark"] .sh-light{display:none}
.gallery[data-shots="dark"] .sh-dark{display:block}

.crop{position:relative;overflow:hidden;width:min(100%,500px);border-radius:18px;border:1px solid var(--stroke);box-shadow:var(--shadow)}
.crop img{width:100%;height:100%;object-fit:cover}
.crop-card{aspect-ratio:780/615}.crop-card img{object-position:50% 27%}
.crop-forecast{aspect-ratio:780/365}.crop-forecast img{object-position:50% 42.7%}
.float-widget{width:36%;max-width:170px;align-self:flex-end;margin:-28px 8px 0 0;position:relative}
.wimg{height:auto;filter:drop-shadow(0 10px 18px rgba(11,19,34,.28))}
.wall{background:var(--wall);border-radius:26px;padding:20px}
.wall-feature{width:min(100%,380px);display:flex;flex-direction:column;gap:16px}
.wall-row{display:flex;gap:16px;align-items:center}
.wall-sm{flex:0 0 42%}.wall-sb{flex:1;background:#000;border-radius:22px;padding:4px}
.wall-med img{width:100%}
.watch-stage{width:min(100%,220px)}
.watch{width:100%;height:auto;display:block;filter:drop-shadow(0 18px 24px rgba(11,19,34,.35))}
.w-case{fill:#2A2D36;stroke:#4A4F5C;stroke-width:2}.w-band{fill:#3a3f4b}.w-crown{fill:#4a4f5c}
.w-time{font:600 15px var(--mono);fill:#B4BFD0}.w-num{font:700 32px var(--mono);fill:#fff}
.w-sub{font:500 13px var(--mono);fill:#9AA6BA}.w-count{font:700 15px var(--mono);fill:#FF8085}
.watch .g-track{stroke:#2C3C5E}
.siri{display:grid;gap:14px;width:min(100%,400px)}
.siri li{display:flex;align-items:center;gap:14px;padding:16px 22px;border-radius:999px;background:var(--surface);border:1px solid var(--stroke);box-shadow:var(--shadow);font-weight:600;line-height:1.3}
.siri svg{flex:none;color:var(--accent-ink)}
.siri li:nth-child(2){margin-left:24px}
.sync-stage{width:min(100%,380px)}
.syncd{width:100%;height:auto;display:block}
.s-line path{fill:none;stroke:var(--text3);stroke-width:2.5;stroke-dasharray:3 7;stroke-linecap:round}
.s-cloud path{fill:var(--surface);stroke:var(--accent);stroke-width:3}
.s-lock rect{fill:var(--accent)}.s-lock path{stroke:var(--accent);stroke-width:3}
.s-dev rect,.s-dev path{fill:var(--raised);stroke:var(--text3);stroke-width:2}
.s-dev .s-screen{fill:var(--bg);stroke:none}
.duo{display:flex;justify-content:center;align-items:flex-start;width:min(100%,420px);padding-bottom:20px}
.duo-a,.duo-b{width:47%}
.duo-a{transform:rotate(-3deg)}
.duo-b{margin-left:-6%;transform:translateY(22px) rotate(3deg)}

/* ---------- Galerie ---------- */
.gal-bar{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;margin-bottom:12px}
.tablist,.seg{display:none}
.js .tablist{display:flex;gap:4px;overflow-x:auto;max-width:100%;padding:4px;background:var(--surface);border:1px solid var(--stroke);border-radius:16px}
.tab{min-height:44px;padding:0 18px;border:0;background:transparent;color:var(--text2);font:600 .95rem var(--sans);border-radius:12px;cursor:pointer;white-space:nowrap}
.tab:hover{color:var(--text)}
.tab[aria-selected="true"]{background:var(--accent);color:var(--on-accent)}
@media (max-width:479px){.tab{padding:0 12px;font-size:.9rem}}
.js .seg{display:inline-flex;border:1px solid var(--stroke);border-radius:12px;overflow:hidden;background:var(--surface)}
.seg button{min-height:44px;min-width:56px;padding:0 14px;border:0;background:transparent;color:var(--text2);font:600 .85rem var(--mono);cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--raised);color:var(--accent-ink);box-shadow:inset 0 -2px 0 var(--accent)}
.demo-cap{font-size:.76rem;color:var(--text3);margin-bottom:28px}
.demo-cap span{display:block;margin-top:2px}
.panel{padding:8px 0}
.panel[hidden]{display:none}
.panel-title{margin:36px 0 20px}
.js .panel-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);margin:0}
.gal-phones{display:grid;gap:36px;justify-items:center}
@media (min-width:760px){.gal-phones{grid-template-columns:repeat(3,1fr);gap:28px}}
.gal-duo{max-width:900px;margin-inline:auto}
.gshot{width:min(100%,270px);display:flex;flex-direction:column;gap:14px;align-items:center}
.gshot .phone{width:100%}
figcaption.mono,.gshot figcaption,.gmac figcaption,.w figcaption{font-size:.76rem;color:var(--text3);text-align:center}
.gal-macs{display:grid;gap:32px}
@media (min-width:900px){.gal-macs{grid-template-columns:1fr 1fr;gap:28px}}
.gmac{display:flex;flex-direction:column;gap:12px}
.gal-widgets{display:grid;gap:36px}
.wgroup h4{font:700 .8rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text3);margin-bottom:14px}
.wall-grid,.lockscreen{display:flex;flex-wrap:wrap;gap:22px 24px;align-items:flex-start;justify-content:center}
.lockscreen{background:#000;border:1px solid #2a2f3a;border-radius:26px;padding:24px 18px}
.lockscreen figcaption{color:#B4BFD0}
.w{display:flex;flex-direction:column;gap:8px;align-items:center}
.w-s{width:148px}.w-m,.w-l{width:min(100%,320px)}.w-c{width:112px}.w-sb{width:190px}.w-r{width:min(100%,230px)}
.wall-grid figcaption{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.55)}
.gal-watch{display:grid;gap:28px;align-items:center;justify-items:center}
.gwatch{display:flex;flex-direction:column;gap:12px;align-items:center;width:min(100%,240px)}
.gwatch-text{max-width:30rem}
.gwatch-text p{color:var(--text2);margin-top:10px}
@media (min-width:760px){.gal-watch{grid-template-columns:auto 1fr;gap:56px;justify-items:start}}

/* ---------- Confidentialité, étapes, FAQ ---------- */
.privacy-card{display:grid;gap:28px;padding:32px 24px;background:var(--surface);border:1px solid var(--stroke);border-radius:28px;box-shadow:var(--shadow)}
.privacy-card h2{margin-bottom:18px}
.checks{display:grid;gap:14px}
.checks li{position:relative;padding-left:32px;color:var(--text2)}
.checks li::before{content:"";position:absolute;left:3px;top:.42em;width:.8rem;height:.42rem;border-left:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);transform:rotate(-45deg)}
@media (min-width:860px){.privacy-card{grid-template-columns:.8fr 1.2fr;padding:48px;gap:56px}}
.steps{display:grid;gap:16px;counter-reset:s}
@media (min-width:860px){.steps{grid-template-columns:repeat(3,1fr);gap:20px}}
.step-n{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--accent);color:var(--accent-ink);font-weight:700;font-size:1.1rem;margin-bottom:16px}
.step h3{margin-bottom:8px}.step p{color:var(--text2)}
.terms ul{margin:12px 0 0;padding-left:20px;color:var(--text2);list-style:disc}.terms li{margin:8px 0}
.transparency{margin-top:28px;padding:24px 26px;border-left:4px solid var(--accent);background:var(--surface);border-radius:0 var(--r) var(--r) 0;border-top:1px solid var(--stroke);border-right:1px solid var(--stroke);border-bottom:1px solid var(--stroke)}
.transparency h3{margin-bottom:8px}.transparency p{color:var(--text2)}.transparency p+p{margin-top:10px}
.qas{display:grid;gap:10px}
.qa{background:var(--surface);border:1px solid var(--stroke);border-radius:16px}
.qa[open]{border-color:var(--stroke-2)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:12px 20px;font-weight:650;line-height:1.35}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";flex:none;width:.6rem;height:.6rem;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg);transition:transform .2s;margin-top:-4px}
.qa[open] summary::after{transform:rotate(-135deg);margin-top:4px}
.qa p{padding:0 20px 20px;color:var(--text2)}
.faq-more{margin-top:24px}
.final-card{text-align:center;padding:56px 24px;border-radius:32px;border:1px solid var(--stroke);background:radial-gradient(70% 90% at 50% 0%,var(--glow),transparent 70%),var(--surface);box-shadow:var(--shadow)}
.final-card p{max-width:36rem;margin:14px auto 28px;color:var(--text2)}

/* ---------- Pied de page ---------- */
.foot{padding:40px 0 56px;border-top:1px solid var(--stroke);color:var(--text2);font-size:.92rem}
.foot .disclaimer{max-width:46rem}
.foot-links{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:14px}
.foot-links a{display:inline-flex;align-items:center;min-height:44px;padding-right:14px;font-weight:600}
.copy{font-size:.8rem;color:var(--text3);margin-top:6px}

/* ---------- Pages de confidentialité ---------- */
.legal{padding:40px 0 72px}
.legal h1{font-size:clamp(1.8rem,1.2rem + 2vw,2.5rem);margin-bottom:8px}
.legal h2{font-size:1.2rem;margin:36px 0 10px;padding-top:20px;border-top:1px solid var(--stroke);letter-spacing:-.005em}
.legal p,.legal li{color:var(--text2)}
.legal p{margin-top:10px}
.legal ul{list-style:disc;padding-left:1.3rem;margin-top:10px;display:grid;gap:6px}
.legal .muted{color:var(--text3);font-size:.92rem}
.legal .card{margin-top:18px;padding:16px 20px;border-radius:14px;box-shadow:none;color:var(--text2)}
.legal .card strong{color:var(--text)}
.legal code{font:.88em var(--mono);background:var(--raised);padding:.1rem .35rem;border-radius:5px;color:var(--text)}
.legal table{border-collapse:collapse;width:100%;font-size:.93rem;margin-top:10px}
.legal th,.legal td{border-bottom:1px solid var(--stroke);padding:8px 10px;text-align:left;vertical-align:top;color:var(--text2)}
.legal th{color:var(--text)}
.legal .scroll{overflow-x:auto}

/* ---------- Écrans « porte » (index, 404) ---------- */
.gate{min-height:100vh;display:grid;place-items:center}
.gate-main{width:min(100%,560px);text-align:center;padding:40px 20px}
.gate-main img{margin:0 auto 20px;border-radius:16px}
.gate-main h1{font-size:clamp(1.8rem,1rem + 3vw,2.6rem)}
.gate-langs,.nf-list{display:grid;gap:10px;margin-top:24px;justify-items:center}
.gate-langs a{display:inline-flex;align-items:center;min-height:48px;padding:0 24px;border:1px solid var(--stroke);background:var(--surface);border-radius:14px;font-weight:600;text-decoration:none}
.nf-list{max-width:34rem;text-align:left}
.nf-list li{padding:10px 0;border-top:1px solid var(--stroke);color:var(--text2)}

/* ---------- Apparition au défilement, parallaxe ---------- */
@media (prefers-reduced-motion:no-preference){
  .js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
  .js .reveal.in{opacity:1;transform:none}
  .js .reveal.in.pillar:hover{transform:translateY(-3px)}
  [data-parallax]{will-change:transform}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* Icône de l'app : rappel visuel (hero et appel à l'action final) */
.app-icon{display:block;border-radius:22.5%;margin:0 0 22px;box-shadow:0 12px 32px rgba(7,12,23,.30),0 0 0 1px rgba(255,255,255,.10)}
.app-icon-lg{margin:0 auto 24px}

.gate-desc{max-width:34rem;margin:12px auto 0;color:var(--text2);text-align:center}
