
/* =========================================================
   POLICES AUTO-HÉBERGÉES (assets/fonts/) — plus aucun appel à Google Fonts.
   Fichiers woff2 identiques à ceux servis par Google (Bricolage Grotesque v9,
   DM Sans v17, JetBrains Mono v24, Mrs Saint Delafield v14), sous-ensembles
   latin + latin-ext uniquement (site FR/EN). Le navigateur ne télécharge
   un fichier que si la page affiche un caractère de sa plage unicode-range.
   Mrs Saint Delafield : sous-ensemble réduit aux lettres de la signature « Alex ».
   ========================================================= */
/* Bricolage Grotesque — titres (variable 500 à 800) */
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:500 800;font-stretch:100%;font-display:swap;src:url('fonts/bricolage-grotesque-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:500 800;font-stretch:100%;font-display:swap;src:url('fonts/bricolage-grotesque-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* DM Sans — texte courant (variable 400 à 700) */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/dm-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/dm-sans-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* JetBrains Mono — chiffres techniques (400 et 500 : Google sert le même fichier variable) */
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 500;font-display:swap;src:url('fonts/jetbrains-mono-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 500;font-display:swap;src:url('fonts/jetbrains-mono-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Mrs Saint Delafield — signature manuscrite « Alex » (glyphes A, e, l, x et espace) */
@font-face{font-family:'Mrs Saint Delafield';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/mrs-saint-delafield-alex.woff2') format('woff2');unicode-range:U+20,U+41,U+65,U+6C,U+78}

/* =========================================================
   MY HOME IT — Direction artistique « Palace de nuit »
   Bleu nuit + or · bleu électrique réservé à la tech
   ========================================================= */
:root{
  color-scheme: dark;
  --night:#0A1330;       /* fond principal */
  --night-2:#0D1839;     /* sections alternées */
  --night-3:#121F48;     /* surfaces */
  --deep:#060C22;        /* plus profond */
  --line:rgba(170,190,255,.10);
  --line-2:rgba(170,190,255,.18);
  --ink:#F3F0E8;
  --ink-2:#C9CEDE;
  --muted:#8E9AC0;
  --gold:#D4AF6A;
  --gold-hi:#F0D59C;
  --gold-deep:#9C7A3C;
  --blue:#4C8DFF;
  --blue-hi:#8CB4FF;
  --mint:#5FD9A6;
  --amber:#F2B84B;
  /* Typographie : Bricolage Grotesque (titres) + DM Sans (texte) */
  --serif:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;
  --sans:"DM Sans", "Segoe UI", system-ui, sans-serif;
  --it:normal;
  --dw:700;
  --dw2:500;
  --ls:-.045em;
  --fs:100%;
  --mono:"JetBrains Mono", ui-monospace, Consolas, monospace;
  --script:"Mrs Saint Delafield", "Brush Script MT", cursive;
  --wrap:1280px;
  --ease:cubic-bezier(.2,.8,.2,1);
  --ease-io:cubic-bezier(.7,0,.2,1);
}
*{box-sizing:border-box}
html{background:var(--night)}
body{margin:0;background:var(--night);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}
img{max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
::selection{background:var(--gold);color:var(--night)}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:clamp(16px,4vw,56px)}
h1,h2,h3{margin:0;font-weight:400;text-wrap:balance}
p{margin:0}
section{position:relative}
.block{padding-block:clamp(90px,12vw,170px)}

/* --- Typo --- */
.display{font-family:var(--serif);font-weight:400;line-height:.95;letter-spacing:-.02em}
.h2{font-family:var(--serif);font-size:clamp(2.875rem,6.6vw,6.5rem);line-height:.95;letter-spacing:-.025em}
.gold-it{font-style:var(--it);background:linear-gradient(100deg,var(--gold) 0%,var(--gold-hi) 25%,var(--gold) 50%,var(--gold-hi) 75%,var(--gold) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 8s linear infinite;padding-right:.06em}
.blue-it{font-style:var(--it);background:linear-gradient(100deg,var(--blue) 0%,var(--blue-hi) 30%,#C9DBFF 50%,var(--blue-hi) 70%,var(--blue) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 8s linear infinite;padding-right:.06em}
@keyframes shimmer{to{background-position:-200% 0}}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:.875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
/* « En clair, en 5 lignes » (accueil) : l'essentiel en mots simples, près du haut de page */
.en-clair{margin-top:22px;padding:18px 20px;max-width:860px;border:1px solid var(--line-2);border-radius:20px;background:rgba(6,12,34,.35)}
.en-clair-t{margin:0 0 10px;font-family:var(--serif);font-weight:700;font-size:1.25rem;letter-spacing:-.02em;color:var(--ink)}
.en-clair ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.en-clair li{font-size:1rem;line-height:1.55;color:var(--ink-2)}
.en-clair b{color:var(--ink);font-weight:600}
.en-clair a{color:var(--gold-hi);text-underline-offset:3px}
.eyebrow::before{content:"";width:28px;height:1px;background:linear-gradient(90deg,transparent,currentColor)}
.eyebrow.blue{color:var(--blue-hi)}
.lead{font-size:clamp(1.0625rem,1.45vw,1.21875rem);color:var(--muted);max-width:54ch;font-weight:400;line-height:1.7}
.lead b{color:var(--ink-2);font-weight:600}
.mono{font-family:var(--mono)}

/* --- Grain + progression --- */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:300;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.progress{position:fixed;top:0;left:0;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--gold-deep),var(--gold-hi),var(--gold));z-index:160;box-shadow:0 0 12px rgba(240,213,156,.6)}



/* --- Boutons --- */
.btn{--mx:0px;--my:0px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-family:var(--sans);font-weight:600;letter-spacing:.01em;font-size:.96875rem;padding:17px 28px;border-radius:100px;border:1px solid transparent;text-decoration:none;cursor:pointer;transform:translate(var(--mx),var(--my));transition:transform .35s var(--ease),background .3s,color .3s,border-color .3s,box-shadow .3s;overflow:hidden;isolation:isolate;white-space:nowrap}
.btn .arr{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;margin-right:-12px;transition:transform .4s var(--ease)}
.btn:hover .arr{transform:rotate(-45deg)}
.btn-gold{background:linear-gradient(135deg,var(--gold-hi),var(--gold) 55%,var(--gold-deep));color:#1A1405;box-shadow:0 10px 30px -10px rgba(212,175,106,.55),inset 0 1px 0 rgba(255,255,255,.4)}
.btn-gold .arr{background:#1A1405;color:var(--gold-hi)}
.btn-gold::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .7s var(--ease);z-index:-1}
.btn-gold:hover::after{left:130%}
.btn-gold:hover{box-shadow:0 16px 40px -10px rgba(212,175,106,.75),inset 0 1px 0 rgba(255,255,255,.4)}
.btn-ghost{border-color:var(--line-2);color:var(--ink);background:rgba(255,255,255,.02);backdrop-filter:blur(6px)}
.btn-ghost .arr{background:rgba(255,255,255,.06)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-hi)}
.btn-blue{background:linear-gradient(135deg,#2F6FE0,#2563D9 60%,#1E54BF);color:#fff;box-shadow:0 10px 30px -10px rgba(76,141,255,.6),inset 0 1px 0 rgba(255,255,255,.35)}
.btn-blue .arr{background:rgba(6,12,34,.35)}
.btn-sm{padding:11px 18px;font-size:.875rem}
.btn-sm .arr{width:22px;height:22px;margin-right:-8px}

/* --- Nav --- */
.nav{position:fixed;top:calc(env(safe-area-inset-top,0px) + 14px);left:0;right:0;z-index:150;pointer-events:none;transition:transform .5s var(--ease)}
.nav.hide{transform:translateY(-130%)}
.nav.hide:focus-within{transform:none}
[tabindex="-1"]:focus{outline:none}
html{scroll-padding-top:96px}
@media (max-width:760px){html{scroll-padding-bottom:96px}}
.skip{position:fixed;left:16px;top:16px;z-index:400;padding:12px 18px;border-radius:100px;background:var(--gold);color:#1A1405;font-weight:600;text-decoration:none;transform:translateY(-200%)}
.skip:focus{transform:none}
.nav .wrap{display:flex;justify-content:center}
.nav-pill{pointer-events:auto;width:100%;max-width:1040px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 8px 8px 22px;border-radius:100px;background:rgba(10,19,48,.55);border:1px solid var(--line);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);box-shadow:0 20px 50px -20px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.05)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--serif);font-size:1.4375rem;letter-spacing:-.01em;white-space:nowrap}
.logo i{font-style:var(--it);color:var(--gold-hi)}
.logo svg{width:26px;height:26px}
.menu{display:flex;gap:4px;font-size:.90625rem}
.menu a{text-decoration:none;color:var(--muted);padding:8px 14px;border-radius:100px;transition:color .25s,background .25s}
.menu a:hover{color:var(--ink)}
.menu a.on{color:var(--ink);background:rgba(255,255,255,.06)}
@media (max-width:980px){.menu{display:none}}

/* =================== HERO =================== */
.hero{min-height:min(100svh,1000px);display:flex;align-items:center;padding-block:140px 90px;overflow:hidden;isolation:isolate}
.sky{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.moon{position:absolute;right:-8vw;top:-14vw;width:52vw;max-width:760px;aspect-ratio:1;border-radius:50%;z-index:-1;background:radial-gradient(circle at 40% 40%,rgba(240,213,156,.22),rgba(212,175,106,.08) 40%,transparent 68%);filter:blur(10px);pointer-events:none}
.horizon{position:absolute;left:0;right:0;bottom:0;height:40%;z-index:-1;background:linear-gradient(180deg,transparent,rgba(6,12,34,.9));pointer-events:none}
.hero .wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(30px,5vw,80px);align-items:center;width:100%}
@media (max-width:1020px){.hero .wrap{grid-template-columns:1fr}}
.hero h1{font-family:var(--serif);font-size:clamp(3.75rem,9.4vw,9.875rem);line-height:.9;letter-spacing:-.035em;margin-block:26px 30px}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.hero h1 .ln > span{display:inline-block}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:40px}
.proof{display:flex;align-items:center;gap:18px;margin-top:44px;flex-wrap:wrap}
.proof-plat{display:flex;gap:18px;font-family:var(--mono);font-size:.71875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.proof-sep{width:1px;height:28px;background:var(--line-2)}
.proof .chip{display:inline-flex;align-items:center;gap:8px;font-size:.84375rem;color:var(--ink-2)}
.led{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px rgba(95,217,166,.15),0 0 12px var(--mint);animation:blink 2.2s infinite}
@keyframes blink{50%{opacity:.35}}
.scroll-cue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);display:grid;justify-items:center;gap:10px;font-family:var(--mono);font-size:.625rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.scroll-cue span{width:1px;height:44px;background:var(--line-2);position:relative;overflow:hidden}
.scroll-cue span::after{content:"";position:absolute;left:0;top:-50%;width:100%;height:50%;background:var(--gold-hi);animation:drip 2s var(--ease-io) infinite}
@keyframes drip{from{transform:translateY(0)}to{transform:translateY(320%)}}
@media (max-width:1020px){.scroll-cue{display:none}}

/* Téléphone */
.phone-wrap{position:relative;justify-self:center;perspective:1400px}
.phone{position:relative;width:min(318px,76vw);aspect-ratio:9/19.3;max-width:100%;border-radius:50px;padding:11px;background:linear-gradient(150deg,#39456B,#141C3A 40%,#0B1128);box-shadow:0 0 0 1px rgba(255,255,255,.1),inset 0 0 0 1px rgba(255,255,255,.06),0 70px 120px -30px rgba(0,0,0,.85),0 0 90px -20px rgba(212,175,106,.35);transform:rotateY(-16deg) rotateX(7deg) rotateZ(1deg);transition:transform .8s var(--ease)}
.phone:hover{transform:rotateY(-5deg) rotateX(2deg)}
.phone::before{content:"";position:absolute;right:-3px;top:22%;width:3px;height:60px;border-radius:0 3px 3px 0;background:#2A3458}
.screen{position:relative;height:100%;border-radius:40px;overflow:hidden;background:radial-gradient(90% 55% at 70% 8%,rgba(240,213,156,.35),transparent 60%),radial-gradient(120% 90% at 20% 110%,#1E3A7A,transparent 60%),linear-gradient(180deg,#0B1636,#0A1330 60%,#101E4A)}
.screen::before{content:"";position:absolute;top:11px;left:50%;transform:translateX(-50%);width:96px;height:28px;border-radius:20px;background:#000;z-index:3}
.screen .glare{position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.08) 0%,transparent 35%);pointer-events:none;z-index:4}
.lock-date{text-align:center;padding-top:62px;font-size:13px;color:rgba(243,240,232,.75);font-weight:500;text-transform:capitalize}
.clock{text-align:center;font-family:var(--sans);font-weight:300;font-size:76px;line-height:1;letter-spacing:-.03em;margin-top:2px;font-variant-numeric:tabular-nums}
.notifs{position:absolute;left:10px;right:10px;top:196px;display:grid;gap:8px}
.notif{display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:center;padding:11px 12px;border-radius:20px;background:rgba(210,220,255,.12);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);font-size:12.3px;line-height:1.32;animation:notifIn .7s var(--ease) both}
.notif .ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-weight:700;font-size:13px;color:#fff}
.notif b{display:flex;justify-content:space-between;font-weight:600;font-size:12.3px}
.notif b small{font-weight:400;color:rgba(243,240,232,.55)}
.notif > span:last-child > span{color:rgba(243,240,232,.86)}
@keyframes notifIn{from{opacity:0;transform:translateY(-22px) scale(.92);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.home-bar{position:absolute;bottom:9px;left:50%;transform:translateX(-50%);width:110px;height:4px;border-radius:4px;background:rgba(255,255,255,.5)}
.ftag{position:absolute;padding:12px 16px;border-radius:16px;background:rgba(18,31,72,.75);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line-2);font-size:.78125rem;color:var(--ink-2);box-shadow:0 24px 50px -18px rgba(0,0,0,.7);animation:bob 6s ease-in-out infinite;white-space:nowrap;line-height:1.3}
.ftag strong{display:block;font-family:var(--serif);font-size:2rem;line-height:1;color:var(--gold-hi);font-weight:400;margin-bottom:2px}
.ftag.t1{left:-60px;top:20%}
.ftag.t2{right:-44px;bottom:16%;animation-delay:-3s}
.ftag.t2 strong{color:var(--blue-hi)}
@keyframes bob{50%{transform:translateY(-12px)}}
@media (max-width:560px){.ftag.t1{left:-4px;top:8%}.ftag.t2{right:-4px}}

/* =================== MARQUEE =================== */
.marquee{position:relative;overflow:hidden;padding-block:26px;border-block:1px solid var(--line);background:var(--deep);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.mq-track{display:flex;width:max-content;animation:mq 40s linear infinite}
.mq-track span{display:flex;align-items:center;gap:40px;padding-right:40px;font-family:var(--serif);font-size:clamp(1.75rem,3.2vw,2.75rem);white-space:nowrap;color:var(--ink-2)}
.mq-track span i{font-style:var(--it);color:var(--gold-hi)}
.mq-track span svg{width:18px;height:18px;flex:none}
.marquee:hover .mq-track{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}

/* =================== STATS =================== */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent)}
@media (max-width:900px){.stats{grid-template-columns:1fr 1fr}}
.stat{padding:clamp(24px,3vw,40px);display:grid;gap:10px;align-content:start;position:relative}
.stat + .stat{border-left:1px solid var(--line)}
@media (max-width:900px){.stat:nth-child(3){border-left:none}.stat:nth-child(n+3){border-top:1px solid var(--line)}}
.stat .k{font-family:var(--mono);font-size:.65625rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.stat strong{font-family:var(--serif);font-weight:400;font-size:clamp(3.375rem,6vw,5.75rem);line-height:.9;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.stat strong em{font-style:var(--it);font-size:.45em;color:var(--gold-hi);margin-left:6px;letter-spacing:0}
.stat > span{color:var(--muted);font-size:.90625rem;line-height:1.5}
.stat strong .count{font:inherit;color:var(--ink)}
.stat strong{white-space:nowrap;font-size:clamp(2.875rem,5vw,5.25rem)}
.stat strong em{font-size:.4em}

/* =================== UNE NUIT =================== */
.night{overflow:hidden;background:var(--night)}
.dawn{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 0%,rgba(84,62,120,.25) 60%,rgba(212,140,90,.28) 100%);opacity:0}
.night-head{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end;margin-bottom:clamp(60px,7vw,100px)}
@media (max-width:900px){.night-head{grid-template-columns:1fr}}
.tl{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:18px;padding-block:130px}
.tl-axis{position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line-2)}
.tl-axis i{position:absolute;inset:0;background:linear-gradient(90deg,var(--gold-deep),var(--gold-hi));transform-origin:0 50%;box-shadow:0 0 12px rgba(240,213,156,.5)}
.tl-axis .sun{position:absolute;right:-6px;top:-6px;width:13px;height:13px;border-radius:50%;background:var(--gold-hi);box-shadow:0 0 20px var(--gold-hi)}
.ev{position:relative;display:flex;flex-direction:column}
.ev .dotx{position:absolute;left:0;top:50%;width:13px;height:13px;margin-top:-6.5px;border-radius:50%;background:var(--night);border:2px solid var(--gold);z-index:1}
.ev.blue .dotx{border-color:var(--blue)}
.ev-card{padding:18px 18px 20px;border-radius:18px;background:rgba(18,31,72,.55);border:1px solid var(--line);backdrop-filter:blur(8px);display:grid;gap:8px;transition:border-color .3s,transform .4s var(--ease)}
.ev-card:hover{border-color:var(--line-2);transform:translateY(-4px)}
.ev:nth-child(odd) .ev-card{position:absolute;bottom:calc(50% + 26px);left:0;right:0}
.ev:nth-child(even) .ev-card{position:absolute;top:calc(50% + 26px);left:0;right:0}
.tl{min-height:560px}
.ev time{font-family:var(--serif);font-size:2.125rem;line-height:1;color:var(--gold-hi)}
.ev.blue time{color:var(--blue-hi)}
.ev b{font-weight:600;font-size:.90625rem;line-height:1.35}
.ev p{color:var(--muted);font-size:.84375rem;line-height:1.5}
.ev .who{font-family:var(--mono);font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
@media (max-width:1000px){
  .tl{grid-template-columns:1fr;padding-block:0;min-height:0;gap:14px;padding-left:34px}
  .tl-axis{left:6px;right:auto;top:0;bottom:0;width:1px;height:auto}
  .tl-axis i{transform-origin:50% 0}
  .tl-axis .sun{right:auto;left:-6px;top:auto;bottom:-6px}
  .ev .dotx{left:-34px;top:26px;margin-top:0}
  .ev:nth-child(odd) .ev-card,.ev:nth-child(even) .ev-card{position:static}
}

/* =================== FORMULES =================== */
.sec-head{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:end;margin-bottom:clamp(50px,6vw,90px)}
.sec-head > div{display:grid;gap:24px}
@media (max-width:900px){.sec-head{grid-template-columns:1fr}}
.offers{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
@media (max-width:920px){.offers{grid-template-columns:1fr}}
@property --ang{syntax:"<angle>";inherits:false;initial-value:0deg}
.offer{position:relative;border-radius:34px;padding:1px;background:var(--line-2);transition:transform .5s var(--ease)}
.offer.hot{background:conic-gradient(from var(--ang),rgba(212,175,106,.15),var(--gold-hi) 8%,rgba(212,175,106,.15) 20%,rgba(212,175,106,.15) 50%,var(--gold) 58%,rgba(212,175,106,.15) 70%);animation:spin 7s linear infinite;box-shadow:0 40px 100px -40px rgba(212,175,106,.35)}
@keyframes spin{to{--ang:360deg}}
.offer-in{position:relative;height:100%;border-radius:33px;background:linear-gradient(180deg,#13214C,#0D1839 60%);padding:clamp(28px,3.8vw,52px);display:flex;flex-direction:column;gap:24px;overflow:hidden}
.offer:not(.hot) .offer-in{background:linear-gradient(180deg,#101C42,#0B1535)}
.offer-in::before{content:"";position:absolute;inset:0;background:radial-gradient(500px circle at var(--gx,50%) var(--gy,-10%),rgba(240,213,156,.13),transparent 55%);pointer-events:none;transition:opacity .3s}
.offer-in > *{position:relative}
.offer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.tag{font-family:var(--mono);font-size:.65625rem;letter-spacing:.16em;text-transform:uppercase;padding:8px 13px;border-radius:100px;border:1px solid var(--line-2);color:var(--muted);white-space:nowrap}
.offer.hot .tag{border-color:rgba(240,213,156,.5);color:var(--gold-hi);background:rgba(212,175,106,.1)}
.seal{width:64px;height:64px;flex:none}
.seal text{font-family:var(--mono);font-size:7.2px;letter-spacing:2.1px;fill:var(--gold);text-transform:uppercase}
.seal .rot{transform-origin:32px 32px;animation:turn 16s linear infinite}
@keyframes turn{to{transform:rotate(360deg)}}
.pct{font-family:var(--serif);font-size:clamp(7.5rem,14vw,12.5rem);line-height:.78;letter-spacing:-.05em;background:linear-gradient(180deg,#FFF1CF 0%,var(--gold-hi) 25%,var(--gold) 60%,var(--gold-deep) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;display:flex;align-items:flex-start}
.pct small{font-size:.38em;font-style:var(--it);margin:.12em 0 0 .06em;letter-spacing:0}
.offer:not(.hot) .pct{background:linear-gradient(180deg,#E9ECF6,#A9B3D1 70%,#6F7BA3);-webkit-background-clip:text;background-clip:text}
.offer h3{font-family:var(--serif);font-size:clamp(2.125rem,3.4vw,3.125rem);line-height:1;letter-spacing:-.02em}
.offer .sub{color:var(--muted);font-size:.96875rem;margin-top:-10px}
.offer ul{list-style:none;padding:0;margin:0;display:grid;gap:0}
.offer li{display:grid;grid-template-columns:26px 1fr;gap:10px;font-size:.96875rem;color:var(--ink-2);padding:12px 0;border-top:1px solid var(--line)}
.offer li::before{content:"";width:20px;height:20px;margin-top:2px;border-radius:50%;background:rgba(212,175,106,.14) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M4 8.4l2.6 2.6L12 5.6' fill='none' stroke='%23F0D59C' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/13px no-repeat}
.offer:not(.hot) li::before{background-color:rgba(170,190,255,.1);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M4 8.4l2.6 2.6L12 5.6' fill='none' stroke='%23C9CEDE' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/></svg>")}
.fine{font-size:.8125rem;color:var(--muted);line-height:1.55;padding:14px 16px;border-radius:14px;background:rgba(212,175,106,.06);border:1px solid rgba(212,175,106,.18)}
.offer .btn{margin-top:auto;align-self:flex-start}

.compare-wrap{overflow-x:auto;margin-top:24px;border:1px solid var(--line);border-radius:26px;background:rgba(13,24,57,.6)}
.compare{width:100%;min-width:680px;border-collapse:collapse;font-size:.9375rem}
.compare th,.compare td{text-align:left;padding:17px 26px;border-top:1px solid var(--line);vertical-align:top}
.compare thead th{border-top:none;font-family:var(--mono);font-size:.65625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:500;padding-top:24px}
.compare thead th:nth-child(2){color:var(--gold-hi)}
.compare tbody th{font-weight:600;white-space:nowrap;color:var(--ink)}
.compare td{color:var(--muted)}
.compare td b{color:var(--ink);font-weight:600}
.compare td:nth-child(2){background:rgba(212,175,106,.035)}
.compare tr{transition:background .2s}
.compare tbody tr:hover{background:rgba(255,255,255,.02)}

.duo{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
@media (max-width:920px){.duo{grid-template-columns:1fr}}
.band{position:relative;border-radius:28px;padding:clamp(26px,3vw,38px);display:grid;grid-template-columns:auto 1fr;gap:10px 24px;align-items:start;overflow:hidden;border:1px solid var(--line)}
.band .ico{grid-row:span 3;width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.04);border:1px solid var(--line-2)}
.band .ico svg{width:30px;height:30px;stroke:var(--ink-2);fill:none;stroke-width:1.3}
.band h3{font-family:var(--serif);font-size:2rem;line-height:1.05}
.band p{color:var(--muted);font-size:.9375rem}
.band .btn{justify-self:start;margin-top:8px}
.band.gold{border-color:rgba(212,175,106,.45);background:radial-gradient(500px circle at 0% 0%,rgba(212,175,106,.16),transparent 60%),rgba(13,24,57,.6)}
.band.gold .ico{background:rgba(212,175,106,.14);border-color:rgba(212,175,106,.4)}
.band.gold .ico span{font-family:var(--serif);font-size:1.5rem;color:var(--gold-hi)}
@media (max-width:520px){.band{grid-template-columns:1fr}.band .ico{grid-row:auto}}

/* =================== SERVICES horizontal =================== */
.hs{background:var(--deep);border-block:1px solid var(--line);overflow:hidden}
.hs-head{padding-block:clamp(100px,11vh,130px) 40px}
.hs-track{display:flex;gap:24px;padding-inline:clamp(16px,4vw,56px);padding-bottom:clamp(50px,7vh,90px);width:max-content}
.panel{position:relative;width:min(430px,82vw);height:min(500px,58vh);min-height:400px;border-radius:30px;border:1px solid var(--line);background:linear-gradient(180deg,#0F1B42,#0A1330);padding:30px;display:flex;flex-direction:column;overflow:hidden;transition:border-color .4s}
.panel:hover{border-color:rgba(212,175,106,.4)}
.panel::after{content:"";position:absolute;inset:auto -30% -60% -30%;height:80%;background:radial-gradient(closest-side,rgba(212,175,106,.12),transparent);opacity:0;transition:opacity .5s;pointer-events:none}
.panel:hover::after{opacity:1}
.panel .n{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.panel .n span:last-child{color:var(--muted)}
.illu{flex:1;display:grid;place-items:center;min-height:0}
.illu svg{width:78%;max-height:100%;overflow:visible}
.draw [pathLength]{fill:none;stroke:var(--gold);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.draw .soft{stroke:rgba(170,190,255,.35)}
.draw .fillg{fill:rgba(212,175,106,.12);stroke:none}
.panel h3{font-family:var(--serif);font-size:2.5rem;line-height:1;letter-spacing:-.02em}
.panel p{color:var(--muted);font-size:.9375rem;margin-top:10px}
@media (max-width:760px){.hs-track{width:auto;flex-direction:column}.panel{width:100%;height:auto;min-height:420px}}

/* =================== SÉCURITÉ =================== */
.secu{background:var(--night)}
.secu::before{content:"";position:absolute;left:-10%;top:10%;width:60%;height:70%;background:radial-gradient(closest-side,rgba(76,141,255,.12),transparent);pointer-events:none}
.secu .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,90px);align-items:center}
@media (max-width:1020px){.secu .wrap{grid-template-columns:1fr}}
.feat{list-style:none;padding:0;margin:36px 0 0;display:grid}
.feat li{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:18px 0;border-top:1px solid var(--line)}
.feat li:last-child{border-bottom:1px solid var(--line)}
.feat .fi{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(76,141,255,.1);border:1px solid rgba(76,141,255,.3)}
.feat .fi svg{width:20px;height:20px;stroke:var(--blue-hi);fill:none;stroke-width:1.5}
.feat b{display:block;font-weight:600;font-size:1.03125rem}
.feat span{color:var(--muted);font-size:.90625rem}
.plan-card{position:relative;border-radius:32px;border:1px solid var(--line-2);background:linear-gradient(180deg,#0E1A40,#081130);padding:clamp(18px,2.4vw,28px);box-shadow:0 50px 120px -40px rgba(76,141,255,.35);overflow:hidden}
.plan-top{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:.65625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.live{display:inline-flex;align-items:center;gap:8px;color:var(--mint)}
.live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px var(--mint);animation:blink 1.6s infinite}
.plan svg{width:100%;height:auto;display:block}
.plan .wall{fill:none;stroke:rgba(170,190,255,.45);stroke-width:2.2}
.plan .inner{fill:none;stroke:rgba(170,190,255,.22);stroke-width:1.4}
.plan .room{font-family:var(--mono);font-size:8.5px;letter-spacing:1.4px;fill:rgba(170,190,255,.45);text-transform:uppercase}
.plan .furn{fill:rgba(170,190,255,.05);stroke:rgba(170,190,255,.16);stroke-width:1}
.sensor circle.core{fill:var(--blue)}
.sensor circle.ring{fill:none;stroke:var(--blue);stroke-width:1.2;transform-box:fill-box;transform-origin:center;animation:ping 2.6s var(--ease) infinite}
.sensor.ok circle.core{fill:var(--mint)}
.sensor.ok circle.ring{stroke:var(--mint)}
.sensor.alarm circle.core{fill:var(--amber)}
.sensor.alarm circle.ring{stroke:var(--amber);animation-duration:1s}
@keyframes ping{0%{transform:scale(.6);opacity:1}100%{transform:scale(2.6);opacity:0}}
.sensor text{font-family:var(--sans);font-size:9px;font-weight:600;fill:var(--ink)}
.wave{fill:none;stroke:var(--amber);stroke-width:1.4;opacity:0;transition:opacity .3s}
.plan-card.loud .wave{opacity:.9}
.meter{position:absolute;right:clamp(14px,2vw,24px);bottom:clamp(14px,2vw,24px);width:min(250px,48%);padding:16px;border-radius:20px;background:rgba(10,19,48,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line-2);display:grid;gap:10px}
.meter .k{font-family:var(--mono);font-size:.59375rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between}
.db{font-family:var(--serif);font-size:3.25rem;line-height:.85;font-variant-numeric:tabular-nums;transition:color .3s}
.db small{font-family:var(--mono);font-size:.75rem;color:var(--muted);margin-left:6px}
.eq{display:flex;align-items:flex-end;gap:3px;height:38px;contain:strict}
.eq span{flex:1;border-radius:2px;background:var(--mint);transition:height .35s var(--ease),background .35s}
.alert{font-size:.75rem;line-height:1.4;color:#FFD58A;padding:9px 11px;border-radius:12px;background:rgba(242,184,75,.12);border:1px solid rgba(242,184,75,.35);transition:opacity .35s,transform .35s var(--ease)}
.alert.idle{opacity:.001;transform:translateY(6px)}
@media (max-width:620px){.meter{position:relative;right:auto;bottom:auto;width:100%;margin-top:14px}}

/* =================== ALFRED =================== */
.alfred{background:var(--deep);border-block:1px solid var(--line);overflow:hidden}
.alfred::before{content:"";position:absolute;left:50%;top:-240px;width:1100px;height:700px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(76,141,255,.22),transparent);pointer-events:none}
.alfred .grid-lines{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(140,180,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(140,180,255,.05) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at 50% 20%,#000 10%,transparent 60%);-webkit-mask-image:radial-gradient(ellipse at 50% 20%,#000 10%,transparent 60%)}
.alfred-hero{display:grid;justify-items:center;text-align:center;gap:24px;max-width:900px;margin:0 auto}
.badge{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:.65625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);border:1px solid rgba(242,184,75,.4);border-radius:100px;padding:8px 15px;background:rgba(242,184,75,.06)}
.badge::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--amber);animation:blink 1.6s infinite}
.alfred-hero .lead{text-align:center;margin-inline:auto}
.app-stage{position:relative;margin-top:clamp(50px,6vw,80px);perspective:1800px}
.app{max-width:1060px;margin:0 auto;border-radius:22px;border:1px solid rgba(140,180,255,.18);background:#0B1022;overflow:hidden;box-shadow:0 60px 140px -40px rgba(76,141,255,.55),0 0 0 1px rgba(255,255,255,.03) inset;font-size:.8125rem;transform:rotateX(18deg) scale(.94);transform-origin:50% 0}
.app-bar{display:flex;align-items:center;gap:7px;padding:13px 16px;border-bottom:1px solid #1C2440;color:#6A7596;font-family:var(--mono);font-size:.71875rem}
.app-bar i{width:10px;height:10px;border-radius:50%;background:#232C4A}
.app-bar .url{margin:0 auto;padding:5px 14px;border-radius:8px;background:#121833;color:#8591B5}
.app-body{display:grid;grid-template-columns:190px 1fr 280px;min-height:400px}
@media (max-width:980px){.app-body{grid-template-columns:170px 1fr}.app-body > .app-right{display:none}}
@media (max-width:620px){.app-body{grid-template-columns:1fr}.app-body > .app-side{display:none}}
.app-side{border-right:1px solid #1A2140;padding:14px 10px;display:grid;align-content:start;gap:2px;color:#9AA4C3}
.app-side .brand{font-family:var(--serif);font-size:1.25rem;color:#EEF2F6;padding:2px 10px 12px}
.app-side .brand i{color:var(--blue-hi)}
.app-side span{padding:7px 10px;border-radius:8px;display:flex;justify-content:space-between}
.app-side span em{font-style:normal;font-size:.65625rem;padding:1px 7px;border-radius:10px;background:rgba(76,141,255,.2);color:var(--blue-hi)}
.app-side span.on{background:linear-gradient(90deg,rgba(76,141,255,.2),rgba(76,141,255,.05));color:#EEF2F6;box-shadow:inset 2px 0 0 var(--blue)}
.app-side small{font-family:var(--mono);font-size:.59375rem;color:#56607F;letter-spacing:.12em;text-transform:uppercase;padding:12px 10px 4px}
.app-main{padding:18px;display:grid;gap:14px;align-content:start}
.app-hello{display:flex;justify-content:space-between;align-items:center}
.app-hello b{font-size:1.0625rem;color:#EEF2F6;font-weight:600}
.app-hello span{font-size:.75rem;color:#6A7596}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media (max-width:620px){.kpis{grid-template-columns:1fr 1fr}}
.kpi{background:#11172E;border:1px solid #1C2440;border-radius:12px;padding:12px}
.kpi small{display:block;color:#6A7596;font-size:.6875rem}
.kpi b{font-size:1.3125rem;font-weight:600;font-variant-numeric:tabular-nums;color:#EEF2F6}
.kpi em{font-style:normal;font-size:.6875rem;color:#3FB950;margin-left:4px}
.chart{background:#11172E;border:1px solid #1C2440;border-radius:12px;padding:12px 12px 8px}
.chart .ct{display:flex;justify-content:space-between;font-size:.71875rem;color:#6A7596;margin-bottom:6px}
.chart svg{width:100%;height:110px;display:block}
.chart text{font-family:var(--mono);font-size:8px;fill:#56607F}
.app-right{border-left:1px solid #1A2140;padding:18px 14px;display:grid;align-content:start;gap:10px}
.app-right .ttl{font-size:.75rem;color:#6A7596;display:flex;justify-content:space-between}
.feed{display:grid;gap:8px}
.feed div{display:grid;grid-template-columns:8px 1fr;gap:10px;padding:10px;border-radius:10px;background:#11172E;border:1px solid #1C2440;color:#C6CCE0;font-size:.75rem;line-height:1.35;animation:notifIn .6s var(--ease) both}
.feed div small{display:block;color:#56607F;font-size:.65625rem;margin-top:2px}
.dot{width:8px;height:8px;border-radius:50%;margin-top:4px}

.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(210px,auto);gap:16px;margin-top:clamp(70px,8vw,120px)}
@media (max-width:1000px){.bento{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.bento{grid-template-columns:1fr}}
.bx{position:relative;border-radius:24px;border:1px solid #18203D;background:linear-gradient(180deg,#0D1330,#090E24);padding:24px;display:flex;flex-direction:column;gap:8px;overflow:hidden;transition:border-color .35s,transform .45s var(--ease)}
.bx:hover{border-color:rgba(76,141,255,.45);transform:translateY(-4px)}
.bx::before{content:"";position:absolute;inset:0;background:radial-gradient(360px circle at var(--gx,50%) var(--gy,0%),rgba(76,141,255,.14),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}
.bx:hover::before{opacity:1}
.bx.w2{grid-column:span 2}
@media (max-width:600px){.bx.w2{grid-column:auto}}
.bx small{font-family:var(--mono);font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-hi)}
.bx h3{font-family:var(--serif);font-size:1.75rem;line-height:1.05;letter-spacing:-.01em;color:#EEF2F6}
.bx p{color:#8B95B5;font-size:.90625rem;line-height:1.55}
.bx .viz{margin-top:auto;padding-top:14px}
.chat{display:grid;gap:6px;font-size:.75rem}
.chat span{max-width:78%;padding:8px 11px;border-radius:14px;line-height:1.35}
.chat .g{background:#18203D;color:#C6CCE0;border-bottom-left-radius:4px}
.chat .a{justify-self:end;background:#2563D9;color:#fff;border-bottom-right-radius:4px}
.chat .meta{justify-self:end;font-family:var(--mono);font-size:.59375rem;color:#56607F;padding:0}
.bars7{display:flex;align-items:flex-end;gap:6px;height:70px}
.bars7 span{flex:1;border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,var(--blue-hi),rgba(76,141,255,.25))}
.bars7 span.we{background:linear-gradient(180deg,var(--gold-hi),rgba(212,175,106,.3))}
.days{display:flex;gap:6px;font-family:var(--mono);font-size:.5625rem;color:#56607F;margin-top:6px}
.days span{flex:1;text-align:center}
.locks{display:grid;gap:6px}
.locks div{display:flex;justify-content:space-between;align-items:center;padding:8px 11px;border-radius:10px;background:#11172E;font-size:.75rem;color:#C6CCE0}
.locks em{font-style:normal;font-size:.65625rem;padding:2px 8px;border-radius:10px;background:rgba(95,217,166,.14);color:var(--mint)}
.pdf{display:flex;gap:10px;align-items:center}
.pdf .doc{width:52px;height:66px;border-radius:6px;background:#EEF2F6;position:relative;box-shadow:0 10px 20px -8px rgba(0,0,0,.6)}
.pdf .doc::before{content:"PDF";position:absolute;left:6px;bottom:6px;font-family:var(--mono);font-size:.5rem;font-weight:600;color:#fff;background:#E5484D;padding:1px 4px;border-radius:3px}
.pdf .doc::after{content:"";position:absolute;left:7px;right:7px;top:9px;height:26px;background:repeating-linear-gradient(180deg,#C9CEDE 0 2px,transparent 2px 6px)}
.pdf .doc:nth-child(2){transform:rotate(6deg) translateX(-18px);opacity:.8}
.integr{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:36px}
.integr span{border:1px solid #1C2440;border-radius:100px;padding:8px 16px;font-size:.84375rem;color:#9AA4C3;background:rgba(17,23,46,.6);transition:border-color .25s,color .25s}
.integr span:hover{border-color:var(--blue);color:#EEF2F6}
.pricing{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;margin-top:clamp(70px,8vw,120px)}
@media (max-width:920px){.pricing{grid-template-columns:1fr}}
.pbox{position:relative;border-radius:30px;border:1px solid #1C2440;background:#0B1022;padding:clamp(26px,3.5vw,44px);display:grid;gap:20px;align-content:start;overflow:hidden}
.pbox.hl{border-color:rgba(76,141,255,.55);background:radial-gradient(600px circle at 100% 0%,rgba(76,141,255,.2),transparent 55%),#0B1022}
.pbox h3{font-family:var(--serif);font-size:2.5rem;line-height:1}
.p-price{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}
.p-price .amt{font-family:var(--serif);font-size:clamp(6rem,10vw,8.75rem);line-height:.8;letter-spacing:-.04em;color:#fff}
.p-price .amt i{font-size:.45em;color:var(--blue-hi)}
.p-price .per{color:#8B95B5;font-size:.90625rem;line-height:1.35;padding-bottom:8px}
.range{display:grid;gap:12px}
.range label{display:flex;justify-content:space-between;font-size:.875rem;color:#8B95B5}
.range label b{color:#EEF2F6;font-variant-numeric:tabular-nums;font-size:1rem}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:6px;background:linear-gradient(90deg,var(--blue) var(--p,10%),#1C2440 var(--p,10%));outline:none;cursor:pointer}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:#fff;border:5px solid var(--blue);box-shadow:0 0 0 6px rgba(76,141,255,.2)}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:5px solid var(--blue)}
.total{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 16px;padding-top:18px;border-top:1px solid #1C2440}
.total span{color:#8B95B5}
.total b{font-family:var(--serif);font-weight:400;font-size:clamp(2.375rem,4vw,3.25rem);font-variant-numeric:tabular-nums;white-space:nowrap}
.steps4{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:s}
.steps4 li{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:16px 0;border-top:1px solid #1C2440;color:#8B95B5;font-size:.90625rem;counter-increment:s}
.steps4 li::before{content:counter(s,decimal-leading-zero);font-family:var(--mono);font-size:.75rem;color:var(--blue-hi);width:40px;height:40px;border-radius:50%;border:1px solid rgba(76,141,255,.35);display:grid;place-items:center}
.steps4 b{display:block;color:#EEF2F6;font-weight:600;font-size:1rem}
.note{font-size:.78125rem;color:#8B95B5;line-height:1.55}

/* =================== SIMULATEUR =================== */
.sim-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,90px);align-items:center}
@media (max-width:1000px){.sim-grid{grid-template-columns:1fr}}
.sim{border-radius:32px;border:1px solid var(--line-2);background:linear-gradient(180deg,#111E47,#0C1737);padding:clamp(24px,3.5vw,44px);display:grid;gap:20px;box-shadow:0 50px 120px -50px rgba(212,175,106,.35)}
.field{display:grid;gap:8px}
.field label,.flabel{font-family:var(--mono);font-size:.65625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
select,input[type=text],input[type=email],input[type=tel],input[type=number],textarea{font:inherit;font-size:1rem;color:var(--ink);background:rgba(6,12,34,.6);border:1px solid var(--line-2);border-radius:14px;padding:15px 16px;width:100%;transition:border-color .25s,box-shadow .25s}
select:focus,input:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(212,175,106,.35)}
input[type=checkbox]:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
input[type=range]:focus-visible{outline:2px solid var(--gold);outline-offset:8px;border-radius:6px}
select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M3 4.5l3 3 3-3' fill='none' stroke='%23D4AF6A' stroke-width='1.5'/></svg>");background-repeat:no-repeat;background-position:right 16px center;background-size:14px;padding-right:44px}
option{background:var(--night)}
.seg{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:5px;border-radius:16px;background:rgba(6,12,34,.6);border:1px solid var(--line-2)}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label{text-align:center;border-radius:11px;padding:11px 0;cursor:pointer;font-size:.90625rem;font-weight:600;color:var(--muted);transition:all .25s}
.seg input:checked + label{background:linear-gradient(135deg,var(--gold-hi),var(--gold));color:#1A1405;box-shadow:0 6px 16px -6px rgba(212,175,106,.7)}
.seg input:focus-visible + label{outline:2px solid var(--gold-hi);outline-offset:2px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:520px){.row2{grid-template-columns:1fr}}
.sim-out{display:grid;gap:12px;padding-top:20px;border-top:1px dashed var(--line-2)}
.sim-big{font-family:var(--serif);font-size:clamp(4.75rem,9vw,7.75rem);line-height:.85;letter-spacing:-.04em;font-variant-numeric:tabular-nums;background:linear-gradient(180deg,#FFF1CF,var(--gold-hi) 30%,var(--gold) 70%,var(--gold-deep));-webkit-background-clip:text;background-clip:text;color:transparent}
.sim-big small{font-size:.3em;font-style:var(--it);letter-spacing:0}
.bars{display:grid;gap:10px}
.bar{display:grid;grid-template-columns:130px 1fr 90px;gap:12px;align-items:center;font-size:.84375rem;color:var(--muted)}
.bar .track{height:10px;background:rgba(6,12,34,.7);border-radius:10px;overflow:hidden}
.bar .fill{height:100%;border-radius:10px;background:#3A4670;transition:width .8s var(--ease)}
.bar.win .fill{background:linear-gradient(90deg,var(--gold-deep),var(--gold-hi));box-shadow:0 0 12px rgba(240,213,156,.5)}
.bar b{text-align:right;color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}
.mult{display:inline-flex;align-items:center;gap:8px;justify-self:start;font-size:.8125rem;color:var(--gold-hi);padding:6px 12px;border-radius:100px;background:rgba(212,175,106,.1);border:1px solid rgba(212,175,106,.3)}
@media (max-width:480px){.bar{grid-template-columns:96px 1fr 76px}}
.small{font-size:.75rem;color:var(--muted);line-height:1.5}

/* =================== MÉTHODE =================== */
.steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media (max-width:920px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}
.steps-line{position:absolute;top:40px;left:40px;right:40px;height:1px;background:var(--line-2)}
.steps-line i{position:absolute;inset:0;background:linear-gradient(90deg,var(--gold-deep),var(--gold-hi));transform-origin:0 50%;box-shadow:0 0 10px rgba(240,213,156,.5)}
@media (max-width:920px){.steps-line{display:none}}
.step{position:relative;display:grid;gap:14px;align-content:start}
.step .num{width:80px;height:80px;border-radius:50%;display:grid;place-items:center;background:var(--night);border:1px solid rgba(212,175,106,.5);font-family:var(--serif);font-style:var(--it);font-size:2.125rem;color:var(--gold-hi);position:relative;z-index:1;box-shadow:0 0 0 8px var(--night)}
.step h3{font-family:var(--serif);font-size:2.125rem;line-height:1;margin-top:10px}
.step p{color:var(--muted);font-size:.9375rem}
.step .dur{font-family:var(--mono);font-size:.65625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}

/* =================== FONDATEUR =================== */
.founder{background:var(--night-2);border-block:1px solid var(--line);overflow:hidden}
.founder::before{content:"“";position:absolute;right:4%;top:-8%;font-family:var(--serif);font-size:clamp(18.75rem,40vw,37.5rem);line-height:1;color:rgba(212,175,106,.06);pointer-events:none}
.quote{font-family:var(--serif);font-size:clamp(2.125rem,4.8vw,4.5rem);line-height:1.08;letter-spacing:-.025em;max-width:20ch}
.quote .w{display:inline-block}
.sig{margin-top:44px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.sig .script{font-family:var(--script);font-size:4rem;line-height:1;color:var(--gold-hi);transform:rotate(-4deg)}
.sig .who{border-left:1px solid var(--line-2);padding-left:22px;color:var(--muted);font-size:.90625rem;line-height:1.5}
.sig .who b{display:block;color:var(--ink);font-weight:600}

/* =================== FAQ =================== */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,100px)}
@media (max-width:920px){.faq{grid-template-columns:1fr}}
.faq-l{display:grid;gap:24px;align-content:start;align-self:start;position:sticky;top:120px}
@media (max-width:920px){.faq-l{position:static}}
details{border-bottom:1px solid var(--line)}
details:first-child{border-top:1px solid var(--line)}
summary{list-style:none;cursor:pointer;padding:26px 60px 26px 0;position:relative;font-family:var(--serif);font-size:clamp(1.375rem,2vw,1.6875rem);line-height:1.2;transition:color .25s}
summary:hover{color:var(--gold-hi)}
summary::-webkit-details-marker{display:none}
summary::after{content:"";position:absolute;right:0;top:50%;width:40px;height:40px;margin-top:-20px;border-radius:50%;border:1px solid var(--line-2);background:linear-gradient(var(--gold),var(--gold)) center/12px 1.5px no-repeat,linear-gradient(var(--gold),var(--gold)) center/1.5px 12px no-repeat;transition:transform .4s var(--ease),background-color .3s}
details[open] summary::after{transform:rotate(45deg);background-color:rgba(212,175,106,.12)}
details p{padding:0 0 26px;color:var(--muted);max-width:62ch}

/* =================== CONTACT =================== */
.contact{background:linear-gradient(180deg,var(--night),var(--deep))}
.contact .wrap{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(40px,6vw,100px)}
@media (max-width:980px){.contact .wrap{grid-template-columns:1fr}}
.direct{display:grid;gap:12px;margin-top:40px}
.direct > a,.direct > div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 22px;border:1px solid var(--line-2);border-radius:20px;text-decoration:none;background:rgba(255,255,255,.015);transition:border-color .3s,background .3s,transform .4s var(--ease)}
.direct > a:hover{border-color:var(--gold);background:rgba(212,175,106,.05);transform:translateX(4px)}
.direct small{display:block;font-family:var(--mono);font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.direct strong{font-weight:500;font-size:1.1875rem;user-select:all}
.direct .go{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold-hi),var(--gold));color:#1A1405;font-size:1.125rem}
.copy{font:inherit;font-family:var(--mono);font-size:.65625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);background:none;border:1px solid var(--line-2);border-radius:100px;padding:8px 13px;cursor:pointer;transition:border-color .25s}
.copy:hover{border-color:var(--gold)}
form{position:relative;border-radius:32px;border:1px solid var(--line-2);background:linear-gradient(180deg,#111E47,#0C1737);padding:clamp(26px,3.6vw,48px);display:grid;gap:16px;box-shadow:0 50px 120px -50px rgba(0,0,0,.7)}
form h3{font-family:var(--serif);font-size:2.875rem;line-height:1}
form .sub{color:var(--muted);font-size:.9375rem;margin-top:-6px}
.consent{display:grid;grid-template-columns:auto 1fr;gap:10px;font-size:.8125rem;color:var(--muted);align-items:start;line-height:1.5}
.consent input{width:18px;height:18px;margin-top:1px;accent-color:var(--gold)}
.err{color:#FF9C88;font-size:.875rem;min-height:1em}
.success{display:grid;gap:18px}
.success .check{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--gold-hi),var(--gold));color:#1A1405;display:grid;place-items:center;font-size:1.875rem;animation:notifIn .7s var(--ease)}

/* =================== FOOTER =================== */
footer{background:var(--deep);padding-block:80px 40px;overflow:hidden;border-top:1px solid var(--line)}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:70px}
@media (max-width:1100px) and (min-width:821px){.foot-top{grid-template-columns:repeat(3,minmax(0,1fr))}.foot-top .slogan{grid-column:1/-1}}
@media (max-width:820px){.foot-top{grid-template-columns:1fr}}
.foot-top h4,.foot-top h2,.foot-top .foot-h{margin:0 0 14px;font-family:var(--mono);font-size:.65625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:500}
.foot-top a{display:block;text-decoration:none;color:var(--muted);padding:4px 0;transition:color .2s}
.foot-top a:hover{color:var(--ink)}
.foot-top .slogan{font-family:var(--serif);font-size:clamp(1.875rem,3vw,2.5rem);line-height:1.05;max-width:16ch}
.giant{font-family:var(--serif);font-size:clamp(3.75rem,19vw,18.75rem);line-height:.8;letter-spacing:-.04em;text-align:center;white-space:nowrap;background:linear-gradient(180deg,rgba(243,240,232,.14),rgba(243,240,232,0) 85%);-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none}
.giant i{background:linear-gradient(180deg,rgba(240,213,156,.5),rgba(212,175,106,0) 85%);-webkit-background-clip:text;background-clip:text}
.foot-bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.8125rem;color:var(--muted);padding-top:24px;border-top:1px solid var(--line);margin-top:30px}

/* mobile CTA */
.mobile-cta{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:140;display:none;gap:8px;padding:7px;border-radius:100px;background:rgba(10,19,48,.8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line-2);box-shadow:0 20px 40px -10px rgba(0,0,0,.6)}
.mobile-cta .btn{flex:1;padding:14px 10px;font-size:.90625rem}
@media (max-width:760px){.mobile-cta{display:flex}footer{padding-bottom:120px}}

/* curseur */
.cursor{position:fixed;left:0;top:0;z-index:250;pointer-events:none;opacity:0}
.cursor .c-dot{position:absolute;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--gold-hi)}
.cursor .c-ring{position:absolute;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:1px solid rgba(240,213,156,.6);transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),background .35s,border-color .35s}
.cursor.big .c-ring{width:74px;height:74px;margin:-37px 0 0 -37px;background:rgba(240,213,156,.1);border-color:rgba(240,213,156,.9)}
.cursor.on-day .c-dot{background:var(--gold-deep)}
.cursor.on-day .c-ring{border-color:rgba(10,19,48,.45)}
@media (hover:none),(max-width:980px){.cursor{display:none}}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}


/* =================== TYPO FINALE =================== */
i,em{font-style:normal}
h1,.h2,.pct,.offer h3,.band h3,.panel h3,.bx h3,.pbox h3,.p-price .amt,.total b,.sim-big,.step h3,.step .num,form h3,.slogan,.giant,.logo,.stat strong,.ev time,.ftag strong,.db,.app-side .brand,.page-hero h1,.proof-num strong,.legal h2,.city-card h3{font-weight:var(--dw);letter-spacing:var(--ls)}
.quote,summary,.mq-track span{font-weight:var(--dw2)}
.quote{letter-spacing:-.03em}
.hero h1{line-height:.92}

/* =================== NAV : lien courant =================== */
.menu a[aria-current="page"]{color:var(--ink);background:rgba(255,255,255,.06)}

/* =================== HERO DES PAGES INTÉRIEURES =================== */
.page-hero{padding-block:170px clamp(70px,9vw,120px);overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line)}
.page-hero .wrap{display:grid;gap:26px;justify-items:start}
.page-hero h1{font-family:var(--serif);font-size:clamp(3.25rem,8vw,8rem);line-height:.92;max-width:14ch}
.page-hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}
.crumbs{font-family:var(--mono);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.crumbs a{text-decoration:none;color:var(--muted)}
.crumbs a:hover{color:var(--gold-hi)}
.page-hero.blue .moon{background:radial-gradient(circle at 40% 40%,rgba(140,180,255,.25),rgba(76,141,255,.08) 40%,transparent 68%)}

/* =================== PREUVES (affichées seulement si remplies) =================== */
.proofs{display:grid;gap:clamp(40px,5vw,70px)}
.proof-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border:1px solid var(--line);border-radius:28px;overflow:hidden}
.proof-num{padding:32px;display:grid;gap:8px;border-left:1px solid var(--line)}
.proof-num:first-child{border-left:none}
.proof-num strong{font-family:var(--serif);font-size:clamp(3rem,5vw,4.75rem);line-height:.9;color:var(--gold-hi)}
.proof-num span{color:var(--muted);font-size:.90625rem}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:18px}
.home-card{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:4/5;max-width:100%;background:var(--night-3);border:1px solid var(--line)}
.home-card img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.home-card:hover img{transform:scale(1.06)}
.home-card figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px;background:linear-gradient(180deg,transparent,rgba(6,12,34,.92));display:grid;gap:2px}
.home-card figcaption b{font-family:var(--serif);font-size:1.5rem;font-weight:700;letter-spacing:-.02em}
.home-card figcaption span{font-size:.84375rem;color:var(--ink-2)}
.home-card .note-badge{position:absolute;top:16px;right:16px;padding:6px 11px;border-radius:100px;background:rgba(6,12,34,.75);backdrop-filter:blur(8px);font-size:.8125rem;font-weight:600;color:var(--gold-hi)}
.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.review{border-radius:24px;border:1px solid var(--line);background:linear-gradient(180deg,#101C42,#0B1535);padding:28px;display:grid;gap:16px;align-content:start}
.review .stars{color:var(--gold-hi);letter-spacing:3px;font-size:.9375rem}
.review p{font-size:1.03125rem;line-height:1.6;color:var(--ink-2)}
.review footer{all:unset;display:flex;justify-content:space-between;gap:10px;font-size:.8125rem;color:var(--muted)}
.review footer b{color:var(--ink);font-weight:600}

/* =================== BANDEAU COOKIES =================== */
.consent-bar{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:180;max-width:560px;margin-left:auto;padding:20px;border-radius:22px;background:rgba(10,19,48,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line-2);box-shadow:0 30px 60px -20px rgba(0,0,0,.7);display:grid;gap:14px;font-size:.875rem;color:var(--ink-2)}
.consent-bar a{color:var(--gold-hi)}
.consent-bar .row{display:flex;gap:8px;flex-wrap:wrap}
.consent-bar .btn{padding:11px 18px;font-size:.875rem}
@media (max-width:760px){.consent-bar{bottom:calc(86px + env(safe-area-inset-bottom,0px))}}

/* =================== PAGES LÉGALES =================== */
.legal{max-width:760px;display:grid;gap:18px;color:var(--ink-2)}
.legal h2{font-family:var(--serif);font-size:2rem;line-height:1.1;margin-top:34px;color:var(--ink)}
.legal h3{font-family:var(--sans);font-weight:600;font-size:1.125rem;margin-top:10px;color:var(--ink)}
.legal p,.legal li{line-height:1.75}
.legal ul{margin:0;padding-left:20px;display:grid;gap:6px}
.legal a{color:var(--gold-hi)}
.legal-note{padding:16px 18px;border-radius:16px;border:1px solid rgba(242,184,75,.35);background:rgba(242,184,75,.06);font-size:.875rem}
.legal table{width:100%;border-collapse:collapse;font-size:.9375rem}
.legal td,.legal th{padding:12px 14px;border-top:1px solid var(--line);text-align:left;vertical-align:top}
.legal th{color:var(--gold);font-family:var(--mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500}

/* =================== PAGE VILLE =================== */
.city-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:900px){.city-grid{grid-template-columns:1fr}}
.city-card{border-radius:24px;border:1px solid var(--line);background:linear-gradient(180deg,#101C42,#0B1535);padding:28px;display:flex;flex-direction:column;gap:12px}
.city-card > .btn{align-self:flex-start;margin-top:auto}
.city-card h3{font-family:var(--serif);font-size:1.875rem;line-height:1.05}
.city-card p{color:var(--muted);font-size:.96875rem}
.city-card .k{font-family:var(--mono);font-size:.65625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.prose{max-width:720px;display:grid;gap:18px;color:var(--ink-2);font-size:1.09375rem;line-height:1.75}
.prose h2{font-family:var(--serif);font-weight:700;letter-spacing:-.03em;font-size:clamp(1.875rem,3vw,2.625rem);line-height:1.05;color:var(--ink);margin-top:20px}

/* =================== TEASER CARTES (liens vers pages) =================== */
.teasers{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media (max-width:900px){.teasers{grid-template-columns:1fr}}
.teaser{position:relative;display:grid;gap:18px;align-content:start;padding:clamp(28px,3.5vw,46px);border-radius:32px;border:1px solid var(--line);text-decoration:none;overflow:hidden;min-height:360px;transition:border-color .4s,transform .5s var(--ease)}
.teaser:hover{transform:translateY(-6px)}
.teaser h3{font-family:var(--serif);font-weight:700;letter-spacing:-.04em;font-size:clamp(2.375rem,4vw,3.75rem);line-height:.95}
.teaser p{color:var(--muted);max-width:40ch}
.teaser .go{margin-top:auto;display:inline-flex;align-items:center;gap:10px;font-weight:600}
.teaser .go i{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;transition:transform .4s var(--ease)}
.teaser:hover .go i{transform:rotate(-45deg)}
.teaser.t-blue{background:radial-gradient(600px circle at 100% 0%,rgba(76,141,255,.22),transparent 60%),#0B1022;border-color:rgba(76,141,255,.3)}
.teaser.t-blue:hover{border-color:var(--blue)}
.teaser.t-blue .go i{background:var(--blue);color:#fff}
.teaser.t-gold{background:radial-gradient(600px circle at 100% 0%,rgba(212,175,106,.2),transparent 60%),#0E1A40;border-color:rgba(212,175,106,.3)}
.teaser.t-gold:hover{border-color:var(--gold)}
.teaser.t-gold .go i{background:var(--gold);color:#1A1405}
.teaser .art{position:absolute;right:-20px;bottom:-20px;width:46%;max-width:260px;opacity:.9;pointer-events:none}
@media (max-width:560px){.teaser .art{display:none}}

.foot-bot a{text-decoration:none;color:var(--muted)}
.foot-bot a:hover{color:var(--gold-hi)}
.page-hero h1 .ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.page-hero h1 .ln > span{display:inline-block}
/* H1 : mot-clé en tête (ancien sur-titre, animé par .h-in), puis le slogan en lignes .ln */
h1 .h1-kw{display:flex;margin:0 0 22px;font-size:.8125rem;line-height:1.5;font-weight:500}
.hero h1:has(> .h1-kw){margin-top:0}
.page-hero.alf h1 .h1-kw{justify-content:center}
main.alfred{position:relative}
.cta-band{position:relative;overflow:hidden;border-radius:36px;border:1px solid rgba(212,175,106,.4);padding:clamp(36px,6vw,80px);display:grid;gap:22px;justify-items:start;background:radial-gradient(700px circle at 100% 0%,rgba(212,175,106,.2),transparent 60%),radial-gradient(500px circle at 0% 100%,rgba(76,141,255,.14),transparent 60%),#0D1839}
.cta-band h2{font-family:var(--serif);font-weight:700;letter-spacing:-.045em;font-size:clamp(2.5rem,5.6vw,5.25rem);line-height:.95;max-width:16ch}
.cta-band .ctas{display:flex;gap:12px;flex-wrap:wrap}
/* --- Correctifs mobile --- */
html{overflow-x:clip}
main.alfred,.alfred{overflow-x:clip}
.offers > *,.duo > *,.teasers > *,.kit > *,.bento > *{min-width:0}
.offer-top{flex-wrap:wrap}
@media (max-width:600px){
  .tag{white-space:normal}
  .seal{width:52px;height:52px}
  .pct{font-size:7rem}
  .offer-in{padding:24px}
}
.steps.three{grid-template-columns:repeat(3,1fr)}
@media (max-width:920px){.steps.three{grid-template-columns:1fr}}
.legal > *{min-width:0}
.legal table{display:block;overflow-x:auto}

/* =================== NOS LOGEMENTS =================== */
.stay-perks{display:flex;flex-wrap:wrap;gap:8px}
.stay-perks span{padding:8px 14px;border-radius:100px;border:1px solid var(--line-2);font-size:.84375rem;color:var(--ink-2);background:rgba(255,255,255,.02)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.filters button{font:500 .875rem/1 var(--sans);color:var(--muted);background:rgba(255,255,255,.02);border:1px solid var(--line-2);border-radius:100px;padding:11px 18px;cursor:pointer;transition:all .25s}
.filters button:hover{color:var(--ink);border-color:var(--gold)}
.filters button[aria-pressed="true"]{background:linear-gradient(135deg,var(--gold-hi),var(--gold));color:#1A1405;border-color:transparent}
.stays{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:22px}
.stay{display:flex;flex-direction:column;border-radius:26px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(180deg,#101C42,#0B1535);transition:border-color .35s,transform .5s var(--ease)}
.stay:hover{border-color:rgba(212,175,106,.45);transform:translateY(-6px)}
.stay-img{position:relative;aspect-ratio:4/3;max-width:100%;overflow:hidden;background:var(--night-3)}
.stay-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.stay:hover .stay-img img{transform:scale(1.06)}
.stay-img .note-badge{position:absolute;top:14px;right:14px;padding:6px 11px;border-radius:100px;background:rgba(6,12,34,.78);backdrop-filter:blur(8px);font-size:.8125rem;font-weight:600;color:var(--gold-hi)}
.stay-img .city{position:absolute;left:14px;bottom:14px;font-family:var(--mono);font-size:.65625rem;letter-spacing:.14em;text-transform:uppercase;padding:6px 10px;border-radius:100px;background:rgba(6,12,34,.78);color:var(--ink-2)}
.stay-body{padding:22px;display:grid;gap:12px;flex:1;align-content:start}
.stay-body h3{font-family:var(--serif);font-weight:700;letter-spacing:-.03em;font-size:1.625rem;line-height:1.05}
.stay-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:.875rem;color:var(--muted)}
.stay-cta{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding:0 22px 22px}
.stay-cta .btn{padding:11px 16px;font-size:.875rem;flex:1}
.stays-empty{display:grid;justify-items:center;text-align:center;gap:20px;padding:clamp(40px,6vw,80px) 20px;border:1px dashed var(--line-2);border-radius:32px}
.stays-empty svg{width:96px;height:96px}
.stays-empty h2{font-family:var(--serif);font-weight:700;letter-spacing:-.04em;font-size:clamp(2.125rem,4vw,3.5rem);line-height:1;max-width:18ch}
.stays-empty .lead{margin-inline:auto}
.stays-empty .ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}

/* =================== WHATSAPP =================== */
.wa-float{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:145;display:inline-flex;align-items:center;gap:10px;padding:12px 18px 12px 12px;border-radius:100px;background:#25D366;color:#06301A;font-weight:700;font-size:.90625rem;text-decoration:none;box-shadow:0 16px 40px -12px rgba(37,211,102,.6);transition:transform .35s var(--ease)}
.wa-float:hover{transform:translateY(-3px)}
.wa-float svg{width:28px;height:28px}
@media (max-width:760px){.wa-float{bottom:calc(86px + env(safe-area-inset-bottom,0px));padding:12px}.wa-float span{display:none}}

/* =================== SKYLINE + TITRES MOT À MOT =================== */
/* Toujours « canvas.city » : la classe .city sert aussi au badge ville des cartes logement (.stay-img .city) */
canvas.city{position:absolute;left:0;right:0;bottom:0;width:100%;height:38%;z-index:-1;pointer-events:none;opacity:.95;-webkit-mask-image:linear-gradient(180deg,transparent,#000 35%);mask-image:linear-gradient(180deg,transparent,#000 35%)}
@media (max-width:760px){canvas.city{height:26%;opacity:.7}}
.wm{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.wi{display:inline-block;will-change:transform}

/* =================== CORRECTIF GLOBAL : [hidden] doit toujours masquer =================== */
[hidden]{display:none!important}

/* =================== VIDÉO HERO + CINÉMA AU DÉFILEMENT =================== */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;opacity:.55}
.hero.has-video::after{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(90deg,rgba(10,19,48,.92) 0%,rgba(10,19,48,.55) 55%,rgba(10,19,48,.25) 100%),linear-gradient(180deg,transparent 60%,var(--night))}
.hero.has-video .sky{opacity:.45}
.cinema{position:relative;height:420vh;background:#000}
.cinema-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.cinema-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cinema-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,12,34,.55),transparent 30%,transparent 55%,rgba(6,12,34,.85)),radial-gradient(ellipse at 20% 80%,rgba(6,12,34,.7),transparent 60%)}
.cinema-caps{position:absolute;left:clamp(16px,5vw,72px);right:clamp(16px,5vw,72px);bottom:clamp(60px,12vh,120px)}
.cap{position:absolute;left:0;bottom:0;display:grid;gap:6px;max-width:640px;opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .8s var(--ease)}
.cap.on{opacity:1;transform:none}
.cap time{font-family:var(--serif);font-weight:700;letter-spacing:-.04em;font-size:clamp(3.5rem,8vw,7.5rem);line-height:.85;background:linear-gradient(180deg,#FFF1CF,var(--gold-hi) 40%,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.cap b{font-family:var(--serif);font-weight:700;letter-spacing:-.03em;font-size:clamp(1.625rem,3.2vw,2.875rem);line-height:1.05}
.cap span{color:var(--ink-2);font-size:1.0625rem}
.cinema-bar{position:absolute;left:clamp(16px,5vw,72px);right:clamp(16px,5vw,72px);bottom:32px;height:2px;background:rgba(255,255,255,.15);border-radius:2px;overflow:hidden}
.cinema-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-hi));transform-origin:0 50%;transform:scaleX(0)}
@media (prefers-reduced-motion: reduce){.cinema{height:auto}.cinema-sticky{position:relative}}

/* =========================================================
   CONTRAT v6 — composants partagés (portes, confiance, matin,
   simulateur net, fondateur, logo, langue, puces, 3 offres,
   allègement mobile). Ne rien mettre en !important ici :
   la règle [hidden]{display:none!important} doit toujours gagner.
   ========================================================= */

/* --- Logo : nom + sous-titre « Conciergerie » --- */
.logo-txt{display:inline-block;line-height:1}
.logo-sub{display:block;margin-top:5px;font-family:var(--mono);font-size:.59375rem;font-weight:500;font-style:normal;letter-spacing:.2em;text-transform:uppercase;line-height:1;color:rgba(212,175,106,.78)}
@media (max-width:379px){.logo-sub{display:none}}

/* --- Sélecteur de langue (toujours visible, même sur mobile) --- */
.lang{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;border-radius:100px;text-decoration:none;color:var(--muted);font-size:.90625rem;font-weight:500;letter-spacing:.02em;transition:color .25s,background .25s}
.lang:hover{color:var(--ink);background:rgba(255,255,255,.06)}
.lang:focus-visible{border-radius:100px}

/* --- Barre de navigation au-dessus de la section claire --- */
.nav-pill{transition:background .4s,border-color .4s}
.nav.on-day .nav-pill{background:rgba(10,19,48,.92);border-color:rgba(10,19,48,.4)}

/* --- Portes d'entrée : « Où est votre bien ? » --- */
.doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:1100px){.doors{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.doors{grid-template-columns:minmax(0,1fr);gap:14px}}
.door{--acc:var(--gold);--acc-hi:var(--gold-hi);--acc-soft:rgba(212,175,106,.16);--acc-line:rgba(212,175,106,.3);--acc-glow:rgba(212,175,106,.35);--acc-ink:#1A1405;position:relative;isolation:isolate;display:flex;flex-direction:column;gap:14px;min-height:340px;padding:clamp(24px,2.4vw,32px);border-radius:28px;border:1px solid var(--line);background:linear-gradient(180deg,#101C42,#0B1535);color:var(--ink);text-decoration:none;overflow:hidden;transition:border-color .35s,translate .5s var(--ease),box-shadow .5s var(--ease)}
.door::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(420px circle at 100% 0%,var(--acc-soft),transparent 62%);opacity:.65;transition:opacity .4s}
.door::after{content:"";position:absolute;right:-90px;bottom:-90px;z-index:-1;width:220px;height:220px;border-radius:50%;border:1px solid var(--acc-line);pointer-events:none;opacity:.5;transition:transform .8s var(--ease),opacity .4s}
.door:hover{translate:0 -6px;border-color:var(--acc-line);box-shadow:0 34px 70px -34px var(--acc-glow)}
.door:hover::before{opacity:1}
.door:hover::after{transform:scale(1.1);opacity:.95}
.door:focus-visible{outline:2px solid var(--acc-hi);outline-offset:4px;border-radius:28px}
.door-k{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:.65625rem;letter-spacing:.18em;text-transform:uppercase;color:var(--acc)}
.door-k::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 4px var(--acc-soft)}
.door h3{margin-top:6px;font-family:var(--serif);font-weight:700;letter-spacing:-.035em;font-size:clamp(1.625rem,2.3vw,2rem);line-height:1.02;color:var(--ink)}
.door p{color:var(--muted);font-size:.9375rem;line-height:1.6}
.door-go{margin-top:auto;padding-top:10px;display:inline-flex;align-items:center;gap:12px;font-weight:600;font-size:.90625rem;line-height:1.3;color:var(--acc-hi)}
.door-go i{flex:none;display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--acc);color:var(--acc-ink);font-style:normal;transition:transform .4s var(--ease)}
.door:hover .door-go i{transform:rotate(-45deg)}
.door-pro{--acc:var(--blue);--acc-hi:var(--blue-hi);--acc-soft:rgba(76,141,255,.2);--acc-line:rgba(76,141,255,.4);--acc-glow:rgba(76,141,255,.45);--acc-ink:#fff;background:linear-gradient(180deg,#0D1330,#090E24)}
@media (min-width:1101px){.door h3{min-height:3.06em}} /* 3 lignes × interligne 1.02 : les paragraphes des portes s'alignent */
@media (max-width:1100px){.door{min-height:300px}}
@media (max-width:620px){.door{min-height:0}}

/* --- Barre de confiance (4 engagements) --- */
.trust{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.005));overflow:hidden}
* + .trust{margin-top:clamp(16px,2vw,24px)}
.trust li{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:12px;row-gap:2px;align-content:start;min-width:0;padding:clamp(18px,2vw,24px) clamp(18px,2vw,26px)}
.trust li + li{border-left:1px solid var(--line)}
.trust li::before{content:"";grid-row:span 2;width:28px;height:28px;border-radius:9px;border:1px solid rgba(212,175,106,.28);background:rgba(212,175,106,.1) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M8 1.6l5 1.8v4c0 3.1-2.1 5.5-5 6.9-2.9-1.4-5-3.8-5-6.9v-4z' fill='none' stroke='%23F0D59C' stroke-width='1.15' stroke-linejoin='round'/><path d='M5.7 8.1l1.6 1.6 3-3.2' fill='none' stroke='%23F0D59C' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/15px no-repeat}
.trust b{font-weight:600;font-size:.9375rem;line-height:1.35;color:var(--ink)}
.trust span{font-size:.84375rem;line-height:1.5;color:var(--muted)}
@media (max-width:1000px){
  .trust{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trust li:nth-child(odd){border-left:none}
  .trust li:nth-child(n+3){border-top:1px solid var(--line)}
}
@media (max-width:560px){
  .trust{grid-template-columns:minmax(0,1fr)}
  .trust li + li{border-left:none;border-top:1px solid var(--line)}
}

/* --- Puces (listes de villes / destinations) --- */
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.chips li{display:inline-flex;align-items:center;gap:9px;padding:10px 16px;border-radius:100px;border:1px solid var(--line-2);background:rgba(255,255,255,.025);font-size:.90625rem;line-height:1.2;color:var(--ink-2)}
.chips li::before{content:"";flex:none;width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px rgba(212,175,106,.6)}

/* --- Trois offres côte à côte (dès 1024 px : en dessous, une colonne) --- */
@media (max-width:1023px){.offers.three{grid-template-columns:minmax(0,1fr)}}
@media (min-width:1024px){
  .offers.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  .offers.three .offer-in{padding:clamp(24px,2.6vw,38px);gap:20px}
  .offers.three .pct{font-size:clamp(5.25rem,8vw,8.25rem)}
  .offers.three .offer h3{font-size:clamp(1.75rem,2.4vw,2.375rem)}
  .offers.three .offer li{font-size:.9375rem}
  .offers.three .tag{white-space:normal}
  .offers.three .seal{width:52px;height:52px}
  .offers.three .offer .btn{padding-inline:20px;gap:10px}
}

/* --- Simulateur : revenu net + périmètre --- */
.net-line{display:flex;align-items:baseline;gap:12px;font-size:1.0625rem;line-height:1.45;font-weight:500;color:var(--gold-hi);font-variant-numeric:tabular-nums}
.net-line::before{content:"";flex:none;width:18px;height:1px;background:linear-gradient(90deg,transparent,var(--gold));transform:translateY(-.3em)}
.net-line b{font-weight:700;color:#FFF1CF}
.sim-scope{display:flex;gap:9px;align-items:flex-start}
.sim-scope::before{content:"";flex:none;width:5px;height:5px;margin-top:.55em;border-radius:50%;background:var(--gold);opacity:.7}

/* --- Portrait du fondateur : voir « CORRECTIFS v8 » (.founder-grid / .founder-figure, portrait détouré).
   L'ancien petit portrait rond (.founder-photo) n'est plus utilisé : styles retirés. --- */

/* --- 09:00 · LE MATIN : seule section claire du site --- */
.day{--day-ink:#0A1330;--day-muted:#4A5470;--day-gold:#9C7A3C;--day-gold-txt:#80612A;--day-line:rgba(10,19,48,.12);color-scheme:light;background:#F7F4EE;color:var(--day-ink);overflow:hidden;isolation:isolate;border-block:1px solid rgba(156,122,60,.25)}
.day::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(900px circle at 88% -12%,rgba(240,213,156,.55),transparent 60%),radial-gradient(700px circle at -6% 112%,rgba(212,175,106,.16),transparent 60%)}
.day .eyebrow{color:var(--day-gold-txt)}
.day .eyebrow::before{background:linear-gradient(90deg,transparent,var(--day-gold))}
.day .h2,.day h2,.day h3{color:var(--day-ink)}
.day .gold-it{background-image:linear-gradient(100deg,#7A5A22 0%,#A67F3A 25%,#7A5A22 50%,#A67F3A 75%,#7A5A22 100%)}
.day .lead,.day .small,.day p{color:var(--day-muted)}
.day .lead b{color:var(--day-ink)}
.day .btn-ghost{border-color:rgba(10,19,48,.22);color:var(--day-ink);background:rgba(255,255,255,.55)}
.day .btn-ghost:hover{border-color:var(--day-gold);color:#6B4F1C}
.day .btn-ghost .arr{background:rgba(10,19,48,.06)}
.day :focus-visible{outline-color:var(--day-ink)}
.day ::selection{background:var(--day-ink);color:#F7F4EE}
.day-cta{margin-top:clamp(32px,4vw,48px)}
/* Section suivante collée au bloc précédent… sauf quand la section claire est visible au-dessus */
.flush-top{padding-top:0}
.day:not([hidden]) + .flush-top{padding-top:clamp(90px,12vw,170px)}
.day-gallery{display:grid;gap:clamp(14px,1.6vw,22px)}
.day-shot{position:relative;margin:0;display:grid;gap:14px;align-content:start;min-width:0}
.day-shot img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:24px;background:#E9E3D6;box-shadow:0 24px 50px -28px rgba(10,19,48,.45),0 2px 6px -2px rgba(10,19,48,.12);transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.day-shot:hover img{transform:translateY(-6px);box-shadow:0 36px 70px -30px rgba(10,19,48,.5),0 2px 6px -2px rgba(10,19,48,.12)}
.day-shot figcaption{display:grid;gap:2px;padding-inline:4px}
.day-shot figcaption b{font-family:var(--serif);font-weight:700;letter-spacing:-.03em;font-size:1.3125rem;line-height:1.15;color:var(--day-ink)}
.day-shot figcaption span{font-size:.875rem;line-height:1.5;color:var(--day-muted)}
.day-shot .day-note{position:absolute;top:14px;right:14px;padding:6px 11px;border-radius:100px;background:rgba(247,244,238,.92);box-shadow:0 6px 16px -8px rgba(10,19,48,.4);font-family:var(--mono);font-size:.71875rem;font-weight:500;font-style:normal;letter-spacing:.06em;color:var(--day-ink)}
@media (min-width:901px){
  .day-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
  .day-gallery[data-count="1"]{grid-template-columns:minmax(0,1fr);max-width:880px}
  .day-gallery[data-count="1"] .day-shot img{aspect-ratio:16/10}
  .day-gallery[data-count="2"],.day-gallery[data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}
  .day-gallery[data-count="2"] .day-shot img,.day-gallery[data-count="4"] .day-shot img{aspect-ratio:4/3}
  .day-gallery[data-count="5"]{grid-template-columns:repeat(6,minmax(0,1fr))}
  .day-gallery[data-count="5"] .day-shot{grid-column:span 2}
  .day-gallery[data-count="5"] .day-shot:nth-child(-n+2){grid-column:span 3}
  .day-gallery[data-count="5"] .day-shot:nth-child(-n+2) img{aspect-ratio:4/3}
}
@media (min-width:561px) and (max-width:900px){
  .day-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .day-gallery[data-count="1"]{grid-template-columns:minmax(0,1fr)}
  .day-gallery[data-count="1"] .day-shot img{aspect-ratio:4/3}
  .day-shot:last-child:nth-child(odd):not(:first-child){grid-column:span 2}
  .day-shot:last-child:nth-child(odd):not(:first-child) img{aspect-ratio:16/9}
}
/* Photos sources en paysage : 4/3 dès la tablette (le 4/5 portrait reste pour le carrousel mobile) */
@media (min-width:561px){.day-shot img{aspect-ratio:4/3}}
@media (max-width:560px){
  .day-gallery{grid-auto-flow:column;grid-auto-columns:84%;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;margin-inline:calc(-1 * clamp(16px,4vw,56px));padding-inline:clamp(16px,4vw,56px);scroll-padding-inline:clamp(16px,4vw,56px);padding-bottom:8px;scrollbar-width:none}
  .day-gallery::-webkit-scrollbar{display:none}
  .day-gallery[data-count="1"]{grid-auto-columns:100%}
  .day-shot{scroll-snap-align:start}
}

/* --- Mobile allégé (≤ 760 px uniquement ; l'ordinateur ne change pas) --- */
@media (max-width:760px){
  body::after{display:none}
  .gold-it,.blue-it{animation:none;background-position:0 0}
}

/* =========================================================
   CORRECTIFS v7 — navigation (ordinateur, tablette, mobile),
   débordements mobiles, composants partagés, styles en ligne
   remplacés par des classes.
   ========================================================= */

/* --- Navigation : groupe langue + CTA (+ bouton menu ≤ 980 px) --- */
.nav-act{display:flex;align-items:center;gap:4px;flex-shrink:0}
.nav-pill > .btn{flex-shrink:0}
/* Ordinateur : 6 liens + langue + CTA tiennent toujours dans la pilule */
.menu a{padding:8px 12px}
@media (max-width:1180px){
  .nav-pill{gap:12px;padding-left:18px}
  .menu{gap:0;font-size:.875rem}
  .menu a{padding:8px 10px}
}
@media (min-width:981px) and (max-width:1060px){.menu a[data-requires]{display:none}} /* « Nos logements » reste dans le pied de page et le menu mobile */

/* --- Menu mobile et tablette (bouton créé par main.js) --- */
.menu-btn{display:none}
@media (max-width:980px){
  .nav-pill{position:relative}
  .menu-btn{display:inline-grid;place-items:center;width:42px;height:42px;padding:0;border-radius:50%;border:1px solid var(--line-2);background:rgba(255,255,255,.03);color:var(--ink);cursor:pointer;flex-shrink:0;transition:border-color .25s}
  .menu-btn:hover{border-color:var(--gold)}
  .menu-btn i,.menu-btn i::before,.menu-btn i::after{display:block;width:16px;height:1.5px;border-radius:2px;background:currentColor;transition:transform .3s var(--ease),background .2s}
  .menu-btn i{position:relative}
  .menu-btn i::before,.menu-btn i::after{content:"";position:absolute;left:0}
  .menu-btn i::before{top:-5px}
  .menu-btn i::after{top:5px}
  .menu-open .menu-btn i{background:transparent}
  .menu-open .menu-btn i::before{transform:translateY(5px) rotate(45deg)}
  .menu-open .menu-btn i::after{transform:translateY(-5px) rotate(-45deg)}
  .nav-pill.menu-open .menu{display:flex;flex-direction:column;gap:2px;position:absolute;top:calc(100% + 10px);left:0;right:0;padding:10px;border-radius:26px;background:rgba(10,19,48,.97);border:1px solid var(--line-2);box-shadow:0 30px 60px -20px rgba(0,0,0,.7);font-size:1rem;max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}
  .nav-pill.menu-open .menu a{padding:13px 16px;color:var(--ink)}
  .nav.nav-open{z-index:190} /* menu ouvert au-dessus du bandeau de consentement (z-index 180) */
}
/* Téléphone : le CTA passe dans la barre du bas (.mobile-cta) ; la pilule garde logo + langue + menu.
   Les pages sans barre du bas (pages légales) gardent leur petit CTA. Deux règles séparées :
   un navigateur sans :has() ignorerait sinon les deux. */
@media (max-width:760px){
  .nav-pill{min-height:58px}
  .has-mcta .nav-pill .btn{display:none}
}
@media (max-width:760px){
  body:has(.mobile-cta) .nav-pill .btn{display:none}
}
@media (max-width:480px){
  .nav-pill{gap:8px;padding-left:14px}
  .logo{font-size:1.25rem;gap:8px}
  .logo svg{width:22px;height:22px}
  .nav-pill .lang{padding:8px;min-width:36px}
  .nav-pill .btn-sm{padding:10px 14px}
  .nav-pill .btn-sm .arr{display:none}
}
@media (max-width:360px){.logo svg{display:none}}

/* --- Débordements mobiles : boutons longs, bandeaux, titres --- */
.cta-band,.page-hero .wrap{grid-template-columns:minmax(0,1fr)}
@media (max-width:900px){.city-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){
  .btn{white-space:normal;max-width:100%;text-align:center;line-height:1.3}
  .nav-pill .btn,.mobile-cta .btn{white-space:nowrap}
}
@media (max-width:400px){.page-hero h1{font-size:clamp(2.5rem,12.5vw,3.25rem)}}

/* --- Contact et chiffres : les colonnes ne dépassent plus sur petit téléphone --- */
@media (max-width:980px){.contact .wrap{grid-template-columns:minmax(0,1fr)}}
@media (max-width:900px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.direct{grid-template-columns:minmax(0,1fr)}
.direct > a > span:first-child,.direct > div > span:first-child{min-width:0}
.direct .go,.direct .copy{flex-shrink:0}
@media (max-width:360px){
  .direct > a,.direct > div{padding:16px}
  .direct strong{font-size:1.0625rem;overflow-wrap:anywhere}
}

/* --- Composants partagés (conciergeries, Tunisie…) : une seule source de vérité --- */
.page-hero .glow-gold{position:absolute;left:-14vw;bottom:-26vw;width:52vw;max-width:720px;aspect-ratio:1;border-radius:50%;z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(212,175,106,.16),rgba(212,175,106,.05) 42%,transparent 68%);filter:blur(10px)}
/* Offre logiciel : accent bleu (réservé à la tech / Alfred) */
.offer.alf{background:rgba(76,141,255,.42)}
.offer.alf .offer-in{background:radial-gradient(460px circle at 100% 0%,rgba(76,141,255,.2),transparent 60%),linear-gradient(180deg,#0E1738,#0B1022)}
.offer.alf .offer-in::before{background:radial-gradient(500px circle at var(--gx,50%) var(--gy,-10%),rgba(140,180,255,.14),transparent 55%)}
.offer.alf .tag{border-color:rgba(76,141,255,.5);color:var(--blue-hi);background:rgba(76,141,255,.08)}
.offer.alf .pct{background:linear-gradient(180deg,#EEF4FF 0%,var(--blue-hi) 35%,var(--blue) 75%,#2F6FE0 100%);-webkit-background-clip:text;background-clip:text}
.offer.alf li::before{background-color:rgba(76,141,255,.16);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M4 8.4l2.6 2.6L12 5.6' fill='none' stroke='%238CB4FF' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/></svg>")}
.offer.alf .fine{background:rgba(76,141,255,.06);border-color:rgba(76,141,255,.24)}
/* Grille « Pourquoi nous » en 2 × 2 */
.city-grid.why{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px){.city-grid.why{grid-template-columns:minmax(0,1fr)}}
.city-card .k.blue{color:var(--blue-hi)}
.nw{white-space:nowrap}
.city-card.tech{border-color:rgba(76,141,255,.35);background:radial-gradient(520px circle at 100% 0%,rgba(76,141,255,.16),transparent 60%),linear-gradient(180deg,#0E1738,#0B1022)}
.city-card.gold{border-color:rgba(212,175,106,.45);background:radial-gradient(520px circle at 0% 0%,rgba(212,175,106,.16),transparent 60%),linear-gradient(180deg,#101C42,#0B1535)}
/* Bleu réservé à la tech : les boutons fantômes des contextes Alfred restent bleus au survol */
.city-card.tech .btn-ghost:hover,.offer.alf .btn-ghost:hover{border-color:var(--blue);color:var(--blue-hi)}

/* --- Styles en ligne remplacés par des classes --- */
.fine b{color:var(--ink)}
.fine a,details p a,.consent a{color:var(--gold-hi)}
.offer:not(.hot):not(.alf) .fine{background:rgba(170,190,255,.05);border-color:var(--line-2)}
.offer.alf .fine a{color:var(--blue-hi)}
.compare caption{caption-side:top;text-align:left;padding:22px 26px 0;font-size:.75rem;line-height:1.5;color:var(--muted)}
.founder-facts{margin-top:30px;font-family:var(--mono);font-size:.71875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);line-height:1.8}
.trust-band{padding-top:clamp(36px,5vw,64px)}

/* =========================================================
   CORRECTIFS v8 — fondateur (portrait détouré), cartes logement,
   preuves (chiffres, avis). Pas de !important ici non plus.
   ========================================================= */

/* --- Accessibilité : texte lu par les lecteurs d'écran, invisible à l'écran --- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* --- Fondateur : texte à gauche, portrait détouré à droite ---
   <div class="wrap founder-grid"><div class="founder-text">…</div>
   <figure class="founder-figure" data-requires="fondateur.photo"><img id="founder-photo"></figure></div> */
.founder-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(32px,5vw,80px);align-items:center}
.founder-grid:has(> .founder-figure[hidden]){grid-template-columns:minmax(0,1fr)}
.founder-text{position:relative;z-index:1;min-width:0}
.founder-grid .quote{font-size:clamp(2rem,3.7vw,3.625rem);max-width:21ch}
/* Le grand guillemet décoratif passe à gauche, devant la citation : la droite est au portrait */
.founder:has(.founder-figure:not([hidden]))::before{right:auto;left:-1%;top:-7%}
.founder-figure{position:relative;isolation:isolate;margin:0;min-width:0;display:grid;place-items:end center;align-self:center}
/* Halo doré derrière le buste (pas de cercle net : le dégradé s'éteint jusqu'au transparent) */
.founder-figure::before{content:"";position:absolute;z-index:-1;left:50%;top:44%;width:min(135%,640px);aspect-ratio:1;translate:-50% -50%;pointer-events:none;background:radial-gradient(closest-side,rgba(240,213,156,.26),rgba(212,175,106,.11) 44%,rgba(212,175,106,.035) 68%,rgba(212,175,106,0))}
/* Fondu du bas vers le fond de la section (--night-2) : le buste coupé se fond dans la nuit */
/* (descend 72 px sous la figure pour couvrir aussi l'ombre portée du buste) */
.founder-figure::after{content:"";position:absolute;z-index:1;left:-15%;right:-15%;bottom:-72px;height:calc(34% + 72px);pointer-events:none;background:linear-gradient(180deg,rgba(13,24,57,0) 0%,rgba(13,24,57,.55) 30%,rgba(13,24,57,.9) 52%,var(--night-2) calc(100% - 80px))}
/* Largeur pilotée (418 px = 520 px de haut au ratio 555 × 690 du portrait) : la place est réservée
   avant chargement grâce aux attributs width/height ; max-height + contain protègent un autre format. */
.founder-figure img{display:block;width:min(418px,100%);height:auto;max-height:520px;object-fit:contain;object-position:50% 100%;filter:drop-shadow(0 30px 44px rgba(3,6,20,.55)) drop-shadow(0 0 1px rgba(240,213,156,.18));-webkit-mask-image:linear-gradient(270deg,transparent 0,#000 9%);mask-image:linear-gradient(270deg,transparent 0,#000 9%)}
@media (max-width:900px){
  .founder-grid{grid-template-columns:minmax(0,1fr);gap:0}
  .founder-figure{order:-1;align-self:auto}
  .founder-figure img{width:min(290px,100%);max-height:360px}
  .founder-figure::before{top:48%;width:min(120%,440px)}
  .founder-figure:not([hidden]) + .founder-text,.founder-figure:not([hidden]) ~ .founder-text{margin-top:-28px}
  .founder:has(.founder-figure:not([hidden]))::before{display:none}
}
/* Ordinateur : le buste s'appuie sur le bas de la section (la marge négative annule le padding bas de .block) */
@media (min-width:901px){
  .founder-figure{align-self:end;margin-bottom:calc(-1 * clamp(90px,12vw,170px))}
  .founder-figure::after{bottom:0;height:18%}
  .founder-text{align-self:center}
}

/* --- Cartes logement : type, note, badge pays --- */
.stay-img img{display:block}
.stay-img.no-photo{background:radial-gradient(420px circle at 80% 0%,rgba(212,175,106,.16),transparent 60%),linear-gradient(180deg,#13214C,#0B1535)}
.stay-img .stay-country{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;gap:7px;padding:6px 11px 6px 9px;border-radius:100px;background:rgba(6,12,34,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(212,175,106,.42);font-family:var(--mono);font-size:.65625rem;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-hi)}
.stay-img .stay-country::before{content:"";flex:none;width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px rgba(212,175,106,.7)}
.stay-type{font-family:var(--mono);font-size:.65625rem;line-height:1.3;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.stay-body .stay-type + h3{margin-top:-4px}
.stay-rating{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 7px;font-size:.875rem;line-height:1.35;color:var(--muted)}
.stay-rating b{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.stay-rating .stay-star{color:var(--gold-hi);font-size:.8125rem}
.stay-rating .stay-sep{color:var(--muted);opacity:.6}

/* --- Preuves : chiffres (1 ligne sur ordinateur, 2 × 2 sur tablette et téléphone, 1 colonne < 360 px) --- */
.proof-nums{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
.proof-num strong{white-space:nowrap;font-variant-numeric:tabular-nums}
@media (max-width:900px){
  .proof-nums{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}
  .proof-num:nth-child(odd){border-left:none}
  .proof-num:nth-child(n+3){border-top:1px solid var(--line)}
}
@media (max-width:520px){
  .proof-num{padding:22px 18px}
  .proof-num strong{font-size:2.5rem}
  .proof-num span{font-size:.84375rem;line-height:1.45}
}
@media (max-width:359px){
  .proof-nums{grid-template-columns:minmax(0,1fr)}
  .proof-num{border-left:none}
  .proof-num + .proof-num{border-top:1px solid var(--line)}
}

/* --- Preuves : avis (étoiles = vraie note ; pied de carte aligné en bas) --- */
.review{display:flex;flex-direction:column;gap:16px}
.review .stars{display:inline-flex;align-self:flex-start;line-height:1}
.review .stars-off{color:rgba(212,175,106,.3)}
.review footer{margin-top:auto;flex-direction:column;align-items:flex-start;gap:3px;padding-top:14px;border-top:1px solid var(--line)}
.review footer b{font-size:.90625rem}
.review footer span{font-family:var(--mono);font-size:.65625rem;line-height:1.55;letter-spacing:.1em;text-transform:uppercase}
/* Téléphone : les avis défilent à l'horizontale (comme la galerie « 09:00 ») */
@media (max-width:560px){
  .reviews{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;margin-inline:calc(-1 * clamp(16px,4vw,56px));padding-inline:clamp(16px,4vw,56px);scroll-padding-inline:clamp(16px,4vw,56px);padding-bottom:8px;scrollbar-width:none}
  .reviews::-webkit-scrollbar{display:none}
  .reviews .review{scroll-snap-align:start}
}

/* =========================================================
   CORRECTIFS v9 — conversion (retours propriétaires) :
   petits caractères plus lisibles, tableau « Qui fait quoi »
   en cartes sur téléphone, liens villes, liens d'appel.
   Pas de !important ici non plus.
   ========================================================= */

/* --- Petits caractères : un cran plus grands ; ≥ 15 px et plus clairs sur téléphone --- */
.fine{font-size:.875rem}
.small{font-size:.8125rem}
@media (max-width:600px){
  .fine,.small{font-size:.9375rem;line-height:1.55;color:var(--ink-2)}
}

/* --- « Qui fait quoi » : une carte par ligne sous 600 px (libellés des colonnes via td[data-label]) --- */
@media (max-width:600px){
  .compare-wrap{overflow:visible;border:none;border-radius:0;background:none}
  .compare{display:block;min-width:0}
  .compare caption{display:block;padding:0 0 14px}
  .compare thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .compare tbody{display:grid;gap:12px}
  .compare tbody tr{display:grid;border:1px solid var(--line);border-radius:20px;background:rgba(13,24,57,.6);overflow:hidden}
  .compare tbody th,.compare td{display:block;padding:14px 18px;border-top:none;white-space:normal}
  .compare td{border-top:1px solid var(--line)}
  .compare td[data-label]::before{content:attr(data-label);display:block;margin-bottom:4px;font-family:var(--mono);font-size:.65625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
  .compare td:nth-child(2)[data-label]::before{color:var(--gold-hi)}
}

/* --- Liens vers les pages villes, sous les portes d'entrée --- */
.door-cities{margin-top:clamp(18px,2vw,26px);font-size:.90625rem;line-height:1.9;color:var(--muted)}
.door-cities b{font-weight:600;color:var(--ink-2)}
.door-cities a{color:var(--ink-2);text-decoration:underline;text-decoration-color:rgba(212,175,106,.45);text-underline-offset:3px;transition:color .2s}
.door-cities a:hover{color:var(--gold-hi)}

/* --- Liens d'appel et liens dans les textes d'introduction --- */
.direct .go svg{width:18px;height:18px;fill:currentColor}
.faq-l .lead a,.sec-head .lead a,.trust a{color:var(--gold-hi);text-underline-offset:3px}
.foot-bot .co-id a{text-decoration:underline;text-underline-offset:3px}

/* =========================================================
   CORRECTIFS v10 — retours des propriétaires (panels, sept. 2026) :
   tailles de texte en rem (suivent le zoom et la taille de police du
   lecteur ; identiques à 16 px par défaut), formulaires fiables, barre
   du bas, preuves (Google, avis liés), simulateur honnête, FAQ « Votre cas ».
   L'ordinateur ne change pas, sauf ajouts demandés. Pas de !important,
   sauf pour neutraliser une animation.
   ========================================================= */

/* --- Lisibilité : petites mentions grises ≥ 13 px ; sur téléphone, étiquettes mono ≥ 12 px --- */
.note,.compare caption{font-size:.8125rem}
@media (max-width:760px){
  .direct small,.review footer span,.founder-facts,.proof-plat,.ev .who,.crumbs,.compare thead th,.tag,.stay-type,.door-k,.stat .k,.city-card .k,.step .dur,.foot-top .foot-h,.flabel,.field label{font-size:.75rem}
}
/* étiquettes mono clés : 13 px à toutes les largeurs (après la règle téléphone pour l'emporter) */
.tag,.city-card .k,.direct small,.stat .k,.door-k{font-size:.8125rem;letter-spacing:.12em}

/* --- Hero : boutons et preuves visibles sans défiler sur les écrans d'ordinateur peu hauts --- */
@media (min-width:761px){
  .hero h1{font-size:clamp(3.25rem,min(9.4vw,12.5vh),9.875rem)}
  .page-hero h1{font-size:clamp(3.25rem,min(8vw,11vh),8rem)}
}
@media (min-width:761px) and (max-height:900px){.hero h1{margin-block:16px 22px}.proof{margin-top:26px}}

/* --- Intro du haut de page en CSS (plus d'attente du script, texte jamais masqué) --- */
@media (prefers-reduced-motion:no-preference){
  .hero h1 .ln > span,.page-hero h1 .ln > span{animation:lnUp 1.2s cubic-bezier(.16,1,.3,1) both}
  .hero h1 .ln + .ln > span,.page-hero h1 .ln + .ln > span{animation-delay:.08s}
  .hero h1 .ln + .ln + .ln > span,.page-hero h1 .ln + .ln + .ln > span{animation-delay:.16s}
  .h-in{animation:hIn .9s .25s cubic-bezier(.16,1,.3,1) both}
}
@keyframes lnUp{from{transform:translateY(115%) rotate(3deg)}}
@keyframes hIn{from{transform:translateY(18px)}}

/* --- En-tête : bouton d'appel (icône seule quand la place manque) --- */
.nav-tel{gap:8px;padding-inline:14px}
.nav-tel svg{flex:none;width:16px;height:16px}
@media (max-width:1240px){.nav-tel{font-size:0;gap:0;width:40px;height:40px;padding:0}}
.nav-pill.tight .nav-tel{font-size:0;gap:0;width:40px;height:40px;padding:0}

/* --- Badge Google (note factuelle, lien vers la fiche) --- */
.g-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:100px;background:rgba(6,12,34,.72);border:1px solid rgba(212,175,106,.38);color:var(--ink);font-family:var(--sans);font-size:.8125rem;font-weight:600;line-height:1.2;letter-spacing:0;text-transform:none;text-decoration:none;white-space:nowrap;transition:border-color .25s,background .25s}
.g-badge > span[aria-hidden],.g-badge .g-star{color:var(--gold-hi);font-size:.9375rem;line-height:1}
.g-badge:hover{border-color:var(--gold);background:rgba(212,175,106,.1)}
.g-badge small{font-weight:400;font-size:.75rem;color:var(--muted)}

/* --- Pastilles de garanties sous le hero (.reassure : ul > li, dernier li = lien vers les conditions) --- */
.reassure{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.reassure > li,.reassure > span{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:100px;border:1px solid var(--line-2);background:rgba(255,255,255,.025);font-size:.84375rem;line-height:1.3;color:var(--ink-2)}
.reassure > li::before,.reassure > span::before{content:"";flex:none;width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px rgba(212,175,106,.6)}
.reassure > li:has(> a:only-child){border-color:transparent;background:none;padding-inline:4px}
.reassure > li:has(> a:only-child)::before{display:none}
.reassure a{color:var(--gold-hi);text-decoration:none;text-underline-offset:3px}
.reassure a:hover{text-decoration:underline}
.page-hero .reassure{margin-top:4px}

/* --- Offres : équivalent HT, base de calcul, relevé mensuel (exemple) --- */
.pct-ht{font-family:var(--mono);font-size:.71875rem;letter-spacing:.08em;color:var(--muted);margin-top:-6px}
.offers-base{margin-top:24px}
details.releve,details.compare-more{border-bottom:none}
details.releve{margin-top:14px}
details.releve > summary{display:inline-flex;align-items:center;gap:12px;padding:10px 0;font-family:var(--sans);font-weight:600;font-size:.9375rem;line-height:1.35;color:var(--gold-hi)}
details.releve > summary::after{position:static;flex:none;width:28px;height:28px;margin:0}
details.releve .compare-wrap{margin-top:10px;max-width:720px}
details.releve > .small{margin-top:12px;max-width:720px}
@media (min-width:761px){.compare-more > summary{display:none}}
@media (max-width:760px){
  .compare-more{margin-top:24px}
  .compare-more > summary{display:flex;justify-content:center;align-items:center;width:100%;padding:15px 20px;border-radius:100px;border:1px solid var(--line-2);background:rgba(255,255,255,.02);font-family:var(--sans);font-weight:600;font-size:.96875rem;line-height:1.3;text-align:center}
  .compare-more > summary::after{display:none}
  .compare-more[open] > summary{border-color:var(--gold);color:var(--gold-hi);margin-bottom:12px}
}

/* --- Services sur téléphone : carrousel horizontal, dessins affichés d'emblée --- */
@media (max-width:760px){
  .hs-track{flex-direction:row;width:auto;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;scroll-padding-inline:clamp(16px,4vw,56px)}
  .hs-track::-webkit-scrollbar{display:none}
  .hs-track .panel{flex:0 0 84%;width:auto;height:auto;min-height:0;scroll-snap-align:start}
  .hs-track .panel .illu svg{max-height:120px}
  .hs .draw [pathLength]{stroke-dashoffset:0!important}
}

/* --- FAQ en groupes (« Votre cas » en tête, questions courtes en accordéon) --- */
.faq-group + .faq-group{margin-top:clamp(40px,5vw,64px)}
.faq-group > .eyebrow{margin-bottom:10px}
.faq-group > .eyebrow + details{border-top:1px solid var(--line)}
.faq-cases summary{font-size:clamp(1.125rem,1.6vw,1.375rem);padding-block:20px}
.faq-cases details p{padding-bottom:20px}

/* --- Simulateur : 5 types de bien, mois disponibles, loyer actuel, hypothèses, avertissement --- */
.seg{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(max-content,1fr)}
@media (max-width:420px){.seg{gap:4px;padding:4px}.seg label{font-size:.8125rem;padding-inline:4px}}
.sim-grid>*{min-width:0}
@media (max-width:420px){html[lang="en"] .seg{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(3,minmax(0,1fr))}}
.sim-hyp{color:var(--muted)}
.sim-warn{display:flex;gap:9px;align-items:flex-start;color:#FFD58A}
.sim-warn::before{content:"!";flex:none;display:grid;place-items:center;width:18px;height:18px;margin-top:.1em;border-radius:50%;border:1px solid rgba(255,213,138,.5);font-family:var(--mono);font-size:.6875rem;font-weight:600}
.net-line{flex-wrap:wrap}
.net-line > span{min-width:0;flex:1 1 220px}

/* --- Formulaires : libellés lisibles, erreurs sous chaque champ, ligne d'accord, échec d'envoi --- */
#etude{scroll-margin-top:90px}
.lead-form .field label{font-family:var(--sans);font-size:.84375rem;letter-spacing:0;text-transform:none;color:var(--ink-2)}
.lead-form .field label em,.lead-form .field label .opt{font-style:normal;font-weight:400;color:var(--muted)}
.lead-form [aria-invalid="true"]{border-color:#FF9C88}
.f-err{font-size:.8125rem;line-height:1.45;color:#FF9C88;margin:0}
.f-hint{font-size:.8125rem;line-height:1.45;color:var(--ink-2);margin:0}
.f-fix{font:inherit;font-weight:600;color:var(--gold-hi);background:none;border:none;padding:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.form-note{font-size:.8125rem;line-height:1.5;color:var(--muted);margin:0}
.form-note a{color:var(--gold-hi)}
.err.err-box{display:grid;gap:12px;padding:16px;border-radius:16px;border:1px solid rgba(255,156,136,.4);background:rgba(255,156,136,.07);color:var(--ink)}
.err-msg{color:#FFB4A6;font-weight:600;line-height:1.45}
.err-acts{display:flex;flex-wrap:wrap;gap:8px}
.err-mail{justify-self:start;font-size:.875rem;color:var(--gold-hi);text-underline-offset:3px}
button[aria-busy="true"]{cursor:progress;opacity:.7}

/* --- Écran de fin : numéro en grand, actions --- */
.ok-num{display:grid;gap:4px;justify-items:start}
.ok-num a{font-family:var(--serif);font-weight:700;letter-spacing:-.02em;font-size:clamp(2rem,4vw,2.75rem);line-height:1;color:var(--gold-hi);text-decoration:none;font-variant-numeric:tabular-nums;white-space:nowrap}
.ok-num small{font-size:.875rem;line-height:1.45;color:var(--muted)}
.ok-acts{display:flex;flex-wrap:wrap;gap:10px}

/* --- Avis : lien vers l'annonce ou la fiche Google --- */
.rev-link{font-family:var(--mono);font-size:.71875rem;letter-spacing:.1em;color:var(--gold-hi);text-decoration:none;margin-top:6px}
.rev-link:hover{text-decoration:underline;text-underline-offset:3px}
.rev-tr{margin-top:6px;color:var(--muted)}
.review p.rev-tr{font-size:.9375rem;line-height:1.55;color:var(--muted)} /* traduction sous l'original (page anglaise) : plus discrète que .review p */

/* --- Mini-portrait du fondateur, barre de confiance à 6 éléments (partenaires), bandeau propriétaire (Alfred) --- */
.founder-mini{display:flex;align-items:center;gap:12px;margin-top:14px;color:var(--muted)}
.founder-mini img{width:44px;height:44px;flex:none;border-radius:50%;object-fit:cover;object-position:50% 15%;border:1px solid var(--line)}
@media (min-width:1001px){
  .trust.t6{grid-template-columns:repeat(3,minmax(0,1fr))}
  .trust.t6 li:nth-child(3n+1){border-left:none}
  .trust.t6 li:nth-child(n+4){border-top:1px solid var(--line)}
}
.alf-owner{margin-top:10px}

/* --- Pages villes : logements réels et avis (bloc .city-proof sur fond sombre) --- */
.city-proof .wrap{display:grid;gap:clamp(20px,3vw,32px);justify-items:start}
.city-proof .wrap > *{max-width:100%}
.city-proof .day-gallery{width:100%}
.city-proof .day-shot figcaption b{color:var(--ink)}
.city-proof .day-shot figcaption span{color:var(--muted)}
.city-proof .review{max-width:720px}
.city-proof .review footer{flex-direction:column}

/* --- Barre du bas (téléphone) : WhatsApp, Appeler, étude ; masquée sur le formulaire et le bandeau cookies --- */
.mobile-cta{transition:transform .35s var(--ease),opacity .35s}
.mobile-cta .mc-ico{flex:0 0 50px;padding:0;display:grid;place-items:center}
.mobile-cta .mc-ico svg{width:22px;height:22px}
.mcta-off .mobile-cta,.consent-open .mobile-cta{transform:translateY(150%);opacity:0;pointer-events:none}
@media (max-width:760px){
  body.has-mcta .wa-float{display:none}
  .consent-bar{bottom:calc(12px + env(safe-area-inset-bottom,0px));padding:14px;gap:10px;font-size:.8125rem}
  .consent-bar .row{flex-wrap:nowrap}
  .consent-bar .btn{flex:1}
}

/* --- Cartes logement (logements.html, logements similaires) : toute la carte mène à la page du logement --- */
.stay-a{display:flex;flex-direction:column;flex:1;color:inherit;text-decoration:none;border-radius:inherit}
.stay-a:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}
.stay-a .stay-cta{pointer-events:none}
.stay-a:hover .stay-cta .btn-gold{box-shadow:0 16px 40px -10px rgba(212,175,106,.75),inset 0 1px 0 rgba(255,255,255,.4)}

/* --- Liens des communes (pastilles .chips, pages villes) --- */
.chips a{color:inherit;text-decoration:underline;text-decoration-color:rgba(212,175,106,.45);text-underline-offset:3px}

/* Menu à 8 liens (Services + Blog) : liens resserrés, jamais coupés sur deux lignes (le menu mobile ≤ 980 px n'est pas concerné) */
@media (min-width:981px){.nav-pill .menu a{padding-left:6px;padding-right:6px;white-space:nowrap}}

/* --- Téléphone (corrections du 25/09) : menu mobile complet, titre d'accueil plus court, cibles tactiles ≥ 44 px,
       mentions lisibles. Les liens en ligne gagnent une zone de clic verticale sans changer la mise en page. --- */
@media (min-width:981px){.menu a.m-only{display:none}}
.pct-ht{font-size:.8125rem;letter-spacing:.06em}
@media (max-width:760px){
  .hero h1{font-size:clamp(2.5rem,11.2vw,3.5rem);line-height:.95}
  .g-badge{min-height:44px;padding-block:10px}
  .filters button{min-height:44px}
  .foot-top a{padding:10px 0}
  .foot-bot a,.crumbs a,.chips a,.lp-loc a,.door-cities a,.reassure a{display:inline-block;padding-block:14px;margin-block:-14px}
  .rev-link{display:inline-flex;align-items:center;min-height:44px;margin-top:0}
}

/* Téléphone, bandeau cookies ouvert : la barre du bas reste visible quand aucun bouton du haut n'est à l'écran (pages logement, /logements) ; le bandeau passe au-dessus */
@media (max-width:760px){
  body.consent-open:not(.mcta-off) .mobile-cta{transform:none;opacity:1;pointer-events:auto}
  body.consent-open.has-mcta:not(.mcta-off) .consent-bar{bottom:calc(86px + env(safe-area-inset-bottom,0px))}
  body.has-mcta .consent-bar{transition:bottom .35s var(--ease)}
}

/* Nuit (minuit-9 h) : numéro affiché sans lien d'appel (main.js). Barre du bas : flex-basis libéré (.mc-ico le fixe à 50 px). */
.tel-night{margin:10px 0 0;font-size:.9375rem;color:var(--muted)}
.nav-tel.is-night,.nav-call.is-night{cursor:default}
.nav-tel .n9,.nav-call .n9{font-size:.75em;opacity:.8}
.mobile-cta .mc-tel.mc-night{flex:0 0 auto;width:auto;min-width:44px;padding:0 10px;font-size:.8125rem;font-weight:600;white-space:nowrap}
