/* Design tokens (design review, Oct 2026): shadows 3/3 + 6/6, radii 999/20/12, type 64/40/22/16, 96px section rhythm. */
:root{--sh-sm:3px 3px 0 #1a1a1a;--sh-lg:6px 6px 0 #1a1a1a;--sh-lg-y:6px 6px 0 var(--y,#FFD84D);--r-pill:999px;--r-card:20px;--r-in:12px;--r:20px;
 --fs-h1:clamp(2.4rem,7vw,4rem);--fs-h2:clamp(1.8rem,4.5vw,2.5rem);--fs-h3:1.375rem;--gap-sec:96px}
.hero h1{font-size:var(--fs-h1)}section>.wrap>h2{font-size:var(--fs-h2)}section .card h3{font-size:var(--fs-h3)}
.btn{border-radius:var(--r-pill)}.btn-y{background:var(--y,#FFD84D);color:var(--on-y,#1a1a1a);border:3px solid #1a1a1a;box-shadow:var(--sh-sm)}
.card{border-radius:var(--r-card);box-shadow:var(--sh-lg)}.card.soft{box-shadow:none}
input,select,textarea,.msg{border-radius:var(--r-in)}
.tm-card{border-radius:var(--r-card);box-shadow:var(--sh-lg)}.tm-seg,.tm-eta{box-shadow:var(--sh-sm)}.tm-eta{border-radius:var(--r-in)}
.newin,.tm-chip,.login,.pill{border-radius:var(--r-pill)}
section{padding:calc(var(--gap-sec)/2) 0}section+section{padding-top:calc(var(--gap-sec)/2)}
@media(min-width:760px){section{padding:calc(var(--gap-sec)/2) 0}}
.co{margin-top:calc(var(--gap-sec)/2)}.co .card{border-color:var(--y,#FFD84D);box-shadow:var(--sh-lg-y)}.co{padding:64px 0}
/* hero logo: same PNG, hard offset shadow instead of blurred one */
.hero-art img{filter:drop-shadow(6px 6px 0 #1a1a1a)}
/* FAQ */
.faq details{border:3px solid #1a1a1a;border-radius:var(--r-card);padding:0;margin-bottom:14px;background:#fff;box-shadow:var(--sh-sm);transition:background .15s}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;font-weight:800;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:2px solid #1a1a1a;background:var(--y,#FFD84D);font-weight:900;font-size:1.2rem;line-height:1;color:var(--on-y,inherit)}
.faq details[open] summary::after{content:"−"}.faq details:hover{background:var(--y2,#FFF4C2)}
.faq details p{margin:0;padding:0 20px 18px}
/* footer */
footer{color:#3d3d3d;border-top:2px solid #f0ebd8;margin-top:calc(var(--gap-sec)/2)}footer a{color:#1a1a1a;font-weight:700}
footer nav{display:flex;flex-wrap:wrap;gap:8px 18px}footer nav a{margin:0}
.foot-sub{font-size:.9rem}
/* reserve room for the chat launcher */
main{padding-bottom:88px}
@media(max-width:600px){
 .hero-art img{width:160px!important;max-width:160px}
 .ctas .btn{flex:1 1 100%;text-align:center}
 .newin{font-size:.85rem}
}
/* owner-review banner for draft legal pages */
.draft{background:var(--y2,#FFF4C2);border:3px dashed #1a1a1a;border-radius:var(--r-in);padding:12px 16px;font-weight:800;margin:0 0 24px}
.legal h2{font-size:1.5rem;margin-top:32px}.legal{max-width:760px}
/* sticky top bar (logo, phone, log in / language): above page content and the map, below dialogs (top layer) */
html{scroll-padding-top:84px}
.hm-top{position:sticky;top:0;z-index:40;background:var(--y2,var(--y2,#FFF4C2));transition:box-shadow .15s}
.hm-top.scrolled{box-shadow:0 2px 0 #1a1a1a}
.hm-top nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.hm-top .topbar{padding:12px 0}
.hm-top+.hero-y{display:flow-root}

/* homepage language pill (same as quote page) */
.lang{position:relative;display:inline-flex}
.lang-btn{min-width:44px;height:44px;border-radius:999px;border:2px solid var(--k,#111);background:#fff;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px!important;font:inherit;font-weight:800;font-size:.9rem;cursor:pointer;color:var(--k,#111)}
.lang-btn svg{flex:none}
.lang-cur{line-height:1}
.lang-menu{position:absolute;top:calc(100% + 8px);inset-inline-end:0;z-index:60;width:168px;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:6px;background:#fff;border:2px solid var(--k,#111);border-radius:12px;box-shadow:0 4px 0 var(--k,#111)}
.lang-menu[hidden]{display:none}
.lang-menu button{min-height:36px;border:0;border-radius:8px;background:#fff;font:inherit;font-weight:800;cursor:pointer;color:var(--k,#111)}
.lang-menu button:hover{background:var(--y2,var(--y2,#fff3b0))}
.lang-menu button[aria-current=true]{background:var(--y,var(--y,#ffd400));color:var(--on-y,inherit)}
@media (max-width:420px){.lang-btn{padding:0 9px!important;gap:4px}}
@media (max-width:440px){.tel:has(+ .lang){display:none}}

/* top bar: language pill, save icon and Log in share one pill style */
.hm-top .lang-btn,.hm-top a.login,.hm-top a.btn-sm[href^="/login"],.hm-top #acct a.btn{box-sizing:border-box;min-width:44px;height:44px;border-radius:999px;border:2px solid var(--k,#1a1a1a);background:#fff;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px!important;font:inherit;font-weight:800;font-size:.9rem;line-height:1;color:var(--k,#1a1a1a);box-shadow:var(--sh-sm);text-decoration:none;cursor:pointer;white-space:nowrap;transform:none}
.hm-top .save-btn{width:44px;padding:0!important}
.hm-top .lang-btn:hover,.hm-top a.login:hover,.hm-top a.btn-sm[href^="/login"]:hover,.hm-top #acct a.btn:hover{background:var(--y2,var(--y2,#fff3b0))}
.hm-top .lang-btn:focus-visible,.hm-top a.login:focus-visible,.hm-top a.btn-sm[href^="/login"]:focus-visible{outline:3px solid var(--y,var(--y,#ffd400));outline-offset:2px}
@media (max-width:400px){.hm-top:has(.save-btn) .topr{gap:6px}.hm-top:has(.save-btn) .brand{font-size:0;gap:0}.hm-top:has(.save-btn) .brand img{margin:0}}
@media (max-width:400px){.hm-top:has(.save-btn) .topr{gap:4px}.hm-top:has(.save-btn) .topbar{gap:6px}}
/* language menu with native names */
.lang-menu{width:min(250px,calc(100vw - 24px))!important;max-height:min(70vh,440px);overflow-y:auto;overscroll-behavior:contain}
.lang-menu button{font-size:.88rem!important;padding:0 10px!important;text-align:start;white-space:nowrap;overflow:hidden;text-overflow:clip}
@media (max-width:480px){.hm-top .lang-menu{position:fixed!important;top:72px!important;inset-inline-end:12px!important;inset-inline-start:auto!important}}
.lang-menu{grid-auto-flow:column!important;grid-template-rows:repeat(10,auto)!important;grid-template-columns:1fr 1fr!important;direction:ltr}
