/* Kiné Sport & Santé — feuille de style partagée
   Univers : bandes de kinesio-tape posées sur un papier de protection quadrillé au centimètre. */

/* Archivo (variable, SIL Open Font License), auto-hébergée */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400 900;
  font-stretch: 62% 125%;
  font-display: swap;
  src: url(fonts/archivo-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400 900;
  font-stretch: 62% 125%;
  font-display: swap;
  src: url(fonts/archivo-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- Tokens ---------- */
:root{
  --paper:#EEF1F3;
  --paper-sheet:#F7F9FA;
  --grid:rgba(22,70,216,.075);
  --grid-strong:rgba(22,70,216,.16);
  --line:#C9D3D8;

  --ink:#111418;
  --ink-2:#3B444D;
  --ink-3:#5A6570;

  --tape:#1646D8;
  --tape-deep:#0F33A6;
  --tape-under:#0B2C8F;
  --tape-ink:#15181C;
  --tape-sand:#D9B89A;
  --tape-sand-deep:#C29C7B;
  --on-tape:#FFFFFF;

  --font:"Archivo", "Helvetica Neue", Arial, sans-serif;
  --narrow:72%;
  --condensed:82%;

  --r-tape:.5rem;
  --r-sheet:.25rem;

  --shadow-tape:0 1px 0 rgba(17,20,24,.10), 0 10px 18px -12px rgba(11,44,143,.55);
  --shadow-photo:0 2px 3px rgba(17,20,24,.10), 0 22px 40px -24px rgba(17,20,24,.45);

  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-press:cubic-bezier(.3,.7,.2,1);

  --wrap:1240px;
  --gutter:clamp(1rem, 4vw, 2.5rem);
  --section:clamp(4.5rem, 9vw, 8rem);

  --z-header:50;
  --z-dropdown:60;

  /* Texture de trame, posée par-dessus les bandes */
  --weave:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='4'%3E%3Crect width='6' height='1' fill='%23000' fill-opacity='.22'/%3E%3Crect y='2' width='3' height='1' fill='%23000' fill-opacity='.1'/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:6rem;-webkit-text-size-adjust:100%;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{
  margin:0;
  font-family:var(--font);
  font-size:1.0625rem;
  line-height:1.6;
  color:var(--ink);
  background-color:var(--paper);
  background-image:
    linear-gradient(var(--grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid) 1px, transparent 1px);
  background-size:1cm 1cm;
  background-position:-1px -1px;
  font-kerning:normal;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,video,svg{display:block;max-width:100%;}
img,video{height:auto;}
a{color:var(--tape);text-underline-offset:.18em;text-decoration-thickness:1px;}
a:hover{color:var(--tape-deep);}
p{margin:0 0 1em;}
h1,h2,h3,h4,h5{margin:0;font-weight:800;line-height:1.05;text-wrap:balance;}
h2{font-size:clamp(2rem, 4.2vw, 3.4rem);font-stretch:var(--narrow);letter-spacing:-.01em;}
h3{font-size:1.35rem;font-stretch:var(--condensed);letter-spacing:0;}
h4{font-size:1.05rem;font-stretch:var(--condensed);}
ul,ol{margin:0;padding:0;}
strong{font-weight:700;}
::selection{background:var(--tape);color:var(--on-tape);}
:focus-visible{outline:2px solid var(--tape);outline-offset:3px;border-radius:2px;}
html{scrollbar-color:var(--ink-3) var(--paper);}
.tnum{font-variant-numeric:tabular-nums;}

.skip{position:absolute;left:1rem;top:-4rem;z-index:100;background:var(--ink);color:#fff;padding:.6rem 1rem;border-radius:var(--r-tape);font-weight:700;text-decoration:none;}
.skip:focus{top:1rem;color:#fff;}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter);}
section{padding-block:var(--section);}
.visually-hidden{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* L'ancienne classe d'apparition reste neutre : le contenu est toujours visible. */
.reveal{opacity:1;}

/* ---------- La bande de tape ---------- */
.tape{
  position:relative;
  display:inline-block;
  background:var(--tape);
  color:var(--on-tape);
  border-radius:var(--r-tape);
  box-shadow:var(--shadow-tape);
  isolation:isolate;
}
.tape::after{
  content:"";position:absolute;inset:0;border-radius:inherit;
  background-image:var(--weave);background-size:6px 4px;
  opacity:.35;mix-blend-mode:multiply;pointer-events:none;z-index:-1;
}
.tape--ink{background:var(--tape-ink);box-shadow:0 1px 0 rgba(0,0,0,.2),0 10px 18px -12px rgba(0,0,0,.6);}
.tape--sand{background:var(--tape-sand);color:var(--ink);box-shadow:0 1px 0 rgba(90,60,30,.12),0 8px 14px -10px rgba(90,60,30,.5);}
.tape--sand::after{opacity:.3;}

/* Bande de titre : imprimée en condensé gras */
.strip{
  display:block;width:fit-content;max-width:100%;
  font-stretch:var(--narrow);font-weight:800;
  line-height:.98;letter-spacing:-.012em;
  padding:.1em .34em .16em;
}

/* Morceau de tape qui tient une photo */
.photo-taped{position:relative;margin:0;}
.photo-taped > img,.photo-taped > video{
  width:100%;background:var(--paper-sheet);
  border:.5rem solid var(--paper-sheet);
  box-shadow:var(--shadow-photo);
  border-radius:var(--r-sheet);
}
.photo-taped::before,.photo-taped::after{
  content:"";position:absolute;z-index:2;
  width:4.2rem;height:1.5rem;border-radius:.35rem;
  background:var(--tape-sand);opacity:.93;
  background-image:var(--weave);background-size:6px 4px;background-blend-mode:multiply;
  box-shadow:0 1px 0 rgba(90,60,30,.15);
}
.photo-taped::before{top:-.55rem;left:-1rem;transform:rotate(-38deg);}
.photo-taped::after{top:-.55rem;right:-1rem;transform:rotate(38deg);}
.photo-taped figcaption{
  margin-top:.9rem;font-size:.82rem;font-weight:600;color:var(--ink-2);
  font-stretch:var(--condensed);letter-spacing:.02em;
}

/* ---------- Boutons ---------- */
.btn,.tape-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  min-height:3rem;padding:.7rem 1.25rem .75rem;
  font:inherit;font-weight:800;font-stretch:var(--condensed);
  font-size:1rem;letter-spacing:.02em;line-height:1.1;
  text-decoration:none;border:0;cursor:pointer;
  border-radius:var(--r-tape);
  transition:transform .18s var(--ease-press), background-color .18s ease, box-shadow .18s ease, color .18s ease;
}
.btn:active,.tape-btn:active{transform:translateY(1px) scale(.985);}
.tape-btn,.btn-doctolib,.btn-navy{
  position:relative;isolation:isolate;
  background:var(--tape);color:var(--on-tape);box-shadow:var(--shadow-tape);
}
.tape-btn::after,.btn-doctolib::after,.btn-navy::after{
  content:"";position:absolute;inset:0;border-radius:inherit;
  background-image:var(--weave);background-size:6px 4px;opacity:.35;mix-blend-mode:multiply;z-index:-1;pointer-events:none;
}
.tape-btn:hover,.btn-doctolib:hover,.btn-navy:hover{background:var(--tape-deep);color:var(--on-tape);}
.tape-btn svg,.btn svg{width:1.15rem;height:1.15rem;flex:none;}
.btn-ghost,.btn-orange,.btn-line{
  background:transparent;color:var(--ink);
  box-shadow:inset 0 0 0 1.5px var(--ink);
}
.btn-ghost:hover,.btn-orange:hover,.btn-line:hover{background:var(--ink);color:var(--paper-sheet);}
.btn[disabled]{opacity:.55;cursor:progress;transform:none;}

/* Ancien bouton Doctolib (pages internes) : on garde la structure, on l'habille en tape */
.btn-doctolib .doctolib-mark{display:inline-flex;}
.btn-doctolib .doctolib-mark svg{width:1.15rem;height:1.15rem;}
.btn-doctolib .doctolib-text{display:inline-flex;gap:.35em;align-items:baseline;}
.btn-doctolib .doctolib-title{order:2;}
.btn-doctolib .doctolib-sub{order:1;}
.btn-doctolib .doctolib-sub::after{content:" sur";}

/* ---------- En-tête ---------- */
.site-header{
  position:sticky;top:0;z-index:var(--z-header);
  background:color-mix(in srgb, var(--paper) 88%, transparent);
  backdrop-filter:saturate(1.2) blur(10px);
  -webkit-backdrop-filter:saturate(1.2) blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-row{display:flex;align-items:center;gap:1.5rem;min-height:4.5rem;}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink);flex:none;}
.brand img{width:2.5rem;height:2.5rem;}
.brand-name{display:flex;flex-direction:column;font-weight:800;font-stretch:var(--condensed);font-size:1.1rem;line-height:1.05;}
.brand-name small{font-weight:500;font-size:.78rem;color:var(--ink-3);font-stretch:100%;margin-top:.15rem;}
.brand:hover{color:var(--ink);}

.primary-nav{display:flex;align-items:center;gap:.25rem;margin-left:auto;}
.primary-nav > a,.dropdown-toggle{
  display:inline-flex;align-items:center;gap:.3rem;
  min-height:2.75rem;padding:0 .8rem;
  font:inherit;font-size:.97rem;font-weight:600;color:var(--ink);
  background:none;border:0;cursor:pointer;text-decoration:none;
  border-radius:var(--r-tape);
  transition:background-color .15s ease;
}
.primary-nav > a:hover,.dropdown-toggle:hover,.dropdown-toggle[aria-expanded="true"]{background:rgba(22,70,216,.08);color:var(--ink);}
.primary-nav > a[aria-current="page"]{box-shadow:inset 0 -3px 0 var(--tape);border-radius:0;}
.dropdown-caret{width:.9rem;height:.9rem;transition:transform .2s var(--ease-out);}
.dropdown-toggle[aria-expanded="true"] .dropdown-caret{transform:rotate(180deg);}
.nav-dropdown{position:relative;}
.dropdown-panel{
  position:absolute;top:calc(100% + .5rem);left:-.5rem;z-index:var(--z-dropdown);
  min-width:16rem;padding:.5rem;
  background:var(--paper-sheet);border-radius:var(--r-sheet);
  box-shadow:0 1px 0 var(--line), 0 24px 48px -24px rgba(17,20,24,.45);
  display:grid;
  opacity:0;visibility:hidden;transform:translateY(-4px);
  transition:opacity .16s ease, transform .2s var(--ease-out), visibility 0s linear .2s;
}
.dropdown-panel--wide{grid-template-columns:1fr 1fr;min-width:30rem;}
.nav-dropdown.open .dropdown-panel{opacity:1;visibility:visible;transform:none;transition:opacity .16s ease, transform .2s var(--ease-out);}
.dropdown-panel a{
  padding:.55rem .75rem;border-radius:.3rem;
  color:var(--ink);text-decoration:none;font-size:.95rem;font-weight:500;
}
.dropdown-panel a:hover{background:rgba(22,70,216,.08);color:var(--ink);}
.dropdown-panel a.all{grid-column:1/-1;font-weight:700;color:var(--tape);}

.nav-right{display:flex;align-items:center;gap:.75rem;flex:none;}
.nav-phone{font-weight:700;color:var(--ink);text-decoration:none;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.97rem;}
.nav-phone:hover{color:var(--tape);}
.nav-right .tape-btn{min-height:2.75rem;padding:.55rem 1rem .6rem;font-size:.95rem;}
.menu-toggle{
  display:none;align-items:center;gap:.45rem;min-height:2.75rem;padding:0 .9rem;
  font:inherit;font-weight:700;font-size:.95rem;color:var(--ink);
  background:none;border:0;border-radius:var(--r-tape);box-shadow:inset 0 0 0 1.5px var(--ink);cursor:pointer;
}
.menu-toggle svg{width:1.1rem;height:1.1rem;}

.mobile-nav{display:none;}
.mobile-nav[data-open="true"]{
  display:block;max-height:calc(100dvh - 4.5rem);overflow:auto;overscroll-behavior:contain;
  border-top:1px solid var(--line);background:var(--paper-sheet);
  padding:1rem var(--gutter) 2rem;
}
.mobile-nav a{display:flex;align-items:center;min-height:2.9rem;color:var(--ink);text-decoration:none;font-weight:600;border-bottom:1px solid var(--line);}
.mobile-nav .mobile-group-label{margin-top:1.5rem;margin-bottom:.25rem;font-weight:800;font-stretch:var(--condensed);font-size:1.25rem;}
.mobile-nav .mobile-subgroup a{font-weight:500;}
.mobile-nav .tape-btn{margin-top:1.5rem;width:100%;border-bottom:0;min-height:3.25rem;color:#fff;justify-content:center;}

@media (max-width:1180px){
  .nav-phone{display:none;}
}
@media (max-width:1020px){
  .primary-nav{display:none;}
  .menu-toggle{display:inline-flex;}
  .nav-right{margin-left:auto;}
}
@media (max-width:520px){
  .nav-right .tape-btn{display:none;}
  .brand-name small{display:none;}
}

/* ---------- Règle en centimètres ---------- */
.ruler{
  height:1.6rem;margin:0;
  background-image:
    linear-gradient(90deg, var(--grid-strong) 1px, transparent 1px),
    linear-gradient(90deg, rgba(22,70,216,.28) 1px, transparent 1px);
  background-size:1mm .45rem, 1cm 1rem;
  background-repeat:repeat-x;
  background-position:0 0, 0 0;
  border-top:1px solid rgba(22,70,216,.28);
}

/* ---------- Accueil : première vue ---------- */
.hero{padding-block:0 clamp(3.5rem,7vw,6rem);overflow:hidden;}
.hero .ruler{margin-bottom:clamp(2rem,4.5vw,3.75rem);}
.hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.hero h1{
  font-size:clamp(2.6rem, 6.4vw, 5.9rem);
  margin:0 0 clamp(1.5rem,3vw,2.25rem);
}
.hero h1 .strip{
  /* la bande sort par le bord gauche de l'écran, comme une bande posée en travers */
  margin-left:calc(-1 * var(--gutter) - max(0px, (100vw - var(--wrap)) / 2));
  padding-left:calc(var(--gutter) + max(0px, (100vw - var(--wrap)) / 2) + .2em);
  border-top-left-radius:0;border-bottom-left-radius:0;
  transform-origin:left center;
}
.hero h1 .strip + .strip{margin-top:.12em;}
.hero h1 .strip:first-child{transform:rotate(-1.2deg);}
.hero h1 .strip:last-child{transform:rotate(.6deg);}
.hero .lead{font-size:clamp(1.08rem,1.4vw,1.22rem);max-width:44ch;color:var(--ink-2);margin-bottom:1.75rem;}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center;}
.hero-actions .tape-btn{min-height:3.4rem;padding-inline:1.5rem;font-size:1.08rem;}
.link-phone{font-weight:700;font-size:1.08rem;color:var(--ink);text-decoration:none;font-variant-numeric:tabular-nums;display:inline-flex;gap:.5rem;align-items:center;min-height:2.75rem;}
.link-phone svg{width:1.1rem;height:1.1rem;color:var(--tape);}
.link-phone:hover{color:var(--tape);}
.facts{
  display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;margin-top:2rem;padding-top:1.1rem;
  border-top:1px solid var(--line);list-style:none;
  font-size:.9rem;color:var(--ink-2);font-weight:500;
}
.facts li{display:flex;gap:.45rem;align-items:center;}
.facts li::before{content:"";width:.9rem;height:.32rem;border-radius:.12rem;background:var(--tape);flex:none;}
.hero-media{transform:rotate(1.4deg);}
.hero-media video{aspect-ratio:4/3.1;object-fit:cover;}

/* Pose des bandes au chargement : le seul mouvement de la première vue */
@media (prefers-reduced-motion:no-preference){
  .hero h1 .strip{animation:tape-lay .9s var(--ease-out) both;}
  .hero h1 .strip + .strip{animation-delay:.14s;}
  .hero-media{animation:photo-lay .9s var(--ease-out) .22s both;}
}
@keyframes tape-lay{
  from{clip-path:inset(0 100% 0 0 round var(--r-tape));}
  to{clip-path:inset(0 0 0 0 round 0 var(--r-tape) var(--r-tape) 0);}
}
@keyframes photo-lay{
  from{opacity:0;transform:rotate(4deg) translateY(12px) scale(.98);filter:blur(4px);}
  to{opacity:1;transform:rotate(1.4deg);filter:blur(0);}
}

/* ---------- Titres de section ---------- */
.sec-head{display:grid;gap:1rem;margin-bottom:clamp(2.25rem,5vw,3.5rem);max-width:52rem;}
.sec-head p{font-size:1.12rem;color:var(--ink-2);max-width:56ch;margin:0;}
.sec-head h2 .tape{padding:.02em .28em .1em;margin-left:-.28em;}

/* ---------- Le cabinet ---------- */
.cabinet-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,6vw,5.5rem);align-items:start;}
.cabinet-intro p{font-size:1.12rem;color:var(--ink-2);max-width:48ch;}
.measure{display:flex;align-items:baseline;gap:.6rem;margin:2.5rem 0 .25rem;}
.measure strong{font-size:clamp(3.6rem,7vw,5.6rem);font-stretch:var(--narrow);font-weight:800;line-height:.9;font-variant-numeric:tabular-nums;letter-spacing:-.02em;}
.measure span{font-weight:600;color:var(--ink-2);max-width:14ch;line-height:1.3;}
.dimension{position:relative;height:1rem;margin:.6rem 0 0;max-width:22rem;border-inline:1.5px solid var(--ink);}
.dimension::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1.5px solid var(--ink);}

.principles{display:grid;grid-template-columns:1fr 1fr;border-top:1.5px solid var(--ink);}
.principles div{padding:1.4rem 1.5rem 1.6rem 0;border-bottom:1px solid var(--line);}
.principles div:nth-child(odd){padding-right:2rem;border-right:1px solid var(--line);}
.principles div:nth-child(even){padding-left:2rem;}
.principles dt{font-weight:800;font-stretch:var(--condensed);font-size:1.3rem;line-height:1.15;margin-bottom:.45rem;}
.principles dd{margin:0;color:var(--ink-2);}

.labels-title{margin:clamp(2.5rem,5vw,3.5rem) 0 1.1rem;font-size:1rem;font-weight:700;color:var(--ink-2);font-stretch:100%;}
.labels{display:flex;flex-wrap:wrap;gap:.85rem 1rem;list-style:none;}
.labels li{
  padding:.45rem .85rem .5rem;font-weight:800;font-stretch:var(--condensed);
  font-size:1.05rem;letter-spacing:.03em;text-transform:uppercase;
}
.labels li:nth-child(3n+1){transform:rotate(-1.5deg);}
.labels li:nth-child(3n+2){transform:rotate(1deg);}
.labels li:nth-child(4n){transform:rotate(-.4deg);}

/* ---------- Méthode : une bande en quatre morceaux ---------- */
.methode{background:var(--ink);color:var(--paper-sheet);background-image:linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);background-size:1cm 1cm;}
.methode h2{color:#fff;}
.methode .sec-head p{color:#C7CED6;}
.phases{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:phase;}
.phase{position:relative;padding-right:1.5rem;}
.phase-strip{
  display:flex;align-items:center;justify-content:space-between;gap:.5rem;
  margin-bottom:1.5rem;padding:.9rem 1rem 1rem;border-radius:0;
  font-weight:800;font-stretch:var(--narrow);font-size:clamp(1.35rem,2.1vw,1.8rem);line-height:1;
}
.phase:first-child .phase-strip{border-radius:var(--r-tape) 0 0 var(--r-tape);}
.phase:last-child .phase-strip{border-radius:0 var(--r-tape) var(--r-tape) 0;}
.phase:not(:last-child) .phase-strip{
  /* ligne de découpe entre deux morceaux */
  -webkit-mask:linear-gradient(90deg,#000 calc(100% - 3px),transparent calc(100% - 3px));
          mask:linear-gradient(90deg,#000 calc(100% - 3px),transparent calc(100% - 3px));
}
.phase .phase-n{font-size:.8em;opacity:.75;font-variant-numeric:tabular-nums;}
.phase p{color:#C7CED6;max-width:30ch;margin:0;}
.phase h3{color:#fff;font-size:1.2rem;margin-bottom:.5rem;}
.phase:last-child .phase-strip{padding-right:1.6rem;}
.phase:last-child .phase-strip::before{
  /* coin rabattu : là où la reprise est validée */
  content:"";position:absolute;right:0;top:0;width:1.1rem;height:1.1rem;
  background:linear-gradient(225deg, var(--ink) 50%, var(--tape-under) 50%);
  border-radius:0 var(--r-tape) 0 .2rem;
}
.phase:last-child{padding-right:0;}

/* ---------- Carte du corps ---------- */
.bodymap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(2rem,6vw,5rem);align-items:start;}
.figure-wrap{position:sticky;top:6.5rem;}
.figure{width:100%;max-width:17rem;margin-inline:auto;overflow:visible;}
.figure .body{fill:var(--paper-sheet);stroke:var(--ink);stroke-width:2.2;stroke-linejoin:round;}
.figure .joint{fill:none;stroke:var(--line);stroke-width:1.2;stroke-dasharray:2 3;}
.figure .zone{cursor:pointer;}
.figure .zone rect{fill:var(--tape);stroke:var(--paper-sheet);stroke-width:0;transition:fill .18s ease;}
.figure .zone.is-active rect,.figure .zone:hover rect,.figure .zone:focus-visible rect{fill:var(--tape-ink);stroke-width:2;}
.figure .zone:focus{outline:none;}
.figure-note{text-align:center;font-size:.85rem;color:var(--ink-3);margin-top:1rem;}

.zones{list-style:none;border-top:1.5px solid var(--ink);}
.zone-row{display:grid;grid-template-columns:9.5rem minmax(0,1fr);gap:1.5rem;padding:1.1rem 0 1.2rem;border-bottom:1px solid var(--line);transition:background-color .2s ease;}
.zone-row.is-active{background:linear-gradient(90deg, rgba(22,70,216,.07), transparent 70%);}
.zone-name{
  align-self:start;justify-self:start;
  font-weight:800;font-stretch:var(--condensed);font-size:.95rem;letter-spacing:.05em;text-transform:uppercase;
  padding:.3rem .6rem .35rem;margin-top:.1rem;
}
.zone-links{display:grid;gap:.1rem;}
.zone-links a{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding:.35rem 0;color:var(--ink);text-decoration:none;
}
.zone-links a strong{font-size:1.2rem;font-weight:700;font-stretch:var(--condensed);}
.zone-links a span{font-size:.93rem;color:var(--ink-3);text-align:right;}
.zone-links a:hover strong{color:var(--tape);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.2em;}
.zones-all{margin-top:1.75rem;}

/* ---------- Spécialités : index réglé ---------- */
.index-list{list-style:none;border-top:1.5px solid var(--ink);}
.index-list a{
  position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr) 2rem;gap:2rem;align-items:baseline;
  padding:1.3rem 0 1.4rem;border-bottom:1px solid var(--line);
  color:var(--ink);text-decoration:none;isolation:isolate;
}
.index-list .ix-name{font-weight:800;font-stretch:var(--narrow);font-size:clamp(1.6rem,3vw,2.35rem);line-height:1;transition:color .2s ease;}
.index-list .ix-desc{color:var(--ink-2);}
.index-list .ix-arrow{width:1.5rem;height:1.5rem;color:var(--tape);transition:transform .25s var(--ease-out);align-self:center;}
.index-list .ix-name{position:relative;justify-self:start;isolation:isolate;}
.index-list .ix-name::before{
  content:"";position:absolute;inset:-.1em -.3em -.16em;z-index:-1;
  background:var(--tape);border-radius:var(--r-tape);
  clip-path:inset(0 100% 0 0 round var(--r-tape));transition:clip-path .45s var(--ease-out);
}
@media (hover:hover){
  .index-list a:hover .ix-name::before{clip-path:inset(0 0 0 0 round var(--r-tape));}
  .index-list a:hover .ix-name{color:#fff;}
  .index-list a:hover .ix-arrow{transform:translateX(.35rem);}
}

/* ---------- Équipements : photos scotchées ---------- */
.equip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2.5rem,5vw,4rem) clamp(1.75rem,4vw,3.25rem);list-style:none;}
.equip li:nth-child(3n+1){transform:rotate(-.8deg);}
.equip li:nth-child(3n+2){transform:rotate(.6deg) translateY(1.5rem);}
.equip li:nth-child(3n){transform:rotate(-.3deg);}
.equip img{aspect-ratio:3/2;object-fit:cover;}
.equip h3{margin:1.1rem 0 .15rem;font-size:1.3rem;}
.equip .cat{font-size:.8rem;font-weight:700;color:var(--tape);letter-spacing:.03em;}
.equip p{color:var(--ink-2);font-size:.97rem;margin:.4rem 0 0;}

/* ---------- Équipe ---------- */
.team{display:grid;grid-template-columns:repeat(2,minmax(0,20rem));gap:clamp(2.5rem,7vw,6rem);list-style:none;}
.team li:first-child{transform:rotate(-1deg);}
.team li:last-child{transform:rotate(.8deg) translateY(2rem);}
.team img{aspect-ratio:1;object-fit:cover;}
.team .name{display:inline-block;margin-top:1.25rem;padding:.35rem .7rem .4rem;font-size:1.35rem;font-weight:800;font-stretch:var(--condensed);}
.team .role{margin:.7rem 0 0;font-weight:700;}
.team .detail{margin:.2rem 0 0;color:var(--ink-2);font-size:.95rem;}

/* ---------- Rendez-vous ---------- */
.rdv-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2.5rem,6vw,5rem);align-items:start;}
.rdv h2{font-size:clamp(2.4rem,5.4vw,4.4rem);}
.rdv h2 .strip{margin-left:-.34em;}
.rdv .lead{font-size:1.15rem;color:var(--ink-2);max-width:46ch;margin:1.5rem 0 1.75rem;}
.steps{list-style:none;counter-reset:s;margin-top:2.5rem;border-top:1.5px solid var(--ink);}
.steps li{counter-increment:s;display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:1rem;padding:1rem 0 1.1rem;border-bottom:1px solid var(--line);}
.steps li::before{content:counter(s);font-weight:800;font-stretch:var(--narrow);font-size:1.6rem;line-height:1;color:var(--tape);font-variant-numeric:tabular-nums;}
.steps strong{display:block;font-stretch:var(--condensed);font-size:1.1rem;}
.steps span{color:var(--ink-2);}
.sheet{background:var(--paper-sheet);border-radius:var(--r-sheet);box-shadow:var(--shadow-photo);padding:clamp(1.5rem,3vw,2.25rem);position:relative;}
.sheet::before{
  content:"";position:absolute;top:-.7rem;left:50%;width:5rem;height:1.5rem;margin-left:-2.5rem;transform:rotate(-2deg);
  background:var(--tape-sand);border-radius:.35rem;background-image:var(--weave);background-size:6px 4px;background-blend-mode:multiply;
}
.sheet h3{font-size:1.1rem;margin:0 0 .75rem;}
.sheet h3:not(:first-child){margin-top:1.75rem;}
.hours{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;}
.hours th,.hours td{padding:.5rem 0;border-bottom:1px solid var(--line);text-align:left;font-weight:500;}
.hours td{text-align:right;font-weight:700;}
.hours tr.closed td{color:var(--ink-3);font-weight:500;}
.sheet p{color:var(--ink-2);font-size:.97rem;}
.sheet .note{margin-top:1rem;font-size:.9rem;}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(2.5rem,6vw,5rem);align-items:start;}
.contact-form{display:grid;gap:1.1rem;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;}
.field{display:grid;gap:.4rem;}
.field label{font-weight:700;font-size:.93rem;}
.field input,.field select,.field textarea{
  width:100%;font:inherit;font-size:1rem;color:var(--ink);
  background:var(--paper-sheet);border:1.5px solid var(--line);border-radius:var(--r-sheet);
  padding:.75rem .9rem;min-height:3rem;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.field textarea{resize:vertical;min-height:8rem;}
.field input::placeholder,.field textarea::placeholder{color:var(--ink-3);}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--ink-3);}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--tape);box-shadow:0 0 0 3px rgba(22,70,216,.18);}
.field input:user-invalid,.field textarea:user-invalid{border-color:#B42318;}
.contact-form .tape-btn{justify-self:start;}
.form-note{font-weight:600;padding:.75rem 1rem;border-radius:var(--r-sheet);background:var(--paper-sheet);}
.form-note[data-state="ok"]{color:#0F6B3C;box-shadow:inset 0 0 0 1.5px #0F6B3C;}
.form-note[data-state="error"]{color:#B42318;box-shadow:inset 0 0 0 1.5px #B42318;}
.form-hint{font-size:.88rem;color:var(--ink-3);margin:0;}
.contact-direct{list-style:none;border-top:1.5px solid var(--ink);}
.contact-direct li{padding:1rem 0;border-bottom:1px solid var(--line);}
.contact-direct span{display:block;font-size:.85rem;font-weight:700;color:var(--ink-3);}
.contact-direct a,.contact-direct p{font-weight:700;font-size:1.1rem;color:var(--ink);text-decoration:none;margin:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;}
.contact-direct a:hover{color:var(--tape);}

/* ---------- Pied de page ---------- */
.site-footer{background:var(--ink);color:#C7CED6;padding:clamp(3.5rem,7vw,5.5rem) 0 2rem;}
.site-footer a{color:#E6EAEE;text-decoration:none;}
.site-footer a:hover{color:#fff;text-decoration:underline;}
.footer-top{display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,3fr));gap:2.5rem;}
.footer-brand{display:flex;gap:.8rem;align-items:center;color:#fff;font-weight:800;font-stretch:var(--condensed);font-size:1.25rem;line-height:1.1;}
.footer-brand img{width:2.75rem;height:2.75rem;background:var(--paper-sheet);border-radius:var(--r-tape);padding:.2rem;}
.footer-brand small{display:block;font-weight:500;font-size:.85rem;color:#AEB7C0;font-stretch:100%;}
.footer-contact{list-style:none;margin-top:1.5rem;display:grid;gap:.35rem;font-variant-numeric:tabular-nums;}
.site-footer h2{font-size:.95rem;font-stretch:100%;font-weight:700;color:#fff;margin-bottom:.9rem;letter-spacing:0;}
.site-footer ul{list-style:none;display:grid;gap:.45rem;font-size:.95rem;}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.14);font-size:.88rem;color:#AEB7C0;}

/* ---------- Pages internes ---------- */
.breadcrumb{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;padding-top:1.75rem;font-size:.9rem;color:var(--ink-3);}
.breadcrumb a{color:var(--ink-2);}
.breadcrumb .sep{color:var(--line);}
.breadcrumb .current{color:var(--ink);font-weight:600;}
.page-hero{padding-block:clamp(2rem,4vw,3rem) clamp(2.5rem,5vw,4rem);}
.page-hero h1{
  font-size:clamp(2.2rem,5vw,4.2rem);font-stretch:var(--narrow);letter-spacing:-.01em;line-height:1;max-width:20ch;
}
.page-hero h1 .strip{margin-left:-.34em;}
.page-hero .lead{font-size:1.15rem;color:var(--ink-2);max-width:60ch;margin-top:1.5rem;}
.page-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin-top:1.75rem;}
.page-body{padding-top:0;}

.spec-layout{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:clamp(2.5rem,6vw,5rem);align-items:start;}
.content-block{
  background:var(--paper-sheet);border-radius:var(--r-sheet);box-shadow:0 1px 0 var(--line), 0 30px 50px -40px rgba(17,20,24,.4);
  padding:clamp(1.5rem,4vw,3rem);
  max-width:48rem;
}
.content-block h2{font-size:clamp(1.55rem,2.6vw,2rem);margin:2.25rem 0 .8rem;font-stretch:var(--condensed);}
.content-block h2:first-child{margin-top:0;}
.content-block h3{font-size:1.2rem;margin:1.75rem 0 .5rem;}
.content-block p,.content-block li{color:var(--ink-2);max-width:68ch;}
.content-block ul,.content-block ol{padding-left:1.25rem;margin:0 0 1em;}
.content-block li{margin-bottom:.35rem;}
.content-block li::marker{color:var(--tape);}
.sources-block{margin-top:2.5rem;padding-top:1.5rem;border-top:1.5px solid var(--ink);}
.sources-block h3{margin-top:0;font-size:1rem;font-stretch:100%;}
.sources-block ul{list-style:none;padding:0;}
.sources-block li{font-size:.93rem;padding:.35rem 0;}
.sources-note{font-size:.85rem;color:var(--ink-3) !important;margin-top:1rem;}

.side-cta{position:sticky;top:6.5rem;display:grid;gap:.75rem;}
.side-cta h4{font-size:1.5rem;font-stretch:var(--narrow);}
.side-cta p{color:var(--ink-2);font-size:.97rem;margin:0 0 .5rem;}
.side-cta .btn{width:100%;}
.side-info{display:grid;gap:.25rem;margin-top:.75rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.93rem;color:var(--ink-2);font-variant-numeric:tabular-nums;}
.side-info a{color:var(--ink);font-weight:700;text-decoration:none;}

.section-head{margin-bottom:2rem;}
.related{padding-top:clamp(3rem,6vw,5rem);}
.related-grid,.patho-hub-grid{list-style:none;border-top:1.5px solid var(--ink);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:2rem;}
.patho-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:3rem;}
.related-card,.patho-hub-card{
  display:grid;gap:.35rem;align-content:start;padding:1.25rem 0 1.4rem;border-bottom:1px solid var(--line);
  color:var(--ink);text-decoration:none;
}
.related-card h3,.patho-hub-card h2,.patho-hub-card h3{font-size:1.45rem;font-stretch:var(--narrow);transition:color .15s ease;}
.related-card p,.patho-hub-card p{color:var(--ink-2);margin:0;font-size:.97rem;}
.related-card:hover h3,.patho-hub-card:hover h2,.patho-hub-card:hover h3{color:var(--tape);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.2em;}

/* FAQ */
.faq-list{max-width:52rem;}
.faq-group-title{font-weight:800;font-stretch:var(--narrow);font-size:clamp(1.5rem,2.6vw,2rem);margin:3rem 0 .75rem;line-height:1.1;}
.faq-group-title:first-child{margin-top:0;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-group-title + .faq-item{border-top:1.5px solid var(--ink);}
.faq-q{
  display:flex;justify-content:space-between;align-items:center;gap:1.5rem;width:100%;
  padding:1.1rem 0;min-height:3.5rem;background:none;border:0;cursor:pointer;text-align:left;
  font:inherit;font-weight:700;font-size:1.08rem;color:var(--ink);
}
.faq-q:hover{color:var(--tape);}
.faq-icon{flex:none;width:2rem;height:2rem;display:grid;place-items:center;border-radius:var(--r-tape);box-shadow:inset 0 0 0 1.5px currentColor;transition:background-color .2s ease;}
.faq-icon svg{width:1rem;height:1rem;}
.faq-icon svg{transition:transform .25s var(--ease-out);}
.faq-item.open .faq-icon{background:var(--tape);color:#fff;box-shadow:none;}
.faq-item.open .faq-icon svg{transform:rotate(45deg);}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s var(--ease-out);}
.faq-item.open .faq-a{grid-template-rows:1fr;}
.faq-a-inner{overflow:hidden;}
.faq-a-inner > :first-child{margin-top:0;}
.faq-a-inner > :last-child{padding-bottom:1.25rem;}
.faq-a p{color:var(--ink-2);max-width:66ch;}
@media (prefers-reduced-motion:reduce){.faq-a{transition:none;}}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .hero-grid,.cabinet-grid,.rdv-grid,.contact-grid,.spec-layout{grid-template-columns:1fr;}
  .hero-media{max-width:34rem;}
  .phases{grid-template-columns:1fr 1fr;row-gap:2.5rem;}
  .phase:nth-child(2) .phase-strip{border-radius:0 var(--r-tape) var(--r-tape) 0;-webkit-mask:none;mask:none;}
  .phase:nth-child(3) .phase-strip{border-radius:var(--r-tape) 0 0 var(--r-tape);}
  .bodymap{grid-template-columns:1fr;}
  .figure-wrap{position:static;}
  .figure{max-width:12rem;}
  .equip{grid-template-columns:repeat(2,minmax(0,1fr));}
  .equip li:nth-child(n){transform:rotate(0);}
  .equip li:nth-child(odd){transform:rotate(-.6deg);}
  .equip li:nth-child(even){transform:rotate(.5deg) translateY(1.25rem);}
  .footer-top{grid-template-columns:1fr 1fr;}
  .side-cta{position:static;max-width:30rem;}
  .related-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
  body{font-size:1rem;}
  .hero h1{font-size:2.75rem;}
  .hero .ruler{margin-bottom:1.75rem;}
  .hero-actions .tape-btn{width:100%;}
  .principles{grid-template-columns:1fr;}
  .principles div:nth-child(n){padding:1.2rem 0 1.3rem;border-right:0;}
  .phases{grid-template-columns:1fr;row-gap:2rem;}
  .phase{padding-right:0;}
  .phase .phase-strip{border-radius:var(--r-tape) !important;-webkit-mask:none !important;mask:none !important;}
  .zone-row{grid-template-columns:1fr;gap:.6rem;}
  .zone-links a{flex-direction:column;gap:.1rem;}
  .zone-links a span{text-align:left;}
  .index-list a{grid-template-columns:minmax(0,1fr) 1.5rem;gap:.4rem 1rem;}
  .index-list .ix-desc{grid-column:1;grid-row:2;font-size:.95rem;}
  .index-list .ix-arrow{grid-column:2;grid-row:1 / span 2;}
  .equip{grid-template-columns:1fr;}
  .equip li:nth-child(n){transform:none;}
  .team{grid-template-columns:1fr;max-width:20rem;}
  .team li:nth-child(n){transform:none;}
  .field-row{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr;}
  .related-grid,.patho-hub-grid{grid-template-columns:1fr;}
  .content-block{padding:1.25rem;margin-inline:calc(-.5 * var(--gutter));}
}

/* Titre de page : chaque ligne est un morceau de bande */
.hl{
  background:var(--tape);color:var(--on-tape);
  padding:.04em .28em .12em;border-radius:var(--r-tape);
  -webkit-box-decoration-break:clone;box-decoration-break:clone;
  line-height:1.28;
  box-shadow:var(--shadow-tape);
}
.page-hero h1{line-height:1.28;margin-left:-.28em;}
.cabinet-intro .dimension + p{margin-top:1.5rem;}
.closing{max-width:52rem;}
.closing p{font-size:1.12rem;color:var(--ink-2);max-width:56ch;margin-top:1rem;}

/* Première vue : une ligne par bande sur grand écran */
.hero h1{font-size:clamp(2.5rem, 5.3vw, 5.1rem);}
@media (min-width:981px){
  .hero h1 .strip{max-width:none;white-space:nowrap;}
}

/* Équipements : la grande photo prend deux colonnes, une note ferme la grille */
.equip li.wide{grid-column:span 2;}
.equip li.wide img{aspect-ratio:16/9;}
.equip li.equip-note{align-self:center;transform:rotate(-1.2deg);}
.equip-note p{margin:0;padding:1.4rem 1.5rem 1.5rem;font-weight:700;font-stretch:var(--condensed);font-size:1.25rem;line-height:1.3;color:var(--ink);}
/* Équipe : titre et texte à gauche, portraits à droite */
.team-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(2rem,6vw,5rem);align-items:start;}
.team-grid .team{justify-content:end;}
@media (max-width:980px){
  .team-grid{grid-template-columns:1fr;}
  .team-grid .team{justify-content:start;}
  .equip li.wide{grid-column:span 2;}
}
@media (max-width:640px){
  .equip li.wide{grid-column:auto;}
  .equip li.equip-note{transform:none;}
}
.methode .tape{box-shadow:none;}

/* ---------- Passe de finition ---------- */

/* 5. Le bouton Doctolib est un morceau de tape : même matière, posé de biais, pressé à plat */
.tape-btn,.btn-doctolib,.btn-navy{
  box-shadow:var(--shadow-tape);
  transform:rotate(-1deg);
}
.tape-btn:hover,.btn-doctolib:hover,.btn-navy:hover{transform:rotate(0);}
.tape-btn:active,.btn-doctolib:active,.btn-navy:active{transform:rotate(0) translateY(1px);box-shadow:none;}
.nav-right .tape-btn{transform:rotate(-.6deg);}
.tape-btn:focus-visible{outline-offset:4px;}
@media (prefers-reduced-motion:reduce){.tape-btn,.btn{transition:none;}}

/* 8. Seul le cadre et ses morceaux de tape tournent ; le texte reste droit sur la grille */
.equip li:nth-child(n),.team li:nth-child(n){transform:none;}
.equip li:nth-child(3n+1) .photo-taped{transform:rotate(-.8deg);}
.equip li:nth-child(3n+2) .photo-taped{transform:rotate(.7deg);}
.equip li:nth-child(3n) .photo-taped{transform:rotate(-.4deg);}
.equip li:nth-child(3n+2){margin-top:1.5rem;}
.team li:first-child .photo-taped{transform:rotate(-1deg);}
.team li:last-child .photo-taped{transform:rotate(.8deg);}
.team li:last-child{margin-top:2rem;}
.equip li.equip-note{transform:rotate(-1.2deg);}
.photo-taped figcaption{font-size:.75rem;color:var(--ink-3);margin-top:.6rem;}

/* BFR : pas de photo fidèle au cabinet, un morceau de tape la remplace */
.equip-mark{aspect-ratio:3/2;display:grid;place-items:center;border:1.5px dashed var(--line);border-radius:var(--r-sheet);}
.equip-mark .strip{font-size:clamp(2.5rem,5vw,3.75rem);transform:rotate(-3deg);}

/* Le monde continue dans les sections de lecture : repère de règle au-dessus des listes réglées */
.principles,.index-list,.zones,.steps,.contact-direct{border-top:1.5px solid var(--ink);position:relative;}
.principles::before,.index-list::before,.zones::before,.steps::before,.contact-direct::before{
  content:"";position:absolute;left:0;right:0;top:0;height:.45rem;pointer-events:none;
  background:linear-gradient(90deg, var(--ink) 1px, transparent 1px) 0 0 / 1cm 100% repeat-x;
}
.index-list .ix-name::before{clip-path:inset(0 0 0 0 round var(--r-tape));transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-out);height:.3em;inset:auto -.3em -.2em;}
@media (hover:hover){
  .index-list a:hover .ix-name::before{transform:scaleX(1);height:auto;inset:-.1em -.3em -.16em;}
}
.index-list a{padding-top:1.5rem;}

/* Champs de formulaire : chevron et poignée dans l'univers */
.field select{
  appearance:none;-webkit-appearance:none;padding-right:2.75rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231646D8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .9rem center;background-size:1.1rem;
}
.field textarea{resize:none;}
.contact-form .tape-btn{justify-self:start;}

/* 7. Sur téléphone, la silhouette reste à côté de la liste */
@media (max-width:980px){
  .bodymap{grid-template-columns:5.75rem minmax(0,1fr);gap:1rem;}
  .figure-wrap{position:sticky;top:5.25rem;}
  .figure{max-width:5.75rem;}
  .zone-row{grid-template-columns:1fr;gap:.55rem;scroll-margin-top:6rem;}
  .zone-links a{flex-direction:column;gap:.1rem;}
  .zone-links a span{text-align:left;}
  .zones-all{width:100%;}
}
/* Les morceaux de tape qui dépassent des photos ne créent pas de défilement horizontal */
main{overflow-x:clip;}
/* Zones de toucher élargies autour des bandes */
.figure .hit{fill:transparent;}
/* BFR : la bande posée à même le papier */
.equip-mark{border:0;}
@media (max-width:980px){
  .bodymap{grid-template-columns:8.5rem minmax(0,1fr);gap:1.25rem;}
  .figure{max-width:8.5rem;}
}
@media (max-width:400px){
  .bodymap{grid-template-columns:7.5rem minmax(0,1fr);gap:1rem;}
  .figure{max-width:7.5rem;}
}
@media (max-width:640px){.hero h1{font-size:2.75rem;}}

/* Carte d'accès, scotchée comme les photos */
.sheet .map{margin-top:1.25rem;transform:rotate(-.6deg);}
.sheet .map iframe{display:block;width:100%;aspect-ratio:4/3;border:.5rem solid var(--paper-sheet);border-radius:var(--r-sheet);box-shadow:var(--shadow-photo);background:var(--paper);}
.map-link{display:inline-flex;align-items:center;min-height:2.75rem;margin-top:.5rem;font-weight:700;}
.site-footer .footer-bottom a{color:#C7CED6;}

/* Pages légales */
.content-block.legal ul{margin-bottom:1.25rem;}
.todo{background:var(--tape-sand);color:var(--ink);padding:0 .3em;border-radius:.2em;font-weight:700;}
/* En-tête : pas de débordement entre téléphone et tablette */
@media (max-width:760px){ .brand-name small{display:none;} }
@media (max-width:640px){ .nav-right .tape-btn{display:none;} }
