*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --ink:#100C0A;
  --ink2:#1C1511;
  --ink3:#261E18;
  --cream:#F5F0E8;
  --cream2:rgba(245,240,232,.74);
  --cream3:rgba(245,240,232,.5);
  --rose:#C4726A;
  --rose-light:#D98E86;
  --rose-soft:rgba(196,114,106,.14);
  --gold:#D4A84B;
  --line:rgba(245,240,232,.1);
  --line2:rgba(245,240,232,.2);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'DM Sans',system-ui,-apple-system,sans-serif;
  --pad:clamp(1.25rem,5vw,4rem);
  --max:1160px;
  /* Mise en page (réglée dans l'admin, menu « Mise en page ») */
  --fs-base:16px;--title-scale:1;--title-weight:300;--body-weight:300;--lh:1.6;--title-ls:-.01em;--title-case:none;
  --eyebrow-case:uppercase;--eyebrow-ls:.2em;--link-deco:underline;
  --btn-radius:999px;--btn-py:1rem;--btn-px:1.5rem;--btn-fs:.95rem;--btn-weight:500;--btn-case:none;--btn-ls:normal;--btn-bw:1px;--btn-shadow:none;
  --radius:1.25rem;--field-radius:.8rem;--card-bw:1px;--card-shadow:none;--card-bg:rgba(28,21,17,.6);--divider:1px;
  --space:1;--gap:1.25rem;--speed:1;--bullet:"♥";--shade-rgb:0,0,0;
  --glow-1:rgba(196,114,106,.18);--glow-2:rgba(212,168,75,.06);
}
html{font-size:var(--fs-base);}
/* Mode clair par défaut (pages fixes comme la page d'erreur ; remplacé par les réglages de l'admin ailleurs) */
@media (prefers-color-scheme:light){:root{--ink:#F6F1EA;--ink2:#FFFFFF;--ink3:#FFFFFF;--cream:#2A211C;--cream2:#6F6259;--cream3:rgba(111,98,89,.7);--rose-light:#A85A52;--btn-text:#FFFFFF;--gold:#B8862B;--line:rgba(42,33,28,.1);--line2:rgba(42,33,28,.2);--shade-rgb:40,30,20;color-scheme:light;}}
:root[data-scheme=dark]{--ink:#100C0A;--ink2:#1C1511;--ink3:#261E18;--cream:#F5F0E8;--cream2:rgba(245,240,232,.74);--cream3:rgba(245,240,232,.5);--rose-light:#D98E86;--btn-text:#100C0A;--gold:#D4A84B;--line:rgba(245,240,232,.1);--line2:rgba(245,240,232,.2);--shade-rgb:0,0,0;color-scheme:dark;}
:root[data-scheme=light]{--ink:#F6F1EA;--ink2:#FFFFFF;--ink3:#FFFFFF;--cream:#2A211C;--cream2:#6F6259;--cream3:rgba(111,98,89,.7);--rose-light:#A85A52;--btn-text:#FFFFFF;--gold:#B8862B;--line:rgba(42,33,28,.1);--line2:rgba(42,33,28,.2);--shade-rgb:40,30,20;color-scheme:light;}
html{scroll-behavior:smooth;}
body{
  background:var(--ink);
  color:var(--cream);
  font-family:var(--sans);
  font-weight:var(--body-weight);
  line-height:var(--lh);
  -webkit-font-smoothing:antialiased;
  background-image:
    radial-gradient(60rem 40rem at 85% -10%,var(--glow-1),transparent 60%),
    radial-gradient(40rem 30rem at -10% 60%,var(--glow-2),transparent 60%);
  background-repeat:no-repeat;
}
img{display:block;}
a{color:inherit;}
:focus-visible{outline:2px solid var(--rose-light);outline-offset:3px;border-radius:6px;}

.skip{position:absolute;left:-9999px;top:0;}
.skip:focus{left:1rem;top:1rem;z-index:10;background:var(--cream);color:var(--ink);padding:.5rem 1rem;border-radius:999px;}

/* Header */
.top{
  max-width:var(--max);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:calc(1.25rem + env(safe-area-inset-top,0px)) var(--pad) 1.25rem;
}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-family:var(--serif);font-size:1.5rem;font-weight:400;letter-spacing:.01em;}
.brand-logo{width:auto;max-width:12rem;object-fit:contain;}
.band{width:100%;}
.top-cta{font-size:.85rem;font-weight:var(--btn-weight);text-transform:var(--btn-case);letter-spacing:var(--btn-ls);text-decoration:none;border:var(--btn-bw) solid var(--btn2-border,var(--line2));color:var(--btn2-fg,inherit);padding:.5rem 1rem;border-radius:var(--btn-radius);transition:border-color .2s,background .2s;}
.top-cta:hover{border-color:var(--rose);background:var(--rose-soft);}
.top-cta-primary{background:var(--btn1-bg,var(--rose));border-color:var(--btn1-bg,var(--rose));color:var(--btn1-fg,var(--btn-text,var(--ink)));}
.top-cta-primary:hover{background:var(--rose-light);border-color:var(--rose-light);}
.top-cta-tertiary{border-color:transparent;padding-left:.25rem;padding-right:.25rem;color:var(--btn3-fg,var(--rose-light));text-decoration:underline;text-underline-offset:.25em;}
.top-cta-tertiary:hover{background:transparent;border-color:transparent;color:var(--cream);}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font:var(--btn-weight) var(--btn-fs)/1 var(--sans);text-transform:var(--btn-case);letter-spacing:var(--btn-ls);
  padding:var(--btn-py) var(--btn-px);border-radius:var(--btn-radius);text-decoration:none;cursor:pointer;
  border:var(--btn-bw) solid transparent;transition:transform .15s,background .2s,border-color .2s,box-shadow .2s;
}
.btn:active{transform:scale(.98);}
.btn-primary{background:var(--btn1-bg,var(--rose));color:var(--btn1-fg,var(--btn-text,var(--ink)));box-shadow:var(--btn-shadow);}
.btn-primary:hover{background:var(--rose-light);}
.btn-ghost{border-color:var(--btn2-border,var(--line2));color:var(--btn2-fg,var(--cream));background:transparent;}
.btn-ghost:hover{border-color:var(--cream3);}
.btn-full{width:100%;}
/* Tertiaire : un simple lien, sans fond ni contour */
.btn-link{background:transparent;border-color:transparent;color:var(--btn3-fg,var(--rose-light));text-decoration:underline;text-underline-offset:.25em;padding-left:.25rem;padding-right:.25rem;}
.btn-link:hover{color:var(--cream);}
.btn.btn-danger-primary{background:var(--err,#c9574c);border-color:var(--err,#c9574c);color:#fff;}
.btn.btn-danger-primary:hover{filter:brightness(1.08);}
.btn.btn-danger-tertiary{border-color:transparent;text-decoration:underline;text-underline-offset:.25em;}

.eyebrow{
  font-size:.75rem;letter-spacing:var(--eyebrow-ls);text-transform:var(--eyebrow-case);color:var(--rose-light);
  font-weight:500;margin-bottom:1rem;
}

/* Hero */
.hero{
  max-width:var(--max);margin:0 auto;
  padding:calc(clamp(2rem,7vw,5rem) * var(--space)) var(--pad) calc(clamp(3rem,8vw,6rem) * var(--space));
  display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4rem);align-items:center;
}
.slogan{font-family:var(--serif);font-weight:var(--title-weight);line-height:1.02;font-size:calc(clamp(3rem,8.5vw,6.2rem) * var(--title-scale));letter-spacing:var(--title-ls);text-transform:var(--title-case);}
.slogan .line{display:block;}
.slogan em{
  display:block;margin-top:1.25rem;
  font-size:calc(clamp(1.5rem,3.4vw,2.35rem) * var(--title-scale));line-height:1.2;color:var(--rose-light);font-weight:var(--title-weight);text-transform:none;
}
.lead{margin-top:1.75rem;max-width:34rem;font-size:clamp(1rem,1.6vw,1.12rem);color:var(--cream2);}
.hero-actions{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.75rem;}
.note{margin-top:1.25rem;font-size:.8rem;color:var(--cream3);}

/* Hero cards */
.hero-visual{position:relative;height:clamp(24rem,46vw,31rem);max-width:22rem;width:100%;justify-self:center;}
.card{
  position:absolute;inset:0 0 4.5rem;border-radius:calc(var(--radius) * 1.2);overflow:hidden;
  border:1px solid var(--line2);box-shadow:0 30px 60px -20px rgba(0,0,0,.7);
  display:flex;align-items:flex-end;
}
.card-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.card.has-image{background:var(--ink2);}
.card::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,transparent 40%,rgba(16,12,10,.88));}
.card-body{color:#EDE6DC!important;}.card-body strong{color:#F5F0E8!important;}
.card-back{transform:rotate(-9deg) translate(-1.5rem,.75rem) scale(.92);background:linear-gradient(145deg,var(--hc-back,#6d4a2e),#261E18 70%);opacity:.55;}
.card-mid{transform:rotate(6deg) translate(1.5rem,.25rem) scale(.95);background:linear-gradient(160deg,var(--hc-mid,#4b5b73),#1C1511 75%);opacity:.8;}
.card-front{background:
  radial-gradient(18rem 14rem at 30% 20%,rgba(212,168,75,.55),transparent 60%),
  linear-gradient(160deg,var(--hc-front,#C4726A),color-mix(in srgb,var(--hc-front,#C4726A) 45%,#1C1511) 55%,#1C1511);}
.card-body{position:relative;z-index:1;padding:1.5rem;display:flex;flex-direction:column;gap:.2rem;font-size:.9rem;color:var(--cream2);}
.card-body strong{font-family:var(--serif);font-weight:400;font-size:calc(2rem * var(--title-scale));color:var(--cream);line-height:1.1;}
.tag{align-self:flex-start;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line2);border-radius:999px;padding:.2rem .6rem;margin-bottom:.5rem;background:rgba(16,12,10,.35);}
.match{margin-top:.6rem;color:var(--gold);font-weight:500;font-size:.8rem;}
.swipe-actions{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:center;gap:1.25rem;}
.round{width:3.25rem;height:3.25rem;border-radius:50%;display:grid;place-items:center;font-size:1.2rem;border:1px solid var(--line2);background:var(--ink2);}
.round-like{background:var(--rose);color:var(--btn1-fg,var(--btn-text,var(--ink)));border-color:var(--rose);}

/* Sections */
section h2{font-family:var(--serif);font-weight:var(--title-weight);font-size:calc(clamp(2rem,4.5vw,3rem) * var(--title-scale));line-height:1.1;letter-spacing:var(--title-ls);text-transform:var(--title-case);}
.steps,.experiences,.audiences,.trust,.waitlist{max-width:var(--max);margin:0 auto;padding:calc(clamp(3rem,8vw,6rem) * var(--space)) var(--pad);}
.steps{border-top:var(--divider) solid var(--line);}
.steps ol{list-style:none;margin-top:2.5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);}
.steps li{padding:1.75rem;border:var(--card-bw) solid var(--line);border-radius:var(--radius);background:var(--card-bg);box-shadow:var(--card-shadow);}
.num{font-family:var(--serif);font-size:1.1rem;color:var(--rose-light);}
.steps h3,.trust h3{font-family:var(--serif);font-weight:max(400,var(--title-weight));font-size:calc(1.6rem * var(--title-scale));margin:.4rem 0 .5rem;letter-spacing:var(--title-ls);text-transform:var(--title-case);}
.steps p,.trust p{color:var(--cream2);font-size:.95rem;}

.audiences{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);padding-top:0;}
.audience{padding:clamp(1.75rem,4vw,2.75rem);border-radius:calc(var(--radius) * 1.2);border:var(--card-bw) solid var(--line);background:linear-gradient(160deg,var(--ink3),var(--ink2));box-shadow:var(--card-shadow);}
.audience-img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:calc(var(--radius) * .8);margin-bottom:1.5rem;}
.audience h2{font-size:calc(clamp(1.8rem,3.4vw,2.4rem) * var(--title-scale));}
.audience ul{list-style:none;margin-top:1.25rem;display:grid;gap:.7rem;}
.audience li{padding-left:1.4rem;position:relative;color:var(--cream2);}
.audience li::before{content:var(--bullet);position:absolute;left:0;top:.05rem;color:var(--rose);font-size:.75rem;}

.experiences{border-top:var(--divider) solid var(--line);}
.ex-intro{max-width:40rem;}
.ex-intro p:last-child{margin-top:1rem;color:var(--cream2);}
.ex-grid{margin-top:2.5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);}
.ex-card{display:flex;flex-direction:column;gap:.5rem;padding:1.75rem;border:var(--card-bw) solid var(--line);border-radius:var(--radius);background:var(--card-bg);box-shadow:var(--card-shadow);}
.ex-tag{align-self:flex-start;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--rose-light);margin:0;}
.ex-card h3{font-family:var(--serif);font-weight:max(400,var(--title-weight));font-size:calc(1.6rem * var(--title-scale));margin:0;letter-spacing:var(--title-ls);text-transform:var(--title-case);}
.ex-card p:last-child{color:var(--cream2);font-size:.95rem;line-height:1.6;margin:0;}
.ex-note{margin-top:1.75rem;max-width:46rem;color:var(--cream2);font-size:.92rem;line-height:1.6;padding-left:1rem;border-left:2px solid var(--rose);}
@media (max-width:900px){.ex-grid{grid-template-columns:1fr;}}
.trust{border-top:var(--divider) solid var(--line);}
.trust-grid{margin-top:2.5rem;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);}
.trust h3{font-size:calc(1.35rem * var(--title-scale));margin-top:0;}

/* Waitlist */
.waitlist{
  display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:start;
  border-top:var(--divider) solid var(--line);
}
.waitlist-intro p:last-child{margin-top:1rem;color:var(--cream2);max-width:26rem;}
.form{
  padding:clamp(1.5rem,4vw,2.5rem);border-radius:calc(var(--radius) * 1.2);border:var(--card-bw) solid var(--line2);
  background:color-mix(in srgb,var(--ink2) 80%,transparent);display:grid;gap:1.25rem;box-shadow:var(--card-shadow);
}
.field{display:grid;gap:.45rem;border:0;}
.field label,.field legend{font-size:.85rem;font-weight:500;color:var(--cream);}
.field legend{margin-bottom:.45rem;}
.opt{font-weight:300;color:var(--cream3);}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
@media (max-width:520px){.field-row{grid-template-columns:1fr;gap:1.25rem;}}
.city-field{position:relative;}
.city-list{position:absolute;z-index:20;left:0;right:0;top:100%;margin:.35rem 0 0;padding:.35rem;list-style:none;max-height:16rem;overflow:auto;
  background:var(--ink2);border:1px solid var(--line2);border-radius:var(--field-radius);box-shadow:0 18px 40px -18px rgba(var(--shade-rgb),.7);}
.city-list li{padding:.65rem .75rem;border-radius:calc(var(--field-radius) * .7);cursor:pointer;font-size:.92rem;line-height:1.3;}
.city-list li small{display:block;color:var(--cream3);font-size:.78rem;}
.city-list li[aria-selected=true],.city-list li:hover{background:var(--rose-soft);}
.city-list li.empty{cursor:default;color:var(--cream2);background:none;}
input[type=text],input[type=email]{
  width:100%;font:400 1rem var(--sans);color:var(--cream);
  background:var(--field-bg-f,var(--field-bg,var(--ink)));border:1px solid var(--field-border,var(--line2));border-radius:var(--field-radius);padding:.9rem 1rem;
  transition:border-color .2s;
}
input::placeholder{color:var(--cream3);}
input[type=text]:focus,input[type=email]:focus{outline:none;border-color:var(--rose);}
.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;}
.choice{position:relative;cursor:pointer;}
.choice input{position:absolute;opacity:0;inset:0;cursor:pointer;}
.choice span{
  display:block;text-align:center;padding:.8rem .5rem;border-radius:var(--field-radius);border:1px solid var(--line2);
  font-size:.9rem;transition:all .2s;
}
.choice input:checked + span{background:var(--rose-soft);border-color:var(--rose);color:var(--cream);}
.choice input:focus-visible + span{outline:2px solid var(--rose-light);outline-offset:2px;}
.consent{display:flex;gap:.75rem;align-items:flex-start;font-size:.82rem;color:var(--cream2);cursor:pointer;}
.consent input{margin-top:.2rem;width:1.1rem;height:1.1rem;accent-color:var(--rose);flex-shrink:0;}
.consent a{color:var(--link,var(--rose-light));text-decoration:var(--link-deco);}
.consent-optional{margin-top:-.25rem;}
.hp{position:absolute;left:-9999px;}

/* Footer */
.foot{
  max-width:var(--max);margin:0 auto;padding:3rem var(--pad) calc(3rem + env(safe-area-inset-bottom,0px));
  border-top:var(--divider) solid var(--line);display:grid;gap:.5rem;text-align:center;
}
.foot-brand{font-family:var(--serif);font-size:calc(1.6rem * var(--title-scale));font-weight:var(--title-weight);}
.foot-slogan{font-family:var(--serif);font-style:italic;color:var(--cream2);font-size:1.05rem;}
.foot nav{margin-top:.5rem;font-size:.85rem;}
.foot nav a{color:var(--cream2);text-decoration:var(--link-deco);}
.foot nav a + a{margin-left:1.2rem;}
.foot-link{background:none;border:0;padding:0;margin-left:1.2rem;font:inherit;color:var(--cream2);text-decoration:var(--link-deco);cursor:pointer;}
.foot nav .foot-link:first-child{margin-left:0;}
/* Bannière cookies */
.cookie[hidden],.cookie [hidden],.city-list[hidden]{display:none !important;}
.cookie{position:fixed;z-index:60;left:max(1rem,env(safe-area-inset-left));right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));
  max-width:34rem;margin-inline:auto;padding:1.25rem 1.35rem;display:grid;gap:.75rem;
  background:var(--ink2);color:var(--cream);border:1px solid var(--line2);border-radius:calc(var(--radius) * 1.1);
  box-shadow:0 24px 60px -20px rgba(var(--shade-rgb),.75);animation:cookie-in .45s cubic-bezier(.2,.7,.2,1) both;}
@keyframes cookie-in{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){.cookie{animation:none;}}
.cookie-title{font:400 1.25rem/1.2 var(--serif);margin:0;}
.cookie-text{font-size:.86rem;color:var(--cream2);line-height:1.55;margin:0;}
.cookie-text a{color:var(--cream);}
.cookie-more{display:grid;gap:.6rem;}
.cookie-opt{display:flex;gap:.7rem;align-items:flex-start;font-size:.84rem;cursor:pointer;}
.cookie-opt input{margin-top:.2rem;accent-color:var(--rose);}
.cookie-opt small{display:block;color:var(--cream3);font-size:.78rem;line-height:1.45;margin-top:.15rem;}
.cookie-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;}
.cookie-actions .btn{flex:1 1 8rem;}
.cookie-actions [data-cookie-settings]{flex:0 0 auto;}
.foot-copy{font-size:.75rem;color:var(--cream3);}

/* Simple pages */
.page{max-width:720px;margin:0 auto;padding:calc(clamp(2rem,6vw,4rem) * var(--space)) var(--pad) 5rem;}
.page h1{font-family:var(--serif);font-weight:var(--title-weight);font-size:calc(clamp(2.4rem,7vw,3.6rem) * var(--title-scale));line-height:1.05;margin-bottom:1.25rem;letter-spacing:var(--title-ls);text-transform:var(--title-case);}
.page h2{font-family:var(--serif);font-weight:max(400,var(--title-weight));font-size:calc(1.5rem * var(--title-scale));color:var(--rose-light);margin:2rem 0 .5rem;}
.page p,.page li{color:var(--cream2);}
.page p + p{margin-top:.5rem;}
.page a:not(.btn){color:var(--link,var(--rose-light));text-decoration:var(--link-deco);}
.page ul{padding-left:1.2rem;display:grid;gap:.35rem;}
.page .btn{margin-top:2rem;}
.center{text-align:center;}
.page h1 + p{margin-bottom:.5rem;}
.center .slogan-small{font-family:var(--serif);font-style:italic;color:var(--rose-light);font-size:1.3rem;margin-top:1rem;}

/* Bandeau de lancement */
.launch-bar{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem .75rem;padding:.6rem var(--pad);
  background:var(--rose-soft);border-bottom:1px solid var(--line);font-size:.88rem;color:var(--cream);text-align:center;}
.launch-bar strong{font-variant-numeric:tabular-nums;letter-spacing:.02em;}
.launch-bar a{color:var(--btn1-fg,var(--btn-text,var(--ink)));background:var(--btn1-bg,var(--rose));border-radius:var(--btn-radius);padding:.35rem .9rem;font-weight:var(--btn-weight);text-transform:var(--btn-case);letter-spacing:var(--btn-ls);text-decoration:none;}
.launch-bar a:hover{background:var(--rose-light);}
.launch-bar a.lb-secondary{background:transparent;border:1px solid currentColor;color:inherit;}
.launch-bar a.lb-secondary:hover{background:rgba(255,255,255,.08);}
.launch-bar a.lb-tertiary{background:transparent;color:inherit;padding:0;text-decoration:underline;text-underline-offset:.25em;}

/* Confidentialité et Mes données */
.privacy .updated{font-size:.8rem;color:var(--cream3);margin:-.5rem 0 1rem;}
.gdpr-list{display:grid;gap:.9rem;margin-top:.75rem;}
.gdpr-item{padding:1.1rem 1.25rem;border:var(--card-bw) solid var(--line);border-radius:calc(var(--radius) * .8);background:var(--card-bg);}
.gdpr-item h3{font-family:var(--serif);font-weight:400;font-size:1.3rem;margin-bottom:.4rem;}
.gdpr-item h3 a{color:var(--cream);}
.muted-line{font-size:.9rem;color:var(--cream3);margin-bottom:.3rem;}
.kvs{display:grid;gap:.45rem;}
.kv{display:grid;grid-template-columns:minmax(7rem,11rem) 1fr;gap:.75rem;font-size:.92rem;}
.kv dt{color:var(--cream3);}
.kv dd{color:var(--cream2);margin:0;}
.page ul.rights{margin-top:.5rem;}
.mydata .md-form{display:grid;gap:1rem;margin-top:1.5rem;padding:clamp(1.25rem,4vw,2rem);border-radius:var(--radius);border:var(--card-bw) solid var(--line2);background:color-mix(in srgb,var(--ink2) 80%,transparent);box-shadow:var(--card-shadow);}
.mydata .md-form .btn{margin-top:0;justify-self:start;}
.mydata .field span{font-size:.85rem;font-weight:500;color:var(--cream);}
.md-msg{padding:.8rem 1rem;border-radius:.8rem;border:1px solid var(--line2);background:var(--rose-soft);color:var(--cream)!important;margin-top:1rem;}
.md-msg.err{background:color-mix(in srgb,var(--err,#e07b70) 15%,transparent);border-color:color-mix(in srgb,var(--err,#e07b70) 45%,transparent);}
.md-box{margin-top:1.5rem;padding:clamp(1.25rem,4vw,2rem);border-radius:var(--radius);border:var(--card-bw) solid var(--line2);background:color-mix(in srgb,var(--ink2) 80%,transparent);display:grid;gap:1rem;box-shadow:var(--card-shadow);}
.md-box h2{margin:0!important;}
.md-box p+p{margin-top:0;}
.md-box select{width:100%;font:400 1rem var(--sans);color:var(--cream);background:var(--field-bg-f,var(--field-bg,var(--ink)));border:1px solid var(--field-border,var(--line2));border-radius:var(--field-radius);padding:.9rem 1rem;}
.md-box .btn{margin-top:0!important;}
.md-actions{display:flex;flex-wrap:wrap;gap:.6rem;}
.md-danger{border-color:color-mix(in srgb,var(--err,#dc5a50) 35%,transparent);}
.btn-danger{background:transparent;border:var(--btn-bw) solid color-mix(in srgb,var(--err,#e07b70) 60%,transparent);color:var(--err,#f0a39b);}
.md-static{font-size:.9rem;color:var(--cream3);}
@media (max-width:560px){.kv{grid-template-columns:1fr;gap:.1rem;}}

/* Mise en forme depuis l'admin */
.sz-s{font-size:.8em;}
.sz-l{font-size:1.25em;}
.sz-xl{font-size:1.6em;}
.sz-xxl{font-size:2em;}
.ff-serif{font-family:var(--serif);}
.ff-sans{font-family:var(--sans);}
.tt-up{text-transform:uppercase;letter-spacing:.04em;}
/* Polices choisies localement (texte par texte) */
.ff-cormorant{font-family:'Cormorant Garamond',Georgia,serif;}.ff-playfair{font-family:'Playfair Display',Georgia,serif;}.ff-fraunces{font-family:'Fraunces',Georgia,serif;}
.ff-lora{font-family:'Lora',Georgia,serif;}.ff-dmserif{font-family:'DM Serif Display',Georgia,serif;}.ff-dmsans{font-family:'DM Sans',system-ui,sans-serif;}
.ff-inter{font-family:'Inter',system-ui,sans-serif;}.ff-manrope{font-family:'Manrope',system-ui,sans-serif;}.ff-poppins{font-family:'Poppins',system-ui,sans-serif;}
.ff-montserrat{font-family:'Montserrat',system-ui,sans-serif;}.ff-system{font-family:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;}
.hero-solo{grid-template-columns:1fr;}
.top-right{display:flex;align-items:center;gap:.6rem;}

/* Langues */
.lang-switch{position:relative;font-size:.8rem;}
.lang-switch summary{list-style:none;cursor:pointer;border:1px solid var(--line2);border-radius:var(--btn-radius);padding:.45rem .8rem;}
.lang-switch summary::-webkit-details-marker{display:none;}
.lang-switch ul{position:absolute;right:0;top:calc(100% + .4rem);z-index:20;list-style:none;min-width:11rem;max-height:60vh;overflow:auto;
  background:var(--ink2);border:1px solid var(--line2);border-radius:.8rem;padding:.35rem;box-shadow:0 20px 40px -15px rgba(0,0,0,.6);}
.lang-switch a{display:block;padding:.45rem .7rem;border-radius:.5rem;text-decoration:none;color:var(--cream2);}
.lang-switch a:hover,.lang-switch a[aria-current]{background:var(--rose-soft);color:var(--cream);}
[dir=rtl] .lang-switch ul{right:auto;left:0;}

/* Effets (texte dynamique) */
.js-anim [data-anim]:not(.in){opacity:0;}
.js-anim [data-anim=slide]:not(.in){transform:translateY(24px);}
.js-anim [data-anim=zoom]:not(.in){transform:scale(.92);}
.js-anim [data-anim]{transition:opacity calc(.8s * var(--speed)) ease,transform calc(.8s * var(--speed)) ease;}
[data-anim=type].in:not(.typed)::after{content:"|";margin-left:.05em;animation:blink 1s steps(1) infinite;}
@keyframes blink{50%{opacity:0;}}
.rotator{display:inline-grid;vertical-align:bottom;}
.rot-item{grid-area:1/1;opacity:0;transform:translateY(.35em);transition:opacity .5s ease,transform .5s ease;}
.rot-item.on{opacity:1;transform:none;}
.marquee{display:block;overflow:hidden;white-space:nowrap;max-width:100%;}
.hero-text,.hero > *,.waitlist > *,.page{min-width:0;}
.marquee-track{display:inline-flex;gap:3rem;animation:marquee 18s linear infinite;}
@keyframes marquee{to{transform:translateX(calc(-50% - 1.5rem));}}

/* Responsive */
@media (max-width:900px){
  .hero{grid-template-columns:1fr;}
  .hero-visual{height:24rem;max-width:18rem;}
  .steps ol{grid-template-columns:1fr;}
  .audiences{grid-template-columns:1fr;}
  .trust-grid{grid-template-columns:1fr 1fr;}
  .waitlist{grid-template-columns:1fr;}
}
@media (max-width:480px){
  .top-cta{display:none;}
  .hero-actions .btn{width:100%;}
  .trust-grid{grid-template-columns:1fr;}
  .choices{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{transition:none!important;}
  .marquee-track{animation:none;}
  .rot-item{position:static;opacity:1;transform:none;}
  .rotator{display:inline;}
  .rot-item:not(:first-child){display:none;}
}

/* Réseaux sociaux et contact (pied de page) */
.foot-social{display:flex;justify-content:center;flex-wrap:wrap;gap:.6rem;margin-top:.6rem;}
.foot-social a{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:var(--btn-radius);border:1px solid var(--line2);color:var(--cream2);transition:color .2s,border-color .2s,background .2s;}
.foot-social a:hover{color:var(--cream);border-color:var(--rose);background:var(--rose-soft);}
.foot-social svg{width:1.1rem;height:1.1rem;}
.foot-contact{font-size:.85rem;}
.foot-contact a{color:var(--link,var(--rose-light));text-decoration:var(--link-deco);}

/* Planche de style (aperçu de l'admin) */
.sg .sg-block{padding-top:calc(2.5rem * var(--space));padding-bottom:calc(2.5rem * var(--space));}
.sg .sg-slogan{font-size:calc(clamp(2.4rem,6vw,4.4rem) * var(--title-scale));}
.sg-link{color:var(--link,var(--rose-light));text-decoration:var(--link-deco);}
.sg-swatches{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem;}
.sg-swatch{display:grid;gap:.4rem;justify-items:center;font-size:.75rem;color:var(--cream3);text-align:center;}
.sg-swatch span{width:3.2rem;height:3.2rem;border-radius:var(--radius);border:1px solid var(--line2);}

/* Bouton soleil/lune */
.scheme-toggle{display:grid;place-items:center;width:2.25rem;height:2.25rem;padding:0;border-radius:var(--btn-radius);border:1px solid var(--line2);background:transparent;color:var(--cream);cursor:pointer;transition:border-color .2s,background .2s;}
.scheme-toggle:hover{border-color:var(--rose);background:var(--rose-soft);}
.scheme-toggle svg{width:1.1rem;height:1.1rem;}
.scheme-toggle .i-sun,html[data-effective=light] .scheme-toggle .i-moon{display:block;}
.scheme-toggle .i-moon,html[data-effective=light] .scheme-toggle .i-sun{display:none;}

/* File d'attente virale (page Merci) */
.viral{display:grid;gap:1rem;margin:2rem auto 1.5rem;max-width:32rem;width:100%;}
.viral[hidden]{display:none;}
.viral-pos{font:400 clamp(1.6rem,5vw,2.2rem)/1.15 var(--serif);color:var(--cream);margin:0;}
.viral-friends{color:var(--rose-light);margin:0;}
.viral-friends[hidden]{display:none;}
.viral-card{display:grid;gap:.8rem;padding:clamp(1.25rem,4vw,1.75rem);border:var(--card-bw) solid var(--line2);border-radius:calc(var(--radius) * 1.1);background:var(--card-bg,var(--ink2));text-align:left;}
.viral-card h2{margin:0;font-size:1.35rem;}
.viral-card p{margin:0;color:var(--cream2);font-size:.92rem;line-height:1.55;}
.viral-link{display:block;padding:.7rem .9rem;border-radius:var(--field-radius);border:1px dashed var(--line2);font-size:.88rem;word-break:break-all;color:var(--cream);}
.viral-actions{display:flex;flex-wrap:wrap;gap:.5rem;}
.viral-actions .btn{flex:1 1 9rem;}
.viral-actions [hidden]{display:none;}

html.ab-pending .hero-text,html.ab-pending .waitlist-intro{visibility:hidden;}
