/* Style CLASSIQUE « Confiance » (maquette page blanche, 29/09/2026) — chargé après socle.css et les p-*.css.
   Pour un cabinet d'omnipratique installé : rassurant, net, solide, lumineux mais affirmé.
   Idée : chaque page s'ouvre sur un « bleu nuit » tiré de la couleur du cabinet ; ce qui rassure (photo, gages, carte)
   chevauche la frontière entre la nuit et le jour. Signatures : héros sombre à photo en fond perdu coupée en biais,
   bandeau blanc de gages qui chevauche le bas du héros, cadres décalés autour des photos, barre d'accent qui se trace sous
   les titres, icônes et numéros dans des ronds, étapes reliées par une ligne qui se dessine, pied de page nuit.
   Typo : Manrope 800 (titres), Inter (texte), Cormorant Garamond italique (légendes, citation, terme technique). */
@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;src:url(../fonts/Manrope.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/Inter.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/CormorantGaramond-italic.woff2) format('woff2')}

/* ══ Jetons ══ (--ds-accent n'est jamais redéfini ici : il vient de data-couleur) */
:root{
  --cl-acc:var(--ds-accent);
  --cl-nuit:color-mix(in srgb, var(--ds-accent) 42%, #060A12);
  --cl-nuit-2:color-mix(in srgb, var(--ds-accent) 58%, #0A1020);
  --cl-clair:oklch(from var(--ds-accent) .82 calc(c * .6) h);
  --cl-vif:oklch(from var(--ds-accent) max(l, .5) c h);
  --cl-txt:oklch(from var(--ds-accent) min(l, .45) c h);
  --cl-txt-l:var(--cl-txt);
  --cl-ink:color-mix(in srgb, var(--ds-accent) 16%, #0B0F17);
  --cl-body:#454C59; --cl-mute:#5A6270;
  --cl-creme:color-mix(in srgb, var(--ds-accent) 4%, #F6F2EA);
  --cl-tint:color-mix(in srgb, var(--ds-accent) 9%, #fff);
  --cl-tint-2:color-mix(in srgb, var(--ds-accent) 18%, #fff);
  --cl-rule:color-mix(in srgb, #0B0F17 10%, transparent);
  --cl-rule-2:color-mix(in srgb, #0B0F17 18%, transparent);
  --cl-ita:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --cl-ph-pb:clamp(56px,6vw,88px);   /* bas des hauts de page */
  --cl-deb:clamp(36px,4vw,56px);     /* débord de la photo ou de la carte sous le haut de page */

  --ds-ink:var(--cl-ink); --ds-body:var(--cl-body); --ds-mute:var(--cl-mute); --ds-bg:#FFFDF9;
  --ds-surface:var(--cl-creme); --ds-tint:var(--cl-tint); --ds-tint-2:var(--cl-tint-2);
  --ds-rule:var(--cl-rule); --ds-rule-2:var(--cl-rule-2);
  --ds-f-title:'Manrope','Helvetica Neue',Arial,sans-serif; --ds-f-body:'Inter','Helvetica Neue',Arial,sans-serif;
  --ds-f-mono:'Manrope','Helvetica Neue',Arial,sans-serif;
  --ds-w-title:800; --ds-stretch:100%; --ds-track:-.032em;
  --ds-r:16px; --ds-r-s:12px; --ds-r-l:24px;
  --ds-shadow:0 1px 2px rgba(11,15,23,.05),0 10px 24px -14px rgba(11,15,23,.16),0 28px 50px -34px color-mix(in srgb, var(--ds-accent) 45%, transparent);
  --ds-shadow-h:0 2px 6px rgba(11,15,23,.06),0 22px 40px -20px rgba(11,15,23,.22),0 40px 70px -40px color-mix(in srgb, var(--ds-accent) 60%, transparent);
  --ds-ease:cubic-bezier(.22,.8,.26,1); --ds-rv-y:22px; --ds-rv-d:.8s;
}

/* ══ Contextes sombres (héros, hauts de page, pied) et cartes blanches posées dessus ══ */
.ds-hero,.ds-phero,.ds-ftr{
  --ds-accent:var(--cl-clair); --ds-accent-2:#fff; --cl-txt:var(--cl-clair);
  --ds-ink:#fff; --ds-body:rgba(255,255,255,.8); --ds-mute:rgba(255,255,255,.68);
  --ds-rule:rgba(255,255,255,.14); --ds-rule-2:rgba(255,255,255,.3);
  --ds-tint:rgba(255,255,255,.09); --ds-tint-2:rgba(255,255,255,.16); --ds-surface:rgba(255,255,255,.06);
  background-color:var(--cl-nuit); color:var(--ds-body);
}
:is(.ds-hero,.ds-phero,.ds-ftr) :is(.ds-fiche,.ds-b-carte,.ds-d-coord),.ds-mega{
  --ds-accent:var(--cl-acc); --ds-accent-2:color-mix(in srgb, var(--cl-acc) 80%, var(--cl-ink)); --cl-txt:var(--cl-txt-l);
  --ds-ink:var(--cl-ink); --ds-body:var(--cl-body); --ds-mute:var(--cl-mute);
  --ds-rule:var(--cl-rule); --ds-rule-2:var(--cl-rule-2);
  --ds-tint:var(--cl-tint); --ds-tint-2:var(--cl-tint-2); --ds-surface:var(--cl-creme);
  color:var(--ds-body);
}
:is(.ds-hero,.ds-phero,.ds-ftr) .ds-btn--p{background-color:var(--cl-vif);box-shadow:0 14px 30px -14px rgba(0,0,0,.65)}
:is(.ds-hero,.ds-phero,.ds-ftr) .ds-btn--p:hover{background-color:var(--cl-vif);box-shadow:0 20px 36px -16px rgba(0,0,0,.7)}
:is(.ds-hero,.ds-phero) .ds-chip{background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);color:#fff}
:is(.ds-hero,.ds-phero) .ds-btn--s{background:rgba(255,255,255,.08);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}

/* ══ Typographie ══ */
body{font-size:16.5px;background:var(--ds-bg)}
h1,h2,h3,h4{letter-spacing:var(--ds-track)}
.ds-h1{font-weight:800;font-size:clamp(2.45rem,1.3rem + 2.8vw,4rem);line-height:1.03;letter-spacing:-.038em}
.ds-h2{font-weight:800;font-size:clamp(1.95rem,1.2rem + 2vw,2.9rem);line-height:1.08;letter-spacing:-.034em}
.ds-h3{font-weight:750}
.ds-card h3,.ds-besoin > b,.ds-prat h3{font-weight:750}
.ds-lead{line-height:1.66}
.ds-eb{gap:0;font:700 12px/1.25 var(--ds-f-title);letter-spacing:.16em;color:var(--cl-txt)}
.ds-k{font-weight:700;color:var(--cl-txt)}
.ds-eb sup,.ds-crumb sup{font-size:.72em;line-height:0;letter-spacing:0;text-transform:none;vertical-align:.5em;margin-left:-.12em}
.ds-acc{color:var(--ds-accent)}
/* texte de la couleur du cabinet : version foncée si besoin (AA sur crème, même en vert forêt) */
a{color:var(--cl-txt)}
.ds-a a:where(:not(.ds-btn)){color:var(--cl-txt)} /* le socle y met --ds-accent-2, moins foncé ici que --cl-txt */
.ds-link:hover,.ds-q summary:hover,.ds-q[open] summary,.ds-toc a.is-actif,.ds-mega a:hover,.ds-mega .ds-mega-all,.ds-horaires tr.is-auj th::after{color:var(--cl-txt)}
.ds-hero .ds-acc,.ds-phero .ds-acc{color:var(--cl-clair)}
/* étiquettes : le socle les écrit en chasse fixe ; ici Manrope grasse en capitales */
.ds-mega-col h4,.ds-fact dt,.ds-horaires tr.is-auj th::after,.ds-toc p,.ds-sources b,.ds-maj,.ds-ftr h4,
.ds-a-ancres b,.ds-a-grp-k,.ds-a-cles dt,.ds-b-fam-n,.ds-b-eq h4 small,.ds-b-eq p b,.ds-b-carte dt,.ds-b-parcours time,.ds-b-parcours .ds-b-an,
.ds-c-acces small,.ds-c-duo h3 small,.ds-d-sommaire > span,.ds-d-cit cite,.ds-d-rac small,.ds-d-tpile td::before,.ds-d-coord-top small,
.ds-d-coord-l small,.ds-d-chrono small,.ds-d-delai small{font-weight:700}
.ds-c-repere strong{font-weight:800;letter-spacing:-.04em;color:var(--cl-txt)}
.ds-d-chrono{font-weight:800;letter-spacing:-.05em}
.ds-d-ol li::before{font-weight:800;color:var(--cl-txt)}
.ds-d-eq-op{font-weight:800}
.ds-a-grp-k b{color:var(--cl-txt)}
.ds-b-fam-n{color:var(--cl-txt)}
.ds-prose strong,.ds-note b{font-weight:650}
/* touche italique : légendes, terme technique, citation */
.ds-fig figcaption{display:flex;align-items:center;gap:12px;margin-top:26px;font:500 18px/1.35 var(--cl-ita);letter-spacing:0;text-transform:none;color:var(--ds-body)}
.ds-fig figcaption::before{content:"";width:26px;height:2px;border-radius:2px;background:var(--ds-accent);flex:none}
.ds-a-h1-t{margin-top:.5em;font:500 max(22px,.44em)/1.15 var(--cl-ita);letter-spacing:0;color:var(--cl-clair)}
.ds-d-cit{border-left:4px solid var(--ds-accent);border-radius:0 var(--ds-r) var(--ds-r) 0;padding:24px 28px;background:#fff}
.ds-d-cit p{font:500 21px/1.45 var(--cl-ita);color:var(--ds-ink)}
.ds-d-cit cite{margin-top:14px}

/* ══ Boutons, liens, pastilles ══ */
.ds-btn{min-height:52px;padding:15px 24px;border-radius:12px;font:700 15.5px/1.1 var(--ds-f-title);letter-spacing:-.005em}
.ds-btn--sm{min-height:44px;padding:11px 18px;font-size:14px}
.ds-btn--p:hover{transform:translateY(-2px)}
.ds-btn--s{box-shadow:inset 0 0 0 1.5px var(--ds-rule-2)}
.ds-btn--s:hover{box-shadow:inset 0 0 0 1.5px var(--ds-accent);transform:translateY(-1px)}
.ds-btn--w{color:var(--cl-acc);box-shadow:0 14px 30px -16px rgba(0,0,0,.5)}
.ds-btn--w:hover{transform:translateY(-2px);box-shadow:0 20px 36px -16px rgba(0,0,0,.55)}
.ds-btn--g{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
.ds-link{font:700 15px/1.3 var(--ds-f-title);letter-spacing:-.005em;gap:10px}
.ds-link .ds-svg{width:28px;height:28px;padding:6px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--ds-rule-2);transition:transform .3s var(--ds-ease),background-color .3s,color .3s,box-shadow .3s}
.ds-link::after{right:38px;bottom:9px;height:2px;border-radius:2px;background:var(--ds-accent);transform:scaleX(.25)}
.ds-link:hover .ds-svg,a.ds-card:hover .ds-link .ds-svg{background:var(--ds-accent);color:#fff;box-shadow:inset 0 0 0 1.5px var(--ds-accent);transform:translateX(3px)}
:is(.ds-hero,.ds-phero,.ds-ftr) .ds-link:hover .ds-svg{color:var(--cl-nuit)}
.ds-chip{min-height:32px;padding:6px 13px;font:600 13px/1.2 var(--ds-f-body);box-shadow:inset 0 0 0 1px var(--ds-rule-2)}
.ds-chip--acc{box-shadow:none;font-weight:700}

/* ══ Fil d'Ariane ══ */
.ds-crumb{font:500 13.5px/1.3 var(--ds-f-body);letter-spacing:0;text-transform:none;color:var(--ds-mute);gap:6px 10px}
.ds-crumb a{color:var(--ds-mute);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:color .2s,text-decoration-color .2s}
.ds-crumb a:hover{color:#fff;text-decoration-color:currentColor}
.ds-crumb [aria-current]{color:#fff;font-weight:600}
.ds-crumb .ds-sep{opacity:.45}

/* ══ En-tête : transparent sur la nuit du haut de page, blanc dès qu'on défile ══ */
.ds-hdr{background:rgba(255,253,249,.96);transition:background-color .35s,box-shadow .35s,border-color .35s}
html.ds-defile .ds-hdr{background:rgba(255,253,249,.9)}
.ds-logo{gap:12px;font:800 19px/1.15 var(--ds-f-title);letter-spacing:-.03em}
.ds-logo b{font-weight:800}
.ds-logo span{font-weight:600;color:var(--ds-accent)}
.ds-logo::before{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle,var(--ds-accent) 0 4.5px,transparent 5px);box-shadow:inset 0 0 0 2.5px var(--ds-accent);transition:transform .6s var(--ds-ease)}
.ds-logo:hover::before{transform:scale(1.12)}
.ds-nav-t,.ds-nav-l{font:600 15px/1 var(--ds-f-title);letter-spacing:-.005em;transition:color .25s}
.ds-nav-t::after,.ds-nav-l::after{height:2.5px;bottom:5px}
.ds-mega{border-radius:20px;border:0;box-shadow:0 2px 6px rgba(11,15,23,.06),0 40px 80px -30px rgba(11,15,23,.4);padding:28px 30px 30px}
.ds-mega-col h4{color:var(--cl-txt);letter-spacing:.12em}
.ds-mega a{font-weight:500}
.ds-urg{border-radius:12px;font:700 14px/1 var(--ds-f-title);transition:color .25s,background-color .25s,box-shadow .25s}
.ds-hdr .ds-btn{border-radius:12px}
.ds-burger{color:var(--ds-ink);transition:color .25s}
html:not(.ds-defile):not(.ds-nav-ouvert):has(main > :is(.ds-hero,.ds-phero):first-child) .ds-hdr:has(> .ds-prog){
  --ds-ink:#fff; --ds-accent:var(--cl-clair); --ds-rule:rgba(255,255,255,.14); --ds-rule-2:rgba(255,255,255,.3); --ds-tint:rgba(255,255,255,.1);
  background:transparent; border-bottom-color:rgba(255,255,255,.1); -webkit-backdrop-filter:none; backdrop-filter:none; box-shadow:none}
html:not(.ds-defile):not(.ds-nav-ouvert):has(main > :is(.ds-hero,.ds-phero):first-child) .ds-hdr:has(> .ds-prog) .ds-urg{background:rgba(255,255,255,.07);color:#fff}
html:not(.ds-defile):not(.ds-nav-ouvert):has(main > :is(.ds-hero,.ds-phero):first-child) .ds-hdr:has(> .ds-prog) .ds-btn--p{background-color:var(--cl-vif);box-shadow:0 12px 28px -14px rgba(0,0,0,.6)}
main > :is(.ds-hero,.ds-phero):first-child{margin-top:calc(-1 * var(--ds-hdr-h))}
/* version téléphone des démos et des sites (telephone.css, mob-a) : sa marge du haut resserrée (28 px) ne compte pas
   l'en-tête, sous lequel ce héros remonte ; le sur-titre passait sous le nom du cabinet (16/10/2026) */
@media (max-width:640px){html.mob-a main > .ds-hero:first-child .ds-hero-txt{padding-top:calc(var(--ds-hdr-h) + 28px)}}
@media (max-width:1120px){.ds-mnav summary,.ds-mnav > a:not(.ds-btn){font:700 18px/1.2 var(--ds-f-title);letter-spacing:-.02em}.ds-mnav details a{border-left-width:3px}}

/* ══ Héros de l'accueil : nuit plein écran, photo en fond perdu coupée en biais, bandeau de gages ══ */
.ds-hero{z-index:2;grid-template-columns:minmax(0,1fr) minmax(0,47%);min-height:clamp(640px,100svh,880px);border-bottom:0;background:var(--cl-nuit)}
.ds-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(circle at 6% 104%,transparent 0 21vw,rgba(255,255,255,.07) calc(21vw + .5px) calc(21vw + 1.5px),transparent calc(21vw + 2px) 27vw,rgba(255,255,255,.05) calc(27vw + .5px) calc(27vw + 1.5px),transparent calc(27vw + 2px)),
  radial-gradient(40% 62% at 20% 32%,color-mix(in srgb, var(--cl-vif) 30%, transparent),transparent 70%),
  linear-gradient(100deg,var(--cl-nuit-2),var(--cl-nuit) 50%)}
.ds-hero-txt{position:relative;z-index:2;gap:26px;padding:calc(var(--ds-hdr-h) + clamp(44px,5vw,80px)) clamp(36px,5vw,80px) calc(clamp(56px,6vw,96px) + 56px) max(24px,calc((100vw - var(--ds-w)) / 2))}
.ds-hero-txt::after{content:"";position:absolute;top:var(--ds-hdr-h);bottom:0;left:calc(100% - 1px);width:clamp(56px,7vw,124px);pointer-events:none;
  background:linear-gradient(to bottom right,var(--cl-nuit) calc(50% - 1px),var(--cl-vif) calc(50% - .5px),var(--cl-vif) calc(50% + 2.5px),transparent calc(50% + 3px))}
.ds-hero-txt .ds-h1{font-size:clamp(2.7rem,1.25rem + 3.5vw,4.6rem);line-height:1;letter-spacing:-.042em;color:#fff}
.ds-hero-txt .ds-lead{max-width:500px;color:rgba(255,255,255,.8)}
.ds-hero .ds-h1 .ds-acc{position:relative;display:inline-block;white-space:nowrap}
.ds-hero .ds-h1 .ds-acc::after{content:"";position:absolute;left:-.02em;right:-.04em;bottom:-.1em;height:.17em;background:var(--cl-vif);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 16' preserveAspectRatio='none'%3E%3Cpath d='M3 12C48 5 116 3 197 6.5' fill='none' stroke='%23000' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 16' preserveAspectRatio='none'%3E%3Cpath d='M3 12C48 5 116 3 197 6.5' fill='none' stroke='%23000' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}
.ds-hero-media{position:static;overflow:hidden;margin-top:var(--ds-hdr-h)}
.ds-hero-media > img{position:static;inset:auto;display:block;width:100%;height:calc(100% + 80px);margin-top:-80px;object-fit:cover;border-radius:0;box-shadow:none}
.ds-fiche{position:absolute;z-index:3;left:max(24px,calc((100vw - var(--ds-w)) / 2));right:max(24px,calc((100vw - var(--ds-w)) / 2));bottom:0;translate:0 50%;width:auto;
  display:grid;grid-template-columns:auto 1px minmax(0,1fr) minmax(0,1fr);gap:0 32px;align-items:center;padding:22px 32px;
  background:#fff;border:0;border-radius:20px;-webkit-backdrop-filter:none;backdrop-filter:none;
  box-shadow:0 2px 6px rgba(6,10,18,.08),0 34px 70px -30px rgba(6,10,18,.5)}
.ds-fiche::before{content:"";position:absolute;left:32px;top:0;width:56px;height:4px;border-radius:0 0 4px 4px;background:var(--ds-accent)}
.ds-fiche hr{width:1px;height:48px;border:0;background:var(--ds-rule)}
.ds-fiche .ds-open{font:700 15.5px/1.3 var(--ds-f-title);letter-spacing:-.01em}
.ds-fiche-l{align-items:center;gap:14px;font-size:15px;line-height:1.4}
.ds-fiche-l .ds-svg{width:46px;height:46px;padding:12px;margin:0;border-radius:50%;background:var(--ds-tint);color:var(--ds-accent)}
.ds-fiche-l > span{font-weight:600}
.ds-fiche-l small{font-weight:400;margin-top:2px}
.ds-fiche-l + .ds-fiche-l{padding-left:32px;border-left:1px solid var(--ds-rule)}
.ds-hero + .ds-sec{padding-top:calc(clamp(72px,8vw,120px) + 64px)}
@media (max-width:1180px){.ds-fiche{grid-template-columns:auto 1px minmax(0,1fr);row-gap:16px}.ds-fiche-l + .ds-fiche-l{grid-column:3;padding-left:0;border-left:0}.ds-fiche hr{grid-row:span 2;height:100%}.ds-fiche > .ds-open{grid-row:span 2}.ds-hero + .ds-sec{padding-top:calc(clamp(72px,8vw,120px) + 110px)}}
@media (max-width:900px){
  .ds-hero{grid-template-columns:1fr;min-height:0}
  .ds-hero::before{background:radial-gradient(90% 50% at 20% 20%,color-mix(in srgb, var(--cl-vif) 30%, transparent),transparent 70%),linear-gradient(160deg,var(--cl-nuit-2),var(--cl-nuit) 60%)}
  .ds-hero-txt{padding:calc(var(--ds-hdr-h) + 40px) 20px 44px;gap:22px}
  .ds-hero-txt::after{top:calc(100% - 1px);bottom:auto;left:0;right:0;width:auto;height:clamp(28px,9vw,64px)}
  .ds-hero-media{overflow:visible;padding:0;margin-top:0}
  .ds-hero-media > img{height:auto;aspect-ratio:4/3;margin-top:0;translate:none!important}
  .ds-fiche{position:relative;left:auto;right:auto;bottom:auto;translate:none;margin:-64px 16px -72px;grid-template-columns:1fr;gap:14px;padding:20px 20px 18px}
  .ds-fiche::before{left:20px}
  .ds-fiche hr{width:auto;height:1px;grid-row:auto}
  .ds-fiche > .ds-open{grid-row:auto}
  .ds-fiche-l + .ds-fiche-l{grid-column:auto}
  .ds-fiche-l .ds-svg{width:42px;height:42px;padding:11px}
  .ds-hero + .ds-sec{padding-top:calc(clamp(64px,8vw,120px) + 72px)}
}

/* ══ Hauts des pages intérieures : même nuit ; la photo ou la carte déborde sur la section suivante ══ */
.ds-phero{z-index:2;overflow:visible;border-bottom:0;padding:calc(var(--ds-hdr-h) + clamp(36px,4.6vw,72px)) 0 var(--cl-ph-pb)}
.ds-phero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(circle at 100% 0,transparent 0 20vw,rgba(255,255,255,.06) calc(20vw + .5px) calc(20vw + 1.5px),transparent calc(20vw + 2px) 26vw,rgba(255,255,255,.045) calc(26vw + .5px) calc(26vw + 1.5px),transparent calc(26vw + 2px)),
  radial-gradient(50% 80% at 12% 0,color-mix(in srgb, var(--cl-vif) 26%, transparent),transparent 70%),
  linear-gradient(170deg,var(--cl-nuit-2),var(--cl-nuit) 55%)}
.ds-phero .ds-wrap{gap:24px}
.ds-phero .ds-h1{color:#fff}
.ds-phero .ds-lead{color:rgba(255,255,255,.8)}
.ds-phero--split .ds-wrap{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:28px clamp(48px,6vw,96px)}
.ds-phero-media{position:relative;justify-self:stretch}
.ds-phero-media img{border-radius:var(--ds-r-l);box-shadow:0 40px 80px -40px rgba(0,0,0,.6)}
.ds-phero-media::before{content:"";position:absolute;inset:22px -22px -22px 22px;z-index:-1;border:1.5px solid var(--cl-vif);border-radius:var(--ds-r-l);pointer-events:none}
.ds-phero--split .ds-wrap > .ds-phero-media:last-child{align-self:stretch;min-height:380px;margin-bottom:calc(-1 * (var(--cl-ph-pb) + var(--cl-deb)))}
.ds-phero--split .ds-wrap > .ds-phero-media:last-child img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
.ds-phero--split .ds-wrap > :is(.ds-b-carte,.ds-d-coord):last-child{align-self:end;margin-bottom:calc(-1 * (var(--cl-ph-pb) + var(--cl-deb)))}
.ds-phero:has(> .ds-wrap > :last-child:is(.ds-phero-media,.ds-b-carte,.ds-d-coord)) + .ds-sec{padding-top:calc(clamp(72px,8vw,120px) + var(--cl-deb))}
.ds-b-carte{border:0;border-radius:var(--ds-r-l);box-shadow:0 2px 6px rgba(6,10,18,.08),0 40px 80px -36px rgba(6,10,18,.55)}
.ds-b-carte::before,.ds-d-coord::before{content:"";inset:22px -22px -22px 22px;z-index:-1;background:none;border:1.5px solid var(--cl-vif);border-radius:var(--ds-r-l);pointer-events:none}
.ds-d-coord{position:relative;border:0;box-shadow:0 2px 6px rgba(6,10,18,.08),0 40px 80px -36px rgba(6,10,18,.55)}
.ds-d-coord::before{position:absolute}
.ds-b-mono,.ds-prat-ph{border-radius:50%;background:radial-gradient(circle at 30% 25%,var(--ds-tint),var(--ds-tint-2));box-shadow:inset 0 0 0 2px #fff,0 0 0 2px var(--ds-tint-2);font-weight:800}
/* composants clairs posés sur la nuit */
.ds-phero .ds-c-acces a{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
.ds-phero .ds-c-acces a:hover{background:rgba(255,255,255,.1);border-color:var(--cl-clair);box-shadow:0 20px 40px -24px rgba(0,0,0,.6)}
.ds-phero .ds-c-acces a:hover .ds-ico,.ds-phero .ds-b-ancres a:hover .ds-svg{color:var(--cl-nuit)}
.ds-phero :is(.ds-b-ancres a,.ds-d-ancres a){background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);color:#fff}
.ds-phero :is(.ds-b-ancres a,.ds-d-ancres a):hover{background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px var(--cl-clair);color:#fff}
.ds-phero .ds-a-ancres ul{border-top-width:2px}
.ds-phero .ds-a-ancres a:hover{color:#fff}
.ds-phero .ds-vital{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);border-top:4px solid var(--cl-vif)}
.ds-phero .ds-a-cles{border-top-width:2px}
@media (max-width:900px){
  .ds-phero{padding-top:calc(var(--ds-hdr-h) + 32px)}
  .ds-phero--split .ds-wrap{grid-template-columns:minmax(0,1fr);gap:28px}
  .ds-phero .ds-wrap > div > .ds-d-ancres{flex-wrap:wrap;overflow:visible;justify-self:stretch;padding-bottom:0}
  .ds-phero--split .ds-wrap > .ds-phero-media:last-child{align-self:auto;min-height:0;aspect-ratio:4/3}
  .ds-phero--split .ds-wrap > :is(.ds-b-carte,.ds-d-coord):last-child{align-self:auto}
  .ds-phero-media::before,.ds-b-carte::before,.ds-d-coord::before{inset:14px -10px -12px 14px}
}

/* ══ Titres de section : barre d'accent qui se trace ══ */
:is(.ds-head,.ds-split-txt) > .ds-h2::after,.ds-head > div > .ds-h2::after{content:"";display:block;width:56px;height:4px;margin-top:22px;border-radius:4px;background:var(--ds-accent);transform-origin:0 50%;transition:transform .9s var(--ds-ease) .3s}
.ds-head--c .ds-h2::after{margin-inline:auto;transform-origin:50% 50%}
html.dsa .rv :is(.ds-head,.ds-split-txt) > .ds-h2::after,html.dsa .rv > div > .ds-h2::after,html.dsa .ds-h2.rv::after{transform:scaleX(0)}
html.dsa .rv.vu :is(.ds-head,.ds-split-txt) > .ds-h2::after,html.dsa .rv.vu > div > .ds-h2::after,html.dsa .ds-h2.rv.vu::after{transform:scaleX(1)}
html.dsa .ds-head.rv > .ds-h2::after,html.dsa .ds-head.rv > div > .ds-h2::after{transform:scaleX(0)}
html.dsa .ds-head.rv.vu > .ds-h2::after,html.dsa .ds-head.rv.vu > div > .ds-h2::after{transform:scaleX(1)}
.ds-a-grp-h h2{font-weight:800}
.ds-a-grp-top .ds-ico{width:52px;height:52px}

/* ══ Sections ══ */
.ds-sec--alt{background:var(--ds-surface)}

/* ══ Icônes dans des ronds ══ */
.ds-ico{width:52px;height:52px;border-radius:50%;background:var(--ds-tint);color:var(--ds-accent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ds-accent) 10%, transparent)}
.ds-fact .ds-ico,.ds-c-acces .ds-ico,.ds-d-coord-l .ds-ico,.ds-a-signes .ds-ico,.ds-c-ligne .ds-ico{border-radius:50%}
:is(.ds-hero,.ds-phero,.ds-ftr) .ds-ico{box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}

/* ══ Cartes blanches à ombre douce ══ */
.ds-card,.ds-besoin,.ds-prat,.ds-c-ligne,.ds-c-une,.ds-d-panier,.ds-d-niv,.ds-d-non li,.ds-d-eq-i,.ds-b-bloc3 > div,.ds-c-temps > li,.ds-a-signes li,.ds-d-hcard,.ds-d-exp{border-color:transparent;box-shadow:var(--ds-shadow)}
.ds-card,.ds-besoin,.ds-prat,.ds-c-ligne{background:#fff}
.ds-card{padding:30px 28px 28px;gap:12px}
.ds-card::before{height:4px;background:linear-gradient(90deg,var(--ds-accent),var(--cl-vif))}
a.ds-card:hover,.ds-card:has(> a.ds-cover:hover),a.ds-besoin:hover,a.ds-prat:hover,a.ds-c-ligne:hover,a.ds-c-une:hover{transform:translateY(-6px);box-shadow:var(--ds-shadow-h);border-color:transparent}
a.ds-card:hover .ds-ico{transform:none}
.ds-card .ds-ico{margin-bottom:10px}
.ds-card--img{padding:10px 10px 26px}
.ds-card-img{border-radius:12px}
.ds-besoin{grid-template-columns:52px minmax(0,1fr) auto;padding:24px 22px 24px 22px}
.ds-besoin > .ds-svg{width:30px;height:30px;padding:7px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--ds-rule-2)}
a.ds-besoin:hover > .ds-svg{background:var(--ds-accent);color:#fff;box-shadow:none}
.ds-besoin--urg,.ds-note--urg,.ds-vital,.ds-d-niv--4,.ds-d-moment--nuit,.ds-d-exp-g,.ds-d-eq-i--tot,.ds-d-delai--fort{background-color:var(--cl-nuit);border-color:transparent}
.ds-besoin--urg{background:linear-gradient(150deg,var(--cl-nuit-2),var(--cl-nuit))}
.ds-besoin--urg .ds-ico{background:var(--cl-vif);color:#fff;box-shadow:none}
a.ds-besoin--urg:hover > .ds-svg{background:#fff;color:var(--cl-nuit)}
.ds-besoin--urg > .ds-svg{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.3)}
.ds-d-exp-g{background-image:radial-gradient(80% 60% at 0 0,color-mix(in srgb, var(--cl-vif) 30%, transparent),transparent 70%);background-size:100% 100%;background-repeat:no-repeat}
.ds-prat{padding:22px;border-radius:var(--ds-r-l)}
.ds-prat-ph{color:var(--ds-accent)}
.ds-c-une{border-radius:var(--ds-r-l)}
.ds-c-une::before{height:4px}

/* ══ Photos : cadre décalé plein, en teinte du cabinet ══ */
.ds-fig img{border-radius:var(--ds-r-l);box-shadow:-18px 18px 0 0 var(--ds-tint-2),0 40px 70px -46px rgba(11,15,23,.55)}
.ds-sec--alt .ds-fig img{box-shadow:-18px 18px 0 0 color-mix(in srgb, var(--ds-accent) 22%, var(--ds-surface)),0 40px 70px -46px rgba(11,15,23,.55)}
.ds-split--rev .ds-fig img,.ds-split > :last-child.ds-fig img{box-shadow:18px 18px 0 0 var(--ds-tint-2),0 40px 70px -46px rgba(11,15,23,.55)}
.ds-sec--alt :is(.ds-split--rev .ds-fig,.ds-split > :last-child.ds-fig) img{box-shadow:18px 18px 0 0 color-mix(in srgb, var(--ds-accent) 22%, var(--ds-surface)),0 40px 70px -46px rgba(11,15,23,.55)}
.ds-b-galerie .ds-fig img,.ds-c-lecture .ds-prose .ds-fig img{box-shadow:0 30px 60px -40px rgba(11,15,23,.5)}
html.dsa .ds-fig.rv img{transform:scale(1.05)}
@media (max-width:640px){.ds-fig img{box-shadow:-10px 10px 0 0 var(--ds-tint-2),0 30px 50px -36px rgba(11,15,23,.5)!important}.ds-fig{margin-left:10px}}

/* ══ Lignes pratiques, horaires, tableaux ══ */
.ds-facts{border-top:2px solid var(--ds-accent)}
.ds-fact .ds-ico{width:40px;height:40px}
.ds-fact dt{letter-spacing:.1em}
.ds-horaires th{font-weight:600}
.ds-table-w{border:0;border-radius:var(--ds-r);box-shadow:var(--ds-shadow);background:#fff}
.ds-table thead th{background:var(--cl-nuit);color:#fff;font-weight:700;letter-spacing:.1em}
.ds-table tbody tr{transition:background-color .2s}
.ds-table tbody tr:hover{background:color-mix(in srgb, var(--ds-accent) 4%, #fff)}
.ds-d-oui{font-weight:700}

/* ══ Étapes : numéros dans des ronds, reliés par une ligne qui se dessine ══ */
.ds-steps{gap:clamp(20px,2.6vw,36px)}
.ds-step{padding:0 6px 0 0;background:none;border:0;border-radius:0;box-shadow:none}
.ds-step:hover{transform:none;box-shadow:none}
.ds-step::before{display:grid;place-items:center;width:60px;height:60px;margin:0 0 26px;border-radius:50%;background:var(--ds-accent);color:#fff;font:800 20px/1 var(--ds-f-title);letter-spacing:-.02em;
  box-shadow:0 0 0 7px var(--ds-tint),0 16px 30px -14px color-mix(in srgb, var(--ds-accent) 80%, transparent);transition:background-color .55s var(--ds-ease),color .55s,box-shadow .55s,transform .45s var(--ds-ease)}
.ds-step:hover::before{transform:scale(1.07)}
.ds-step::after{left:84px;right:calc(24px - clamp(20px,2.6vw,36px));top:29px;height:2px}
.ds-steps > .ds-step:last-child::after{display:none}
.ds-step h3{margin:0 0 8px;font-size:19px}
.ds-step p{font-size:15px}
html.dsa .ds-steps .ds-step::before{background:#fff;color:var(--ds-mute);box-shadow:inset 0 0 0 2px var(--ds-rule-2),0 0 0 7px transparent,0 16px 30px -14px transparent}
html.dsa .ds-steps.ds-lance .ds-step::before{background:var(--ds-accent);color:#fff;box-shadow:inset 0 0 0 2px var(--ds-accent),0 0 0 7px var(--ds-tint),0 16px 30px -14px color-mix(in srgb, var(--ds-accent) 80%, transparent)}
@media (max-width:1000px) and (min-width:641px){.ds-steps > .ds-step:nth-child(2n)::after{display:none}}
@media (max-width:640px){
  .ds-steps{gap:0}
  .ds-step{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:18px;padding:0 0 30px}
  .ds-step::before{grid-row:1/span 2;width:52px;height:52px;margin:0;font-size:18px}
  .ds-step h3{margin:13px 0 6px}
  .ds-step::after{left:25px;right:auto;top:66px;bottom:10px;width:2px;height:auto}
  html.dsa .ds-steps .ds-step::after{background-size:100% 0,auto}
  html.dsa .ds-steps.ds-lance .ds-step::after{background-size:100% 100%,auto}
}
.ds-steps.ds-a-steps{gap:0}
.ds-a-steps .ds-step{grid-template-columns:48px minmax(0,1fr);column-gap:20px;padding:0 0 26px}
.ds-a-steps .ds-step:hover{box-shadow:none}
.ds-a-steps .ds-step::before{width:48px;height:48px;margin:0;font-size:17px;line-height:1}
.ds-a-steps .ds-step::after{left:23px;right:auto;top:62px;bottom:8px;width:2px;height:auto}
.ds-a-steps .ds-step h3{margin:11px 0 6px}
@media (max-width:520px){.ds-a-steps .ds-step{grid-template-columns:44px minmax(0,1fr);column-gap:14px;padding:0 0 24px}.ds-a-steps .ds-step::before{width:44px;height:44px;font-size:16px}.ds-a-steps .ds-step::after{left:21px;top:58px}}

/* ══ Listes ══ */
.ds-check li::before{top:0;width:24px;height:24px;background:var(--ds-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/13px no-repeat;box-shadow:0 0 0 4px var(--ds-tint)}
.ds-check li{padding-left:38px}
.ds-prose ul li::before,.ds-b-bloc3 li::before,.ds-d-puces li::before{top:.6em;width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 3px var(--ds-tint)}
.ds-c-ordo > li::before{background:var(--cl-nuit);font:800 13px/1 var(--ds-f-title)}

/* ══ Questions fréquentes : cartes ══ */
.ds-faq{border-top:0;display:grid;gap:10px}
.ds-q{border-bottom:0;background:#fff;border-radius:var(--ds-r);box-shadow:var(--ds-shadow);transition:box-shadow .3s var(--ds-ease)}
.ds-q[open]{box-shadow:inset 3px 0 0 var(--ds-accent),var(--ds-shadow)}
.ds-q summary{padding:20px 22px 20px 24px;font:700 17.5px/1.35 var(--ds-f-title);letter-spacing:-.018em}
.ds-q summary i{width:34px;height:34px;background:var(--ds-tint)}
.ds-q summary i::before,.ds-q summary i::after{left:11px;right:11px;top:16px;background:var(--ds-accent)}
.ds-a{padding:0 64px 24px 24px}
@media (max-width:640px){.ds-q summary{font-size:16.5px;padding:18px 16px 18px 18px}.ds-a{padding:0 18px 20px}}

/* ══ Encadrés ══ */
.ds-note{border-radius:var(--ds-r);box-shadow:inset 4px 0 0 var(--ds-accent);padding:20px 22px 20px 24px}
.ds-note--urg{box-shadow:inset 4px 0 0 var(--cl-vif)}
.ds-vital{border-radius:var(--ds-r-l)}
.ds-d-af{border-radius:var(--ds-r)}

/* ══ Sommaire d'article ══ */
.ds-toc a{border-left-width:3px}
.ds-toc a.is-actif{font-weight:700}
.ds-toc-prog{height:3px}

/* ══ Formulaire, plan ══ */
.ds-d-champ input,.ds-d-champ select,.ds-d-champ textarea{border-radius:12px}
.ds-d-hcard{border-radius:var(--ds-r-l)}
.ds-map{border:0;box-shadow:var(--ds-shadow)}

/* ══ Appel final : panneau de la couleur du cabinet, anneaux « sceau » ══ */
.ds-cta{border-radius:28px;background:linear-gradient(125deg,var(--cl-acc),color-mix(in srgb, var(--cl-acc) 62%, var(--cl-nuit)));background:linear-gradient(125deg,oklch(from var(--cl-acc) min(l, .42) c h),color-mix(in srgb, var(--cl-acc) 62%, var(--cl-nuit)));box-shadow:0 40px 80px -50px color-mix(in srgb, var(--cl-acc) 80%, #000)}
.ds-cta::before{content:"";position:absolute;z-index:-1;right:-150px;top:-190px;width:460px;height:460px;border-radius:50%;pointer-events:none;
  border:1.5px solid rgba(255,255,255,.16);box-shadow:0 0 0 70px rgba(255,255,255,.035),0 0 0 71.5px rgba(255,255,255,.1),inset 0 0 0 70px rgba(255,255,255,.03);transition:transform 1.6s var(--ds-ease),opacity 1.2s}
html.dsa .ds-cta:not(.ds-lance)::before{transform:scale(.8) rotate(-20deg);opacity:0}
.ds-cta{color:#fff}
.ds-cta .ds-eb{color:rgba(255,255,255,.92)}
.ds-cta .ds-h2{font-weight:800}
.ds-cta-info .ds-svg{width:38px;height:38px;padding:9px;margin-top:-6px;border-radius:50%;background:rgba(255,255,255,.12)}
@media (max-width:900px){.ds-cta{border-radius:22px}.ds-cta::before{width:300px;height:300px;right:-120px;top:-130px}}

/* ══ Pied de page nuit ══ */
.ds-ftr{position:relative;overflow:hidden;isolation:isolate;border-top:0;padding:80px 0 34px;background:linear-gradient(175deg,var(--cl-nuit),color-mix(in srgb, var(--cl-nuit) 80%, #000))}
.ds-ftr::before{content:"";position:absolute;z-index:-1;left:-160px;bottom:-260px;width:520px;height:520px;border-radius:50%;border:1.5px solid rgba(255,255,255,.06);box-shadow:0 0 0 80px rgba(255,255,255,.02),0 0 0 81.5px rgba(255,255,255,.05);pointer-events:none}
.ds-ftr-top{border-bottom-color:rgba(255,255,255,.12)}
.ds-ftr .ds-logo{color:#fff}
.ds-ftr h4{color:var(--cl-clair);letter-spacing:.14em}
.ds-ftr a,.ds-ftr-brand p,.ds-ftr li{color:rgba(255,255,255,.74)}
.ds-ftr a:hover{color:#fff}
.ds-ftr .ds-btn--p{color:#fff}
.ds-ftr-bas,.ds-ftr-bas a{color:rgba(255,255,255,.6)}
.ds-ftr .ds-open{color:#fff}

/* ══ Mouvement : assuré et fluide ══ */
@keyframes cl-monte{from{transform:translate3d(0,26px,0)}to{transform:none}}
@keyframes cl-fond{from{opacity:0}to{opacity:1}}
@keyframes cl-photo{from{clip-path:inset(0 0 0 100%);transform:scale(1.14)}to{clip-path:inset(0 0 0 0);transform:none}}
@keyframes cl-leve{from{clip-path:inset(100% 0 0 0 round var(--ds-r-l));transform:scale(1.08)}to{clip-path:inset(0 0 0 0 round var(--ds-r-l));transform:none}}
@keyframes cl-cadre{from{opacity:0;transform:translate(-22px,-22px)}to{opacity:1;transform:none}}
@keyframes cl-biais{from{transform:translateX(-101%)}to{transform:none}}
@keyframes cl-trait{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes cl-bande{from{opacity:0;transform:translate3d(0,34px,0)}to{opacity:1;transform:none}}
html.dsa .ds-hero::before,html.dsa .ds-phero::before{animation:cl-fond 1.6s ease-out both}
html.dsa .ds-hero-txt > *{animation:cl-monte .95s var(--ds-ease) both}
html.dsa .ds-hero-txt > :nth-child(1){animation-delay:.15s}
html.dsa .ds-hero-txt > :nth-child(2){animation-delay:.27s}
html.dsa .ds-hero-txt > :nth-child(3){animation-delay:.45s}
html.dsa .ds-hero-txt > :nth-child(4){animation-delay:.58s}
html.dsa .ds-hero-txt > :nth-child(5){animation-delay:.7s}
html.dsa .ds-hero .ds-h1 .ds-ville{animation:cl-monte .95s var(--ds-ease) .38s both}
html.dsa .ds-hero .ds-h1 .ds-acc::after{animation:cl-trait .9s cubic-bezier(.65,0,.25,1) 1.1s both}
html.dsa .ds-hero-media > img{animation:cl-photo 1.35s cubic-bezier(.7,0,.2,1) .1s both}
html.dsa .ds-hero-txt::after{animation:cl-fond .6s ease-out .9s both}
html.dsa .ds-fiche{animation:cl-bande 1s var(--ds-ease) .95s both}
html.dsa .ds-phero .ds-wrap > :where(:not(.ds-phero-media):not(div):not(.ds-b-carte):not(.ds-d-coord)),html.dsa .ds-phero--split .ds-wrap > div:not(.ds-phero-media) > *{animation:cl-monte .9s var(--ds-ease) both}
html.dsa .ds-phero .ds-wrap > :nth-child(2),html.dsa .ds-phero--split .ds-wrap > div:not(.ds-phero-media) > :nth-child(2){animation-delay:.1s}
html.dsa .ds-phero .ds-wrap > :nth-child(3),html.dsa .ds-phero--split .ds-wrap > div:not(.ds-phero-media) > :nth-child(3){animation-delay:.2s}
html.dsa .ds-phero .ds-wrap > :nth-child(n+4),html.dsa .ds-phero--split .ds-wrap > div:not(.ds-phero-media) > :nth-child(n+4){animation-delay:.32s}
html.dsa .ds-phero--split .ds-wrap > .ds-vital{animation:cl-monte 1s var(--ds-ease) .3s both}
/* les cartes ne bougent pas elles-mêmes (leur cadre décalé resterait derrière) : leurs lignes montent */
html.dsa .ds-phero :is(.ds-b-carte,.ds-d-coord) > *{animation:cl-monte .8s var(--ds-ease) both}
html.dsa .ds-phero :is(.ds-b-carte,.ds-d-coord) > :nth-child(1){animation-delay:.3s}
html.dsa .ds-phero :is(.ds-b-carte,.ds-d-coord) > :nth-child(2){animation-delay:.4s}
html.dsa .ds-phero :is(.ds-b-carte,.ds-d-coord) > :nth-child(3){animation-delay:.5s}
html.dsa .ds-phero :is(.ds-b-carte,.ds-d-coord) > :nth-child(n+4){animation-delay:.6s}
html.dsa .ds-phero-media img{animation:cl-leve 1.25s cubic-bezier(.7,0,.2,1) .15s both}
html.dsa .ds-phero-media::before,html.dsa .ds-phero .ds-b-carte::before,html.dsa .ds-phero .ds-d-coord::before{animation:cl-cadre 1s var(--ds-ease) 1.05s both}

/* ══ Surcouche DoctoClic : garde ses couleurs, lisible sur la nuit ══ */
.ds-hero .dcx-af,.ds-phero .dcx-af{text-decoration-color:#5FD6CF}
