@font-face{font-family:"Anton";src:url(fonts/anton.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Archivo";src:url(fonts/archivo.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}

:root{
  --stone:#ebe5da;
  --stone-2:#ddd5c6;
  --stone-3:#cfc5b3;
  --ink:#131417;
  --ink-2:#2a2c31;
  --muted:#5d5a53;
  --red:#c4252f;
  --blue:#23409a;
  --sky:#6f9fd6;
  --paper:#f6f2ea;
  --display:"Anton","Impact","Arial Narrow",sans-serif;
  --text:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --pad:clamp(1.15rem,4.2vw,3.5rem);
  --max:1240px;
  --ease:cubic-bezier(.2,.75,.15,1);
  --pole:repeating-linear-gradient(-55deg,var(--red) 0 9px,var(--paper) 9px 15px,var(--blue) 15px 24px,var(--paper) 24px 30px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem}
body{margin:0;background:var(--stone);color:var(--ink);font-family:var(--text);font-size:1.0625rem;line-height:1.55;font-stretch:96%}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:2px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:1rem;top:-4rem;z-index:100;background:var(--ink);color:var(--paper);padding:.7rem 1rem;text-decoration:none}
.skip:focus{top:1rem}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}

/* ---------- Pole rhythm ---------- */
.pole{height:10px;background:var(--pole);background-size:200px 10px;border-block:2px solid var(--ink);animation:pole 9s linear infinite}
.pole--thin{height:6px;border-width:1px}
@keyframes pole{to{background-position:200px 0}}

/* ---------- Header ---------- */
.top{position:fixed;inset:0 0 auto 0;z-index:40;display:flex;align-items:center;gap:.75rem;padding:.7rem var(--pad);transition:background .35s var(--ease),box-shadow .35s var(--ease),color .35s}
.top.is-solid{background:rgba(235,229,218,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(19,20,23,.12)}
.brand{display:flex;align-items:baseline;gap:.45rem;text-decoration:none;margin-right:auto;line-height:1}
.brand b{font-family:var(--display);font-weight:400;font-size:1.9rem;letter-spacing:.01em}
.brand span{font-family:var(--display);font-size:.95rem;letter-spacing:.22em;text-transform:uppercase}
.top .lang{font-weight:650;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:.5rem .4rem}
.top .lang:hover{text-decoration:underline;text-underline-offset:4px}
.burger{appearance:none;border:2px solid var(--ink);background:var(--paper);color:var(--ink);width:3rem;height:3rem;border-radius:50%;display:grid;place-items:center;cursor:pointer;transition:transform .3s var(--ease)}
.burger:hover{transform:rotate(-8deg)}
.burger svg line{transition:transform .35s var(--ease),opacity .2s;transform-origin:center}
.burger[aria-expanded="true"] .l1{transform:translateY(5px) rotate(45deg)}
.burger[aria-expanded="true"] .l2{opacity:0}
.burger[aria-expanded="true"] .l3{transform:translateY(-5px) rotate(-45deg)}

/* ---------- Drawn CTA: a little barber pole capsule ---------- */
.cta{--h:3.4rem;position:relative;display:inline-flex;align-items:center;gap:.9rem;height:var(--h);padding:0 1.5rem 0 .45rem;background:var(--ink);color:var(--paper);border:2px solid var(--ink);border-radius:999px;text-decoration:none;font-family:var(--display);font-size:1.25rem;letter-spacing:.07em;text-transform:uppercase;box-shadow:5px 5px 0 var(--red);transition:transform .25s var(--ease),box-shadow .25s var(--ease);cursor:pointer;white-space:nowrap}
.cta .cap{width:calc(var(--h) - .9rem);height:calc(var(--h) - .9rem);border-radius:50%;background:var(--pole);background-size:60px 60px;border:2px solid var(--paper);flex:none;animation:pole 2.6s linear infinite paused}
.cta:hover,.cta:focus-visible{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--blue)}
.cta:hover .cap,.cta:focus-visible .cap{animation-play-state:running}
.cta:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--red)}
.cta--small{--h:2.85rem;font-size:1.02rem;gap:.6rem;padding-right:1.05rem;box-shadow:3px 3px 0 var(--red)}
.cta--light{background:var(--paper);color:var(--ink)}
.cta--light .cap{border-color:var(--ink)}
.link{font-weight:650;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;text-decoration-color:var(--red)}
.link:hover{text-decoration-color:var(--blue)}

/* ---------- Menu panel ---------- */
.menu{position:fixed;inset:0;z-index:60;display:grid;grid-template-columns:1fr;background:var(--ink);color:var(--paper);visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .55s var(--ease),visibility 0s .55s}
.menu.is-open{visibility:visible;clip-path:inset(0 0 0 0);transition:clip-path .55s var(--ease)}
.menu::before{content:"";position:absolute;inset:0 auto 0 0;width:14px;background:var(--pole);background-size:60px 60px}
.menu__in{display:flex;flex-direction:column;justify-content:space-between;padding:1.1rem var(--pad) 2rem calc(var(--pad) + 14px);min-height:100%;overflow:auto}
.menu__head{display:flex;align-items:center;justify-content:space-between}
.menu__head .brand{color:var(--paper)}
.menu .burger{background:transparent;border-color:var(--paper);color:var(--paper)}
.menu nav ol{list-style:none;margin:2rem 0;padding:0;counter-reset:m}
.menu nav li{counter-increment:m;border-bottom:1px solid rgba(246,242,234,.18);overflow:hidden}
.menu nav a{display:flex;align-items:baseline;gap:1rem;padding:.5rem 0;text-decoration:none;font-family:var(--display);font-size:clamp(2.8rem,10vw,6.5rem);line-height:1.05;text-transform:uppercase;transform:translateY(105%);transition:transform .6s var(--ease),color .2s}
.menu nav a::before{content:"0" counter(m);font-family:var(--text);font-size:.85rem;letter-spacing:.1em;color:var(--sky)}
.menu.is-open nav a{transform:none}
.menu.is-open nav li:nth-child(2) a{transition-delay:.06s}
.menu.is-open nav li:nth-child(3) a{transition-delay:.12s}
.menu.is-open nav li:nth-child(4) a{transition-delay:.18s}
.menu nav a:hover,.menu nav a[aria-current="page"]{color:var(--sky)}
.menu__foot{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));font-size:.95rem;color:rgba(246,242,234,.78)}
.menu__foot p{margin:0}
.menu__foot strong{display:block;color:var(--paper);font-family:var(--display);font-weight:400;letter-spacing:.06em;text-transform:uppercase;font-size:1rem;margin-bottom:.2rem}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:100svh;overflow:hidden;color:var(--ink);isolation:isolate}
.hero picture,.hero img{position:absolute;inset:0;width:100%;height:100%}
.hero img{object-fit:cover;object-position:50% 38%;z-index:-2;transform:scale(1.04);animation:settle 2.4s var(--ease) forwards}
@keyframes settle{to{transform:scale(1)}}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(235,229,218,.5) 0,rgba(235,229,218,0) 7rem),radial-gradient(ellipse 60% 45% at 12% 92%,rgba(235,229,218,.82),rgba(235,229,218,0) 75%)}
.hero__in{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;gap:2rem;padding:6.2rem var(--pad) 2.6rem;max-width:1600px}
.hero__where{font-weight:700;font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;margin:0;mix-blend-mode:multiply}
.hero h1{margin:1.4rem 0 0;font-family:var(--display);font-weight:400;line-height:.84;text-transform:uppercase;font-size:clamp(5rem,15.5vw,15rem);letter-spacing:-.005em;color:rgba(17,18,22,.9);mix-blend-mode:multiply;max-width:58vw}
.hero h1 span{display:block;font-size:.42em;letter-spacing:.32em;line-height:1.1;margin-top:.12em}
.hero__foot{display:grid;gap:1.5rem;max-width:36rem}
.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.8rem}
.hero__lead{margin:0;font-size:clamp(1.1rem,1.5vw,1.35rem);font-weight:520;line-height:1.4;color:rgba(17,18,22,.92);mix-blend-mode:multiply;max-width:30rem}
.hero .reveal-in{opacity:0;transform:translateY(18px);animation:rise .9s var(--ease) forwards}
.hero .d1{animation-delay:.15s}.hero .d2{animation-delay:.35s}.hero .d3{animation-delay:.55s}
@keyframes rise{to{opacity:1;transform:none}}

/* ---------- Sections ---------- */
.sec{padding:clamp(3.5rem,8vw,7rem) 0}
.kicker{display:inline-block;font-weight:700;font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:var(--blue);margin:0 0 .9rem}
.h2{font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:.92;font-size:clamp(2.6rem,6.4vw,5.6rem);margin:0 0 1.2rem;letter-spacing:.005em}
.lede{font-size:clamp(1.05rem,1.4vw,1.25rem);max-width:38rem;color:var(--ink-2);margin:0 0 1.5rem}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
.split{display:grid;gap:2.5rem;grid-template-columns:1fr}
@media (min-width:900px){.split{grid-template-columns:1fr 1.15fr;align-items:start;gap:4rem}}

/* ---------- Next free chairs ---------- */
.next{background:var(--paper);border-bottom:2px solid var(--ink)}
.next .wrap{padding-block:clamp(2.5rem,6vw,4.5rem)}
.next__grid{display:grid;gap:2rem}
@media (min-width:960px){.next__grid{grid-template-columns:.9fr 1.3fr;gap:4rem;align-items:start}}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;padding:0;border:0}
.chips legend{font-weight:700;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.55rem;color:var(--muted);padding:0}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.chip span{display:inline-block;padding:.55rem 1rem;border:2px solid var(--ink);border-radius:999px;font-weight:620;font-size:.95rem;background:transparent;transition:background .2s,color .2s}
.chip input:checked+span{background:var(--ink);color:var(--paper)}
.chip input:focus-visible+span{outline:3px solid var(--blue);outline-offset:2px}
.slots-now{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.6rem;margin:0;padding:0;list-style:none;min-height:7.5rem}
.slots-now a{display:flex;flex-direction:column;gap:.1rem;padding:.75rem .9rem;border:2px solid var(--ink);border-radius:14px;text-decoration:none;background:var(--stone);transition:transform .2s var(--ease),background .2s,box-shadow .2s}
.slots-now a:hover,.slots-now a:focus-visible{transform:translateY(-3px);background:var(--paper);box-shadow:4px 4px 0 var(--blue)}
.slots-now small{font-size:.78rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.slots-now strong{font-family:var(--display);font-weight:400;font-size:1.9rem;line-height:1}
.slots-now .who{font-size:.82rem;color:var(--muted)}
.slots-msg{color:var(--muted);margin:.4rem 0 0}
.skeleton{border-radius:14px;background:linear-gradient(90deg,var(--stone-2),var(--stone),var(--stone-2));background-size:200% 100%;animation:shimmer 1.3s linear infinite;height:5.2rem}
@keyframes shimmer{to{background-position:-200% 0}}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ink);border:2px solid var(--ink);margin-top:1.6rem}
.facts div{background:var(--paper);padding:.9rem}
.facts strong{display:block;font-family:var(--display);font-weight:400;font-size:1.5rem;line-height:1.05;text-transform:uppercase}
.facts span{font-size:.85rem;color:var(--muted)}
@media (max-width:560px){.facts{grid-template-columns:1fr}.facts div{display:flex;gap:.8rem;align-items:baseline}}

/* ---------- Vitrine price board ---------- */
.board{background:var(--ink);color:var(--paper);border-radius:22px;padding:clamp(1.4rem,4vw,3rem);box-shadow:inset 0 0 0 2px var(--ink),inset 0 0 0 6px rgba(246,242,234,.85),inset 0 0 0 9px var(--ink);position:relative}
.board h3{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.14em;font-size:1rem;color:var(--sky);margin:1.6rem 0 .3rem}
.board h3:first-child{margin-top:0}
.board ul{list-style:none;margin:0;padding:0}
.row{display:block}
.row a{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:.6rem;padding:.55rem 0;text-decoration:none;color:inherit}
.row__name{font-family:var(--display);font-weight:400;font-size:clamp(1.25rem,2.4vw,1.75rem);text-transform:uppercase;letter-spacing:.02em;line-height:1.1}
.row__dots{border-bottom:3px dotted rgba(246,242,234,.55);transform:translateY(-.35rem);min-width:1.2rem}
.row__price{font-family:var(--display);font-weight:400;font-size:clamp(2rem,4.2vw,3.1rem);line-height:.9;font-variant-numeric:tabular-nums}
.row__meta{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.2rem 1rem;font-size:.9rem;color:rgba(246,242,234,.72);margin-top:-.15rem}
.row__book{font-weight:700;color:var(--paper);text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:4px}
.row a:hover .row__name,.row a:focus-visible .row__name{color:var(--sky)}
.row a:hover .row__dots{border-color:var(--sky)}
.price-note{font-size:.9rem;color:var(--muted);margin:1rem 0 0;max-width:46rem;padding-left:.9rem;border-left:3px solid var(--red)}
.board .price-note{color:rgba(246,242,234,.72)}

/* ---------- Photos ---------- */
.shots{display:grid;gap:clamp(.8rem,2vw,1.4rem);grid-template-columns:repeat(6,1fr)}
.shot{margin:0;position:relative}
.shot img{width:100%;height:100%;object-fit:cover;border-radius:6px}
.shot figcaption{font-size:.85rem;color:var(--muted);margin-top:.5rem}
.shot--a{grid-column:span 3}
.shot--b{grid-column:span 3;margin-top:4rem}
.shot--c{grid-column:2/span 4}
@media (min-width:900px){.shot--a{grid-column:1/span 3}.shot--b{grid-column:4/span 2}.shot--c{grid-column:6/span 1;align-self:end}}
@media (max-width:640px){.shot--a,.shot--b,.shot--c{grid-column:1/-1;margin-top:0}}

/* ---------- Reviews ---------- */
.score{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}
.score strong{font-family:var(--display);font-weight:400;font-size:clamp(4rem,10vw,7.5rem);line-height:.85}
.quotes{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}
.quote{margin:0;background:var(--paper);border:2px solid var(--ink);border-radius:18px;padding:1.4rem 1.4rem 1.2rem;display:flex;flex-direction:column;gap:1rem}
.quote blockquote{margin:0;font-size:1.12rem;line-height:1.45;font-weight:500}
.quote figcaption{font-size:.88rem;color:var(--muted);margin-top:auto}
.quote .tr{font-size:.92rem;color:var(--ink-2);margin:0;border-top:1px dashed var(--stone-3);padding-top:.7rem}

/* ---------- Practical ---------- */
.info{background:var(--ink);color:var(--paper)}
.info .kicker{color:var(--sky)}
.hours{width:100%;border-collapse:collapse;font-size:1.02rem}
.hours th,.hours td{padding:.62rem 0;border-bottom:1px solid rgba(246,242,234,.16);text-align:left;font-weight:500}
.hours td{text-align:right;font-variant-numeric:tabular-nums}
.hours tr.is-today th,.hours tr.is-today td{color:var(--sky);font-weight:700}
.addr{font-family:var(--display);font-weight:400;font-size:clamp(2rem,4.5vw,3.4rem);line-height:.98;text-transform:uppercase;margin:0 0 1.2rem}
.info .link{text-decoration-color:var(--sky)}
.phone{margin-top:2rem;font-size:.98rem;color:rgba(246,242,234,.75)}
.phone a{color:var(--paper);font-weight:650}
.steps3{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));margin:0;padding:0;list-style:none;counter-reset:s}
.steps3 li{counter-increment:s;border-top:2px solid var(--ink);padding-top:.9rem}
.steps3 li::before{content:counter(s);font-family:var(--display);font-size:2.6rem;line-height:1;display:block;color:var(--red)}
.steps3 strong{display:block;font-size:1.08rem}

/* ---------- Page head (inner pages) ---------- */
.phead{padding:8rem 0 2.5rem;position:relative}
.phead h1{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(3.6rem,12vw,10.5rem);line-height:.86;margin:0}
.phead p{max-width:36rem;font-size:1.15rem;margin:1.2rem 0 0}
.tarifs{display:grid;gap:2.5rem}
@media (min-width:1000px){.tarifs{grid-template-columns:1.6fr 1fr;align-items:start}.tarifs aside{position:sticky;top:6rem}}

/* ---------- Footer ---------- */
.foot{background:var(--stone-2);padding:3rem 0 2rem;font-size:.95rem}
.foot__grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}
.foot .brand b{font-size:2.6rem}
.foot nav ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.foot h2{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;margin:0 0 .6rem;color:var(--muted)}
.foot p{margin:0 0 .4rem}
.credit{margin-top:2.4rem;padding-top:1.1rem;border-top:1px solid rgba(19,20,23,.16);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;font-size:.8rem;color:var(--muted)}
.credit [data-demo-credit]{letter-spacing:.02em}

/* ---------- Booking ---------- */
.bk{padding:5.4rem 0 0;min-height:100svh}
.bk__grid{display:grid;gap:2rem;grid-template-columns:1fr;padding-bottom:7rem}
@media (min-width:980px){.bk__grid{grid-template-columns:1.6fr 1fr;align-items:start;gap:3rem;padding-bottom:3rem}.bk__aside{position:sticky;top:6rem}}
.bk h1{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(2.3rem,6vw,4.5rem);line-height:.9;margin:0 0 .3rem}
.progress{display:flex;gap:.35rem;list-style:none;padding:0;margin:.9rem 0 1.2rem}
.progress li{flex:1;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:.45rem;border-top:4px solid var(--stone-3)}
.progress li.is-done{border-color:var(--ink);color:var(--ink)}
.progress li.is-current{border-image:var(--pole) 1;color:var(--ink)}
.stage[hidden]{display:none}
.stage h2{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:1.7rem;margin:0 0 .8rem;letter-spacing:.02em}
.svc-list{display:grid;gap:.5rem;grid-template-columns:1fr}
@media (min-width:640px){.svc-list{grid-template-columns:1fr 1fr}}
.svc-group{grid-column:1/-1;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin:.6rem 0 0}
.opt{appearance:none;display:grid;grid-template-columns:1fr auto;gap:.1rem .8rem;align-items:baseline;text-align:left;width:100%;padding:.75rem 1rem;border:2px solid var(--ink);border-radius:14px;background:var(--paper);color:var(--ink);font:inherit;cursor:pointer;transition:background .15s,color .15s,transform .15s}
.opt:hover{transform:translateY(-1px)}
.opt b{font-family:var(--display);font-weight:400;font-size:1.2rem;text-transform:uppercase;letter-spacing:.02em;line-height:1.1}
.opt .p{font-family:var(--display);font-size:1.5rem;line-height:1}
.opt small{grid-column:1/-1;color:var(--muted);font-size:.85rem}
.opt[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.opt[aria-pressed="true"] small{color:rgba(246,242,234,.75)}
.days{display:flex;gap:.45rem;overflow-x:auto;padding:.2rem .1rem .7rem;margin:0 0 .6rem;scroll-snap-type:x mandatory;scrollbar-width:thin}
.day{appearance:none;flex:none;scroll-snap-align:start;width:4.3rem;padding:.5rem 0;border:2px solid var(--ink);border-radius:12px;background:var(--paper);color:var(--ink);font:inherit;cursor:pointer;display:grid;justify-items:center;line-height:1.1}
.day small{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.day b{font-family:var(--display);font-weight:400;font-size:1.55rem}
.day[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.day:disabled{opacity:.35;cursor:not-allowed;border-style:dashed}
.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem;min-height:6.4rem}
@media (min-width:640px){.slots{grid-template-columns:repeat(6,1fr)}}
.slot{appearance:none;border:2px solid var(--ink);border-radius:10px;background:var(--paper);color:var(--ink);font:inherit;font-weight:700;padding:.55rem 0;cursor:pointer;font-variant-numeric:tabular-nums}
.slot[aria-pressed="true"]{background:var(--red);border-color:var(--red);color:var(--paper)}
.pager{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.6rem;font-size:.88rem;color:var(--muted)}
.pager button{appearance:none;border:0;background:none;font:inherit;font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:.4rem}
.pager button:disabled{opacity:.3;cursor:default}
.field{display:grid;gap:.3rem;margin-bottom:.75rem}
.field label{font-weight:650;font-size:.92rem}
.field input{font:inherit;padding:.75rem .9rem;border:2px solid var(--ink);border-radius:12px;background:var(--paper);color:var(--ink);width:100%}
.field input:focus{outline:3px solid var(--blue);outline-offset:1px}
.field input[aria-invalid="true"]{border-color:var(--red)}
.field .err{color:var(--red);font-size:.85rem;font-weight:600}
.fields2{display:grid;gap:0 .8rem}
@media (min-width:640px){.fields2{grid-template-columns:1fr 1fr}}
.pay{display:grid;gap:.5rem;border:0;margin:.4rem 0 0;padding:0}
.pay legend{font-weight:650;font-size:.92rem;margin-bottom:.4rem;padding:0}
.pay label{display:grid;grid-template-columns:auto 1fr;gap:.1rem .7rem;align-items:start;padding:.7rem .9rem;border:2px solid var(--ink);border-radius:12px;background:var(--paper);cursor:pointer}
.pay input{margin:.25rem 0 0;accent-color:var(--red);width:1.1rem;height:1.1rem}
.pay small{grid-column:2;color:var(--muted);font-size:.85rem}
.pay label:has(input:checked){box-shadow:4px 4px 0 var(--blue)}
.alert{border:2px solid var(--red);background:#f7e3e0;border-radius:12px;padding:.75rem 1rem;margin:0 0 1rem;font-weight:550}
.alert[hidden]{display:none}
.bar{position:fixed;inset:auto 0 0 0;z-index:30;background:rgba(246,242,234,.97);border-top:2px solid var(--ink);padding:.7rem var(--pad) calc(.7rem + env(safe-area-inset-bottom));display:flex;align-items:center;gap:.8rem;backdrop-filter:blur(8px)}
.bar__sum{flex:1;min-width:0;font-size:.85rem;line-height:1.25}
.bar__sum b{display:block;font-size:.92rem;line-height:1.15}
.back{appearance:none;border:2px solid var(--ink);background:transparent;color:var(--ink);border-radius:999px;height:2.85rem;padding:0 1rem;font:inherit;font-weight:700;cursor:pointer}
.back[hidden]{display:none}
.cta:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
@media (min-width:980px){.bar{position:static;background:none;border:0;padding:1.4rem 0 0;backdrop-filter:none}}
.summary{background:var(--ink);color:var(--paper);border-radius:20px;padding:1.4rem}
.summary h2{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:1.3rem;letter-spacing:.06em;margin:0 0 .8rem;color:var(--sky)}
.summary dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.45rem 1rem}
.summary dt{color:rgba(246,242,234,.65);font-size:.88rem}
.summary dd{margin:0;font-weight:620;text-align:right}
.summary .price-note{color:rgba(246,242,234,.7)}
.promise{list-style:none;padding:0;margin:1.2rem 0 0;font-size:.9rem;display:grid;gap:.45rem;color:var(--ink-2)}
.promise li{padding-left:1.1rem;position:relative}
.promise li::before{content:"";position:absolute;left:0;top:.55em;width:.5rem;height:.5rem;border-radius:50%;background:var(--red)}
.done{background:var(--paper);border:2px solid var(--ink);border-radius:22px;padding:clamp(1.4rem,4vw,2.4rem);position:relative;overflow:hidden}
.done::before{content:"";position:absolute;inset:0 0 auto 0;height:10px;background:var(--pole);background-size:60px 60px}
.done h2{font-size:clamp(2rem,6vw,3.2rem);line-height:.95}
.loading{color:var(--muted);font-weight:600}
@media (max-width:979px){
  .bk__aside{display:none}
  .bk{padding-top:4.6rem}
  .bk h1{font-size:2rem}
  .bk .lede{display:none}
  .progress{margin:.5rem 0 .8rem}
}

@media (max-width:700px){
  body{font-size:1rem}
  .top{padding:.55rem var(--pad)}
  .brand span{display:none}
  .top .cta--small .cap{display:none}
  .top .cta--small{padding:0 1rem}
  .hero img{object-position:50% 40%}
  .hero::after{background:linear-gradient(180deg,rgba(235,229,218,0) 45%,rgba(235,229,218,.78) 78%,rgba(235,229,218,.94) 100%)}
  .hero__in{justify-content:flex-end;gap:1.1rem;padding:5rem var(--pad) 1.6rem}
  .hero h1{font-size:clamp(3.4rem,17vw,5.2rem);max-width:none}
  .hero__foot{gap:1rem}
  .hero__lead{font-size:1.02rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
  .hero .reveal-in{opacity:1;transform:none}
  .menu nav a{transform:none}
}
.cta[hidden],.bar[hidden]{display:none}
@media (max-width:979px){.bar__sum{font-size:.78rem}.field{margin-bottom:.5rem}.field input{padding:.6rem .8rem}.pay label{padding:.55rem .8rem}.svc-list{padding-bottom:1rem}}
.bk__grid>*,.bk form{min-width:0}
