/* =========================================================
   SONARIS — Variante C « lumineuse et joyeuse »
   Palette : blanc, jaune soleil #fac317, corail #ff7a59 / #b8432a, menthe #3cc9a0 / #0f7a5c, pastels soleil #fff6d6, pêche #ffefe8, menthe #e4f8f0, crème #fff8ec ; texte #2a2420 ; pied de page #2b2622
   Polices locales : Nunito (titres, OFL), Atkinson Hyperlegible (texte, OFL)
   ========================================================= */
@font-face{font-family:"Atkinson";src:url(../fonts/AtkinsonHyperlegible-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Atkinson";src:url(../fonts/AtkinsonHyperlegible-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Atkinson";src:url(../fonts/AtkinsonHyperlegible-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"AtkDigits";src:url(../fonts/PlusJakartaSans-Variable-latin.ttf) format("truetype");font-weight:200 800;unicode-range:U+0030-0039;font-display:swap}
@font-face{font-family:"Nunito";src:url(../fonts/Nunito-latin-wght.woff2) format("woff2");font-weight:200 1000;font-display:swap;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}
@font-face{font-family:"Nunito";src:url(../fonts/Nunito-latinext-wght.woff2) format("woff2");font-weight:200 1000;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+A720-A7FF}

:root{
  --chaud:#ff7a59; --chaud-d:#b8432a; --chaud-dd:#96341f; --creme-p:#fff8ec; --creme-2:#ffdcc8; --creme:#fff8ec;
  --soleil:#fac317; --soleil-l:#ffe38a; --soleil-p:#fff6d6; --soleil-d:#8a5a00;
  --corail:#ff7a59; --corail-d:#b8432a; --peche:#ffefe8;
  --menthe:#3cc9a0; --menthe-d:#0f7a5c; --menthe-p:#e4f8f0;
  --ink:#2a2420; --ink-soft:#4d443d; --muted:#6b6058;
  --ligne:#f1e6d8; --ligne-b:#e6d3bf;
  --anthracite:#3d3d3b; --jaune:var(--soleil); --jaune-soft:var(--soleil-p); --jaune-deep:var(--soleil-d); --ambre:var(--soleil-d);
  --nuit:var(--chaud-d); --nuit-2:var(--chaud-dd); --nuit-3:var(--chaud-dd);
  --on-dark:#fff; --on-dark-soft:#ffe9dc;
  --petrole:var(--menthe-d); --petrole-clair:var(--menthe); --corail-profond:var(--corail-d);
  --sable:var(--creme-p); --brume:var(--creme-p); --blanc:#fff;
  --accent:var(--chaud-d); --accent-ink:#fff; --accent-light:var(--chaud); --glow:transparent;
  --radius:26px; --radius-s:18px;
  --shadow:0 2px 6px rgba(255,122,89,.06),0 16px 36px -18px rgba(60,40,25,.18);
  --shadow-l:0 4px 12px rgba(255,122,89,.08),0 34px 70px -30px rgba(60,40,25,.28);
  --max:1260px; --fs:1.1875rem; /* 19px */
  --font:"AtkDigits","Atkinson",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --display:"Nunito","Atkinson",system-ui,sans-serif;
}
html{font-size:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html.t-l{font-size:112.5%} html.t-xl{font-size:125%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--font);font-size:var(--fs);line-height:1.65;color:var(--ink);background:var(--blanc);text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--display);color:var(--ink);line-height:1.15;letter-spacing:-.02em;margin:0 0 .5em;font-weight:600}
h1{font-size:clamp(2.2rem,4.6vw,3.7rem);font-weight:600;letter-spacing:-.035em}
h2{font-size:clamp(1.75rem,3vw,2.6rem)}
h3{font-size:clamp(1.25rem,1.8vw,1.45rem)}
p{margin:0 0 1.1em} ul,ol{margin:0 0 1.1em;padding-left:1.3em} li{margin-bottom:.4em}
a{color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.2em;text-decoration-color:var(--jaune)}
a:hover{text-decoration-color:var(--ink)}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 6px var(--jaune);border-radius:6px}
strong{font-weight:700}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:1rem;top:-100px;background:var(--jaune);color:var(--ink);padding:.8rem 1.2rem;border-radius:10px;font-weight:700;z-index:100}
.skip:focus{top:1rem}
.wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(1.1rem,4vw,2rem)}
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--display);font-size:.85rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:1rem}
.eyebrow::before{content:"";width:.65rem;height:.65rem;border-radius:50%;background:var(--jaune);box-shadow:0 0 0 4px var(--jaune-soft)}
.lead{font-size:clamp(1.2rem,1.7vw,1.4rem);color:var(--ink-soft);line-height:1.6;max-width:40em}
.todo{display:inline-block;background:#fff1f0;color:#8a1c12;border:1px dashed #c4372a;border-radius:6px;padding:0 .35em;font-size:.9em;font-weight:700;font-family:var(--font)}

/* ---------- Barre utilitaire ---------- */
.util{background:var(--nuit);color:#f1efe9;font-size:.95rem}
.util .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:46px;flex-wrap:wrap}
.util a{color:#fff;text-decoration-color:var(--jaune)}
.util-tools{display:flex;align-items:center;gap:.4rem}
.util-tools span{margin-right:.3rem}
.tbtn{font:inherit;font-weight:700;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:8px;min-width:44px;min-height:36px;cursor:pointer;padding:0 .5rem}
.tbtn[aria-pressed="true"]{background:var(--jaune);color:var(--ink);border-color:var(--jaune)}
.util-left{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
@media (max-width:760px){.util-msg{display:none}}

/* ---------- En-tête ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--ligne)}
.hdr{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:86px}
.brand{flex:none}
.brand img{width:176px;height:auto}
.nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.2rem}
.nav li{margin:0}
.nav a{display:block;padding:.55rem .6rem;border-radius:10px;text-decoration:none;font-weight:700;font-size:.98rem;color:var(--ink);white-space:nowrap}
.nav a:hover{background:var(--creme)}
.nav a[aria-current="page"]{background:var(--jaune-soft);box-shadow:inset 0 -3px 0 var(--jaune)}
.menu-btn{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:54px;padding:.8rem 1.5rem;border-radius:999px;font-family:var(--display);font-weight:600;font-size:1.05rem;text-decoration:none;border:2px solid transparent;cursor:pointer;white-space:nowrap;transition:transform .15s ease,box-shadow .15s ease,background .15s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--jaune);color:var(--ink);box-shadow:0 8px 20px -8px rgba(201,150,0,.7)}
.btn-primary:hover{background:#ffcf33}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#000}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.btn svg{width:1.25em;height:1.25em;flex:none}
.hdr .btn{min-height:48px;padding:.6rem 1.15rem;flex:none}
@media (max-width:1320px){
  .menu-btn{display:inline-flex;align-items:center;gap:.5rem;font:inherit;font-weight:700;background:var(--ink);color:#fff;border:0;border-radius:999px;min-height:48px;padding:0 1.1rem;cursor:pointer}
  .js .nav{display:none} .js .nav.open{display:block}
  .nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--ligne);box-shadow:var(--shadow-l)}
  .no-js .nav{position:static;box-shadow:none;border:0}
  .nav ul{flex-direction:column;align-items:stretch;padding:1rem clamp(1.1rem,4vw,2rem) 1.5rem}
  .nav a{padding:1rem;font-size:1.15rem;border-bottom:1px solid var(--ligne);border-radius:0}
  .hdr .btn-rdv{display:none}
  .hdr{min-height:76px} .brand img{width:160px}
}

/* ---------- Fil d'Ariane ---------- */
.crumbs{font-size:.95rem;color:var(--muted);padding:1.1rem 0 0}
.crumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4rem}
.crumbs li{margin:0}
.crumbs li+li::before{content:"›";margin-right:.4rem;color:var(--muted)}
.crumbs a{color:var(--muted)}

/* ---------- Héros ---------- */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(1200px 500px at 85% -10%,rgba(250,195,23,.20),transparent 60%),
  linear-gradient(180deg,var(--creme),#fff 85%)}
.hero .wrap{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;padding-top:clamp(2.5rem,6vw,5.5rem);padding-bottom:clamp(3rem,6vw,5.5rem)}
.hero h1 .hl{position:relative;white-space:nowrap}
.hero h1 .hl::after{content:"";position:absolute;left:-.05em;right:-.05em;bottom:.06em;height:.28em;background:var(--jaune);z-index:-1;border-radius:4px;opacity:.85}
.hero h1{position:relative;z-index:0}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin:2rem 0 1.6rem}
.hero-proof{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;list-style:none;padding:0;margin:0;color:var(--ink-soft);font-size:1rem}
.hero-proof li{display:flex;align-items:center;gap:.5rem;margin:0}
.hero-proof svg{width:22px;height:22px;color:var(--ink)}
.hero-visual{position:relative}
.hv-card{position:relative;background:var(--nuit);border-radius:32px;padding:4.6rem 2.4rem 2.4rem;color:#fff;box-shadow:var(--shadow-l);overflow:hidden;min-height:470px}
.hv-card svg.waves{position:absolute;right:-120px;bottom:-130px;width:430px;height:430px}
.hv-card h2,.hv-card p{max-width:15em}
.hv-card h2{color:#fff;font-size:1.75rem;margin-bottom:.4rem;position:relative}
.hv-card p{color:#dedbd3;margin:0;position:relative}
.hv-badge{position:absolute;left:-28px;bottom:-26px;background:#fff;border-radius:18px;padding:1rem 1.2rem;box-shadow:var(--shadow-l);display:flex;gap:.9rem;align-items:center;max-width:300px;color:var(--ink)}
.hv-badge img{width:64px;height:64px;border-radius:50%}
.hv-badge strong{display:block;font-family:var(--display);font-size:1rem;line-height:1.25}
.hv-badge span{font-size:.92rem;color:var(--muted);line-height:1.35;display:block}
.hv-year{position:absolute;top:2rem;left:2.2rem;font-family:var(--display);font-size:.9rem;letter-spacing:.14em;text-transform:uppercase;color:var(--jaune)}
@media (max-width:960px){.hero .wrap{grid-template-columns:1fr}.hv-card{min-height:340px}.hv-badge{left:1rem;bottom:-30px}.hero-visual{margin-bottom:2rem}}

/* ---------- Sections ---------- */
.section{padding:clamp(3.5rem,8vw,6.5rem) 0}
.section.tight{padding:clamp(2.5rem,5vw,4rem) 0}
.section.creme{background:var(--creme)}
.section.dark{background:var(--nuit);color:#ecebe6}
.section.dark h2,.section.dark h3{color:#fff}
.section.dark a{color:#fff}
.section-head{max-width:46rem;margin-bottom:clamp(2rem,4vw,3rem)}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section.dark .eyebrow{color:#d9d6cc}
.section.dark .eyebrow::before{box-shadow:0 0 0 4px rgba(250,195,23,.25)}

/* engagements */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.pillar{background:#fff;border:1px solid var(--ligne);border-radius:var(--radius);padding:1.8rem 1.6rem;position:relative}
.pillar .ic{width:56px;height:56px;border-radius:16px;background:var(--jaune-soft);display:grid;place-items:center;margin-bottom:1.2rem}
.pillar .ic svg{width:28px;height:28px}
.pillar h3{font-size:1.2rem}
.pillar p{color:var(--ink-soft);margin:0;font-size:1.05rem}
@media (max-width:1000px){.pillars{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.pillars{grid-template-columns:1fr}}

/* parcours / tuiles */
.paths{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.path{display:flex;flex-direction:column;gap:.6rem;background:#fff;border-radius:var(--radius);padding:1.6rem;text-decoration:none;color:var(--ink);border:1px solid var(--ligne);transition:transform .18s ease,box-shadow .18s ease,border-color .18s;min-height:190px}
.path:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#d4cdbb}
.path .ic{width:48px;height:48px;border-radius:50%;background:var(--ink);color:var(--jaune);display:grid;place-items:center}
.path .ic svg{width:24px;height:24px}
.path strong{font-family:var(--display);font-size:1.18rem;font-weight:600;line-height:1.25;margin-top:.4rem}
.path span{color:var(--ink-soft);font-size:1rem;line-height:1.45}
.path .go{margin-top:auto;font-weight:700;font-size:.98rem;display:flex;align-items:center;gap:.45rem;color:var(--ink)}
.path .go svg{width:20px;height:20px;transition:transform .18s}
.path:hover .go svg{transform:translateX(4px)}
.path.feature{background:var(--jaune);border-color:var(--jaune)}
.path.feature .ic{background:var(--ink);color:var(--jaune)}
.path.feature span{color:var(--ink)}
@media (max-width:1000px){.paths{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.paths{grid-template-columns:1fr}.path{min-height:0}}

/* étapes */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;counter-reset:s}
.steps li{counter-increment:s;position:relative;padding:2rem 1.5rem 1.6rem;border-radius:var(--radius);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);margin:0}
.steps li::before{content:counter(s,decimal-leading-zero);font-family:var(--display);font-size:2.6rem;font-weight:300;color:var(--jaune);display:block;line-height:1;margin-bottom:1rem}
.steps h3{font-size:1.2rem}
.steps p{margin:0;color:#d6d3ca;font-size:1.04rem}
.light .steps li{background:#fff;border-color:var(--ligne)}
.light .steps li::before{color:var(--jaune-deep)}
.light .steps p{color:var(--ink-soft)}
@media (max-width:1000px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.split.top{align-items:start}
@media (max-width:900px){.split{grid-template-columns:1fr}}
.quote{background:#fff;border-radius:32px;padding:clamp(1.8rem,4vw,3rem);box-shadow:var(--shadow);position:relative}
.quote blockquote{margin:0;font-family:var(--display);font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1.4;font-weight:400;letter-spacing:-.01em}
.quote blockquote::before{content:"“";font-size:5rem;line-height:.6;color:var(--jaune);display:block;height:2.4rem}
.quote figcaption{display:flex;align-items:center;gap:1rem;margin-top:1.6rem}
.quote figcaption img{width:72px;height:72px;border-radius:50%}
.quote figcaption strong{display:block;font-family:var(--display)}
.quote figcaption span{color:var(--muted);font-size:1rem}
.src{font-size:.88rem;color:var(--muted);margin-top:1rem}

/* chiffres-clés / remboursement */
.money{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.money .m{border-radius:var(--radius);padding:1.8rem;background:#fff;border:1px solid var(--ligne)}
.money .m.k1{background:var(--ink);color:#fff;border-color:var(--ink)}
.money .m.k1 h3{color:#fff}
.money .m.k1 p{color:#dad7cf}
.money .tag{display:inline-block;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .7rem;border-radius:999px;background:var(--jaune);color:var(--ink);margin-bottom:1rem}
.money .m:not(.k1) .tag{background:var(--sable)}
@media (max-width:700px){.money{grid-template-columns:1fr}}

/* centres */
.centres{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.centre{background:#fff;border-radius:var(--radius);border:1px solid var(--ligne);overflow:hidden;display:flex;flex-direction:column}
.centre .map{height:150px;background:
  linear-gradient(135deg,rgba(250,195,23,.14),rgba(61,61,59,.06)),
  repeating-linear-gradient(0deg,transparent 0 26px,rgba(61,61,59,.06) 26px 27px),
  repeating-linear-gradient(90deg,transparent 0 26px,rgba(61,61,59,.06) 26px 27px),var(--creme);
  position:relative}
.centre .map::after{content:"";position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-26px 0 0 -13px;background:var(--ink);border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 0 0 6px rgba(250,195,23,.6)}
.centre .body{padding:1.5rem 1.6rem 1.7rem;display:flex;flex-direction:column;gap:.8rem;flex:1}
.centre h3{margin:0;font-size:1.35rem}
.centre .sub{color:var(--muted);font-size:.98rem;margin:-.5rem 0 0}
.info{display:flex;gap:.7rem;align-items:flex-start;margin:0;font-size:1.04rem;line-height:1.45}
.info svg{width:22px;height:22px;flex:none;margin-top:.15rem}
.tel{font-family:var(--display);font-weight:600;font-size:1.25rem;text-decoration:none;white-space:nowrap}
.centre .actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:.6rem;padding-top:.6rem}
.centre .actions .btn{min-height:48px;padding:.5rem 1.1rem;font-size:.98rem}
@media (max-width:1000px){.centres{grid-template-columns:1fr}}

/* encart accessibilité */
.callout{display:flex;gap:1.2rem;align-items:flex-start;background:var(--jaune-soft);border-radius:var(--radius);padding:1.6rem 1.8rem;border-left:6px solid var(--jaune)}
.callout svg{width:36px;height:36px;flex:none}
.callout p:last-child{margin:0}
.callout.grey{background:var(--creme);border-left-color:var(--ink)}
.callout.alert{background:#fff4f2;border-left-color:#b3261e}

/* bandeau CTA */
.cta-band{background:var(--jaune);border-radius:32px;padding:clamp(2rem,5vw,3.5rem);display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:center;position:relative;overflow:hidden}
.cta-band h2{margin-bottom:.4rem}
.cta-band p{margin:0;font-size:1.15rem}
.cta-band .acts{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:flex-end}
@media (max-width:860px){.cta-band{grid-template-columns:1fr}.cta-band .acts{justify-content:flex-start}}

/* pages intérieures */
.page-hero{background:linear-gradient(180deg,var(--creme),#fff);padding:1rem 0 clamp(2.5rem,5vw,4rem)}
.page-hero h1{font-size:clamp(2rem,4vw,3.2rem);margin-top:1.4rem;max-width:18em}
.prose{max-width:46rem}
.prose h2{margin-top:2.2rem;font-size:clamp(1.5rem,2.4vw,2rem)}
.prose h3{margin-top:1.6rem}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(2rem,4vw,4rem);align-items:start}
.aside{position:sticky;top:110px;display:flex;flex-direction:column;gap:1rem}
.box{background:var(--creme);border-radius:var(--radius);padding:1.6rem;border:1px solid var(--ligne)}
.box h2,.box h3{font-size:1.2rem;margin-bottom:.8rem}
.box.dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.box.dark h2,.box.dark h3{color:#fff}
.box.dark a{color:#fff}
.box ul{padding-left:1.1em}
@media (max-width:980px){.layout{grid-template-columns:1fr}.aside{position:static}}
.checks{list-style:none;padding:0}
.checks li{position:relative;padding-left:2rem;margin-bottom:.7rem}
.checks li::before{content:"";position:absolute;left:0;top:.3em;width:1.3rem;height:1.3rem;border-radius:50%;background:var(--jaune) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23262624' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/70% no-repeat}
.cards2{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.card{background:#fff;border:1px solid var(--ligne);border-radius:var(--radius);padding:1.6rem}
.card h3{font-size:1.2rem}
.card p:last-child{margin:0}
@media (max-width:900px){.cards3{grid-template-columns:1fr}}
@media (max-width:700px){.cards2{grid-template-columns:1fr}}
.ph{border-radius:var(--radius);background:linear-gradient(135deg,var(--sable),var(--creme));border:2px dashed #cfc6b2;display:grid;place-items:center;text-align:center;color:var(--muted);min-height:240px;padding:1.5rem;font-size:1rem}

/* tableau */
.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--ligne);margin:1.2rem 0 1.6rem;background:#fff}
table{border-collapse:collapse;width:100%;min-width:560px;font-size:1.02rem}
caption{text-align:left;padding:1rem 1.2rem;font-weight:700;font-family:var(--display);background:var(--creme)}
th,td{padding:1rem 1.2rem;text-align:left;vertical-align:top;border-top:1px solid var(--ligne)}
thead th{background:var(--ink);color:#fff;font-family:var(--display);font-weight:600}
tbody th{font-weight:700;width:28%}

/* FAQ */
.faq details{background:#fff;border:1px solid var(--ligne);border-radius:var(--radius-s);margin-bottom:.8rem}
.faq summary{cursor:pointer;list-style:none;padding:1.2rem 3.4rem 1.2rem 1.4rem;font-family:var(--display);font-weight:600;font-size:1.12rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:var(--jaune-soft);display:grid;place-items:center;font-size:1.4rem;line-height:32px;text-align:center}
.faq details[open] summary::after{content:"–"}
.faq details>div{padding:0 1.4rem 1.2rem}
.faq details>div p:last-child{margin:0}

/* formulaire */
.form{background:#fff;border:1px solid var(--ligne);border-radius:28px;padding:clamp(1.4rem,4vw,2.6rem);box-shadow:var(--shadow)}
fieldset{border:0;padding:0;margin:0 0 2rem}
legend{font-family:var(--display);font-weight:600;font-size:1.3rem;margin-bottom:1rem;display:flex;gap:.7rem;align-items:center}
legend .n{width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--jaune);display:inline-grid;place-items:center;font-size:1rem}
.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
.choices.two{grid-template-columns:repeat(2,1fr)}
.choice{position:relative}
.choice input{position:absolute;opacity:0;width:1px;height:1px}
.choice label{display:block;border:2px solid var(--ligne);border-radius:var(--radius-s);padding:1rem 1.1rem;cursor:pointer;height:100%;line-height:1.4;background:#fff}
.choice label small{display:block;color:var(--muted);font-size:.92rem;margin-top:.2rem}
.choice input:checked+label{border-color:var(--ink);background:var(--jaune-soft);box-shadow:inset 0 0 0 1px var(--ink)}
.choice input:focus-visible+label{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 6px var(--jaune)}
@media (max-width:760px){.choices,.choices.two{grid-template-columns:1fr}}
.field{margin-bottom:1.2rem}
.field label{display:block;font-weight:700;margin-bottom:.4rem}
.field .hint{display:block;font-weight:400;color:var(--muted);font-size:.95rem}
input[type=text],input[type=tel],input[type=email],textarea,select{width:100%;font:inherit;font-size:1.1rem;padding:.85rem 1rem;border:2px solid #b9b2a2;border-radius:12px;background:#fff;color:var(--ink);min-height:54px}
input:focus,textarea:focus,select:focus{border-color:var(--ink)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:700px){.grid2{grid-template-columns:1fr}}
.consent{display:flex;gap:.8rem;align-items:flex-start;font-size:1rem}
.consent input{width:26px;height:26px;flex:none;margin-top:.15rem;accent-color:var(--ink)}
.notice{border-radius:var(--radius-s);padding:1.2rem 1.4rem;background:#eaf6ee;border:2px solid #2f7d4a;color:#173f25;margin-top:1rem}
[hidden]{display:none!important}

/* marques */
.logos{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.logos div{border:1px dashed #cfc6b2;border-radius:var(--radius-s);min-height:96px;display:grid;place-items:center;text-align:center;color:var(--muted);font-weight:700;background:#fff;padding:.6rem}
@media (max-width:700px){.logos{grid-template-columns:1fr 1fr}}

/* communes */
.communes{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0}
.communes li{margin:0;background:#fff;border:1px solid var(--ligne);border-radius:999px;padding:.35rem .9rem;font-size:1rem}
.zone{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
@media (max-width:900px){.zone{grid-template-columns:1fr}}

/* horaires */
.hours{width:100%;min-width:0;font-size:1.05rem}
.hours th,.hours td{padding:.6rem 0;border-top:1px solid var(--ligne)}
.hours tr:first-child th,.hours tr:first-child td{border-top:0}

/* pied de page */
.site-footer{background:var(--nuit);color:#dcd9d0;padding:clamp(3rem,6vw,4.5rem) 0 1.5rem;font-size:1rem}
.site-footer a{color:#fff;text-decoration-color:rgba(250,195,23,.7)}
.site-footer h2{color:#fff;font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;font-family:var(--display);font-weight:600;margin-bottom:1rem}
.fgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2rem}
.fgrid ul{list-style:none;padding:0;margin:0}
.fgrid li{margin-bottom:.55rem}
.fbrand img{width:84px;border-radius:50%;margin-bottom:1rem}
.fcentre{margin-bottom:1.1rem}
.fcentre strong{color:#fff;display:block}
.fbottom{border-top:1px solid rgba(255,255,255,.14);margin-top:2.5rem;padding-top:1.4rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;font-size:.92rem;color:#bdb9ae}
.social{display:flex;gap:.6rem;margin-top:1rem}
.social a{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center}
.social svg{width:20px;height:20px}
@media (max-width:960px){.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.fgrid{grid-template-columns:1fr}}

/* barre d'appel mobile */
.mobile-bar{display:none}
@media (max-width:760px){
  .mobile-bar{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--ligne);padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom));box-shadow:0 -10px 30px -12px rgba(0,0,0,.25)}
  .mobile-bar .btn{min-height:52px;padding:.5rem;font-size:1rem}
  body{padding-bottom:78px}
}

@media print{.util,.site-header,.mobile-bar,.site-footer .social{display:none}}

/* ---------- Conversion : réassurance, boîte contact, barre mobile ---------- */
.reassure{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-size:.98rem;color:var(--ink-soft)}
.reassure li{display:flex;align-items:center;gap:.45rem;margin:0}
.reassure svg{width:20px;height:20px;color:var(--ink);background:var(--jaune);border-radius:50%;padding:3px;flex:none}
.reassure.light{flex-direction:column;color:#e8e5dc;margin-top:1.1rem}
.band-reassure{grid-column:1/-1}
.band-reassure .reassure{color:var(--ink)}
.band-reassure .reassure svg{background:#fff}
.contact-box p{color:#e4e1d8}
.contact-box .small{font-size:.92rem;color:#c9c5ba;margin:1rem 0 0}
.cb-list{list-style:none;padding:0;margin:0 0 1.1rem}
.cb-list li{margin:0 0 .5rem}
.cb-tel{display:flex;gap:.8rem;align-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:.7rem .9rem;text-decoration:none}
.cb-tel svg{width:22px;height:22px;color:var(--jaune);flex:none}
.cb-tel strong{display:block;font-size:.92rem;font-weight:400;color:#cfcbc0}
.cb-tel span{font-family:var(--display);font-weight:600;font-size:1.15rem;color:#fff;line-height:1.3}
.call-sheet{display:none}
@media (max-width:760px){
  .mobile-bar{grid-template-columns:1fr 1fr 1fr}
  .mobile-bar .btn{font-size:.95rem;padding:.4rem .3rem;gap:.35rem}
  .mobile-bar .btn-ghost{border-width:2px}
  .call-sheet:not([hidden]){display:block;position:absolute;left:.8rem;right:.8rem;bottom:calc(100% + .5rem);background:#fff;border-radius:20px;box-shadow:var(--shadow-l);padding:1rem;border:1px solid var(--ligne)}
  .cs-title{font-family:var(--display);font-weight:600;margin:0 0 .6rem}
  .cs-item{display:flex;gap:.8rem;align-items:center;padding:.8rem;border-radius:12px;text-decoration:none;border:1px solid var(--ligne);margin-top:.5rem;min-height:56px}
  .cs-item svg{width:24px;height:24px;flex:none}
  .cs-item strong{display:block;font-size:.95rem}
  .cs-item span{font-family:var(--display);font-weight:600;font-size:1.15rem;line-height:1.3}
}
.nav-rdv-m{display:none}
@media (max-width:1320px){.nav-rdv-m{display:block}}
.hero .reassure{margin-top:-.4rem;margin-bottom:1.6rem}
.hv-centres{list-style:none;padding:0;margin:1.6rem 0 0;position:relative;max-width:20rem}
.hv-centres li{margin:0 0 .5rem}
.hv-centres a{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:#fff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:.55rem .9rem;backdrop-filter:blur(4px)}
.hv-centres a:hover{background:rgba(255,255,255,.14)}
.hv-centres svg{width:20px;height:20px;color:var(--jaune);flex:none}
.hv-centres span{flex:1;font-size:.98rem;color:#e2dfd6}
.hv-centres strong{font-family:var(--display);font-weight:600;white-space:nowrap}
.hv-card{min-height:520px}
.card h3 svg.inl{width:26px;height:26px;vertical-align:-5px;margin-right:.35rem;color:var(--jaune-deep)}
.steps.light{margin:1rem 0 1.5rem}
@media (max-width:700px){.steps.light{grid-template-columns:1fr!important}}
.prose .cards2,.prose .cards3{margin:1rem 0 1.5rem}
.prose .callout{margin:1.4rem 0}
.prose .faq{margin-top:1rem}
.layout>*,.hero .wrap>*,.split>*{min-width:0}
@media (max-width:480px){.hero h1 .hl{white-space:normal}.hero h1{font-size:2.05rem}.util-tools span{display:none}}
.form .reassure{margin-top:1.2rem}
@media (max-width:520px){.btn{white-space:normal;text-align:center;max-width:100%}.hdr .btn,.mobile-bar .btn{white-space:nowrap}}
@media (max-width:600px){
  .hv-card{padding:4rem 1.4rem 4.2rem;min-height:0}
  .hv-card svg.waves{width:300px;height:300px;right:-150px;bottom:-150px;opacity:.45}
  .hv-badge{position:relative;left:auto;bottom:auto;margin:-2.4rem 1rem 0;max-width:none}
  .paths{gap:.7rem}
  .path{display:grid;grid-template-columns:48px 1fr;gap:.15rem 1rem;padding:1.1rem 1.2rem;align-items:start}
  .path .ic{grid-row:1/4}
  .path strong{margin-top:0}
  .path .go{margin-top:.3rem}
}

/* ---------- Photos ---------- */
.pic{margin:0;position:relative}
.pic img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:28px;box-shadow:var(--shadow);background:var(--sable)}
.pic figcaption{font-size:.85rem;color:var(--muted);margin-top:.5rem}
.page-hero.has-photo .ph-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.page-hero.has-photo h1{font-size:clamp(2rem,3.6vw,3rem)}
.hero-pic img{aspect-ratio:4/3}
@media (max-width:900px){.page-hero.has-photo .ph-grid{grid-template-columns:1fr}.hero-pic img{aspect-ratio:16/10}}
.hero-visual{position:relative;padding-bottom:3.5rem}
.hero-main img{aspect-ratio:5/4;border-radius:32px;box-shadow:var(--shadow-l)}
.hero-visual .hv-card{position:absolute;left:-2.2rem;right:auto;bottom:0;width:min(23rem,88%);min-height:0;padding:1.4rem 1.4rem 1.2rem;border-radius:24px}
.hero-visual .hv-year{position:static;display:block;margin-bottom:.4rem;font-size:.78rem}
.hv-title{font-family:var(--display);font-weight:500;color:#fff!important;font-size:1.08rem;line-height:1.35;margin:0 0 .3rem!important}
.hero-visual .hv-centres{margin-top:.8rem;max-width:none}
.hero-visual .hv-centres a{padding:.45rem .8rem}
@media (max-width:960px){.hero-visual .hv-card{position:relative;left:auto;width:auto;margin:-3rem 1rem 0}.hero-visual{padding-bottom:0}}
@media (max-width:600px){.hero-visual .hv-card{padding:1.2rem}}
.mono{width:72px;height:72px;border-radius:50%;background:var(--ink);color:var(--jaune);display:grid;place-items:center;font-family:var(--display);font-weight:600;font-size:1.4rem;flex:none}
/* héros : photo pleine, carte centres en chevauchement bas (zone de la table) */
.hero-main img{aspect-ratio:6/5;object-position:50% 30%}
.hero-visual{padding-bottom:0}
.hero-visual .hv-card{position:relative;left:auto;bottom:auto;margin:-5.5rem 0 0 -2.2rem;width:min(24rem,92%)}
@media (max-width:960px){.hero-visual .hv-card{margin:-3rem 0 0 1rem;width:auto;margin-right:1rem}}

/* =========================================================
   Thème « lumineux et joyeux »
   ========================================================= */
body{background:#fff;color:var(--ink)}
body.th-entendre,body.th-base{--accent:var(--soleil-d);--accent-soft:var(--soleil-p);--accent-viv:var(--soleil)}
body.th-proteger{--accent:var(--menthe-d);--accent-soft:var(--menthe-p);--accent-viv:var(--menthe)}
body.th-budget{--accent:var(--corail-d);--accent-soft:var(--peche);--accent-viv:var(--corail)}
::selection{background:var(--soleil-l);color:var(--ink)}
h1,h2,h3,h4{font-family:var(--display);font-weight:800;letter-spacing:-.015em;color:var(--ink)}
h1{font-size:clamp(2.5rem,4.6vw,4.1rem);line-height:1.1;font-weight:900;letter-spacing:-.025em}
h2{font-size:clamp(1.95rem,3.3vw,2.9rem);line-height:1.15}
h3{font-size:clamp(1.25rem,1.7vw,1.45rem);font-weight:800;line-height:1.25}
.lead{color:var(--ink-soft)}
a{color:var(--chaud-d);text-decoration-thickness:2px;text-underline-offset:.2em;text-decoration-color:var(--soleil)}
a:hover{color:var(--ink);text-decoration-color:var(--chaud)}
:focus-visible{outline:3px solid var(--chaud-d);outline-offset:3px;box-shadow:0 0 0 7px var(--soleil-l);border-radius:8px}
.skip{background:var(--soleil);color:var(--ink)}
.eyebrow{font-family:var(--display);font-weight:800;font-size:.9rem;letter-spacing:.12em;color:var(--chaud-d);background:var(--creme-p);padding:.35rem .9rem .35rem .7rem;border-radius:999px}
.eyebrow::before{width:.6rem;height:.6rem;border-radius:50%;background:var(--chaud);box-shadow:none}

/* Barre utilitaire et en-tête */
.util{background:var(--creme-p);color:var(--ink)}
.util a{color:var(--chaud-d)}
.tbtn{background:#fff;color:var(--ink);border:1px solid var(--ligne-b);border-radius:999px}
.tbtn[aria-pressed="true"]{background:var(--chaud-d);color:#fff;border-color:var(--chaud-d)}
.site-header{background:rgba(255,255,255,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:0;box-shadow:0 8px 30px -22px rgba(255,122,89,.45)}
.nav a{font-family:var(--display);font-weight:800;font-size:1.02rem;color:var(--ink);border-radius:999px;padding:.55rem .8rem}
.nav a:hover{background:var(--creme-p);color:var(--chaud-d)}
.nav a[aria-current="page"]{background:var(--soleil-p);box-shadow:none;color:var(--ink)}
.nav a.nv-entendre::before,.nav a.nv-proteger::before,.nav a.nv-budget::before{content:"";display:inline-block;width:.55rem;height:.55rem;border-radius:50%;margin-right:.45rem;vertical-align:.1em;background:var(--chaud)}
.nav a.nv-proteger::before{background:var(--menthe)}
.nav a.nv-budget::before{background:var(--corail)}
.menu-btn{background:var(--chaud-d)!important}

/* Boutons pilule */
.btn{border-radius:999px;font-family:var(--display);font-weight:800;font-size:1.08rem;letter-spacing:0;min-height:56px;padding:.8rem 1.7rem;transition:transform .2s cubic-bezier(.3,1.6,.6,1),box-shadow .2s,background .2s,color .2s,border-color .2s}
.btn:hover{transform:translateY(-3px) scale(1.02)}
.btn-primary{background:var(--soleil);color:var(--ink);box-shadow:0 12px 26px -12px rgba(220,160,0,.75)}
.btn-primary:hover{background:#ffd23f;box-shadow:0 18px 34px -12px rgba(220,160,0,.85)}
.btn-dark{background:var(--chaud-d);color:#fff;box-shadow:0 12px 26px -12px rgba(184,67,42,.7)}
.btn-dark:hover{background:var(--chaud-dd);color:#fff}
.btn-ghost{background:#fff;color:var(--chaud-d);border:2px solid var(--creme-2)}
.btn-ghost:hover{border-color:var(--chaud);background:var(--creme-p);color:var(--chaud-d)}
.btn-ghost-light{background:#fff;color:var(--chaud-d);border:2px solid var(--creme-2)}
.btn-ghost-light:hover{border-color:var(--chaud);background:var(--creme-p);color:var(--chaud-d)}
.hdr .btn{min-height:50px}

/* Héros de l'accueil : blanc lumineux, blobs pastel, photo organique */
.hero{color:var(--ink);background:#fff;overflow:hidden}
.hero::before{content:"";position:absolute;right:-180px;top:-160px;width:760px;height:760px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600'%3E%3Cpath fill='%23ffe38a' d='M455 96c63 47 112 129 101 206-11 78-82 151-160 192-79 41-165 50-228 10C105 464 64 374 58 287 52 200 82 116 146 73c64-43 162-46 236-24 27 8 52 26 73 47z'/%3E%3C/svg%3E") center/contain no-repeat;z-index:0}
.hero::after{content:"";position:absolute;left:-200px;bottom:-260px;width:560px;height:560px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600'%3E%3Cpath fill='%23ffd9c7' d='M430 80c70 40 130 110 120 190s-80 160-160 200-170 30-230-20S60 330 80 250s70-150 140-180 140-30 210 10z'/%3E%3C/svg%3E") center/contain no-repeat;z-index:0;opacity:.9}
.hero .wrap{position:relative;z-index:1;grid-template-columns:1.05fr .95fr;padding-top:clamp(2.6rem,5vw,4.5rem);padding-bottom:clamp(3rem,5.5vw,5rem)}
.hero .wrap::before{content:"";position:absolute;left:clamp(1.1rem,4vw,2rem);bottom:1.4rem;width:208px;height:60px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 208 60' fill='%23ff7a59'%3E%3Crect x='0' y='23.0' width='9' height='14' rx='4.5'/%3E%3Crect x='16' y='17.0' width='9' height='26' rx='4.5'/%3E%3Crect x='32' y='10.0' width='9' height='40' rx='4.5'/%3E%3Crect x='48' y='2.0' width='9' height='56' rx='4.5'/%3E%3Crect x='64' y='12.0' width='9' height='36' rx='4.5'/%3E%3Crect x='80' y='19.0' width='9' height='22' rx='4.5'/%3E%3Crect x='96' y='6.0' width='9' height='48' rx='4.5'/%3E%3Crect x='112' y='0.0' width='9' height='60' rx='4.5'/%3E%3Crect x='128' y='14.0' width='9' height='32' rx='4.5'/%3E%3Crect x='144' y='21.0' width='9' height='18' rx='4.5'/%3E%3Crect x='160' y='9.0' width='9' height='42' rx='4.5'/%3E%3Crect x='176' y='16.0' width='9' height='28' rx='4.5'/%3E%3Crect x='192' y='24.0' width='9' height='12' rx='4.5'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.35}
.hero h1{color:var(--ink);font-size:clamp(2.5rem,4.4vw,3.9rem);line-height:1.12}
.hero h1 .hl{background:linear-gradient(transparent 58%,var(--soleil-l) 58%,var(--soleil-l) 92%,transparent 92%);color:var(--chaud-d);padding:0 .06em;border-radius:0;white-space:normal}
.hero h1 .hl::after{display:none}
.hero .lead{color:var(--ink-soft);max-width:33em}
.hero .btn-ghost-light{background:#fff}
.hero .reassure.light{flex-direction:column;color:var(--ink-soft);margin-top:0;gap:.45rem}
.reassure svg{background:var(--menthe-p);color:var(--menthe-d);border-radius:50%;padding:3px}
.hero .reassure svg,.page-hero .reassure svg{background:var(--menthe-p);color:var(--menthe-d)}
.hero-visual{position:relative}
.hero-visual::before{content:"";position:absolute;right:-18px;top:-14px;width:120px;height:120px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120' fill='none' stroke='%23ff7a59' stroke-width='7' stroke-linecap='round'%3E%3Cpath d='M40 30a40 40 0 0 1 0 60'/%3E%3Cpath d='M60 14a62 62 0 0 1 0 92'/%3E%3Cpath d='M80 0a84 84 0 0 1 0 120' opacity='.55'/%3E%3C/svg%3E") center/contain no-repeat;z-index:2}
.hero-visual::after{content:"";position:absolute;left:-26px;top:38%;width:54px;height:54px;border-radius:50%;background:var(--menthe);box-shadow:70px -260px 0 -12px var(--corail),40px 300px 0 -18px var(--chaud);z-index:0}
.hero-visual .hero-main{position:relative;z-index:1}
.hero-visual .hero-main img{aspect-ratio:1/1;border-radius:58% 42% 52% 48% / 46% 52% 48% 54%;object-position:50% 38%;box-shadow:0 0 0 12px #fff,0 30px 70px -30px rgba(255,122,89,.55);border:0}
.hero-visual .hv-card{position:relative;z-index:3;margin:-5.5rem 0 0 -2.5rem;width:min(23.5rem,92%);background:#fff;border:0;border-radius:26px;padding:1.4rem 1.5rem 1.2rem;box-shadow:var(--shadow-l);color:var(--ink);backdrop-filter:none;-webkit-backdrop-filter:none}
.hero-visual .hv-year{display:inline-block!important;background:var(--soleil-p);color:var(--soleil-d);padding:.25rem .75rem;border-radius:999px;font-family:var(--display);font-weight:800;letter-spacing:.08em}
.hv-title{font-family:var(--display)!important;font-weight:800;color:var(--ink)!important;font-size:1.15rem;line-height:1.35}
.hero-visual .hv-centres a{color:var(--ink);background:var(--creme-p);border:0;border-radius:999px;padding:.5rem 1rem;backdrop-filter:none}
.hero-visual .hv-centres li:nth-child(2) a{background:var(--menthe-p)}
.hero-visual .hv-centres li:nth-child(3) a{background:var(--peche)}
.hero-visual .hv-centres a:hover{transform:translateX(3px)}
.hero-visual .hv-centres span{color:var(--ink-soft)}
.hero-visual .hv-centres svg{color:var(--chaud-d)}
.hero-visual .hv-centres li:nth-child(2) svg{color:var(--menthe-d)}
.hero-visual .hv-centres li:nth-child(3) svg{color:var(--corail-d)}
.hero-visual .hv-centres strong{font-family:var(--display);font-weight:900;color:var(--ink)}
@media (max-width:960px){.hero .wrap{grid-template-columns:1fr}.hero-visual .hero-main img{aspect-ratio:4/3;border-radius:48px}.hero-visual .hv-card{margin:-3rem 1rem 0;width:auto}.hero::before{width:520px;height:520px;right:-220px;top:-120px}.hero .wrap::before{display:none}}
@media (max-width:600px){.hero h1{font-size:2.3rem}.hero-visual::before{width:84px;height:84px;right:-6px}.hero-visual::after{display:none}.hero-visual .hero-main img{aspect-ratio:1/1;border-radius:58% 42% 52% 48% / 46% 52% 48% 54%;box-shadow:0 0 0 8px #fff,0 24px 50px -26px rgba(255,122,89,.55)}}

/* En-têtes des pages intérieures */
.page-hero{color:var(--ink);background:#fff;padding:1rem 0 clamp(2.8rem,5vw,4.5rem);position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;right:-12%;top:-30%;width:62%;height:150%;border-radius:50%;background:radial-gradient(closest-side,var(--accent-soft,var(--creme-p)) 0 98%,transparent 100%);z-index:0}
.page-hero::after{content:"";position:absolute;left:-60px;bottom:-60px;width:180px;height:180px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Ccircle cx='3' cy='3' r='2.2' fill='%23ff7a59' opacity='.28'/%3E%3C/svg%3E");border-radius:50%;opacity:.9}
.page-hero .wrap{position:relative;z-index:1}
.page-hero h1{color:var(--ink);font-size:clamp(2.3rem,4vw,3.5rem)}
.page-hero.has-photo h1{font-size:clamp(2.2rem,3.6vw,3.2rem)}
.page-hero .lead{color:var(--ink-soft)}
.page-hero .eyebrow{color:var(--accent);background:#fff;box-shadow:0 0 0 1px var(--ligne)}
.page-hero .eyebrow::before{background:var(--accent-viv,var(--chaud));box-shadow:none}
.page-hero .crumbs,.page-hero .crumbs li+li::before{color:var(--muted)}
.page-hero .crumbs a{color:var(--muted);text-decoration-color:var(--ligne-b)}
.page-hero a{color:var(--chaud-d)}
.page-hero .pic img{border-radius:40px;box-shadow:0 0 0 10px #fff,0 30px 60px -30px rgba(60,40,25,.35)}
.page-hero .hero-pic img{aspect-ratio:1/1;border-radius:50%;object-position:50% 35%}
.page-hero .hero-pic{max-width:470px;justify-self:center;position:relative}
.page-hero .hero-pic::after{content:"";position:absolute;right:2%;top:4%;width:92px;height:92px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120' fill='none' stroke='%23ff7a59' stroke-width='7' stroke-linecap='round'%3E%3Cpath d='M40 30a40 40 0 0 1 0 60'/%3E%3Cpath d='M60 14a62 62 0 0 1 0 92'/%3E%3Cpath d='M80 0a84 84 0 0 1 0 120' opacity='.55'/%3E%3C/svg%3E") center/contain no-repeat}
.page-hero .pic figcaption{color:var(--muted);text-align:center}
@media (max-width:900px){.page-hero::before{width:120%;height:60%;top:auto;bottom:-20%;right:-10%}.page-hero .hero-pic{max-width:340px}}

/* Sections */
.section{padding:clamp(4rem,8vw,6.8rem) 0}
.section.creme,.section.brume{background:#fff}
.section.dark{background:linear-gradient(180deg,var(--creme-p) 0%,#fffdf8 100%);color:var(--ink)}
.section.dark h2,.section.dark h3{color:var(--ink)}
.section.dark .eyebrow{color:var(--chaud-d);background:#fff}
.section.dark .lead{color:var(--ink-soft)}
.section.dark a:not(.btn){color:var(--chaud-d);text-decoration-color:var(--soleil)}
.section.dark .pic figcaption{color:var(--muted)}
.section.jaune{background:linear-gradient(135deg,var(--soleil-p) 0%,#fff1e6 100%);color:var(--ink)}
.section.jaune .eyebrow{background:#fff;color:var(--soleil-d)}
.section.jaune .eyebrow::before{background:var(--soleil);box-shadow:none}
.section.jaune .lead{color:var(--ink-soft)}
.section.jaune a:not(.btn){color:var(--chaud-d);text-decoration-color:var(--chaud)}
.checks li::before{background:var(--menthe) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232a2420' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/64% no-repeat}
.section.jaune .checks li::before{background-color:var(--soleil)}
.pic img{border-radius:32px;box-shadow:var(--shadow)}
.section.dark .pic img,.section.jaune .pic img{border-radius:40px;box-shadow:0 0 0 10px #fff,var(--shadow-l)}

/* Cartes et piliers */
.pillar,.card,.centre,.path,.money .m,.faq details,.box,.communes li{transition:transform .25s cubic-bezier(.3,1.5,.6,1),box-shadow .25s,background .2s,border-color .2s}
.pillar,.card,.centre{border-radius:var(--radius);border:1px solid var(--ligne);background:#fff;box-shadow:var(--shadow)}
.pillar:hover,.card:hover,.centre:hover{transform:translateY(-5px);box-shadow:var(--shadow-l)}
.section.dark .pillar,.section.dark .card{background:#fff;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:var(--shadow)}
.section.dark .pillar:hover{background:#fff;border:0}
.section.dark .pillar p,.section.dark .card p,.pillar p{color:var(--ink-soft)}
.pillar .ic,.section.dark .pillar .ic{width:58px;height:58px;border-radius:50% 50% 50% 18%;background:var(--creme-p);color:var(--chaud-d);box-shadow:none}
.section .pillars .pillar:nth-child(4n+2) .ic{background:var(--soleil-p);color:var(--soleil-d)}
.section .pillars .pillar:nth-child(4n+3) .ic{background:var(--menthe-p);color:var(--menthe-d)}
.section .pillars .pillar:nth-child(4n+4) .ic{background:var(--peche);color:var(--corail-d)}
.card h3 svg.inl{color:var(--accent)}
.section.dark .centre{border:0;color:var(--ink)}
.section.dark .centre h3{color:var(--ink)}
.section.dark .centre a:not(.btn){color:var(--chaud-d)}
.section.dark .centre .btn-ghost{color:var(--chaud-d)}
.section.dark .centre .btn-ghost:hover{color:var(--chaud-d)}
.centre .map{height:150px;background:
  radial-gradient(90px 70px at 50% 58%,rgba(250,195,23,.55),transparent 70%),
  repeating-linear-gradient(0deg,transparent 0 28px,rgba(255,122,89,.09) 28px 30px),
  repeating-linear-gradient(90deg,transparent 0 28px,rgba(255,122,89,.09) 28px 30px),var(--creme-p)}
.centres .centre:nth-child(2) .map{background-color:var(--menthe-p)}
.centres .centre:nth-child(3) .map{background-color:var(--peche)}
.centre .map::after{background:var(--corail);box-shadow:0 0 0 8px rgba(255,122,89,.22)}
.tel{font-family:var(--display);font-weight:900;color:var(--chaud-d)}

/* Tuiles de parcours */
.paths{gap:1.1rem}
.path{border-radius:var(--radius);border:1px solid var(--ligne);box-shadow:var(--shadow);background:#fff;min-height:220px;padding:1.7rem}
.path:hover{transform:translateY(-6px) rotate(-.4deg);box-shadow:var(--shadow-l);border-color:var(--creme-2)}
.path strong{font-family:var(--display);font-weight:900;font-size:1.28rem;letter-spacing:-.01em}
.path span{color:var(--ink-soft)}
.path .ic{width:54px;height:54px;border-radius:50% 50% 50% 18%}
.path.t-entendre .ic{background:var(--creme-p);color:var(--chaud-d)}
.path.t-proteger .ic{background:var(--menthe-p);color:var(--menthe-d)}
.path.t-budget .ic{background:var(--peche);color:var(--corail-d)}
.path .go{color:var(--chaud-d)}
.path.t-proteger .go{color:var(--menthe-d)}
.path.t-budget .go{color:var(--corail-d)}
.path.feature{border:0}
.path.feature.t-entendre{background:linear-gradient(150deg,#ffeaa3,#fff8df);color:var(--ink);box-shadow:0 20px 40px -24px rgba(255,122,89,.6)}
.path.feature.t-proteger{background:linear-gradient(150deg,#cdf3e4,#eefbf6);color:var(--ink);box-shadow:0 20px 40px -24px rgba(15,122,92,.5)}
.path.feature.t-budget{background:linear-gradient(150deg,#ffe0d4,#fff4ef);color:var(--ink);box-shadow:0 20px 40px -24px rgba(184,67,42,.45)}
.path.feature.t-entendre .ic{background:var(--chaud-d);color:#fff}
.path.feature.t-proteger .ic{background:var(--menthe-d);color:#fff}
.path.feature.t-budget .ic{background:var(--corail);color:var(--ink)}
.path.feature strong,.path.feature.t-proteger strong{color:var(--ink)}
.path.feature.t-proteger .go{color:var(--menthe-d)}
.path.feature span,.path.feature.t-proteger span,.path.feature.t-budget span,.path.feature.t-entendre span{color:var(--ink-soft)}

/* Étapes : grandes pastilles colorées reliées par une vague */
.steps{gap:1.2rem;position:relative}
.steps.on-light li,.steps.light li{background:#fff;border:1px solid var(--ligne);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.9rem 1.6rem 1.7rem}
.steps.on-light li::before,.steps.light li::before{content:counter(s);width:62px;height:62px;border-radius:50%;background:var(--creme-p);color:var(--chaud-d);display:grid;place-items:center;font-family:var(--display);font-weight:900;font-size:1.7rem;margin-bottom:1.1rem;box-shadow:none}
.steps li:nth-child(4n+2)::before{background:var(--soleil-p)!important;color:var(--soleil-d)!important}
.steps li:nth-child(4n+3)::before{background:var(--menthe-p)!important;color:var(--menthe-d)!important}
.steps li:nth-child(4n+4)::before{background:var(--peche)!important;color:var(--corail-d)!important}
.steps.on-light p,.steps.light p{color:var(--ink-soft)}
.steps.on-light h3,.steps.light h3{color:var(--ink)}

/* Prix */
.money .m{border-radius:var(--radius);border:0;box-shadow:var(--shadow);background:#fff}
.money .m.k1{background:linear-gradient(150deg,var(--chaud-d),#c9573a);color:#fff}
.money .m.k1 h3{color:#fff}
.money .m.k1 p{color:#fff3ea}
.money .tag{border-radius:999px;background:var(--soleil);color:var(--ink)}
.money .m:not(.k1) .tag{background:var(--peche);color:var(--corail-d)}

/* Encarts */
.callout{background:#fff;border:1px solid var(--ligne);border-left:0;border-radius:var(--radius);box-shadow:var(--shadow);position:relative;overflow:hidden}
.callout::before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:linear-gradient(var(--soleil),var(--corail))}
.callout svg{color:var(--chaud-d);background:var(--creme-p);border-radius:50%;padding:7px;width:48px;height:48px}
.callout.grey{background:#fff}
.callout.grey::before{background:linear-gradient(var(--chaud),var(--menthe))}
.callout.alert{background:#fff6f3}
.callout.alert::before{background:#b3261e}
.callout.petrole{background:linear-gradient(140deg,var(--menthe-p),#effbf7 60%,var(--creme-p));border:0;color:var(--ink);box-shadow:var(--shadow);padding:2.2rem 2.4rem}
.callout.petrole::before{display:none}
.callout.petrole h2{color:var(--ink)}
.callout.petrole a{color:var(--chaud-d);text-decoration-color:var(--soleil)}
.callout.petrole svg{color:var(--menthe-d);background:#fff}
.box{background:#fff;border:1px solid var(--ligne);border-radius:var(--radius);box-shadow:var(--shadow)}
.box.dark{background:linear-gradient(155deg,var(--chaud-d) 0%,#a83c24 100%);border:0;color:#fff;box-shadow:0 30px 60px -30px rgba(184,67,42,.7);position:relative;overflow:hidden}
.box.dark::after{content:"";position:absolute;right:-50px;top:-50px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.13)}
.box.dark>*{position:relative;z-index:1}
.box h2,.box.dark h2{font-size:1.45rem;line-height:1.25}
.contact-box p{color:#fff3ea}
.contact-box .small{color:#ffe9dc}
.cb-tel{background:rgba(255,255,255,.14);border:0;border-radius:999px;padding:.55rem 1rem}
.cb-tel:hover{background:rgba(255,255,255,.24)}
.cb-tel svg{color:var(--soleil)}
.cb-tel strong{color:#ffe9dc}
.cb-tel span{font-family:var(--display);font-weight:900}
.box.dark .btn-ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.8)}
.box.dark .btn-ghost-light:hover{background:#fff;color:var(--chaud-d)}
.box.dark .reassure svg{background:rgba(255,255,255,.2);color:#fff}
.reassure.light{color:#fff3ea}

/* Citation */
.quote{background:linear-gradient(150deg,var(--soleil-p),#fff 70%);border:0;border-radius:40px 40px 40px 12px;box-shadow:var(--shadow-l)}
.quote blockquote{font-family:var(--display);font-weight:700;color:var(--ink)}
.quote blockquote::before{color:var(--soleil);font-family:var(--display)}
.mono{background:var(--soleil);color:var(--ink);font-family:var(--display);font-weight:900}

/* FAQ */
.faq details{background:#fff;border:1px solid var(--ligne);border-radius:var(--radius-s);box-shadow:none;margin-bottom:.7rem}
.faq details[open]{border-color:var(--creme-2);background:#fffaf3;box-shadow:var(--shadow)}
.faq summary{font-family:var(--display);font-weight:800;font-size:1.15rem}
.faq summary::after{background:var(--creme-p);color:var(--chaud-d);font-weight:800}
.faq details[open] summary::after{background:var(--soleil);color:var(--ink)}

/* Tableaux */
.table-wrap{border-radius:var(--radius);border:1px solid var(--ligne);box-shadow:var(--shadow)}
thead th{background:var(--chaud-d);font-family:var(--display);font-weight:800}
.th-proteger thead th{background:var(--menthe-d)}
.th-budget thead th{background:var(--chaud-d)}
caption{background:var(--creme-p);font-family:var(--display);font-weight:800}

/* Communes */
.communes li{background:#fff;border:1px solid var(--ligne);border-radius:999px}
.communes li:hover{background:var(--soleil-p);border-color:var(--soleil)}

/* Formulaire */
.form{background:#fff;border:1px solid var(--ligne);border-radius:32px;box-shadow:var(--shadow-l)}
legend{font-family:var(--display);font-weight:800}
legend .n{background:var(--soleil);color:var(--ink);font-family:var(--display);font-weight:900}
.choice label{border:2px solid var(--ligne-b);border-radius:20px;background:#fff;transition:border-color .2s,background .2s,transform .2s}
.choice label:hover{border-color:var(--chaud);transform:translateY(-2px)}
.choice input:checked+label{border-color:var(--chaud-d);background:var(--creme-p);box-shadow:inset 0 0 0 1px var(--chaud-d)}
.choice input:focus-visible+label{outline:3px solid var(--chaud-d);box-shadow:0 0 0 7px var(--soleil-l)}
input[type=text],input[type=tel],input[type=email],textarea,select{border:2px solid #9c8a7c;border-radius:16px;background:#fff}
input:focus,textarea:focus,select:focus{border-color:var(--chaud-d);box-shadow:0 0 0 4px rgba(255,122,89,.22);outline:none}
.consent input{accent-color:var(--chaud-d)}
.notice{border-radius:18px;background:var(--menthe-p);border:2px solid var(--menthe-d);color:#0b4a38}

/* Bandeau d'appel : soleil */
.section.band-zone{background:radial-gradient(500px 300px at 92% 10%,rgba(255,255,255,.55),transparent 65%),linear-gradient(120deg,#fac317 0%,#ffd34d 55%,#ffb38f 100%);padding:clamp(3.5rem,7vw,5.5rem) 0;position:relative;overflow:hidden;color:var(--ink)}
.section.band-zone::before{content:"";position:absolute;right:4%;bottom:-6px;width:320px;height:92px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 208 60' fill='%232a2420'%3E%3Crect x='0' y='23.0' width='9' height='14' rx='4.5'/%3E%3Crect x='16' y='17.0' width='9' height='26' rx='4.5'/%3E%3Crect x='32' y='10.0' width='9' height='40' rx='4.5'/%3E%3Crect x='48' y='2.0' width='9' height='56' rx='4.5'/%3E%3Crect x='64' y='12.0' width='9' height='36' rx='4.5'/%3E%3Crect x='80' y='19.0' width='9' height='22' rx='4.5'/%3E%3Crect x='96' y='6.0' width='9' height='48' rx='4.5'/%3E%3Crect x='112' y='0.0' width='9' height='60' rx='4.5'/%3E%3Crect x='128' y='14.0' width='9' height='32' rx='4.5'/%3E%3Crect x='144' y='21.0' width='9' height='18' rx='4.5'/%3E%3Crect x='160' y='9.0' width='9' height='42' rx='4.5'/%3E%3Crect x='176' y='16.0' width='9' height='28' rx='4.5'/%3E%3Crect x='192' y='24.0' width='9' height='12' rx='4.5'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.16}
.cta-band{background:none;box-shadow:none;border-radius:0;padding:0;overflow:visible;position:relative}
.cta-band h2{color:var(--ink);font-size:clamp(2.1rem,3.8vw,3.2rem)}
.cta-band p{color:var(--ink);font-size:1.2rem}
.band-zone .btn-dark{background:var(--chaud-d);color:#fff}
.band-zone .btn-ghost{background:#fff;color:var(--ink);border-color:#fff}
.band-zone .btn-ghost:hover{background:var(--creme-p);border-color:var(--creme-p)}
.band-reassure .reassure{color:var(--ink)}
.band-reassure .reassure svg{background:#fff;color:var(--menthe-d)}

/* Pied de page : gris chaud très foncé */
.site-footer{background:#2b2622;color:#efe6dc;border-top:0;position:relative;overflow:hidden}
.site-footer::before{content:"";position:absolute;right:-120px;top:-140px;width:380px;height:380px;border-radius:50%;background:rgba(255,255,255,.06)}
.site-footer .wrap{position:relative}
.site-footer h2{font-family:var(--display);font-weight:900;text-transform:none;letter-spacing:0;font-size:1.25rem;color:#fff}
.site-footer a{color:#fff;text-decoration-color:var(--soleil)}
.fbottom{color:#d9cdc0;border-top-color:rgba(255,255,255,.2)}
.social a{border-color:rgba(255,255,255,.4)}
.social a:hover{background:var(--soleil);color:var(--ink);border-color:var(--soleil)}
.mobile-bar{background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-top:0;box-shadow:0 -10px 30px -16px rgba(255,122,89,.45)}
.mobile-bar .btn-ghost{color:var(--chaud-d);border-color:var(--creme-2)}
.call-sheet:not([hidden]){border-radius:24px}
.cs-item{border-radius:999px}
.cs-item span{font-family:var(--display)!important;font-weight:900}

.eyebrow::before{box-shadow:none!important}
@media (prefers-reduced-motion:reduce){.btn:hover,.path:hover,.pillar:hover,.card:hover,.centre:hover{transform:none}}

/* Texte agrandi : l'en-tête reste sur une ligne */
html.t-l .nav a,html.t-xl .nav a{font-size:.82rem;padding:.5rem .45rem}
html.t-l .brand img,html.t-xl .brand img{width:150px}
html.t-xl .hdr .btn{padding:.5rem .9rem;font-size:.85rem}
html.t-l .hdr,html.t-xl .hdr{gap:.6rem}

/* Contraste renforcé : toujours en dernier */
html.hc{--ink:#000;--ink-soft:#000;--muted:#1a1a1a;--ligne:#000;--ligne-b:#000;--chaud-d:#6e2412;--menthe-d:#00563f;--corail-d:#7a2410;--soleil-d:#4d3200}
html.hc body,html.hc .hero,html.hc .page-hero,html.hc .site-header,html.hc .util,html.hc .section.dark,html.hc .section.jaune{background:#fff}
html.hc .hero::before,html.hc .hero::after,html.hc .page-hero::before,html.hc .page-hero::after,html.hc .hero-visual::before,html.hc .hero-visual::after,html.hc .hero .wrap::before,html.hc .band-zone::before{display:none}
html.hc .site-footer,html.hc .box.dark,html.hc .money .m.k1{background:#000;color:#fff}
html.hc .section.band-zone{background:var(--soleil)}
html.hc .hero h1 .hl{background:none;color:#000;text-decoration:underline}
html.hc .path,html.hc .path.feature{background:#fff!important;color:#000!important;border:2px solid #000;box-shadow:none}
html.hc .path span,html.hc .path strong,html.hc .path .go{color:#000!important}
html.hc .path .ic,html.hc .pillar .ic{background:#000!important;color:#fff!important}
html.hc .card,html.hc .pillar,html.hc .centre,html.hc .money .m,html.hc .callout,html.hc .hero-visual .hv-card,html.hc .faq details{border:2px solid #000;box-shadow:none}
html.hc .callout.petrole{background:#fff}
html.hc .eyebrow{color:#000;background:#fff;box-shadow:0 0 0 1px #000}
html.hc a{text-decoration-color:currentColor}
html.hc .btn-primary{background:var(--soleil);color:#000;border-color:#000}
html.hc .btn-dark,html.hc .hdr .btn{background:#000;color:#fff}
html.hc .hero-visual .hv-centres a{background:#fff;border:2px solid #000}
/* en-tête : largeur maîtrisée */
.nav a{padding:.5rem .62rem;font-size:.98rem}
.nav a.nv-entendre::before,.nav a.nv-proteger::before,.nav a.nv-budget::before{margin-right:.35rem}
.hdr{gap:.8rem}
@media (max-width:1400px){.nav a{padding:.5rem .5rem;font-size:.95rem}.brand img{width:160px}}
@media (max-width:1320px){.nav a{padding:1rem;font-size:1.15rem}}
html.t-l .nav a,html.t-xl .nav a{font-size:.8rem;padding:.45rem .38rem}
@media (max-width:860px){.section.band-zone::before{display:none}}
.band-reassure{position:relative;z-index:1}
.box.dark::after{display:none}
@media (max-width:600px){.hero::before{width:400px;height:400px;right:-250px;top:-150px;opacity:.85}}

/* Palette chaude : parcours « Mieux entendre » en jaune soleil */
.nav a.nv-entendre::before{background:var(--soleil)}
.path.t-entendre .ic{background:var(--soleil-p);color:var(--soleil-d)}
.path.t-entendre .go{color:var(--soleil-d)}
.path.feature.t-entendre .ic{background:var(--soleil);color:var(--ink)}
.path.feature.t-entendre{box-shadow:0 20px 40px -24px rgba(220,160,0,.6)}
.site-footer{color:#efe6dc}
.site-footer::before{background:rgba(250,195,23,.07)}
.eyebrow::before{background:var(--corail)}
html.hc .section.dark .pillar,html.hc .section.dark .card,html.hc .section.dark .centre{border:2px solid #000;box-shadow:none}

/* Utilitaires (anciens styles en ligne, retires pour la politique de securite CSP) */
.u1{padding-top:2rem !important}
.u2{color:#fff !important}
.u3{margin-top:1.6rem !important;margin-bottom:0 !important}
.u4{margin-top:.6rem !important}
.u5{padding-top:clamp(2rem,4vw,3rem) !important}
.u6{width:100% !important}
.u7{width:100% !important;margin-top:.6rem !important}
.u8{gap:2rem !important}
.u9{margin:1rem 0 0 !important;font-size:1rem !important}
.u10{margin-top:2rem !important}
.u11{margin-bottom:clamp(2rem,4vw,3rem) !important}
.u12{margin:0 !important}
.u13{margin-top:2.2rem !important}
.u14{margin-top:1rem !important}
.u15{grid-column:1/-1 !important}
.u16{font-size:1.3rem !important}
.u17{margin-bottom:2rem !important}
.u18{margin-top:2.5rem !important}
.u19{grid-template-columns:1fr 1fr !important}
.u20{position:absolute !important;left:-9999px !important;width:1px !important;height:1px !important;overflow:hidden !important}
