/* Inner pages (service / city / offer pages). Loads after concept.css and reuses its tokens. */
html{scroll-padding-top:calc(var(--hdr) + 16px)}
.hdr .nav a[aria-current=page]{opacity:1}
.hdr .nav a[aria-current=page]::after{transform:scaleX(1)}

/* ---------- page hero ---------- */
.p-hero{position:relative;overflow:hidden;color:#fff;padding:calc(var(--hdr) + 72px) 0 90px;
  background:
   radial-gradient(900px 420px at 15% 110%,rgba(120,190,255,.16),transparent 60%),
   radial-gradient(700px 380px at 90% 10%,rgba(255,91,20,.14),transparent 70%),
   linear-gradient(#0b0d11,#13171d)}
.p-hero .rays{position:absolute;inset:0}
.frost{position:absolute;inset:0;pointer-events:none;opacity:.55;
  background:
   radial-gradient(circle at 20% 30%,rgba(255,255,255,.08) 0 1px,transparent 2px) 0 0/38px 38px,
   radial-gradient(circle at 60% 70%,rgba(200,230,255,.07) 0 1px,transparent 2px) 0 0/57px 57px;
  animation:drift 40s linear infinite}
@keyframes drift{to{background-position:0 600px,0 900px}}
.temp-bg{position:absolute;right:-2vw;top:calc(var(--hdr) + 10px);font:900 clamp(160px,26vw,400px)/.8 Mont,sans-serif;letter-spacing:-.06em;
  color:transparent;-webkit-text-stroke:2px rgba(156,198,255,.16);pointer-events:none;user-select:none}
.p-hero-grid{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
.crumbs{font:600 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#8d949c;margin:0 0 22px}
.crumbs a{color:#c8ccd2;text-decoration:none}.crumbs a:hover{color:var(--hot)}
.p-hero h1{font-size:clamp(48px,7vw,112px);font-weight:900;text-transform:uppercase;letter-spacing:-.035em;line-height:.9}
.p-hero h1 .w{display:block}
.p-hero h1 .ice{color:transparent;-webkit-text-stroke:2px #9cc6ff;text-shadow:0 0 40px rgba(156,198,255,.3)}
.p-hero .lede{max-width:600px}
.p-hero .proof li b{color:#9cc6ff}
.p-hero-photo{margin:0;position:relative;border-radius:26px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 40px 80px -30px #000,0 0 0 1px rgba(255,255,255,.08)}
.p-hero-photo img{width:100%;height:100%;object-fit:cover}
.p-hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(156,198,255,.12),transparent 40%,rgba(10,12,15,.55))}
.p-hero-photo figcaption{position:absolute;z-index:1;left:16px;right:16px;bottom:16px;display:flex;justify-content:space-between;gap:10px;font:600 13px var(--mono);background:rgba(10,12,15,.72);backdrop-filter:blur(8px);padding:10px 14px;border-radius:12px}
.p-hero-photo .tag{color:#9cc6ff}

/* ---------- offer banner ---------- */
.offer{background:var(--hot);color:#111;border-block:2px solid #111;padding:44px 0}
.offer-grid{display:grid;grid-template-columns:auto 1fr auto;gap:36px;align-items:center}
.offer-tag{position:relative;background:#111;color:#fff;border-radius:16px;padding:22px 26px 20px 30px;transform:rotate(-2deg);box-shadow:0 18px 30px -16px rgba(0,0,0,.6)}
.offer-tag::before{content:"";position:absolute;left:10px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:var(--hot)}
.offer-tag .k{font:700 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#ffb48f;margin:0 0 6px}
.price-tbc{display:inline-block;font:900 clamp(34px,4vw,52px)/1 Mont,sans-serif;letter-spacing:-.03em;color:#ffe9c7;border:2px dashed #ffb020;border-radius:10px;padding:6px 10px}
.offer h2{font-size:clamp(28px,3.4vw,46px);font-weight:900;letter-spacing:-.03em}
.offer p{margin:10px 0 0;font-size:17px;max-width:620px}
.offer .btn-hot{background:#111;color:#fff;box-shadow:0 14px 30px -10px rgba(0,0,0,.5)}
.offer .placeholder-note{margin-top:12px}

/* ---------- why winter (cold-o-meter) ---------- */
.why{background:var(--blue);color:#e9f2ff;padding:120px 0}
.why .sec-head h2{color:#fff}.why .sec-head p{color:#9fb4cc}
.coldometer{display:grid;grid-template-columns:120px 1fr;gap:28px;align-items:center;background:#0a1524;border:1px solid rgba(156,198,255,.2);border-radius:var(--r);padding:24px 28px;margin-bottom:28px}
.thermo-read{font:900 54px/1 Mont,sans-serif;letter-spacing:-.04em;color:#fff;text-align:center}
.thermo-read small{display:block;font:700 11px var(--mono);letter-spacing:.14em;color:#7f96b1;margin-top:6px}
.slider-wrap label{display:block;font:700 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#7f96b1;margin-bottom:10px}
.temp{-webkit-appearance:none;appearance:none;width:100%;height:12px;border-radius:12px;background:linear-gradient(90deg,#ff7a3d,#ffd2a8 30%,#cfe4ff 55%,#5aa7ff 80%,#2a5fd6);outline:none;cursor:pointer}
.temp::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;background:#fff;border:4px solid var(--hot);box-shadow:0 4px 12px rgba(0,0,0,.4)}
.temp::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:4px solid var(--hot)}
.temp:focus-visible{outline:3px solid var(--hot);outline-offset:6px}
.temp-scale{display:flex;justify-content:space-between;font:600 11px var(--mono);color:#7f96b1;margin-top:8px}
.temp-say{margin:14px 0 0;color:#c4d4e8;min-height:3em}
.temp-say b{color:#fff}
.strain{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.strain article{background:var(--blue2);border:1px solid rgba(156,198,255,.2);border-radius:var(--r);padding:26px;transition:border-color .3s,box-shadow .3s}
.strain article.hot-on{border-color:#ff6b5f;box-shadow:0 0 0 1px #ff6b5f,0 20px 40px -20px rgba(255,59,47,.5)}
.strain h3{font-size:24px;color:#fff;margin:0 0 10px}
.strain p{margin:0;color:#c4d4e8}
.strain .lbl{font:700 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#7f96b1;margin:18px 0 6px}
.strain .meter span{transition:background .3s,box-shadow .3s}
.strain .meter[data-l="1"] span:nth-child(1),.strain .meter[data-l="2"] span:nth-child(-n+2){background:#ffb020}
.strain .meter[data-l="3"] span{background:#ff3b2f;box-shadow:0 0 12px rgba(255,59,47,.6)}

/* ---------- what's included ---------- */
.included{background:var(--concrete);padding:120px 0}
.inc-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:44px;align-items:start}
.checklist{list-style:none;padding:0;margin:0;counter-reset:c;display:grid;gap:12px}
.checklist li{position:relative;display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start;background:#fff;border-radius:16px;padding:18px 20px;box-shadow:0 14px 30px -24px rgba(0,0,0,.4);border:1px solid #e3ded4}
.checklist .box{width:34px;height:34px;border-radius:9px;border:2px solid #cfcac0;display:grid;place-items:center;transition:background .35s,border-color .35s}
.checklist .box svg{width:20px;height:20px;stroke:#111;stroke-width:3;fill:none;stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .45s .15s}
.checklist li.done .box{background:var(--hot);border-color:var(--hot)}
.checklist li.done .box svg{stroke-dashoffset:0}
.checklist h3{font-size:19px;margin:4px 0 6px;letter-spacing:-.01em}
.checklist p{margin:0;color:var(--muted);font-size:15px}
.inc-side{position:sticky;top:calc(var(--hdr) + 24px)}
.inc-side figure{margin:0 0 18px;border-radius:20px;overflow:hidden;aspect-ratio:3/4;box-shadow:0 30px 60px -30px rgba(0,0,0,.4)}
.inc-side img{width:100%;height:100%;object-fit:cover}
.inc-count{font:900 64px/1 Mont,sans-serif;letter-spacing:-.04em;margin:0}
.inc-count small{font:700 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:block;margin-top:6px}

/* ---------- signs ---------- */
.signs{background:var(--ink);color:#fff;padding:110px 0}
.sign-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.sign-cards article{background:var(--ink2);border:1px solid rgba(255,255,255,.08);border-radius:var(--r);padding:30px;position:relative;overflow:hidden}
.sign-cards .ico{width:52px;height:52px;border-radius:50%;background:var(--hot);color:#111;display:grid;place-items:center;margin-bottom:18px}
.sign-cards .ico svg{width:26px;height:26px}
.sign-cards h3{font-size:24px;margin-bottom:10px}
.sign-cards p{color:#a9b0b8;margin:0}
.sign-cards .wave{position:absolute;right:-20px;top:20px;width:140px;height:60px;opacity:.18}
.alert{display:flex;gap:18px;align-items:center;flex-wrap:wrap;justify-content:space-between;margin-top:28px;background:rgba(255,59,47,.12);border:1px solid rgba(255,59,47,.5);border-left:5px solid #ff3b2f;border-radius:14px;padding:20px 24px}
.alert p{margin:0;color:#ffd9d4;max-width:760px}
.alert b{color:#fff}
.alert .btn-line{color:#fff}

/* ---------- booking form ---------- */
.book{background:var(--concrete);padding:120px 0}
.book .q-grid{grid-template-columns:.9fr 1.1fr}
.call-card{background:var(--ink);color:#fff;border-radius:22px;padding:26px;margin-top:26px}
.call-card .k{font:700 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#ffb48f;margin:0 0 10px;display:flex;gap:8px;align-items:center}
.call-card .num{display:block;font:900 clamp(30px,3.4vw,44px)/1 Mont,sans-serif;letter-spacing:-.03em;color:#fff;text-decoration:none;margin-bottom:16px}
.call-card ul{list-style:none;padding:0;margin:0;display:grid;gap:6px;color:#a9b0b8;font-size:15px}
.call-card li::before{content:"✓";color:var(--hot);font-weight:900;margin-right:8px}
.tform{background:#fff;border-radius:24px;padding:34px;box-shadow:0 30px 60px -30px rgba(0,0,0,.3)}
.tform .row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.tform .fl input,.tform .fl select,.tform .fl textarea{width:100%;font:500 17px Inter,sans-serif;padding:14px 16px;border-radius:12px;border:2px solid #e3ded4;background:#faf8f4;color:var(--text)}
.tform .fl textarea{min-height:110px;resize:vertical}
.tform .fl select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#5b6168 50%),linear-gradient(135deg,#5b6168 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.tform .fl :is(input,select,textarea):focus{border-color:var(--hot);outline:none}
.tform .fl [aria-invalid=true]{border-color:#b3261e}
.tform .req{color:var(--hot)}
.tform .opt{color:#9aa0a6;text-transform:none;letter-spacing:0;font-family:Inter,sans-serif}
.tform legend{font:900 28px Mont,sans-serif;letter-spacing:-.02em;margin-bottom:6px;padding:0}
.tform fieldset{border:0;padding:0;margin:0}
.tform .sub{color:var(--muted);margin:0 0 20px}
.tform .btn-hot{width:100%;margin-top:6px}
.tform .btn-hot[disabled]{opacity:.6;cursor:progress;transform:none}
.form-status{margin:14px 0 0;font-weight:600}
.form-status.ok{color:#1c7a3c}.form-status.bad{color:#b3261e}
.form-done{text-align:center;padding:30px 0}
.form-done .big{font:900 44px Mont,sans-serif;margin:0 0 10px}

/* ---------- FAQ ---------- */
.faq{background:var(--concrete2);padding:110px 0}
.faq-list{max-width:880px;display:grid;gap:12px}
.faq details{background:#fff;border-radius:16px;border:1px solid #e3ded4;box-shadow:0 14px 30px -26px rgba(0,0,0,.4);overflow:hidden}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:22px 24px;font:800 20px Mont,sans-serif;letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font:700 20px/1 Inter,sans-serif;transition:transform .3s,background .3s}
.faq details[open] summary::after{transform:rotate(45deg);background:var(--hot);color:#111}
.faq .ans{padding:0 24px 22px;color:#33383e}
.faq .ans p{margin:0}
.related{margin-top:56px}
.related h3{font:700 13px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.related ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.related a{display:inline-block;text-decoration:none;font-weight:600;font-size:15px;padding:10px 16px;border-radius:999px;border:2px solid #14171b;transition:.2s}
.related a:hover{background:#14171b;color:#fff}

/* ---------- footer additions ---------- */
.ftr-grid.big{grid-template-columns:1.3fr 1fr 1fr 1.2fr}
.ftr h3{font:700 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#6c737b;margin:0 0 12px}
.ftr ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.ftr .cities{display:flex;flex-wrap:wrap;gap:4px 12px}
.nap[data-placeholder]{display:inline-block;border:1px dashed #d98a1c;color:#ffcf8a;padding:4px 8px;border-radius:6px;font:600 12px var(--mono)}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translate3d(0,40px,0);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.no-js .rv{opacity:1;transform:none}

@media (max-width:980px){
  .p-hero-grid,.inc-grid,.book .q-grid{grid-template-columns:1fr}
  .p-hero-photo{aspect-ratio:16/10}
  .offer-grid{grid-template-columns:1fr;gap:22px}
  .offer-tag{justify-self:start}
  .strain,.sign-cards{grid-template-columns:1fr}
  .inc-side{position:static;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}
  .inc-side figure{aspect-ratio:4/3;margin:0}
  .ftr-grid.big{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .p-hero{padding:calc(var(--hdr) + 40px) 0 64px}
  .p-hero h1{font-size:clamp(44px,13.5vw,64px)}
  .p-hero-photo{display:none}
  .temp-bg{font-size:180px;top:auto;bottom:-10px;right:-20px}
  .why,.included,.signs,.book,.faq{padding:80px 0}
  .coldometer{grid-template-columns:1fr;gap:12px;padding:20px}
  .thermo-read{text-align:left}
  .tform{padding:24px 20px}
  .tform .row{grid-template-columns:1fr}
  .inc-side{grid-template-columns:1fr}
  .faq summary{font-size:17px;padding:18px}
  .ftr-grid.big{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none}
  .frost{animation:none}
}

/* SEO merge Oct 27: 4 "signs" cards on the tune-up page, links inside the yellow final band */
.sign-cards.four{grid-template-columns:repeat(2,1fr)}
@media (max-width:980px){.sign-cards.four{grid-template-columns:1fr}}
.final p a{color:#111;text-decoration:underline;font-weight:700}
