/* Dépanneur Épaviste Gratuit, « le reçu à 0 € » (refonte novembre 2026): a light transparent-pricing platform.
   Figtree only; one violet, one yellow marker, ink and lavender-white neutrals. Radii by hierarchy: pills 999px,
   cards/photos/form 16px, inputs 8px, receipt paper 4px. Only the receipt casts a shadow. */
:root{
  --marque:#5B34C9;--marque-fonce:#41239A;--encre:#1C1A2E;--encre-douce:#4E4B63;--brume:#F5F4FA;--surligneur:#FFE45C;
  --lilas:#ECE9F8;--filet:#DFDCEB;--trait:#8A86A3;--trait-fort:#726E8C;--pointille:#B4B0C8;
  --f:"Figtree","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
  --wrap:75rem;--px:1rem;--gap:1.5rem;--mast:60px;--measure:34em;--sec:clamp(3.5rem,2.2rem + 4.2vw,6rem);
  --ombre:drop-shadow(0 1px 1px rgb(28 26 46 / .14)) drop-shadow(0 16px 28px rgb(28 26 46 / .15));
}
@media (min-width:40rem){:root{--px:1.5rem}}
@media (min-width:56.25rem){:root{--mast:72px;--px:2rem}}

/* base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--mast) + 1rem)}
body{margin:0;padding-bottom:calc(4.75rem + env(safe-area-inset-bottom));background:#fff;color:var(--encre);font:400 1.0625rem/1.6 var(--f);overflow-x:clip}
@media (min-width:40rem){body{font-size:1.125rem}}
@media (min-width:56.25rem){body{padding-bottom:0}}
img,svg{display:block;max-width:100%}
img{height:auto}
h1,h2,h3,h4{margin:0 0 .5em;font-weight:700;line-height:1.15;text-wrap:balance}
h1{font-size:clamp(2rem,1.66rem + 1.46vw,2.75rem);line-height:1.1;letter-spacing:-.022em}
h2{font-size:clamp(1.6875rem,1.46rem + .97vw,2.1875rem);letter-spacing:-.015em}
h3{font-size:1.40625rem;line-height:1.25;font-weight:600}
p,ul,ol,dl,table,figure{margin:0 0 1em}
p{text-wrap:pretty}
ul,ol{padding-left:1.2em}
li + li{margin-top:.35em}
a{color:var(--marque);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{color:var(--marque-fonce);text-decoration-thickness:2px}
strong,b{font-weight:600}
sup{line-height:0}
mark{padding:0 .1em;color:inherit;background:linear-gradient(transparent 42%,var(--surligneur) 42% 92%,transparent 92%);-webkit-box-decoration-break:clone;box-decoration-break:clone}
::selection{background:var(--surligneur);color:var(--encre)}
:focus-visible{outline:2px solid var(--encre);outline-offset:2px}
.vh{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:1rem;top:-5rem;z-index:60;padding:.75rem 1.25rem;border-radius:999px;background:var(--encre);color:#fff;font-weight:600}
.skip:focus{top:.75rem;color:#fff}
.ticket,.pill,.mast__txt .num,.telline,.foot__tel,.deps b,.depnum b,.ledger dd,.near small,.towns small,.bars b,.jump a,.letter b,
.releve__rows b,.prose table,.check__count,.steps li::before,.deg-steps__item::before,.deg-done__ticket{font-variant-numeric:tabular-nums}
.sec-head p,.head__note,.dateline,.source,.trust li,.formband__intro > p,.formband__note,.formband__call .small,.releve__note,.near em,
.near small,.towns small,.steps p,.deps small,.cards span,.rows span,.foot__id p + p,.foot__hours,.foot__legal,.check__foot,
.check__list span span,.ticket__stub,.ticket__brand,.ticket__when,.hero__media figcaption{color:var(--encre-douce)}
.callback__text > p:not(:has(.telline)){color:var(--encre-douce)}

/* layout */
.wrap{width:100%;max-width:calc(var(--wrap) + 2 * var(--px));margin-inline:auto;padding-inline:var(--px)}
.band{padding-block:var(--sec)}
.band--brume,.foot,.head{background:var(--brume);--filet:#D3CFE4}
.band--line,.callback{border-top:1px solid var(--filet)}
.small{font-size:.9rem;line-height:1.45}
.measure,.prose > :not(table),.ctx,.why,.also,.sources{max-width:var(--measure)}
.sec-head{max-width:46rem;margin-bottom:2.5rem}
.sec-head p{margin:0}
.split,.read,.head__grid,.callback__grid,.contact,.lost__grid,.formband__grid{display:grid;gap:2.5rem;align-items:start}
.more{margin:2rem 0 0;font-weight:600}
@media (min-width:64rem){
  .split{grid-template-columns:repeat(2,minmax(0,1fr));gap:4rem}
  .hero__grid,.head__grid,.read,.index,.formband__grid,.callback__grid,.contact,.lost__grid,.foot__top{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
}

/* header */
.mast{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--filet)}
.mast__in{display:flex;align-items:center;gap:.625rem;height:var(--mast)}
.brand{flex:none;display:flex;align-items:center;gap:.625rem;margin-right:auto;color:var(--encre);text-decoration:none}
.brand:hover{color:var(--encre)}
.brand .mark{width:2.25rem;height:2.25rem;flex:none}
.brand__name{font-size:.9375rem;font-weight:700;line-height:1.05;letter-spacing:-.01em;white-space:nowrap}
.brand__name span{display:block;color:var(--marque)}
.nav,.mast__txt,.mast .mast__cta,.navbtn .i-close,.navbtn[aria-expanded="true"] .i-menu{display:none}
.nav ul{list-style:none;margin:0;padding:0}
.nav li{margin:0}
.nav a{color:var(--encre);font-weight:600;text-decoration:none}
.nav a:hover,.nav a[aria-current="page"]{color:var(--marque-fonce);text-decoration:underline 2px;text-underline-offset:.5em}
.mast__tel,.navbtn{flex:none;display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:50%}
.mast__tel{background:var(--marque);color:#fff}
.mast__tel svg{width:1.25rem;height:1.25rem}
.navbtn{padding:0;border:1.5px solid var(--trait);background:#fff;color:var(--encre);cursor:pointer}
.navbtn svg{width:1.375rem;height:1.375rem}
.navbtn[aria-expanded="true"] .i-close{display:block}
@media (max-width:22.49rem){.mast__in,.brand{gap:.5rem} .brand .mark{width:2rem;height:2rem} .brand__name{font-size:.8125rem}}
@media (max-width:79.99rem){
  .nav.is-open{display:block;position:absolute;top:100%;left:0;right:0;padding:.5rem var(--px) 1.5rem;background:#fff;border-bottom:2px solid var(--encre)}
  .nav.is-open ul{max-width:var(--wrap);margin-inline:auto}
  .nav.is-open li{border-bottom:1px solid var(--filet)}
  .nav.is-open a{display:flex;align-items:center;min-height:3.25rem;font-size:1.125rem}
}
@media (min-width:56.25rem){
  .mast__in{gap:1.25rem}
  .brand .mark{width:2.5rem;height:2.5rem}
  .brand__name{font-size:1.0625rem}
  .mast__tel{width:auto;height:auto;display:inline-flex;gap:.625rem;border-radius:0;background:none;color:var(--encre);text-decoration:none}
  .mast__tel svg{width:2.25rem;height:2.25rem;padding:.5rem;border-radius:50%;background:var(--brume);color:var(--marque)}
  .mast__tel:hover{color:var(--marque-fonce)}
  .mast__txt{display:flex;flex-direction:column;line-height:1.15;white-space:nowrap}
  .mast__txt small{font-size:.8125rem;color:var(--encre-douce)}
  .mast__txt .num{font-size:1.125rem;font-weight:700}
  .mast .mast__cta{display:inline-flex}
}
@media (min-width:80rem){
  .mast__in{gap:1rem}
  .brand{margin-right:0}
  .nav{display:block;margin-inline:auto}
  .nav ul{display:flex;gap:.875rem}
  .nav a{font-size:.9375rem;white-space:nowrap}
  .navbtn,.mast__tel svg{display:none}
}

/* pills: every action */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:.625rem 1.375rem;border:2px solid var(--marque);
  border-radius:999px;background:var(--marque);color:#fff;font:600 1rem/1.2 var(--f);text-align:center;text-decoration:none;cursor:pointer}
.pill:hover{background:var(--marque-fonce);border-color:var(--marque-fonce);color:#fff}
.pill svg{width:1.25rem;height:1.25rem;flex:none}
.pill--line{background:#fff;color:var(--marque-fonce)}
.pill--line:hover{background:var(--brume);color:var(--marque-fonce)}
.pill--big{min-height:3.5rem;padding-inline:1.625rem;font-size:1.0625rem}
.pill--sm{min-height:2.75rem;padding:.5rem 1.125rem;font-size:.9375rem;white-space:nowrap}
.ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin:2rem 0 0}
@media (max-width:39.99rem){.ctas .pill{flex:1 1 100%}}
@media (max-width:22.49rem){.pill--big{padding-inline:1rem;font-size:1rem}}
@media (prefers-reduced-motion:no-preference){.pill,.navbtn{transition:background-color .15s,border-color .15s,color .15s} html{scroll-behavior:smooth}}

/* home hero: text, the photo, the receipt on its lower-left corner */
.hero{padding-block:2.25rem 3.5rem}
.hero__grid{display:grid;row-gap:2.25rem;grid-template-areas:"text" "media" "trust"}
.hero__text{grid-area:text;min-width:0}
.hero h1{max-width:16ch;font-size:clamp(2.25rem,1.2rem + 2.6vw,3.4375rem);line-height:1.08;letter-spacing:-.025em}
.lede{max-width:34em;margin:1.25rem 0 0;font-size:1.125rem;line-height:1.55}
@media (min-width:40rem){.lede{font-size:1.25rem}}
.hero__media{grid-area:media;min-width:0;margin:0}
.hero__frame{position:relative}
.hero__img{width:100%;aspect-ratio:4 / 3;object-fit:cover;object-position:37% 60%;border-radius:16px;background:var(--lilas)}
.hero__media .ticket{position:relative;width:calc(100% - 1.5rem);margin:-2rem auto 0}
.hero__media figcaption{margin-top:1rem;font-size:.875rem;line-height:1.45}
.trust{grid-area:trust;display:grid;gap:1rem;margin:0;padding:0;list-style:none}
.trust li{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:.875rem;align-items:center;margin:0;font-size:1rem;line-height:1.45}
.trust svg,.cards svg{border-radius:50%;background:var(--brume);color:var(--marque)}
.trust svg{width:2.5rem;height:2.5rem;padding:.5625rem}
@media (min-width:40rem) and (max-width:63.99rem){.hero__media .ticket{width:23rem;margin:-4rem 0 0 2rem}}
@media (min-width:64rem){
  .hero{padding-block:3rem 5.5rem}
  .hero__grid{grid-template-rows:1fr auto;grid-template-areas:none;row-gap:0}
  .hero__text{grid-column:1 / span 6;grid-row:1;padding:1.5rem 2.5rem 0 0}
  .trust{grid-column:1 / span 5;grid-row:2;margin-top:2.5rem;padding-top:1.75rem;border-top:1px solid var(--filet)}
  .hero__media{grid-column:7 / -1;grid-row:1 / span 2}
  .hero__img{aspect-ratio:4 / 5;min-height:34rem;max-height:calc(100svh - var(--mast) - 7rem)}
  .hero__media .ticket{position:absolute;left:-3rem;bottom:-3rem;width:19rem;margin:0}
  .hero__media figcaption{max-width:14rem;margin:1rem 0 0 auto;text-align:right}
}
@media (min-width:78rem){.hero__text{padding-right:3.5rem} .hero__media .ticket{left:-4rem;width:23rem}}

/* the receipt (signature object): paper, dotted leaders, marker under the total, tear line with notches, zigzag edge */
.ticket{--notch:10px;--zig:7px;position:relative;width:100%;max-width:23rem;filter:var(--ombre);color:var(--encre);text-align:left}
.ticket p,.ticket ul{margin:0}
.ticket__main,.ticket__stub{padding:1.25rem 1.375rem;background:#fff}
.ticket__main{padding-bottom:1.125rem;border-radius:4px 4px 0 0;
  mask:radial-gradient(circle var(--notch) at 0 100%,#0000 97%,#000) 0 0 / 51% 100% no-repeat,radial-gradient(circle var(--notch) at 100% 100%,#0000 97%,#000) 100% 0 / 51% 100% no-repeat}
.ticket__stub{display:grid;gap:.5rem;padding-bottom:calc(1.25rem + var(--zig));border-top:2px dashed var(--filet);font-size:.875rem;line-height:1.45;
  mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50% / calc(2 * var(--zig)) 100%,
    radial-gradient(circle var(--notch) at 0 0,#0000 97%,#000) 0 0 / 51% 100% no-repeat,radial-gradient(circle var(--notch) at 100% 0,#0000 97%,#000) 100% 0 / 51% 100% no-repeat;
  mask-composite:intersect,add,add}
.ticket__head{margin-bottom:.5rem;padding-bottom:.875rem;border-bottom:1px solid var(--filet)}
.ticket__brand{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600}
.ticket__brand .mark{width:1.375rem;height:1.375rem;flex:none}
.ticket .ticket__what{margin-top:.75rem;font-size:1.125rem;font-weight:700;line-height:1.25;letter-spacing:-.01em}
.ticket__when{font-size:.8125rem}
.ticket__rows{padding:0;list-style:none;font-size:.9375rem;line-height:1.35}
.ticket__rows li,.deg-done__ticket li{display:flex;align-items:flex-end;gap:.375rem;margin:0;padding:.3125rem 0}
.ticket__rows i,.deg-done__ticket i{flex:1 0 .75rem;margin-bottom:.3em;border-bottom:2px dotted var(--pointille)}
.ticket__rows b,.deg-done__ticket b{flex:none;font-weight:600}
.ticket .ticket__total{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-top:.625rem;padding-top:.75rem;border-top:2px solid var(--encre);font-weight:600}
.ticket__total strong{padding:0 .08em;font-size:2.75rem;line-height:.95;font-weight:700;letter-spacing:-.03em;white-space:nowrap;
  background:linear-gradient(var(--surligneur),var(--surligneur)) 0 90% / 100% .3em no-repeat}
.ticket__paid{display:grid;grid-template-columns:1.125rem minmax(0,1fr);gap:.5rem;color:var(--encre)}
.ticket__paid svg{width:1.125rem;height:1.125rem;margin-top:.125rem}
.ticket__stub a{font-weight:600}
.ticket--mini .ticket__what{margin:0 0 .5rem;font-size:1rem}
.ticket--mini .ticket__total strong{font-size:2.25rem}
.ticket__call{width:100%;margin-top:.25rem}
.ticket__hours{font-size:.8125rem;text-align:center}
.ticket__links{display:grid;padding-top:.25rem}
.ticket__links a{display:inline-flex;align-items:center;min-height:2.75rem}
@media (prefers-reduced-motion:no-preference){
  .ticket--print{animation:print .7s cubic-bezier(.3,.7,.25,1) .15s both}
  @keyframes print{from{clip-path:inset(-3rem -3rem 100% -3rem)} to{clip-path:inset(-3rem -3rem -4rem -3rem)}}
}

/* inner page head: crumbs, H1, actions, the local receipt */
.head{padding-block:1.25rem 3rem}
.head h1{margin-top:1.25rem}
.head__text{min-width:0}
.head__note,.dateline{max-width:36em;margin:1.25rem 0 0;font-size:.9375rem}
.head__aside .ticket,.head__aside .check{margin-inline:auto}
.head--plain{padding-bottom:3.5rem}
@media (min-width:64rem){
  .head{padding-block:1.5rem 4.5rem}
  .head__text{grid-column:1 / span 7}
  .head__aside{grid-column:9 / -1;padding-top:3.25rem}
  .head__aside .ticket{margin:0 0 0 auto}
  .head__aside--check{grid-column:8 / -1}
}
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;margin:0;padding:0;list-style:none;font-size:.875rem;color:var(--encre-douce)}
.crumbs li{display:inline-flex;align-items:center;margin:0}
.crumbs li + li::before{content:"";width:.375rem;height:.375rem;margin:0 .625rem 0 .375rem;border:solid currentColor;border-width:1.5px 1.5px 0 0;transform:rotate(45deg)}
.crumbs a{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--encre-douce);text-decoration:none}
.crumbs a:hover{color:var(--marque-fonce);text-decoration:underline}
.crumbs [aria-current]{color:var(--encre);font-weight:600}
.depnum{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;margin:.5rem 0 0;padding:.25rem 1rem;border:1px solid var(--filet);border-radius:999px;
  background:#fff;color:var(--encre);font-size:.9375rem;font-weight:600;text-decoration:none}
.depnum b{display:inline-grid;place-items:center;min-width:2.25rem;height:2.25rem;padding:0 .5rem;border-radius:999px;background:var(--marque);color:#fff;font-size:1.0625rem;font-weight:700}
.depnum span + b + span{font-weight:400;color:var(--encre-douce)}
a.depnum:hover{border-color:var(--marque);color:var(--marque-fonce)}

/* reading column + sticky rail */
.read{row-gap:3rem}
.read__main{min-width:0}
.read__rail{display:none}
.sec + .sec{margin-top:4.5rem}
.sec > h2{max-width:22em}
@media (min-width:64rem){
  .read__main{grid-column:1 / span 8}
  .read__rail{display:block;grid-column:9 / -1;align-self:stretch}
  .read__rail .ticket{position:sticky;top:calc(var(--mast) + 1.5rem);margin-left:auto}
}
.prose > :first-child{margin-top:0}
.prose h2{margin-top:2.75rem}
.prose h3{margin:2rem 0 .5rem;font-size:1.25rem}
.prose li::marker{color:var(--marque)}
.prose table{width:100%;margin:1.5rem 0 2rem;border-collapse:collapse;font-size:.9375rem;line-height:1.45}
.prose th{padding:0 .75rem .5rem 0;border-bottom:2px solid var(--encre);text-align:left;vertical-align:bottom;font-weight:600;color:var(--encre-douce)}
.prose td{padding:.75rem .75rem .75rem 0;border-bottom:1px solid var(--filet);vertical-align:top}
.prose td,.prose th{overflow-wrap:break-word;hyphens:auto}
@media (max-width:39.99rem){.prose table{font-size:.875rem}}
.note-paid{margin:1.5rem 0 1.25rem;border-top:2px solid var(--encre)}
.note-paid p{position:relative;margin:0;padding:.875rem 0 .875rem 2.625rem;border-bottom:1px solid var(--filet)}
.note-paid p::before{content:"";position:absolute;left:0;top:1rem;width:1.75rem;height:1.75rem;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C1A2E' stroke-width='1.75' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M15.4 8.6a4.6 4.6 0 1 0 0 6.8M7 10.9h5.6M7 13.3h5.6'/%3E%3C/svg%3E") center / contain no-repeat}
.pic{margin:0}
.pic img{width:100%;aspect-ratio:3 / 2;object-fit:cover;border-radius:16px;background:var(--lilas)}
.pic--lead{margin-bottom:2.75rem}
.pic--lead img{aspect-ratio:16 / 9;object-position:50% 60%}
.local + .pic{margin-top:2rem}
.facts{display:grid;gap:1.5rem;margin-top:2.25rem}
@media (min-width:48rem){.facts{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start} .facts--solo{grid-template-columns:minmax(0,30rem)}}
.facts h3{font-size:1.125rem}
.ledger{margin:0;border-top:2px solid var(--encre);font-size:.9375rem}
.ledger div{display:flex;justify-content:space-between;gap:1rem;padding:.625rem 0;border-bottom:1px solid var(--filet)}
.ledger dt{color:var(--encre-douce)}
.ledger dd{margin:0;font-weight:600;text-align:right}
.source{margin:.75rem 0 0;font-size:.8125rem;line-height:1.45}
.ctx{margin:2.5rem 0 0}
.also{margin-top:4rem}
.h-aside,.sources h2,.releve__h{font-size:1.25rem}
.sources{margin-top:3.5rem;padding-top:1.5rem;border-top:2px solid var(--encre);font-size:.875rem}
.answer{max-width:40rem;margin-top:2rem;padding:1.5rem 1.75rem;border-radius:16px;background:#fff}
.answer h2{margin-bottom:.5rem;font-size:1.25rem}
.answer p:last-child{margin:0}

/* home: the two activities, as two doors under the hero */
.duo{padding-block:3rem}
.duo__h{margin-bottom:1.75rem;font-size:1.40625rem}
.duo__grid{display:grid;gap:2rem}
.duo__item{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:1rem;align-items:start}
.duo__item > svg{width:3rem;height:3rem;padding:.6875rem;border-radius:50%;background:var(--brume);color:var(--marque)}
.duo__item h3{margin-bottom:.375rem;font-size:1.25rem}
.duo__item p{margin:0 0 1.125rem;max-width:30em;font-size:1rem;color:var(--encre-douce)}
.duo__go{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}
.duo__go a:not(.pill){font-weight:600}
@media (min-width:56.25rem){.duo__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0} .duo__item:first-child{padding-right:3rem} .duo__item + .duo__item{padding-left:3rem;border-left:1px solid var(--filet)}}
.cards-h{margin:2rem 0 0;font-size:1.25rem}

/* le relevé: what is free, what is paid, why */
.mantra span{display:block}
.why{margin-top:3.5rem}
.why h3{font-size:1.40625rem}
@media (min-width:64rem){
  .sec-head--split,.why{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:3rem;max-width:none}
  .sec-head--split{align-items:end}
  .sec-head--split h2{margin:0}
  .sec-head--split p{max-width:30em}
  .why > *{grid-column:1;max-width:var(--measure)}
  .why > h3{grid-column:1 / -1}
  .why > p:nth-of-type(2){grid-column:2;grid-row:2}
}
.releve{display:grid;gap:2.5rem;margin-top:1.5rem}
@media (min-width:48rem){.releve{grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem} .releve--paid-only{grid-template-columns:minmax(0,1fr)}}
.releve__h{margin:0;padding-bottom:.75rem;border-bottom:2px solid var(--marque);font-weight:700}
.releve__col--paid .releve__h{border-color:var(--encre)}
.releve__rows{margin:0;padding:0;list-style:none}
.releve__rows li{display:grid;grid-template-columns:1.75rem minmax(0,1fr) auto;gap:.875rem;align-items:start;margin:0;padding:.875rem 0;border-bottom:1px solid var(--filet)}
.releve__rows svg{width:1.75rem;height:1.75rem}
.releve__col:not(.releve__col--paid) svg{padding:.25rem;border-radius:50%;background:var(--marque);color:#fff;stroke-width:2.5}
.releve__rows b{font-weight:700;color:var(--marque);white-space:nowrap}
.releve__note{margin:1rem 0 0;font-size:.9375rem}
.releve--compact{margin-top:2rem}
.releve--compact li{font-size:1rem}

/* the four real steps */
.steps{display:grid;gap:2.25rem;margin:0;padding:0;list-style:none;counter-reset:step}
.steps li{position:relative;margin:0;padding-left:4rem;counter-increment:step}
.steps li::before{content:counter(step);position:absolute;left:0;top:-.375rem;width:2.5rem;text-align:center;font-size:2.75rem;font-weight:700;line-height:1;
  letter-spacing:-.03em;color:var(--marque)}
.steps li:not(:last-child)::after{content:"";position:absolute;left:1.25rem;top:3rem;bottom:-1.75rem;width:1px;background:var(--filet)}
.steps h3{margin-bottom:.375rem;font-size:1.25rem;text-wrap:wrap}
.steps p{margin:0;font-size:1rem}
@media (min-width:64rem){
  .steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
  .steps li{padding:5rem 1.5rem 0 0}
  .steps li::before{top:0;width:auto;font-size:3.4375rem}
  .steps li:not(:last-child)::after{left:3.5rem;right:calc(1rem - var(--gap));top:1.75rem;bottom:auto;width:auto;height:1px}
}

/* departments as ledger rows, services as cards, guides as rows */
.region-h{margin:2.5rem 0 .75rem;font-size:1.25rem}
.region-h a,.band--zone h2 a,.letter a{color:var(--encre);text-decoration:none}
.region-h a:hover,.band--zone h2 a:hover,.letter a:hover{color:var(--marque-fonce);text-decoration:underline}
.deps{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));column-gap:var(--gap);margin:0;padding:0;list-style:none}
.deps li{margin:0;border-top:1px solid var(--filet)}
.deps a{display:grid;grid-template-columns:3.5rem minmax(0,1fr);align-items:center;gap:.5rem;min-height:4.25rem;padding:.625rem .5rem .625rem 0;color:var(--encre);text-decoration:none}
.deps b{font-size:1.75rem;font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--marque)}
.deps span{font-weight:600;line-height:1.25}
.deps small{display:inline-block;width:100%;margin-top:.125rem;font-size:.875rem;font-weight:400}
.deps a:hover span{color:var(--marque-fonce);text-decoration:underline}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));gap:var(--gap);margin:1.75rem 0 0;padding:0;list-style:none}
@media (min-width:75rem){.cards{grid-template-columns:repeat(5,minmax(0,1fr))}}
.cards li{margin:0}
.cards a{display:flex;flex-direction:column;gap:.5rem;height:100%;padding:1.5rem 1.375rem 1.625rem;border:1px solid var(--filet);border-radius:16px;background:#fff;
  color:var(--encre);text-decoration:none}
.cards a:hover{border-color:var(--marque);box-shadow:inset 0 0 0 1px var(--marque);color:var(--encre)}
.cards svg{width:3rem;height:3rem;margin-bottom:.75rem;padding:.6875rem}
.cards strong{font-size:1.1875rem;font-weight:700;line-height:1.25}
.cards span{font-size:.9375rem;line-height:1.45}
@media (max-width:39.99rem){.cards a{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:.25rem 1rem;padding:1.25rem} .cards svg{grid-row:span 2;margin:0}}
.rows{margin:0;padding:0;list-style:none;border-top:1px solid var(--filet)}
.rows li{margin:0;border-bottom:1px solid var(--filet)}
.rows a{display:grid;gap:.25rem;padding:1.125rem 0;color:var(--encre);text-decoration:none}
.rows strong{font-size:1.125rem;font-weight:700;color:var(--marque-fonce)}
.rows span{font-size:.9375rem}
.rows a:hover strong{text-decoration:underline}
@media (min-width:48rem){.rows a{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:2rem;align-items:baseline}}
.rows--compact a{display:block;padding:.875rem 0}
.index > h2{margin-bottom:1.5rem}
.index--guides{margin-top:4.5rem}
@media (min-width:64rem){
  .index{display:grid;align-items:start}
  .index > h2{grid-column:1 / span 4;padding-right:2rem}
  .index > :not(h2){grid-column:5 / -1}
}

/* faq */
.faq{border-top:1px solid var(--filet)}
.faq details{border-bottom:1px solid var(--filet)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.5rem;padding:1rem;list-style:none;cursor:pointer;
  font-size:1.0625rem;font-weight:600;line-height:1.4}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--marque-fonce)}
.faq__sign{position:relative;flex:none;width:2rem;height:2rem;border:1.5px solid var(--marque);border-radius:50%}
.faq__sign::before,.faq__sign::after{content:"";position:absolute;left:50%;top:50%;width:.75rem;height:2px;border-radius:1px;background:var(--marque);transform:translate(-50%,-50%)}
.faq__sign::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq details[open]{background:var(--brume)}
.band--brume .faq details[open]{background:#fff}
.faq details[open] .faq__sign{background:var(--marque)}
.faq details[open] .faq__sign::before{background:#fff}
.faq details[open] .faq__sign::after{display:none}
.faq .ans{max-width:calc(var(--measure) + 2rem);padding:0 1rem 1.25rem}
.faq .ans p:last-child{margin:0}

/* places, figures */
.near,.towns{margin:0;padding:0;list-style:none}
.near{border-top:1px solid var(--filet)}
.near li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:0;padding:.625rem 0;border-bottom:1px solid var(--filet)}
.near a,.towns a{display:inline-block;margin-block:-.5rem;padding-block:.5rem;font-weight:600;text-decoration:none}
.near a:hover,.towns a:hover{text-decoration:underline}
.near em{font-style:normal;font-size:.875rem}
.near small,.towns small{font-size:.875rem;white-space:nowrap}
.near--short{max-width:44rem}
.near__more{margin-top:1.25rem}
.towns{columns:2 10rem;column-gap:var(--gap)}
.towns li{margin:0;padding:.5rem 0;border-bottom:1px solid var(--filet);break-inside:avoid}
@media (min-width:64rem){.towns--wide{columns:4 12rem}}
.towns-h{margin-top:3rem}
.bars{max-width:34rem;margin:1rem 0;padding:0;list-style:none}
.bars li{margin:0 0 .875rem}
.bars .lbl{display:flex;justify-content:space-between;gap:1rem;font-size:.9375rem}
.bars .bar{display:block;height:.5rem;margin-top:.375rem;border-radius:999px;background:var(--lilas);overflow:hidden}
.bars .bar i{display:block;height:100%;border-radius:999px;background:var(--marque)}
.jump{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:2rem 0 0;font-weight:600}
.jump a,.letter b{display:inline-grid;place-items:center;min-width:2.75rem;height:2.75rem;padding:0 .75rem;border-radius:999px}
.jump a{border:1px solid var(--filet);background:#fff;color:var(--encre);text-decoration:none}
.jump a:hover{border-color:var(--marque);color:var(--marque-fonce)}
.letter{margin:2.5rem 0 .75rem;font-size:1.125rem}
.letter a{display:inline-flex;align-items:center;gap:.75rem}
.letter b{background:var(--marque);color:#fff;font-size:1rem}

/* form band, call-back band, contact, lost */
.formband__intro{max-width:46rem;margin-bottom:2.5rem}
.formband__call{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;margin:1.5rem 0 0}
.formband__call .small{max-width:24rem}
.formband__note{margin:1rem 0 0}
.telline{display:inline-flex;align-items:center;gap:.625rem;min-height:2.75rem;color:var(--encre);font-size:1.75rem;font-weight:700;letter-spacing:-.01em;text-decoration:none;white-space:nowrap}
.telline svg{width:2.5rem;height:2.5rem;padding:.5625rem;border-radius:50%;background:var(--marque);color:#fff}
.telline:hover{color:var(--marque-fonce)}
#question{margin-top:3rem;font-size:1.5rem}
.contact-form{min-width:0}
.lost{padding-block:4rem 6rem}
@media (min-width:64rem){
  .formband__form{grid-column:1 / span 7}
  .formband__grid--solo .formband__form{grid-column:1 / span 8}
  .formband__check{position:sticky;top:calc(var(--mast) + 1.5rem);grid-column:8 / -1;padding-left:1.5rem}
  .callback__text,.contact__text{grid-column:1 / span 5}
  .callback__grid > .deg-form,.contact-form{grid-column:7 / -1}
  .lost__text{grid-column:1 / span 7}
  .lost__links{grid-column:9 / -1;margin-top:1rem}
}

/* documents checklist (remembered on this device) */
.check{min-width:0;margin:0;padding:0;border:0}
.check legend{float:left;width:100%;margin-bottom:.25rem;padding:0;font-size:1.25rem;font-weight:700}
.check legend + *{clear:both}
.check__count{display:inline-block;margin:.375rem 0 1rem;padding:.25rem .75rem;border-radius:999px;background:var(--lilas);color:var(--marque-fonce);font-size:.875rem;font-weight:600}
.check__list{margin:0;padding:0;list-style:none;border-top:1px solid var(--filet)}
.check__list li{margin:0;border-bottom:1px solid var(--filet)}
.check__list label{display:grid;grid-template-columns:1.5rem minmax(0,1fr);gap:.875rem;align-items:start;padding:.875rem 0;cursor:pointer}
.check__list input{appearance:none;display:grid;place-content:center;width:1.5rem;height:1.5rem;margin:.125rem 0 0;border:1.5px solid var(--trait-fort);border-radius:6px;
  background:#fff;cursor:pointer}
.check__list input::before{content:"";width:.4rem;height:.75rem;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) translate(-1px,-1px);opacity:0}
.check__list input:checked{background:var(--marque);border-color:var(--marque)}
.check__list input:checked::before{opacity:1}
.check__list strong{display:block;font-weight:600;line-height:1.35}
.check__list span span{display:block;margin-top:.2rem;font-size:.9375rem;line-height:1.45}
.check__list input:checked + span strong{text-decoration:line-through 2px var(--marque)}
.check--compact .check__list span span{display:none}
.check__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 1rem;padding-top:.25rem;font-size:.875rem}
.check__foot button{min-height:2.75rem;padding:0;border:0;background:none;color:var(--marque-fonce);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}
.head__aside .check{max-width:26rem;padding:1.5rem;border-radius:16px;background:#fff}

/* leadkit forms (prefix deg): the central card */
.deg-form{--lk-font:var(--f);--lk-ink:var(--encre);--lk-muted:var(--encre-douce);--lk-line:var(--trait);--lk-bg:#fff;--lk-surface:var(--brume);--lk-accent:var(--marque);
  --lk-accent-ink:#fff;--lk-cta:var(--marque);--lk-cta-ink:#fff;--lk-chip-on:var(--marque);--lk-chip-on-ink:#fff;--lk-focus:var(--encre);--lk-ok:var(--marque);--lk-radius:16px;
  --lk-radius-chip:999px;--lk-gap:1.125rem;--lk-pad:clamp(1.25rem,3.5vw,2rem);max-width:none;border-color:var(--filet);font-size:1rem;line-height:1.5}
.deg-form a,.deg-more > summary,.deg-geoloc,.deg-photos__drop{color:var(--marque-fonce)}
.deg-form__title{font-size:1.40625rem;letter-spacing:-.01em}
.deg-form__intro,.deg-label{font-size:.9375rem}
.deg-steps{gap:0;margin-top:1.25rem;font-size:.8125rem}
.deg-steps__item{position:relative;display:flex;align-items:center;gap:.5rem;padding:0 .5rem 0 0;border:0;font-weight:600;line-height:1.2}
.deg-steps__item::before{content:counter(lk);flex:none;display:grid;place-items:center;width:1.75rem;height:1.75rem;border:1.5px solid var(--trait);border-radius:999px;
  background:#fff;color:var(--encre-douce);font-size:.8125rem;font-weight:700}
.deg-steps__item:not(:last-child)::after{content:"";flex:1 1 .75rem;min-width:.75rem;height:2px;border-radius:1px;background:var(--filet)}
.deg-steps__item[aria-current="step"]{color:var(--encre)}
.deg-steps__item[aria-current="step"]::before{border-color:var(--marque);background:var(--marque);color:#fff}
.deg-steps__item[data-done="true"]::before{border-color:var(--marque);background:var(--lilas);color:var(--marque-fonce)}
.deg-steps__item[data-done="true"]::after{background:var(--marque)}
@media (max-width:29.99rem){.deg-steps__item:not([aria-current="step"]){gap:.25rem;font-size:0}}
.deg-step__title{font-size:1.125rem}
.deg-grid2{align-items:start}
.deg-input{background:#fff;border-radius:8px;font-size:1rem}
.deg-input:hover{border-color:var(--encre-douce)}
.deg-input:focus{border-color:var(--marque)}
.deg-input--plate{font-weight:700;letter-spacing:.1em}
.deg-input:focus-visible,.deg-btn:focus-visible,.deg-geoloc:focus-visible,.deg-chip input:focus-visible + .deg-chip__label,
.deg-photos__drop:focus-within,.deg-more > summary:focus-visible{outline:2px solid var(--encre);outline-offset:2px}
.deg-tile:has(input:focus-visible){outline:2px solid var(--encre);outline-offset:2px}
.deg-chip__label{padding:.625rem 1rem;border-color:var(--trait);font-size:.9375rem}
.deg-chip:hover .deg-chip__label,.deg-tile:hover,.deg-photos__drop:hover{border-color:var(--marque)}
.deg-tile{border-color:var(--trait)}
.deg-tile__icon{background:var(--brume);color:var(--marque)}
.deg-tile:has(input:checked){border-color:var(--marque);background:var(--lilas);box-shadow:inset 0 0 0 1px var(--marque)}
.deg-tiles--states{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:30rem){.deg-tiles--states{grid-template-columns:repeat(3,minmax(0,1fr))}}
.deg-tiles--states .deg-tile{min-height:6.25rem;padding:.875rem .5rem}
.deg-tile__hint{font-size:.78125rem}
.deg-geoloc{border-color:var(--trait);border-radius:999px}
.deg-addr__list,.deg-alert{border-radius:8px}
.deg-photos__drop{border-color:var(--trait)}
.deg-photos__drop:hover{background:var(--lilas)}
.deg-btn{padding-inline:1.5rem;border-radius:999px;font-weight:600}
.deg-btn--primary:hover{background:var(--marque-fonce)}
.deg-btn--ghost{border-color:var(--trait)}
.deg-btn--ghost:hover{border-color:var(--encre)}
.deg-reassure{font-size:.875rem}
.deg-privacy{font-size:.8125rem}
.deg-cg-hint{margin:2px 0 0;padding:.75rem 1rem;border-radius:8px;background:var(--lilas);color:var(--encre);font-size:.9375rem}
/* done state: the request comes back as a receipt (rows added by site.js) */
.deg-done{justify-items:stretch;gap:.75rem;padding:1.5rem 1.5rem 2rem;border-radius:4px 4px 0 0;background:var(--brume);color:var(--marque);text-align:left;
  mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50% / 14px 100%}
.deg-done__title{font-size:1.40625rem}
.deg-done__ticket{margin:.25rem 0 0;padding:.75rem 0 0;list-style:none;border-top:2px solid var(--encre);color:var(--encre);font-size:.9375rem}
.deg-done__note{margin:0;font-size:.875rem;color:var(--encre-douce)}
.deg-done .deg-btn{justify-self:start}

/* footer (light lavender) */
.foot{padding-block:4rem 2rem;border-top:1px solid var(--filet);font-size:.9375rem}
.foot__top{display:grid;row-gap:2rem;padding-bottom:2.5rem;border-bottom:1px solid var(--filet)}
.foot__brand{display:flex;align-items:center;gap:.75rem;margin:0 0 .75rem;font-size:1.125rem;font-weight:700}
.foot__brand .mark{width:2.5rem;height:2.5rem;flex:none}
.foot__id p + p{max-width:34rem;margin:0}
.foot__telp{margin:0}
.foot__tel{color:var(--encre);font-size:clamp(2rem,1.6rem + 1.8vw,2.75rem);font-weight:700;line-height:1.1;letter-spacing:-.02em;text-decoration:none;white-space:nowrap}
.foot__tel:hover{color:var(--marque-fonce)}
.foot__hours{max-width:26rem;margin:.5rem 0 0}
.foot__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:2rem var(--gap);padding-block:2.5rem}
@media (max-width:39.99rem){.foot__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.foot h2{margin:0 0 .5rem;font-size:.9375rem;letter-spacing:0}
.foot ul{margin:0;padding:0;list-style:none}
.foot li{margin:0}
.foot li a{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--encre);line-height:1.35;text-decoration:none}
.foot li a:hover{color:var(--marque-fonce);text-decoration:underline}
.foot__legal{margin:0;padding-top:1.5rem;border-top:1px solid var(--filet);font-size:.8125rem;line-height:1.5}
@media (min-width:64rem){.foot__top{align-items:end} .foot__id{grid-column:1 / span 6} .foot__call{grid-column:8 / -1}}

/* mobile call bar */
.callbar{position:fixed;z-index:30;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;
  padding:.5rem .75rem calc(.5rem + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--filet)}
.callbar .pill{min-height:3.25rem;padding:.375rem .75rem;font-size:.9375rem;line-height:1.15}
.callbar__stack{display:flex;flex-direction:column;align-items:flex-start}
.callbar__stack b{font-size:1rem}
.callbar__stack small{font-size:.75rem;font-weight:500;white-space:nowrap}
.callbar__short{display:none}
@media (max-width:22.49rem){.callbar__long{display:none} .callbar__short{display:inline}}
@media (min-width:56.25rem){.callbar{display:none}}
@media print{.mast,.callbar,.formband,.callback,.read__rail{display:none} body{padding:0}}
