:root{
  --font:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--mono:ui-monospace,"Cascadia Mono","SF Mono",Menlo,Consolas,monospace;
  --bg:#F3F5FB;--bg2:#E7EBF7;--ink:#0A1440;--mut:#3D476E;--ctl:#5A648F;--card:#fff;--field:#fff;
  --blue:#1F3BFF;--gold:#C9963A;--acc:#1F3BFF;--on-acc:#fff;--acc-text:#1F3BFF;--danger:#A3200F;
  --focus:#0A1440;--halo:#fff;--dock:#fff;--r:4px;--card-b:1.5px solid var(--ink);
  --h2:800 clamp(1.9rem,4.6vw,3.2rem)/1.02 var(--font);
  --u:clamp(21px,6vw,38px);--rx:58deg;--rz:45deg;
}
/* ---- Socle commun : accessibilité, parcours, esquisses ---- */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font:17px/1.55 var(--font);color:var(--ink);background:var(--bg);overflow-x:hidden}
h1,h2,h3,h4,p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
.wrap{max-width:1200px;margin:0 auto;padding-left:20px;padding-right:20px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:8px;top:-90px;z-index:99;background:#fff;color:#000;padding:14px 18px;font-weight:800;border-radius:6px}
.skip:focus{top:8px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;box-shadow:0 0 0 7px var(--halo)}
[hidden]{display:none!important}
[inert]{opacity:.34}
.logo{flex:none}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:12px 24px;border-radius:var(--r);border:2px solid var(--acc);background:var(--acc);color:var(--on-acc);font-weight:800;text-decoration:none;text-align:center;line-height:1.15}
.btn.alt{background:transparent;color:var(--ink);border-color:var(--ctl)}
.btn.danger{background:transparent;color:var(--danger);border-color:var(--danger)}
.btn-row{display:flex;flex-wrap:wrap;gap:10px}
.btn-row .btn{flex:1 1 150px}
.link-btn{background:none;border:0;min-height:48px;padding:8px;font-weight:700;text-decoration:underline;color:var(--acc-text)}
.note{color:var(--mut);font-weight:600}

/* Commune : la case épouse le nom choisi */
.chip{display:inline-flex;align-items:center;gap:10px;width:fit-content;max-width:100%;padding:10px 16px;border-radius:var(--r);border:2px solid var(--acc);font-weight:800;background:var(--card);color:var(--ink)}
.chip::before{content:"";width:10px;height:10px;background:var(--gold);transform:rotate(45deg);flex:none}
.chip-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px}
.commune-form{margin-top:20px}
.commune-form label,.lbl{display:block;font-weight:700;margin-bottom:8px}
.commune-line{display:flex;gap:10px;flex-wrap:wrap}
.commune-line input{flex:1 1 180px}
input,select,textarea{width:100%;min-height:54px;padding:12px 16px;border:2px solid var(--ctl);border-radius:var(--r);font:inherit;color:var(--ink);background:var(--field)}
.sugg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;font-size:.9rem;color:var(--mut)}
#sugg{display:contents}
.sugg button{min-height:44px;padding:6px 14px;border-radius:var(--r);border:1.5px dashed var(--ctl);background:transparent;font-weight:700;color:var(--ink)}

.terms{counter-reset:t;display:grid;gap:16px}
.terms li{counter-increment:t;display:grid;grid-template-columns:2.2em 1fr;gap:8px}
.terms li::before{content:counter(t,decimal-leading-zero);font-weight:800;color:var(--acc-text)}
.terms-n{color:var(--mut);margin-top:16px;font-size:.95rem}

/* Barre fixe téléphone : appel, WhatsApp et prix toujours visibles */
.dock{display:none}
@media (max-width:820px){
  body{padding-bottom:112px}
  .dock{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:1fr 1fr;gap:6px 8px;padding:8px 12px calc(10px + env(safe-area-inset-bottom));background:var(--dock);border-top:1px solid var(--ctl)}
  .dock p{grid-column:1/-1;text-align:center;font-size:.86rem;font-weight:700;color:var(--ink)}
  .dock .btn{min-height:54px;padding:8px 10px}
  .dock{transition:transform .35s,visibility .35s}
  .dock.off{transform:translateY(105%);visibility:hidden}
}

/* ---- Esquisses des autres pages ---- */
.sketches{background:var(--bg2);border-top:3px dashed var(--ctl);padding:56px 0 72px;color:var(--ink)}
.sk-flag{display:inline-block;border:1.5px solid var(--ctl);font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;margin-bottom:14px}
.sketches h2{font:var(--h2);margin-bottom:8px}
.sketches>.wrap>p{color:var(--mut)}
.sk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;margin-top:24px;align-items:start}
.sk{background:var(--card);border:var(--card-b);border-radius:var(--r);padding:22px}
.sk>*+*{margin-top:14px}
.sk h3{font-size:1.3rem;line-height:1.15}
.sk h4{font-size:1.1rem}
.sk-n{display:block;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--acc-text);margin-bottom:8px}
.sk p{font-size:.96rem}
.sk .mut{color:var(--mut)}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tag{display:inline-flex;align-items:center;min-height:40px;padding:6px 14px;border-radius:var(--r);border:1.5px solid var(--ctl);font-weight:700;font-size:.92rem}
.tag.on{background:var(--acc);border-color:var(--acc);color:var(--on-acc)}
.sk .summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:700}
.sk .summary a{display:inline-flex;align-items:center;min-height:48px;padding:0 6px;color:var(--acc-text);font-weight:700}
.sk-card{border:var(--card-b);border-radius:var(--r);padding:16px}
.sk-card>*+*{margin-top:12px}
.sk .btn{width:100%}
.sk .btn-row .btn{width:auto}
.sk .price{border-left:4px solid var(--gold);padding:4px 0 4px 14px}
.sk .field+.field{margin-top:12px}
.sk fieldset{border:0;padding:0;margin:0;min-width:0}
.sk fieldset>*+*{margin-top:12px}
.sk legend{font-weight:800;font-size:1.1rem;padding:0;float:left;width:100%}
.sk legend+*{clear:both}
.sk .field label{display:block;font-weight:700;margin-bottom:6px}
.illu{display:grid;place-items:center;min-height:96px;border:1.5px dashed var(--ctl);border-radius:var(--r);color:var(--mut);font-size:.88rem;text-align:center;padding:10px}
.sk-steps{counter-reset:s}
.sk-steps>li{counter-increment:s;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0;border-top:1px solid var(--ctl)}
.sk-steps>li::before{content:counter(s,decimal-leading-zero);font-weight:800;color:var(--acc-text)}
.sk-steps .tags{flex-basis:100%}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}


/* ============ Proposition 2 : COUPE, la maison en 3D ============ */
body{background:
  linear-gradient(rgba(31,59,255,.07) 1px,transparent 1px) 0 0/100% 28px,
  linear-gradient(90deg,rgba(31,59,255,.07) 1px,transparent 1px) 0 0/28px 100%,var(--bg)}
.lg-o{fill:var(--ink)}.lg-a{fill:var(--gold)}.lg-b{fill:#8A6418}.lg-h{fill:var(--blue)}.lg-d{fill:#fff}
.mono{font-family:var(--mono);font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}

.top{border-bottom:1.5px solid var(--ink);background:var(--bg)}
.top .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:0 14px;padding-top:6px;padding-bottom:6px}
.brand{display:flex;align-items:center;gap:10px;min-height:48px;margin-right:auto;text-decoration:none;font-weight:800;font-size:1.15rem;letter-spacing:-.01em}
.top nav ul{display:flex}
.top nav a,.lang{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 12px;text-decoration:none}
.lang{min-width:48px;border:1.5px solid var(--ink)}
.tel{display:inline-flex;align-items:center;min-height:48px;padding:0 16px;background:var(--ink);color:#fff;text-decoration:none;font-family:var(--mono);font-weight:700}

.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:24px 40px;padding-top:40px;padding-bottom:48px;align-items:start}
.hero-text{display:contents}
.h-a{grid-column:1;grid-row:1}
.h-b{grid-column:1;grid-row:2}
.stage-col{grid-column:2;grid-row:1/3;overflow:hidden}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--blue);margin-bottom:16px}
.eyebrow::before{content:"";width:10px;height:10px;background:var(--gold);transform:rotate(45deg)}
h1{font-weight:800;font-size:clamp(2.1rem,5.6vw,4.4rem);line-height:.98;letter-spacing:-.035em;text-wrap:balance}
h1 u{text-decoration:none;background:linear-gradient(transparent 62%,rgba(201,150,58,.55) 62%)}
.lead{margin-top:16px;font-size:1.1rem;max-width:36ch;color:var(--mut)}
.quick{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-top:20px;align-items:stretch}
.tag-price{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:12px 16px;background:#fff;border:1.5px solid var(--ink);box-shadow:5px 5px 0 var(--ink)}
.tag-price strong{font-size:1.45rem;font-weight:800;color:var(--blue);white-space:nowrap}
.quick .btn{min-height:60px}

.picks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.pick{display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 12px 6px 6px;background:#fff;border:1.5px solid var(--ink);font-weight:700;text-align:left;line-height:1.15;transition:transform .15s,box-shadow .15s}
.pick b{display:grid;place-items:center;flex:none;width:36px;height:36px;background:var(--gold);color:var(--ink);font-family:var(--mono)}
.pick:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}
.pick[aria-pressed="true"]{background:var(--blue);color:#fff;border-color:var(--blue)}
.pick[aria-pressed="true"] b{background:#fff;color:var(--blue)}
.more{display:inline-flex;align-items:center;min-height:48px;margin-top:6px;font-weight:700;color:var(--blue)}
.h-b>.mono{display:block;margin-bottom:10px;color:var(--mut)}

/* La scène 3D (CSS pur, sans bibliothèque) */
.stage{position:relative;height:calc(12.6*var(--u));perspective:2200px;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.stage.drag{cursor:grabbing}
.scene{position:absolute;left:50%;top:50%;width:calc(10*var(--u));height:calc(10*var(--u));margin:calc(-3.3*var(--u)) 0 0 calc(-5*var(--u));transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateZ(var(--rz));transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.stage.drag .scene,.stage.drag .mk{transition:none}
.scene>*{position:absolute;display:block;transform-style:preserve-3d}
.floor{inset:0;background:#fff;border:2px solid var(--ink);
  background-image:linear-gradient(rgba(31,59,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(31,59,255,.14) 1px,transparent 1px);background-size:var(--u) var(--u)}
.shadow{inset:0;transform:translateZ(-1px) translate(6%,6%);background:rgba(10,20,64,.14)}
.room{border:1.5px solid var(--ink);font:700 calc(.34*var(--u))/1 var(--mono);letter-spacing:.12em;color:var(--mut);padding:calc(.25*var(--u));display:flex;align-items:flex-end;justify-content:flex-end}
.wall{background:rgba(31,59,255,.10);border:2px solid var(--ink);background-image:linear-gradient(rgba(31,59,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(31,59,255,.18) 1px,transparent 1px);background-size:var(--u) var(--u)}
.stain{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(31,59,255,.75),rgba(31,59,255,.25) 55%,transparent 70%);animation:seep 2.8s ease-in-out infinite}
@keyframes seep{50%{transform:scale(1.25);opacity:.7}}
.f{border:1.5px solid var(--ink);transition:background-color .4s}
.f.top{background:#fff}.f.south{background:#D5DCF6}.f.east{background:#B9C3EE}
.f.on.top{background:#F6D488}.f.on.south{background:#C9963A}.f.on.east{background:#A87A25}
.glass{background:rgba(31,59,255,.16);border:1.5px solid var(--blue)}
.drip{width:calc(.22*var(--u));height:calc(.22*var(--u));border-radius:50%;background:var(--blue);animation:drip 1.4s ease-in infinite}
@keyframes drip{0%{opacity:0;transform:translateZ(calc(1.5*var(--u)))}15%{opacity:1}100%{opacity:1;transform:translateZ(calc(.1*var(--u)))}}
.mk{width:48px;height:48px;margin:-24px 0 0 -24px;padding:0;border:0;background:none;display:grid;place-items:center;font:800 1rem/1 var(--mono);color:var(--ink);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.mk::before{content:"";position:absolute;inset:7px;background:var(--gold);border:2px solid var(--ink);transform:rotate(45deg);box-shadow:3px 3px 0 rgba(10,20,64,.35);transition:background-color .3s}
.mk::after{content:"";position:absolute;inset:7px;border:2px solid var(--gold);transform:rotate(45deg);animation:ping 2.2s ease-out infinite}
@keyframes ping{0%{transform:rotate(45deg) scale(1);opacity:.9}100%{transform:rotate(45deg) scale(2);opacity:0}}
.mk i{position:relative;font-style:normal}
.mk span{position:absolute;left:50%;bottom:calc(100% + 4px);transform:translateX(-50%);white-space:nowrap;padding:5px 10px;background:var(--ink);color:#fff;font:700 .8rem/1.2 var(--font);opacity:0;pointer-events:none;transition:opacity .2s}
.mk:hover span,.mk:focus-visible span,.mk[aria-pressed="true"] span{opacity:1}
.mk[aria-pressed="true"]{color:#fff}
.mk[aria-pressed="true"]::before{background:var(--blue)}
.mk[aria-pressed="true"]::after,[data-stage="2"] .mk::after,[data-stage="3"] .mk::after{animation:none;opacity:0}
.stage-cap{display:flex;justify-content:space-between;gap:12px;color:var(--mut);border-top:1.5px solid var(--ink);padding-top:8px}

.band{border-top:1.5px solid var(--ink);padding-top:44px;padding-bottom:48px}
.band-h{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.band-h .mono{color:var(--blue)}
.band-h h2{font:var(--h2);letter-spacing:-.03em}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}

/* Carte schématique des 8 départements */
.map{display:grid;grid-template-columns:repeat(4,1fr);grid-template-areas:"y v d s" "y h p s" "e e m s";gap:10px;max-width:520px}
.dep{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-height:84px;padding:10px;background:#fff;border:1.5px solid var(--ink);box-shadow:5px 5px 0 var(--ink);text-align:left;font-size:.78rem;font-weight:700;line-height:1.15;transition:transform .12s,box-shadow .12s}
.dep b{font:800 1.8rem/1 var(--mono);color:var(--blue)}
.dep:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink)}
.dep[aria-pressed="true"]{transform:translate(4px,4px);box-shadow:1px 1px 0 var(--ink);background:var(--blue);color:#fff}
.dep[aria-pressed="true"] b{color:#fff}
.d75{grid-area:p;background:#FBF1D9}.d77{grid-area:s}.d78{grid-area:y}.d91{grid-area:e}.d92{grid-area:h}.d93{grid-area:d}.d94{grid-area:m}.d95{grid-area:v}
.map-cap{margin-top:12px;color:var(--mut)}

.fiche{background:#fff;border:1.5px solid var(--ink);box-shadow:8px 8px 0 var(--blue);padding:24px}
.fiche dl{margin:0;display:grid;gap:0}
.fiche dl>div{display:grid;grid-template-columns:8.5em 1fr;gap:12px;padding:14px 0;border-bottom:1.5px dashed var(--ctl);align-items:baseline}
.fiche dt{color:var(--mut)}
.fiche dd{margin:0;font-weight:800;font-size:1.2rem;line-height:1.2}
.fiche dd.p{color:var(--blue);font-size:1.5rem}
.fiche .btn-row{margin-top:20px}

.how li{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:16px 0;border-bottom:1.5px dashed var(--ctl)}
.how li b{font:800 1.6rem/1 var(--mono);color:var(--blue)}
.how li strong{display:block;font-size:1.1rem}
.how li p{color:var(--mut)}
.aides{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}
.aide{display:flex;flex-direction:column;gap:6px;justify-content:space-between;min-height:104px;padding:16px;background:#fff;border:1.5px solid var(--ink);text-decoration:none;font-weight:800;line-height:1.2}
.aide span{color:var(--blue);font-weight:700;text-decoration:underline}
.aide.urgent{border-color:var(--danger);box-shadow:inset 6px 0 0 var(--danger)}
.aide.urgent span{color:var(--danger)}

footer{background:var(--ink);color:#fff;padding:26px 0}
footer .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px}
footer a{display:inline-flex;align-items:center;min-height:48px}
footer .fb{display:flex;align-items:center;gap:10px;margin-right:auto;font-weight:800}
footer .lg-o{fill:#fff}
footer ul{display:flex;flex-wrap:wrap;gap:0 22px}

@media (max-width:900px){
  .top nav{order:5;flex-basis:100%}
  .top nav a{min-height:44px;padding:0 16px 0 0}
  .tel{display:none}
  .hero{grid-template-columns:minmax(0,1fr);padding-top:22px;padding-bottom:32px;gap:18px}
  .h-a,.h-b,.stage-col{grid-column:1;grid-row:auto}
  .lead{margin-top:10px;font-size:1rem}
  .quick{margin-top:14px}
  .tag-price{padding:10px 14px}
  .two{grid-template-columns:minmax(0,1fr);gap:28px}
  .band{padding-top:32px;padding-bottom:36px}
  .aides{grid-template-columns:1fr}
  .aide{min-height:76px}
  .dep{min-height:78px;padding:8px}
  .dep b{font-size:1.5rem}
}

/* ============ Ajouts propres à devis-travaux-renovation.com (même thème que Coupe) ============ */
:root{--u:clamp(19px,5.2vw,36px)}
.brand{line-height:1.05}
.brand small{display:block;margin-top:3px;font:700 .62rem/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.ph{display:inline-block;background:#FFF1CC;border:1.5px dashed #8A6418;padding:0 6px;font:700 .85em/1.5 var(--mono);color:#5C4208}
footer .ph{color:#5C4208}

.quick{grid-template-columns:repeat(3,minmax(0,1fr))}
.quick .wide{grid-column:1/-1}
.quick .btn{padding-left:8px;padding-right:8px}
.telnum{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;color:var(--mut)}
.telnum a{display:inline-flex;align-items:center;min-height:48px;font-size:1.25rem;color:var(--ink);font-weight:700}

/* La maison : 12 x 10 unités, pièces cliquables */
.scene{width:calc(12*var(--u));margin-left:calc(-6*var(--u));margin-top:calc(-2.7*var(--u))}
.stage{height:calc(13.4*var(--u))}
.room{cursor:pointer;transition:background-color .3s}
.room:hover{background:rgba(31,59,255,.10)}
.room.on{background:rgba(31,59,255,.24);color:var(--ink)}
body:not([data-stage="1"]) .mk::after{animation:none;opacity:0}
.pick.all b{background:var(--ink);color:#fff}

.picks.cats{grid-template-columns:1fr 1fr}
.picks.items{grid-template-columns:1fr}
.pick.plain{padding-left:14px}
.pick.plain::before{content:"";width:10px;height:10px;flex:none;background:var(--gold);transform:rotate(45deg);margin-right:4px}
.pick.plain[aria-pressed="true"]::before{background:#fff}
.ctx{margin:-12px 0 16px;color:var(--mut)}
.ctx strong{color:var(--ink)}
.zone{margin-top:14px;color:var(--mut)}
.fiche dl>div{grid-template-columns:7em 1fr}
.fiche .btn-row .btn{flex:1 1 120px}
.how3 li b{min-width:1.4em}

.aides{grid-template-columns:repeat(3,1fr)}
.sk-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}
.sk ul.list{list-style:disc;padding-left:1.2em}
.sk ul.list li{margin-bottom:.3em;font-size:.96rem}

@media (max-width:900px){
  .picks.cats{grid-template-columns:1fr 1fr}
  .aides{grid-template-columns:1fr}
  .telnum a{font-size:1.1rem}
}
@media (max-width:820px){
  body{padding-bottom:84px}
  .dock{grid-template-columns:1.3fr 1fr 1fr}
}
@media (max-width:360px){.picks,.picks.cats{grid-template-columns:1fr}}

/* ============ Pages intérieures ============ */
.top nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.page{padding-top:36px;padding-bottom:64px}
.page h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.02}
.page .lead{max-width:62ch}
.crumb{display:flex;flex-wrap:wrap;gap:4px 10px;margin-bottom:14px;color:var(--mut)}
.crumb a{display:inline-flex;align-items:center;min-height:44px;color:var(--blue)}
.crumb span{display:inline-flex;align-items:center;min-height:44px}
.sec{margin-top:40px}
.sec>h2{font-size:1.5rem;line-height:1.15;letter-spacing:-.02em;margin-bottom:14px}
.sec>p+p{margin-top:12px}
.prose{max-width:68ch}
.prose p{margin-top:12px}
.prose a,.sec a:not(.btn):not(.card){color:var(--blue);font-weight:700}

.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.filters button{min-height:44px;padding:6px 14px;border:1.5px solid var(--ink);border-radius:var(--r);background:#fff;font-weight:700}
.filters button[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:14px;margin-top:20px}
.cards>li{display:flex}
.card{flex:1;display:flex;flex-direction:column;gap:8px;min-height:150px;padding:18px;background:#fff;border:1.5px solid var(--ink);text-decoration:none;transition:transform .15s,box-shadow .15s}
.card:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink)}
.card strong{font-size:1.25rem;line-height:1.15}
.card span{color:var(--mut);font-size:.95rem}
.card em{margin-top:auto;font-style:normal;font-weight:700;color:var(--blue);text-decoration:underline}

.plist{display:grid;gap:8px;max-width:640px}
.plist li{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 14px;background:#fff;border:1.5px solid var(--ink);font-weight:700;line-height:1.2}
.plist li::before{content:"";width:10px;height:10px;flex:none;background:var(--gold);transform:rotate(45deg)}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tag{display:inline-flex;align-items:center;min-height:40px;padding:6px 14px;border-radius:var(--r);border:1.5px solid var(--ctl);background:#fff;font-weight:700;font-size:.92rem}

.cols{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:start;margin-top:28px}
.form{display:grid;gap:16px}
.field label{display:block;font-weight:700;margin-bottom:6px}
.field .hint{display:block;margin-top:6px;color:var(--mut);font-size:.92rem}
textarea{min-height:120px;resize:vertical}
.panel{background:#fff;border:1.5px solid var(--ink);box-shadow:8px 8px 0 var(--blue);padding:24px}
.panel>h2{font-size:1.3rem;margin-bottom:12px}
.panel pre{margin:0 0 18px;padding:14px;background:var(--bg);border:1.5px dashed var(--ctl);font:inherit;font-size:.98rem;white-space:pre-wrap;overflow-wrap:anywhere}
.panel .btn-row .btn{flex:1 1 150px}
.panel .info{margin-top:16px;color:var(--mut);font-size:.95rem}
.status{min-height:1.5em;margin-top:10px;font-weight:700;color:var(--blue)}
.qs{counter-reset:q;display:grid;gap:22px;max-width:720px;margin-top:28px}
.qs>li{counter-increment:q}
.qs label{display:block;font-weight:800;font-size:1.1rem;margin-bottom:4px}
.qs label::before{content:counter(q,decimal-leading-zero) " · ";font-family:var(--mono);color:var(--blue)}
.qs .hint{display:block;margin-bottom:8px;color:var(--mut);font-size:.95rem}
.qs textarea{min-height:84px}
.big-tel{display:inline-flex;align-items:center;min-height:56px;font:800 clamp(1.8rem,6vw,3rem)/1 var(--mono);color:var(--ink)}
.facts{display:grid;gap:0;max-width:640px;margin:0}
.facts>div{display:grid;grid-template-columns:9em 1fr;gap:12px;padding:14px 0;border-bottom:1.5px dashed var(--ctl)}
.facts dt{color:var(--mut)}
.facts dd{margin:0;font-weight:700}
footer ul a,footer>.wrap>a{color:#fff}
@media (max-width:900px){
  .cols{grid-template-columns:minmax(0,1fr);gap:28px}
  .page{padding-top:22px;padding-bottom:44px}
}
@media (max-width:420px){.facts>div{grid-template-columns:1fr;gap:2px}}
