/* =========================================================================
   Modèle « Piston » — garages automobiles
   Graphite sombre, accent rouge (modifiable), blanc cassé. Titres Unbounded (large), texte Inter.
   Signature : compteur / tachymètre, règles graduées, grilles nettes, forfaits en fiches d'entretien.
   ========================================================================= */

:root{--wrap:1280px;--radius-btn:var(--radius);--radius-input:var(--radius);--field-bg:var(--bg);--mobilebar-bg:rgba(10,11,13,.95);--hdr:76px;--ease:cubic-bezier(.2,.7,.2,1)}
html{background:var(--bg);color-scheme:dark;scroll-padding-top:calc(var(--hdr) + 24px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.6 var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"cv11","ss01"}
img{max-width:100%;height:auto}
a{color:inherit}
::selection{background:var(--accent);color:var(--accent-ink)}
:focus-visible{outline:2px solid var(--accent-on-dark);outline-offset:3px}
h1,h2,h3{margin:0;font-family:var(--font-display);font-weight:650;line-height:1.06;letter-spacing:-.03em}
p{margin:0}
em{font-style:normal;color:var(--accent-on-dark)}
.ico{width:1.25em;height:1.25em;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.skip-link{background:var(--accent);color:var(--accent-ink)}

/* Sur-titre avec repère */
.pn-eyebrow,.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:20px;font:600 .76rem/1.3 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.pn-eyebrow__bar{position:relative;width:28px;height:2px;flex:none;background:var(--accent)}
.pn-eyebrow__bar::after{content:"";position:absolute;right:-6px;top:-2px;width:6px;height:6px;background:var(--accent)}
.pn-eyebrow--ink{color:inherit;opacity:.9}
.pn-eyebrow--ink .pn-eyebrow__bar,.pn-eyebrow--ink .pn-eyebrow__bar::after{background:currentColor}

/* Boutons */
.btn{font-family:var(--font-body);font-weight:600;letter-spacing:.01em;border-radius:var(--radius)}
.btn .ico{width:1.1em;height:1.1em;transition:transform .3s var(--ease)}
.btn:hover .ico:last-child{transform:translateX(4px)}
.btn--primary:hover{background:color-mix(in srgb,var(--accent) 84%,#fff)}
.btn--line{background:transparent;border-color:var(--line-2);color:var(--ink)}
.btn--line:hover{border-color:var(--ink);background:rgba(255,255,255,.04)}
.btn--dark{background:var(--paper-ink);color:#fff;border-color:var(--paper-ink)}
.btn--dark:hover{background:#000}
.btn--onaccent{background:transparent;color:var(--accent-ink);border-color:currentColor}
.btn--onaccent:hover{background:rgba(0,0,0,.12)}
.btn--xl{min-height:56px;padding:.9em 1.6em;font-size:1rem}

/* Voyant ouvert / fermé */
.pn-led{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 9px;font-weight:600;font-size:.86rem;color:var(--ink)}
.pn-led>span:last-child{font-weight:400;color:var(--muted)}
.pn-led__dot{width:9px;height:9px;border-radius:50%;background:#F5A524;box-shadow:0 0 0 3px rgba(245,165,36,.16)}
.pn-led.is-on .pn-led__dot{background:#3DD68C;box-shadow:0 0 0 3px rgba(61,214,140,.18),0 0 12px rgba(61,214,140,.6)}
.pn-led--big{font-size:1rem}

/* Règle graduée */
.pn-ruler{position:relative;height:18px;border-bottom:1px solid var(--line-2);background:repeating-linear-gradient(90deg,var(--line-2) 0 1px,transparent 1px 12px) left bottom/100% 7px no-repeat,repeating-linear-gradient(90deg,var(--muted) 0 1px,transparent 1px 60px) left bottom/100% 16px no-repeat}
.pn-ruler::after{content:"";position:absolute;left:0;bottom:-1px;width:min(18%,200px);height:3px;background:var(--accent)}

/* Sections */
.pn-sec{position:relative;padding:clamp(72px,10vw,128px) 0}
.pn-sh{max-width:760px;margin-bottom:clamp(36px,5vw,64px)}
.pn-sh--split{display:grid;gap:18px 64px;max-width:none;align-items:end}
@media (min-width:900px){.pn-sh--split{grid-template-columns:1.25fr 1fr}}
.pn-sh__title{font-size:clamp(1.75rem,3.3vw,2.9rem)}
.pn-sh__text{margin-top:18px;max-width:540px;color:var(--muted);font-size:1.075rem}
.pn-sh--split .pn-sh__text{margin-top:0}
.pn-note{margin-top:24px;color:var(--muted);font-size:.88rem}
.pn-demo-note{margin-top:20px;padding-left:12px;border-left:2px solid var(--accent);font-size:.84rem;color:var(--muted)}
.pn-tag{display:inline-block;padding:3px 8px;border:1px solid var(--line-2);border-radius:3px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pn-hero__grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 70% 70% at 30% 20%,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse 70% 70% at 30% 20%,#000 10%,transparent 70%)}
.pn-checks{margin:22px 0 0;padding:0}
.pn-checks li{display:flex;gap:12px;align-items:flex-start;padding:9px 0;border-bottom:1px dashed var(--line-2);color:var(--ink-2)}
.pn-checks .ico{margin-top:3px;color:var(--accent-on-dark)}

/* =========================================================================
   En-tête
   ========================================================================= */
.pn-top{background:#0A0B0D;border-bottom:1px solid var(--line);font-size:.8rem;color:var(--ink-2)}
.pn-top__in{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:40px}
.pn-top__msg{display:flex;align-items:center;gap:12px;min-width:0}
.pn-top__tag{flex:none;padding:3px 8px;border-radius:3px;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}
.pn-top .pn-led{font-size:.8rem}
@media (max-width:820px){.pn-top .pn-led{display:none}.pn-top__in{justify-content:center}}
@media (max-width:560px){.pn-top__msg{font-size:.74rem;gap:8px;text-align:left}.pn-top__tag{display:none}}

.pn-hd{position:sticky;top:0;z-index:600;background:rgba(15,17,19,.82);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--line);transition:background-color .3s,box-shadow .3s}
.has-demobar .pn-hd{top:48px}
.pn-hd.is-scrolled{background:rgba(12,13,15,.94);box-shadow:0 12px 40px rgba(0,0,0,.35)}
.nav-open .pn-hd{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg)}
.pn-hd__in{display:flex;align-items:center;gap:28px;min-height:var(--hdr)}
.pn-hd__logo{display:flex;align-items:center;gap:12px;margin-right:auto;text-decoration:none}
.pn-hd__mark{position:relative;flex:none;width:42px;height:42px;border-radius:50%;background:conic-gradient(from 240deg,var(--line-2) 0 190deg,var(--accent) 190deg 240deg,transparent 240deg 360deg)}
.pn-hd__mark::before{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--bg)}
.pn-hd__mark::after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--ink)}
.pn-hd__needle{position:absolute;left:50%;bottom:50%;width:2px;height:15px;margin-left:-1px;background:var(--accent);border-radius:2px;transform-origin:50% 100%;transform:rotate(-40deg);transition:transform .8s var(--ease)}
.pn-hd__logo:hover .pn-hd__needle{transform:rotate(95deg)}
.pn-hd__word{display:flex;flex-direction:column;font-family:var(--font-display);font-weight:700;font-size:1.1rem;line-height:1;letter-spacing:.02em;text-transform:uppercase}
.pn-hd__sub{margin-top:5px;font-family:var(--font-body);font-size:.68rem;font-weight:600;letter-spacing:.14em;color:var(--muted)}
.pn-hd__logo-img{height:44px;width:auto}
.pn-hd__nav ul{display:flex;gap:2px;margin:0;padding:0}
.pn-hd__nav a{position:relative;display:block;padding:10px 12px;color:var(--ink-2);font-weight:500;font-size:.93rem;text-decoration:none;transition:color .2s}
.pn-hd__nav a:hover,.pn-hd__nav a[aria-current]{color:var(--ink)}
.pn-hd__nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.pn-hd__nav a:hover::after,.pn-hd__nav a[aria-current]::after{transform:none}
.pn-hd__actions{display:flex;align-items:center;gap:16px}
.pn-hd__phone{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem;text-decoration:none;white-space:nowrap}
.pn-hd__phone .ico{color:var(--accent-on-dark)}
.pn-hd__phone:hover span{text-decoration:underline;text-underline-offset:4px}
.pn-hd__burger{display:none;align-items:center;gap:10px;min-height:44px;padding:0 14px;border:1px solid var(--line-2);border-radius:var(--radius);background:transparent;color:var(--ink);font:600 .9rem var(--font-body);cursor:pointer}
.pn-hd__burger-lines{position:relative;width:18px;height:2px;background:currentColor;transition:background-color .2s}
.pn-hd__burger-lines::before,.pn-hd__burger-lines::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor;transition:transform .3s}
.pn-hd__burger-lines::before{top:-6px}.pn-hd__burger-lines::after{top:6px}
[aria-expanded=true] .pn-hd__burger-lines{background:transparent}
[aria-expanded=true] .pn-hd__burger-lines::before{transform:translateY(6px) rotate(45deg)}
[aria-expanded=true] .pn-hd__burger-lines::after{transform:translateY(-6px) rotate(-45deg)}
.pn-mm{display:none}
@media (max-width:1240px){.pn-hd__phone span{display:none}.pn-hd__phone{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line-2);border-radius:var(--radius)}}
@media (max-width:1100px){
  .pn-hd__nav{display:none}
  .pn-hd__burger{display:inline-flex}
  .pn-mm{display:block;position:fixed;inset:0;z-index:-1;padding-top:calc(var(--hdr) + 12px);background:var(--bg);visibility:hidden;opacity:0;transform:translateY(-10px);transition:opacity .3s,transform .3s,visibility 0s .3s;overflow:auto}
  .pn-mm.is-open{visibility:visible;opacity:1;transform:none;transition:opacity .3s,transform .3s}
  .pn-mm__in{padding-bottom:40px}
  .pn-mm__list{margin:0;padding:0;border-top:1px solid var(--line)}
  .pn-mm__list a{display:flex;align-items:baseline;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font-family:var(--font-display);font-weight:600;font-size:clamp(1.4rem,6.4vw,2.2rem);line-height:1.1;letter-spacing:-.02em;text-decoration:none}
  .pn-mm__list a span{font-family:var(--font-body);font-size:.75rem;font-weight:700;letter-spacing:.1em;color:var(--accent-on-dark)}
  .pn-mm__list a[aria-current]{color:var(--accent-on-dark)}
  .pn-mm__foot{display:grid;gap:12px;margin-top:28px}
  .pn-mm__foot .btn{width:100%}
  .pn-mm__foot .pn-led{margin-top:8px}
  .has-demobar .pn-mm{padding-top:calc(var(--hdr) + 60px)}
  .nav-open .pn-top{display:none}
  body.nav-open{overflow:hidden}
}
@media (max-width:620px){.pn-hd__cta{display:none}.pn-hd__in{gap:12px}.pn-hd__word{font-size:.98rem}.pn-hd__mark{width:38px;height:38px}}
@media (max-width:380px){.pn-hd__burger-t{display:none}.pn-hd__sub{display:none}}

/* =========================================================================
   Compteur (SVG)
   ========================================================================= */
.pn-gauge{display:block;width:100%;height:auto;overflow:visible}
.pn-gauge__track{fill:none;stroke:var(--line-2);stroke-width:2.5}
.pn-gauge__red{fill:none;stroke:var(--accent);stroke-width:6}
.pn-gauge__tick{stroke:var(--muted);stroke-width:1.1;stroke-linecap:round}
.pn-gauge__tick.is-major{stroke:var(--ink);stroke-width:2.4}
.pn-gauge__tick.is-red{stroke:var(--accent-on-dark)}
.pn-gauge__num{fill:var(--ink-2);font:600 11px var(--font-display)}
.pn-gauge__unit{fill:var(--muted);font:500 7px var(--font-body);letter-spacing:.12em;text-transform:uppercase}
.pn-gauge__needle{transform-box:view-box;transform-origin:120px 120px;transform:rotate(-30deg);animation:pn-rev 2.6s var(--ease) .4s both}
.pn-gauge__needle path{fill:var(--accent)}
.pn-gauge__hub{fill:var(--surface-2);stroke:var(--accent);stroke-width:2}
.pn-gauge__val{fill:var(--ink);font:700 25px var(--font-display);letter-spacing:-.02em}
.pn-gauge__lab{fill:var(--muted);font:600 8.5px var(--font-body);letter-spacing:.16em;text-transform:uppercase}
@keyframes pn-rev{0%{transform:rotate(-120deg)}42%{transform:rotate(104deg)}58%{transform:rotate(88deg)}100%{transform:rotate(-30deg)}}
.pn-gauge--mono .pn-gauge__track{stroke:currentColor;opacity:.35}
.pn-gauge--mono .pn-gauge__red{stroke:currentColor}
.pn-gauge--mono .pn-gauge__tick,.pn-gauge--mono .pn-gauge__tick.is-major,.pn-gauge--mono .pn-gauge__tick.is-red{stroke:currentColor}
.pn-gauge--mono .pn-gauge__tick:not(.is-major){opacity:.55}
.pn-gauge--mono .pn-gauge__num,.pn-gauge--mono .pn-gauge__unit,.pn-gauge--mono .pn-gauge__val,.pn-gauge--mono .pn-gauge__lab{fill:currentColor}
.pn-gauge--mono .pn-gauge__needle path{fill:currentColor}
.pn-gauge--mono .pn-gauge__hub{fill:var(--accent);stroke:currentColor}
.pn-gauge--mono .pn-gauge__needle{animation-play-state:paused}
.is-in .pn-gauge--mono .pn-gauge__needle{animation-play-state:running}

/* =========================================================================
   Hero
   ========================================================================= */
.pn-hero{position:relative;overflow:hidden;padding:clamp(40px,6vw,88px) 0 clamp(88px,9vw,132px)}
.pn-hero::after{content:"";position:absolute;right:-10%;top:-20%;width:60%;height:120%;background:radial-gradient(closest-side,color-mix(in srgb,var(--accent) 16%,transparent),transparent);pointer-events:none}
.pn-hero__in{position:relative;z-index:1;display:grid;gap:56px;align-items:center}
@media (min-width:1024px){.pn-hero__in{grid-template-columns:1.08fr .92fr;gap:72px}}
.pn-hero__title{font-size:clamp(2.05rem,4.3vw,3.9rem);font-weight:700;line-height:1.02;letter-spacing:-.035em}
.pn-hero__lead{max-width:540px;margin-top:26px;color:var(--ink-2);font-size:1.15rem;line-height:1.6}
.pn-hero__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.pn-express{margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}
.pn-express__t{margin-bottom:14px;font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.pn-express__list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.pn-express__list a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--bg-2);font-weight:500;font-size:.92rem;text-decoration:none;transition:border-color .2s,background-color .2s}
.pn-express__list a::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--line-2);transition:background-color .2s}
.pn-express__list a:hover{border-color:var(--accent);background:var(--surface)}
.pn-express__list a:hover::before{background:var(--accent)}
.pn-hero__visual{position:relative;padding-bottom:0}
.pn-hero__photo{position:relative;margin:0;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;background:var(--surface);box-shadow:0 40px 90px rgba(0,0,0,.5)}
.pn-hero__photo::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.08);border-radius:inherit;pointer-events:none}
.pn-hero__img{width:100%;height:100%;object-fit:cover}
.pn-hero__cap{position:absolute;right:14px;top:14px;display:flex;align-items:center;gap:10px;max-width:calc(100% - 28px);padding:7px 12px 7px 7px;border-radius:var(--radius);background:rgba(10,11,13,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.8rem;font-weight:500}
.pn-hero__cap span{display:grid;place-items:center;min-width:30px;height:24px;padding:0 6px;border-radius:3px;background:var(--accent);color:var(--accent-ink);font:700 .7rem var(--font-display)}
.pn-cluster{position:absolute;left:-56px;bottom:-60px;width:clamp(220px,20vw,280px)}
.pn-cluster .pn-gauge{padding:14px;border-radius:50%;background:radial-gradient(circle at 50% 40%,#23272C,#0B0C0E 72%);border:1px solid var(--line-2);box-shadow:0 30px 60px rgba(0,0,0,.55),inset 0 0 0 6px #111316,inset 0 0 0 7px var(--line)}
.pn-cluster__note{margin-top:10px;font-size:.74rem;line-height:1.4;color:var(--muted);text-align:center}
@media (max-width:1023px){
  .pn-hero__visual{max-width:560px}
  .pn-hero__photo{aspect-ratio:5/4}
  .pn-cluster{position:relative;left:auto;bottom:auto;width:230px;margin:-110px 0 0 18px}
  .pn-cluster__note{text-align:left}
}
@media (max-width:560px){.pn-hero__btns .btn{width:100%}.pn-cluster{width:200px;margin-top:-96px}}

/* =========================================================================
   Tableau de bord (chiffres)
   ========================================================================= */
.pn-dash{position:relative;background:var(--bg-2);border-block:1px solid var(--line);padding:0 0 28px}
.pn-dash__list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin:0;padding:0;background:var(--line);border-inline:1px solid var(--line)}
@media (min-width:900px){.pn-dash__list{grid-template-columns:repeat(4,1fr)}}
.pn-dash__item{position:relative;display:flex;flex-direction:column;gap:6px;padding:30px 24px 26px;background:var(--bg-2)}
.pn-dash__code{position:absolute;right:18px;top:16px;font-size:.7rem;font-weight:700;letter-spacing:.12em;color:var(--muted)}
.pn-dash__ico{color:var(--accent-on-dark);margin-bottom:10px}
.pn-dash__ico .ico{width:24px;height:24px}
.pn-dash__val{font-family:var(--font-display);font-weight:700;font-size:clamp(1.3rem,2.3vw,1.95rem);line-height:1.1;letter-spacing:-.03em}
.pn-dash__lab{color:var(--muted);font-size:.9rem;line-height:1.4}
.pn-dash__bar{display:block;height:3px;margin-top:16px;background:var(--line)}
.pn-dash__bar span{display:block;width:0;height:100%;background:var(--accent);transition:width 1.6s var(--ease) .3s}
.pn-dash__item.is-in .pn-dash__bar span{width:82%}
.pn-dash__item:nth-child(2).is-in .pn-dash__bar span{width:64%}
.pn-dash__item:nth-child(3).is-in .pn-dash__bar span{width:100%}
.pn-dash__item:nth-child(4).is-in .pn-dash__bar span{width:72%}
.pn-dash .pn-demo-note{margin-top:20px}
@media (max-width:420px){.pn-dash__item{padding:24px 16px 20px}}

/* =========================================================================
   Services (grille technique)
   ========================================================================= */
.pn-svc__grid{display:grid;gap:1px;margin:0;padding:0;background:var(--line);border:1px solid var(--line)}
@media (min-width:640px){.pn-svc__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.pn-svc__grid{grid-template-columns:repeat(3,1fr)}}
.pn-svc__cell{position:relative;background:var(--bg)}
.pn-svc__cell::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);z-index:1}
.pn-svc__cell:hover::before,.pn-svc__cell:focus-within::before{transform:none}
.pn-svc__link{display:flex;flex-direction:column;height:100%;min-height:290px;padding:30px 28px 26px;text-decoration:none;transition:background-color .3s}
.pn-svc__link:hover{background:var(--surface)}
.pn-svc__top{display:flex;justify-content:space-between;align-items:center}
.pn-svc__code{font-size:.72rem;font-weight:700;letter-spacing:.14em;color:var(--muted)}
.pn-svc__ico{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line-2);border-radius:var(--radius);color:var(--accent-on-dark);background:var(--bg-2)}
.pn-svc__ico .ico{width:22px;height:22px}
.pn-svc__t{margin-top:34px;font-size:1.14rem;font-weight:650;line-height:1.2;letter-spacing:-.02em}
.pn-svc__p{margin-top:12px;color:var(--muted);font-size:.96rem;line-height:1.55}
.pn-svc__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:24px}
.pn-svc__price{font-weight:700;font-size:.95rem}
.pn-svc__price small{font-weight:500;font-size:.82rem;color:var(--muted)}
.pn-svc__go{display:grid;place-items:center;width:40px;height:40px;flex:none;border:1px solid var(--line-2);border-radius:50%;transition:background-color .3s,border-color .3s,color .3s}
.pn-svc__link:hover .pn-svc__go{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.pn-svc__go .ico{width:18px;height:18px}

/* =========================================================================
   Forfaits : fiches d'entretien
   ========================================================================= */
.pn-price{background:linear-gradient(180deg,var(--bg) 0,var(--bg-2) 100%)}
.pn-sheets{display:grid;gap:24px;margin:0;padding:0}
@media (min-width:700px){.pn-sheets{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.pn-sheets{grid-template-columns:repeat(3,1fr)}}
.pn-sheet{position:relative;display:flex;flex-direction:column;padding:30px 26px 26px;border-radius:var(--radius);background:var(--paper);color:var(--paper-ink);box-shadow:0 24px 60px rgba(0,0,0,.35)}
.pn-sheet::before{content:"";position:absolute;left:14px;right:14px;top:-6px;height:12px;background:radial-gradient(circle,var(--bg-2) 4px,transparent 4.6px) 0 0/22px 12px repeat-x}
.pn-sheet__head{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:26px}
.pn-sheet__no{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-muted)}
.pn-sheet__badge{padding:4px 9px;border-radius:3px;background:var(--accent);color:var(--accent-ink);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.pn-sheet__t{margin-top:14px;font-size:1.28rem;font-weight:650;line-height:1.15}
.pn-sheet__for{margin-top:6px;color:var(--paper-muted);font-size:.9rem}
.pn-sheet__lab{margin-top:20px;padding-top:16px;border-top:1px dashed var(--paper-line);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-muted)}
.pn-sheet__inc{margin:10px 0 0;padding:0}
.pn-sheet__inc li{display:flex;gap:10px;align-items:flex-start;padding:5px 0;font-size:.94rem;line-height:1.45}
.pn-sheet__box{display:grid;place-items:center;flex:none;width:18px;height:18px;margin-top:2px;border:1.5px solid var(--paper-ink);border-radius:2px;color:var(--accent-text)}
.pn-sheet__box .ico{width:14px;height:14px;stroke-width:2.6}
.pn-sheet__meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 0;padding-top:14px;border-top:1px dashed var(--paper-line)}
.pn-sheet__meta dt{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--paper-muted)}
.pn-sheet__meta dd{margin:2px 0 0;font-weight:600;font-size:.94rem}
.pn-sheet__total{margin-top:auto;padding-top:18px}
.pn-sheet__meta+.pn-sheet__total,.pn-sheet__inc+.pn-sheet__meta+.pn-sheet__total{margin-top:18px}
.pn-sheet__total{border-top:2px solid var(--paper-ink)}
.pn-sheet__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}
.pn-sheet__price small{flex-basis:100%;font-size:.78rem;color:var(--paper-muted);font-weight:500}
.pn-sheet__price strong{font-family:var(--font-display);font-size:2.1rem;font-weight:700;line-height:1;letter-spacing:-.04em}
.pn-sheet__price span{font-weight:700;font-size:.78rem;letter-spacing:.08em}
.pn-sheet__pnote{margin-top:8px;font-size:.84rem;color:var(--paper-muted)}
.pn-sheet__btn{width:100%;margin-top:20px}
.pn-sheet__btn:focus-visible{outline-color:var(--accent-text)}
.pn-price__foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;margin-top:32px}
.pn-price__foot .pn-note{margin:0;max-width:640px}
/* Onglets */
.pn-tabs__bar{display:flex;gap:8px;margin-bottom:32px;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}
.pn-tabs__bar [role=tab]{flex:none;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 18px;border:1px solid var(--line-2);border-radius:var(--radius);background:transparent;color:var(--ink-2);font:600 .95rem var(--font-body);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.pn-tabs__bar [role=tab] span{font-size:.72rem;letter-spacing:.1em;color:var(--muted)}
.pn-tabs__bar [role=tab]:hover{border-color:var(--ink)}
.pn-tabs__bar [aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.pn-tabs__bar [aria-selected=true] span{color:var(--accent-text)}
.pn-tabs__panel:focus-visible{outline-offset:8px}

/* Tarifs à l'unité */
.pn-rates{border-top:1px solid var(--line)}
.pn-rates__in{display:grid;gap:24px 64px}
@media (min-width:1024px){.pn-rates__in{grid-template-columns:1fr 1.5fr}.pn-rates .pn-sh{position:sticky;top:140px;align-self:start}}
.pn-table{width:100%;border-collapse:collapse;margin-bottom:40px}
.pn-table caption{padding-bottom:14px;text-align:left;font:650 1.05rem/1.2 var(--font-display);letter-spacing:-.02em}
.pn-table thead th{padding:0 0 10px;border-bottom:1px solid var(--line-2);text-align:left;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pn-table thead th:last-child,.pn-table td{text-align:right}
.pn-table tbody th{padding:15px 16px 15px 0;border-bottom:1px solid var(--line);text-align:left;font-weight:500}
.pn-table tbody th small{display:block;margin-top:2px;font-size:.84rem;font-weight:400;color:var(--muted)}
.pn-table td{padding:15px 0;border-bottom:1px solid var(--line);font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}

/* =========================================================================
   Parcours « prise en charge »
   ========================================================================= */
.pn-track__list{position:relative;display:grid;gap:36px;margin:0;padding:0}
.pn-track__list::before,.pn-track__list::after{content:"";position:absolute;background:var(--line-2)}
.pn-track__list::after{background:var(--accent);transition:transform 1.8s var(--ease) .2s}
.pn-track__step{position:relative}
.pn-track__dot{display:grid;place-items:center;width:46px;height:46px;border:2px solid var(--accent);border-radius:50%;background:var(--bg);font:700 1rem var(--font-display);position:relative;z-index:1}
.pn-track__time{margin-top:20px;color:var(--accent-on-dark);font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.pn-track__t{margin-top:8px;font-size:1.1rem;font-weight:650}
.pn-track__p{margin-top:10px;color:var(--muted);font-size:.96rem}
@media (min-width:900px){
  .pn-track__list{grid-template-columns:repeat(4,1fr);gap:40px}
  .pn-track__list::before,.pn-track__list::after{left:0;right:0;top:22px;height:2px}
  .pn-track__list::after{transform:scaleX(0);transform-origin:left}
  .pn-track__list.is-in::after{transform:scaleX(1)}
  .pn-track__step{padding-right:12px}
}
@media (max-width:899px){
  .pn-track__list::before,.pn-track__list::after{left:22px;top:0;bottom:0;width:2px}
  .pn-track__list::after{transform:scaleY(0);transform-origin:top}
  .pn-track__list.is-in::after{transform:scaleY(1)}
  .pn-track__step{padding-left:70px}
  .pn-track__dot{position:absolute;left:0;top:0}
  .pn-track__time{margin-top:0;padding-top:12px}
}

/* =========================================================================
   Avantages (courtoisie…)
   ========================================================================= */
.pn-perks{background:var(--bg-2);border-block:1px solid var(--line)}
.pn-perks__in{display:grid;gap:48px;align-items:center}
@media (min-width:1024px){.pn-perks__in{grid-template-columns:1.05fr 1fr;gap:72px}}
.pn-perks__media{position:relative;margin:0;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;background:var(--surface)}
.pn-perks__media img{width:100%;height:100%;object-fit:cover}
.pn-perks__badge{position:absolute;left:18px;bottom:18px;display:flex;flex-direction:column;max-width:260px;padding:14px 18px;border-radius:var(--radius);background:var(--accent);color:var(--accent-ink)}
.pn-perks__badge strong{font:700 1.7rem/1 var(--font-display);letter-spacing:-.03em}
.pn-perks__badge span{margin-top:6px;font-size:.84rem;font-weight:500;line-height:1.35}
.pn-perks__lead{margin-top:18px;color:var(--muted);font-size:1.075rem;max-width:520px}
.pn-perks__list{margin:26px 0 30px;padding:0;border-top:1px solid var(--line)}
.pn-perks__list li{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--line)}
.pn-perks__list li>span:last-child{color:var(--muted);font-size:.95rem;line-height:1.5}
.pn-perks__list strong{display:block;margin-bottom:2px;color:var(--ink);font-weight:600;font-size:1rem}
.pn-perks__ico{display:grid;place-items:center;flex:none;width:42px;height:42px;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface);color:var(--accent-on-dark)}
.pn-perks__ico .ico{width:20px;height:20px}
.pn-perks__list--tight{margin:0;border-top:0}
.pn-perks__list--tight li{padding:12px 0}
.pn-perks__list--tight li:last-child{border-bottom:0}

/* =========================================================================
   Avis
   ========================================================================= */
.pn-rev__in{display:grid;gap:40px 64px}
@media (min-width:1024px){.pn-rev__in{grid-template-columns:340px 1fr}.pn-rev__head{position:sticky;top:140px;align-self:start}}
.pn-rev__score{margin-top:32px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2)}
.pn-rev__num{display:flex;align-items:baseline;gap:6px}
.pn-rev__num strong{font:700 clamp(3.2rem,6vw,4.6rem)/1 var(--font-display);letter-spacing:-.05em}
.pn-rev__num span{color:var(--muted);font-weight:600;font-size:1.3rem}
.pn-rev__stars{display:flex;gap:4px;margin-top:12px;color:var(--accent)}
.pn-rev__stars .ico{fill:currentColor;width:20px;height:20px}
.pn-rev__lab{margin-top:10px;color:var(--muted);font-size:.88rem}
.pn-rev__list{display:grid;gap:16px;margin:0;padding:0}
@media (min-width:700px){.pn-rev__list{grid-template-columns:1fr 1fr}}
.pn-rev__item{display:flex;flex-direction:column;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.pn-rev__top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.pn-rev__rating{display:flex}
.pn-rev__rating i{display:inline-block;width:18px;height:5px;margin-right:3px;border-radius:1px;background:var(--line-2)}
.pn-rev__rating i.is-on{background:var(--accent)}
.pn-rev__q{margin:18px 0 20px}
.pn-rev__q p{color:var(--ink-2);font-size:1rem;line-height:1.6}
.pn-rev__who{display:flex;flex-direction:column;margin-top:auto;padding-top:16px;border-top:1px dashed var(--line-2)}
.pn-rev__who strong{font-weight:600}
.pn-rev__who span{color:var(--muted);font-size:.86rem}

/* =========================================================================
   FAQ
   ========================================================================= */
.pn-faq__in{display:grid;gap:24px 64px}
@media (min-width:1024px){.pn-faq__in{grid-template-columns:.9fr 1.3fr}.pn-faq__head{position:sticky;top:140px;align-self:start}}
.pn-faq__call{margin-top:22px;color:var(--muted)}
.pn-faq__call a{color:var(--ink);font-weight:700;text-underline-offset:4px}
.pn-faq__list{border-top:1px solid var(--line)}
.pn-faq__item{border-bottom:1px solid var(--line)}
.pn-faq__item summary{display:flex;align-items:center;gap:18px;padding:22px 0;cursor:pointer;list-style:none}
.pn-faq__item summary::-webkit-details-marker{display:none}
.pn-faq__n{min-width:34px;color:var(--accent-on-dark);font-size:.78rem;font-weight:700;letter-spacing:.08em}
.pn-faq__q{flex:1;font-weight:600;font-size:1.06rem;line-height:1.4}
.pn-faq__plus{position:relative;flex:none;width:32px;height:32px;border:1px solid var(--line-2);border-radius:var(--radius);transition:background-color .2s,border-color .2s}
.pn-faq__plus::before,.pn-faq__plus::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;background:currentColor;transition:transform .3s var(--ease)}
.pn-faq__plus::after{transform:rotate(90deg)}
.pn-faq__item[open] .pn-faq__plus{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.pn-faq__item[open] .pn-faq__plus::after{transform:rotate(0)}
.pn-faq__item summary:hover .pn-faq__q{color:var(--ink)}
.pn-faq__a{padding:0 50px 24px 52px;color:var(--muted)}
.pn-faq__a p+p{margin-top:10px}
@media (max-width:560px){.pn-faq__a{padding:0 0 22px 52px}}

/* =========================================================================
   Appel à l'action (bande accent)
   ========================================================================= */
.pn-cta{position:relative;overflow:hidden;padding:clamp(64px,8vw,112px) 0;background:var(--accent);color:var(--accent-ink)}
.pn-cta::before{content:"";position:absolute;inset:0;background:repeating-radial-gradient(circle at 88% 50%,transparent 0 44px,rgba(0,0,0,.07) 44px 45px);pointer-events:none}
.pn-cta__in{position:relative;display:grid;gap:40px;align-items:center}
@media (min-width:960px){.pn-cta__in{grid-template-columns:1.5fr .6fr}}
.pn-cta__title{font-size:clamp(1.9rem,4.4vw,3.6rem);font-weight:700;line-height:1.03;letter-spacing:-.035em}
.pn-cta__title em{color:inherit;text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.14em}
.pn-cta__p{max-width:560px;margin-top:20px;font-size:1.1rem;opacity:.92}
.pn-cta__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.pn-cta__gauge{width:min(100%,320px);justify-self:end;color:var(--accent-ink)}
@media (max-width:959px){.pn-cta__gauge{display:none}}
@media (max-width:560px){.pn-cta__btns .btn{width:100%}}

/* =========================================================================
   En-tête de page
   ========================================================================= */
.pn-ph{position:relative;overflow:hidden;padding:clamp(44px,7vw,96px) 0 0}
.pn-ph__in{position:relative;display:grid;gap:40px;align-items:end}
@media (min-width:1024px){.pn-ph--img .pn-ph__in{grid-template-columns:1.2fr .8fr;gap:64px}}
.pn-crumbs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px;font-size:.84rem;color:var(--muted)}
.pn-crumbs a{text-decoration:none}
.pn-crumbs a:hover{color:var(--ink);text-decoration:underline}
.pn-crumbs [aria-current]{color:var(--ink-2)}
.pn-ph__title{font-size:clamp(2.1rem,5.2vw,4.4rem);font-weight:700;line-height:1.02;letter-spacing:-.04em}
.pn-ph__lead{max-width:620px;margin-top:22px;color:var(--ink-2);font-size:1.12rem}
.pn-ph__chips{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 0;padding:0}
.pn-ph__chips li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line-2);border-radius:var(--radius);font-size:.88rem;font-weight:500}
.pn-ph__chips .ico{width:16px;height:16px;color:var(--accent-on-dark)}
.pn-ph__img{margin:0;aspect-ratio:16/10;border-radius:var(--radius);overflow:hidden;background:var(--surface)}
.pn-ph__img img{width:100%;height:100%;object-fit:cover}
.pn-ph .pn-ruler{margin-top:clamp(40px,6vw,72px)}

/* =========================================================================
   Page services (détail)
   ========================================================================= */
.pn-sd{padding-top:clamp(48px,6vw,72px)}
.pn-sd__toc{display:flex;gap:8px;margin-bottom:clamp(56px,8vw,96px);overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
@media (min-width:1024px){.pn-sd__toc{flex-wrap:wrap;overflow:visible}}
.pn-sd__toc a{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--line-2);border-radius:var(--radius);font-weight:500;font-size:.9rem;text-decoration:none;transition:border-color .2s,background-color .2s}
.pn-sd__toc a span{font-size:.7rem;font-weight:700;letter-spacing:.1em;color:var(--muted)}
.pn-sd__toc a:hover{border-color:var(--accent);background:var(--surface)}
.pn-sd__item{display:grid;gap:32px 72px;align-items:center;margin-bottom:clamp(72px,10vw,128px);scroll-margin-top:calc(var(--hdr) + 72px)}
.pn-sd__item:last-of-type{margin-bottom:0}
@media (min-width:1024px){.pn-sd__item{grid-template-columns:1fr 1fr}.pn-sd__item--rev .pn-sd__media{order:2}}
.pn-sd__media{position:relative;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;background:var(--surface)}
.pn-sd__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.pn-sd__item:hover .pn-sd__media img{transform:scale(1.03)}
.pn-sd__code{position:absolute;left:16px;top:16px;padding:6px 10px;border:1px solid var(--line-2);border-radius:3px;background:rgba(10,11,13,.8);font-size:.74rem;font-weight:700;letter-spacing:.12em}
.pn-sd__t{margin-top:22px;font-size:clamp(1.5rem,2.6vw,2.2rem);font-weight:650}
.pn-sd__p{margin-top:14px;color:var(--muted)}
.pn-sd__specs{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:28px 0;background:var(--line);border:1px solid var(--line)}
.pn-sd__specs div{padding:14px 16px;background:var(--bg)}
.pn-sd__specs dt{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.pn-sd__specs dd{margin:4px 0 0;font:650 1.02rem/1.3 var(--font-display);letter-spacing:-.02em}

/* =========================================================================
   Rendez-vous / devis : panneaux, formulaires
   ========================================================================= */
.pn-book{overflow:hidden;padding-top:clamp(40px,6vw,80px)}
.pn-book__in{position:relative;display:grid;gap:32px 48px;align-items:start}
@media (min-width:1024px){.pn-book__in{grid-template-columns:1.5fr 1fr}.pn-book__side{position:sticky;top:130px}}
.pn-book__form{margin-top:36px}
.pn-book__side{display:grid;gap:16px}
@media (min-width:1024px){.pn-book__side{margin-top:clamp(120px,14vw,190px)}}
.pn-panel{padding:clamp(20px,3vw,34px);border:1px solid var(--line);border-radius:6px;background:var(--surface)}
.pn-panel__t{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px dashed var(--line-2);font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.pn-panel__t span{display:grid;place-items:center;min-width:32px;height:26px;padding:0 7px;border-radius:3px;background:var(--accent);color:var(--accent-ink);font:700 .7rem var(--font-display);letter-spacing:.02em}
.pn-panel .pn-led{margin-bottom:12px}
.pn-callcard{display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px solid var(--line-2);border-radius:6px;text-decoration:none;transition:border-color .2s,background-color .2s}
.pn-callcard>.ico{display:block;width:46px;height:46px;padding:12px;border-radius:50%;background:var(--accent);color:var(--accent-ink)}
.pn-callcard small{display:block;color:var(--muted);font-size:.8rem}
.pn-callcard span{font:650 1.2rem/1.2 var(--font-display);letter-spacing:-.02em}
.pn-callcard small{font-family:var(--font-body);letter-spacing:0}
.pn-callcard:hover{border-color:var(--accent);background:var(--surface)}
.pn-next{margin:0;padding:0}
.pn-next li{display:flex;gap:12px;align-items:flex-start;padding:8px 0;color:var(--ink-2);font-size:.95rem}
.pn-next span{display:grid;place-items:center;flex:none;width:26px;height:26px;border:1.5px solid var(--accent-on-dark);border-radius:50%;color:var(--accent-on-dark);font-weight:700;font-size:.78rem}
.pn-ba{margin:0}
.pn-ba__box{aspect-ratio:4/3;border-radius:6px}
.pn-ba figcaption{margin-top:10px;color:var(--muted);font-size:.86rem}
.ba__tag{background:rgba(10,11,13,.85)}
.pn-book__photos{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:.9rem}
.pn-book__photos .ico{margin-top:2px;color:var(--accent-on-dark)}
.pn-book__photos a{color:var(--ink);font-weight:600}

/* Formulaires (sur fond sombre) */
.sform__field label,.sform__label{color:var(--ink-2);font-weight:600}
.sform__req{color:var(--accent-on-dark)}
.sform__field input,.sform__field textarea,.sform__field select{border-color:var(--line-2);background-color:var(--bg);color:var(--ink);color-scheme:dark}
.sform__field input::placeholder,.sform__field textarea::placeholder{color:#7E848B}
.sform__field select option{background:var(--surface);color:var(--ink)}
.sform__field input:hover,.sform__field textarea:hover,.sform__field select:hover{border-color:#5A6068}
.chip span{border-color:var(--line-2);background:var(--bg);font-weight:500}
.chip:hover span{border-color:var(--ink-2)}
.sform__legal{color:var(--muted)}
.sform__status{color:var(--ink)}
.sform__progress li{border-top-color:var(--line-2);color:var(--muted)}
.sform__progress li.is-current,.sform__progress li.is-done{color:var(--ink)}
.sform__legend span{color:var(--muted)}
.sform__submit{min-height:54px;padding-inline:1.8em}

/* Horaires */
.pn-hours{margin:0;padding:0}
.pn-hours li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed var(--line-2);font-size:.92rem;color:var(--ink-2)}
.pn-hours li:last-child{border-bottom:0}
.pn-hours li>span:first-child{flex:none}
.pn-hours li>span:last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:400px){.pn-hours li{flex-wrap:wrap}.pn-hours li>span:last-child{white-space:normal}}
.pn-hours li.is-today{color:var(--ink);font-weight:700}
.pn-hours li.is-today>span:first-child::before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:1px;background:var(--accent);vertical-align:1px}
.pn-hours li.is-closed>span:last-child{color:var(--muted)}
.pn-hours--compact li{padding:6px 0;font-size:.84rem}
.pn-hours--board{display:grid;gap:2px}
.pn-hours--board li{align-items:center;padding:15px 18px;border:0;border-left:3px solid transparent;border-radius:3px;background:var(--bg-2);font-size:1rem}
.pn-hours--board li>span:first-child{font:600 .95rem var(--font-display);letter-spacing:-.01em}
.pn-hours--board li.is-today{border-left-color:var(--accent);background:var(--surface-2)}
.pn-hours--board li.is-today>span:first-child::before{display:none}
.pn-hours__today{display:inline-block;margin-left:10px;padding:2px 7px;border-radius:3px;background:var(--accent);color:var(--accent-ink);font:700 .64rem var(--font-body);letter-spacing:.08em;text-transform:uppercase;vertical-align:2px}
@media (max-width:480px){.pn-hours--board li{flex-direction:column;align-items:flex-start;gap:2px}.pn-hours--board li>span:last-child{text-align:left}}

/* =========================================================================
   Le garage
   ========================================================================= */
.pn-about__story{display:grid;gap:40px 72px;align-items:center}
@media (min-width:1024px){.pn-about__story{grid-template-columns:.9fr 1.1fr}}
.pn-about__media{margin:0;aspect-ratio:4/5;max-height:680px;border-radius:var(--radius);overflow:hidden;background:var(--surface)}
.pn-about__media img{width:100%;height:100%;object-fit:cover}
.pn-about__p{margin-top:16px;color:var(--muted);font-size:1.04rem}
.pn-about__facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:34px 0 0;background:var(--line);border:1px solid var(--line)}
.pn-about__facts div{padding:18px 16px;background:var(--bg)}
.pn-about__facts dt{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pn-about__facts dd{margin:6px 0 0;font:700 clamp(1.5rem,3vw,2.1rem)/1 var(--font-display);letter-spacing:-.04em}
.pn-about__teamhead{margin-top:clamp(88px,11vw,150px)}
.pn-team{display:grid;gap:32px 24px;margin:0;padding:0}
@media (min-width:600px){.pn-team{grid-template-columns:repeat(2,1fr)}}
@media (min-width:960px){.pn-team{grid-template-columns:repeat(3,1fr)}}
.pn-team__img{position:relative;margin:0;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;background:var(--surface)}
.pn-team__img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3);transition:filter .6s,transform 1.2s var(--ease)}
.pn-team__card:hover .pn-team__img img{filter:none;transform:scale(1.03)}
.pn-team__code{position:absolute;left:12px;bottom:12px;padding:5px 9px;border-radius:3px;background:rgba(10,11,13,.82);font-size:.72rem;font-weight:700;letter-spacing:.12em}
.pn-team__n{margin-top:20px;font-size:1.15rem;font-weight:650}
.pn-team__r{margin-top:6px;color:var(--accent-on-dark);font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.pn-team__p{margin-top:10px;color:var(--muted);font-size:.96rem}

.pn-pledge{background:var(--bg-2);border-block:1px solid var(--line)}
.pn-pledge__list{display:grid;gap:1px;margin:0;padding:0;background:var(--line);border:1px solid var(--line)}
@media (min-width:600px){.pn-pledge__list{grid-template-columns:repeat(2,1fr)}}
@media (min-width:960px){.pn-pledge__list{grid-template-columns:repeat(3,1fr)}}
.pn-pledge__item{position:relative;padding:32px 28px;background:var(--bg-2)}
.pn-pledge__n{position:absolute;right:24px;top:22px;font:700 2.2rem/1 var(--font-display);color:var(--line-2);letter-spacing:-.04em}
.pn-pledge__ico{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line-2);border-radius:var(--radius);color:var(--accent-on-dark)}
.pn-pledge__ico .ico{width:20px;height:20px}
.pn-pledge__t{margin-top:22px;font-size:1.06rem;font-weight:650;line-height:1.25}
.pn-pledge__p{margin-top:10px;color:var(--muted);font-size:.96rem}

/* =========================================================================
   Contact
   ========================================================================= */
.pn-contact{overflow:hidden;padding-top:clamp(40px,6vw,80px)}
.pn-contact>.wrap{position:relative}
.pn-contact__head{margin-bottom:clamp(36px,5vw,56px)}
.pn-contact__grid{display:grid;gap:32px 48px;align-items:start}
@media (min-width:1024px){.pn-contact__grid{grid-template-columns:1.15fr 1fr}}
.pn-board{padding:clamp(20px,3vw,32px);border:1px solid var(--line);border-radius:6px;background:var(--surface)}
.pn-board__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;margin-bottom:22px}
.pn-board__t{font-size:1.2rem;font-weight:650}
.pn-board__note{margin-top:16px;color:var(--muted);font-size:.88rem}
.pn-coords{margin:0;padding:0;border-top:1px solid var(--line)}
.pn-coords li{display:flex;gap:16px;align-items:flex-start;padding:20px 0;border-bottom:1px solid var(--line);color:var(--ink-2)}
.pn-coords small{display:block;margin-bottom:4px;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.pn-coords a{color:var(--ink);text-underline-offset:4px}
.pn-coords__big{font:650 clamp(1.3rem,2.4vw,1.6rem)/1.2 var(--font-display);letter-spacing:-.02em;text-decoration:none}
.pn-coords__big:hover{color:var(--accent-on-dark)}
.pn-coords__ico{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid var(--line-2);border-radius:var(--radius);color:var(--accent-on-dark)}
.pn-access{margin-top:30px}
.pn-access__t{margin-bottom:6px;font-size:1.02rem;font-weight:650}
.pn-contact__form{margin-top:32px}
.pn-contact__formhead{margin-bottom:24px}
.pn-contact__formhead p{margin-top:8px;color:var(--muted)}
.pn-contact__formhead a{color:var(--ink);font-weight:600;text-underline-offset:4px}

/* =========================================================================
   Pied de page
   ========================================================================= */
.pn-ft{padding:clamp(64px,8vw,104px) 0 32px;background:#0A0B0D;border-top:1px solid var(--line)}
.pn-ft__top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:28px 40px}
.pn-ft__big{max-width:760px;font:700 clamp(1.7rem,4vw,3.2rem)/1.05 var(--font-display);letter-spacing:-.035em}
.pn-ft__act{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.pn-ft__phone{display:inline-flex;align-items:center;gap:10px;font:650 1.2rem var(--font-display);letter-spacing:-.02em;text-decoration:none}
.pn-ft__phone .ico{color:var(--accent-on-dark)}
.pn-ft__phone:hover{color:var(--accent-on-dark)}
.pn-ft .pn-ruler{margin:48px 0 56px}
.pn-ft__grid{display:grid;gap:40px}
@media (min-width:640px){.pn-ft__grid{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.pn-ft__grid{grid-template-columns:1.2fr .9fr 1.45fr .9fr;gap:40px 48px}}
.pn-ft__word{font:700 1.15rem var(--font-display);letter-spacing:-.01em;text-transform:uppercase}
.pn-ft__desc{max-width:360px;margin:12px 0 18px;color:var(--muted);font-size:.94rem}
.pn-ft__title{margin-bottom:14px;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.pn-ft__list{margin:0;padding:0}
.pn-ft__list li{padding:5px 0}
.pn-ft__list a,.pn-ft__link{color:var(--ink-2);font-size:.94rem;text-decoration:none}
.pn-ft__list a:hover,.pn-ft__link:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.pn-ft__contact p{margin-bottom:8px;color:var(--ink-2);font-size:.94rem}
.pn-ft__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:56px;padding-top:24px;border-top:1px solid var(--line)}
.pn-ft__nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.pn-ft__nav a,.pn-ft__copy{color:var(--muted);font-size:.86rem;text-decoration:none}
.pn-ft__nav a:hover{color:var(--ink)}

/* Barre d'action mobile */
.mobile-bar{border:1px solid var(--line-2)}
.mobile-bar__item{font-weight:600}

/* Mentions légales + 404 (vues communes du moteur) */
.legal{padding:clamp(56px,8vw,110px) 0}
.legal__in{max-width:780px}
.page-hero__title{margin-bottom:24px;font-size:clamp(2rem,5vw,3.4rem);font-weight:700;letter-spacing:-.04em}
.legal h2{margin:40px 0 10px;font-size:1.1rem;font-weight:650}
.legal p{color:var(--ink-2)}
.legal__demo{padding:14px 18px;border:1px dashed var(--line-2);border-radius:var(--radius);background:var(--surface);color:var(--ink-2)}
.notfound{position:relative;background:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px) 0 0/64px 64px,linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px) 0 0/64px 64px}
.notfound .eyebrow{color:var(--accent-on-dark)}
.notfound__title{font-weight:700;letter-spacing:-.04em}
.notfound__text{color:var(--muted)}

/* Mouvement réduit */
@media (prefers-reduced-motion:reduce){
  .pn-gauge__needle{animation:none}
  .pn-dash__bar span,.pn-track__list::after,.pn-hd__needle,.pn-sd__media img,.pn-team__img img{transition:none}
}

/* Ajustements mobile */
.mobile-bar__item{white-space:nowrap;padding:0 10px;font-size:.94rem}
@media (max-width:480px){.pn-hd__sub{display:none}}
@media (max-width:699px){.pn-rev__item:nth-child(n+5){display:none}}
.pn-price--full{padding-top:clamp(40px,5vw,64px)}
