/* ============================================================
   Dr Yassir Chaibi — Dermatologue, Tanger
   Design system : grille claire type "Birdyst"
   fond gris-bleu quadrillé, gros titres grotesques,
   bloc bleu portrait, cartes blanches, CTA noirs.
   Zéro dépendance JS/CSS externe hors Google Fonts.
   ============================================================ */
:root{
  --paper:#e9edf2;          /* fond gris-bleu de la grille */
  --paper-2:#dfe5ec;
  --ink:#0e1626;            /* encre quasi noire bleutée */
  --ink-soft:#3c4757;
  --muted:#667085;
  --line:rgba(14,22,38,.14);
  --line-strong:rgba(14,22,38,.22);
  --card:#ffffff;
  --blue:#2e7de9;           /* bleu vif du bloc portrait */
  --blue-deep:#174a94;
  --blue-soft:#dbeafe;
  --blue-pale:#eef4fd;
  --green:#15803d;
  --red:#b42318;
  --radius:14px;
  --radius-sm:10px;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --disp:"Archivo","Inter",system-ui,sans-serif;
  --pad:clamp(1.1rem,4vw,3.5rem);
  --max:1320px;
  --shadow:0 1px 2px rgba(14,22,38,.06),0 8px 24px rgba(14,22,38,.07);
  --shadow-lg:0 2px 6px rgba(14,22,38,.08),0 20px 48px rgba(14,22,38,.14);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);color:var(--ink);background:var(--paper);
  font-size:1.02rem;line-height:1.6;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
button{font:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:4px}
::selection{background:var(--blue);color:#fff}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.7rem 1.1rem;z-index:200;border-radius:0 0 8px 0}
.skip:focus{left:0}
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
section{position:relative}
h1,h2,h3,.disp{font-family:var(--disp);font-weight:650;letter-spacing:-.035em;line-height:1.02}
.eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);
}
.eyebrow::before{content:"+";color:var(--blue);font-size:1.05rem;font-weight:800;line-height:1}
.lede{font-size:clamp(1.02rem,1.4vw,1.2rem);line-height:1.55;color:var(--ink-soft);max-width:36rem}
.lede strong{color:var(--ink)}
.kicker-num{font-family:var(--disp);font-size:.8rem;font-weight:700;letter-spacing:.12em;color:var(--muted)}

/* ---------- Header ---------- */
.site-head{
  position:sticky;top:0;z-index:60;background:rgba(233,237,242,.9);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:4.4rem}
.brand{display:flex;align-items:center;gap:.65rem;font-family:var(--disp);font-weight:750;font-size:1.28rem;letter-spacing:-.03em}
.brand:hover{text-decoration:none}
.brand-mark{width:2.35rem;height:2.35rem;flex:none;border-radius:8px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:.82rem;font-weight:800;letter-spacing:0}
.brand small{display:block;font-family:var(--sans);font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);line-height:1.2}
.nav-main{display:flex;gap:clamp(1rem,2.6vw,2.4rem);font-size:.98rem;font-weight:550}
.nav-main a{padding:.4rem 0;opacity:.85}
.nav-main a:hover{opacity:1;text-decoration:none}
.nav-main a[aria-current="page"]{opacity:1;box-shadow:inset 0 -2px 0 var(--blue)}
.head-cta{display:flex;align-items:center;gap:.6rem}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:.85rem 1.5rem;border-radius:999px;border:1px solid transparent;
  font-weight:650;font-size:.98rem;line-height:1;transition:transform .18s,box-shadow .18s,background .18s;
  text-decoration:none!important;white-space:nowrap;
}
.btn:hover{transform:translateY(-1px)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#1d2a44}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{background:#1f6bd2}
.btn-light{background:#fff;color:var(--ink);border-color:var(--line-strong)}
.btn-light:hover{border-color:var(--ink)}
.btn-sm{padding:.62rem 1.05rem;font-size:.9rem}
.btn .arr{font-weight:400}
.btn[disabled]{opacity:.6;cursor:not-allowed;transform:none}
.menu-btn{display:none;width:2.7rem;height:2.7rem;border-radius:50%;border:1px solid var(--line-strong);background:#fff;align-items:center;justify-content:center}
.menu-btn svg{width:1.25rem;height:1.25rem}

/* ---------- Hero (grille Birdyst) ---------- */
.hero{
  background:
    linear-gradient(rgba(14,22,38,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(14,22,38,.055) 1px,transparent 1px),
    linear-gradient(var(--paper),var(--paper));
  background-size:100% 25%,calc(100%/6) 100%,100% 100%;
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(1.5rem,4vw,4rem);padding-top:clamp(2.2rem,5vh,4.5rem)}
.hero-copy{padding-bottom:clamp(2rem,4vh,3rem)}
.hero h1{font-size:clamp(2.9rem,6.4vw,5.6rem);font-weight:700;margin:1.1rem 0 1.3rem;max-width:11em}
.hero h1 .hl{color:var(--blue)}
.hero h1 .thin{font-weight:500}
.hero .lede{margin-bottom:1.8rem}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}
.hero-note{margin-top:1.1rem;font-size:.88rem;color:var(--muted);display:flex;gap:.5rem;align-items:baseline}
.hero-note .dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--green);flex:none;transform:translateY(-1px)}
.hero-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:clamp(1.8rem,4vh,2.8rem)}
.hero-facts>div{background:var(--paper);padding:1rem 1.1rem}
.hero-facts b{display:block;font-family:var(--disp);font-size:1.45rem;letter-spacing:-.03em;line-height:1.1}
.hero-facts span{font-size:.82rem;color:var(--muted);line-height:1.35;display:block;margin-top:.25rem}
/* bloc portrait bleu */
.hero-visual{position:relative;min-height:26rem}
.blue-block{
  position:absolute;inset:0 0 0 0;background:linear-gradient(160deg,#3b8bf0,#1d5fc4 70%,#174a94);
  color:#fff;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;
}
.blue-block img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 18%}
.blue-block .tag{
  position:relative;z-index:2;padding:1.1rem 1.2rem 1.25rem;
  background:linear-gradient(180deg,transparent,rgba(10,25,55,.72));
}
.blue-block .tag b{display:block;font-family:var(--disp);font-size:1.35rem;letter-spacing:-.02em}
.blue-block .tag span{font-size:.9rem;opacity:.92}
.blue-block .save{
  position:absolute;z-index:2;top:1rem;left:1rem;background:#fff;color:var(--ink);
  font-family:var(--disp);font-weight:700;font-size:1.05rem;letter-spacing:-.02em;
  padding:.55rem .9rem;border-radius:6px;box-shadow:var(--shadow);
}
/* cartes flottantes */
.float-card{
  position:absolute;z-index:3;background:#fff;color:var(--ink);border-radius:var(--radius-sm);
  box-shadow:var(--shadow-lg);padding:.85rem 1rem;max-width:15.5rem;
}
.float-card b{display:block;font-family:var(--disp);font-size:1.02rem;letter-spacing:-.02em;line-height:1.15}
.float-card span{font-size:.82rem;color:var(--muted);line-height:1.35;display:block;margin-top:.2rem}
.float-card .num{font-family:var(--disp);font-size:1.7rem;font-weight:750;letter-spacing:-.04em;line-height:1;color:var(--blue)}
.fc-dermo{left:-1.6rem;top:34%}
.fc-lang{right:-.9rem;bottom:24%;display:flex;gap:.6rem;align-items:center}
.fc-lang .pill-lang{background:var(--blue-soft);color:var(--blue-deep);font-weight:700;font-size:.78rem;padding:.35rem .6rem;border-radius:999px;white-space:nowrap}
.fc-hours{left:-1rem;bottom:5.6rem;display:flex;gap:.7rem;align-items:center}
.fc-hours .ic{width:2.3rem;height:2.3rem;flex:none;border-radius:8px;background:var(--blue-pale);display:grid;place-items:center;font-size:1.15rem}
/* rangée bento sous le hero */
.hero-bento{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-top:0;margin-bottom:clamp(2.5rem,5vh,4rem)}
.hero-bento>article{background:var(--card);padding:1.4rem 1.5rem;min-height:9.5rem;display:flex;flex-direction:column;justify-content:space-between;gap:1rem}
.hero-bento h3{font-size:1.45rem}
.hero-bento p{color:var(--ink-soft);font-size:.96rem;max-width:26rem}
.hero-bento .go{font-weight:650;font-size:.92rem;display:inline-flex;gap:.4rem;align-items:center}
.hero-bento .go::after{content:"→"}
.bento-photo{padding:0!important;overflow:hidden;position:relative}
.bento-photo img{width:100%;height:100%;object-fit:cover;min-height:9.5rem}
.bento-photo span{position:absolute;left:.9rem;bottom:.8rem;background:rgba(14,22,38,.82);color:#fff;font-size:.8rem;font-weight:600;padding:.35rem .7rem;border-radius:999px}

/* ---------- Sections génériques ---------- */
.section{padding:clamp(3.5rem,8vw,6.5rem) 0}
.section.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section.blue{background:linear-gradient(160deg,#2e7de9,#174a94);color:#fff}
.section.blue .lede,.section.blue p{color:rgba(255,255,255,.88)}
.section.blue .eyebrow{color:rgba(255,255,255,.85)}
.sec-head{max-width:52rem;margin-bottom:clamp(1.8rem,4vw,3rem)}
.sec-head h2{font-size:clamp(2.1rem,4.4vw,3.9rem);margin:.9rem 0 1rem}
.sec-head .lede{margin-top:.6rem}
.sec-head .row{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap}
.sec-head .row h2{margin-bottom:0}

/* bento expertises */
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.bento .card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.5rem;min-height:15rem;display:flex;flex-direction:column;justify-content:space-between;gap:1.2rem;
  transition:transform .18s,box-shadow .18s;
}
.bento .card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.bento .card.wide{grid-column:span 2}
.bento .card.blue{background:linear-gradient(155deg,#3b8bf0,#174a94);color:#fff;border-color:transparent}
.bento .card.blue p{color:rgba(255,255,255,.88)}
.bento .card h3{font-size:1.5rem}
.bento .card h3 .n{color:var(--blue);font-size:.95rem;letter-spacing:.05em;display:block;margin-bottom:.5rem;font-weight:700}
.bento .card.blue h3 .n{color:#bcd7ff}
.bento .card p{color:var(--ink-soft);font-size:.98rem}
.bento .card ul{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem}
.bento .card ul li{font-size:.85rem;font-weight:600;background:var(--blue-pale);border:1px solid var(--line);padding:.32rem .65rem;border-radius:999px}
.bento .card.blue ul li{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.25);color:#fff}
.bento .card .more{font-weight:650;font-size:.93rem}
.card-photo{padding:0!important;overflow:hidden}
.card-photo img{width:100%;height:100%;object-fit:cover;min-height:15rem}

/* liste numérotée (parcours / étapes) */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.steps>div{background:var(--card);padding:1.5rem 1.4rem;min-height:12rem;display:flex;flex-direction:column;gap:.6rem}
.steps .num{font-family:var(--disp);font-size:2.4rem;font-weight:750;color:var(--blue);letter-spacing:-.04em;line-height:1}
.steps h3{font-size:1.18rem}
.steps p{font-size:.94rem;color:var(--ink-soft)}

/* docteur */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.split .media{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg)}
.split .media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/4.6}
.media-cap{font-size:.85rem;color:var(--muted);margin-top:.7rem}
.checks{list-style:none;display:grid;gap:.85rem;margin:1.4rem 0}
.checks li{display:flex;gap:.7rem;align-items:flex-start;font-size:1rem}
.checks li::before{content:"✓";flex:none;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--blue-soft);color:var(--blue-deep);font-weight:800;display:grid;place-items:center;font-size:.85rem;margin-top:.1rem}
.timeline{list-style:none;border-top:1px solid var(--ink);margin-top:1rem}
.timeline li{display:flex;justify-content:space-between;gap:1.5rem;padding:1.05rem 0;border-bottom:1px solid var(--line);font-size:1.02rem}
.timeline li b{font-weight:650;letter-spacing:-.01em}
.timeline li span{color:var(--muted);font-size:.92rem;text-align:right;max-width:22rem}
.quote{
  font-family:var(--disp);font-size:clamp(1.35rem,2.4vw,1.9rem);font-weight:550;letter-spacing:-.02em;line-height:1.3;
  border-left:4px solid var(--blue);padding-left:1.3rem;margin:1.6rem 0;
}
.quote small{display:block;font-family:var(--sans);font-size:.9rem;color:var(--muted);margin-top:.7rem;letter-spacing:0}

/* galerie cabinet */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.gallery figure{border-radius:var(--radius);overflow:hidden;background:#fff;border:1px solid var(--line)}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery figcaption{padding:.75rem .95rem;font-size:.88rem;color:var(--ink-soft)}
.gallery figure:nth-child(1){grid-column:span 2}
.gallery figure:nth-child(1) img{aspect-ratio:16/8.2}

/* FAQ */
.faq{max-width:46rem}
.faq details{border-top:1px solid var(--ink);background:transparent}
.faq details:last-of-type{border-bottom:1px solid var(--ink)}
.faq summary{list-style:none;cursor:pointer;padding:1.35rem .2rem;font-family:var(--disp);font-size:clamp(1.1rem,1.8vw,1.4rem);font-weight:600;letter-spacing:-.02em;display:flex;justify-content:space-between;gap:1rem;align-items:baseline}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.7rem;line-height:1;color:var(--blue);transition:transform .25s;flex:none}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 .2rem 1.5rem;color:var(--ink-soft);max-width:40rem}
.faq details p a{text-decoration:underline}

/* conseils / articles */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.post{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s}
.post:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.post:hover{text-decoration:none}
.post .thumb{height:11rem;background:linear-gradient(140deg,var(--blue-soft),var(--blue-pale));display:grid;place-items:center;font-family:var(--disp);font-size:2.6rem;font-weight:750;color:var(--blue);letter-spacing:-.03em}
.post .body{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.post .cat{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-deep)}
.post h3{font-size:1.28rem;line-height:1.15}
.post p{font-size:.95rem;color:var(--ink-soft);flex:1}
.post .meta{font-size:.83rem;color:var(--muted)}
.post .read{font-weight:650;font-size:.92rem;color:var(--blue-deep)}
.article{max-width:46rem;margin:0 auto}
.article h1{font-size:clamp(2.2rem,4.6vw,3.6rem);margin:1rem 0 1.2rem}
.article .meta{color:var(--muted);font-size:.92rem;margin-bottom:2rem;display:flex;gap:1rem;flex-wrap:wrap}
.article h2{font-size:1.6rem;margin:2.4rem 0 .8rem}
.article h3{font-size:1.2rem;margin:1.8rem 0 .6rem}
.article p,.article li{color:#26303f}
.article p{margin-bottom:1rem}
.article ul,.article ol{margin:0 0 1rem 1.3rem;display:grid;gap:.4rem}
.article .callout{background:var(--blue-pale);border-left:4px solid var(--blue);border-radius:0 10px 10px 0;padding:1.1rem 1.3rem;margin:1.6rem 0}
.article .callout p{margin:0}
.article .disclaimer{font-size:.9rem;color:var(--muted);border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1.2rem}
.breadcrumb{font-size:.86rem;color:var(--muted);margin-bottom:1rem}
.breadcrumb a{text-decoration:underline;text-underline-offset:3px}

/* contact / RDV */
.rdv-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.rdv-info{display:grid;gap:1rem;margin-top:1.8rem}
.rdv-info>div{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.28);border-radius:var(--radius-sm);padding:1.1rem 1.2rem}
.rdv-info b{display:block;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85;margin-bottom:.3rem}
.rdv-info p,.rdv-info a{font-size:1.05rem}
.rdv-info a{text-decoration:underline;text-underline-offset:3px}
.hours-table{width:100%;border-collapse:collapse;font-size:1rem}
.hours-table td{padding:.4rem 0;border-bottom:1px solid rgba(255,255,255,.2)}
.hours-table td:last-child{text-align:right;font-weight:600}
.open-badge{display:inline-flex;align-items:center;gap:.5rem;background:#fff;color:var(--ink);font-weight:650;font-size:.9rem;padding:.5rem .9rem;border-radius:999px;margin-top:1rem}
.open-badge .dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--green)}
.open-badge.closed .dot{background:var(--red)}
form.card-form{background:#fff;color:var(--ink);border-radius:var(--radius);padding:clamp(1.4rem,3vw,2.2rem);display:grid;grid-template-columns:1fr 1fr;gap:1rem;box-shadow:var(--shadow-lg)}
form.card-form h3{grid-column:1/-1;font-size:1.45rem}
form.card-form .hint{grid-column:1/-1;font-size:.92rem;color:var(--muted);margin-top:-.5rem}
.field{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:600}
.field.wide{grid-column:1/-1}
.field input,.field select,.field textarea{font:inherit;font-size:1rem;font-weight:400;padding:.85rem .95rem;border:1px solid #b9c6d4;border-radius:8px;background:#f8fbfd;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
.field textarea{min-height:6rem;resize:vertical}
.field .err{color:var(--red);font-size:.85rem;font-weight:500;display:none}
.field.invalid input,.field.invalid select{border-color:var(--red)}
.field.invalid .err{display:block}
.hp{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.form-ok{display:none;grid-column:1/-1;background:#e8f7ee;border:1px solid #b7e4c7;border-radius:10px;padding:1.1rem 1.2rem;line-height:1.5}
.form-ok.show{display:block}
.form-err{display:none;grid-column:1/-1;background:#fdecea;border:1px solid #f5c6c0;border-radius:10px;padding:1.1rem 1.2rem;line-height:1.5}
.form-err.show{display:block}
.form-alt{grid-column:1/-1;display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;font-size:.92rem;color:var(--muted)}
.form-alt .btn{flex:none}

/* footer */
footer.site{background:var(--ink);color:#cbd5e1;padding:3.5rem 0 2rem}
footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
footer.site h4{color:#fff;font-family:var(--disp);font-size:1.05rem;margin-bottom:.9rem;letter-spacing:-.01em}
footer.site p,footer.site li{font-size:.94rem;line-height:1.6}
footer.site ul{list-style:none;display:grid;gap:.45rem}
footer.site a{color:#cbd5e1}
footer.site a:hover{color:#fff}
footer.site .brand{color:#fff}
footer.site .brand small{color:#94a3b8}
.foot-bottom{border-top:1px solid rgba(255,255,255,.16);margin-top:2.5rem;padding-top:1.5rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.85rem;color:#94a3b8}

/* barre mobile */
.sticky-bar{display:none}

/* bandeau CTA final */
.cta-band{background:#fff;border-top:1px solid var(--line);padding:clamp(2.5rem,6vw,4rem) 0}
.cta-band .inner{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}
.cta-band h2{font-size:clamp(1.9rem,3.6vw,3rem)}
.cta-band p{color:var(--ink-soft);margin-top:.5rem;max-width:34rem}

/* ---------- Responsive ---------- */
@media(max-width:1080px){
  .bento{grid-template-columns:1fr 1fr}
  .bento .card.wide{grid-column:span 2}
  .steps{grid-template-columns:1fr 1fr}
  .posts{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .gallery figure:nth-child(1){grid-column:span 2}
  .fc-dermo{left:.6rem}
  .fc-hours{left:.6rem}
}
@media(max-width:900px){
  .nav-main{
    display:none;position:fixed;inset:4.4rem 0 auto 0;background:var(--paper);
    flex-direction:column;gap:0;padding:.6rem var(--pad) 1.4rem;border-bottom:1px solid var(--line);z-index:70;
  }
  .nav-main.open{display:flex}
  .nav-main a{padding:.85rem 0;border-bottom:1px solid var(--line);font-size:1.15rem}
  .menu-btn{display:inline-flex}
  .head-cta .btn span.txt{display:none}
  .hero-grid{grid-template-columns:1fr}
  .hero-visual{min-height:24rem}
  .blue-block{position:relative;min-height:24rem}
  .hero-visual{position:relative}
  .fc-dermo{top:auto;bottom:9.8rem;left:.8rem}
  .fc-lang{bottom:auto;top:4.4rem;right:.8rem}
  .fc-hours{bottom:5rem;left:.8rem}
  .hero-bento{grid-template-columns:1fr}
  .split,.rdv-grid{grid-template-columns:1fr}
  .split .media img{aspect-ratio:4/3}
  form.card-form{grid-template-columns:1fr}
  footer.site .cols{grid-template-columns:1fr 1fr}
  .sticky-bar{
    display:grid;grid-template-columns:1fr 1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:80;
    background:#fff;box-shadow:0 -8px 24px rgba(14,22,38,.14);border-top:1px solid var(--line);
  }
  .sticky-bar a{padding:1rem .4rem;text-align:center;font-weight:650;font-size:.95rem}
  .sticky-bar a+a{border-left:1px solid var(--line)}
  .sticky-bar a.cta{background:var(--ink);color:#fff}
  body{padding-bottom:3.4rem}
}
@media(max-width:600px){
  .bento,.steps,.posts,.gallery{grid-template-columns:1fr}
  .bento .card.wide{grid-column:span 1}
  .gallery figure:nth-child(1){grid-column:span 1}
  .gallery figure:nth-child(1) img{aspect-ratio:4/3}
  .hero-facts{grid-template-columns:1fr 1fr}
  .hero-facts>div:last-child{grid-column:span 2}
  footer.site .cols{grid-template-columns:1fr}
  .brand small{display:none}
  .float-card{max-width:13.5rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
}
