/* chiangmaihomecleaning.com: Linen & Jade. One radius (10px), solid colours, no gradients on text or buttons. */
:root{
  --r:10px;
  --ink:#0F1B22; --ink-2:#2A3A43; --muted:#66757D;
  --paper:#F5F3EE; --card:#FFFFFF; --line:#E2DED5;
  --jade:#1F9E85; --jade-d:#137A66; --jade-l:#3CC9A6; --mist:#E3EEEA;
  --brass:#C2A15A; --brass-d:#9C7E3C;
  --line-green:#06C755;
  --head:'Plus Jakarta Sans','IBM Plex Sans Thai','Noto Sans KR','Noto Sans SC',system-ui,sans-serif;
  --body:'Inter','IBM Plex Sans Thai','Noto Sans KR','Noto Sans SC',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--body);background:var(--paper);color:var(--ink);font-size:16px;line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#C9C4B8;border-radius:var(--r);border:2px solid var(--paper)}
::-webkit-scrollbar-track{background:var(--paper)}

/* Buttons: equal height, one radius */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:46px;padding:0 20px;border-radius:var(--r);font:700 15px var(--head);border:0;cursor:pointer;white-space:nowrap;transition:background .15s}
.btn-jade{background:var(--jade);color:#fff}.btn-jade:hover{background:var(--jade-d)}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-line{background:var(--line-green);color:#fff}
.btn-brass{background:var(--brass);color:#14100A}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.btn-ghost-d{background:transparent;color:var(--paper);box-shadow:inset 0 0 0 1.5px #2A3A43}
.iconbtn{width:42px;height:42px;border-radius:var(--r);border:1px solid var(--line);display:grid;place-items:center;background:var(--card);color:var(--ink);cursor:pointer}
.iconbtn svg{width:20px;height:20px}

/* Utility strip */
.top{background:var(--ink);color:#D5DCDD;font-size:13px}
.top .wrap{display:flex;align-items:center;gap:22px;height:36px;white-space:nowrap}
.top .dot{width:7px;height:7px;border-radius:50%;background:var(--jade-l);display:inline-block;margin-right:8px;box-shadow:0 0 0 4px rgba(60,201,166,.18);vertical-align:1px}
.top .sp{flex:1}
.top-tel{font-weight:700;color:#fff;display:inline-flex;align-items:center;gap:6px}
.top-tel .pi{color:var(--jade-l)}
.top-line{font-weight:700;color:#fff;display:inline-flex;align-items:center;gap:7px}
.top-line .lc{font:800 10px/1 var(--head);letter-spacing:.04em;padding:3px 5px;border-radius:4px;background:var(--line-green);color:#fff}

/* We accept major cards */
.cards{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.cards svg{flex:0 0 auto;opacity:.9}
.cardname{font:700 10.5px/1 var(--head);letter-spacing:.04em;padding:4px 6px;border-radius:5px;background:rgba(255,255,255,.1);color:#fff}
.top-cards .cards-t{margin-right:2px}

/* Header */
.hdr{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.hdr .wrap{display:flex;align-items:center;height:72px;gap:30px}
.brand{display:flex;align-items:center;gap:10px;white-space:nowrap}
.wm{font:500 18px var(--head);letter-spacing:-.02em;color:var(--ink-2)}
.wm strong{font-weight:800;color:var(--ink)}
nav.main{display:flex;gap:26px;font:600 15px var(--head);white-space:nowrap}
nav.main a{color:var(--ink-2);position:relative;padding:6px 0}
nav.main a:hover,nav.main a.on{color:var(--ink)}
nav.main a.on::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--jade)}
nav.main a+a::before{content:"";position:absolute;left:-13px;top:50%;width:1px;height:16px;margin-top:-8px;background:#CFCAC0}
@media (min-width:1101px) and (max-width:1280px){
  .hdr .wrap{gap:18px}
  nav.main{gap:18px;font-size:14px}
  nav.main a+a::before{left:-9px}
  .lang a{width:34px}
  .hdr-book{padding:0 14px}
}
nav.main .nav-book,nav.main .nav-langs{display:none}
.hdr .sp{flex:1}
.lang{display:flex;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;flex:0 0 auto}
.lang a{font:600 13px/38px var(--head);color:var(--muted);width:40px;text-align:center}
.lang a.on{background:var(--ink);color:var(--paper)}
.burger{display:none}

/* Hero (holding pages until each page is designed) */
.hero{padding:34px 0 56px}
.hero-tile{background:var(--ink);color:var(--paper);border-radius:var(--r);padding:56px;position:relative;overflow:hidden;min-height:420px;display:flex;flex-direction:column;justify-content:center}
.hero-tile::before{content:"";position:absolute;right:-140px;top:-140px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(31,158,133,.35),transparent 65%);pointer-events:none}
.hero-tile h1{font:800 52px/1.05 var(--head);letter-spacing:-.035em;max-width:680px;position:relative}
.hero-tile h1 em{font-style:normal;color:var(--jade-l)}
.hero-tile p{color:#AEBBC0;margin:18px 0 28px;max-width:560px;position:relative;font-size:17px}
.hero-tile .row{display:flex;gap:12px;flex-wrap:wrap;position:relative}
.hero-tile .soon{font-size:14px;margin:26px 0 0;color:#8D9CA2}
.sec{padding:56px 0}

/* Footer */
.ftr{background:var(--ink);color:#AEBBC0;padding:56px 0 28px;margin-top:20px;font-size:14px}
.ftr .wm{color:#C9D2D4}.ftr .wm strong{color:#F5F3EE}
.ftr-grid{display:grid;grid-template-columns:1.35fr 1.45fr .75fr 1fr;gap:36px}
.ftr li{white-space:nowrap}
.ftr h4{font:700 12px var(--head);letter-spacing:.14em;text-transform:uppercase;color:#F5F3EE;margin-bottom:14px}
.ftr ul{list-style:none;display:grid;gap:8px}
.ftr a:hover{color:#fff}
.ftr-blurb{margin:16px 0 18px;max-width:340px}
.ftr-cards{flex-wrap:wrap;color:#D5DCDD;row-gap:10px}
.ftr-cards .cards-t{flex:1 0 calc(100% - 30px)}
.ftr-pay{margin-top:10px;color:#8D9CA2;font-size:13px}
.ftr-areas{grid-template-columns:1fr 1fr;column-gap:14px}
.ftr-tel{font:700 17px var(--head);color:#fff}
.ftr-langs{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}
.ftr-base{border-top:1px solid #1F2E36;margin-top:40px;padding-top:20px;font-size:13px;color:#7E8C92}

/* Smaller screens: burger + dropdown, never a sideways-scrolling strip */
@media (max-width:1100px){
  .burger{display:grid}
  nav.main{display:none;position:absolute;left:0;right:0;top:72px;background:var(--card);border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:8px 28px 18px;box-shadow:0 18px 30px -20px rgba(15,27,34,.35)}
  nav.main.open{display:flex}
  nav.main a{padding:13px 0;border-bottom:1px solid var(--line)}
  nav.main a.on::after,nav.main a+a::before{display:none}
  nav.main .nav-book{display:block;color:var(--jade-d)}
  .ftr-grid{grid-template-columns:1fr 1fr}
  .top-cards{display:none}
}
@media (max-width:700px){
  .wrap{padding:0 18px}
  .top-open{overflow:hidden;text-overflow:ellipsis}
  .top:has(.top-line) .top-open,.top:has(.top-line) .sp{display:none}
  .top:has(.top-line) .wrap{justify-content:space-between}
  .hdr .wrap{gap:12px;height:64px}
  nav.main{top:64px;padding:8px 18px 18px}
  .wm{font-size:15px}
  .hdr-book,.hdr .lang{display:none}
  nav.main .nav-langs{display:flex;gap:18px;padding-top:14px}
  nav.main .nav-langs a{border:0;padding:4px 0;color:var(--muted)}
  nav.main .nav-langs a.on{color:var(--ink);font-weight:800}
  .hero-tile{padding:34px 24px;min-height:0}
  .hero-tile h1{font-size:34px}
  .ftr-grid{grid-template-columns:1fr}
}
@media (max-width:420px){.wm{font-size:14px}}

/* ===== Homepage (preview 13) ===== */
.p-home{--sand:#F3EBD7}
.p-home .sec{padding:84px 0}
.btn svg{width:18px;height:18px}
.btn-w{background:#fff;color:var(--ink)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.eyebrow{font:700 12px var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--jade-d)}
h2.st{font:800 38px/1.12 var(--head);letter-spacing:-.03em;margin:10px 0}
h2.st em{font-style:normal;color:var(--jade)}
.lead{color:var(--muted);font-size:17px;max-width:620px}
.cn{font:800 10.5px/1 var(--head);letter-spacing:.03em;padding:4px 6px;border-radius:5px;background:var(--ink);color:#fff}

/* photo slots: the uploaded photo, or a calm block of the same shape */
.ph{display:block;width:100%;height:auto;border-radius:var(--r);object-fit:cover;background:var(--mist)}
.ph-empty{display:grid;place-items:center;background:var(--mist)}
.ph-empty .mark{opacity:.55}
.ph.dark.ph-empty{background:#17262E}

/* 1 hero */
.hm-hero{padding:54px 0 70px;position:relative;overflow:hidden}
.hm-hero::before{content:"";position:absolute;right:-180px;top:-160px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(31,158,133,.16),transparent 65%);pointer-events:none}
.hm-hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;position:relative}
.pill{display:inline-flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:7px 12px;font:600 13px var(--head);color:var(--ink-2)}
.pill i{width:8px;height:8px;border-radius:50%;background:var(--jade);box-shadow:0 0 0 4px rgba(31,158,133,.18);flex:0 0 auto}
.hm-hero h1{font:800 58px/1.03 var(--head);letter-spacing:-.04em;margin:18px 0}
.hm-hero h1 em{font-style:normal;color:var(--jade)}
.hm-hero .sub{font-size:18px;color:var(--ink-2);max-width:540px}
.quote{margin-top:28px;padding:22px;box-shadow:0 24px 50px -30px rgba(15,27,34,.35)}
.qtabs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;background:var(--paper);border-radius:var(--r);padding:4px}
.qtabs button{height:40px;border:0;border-radius:8px;background:none;font:700 14px var(--head);color:var(--muted);cursor:pointer}
.qtabs button.on{background:var(--ink);color:#fff}
.sizes{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}
.sizes button{height:44px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--card);font:700 14px var(--head);color:var(--ink-2);white-space:nowrap;cursor:pointer}
.sizes button.on{border-color:var(--jade);background:#F0F8F5;color:var(--ink)}
.qout{display:grid;grid-template-columns:170px minmax(0,1fr) 168px;gap:18px;align-items:center;height:72px;margin-top:18px;padding-top:18px;box-sizing:content-box;border-top:1px solid var(--line)}
.qprice{font:800 40px/1 var(--head);letter-spacing:-.03em;white-space:nowrap;font-variant-numeric:tabular-nums}
.qprice small{display:block;font:600 13px var(--body);color:var(--muted);letter-spacing:0;margin-top:6px}
.qmid{min-width:0}
.qmonth,.qcalc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qmonth{font:700 15px var(--head);color:var(--ink)}
.qcalc{font:600 13px var(--head);color:var(--jade-d);margin-top:4px}
.qout .btn{width:100%}
.freq{display:flex;align-items:center;gap:6px;margin-top:12px;font:600 13px var(--head);color:var(--muted)}
.freq span{margin-right:4px;white-space:nowrap}
.freq button{height:34px;padding:0 12px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--card);font:700 13px var(--head);color:var(--ink-2);white-space:nowrap;cursor:pointer}
.freq button.on{border-color:var(--jade);background:#F0F8F5;color:var(--ink)}
.freq button{transition:opacity .15s}
.freq.off{opacity:.35;pointer-events:none}
.hcontact{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.hcontact.one{grid-template-columns:1fr}
.hc{display:flex;align-items:center;gap:13px;height:68px;padding:0 18px;border-radius:var(--r);min-width:0;transition:transform .15s,box-shadow .15s}
.hc:hover{transform:translateY(-1px)}
.hc>span:last-child{min-width:0}
.hc b{display:block;font:800 17px/1.2 var(--head);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hc small{display:block;font:600 12.5px/1.3 var(--head);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.85}
.hci{width:40px;height:40px;border-radius:var(--r);display:grid;place-items:center;flex:0 0 auto}
.hc-line{background:var(--line-green);color:#fff;box-shadow:0 14px 30px -18px rgba(6,199,85,.8)}
.hc-line .hci{background:#fff;color:var(--line-green)}
.hc-line .li path:last-child{fill:#fff}
.hc-tel{background:var(--ink);color:#fff;box-shadow:0 14px 30px -18px rgba(15,27,34,.8)}
.hc-tel .hci{background:#1C2B33;color:var(--jade-l)}
.trust{display:flex;gap:18px;flex-wrap:wrap;margin-top:22px;font:600 13.5px var(--head);color:var(--ink-2)}
.trust>span{display:inline-flex;align-items:center;gap:7px}
.trust svg{width:17px;height:17px;color:var(--jade);flex:0 0 auto}
.hvis{position:relative}
.hvis .ph{aspect-ratio:12/14}
.float{position:absolute;background:var(--card);border-radius:var(--r);box-shadow:0 20px 40px -18px rgba(15,27,34,.4);padding:14px 16px;display:flex;gap:12px;align-items:center}
.float .ic{width:38px;height:38px;border-radius:var(--r);display:grid;place-items:center;background:var(--mist);color:var(--jade-d);flex:0 0 auto}
.float .ic svg{width:20px;height:20px}
.float b{font:800 15px var(--head);display:block;white-space:nowrap}
.float small{font-size:12.5px;color:var(--muted);white-space:nowrap}
.f1{left:-34px;top:36px}
.f2{right:-22px;bottom:120px}
.f3{left:30px;bottom:-26px;background:var(--ink);color:#fff}
.f3 small{color:#AEBBC0}.f3 .ic{background:#1C2B33;color:var(--jade-l)}

/* 2 strip */
.hm-strip{background:var(--ink);color:#D5DCDD}
.hm-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:26px;padding-bottom:26px}
.hm-strip .wrap>div{display:flex;gap:12px;align-items:center;min-width:0}
.hm-strip svg{width:26px;height:26px;color:var(--jade-l);flex:0 0 auto}
.hm-strip b{font:800 16px var(--head);color:#fff;display:block}
.hm-strip small{font-size:13px;color:#8D9CA2}

/* 3 services */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.svc .card{overflow:hidden;display:flex;flex-direction:column;position:relative}
.svc .ph{aspect-ratio:4/3;border-radius:0}
.svc .in{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.svc h3{font:800 21px var(--head);letter-spacing:-.01em}
.svc .from{font:800 15px var(--head);color:var(--jade-d)}
.svc p{font-size:14.5px;color:var(--muted)}
.svc ul{list-style:none;display:grid;gap:6px;font-size:14px;color:var(--ink-2);margin:2px 0 6px}
.svc li::before,.two li::before{content:"✓";color:var(--jade);font-weight:800;margin-right:8px}
.svc .btn{margin-top:auto}
.tag{position:absolute;top:14px;left:14px;font:800 11px var(--head);letter-spacing:.1em;text-transform:uppercase;background:var(--brass);color:#14100A;padding:5px 9px;border-radius:7px;z-index:2}

/* 4 prices */
.prices{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;margin-top:36px;align-items:start}
.ptable{padding:8px 24px 10px}
.prow{display:grid;grid-template-columns:1.4fr 1fr 1fr;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}
.prow.h{font:700 11.5px var(--head);letter-spacing:.12em;text-transform:uppercase;color:#8A979C;padding:12px 0}
.prow b{font:700 16px var(--head)}
.prow small{display:block;font-size:12.5px;color:var(--muted)}
.prow .p{font:800 22px var(--head);letter-spacing:-.02em;white-space:nowrap}
.prow .p.x{color:var(--jade-d)}
.prow .hh{display:inline-block;min-width:54px;font:700 13px var(--head);color:var(--muted);background:var(--paper);border-radius:7px;padding:4px 8px;margin-right:10px;text-align:center;white-space:nowrap}
.month{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;padding:16px 0 12px;font-size:14px;color:var(--ink-2)}
.month b{font:800 14px var(--head);color:var(--ink);width:100%}
.month strong{font-family:var(--head);color:var(--jade-d)}
.side{display:grid;gap:20px}
.addons,.deep{padding:22px 24px}
.addons h4,.deep h4{font:800 17px var(--head);margin-bottom:10px}
.aline{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.aline:last-child{border:0}
.aline b{font-family:var(--head)}
.deep{background:var(--sand);border-color:#E8DCBC}
.deep p{font-size:14px;color:#5A4719}
.deep .btn{margin-top:14px}
.pnote{margin-top:16px;font-size:13.5px;color:var(--muted);display:flex;gap:18px;flex-wrap:wrap}

/* 5 map */
.mapsec{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mapgrid{display:grid;grid-template-columns:1.35fr 1fr;gap:36px;margin-top:36px;align-items:stretch}
.mapbox{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--mist);min-height:470px;z-index:0}
.check{padding:24px}
.check h3{font:800 20px var(--head)}
.check p{font-size:14px;color:var(--muted);margin:4px 0 14px}
.search{display:flex;gap:8px}
.search input{flex:1;min-width:0;height:46px;border:1.5px solid var(--line);border-radius:var(--r);padding:0 14px;font:500 15px var(--body);background:var(--card);color:var(--ink)}
.search input:focus{outline:2px solid var(--jade-l);border-color:transparent}
.res{margin-top:12px;min-height:76px;border-radius:var(--r);padding:14px 16px;background:var(--paper);font-size:14.5px;color:var(--ink-2);display:flex;gap:12px;align-items:center}
.res svg{width:24px;height:24px;flex:0 0 auto;color:var(--jade)}
.res b{font-family:var(--head)}
.res a{color:var(--jade-d);font-weight:700}
.alist{margin-top:18px}
.arow{display:grid;grid-template-columns:1fr 90px 84px;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line);font-size:14px}
.arow b{font:700 15px var(--head);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arow .bar{height:6px;border-radius:var(--r);background:var(--line);overflow:hidden}
.arow .bar i{display:block;height:100%;background:var(--jade)}
.arow span{text-align:right;color:var(--muted);font-size:13px;white-space:nowrap}

/* 6 exit */
.exit .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}
.two .card{padding:20px}
.two h4{font:800 16px var(--head);margin-bottom:8px;display:flex;align-items:center;gap:8px}
.two h4 i{width:28px;height:28px;border-radius:8px;background:var(--mist);display:grid;place-items:center;font-style:normal;color:var(--jade-d);font-size:14px;flex:0 0 auto}
.two ul{list-style:none;display:grid;gap:6px;font-size:14px;color:var(--ink-2)}
.exit .cta{display:flex;gap:12px;margin-top:22px;align-items:center;flex-wrap:wrap}
.exit .cta small{color:var(--muted);font-size:13px}

/* 7 how */
.how{background:var(--ink);color:#D5DCDD}
.how .eyebrow{color:var(--jade-l)}
.how h2.st{color:#fff}.how h2.st em{color:var(--jade-l)}
.how .lead{color:#AEBBC0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px}
.step{background:#14222A;border:1px solid #1F2E36;border-radius:var(--r);padding:22px}
.step .n{width:34px;height:34px;border-radius:var(--r);background:var(--jade);color:#fff;font:800 15px/34px var(--head);text-align:center}
.step h4{font:800 17px var(--head);color:#fff;margin:14px 0 6px}
.step p{font-size:14px;color:#AEBBC0}
.howbot{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;margin-top:20px}
.howbot .ph{aspect-ratio:12/8}
.pay{background:#14222A;border:1px solid #1F2E36;border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:12px;justify-content:center}
.pay h4{font:800 20px var(--head);color:#fff}
.pay .cards{flex-wrap:wrap}
.pay .cn{background:#2A3A43;font-size:12px;padding:6px 8px}
.pay p{font-size:14px;color:#AEBBC0}

/* 8 Tai */
.tai .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.quoteblock{font:700 24px/1.4 var(--head);letter-spacing:-.015em;color:var(--ink);margin:16px 0 18px}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.facts .card{padding:16px}
.facts b{font:800 26px var(--head);letter-spacing:-.02em;display:block}
.facts small{font-size:13px;color:var(--muted)}
.langs{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}
.langs span{font:700 13px var(--head);padding:7px 11px;border-radius:var(--r);background:var(--card);border:1px solid var(--line)}

/* 9 faq */
.faq{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:32px;align-items:start}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:0 20px}
.faq summary{list-style:none;cursor:pointer;font:700 16px var(--head);padding:18px 0;display:flex;justify-content:space-between;gap:14px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:800 20px var(--head);color:var(--jade)}
.faq details[open] summary::after{content:"–"}
.faq p{font-size:14.5px;color:var(--ink-2);padding:0 0 18px}

/* 10 final */
.final{padding:0 0 84px}
.finbox{background:var(--jade);color:#fff;border-radius:var(--r);padding:46px 52px;display:grid;grid-template-columns:1.3fr 1fr;gap:30px;align-items:center;position:relative;overflow:hidden}
.finbox::after{content:"";position:absolute;right:-120px;top:-120px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 65%);pointer-events:none}
.finbox h2{font:800 36px/1.1 var(--head);letter-spacing:-.03em}
.finbox p{color:#D6F0E9;margin-top:10px}
.finbox .acts{display:grid;gap:10px;position:relative;z-index:1}
.finbox .tel{font:800 34px var(--head);letter-spacing:-.01em;color:#fff}
.p-home .ftr{margin-top:0}
.mapgrid>*,.prices>*,.hm-hero .wrap>*{min-width:0}

@media (max-width:1100px){
  .hm-hero .wrap,.mapgrid,.exit .wrap,.tai .wrap,.prices,.howbot,.finbox{grid-template-columns:minmax(0,1fr)}
  .svc,.steps,.hm-strip .wrap{grid-template-columns:1fr 1fr}
  .f1{left:10px}.f2{right:10px}
  .hvis{max-width:620px}
}
@media (max-width:700px){
  .p-home .sec{padding:60px 0}
  .hm-hero{padding:34px 0 56px}
  .hm-hero h1{font-size:40px}
  h2.st{font-size:30px}
  .sizes{grid-template-columns:1fr 1fr}
  .freq{flex-wrap:wrap}
  .freq span{width:100%}
  .freq button{flex:1;padding:0 6px}
  .qtabs button{font-size:12px;white-space:nowrap;padding:0 2px}
  .quote{padding:16px}
  .hcontact{gap:8px}.hc{height:62px;padding:0 12px;gap:10px}.hc b{font-size:15px}.hc small{font-size:11.5px}.hci{width:34px;height:34px}
  .qout{grid-template-columns:minmax(0,1fr) 148px;grid-template-rows:auto auto;height:auto;row-gap:12px}
  .qprice{font-size:34px}
  .qout .qmid{grid-column:1 / -1;grid-row:2}
  .prow{grid-template-columns:1.2fr .9fr .9fr}
  .prow .hh{min-width:40px;margin-right:6px;display:block;width:max-content;margin-bottom:4px}
  .prow .p{font-size:18px}
  .ptable{padding:8px 16px 10px}
  .svc,.steps,.hm-strip .wrap,.faq,.two,.facts{grid-template-columns:minmax(0,1fr)}
  .f2{display:none}
  .f1{left:10px;top:12px}
  .f3{left:10px;bottom:-20px}
  .mapbox{min-height:340px}
  .finbox{padding:30px 24px}
  .finbox .tel{font-size:28px}
}

/* ===== Book (preview 1, approved 6 Nov 2026) ===== */
.p-book .hide{display:none!important}
.p-book .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.bk-hero{padding:46px 0 34px;position:relative;overflow:hidden}
.bk-hero::before{content:"";position:absolute;right:-200px;top:-220px;width:640px;height:640px;border-radius:50%;background:radial-gradient(circle,rgba(31,158,133,.14),transparent 65%);pointer-events:none}
.bk-hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:44px 44px;opacity:.35;-webkit-mask-image:linear-gradient(90deg,transparent,#000 60%,transparent);mask-image:linear-gradient(90deg,transparent,#000 60%,transparent);pointer-events:none}
.bk-hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;position:relative;z-index:1}
.p-book h1.kw{font:600 13px var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--jade-d)}
.p-book .hero-title{display:block;font:800 52px/1.04 var(--head);letter-spacing:-.04em;margin:14px 0 16px}
.p-book .hero-title em{font-style:normal;color:var(--jade)}
.bk-hero .sub{font-size:17px;color:var(--ink-2);max-width:520px}
.ways{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}
.ways .btn{min-width:150px}
.week{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:0 24px 50px -32px rgba(15,27,34,.35)}
.week-h{display:flex;justify-content:space-between;align-items:center;gap:12px;font:700 14px var(--head)}
.week-h small{font:500 12.5px var(--body);color:var(--muted)}
.live{display:inline-flex;align-items:center;gap:7px;font:600 12px var(--head);color:var(--jade-d);white-space:nowrap}
.live i{width:7px;height:7px;border-radius:50%;background:var(--jade);animation:bkPulse 1.8s infinite}
@keyframes bkPulse{0%{box-shadow:0 0 0 0 rgba(31,158,133,.45)}100%{box-shadow:0 0 0 9px rgba(31,158,133,0)}}
@keyframes bkIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.wk{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:14px}
.wk .d{border:1px solid var(--line);border-radius:var(--r);padding:8px 6px;text-align:center;min-height:118px;display:flex;flex-direction:column;gap:6px;animation:bkIn .5s both}
.wk .d b{font:700 12px var(--head);color:var(--muted);letter-spacing:.04em}
.wk .d span{font:800 17px var(--head)}
.slot{height:22px;border-radius:6px;font:600 10px/22px var(--head);letter-spacing:-.01em;white-space:nowrap;overflow:hidden}
.slot.free{background:#E7F4EF;color:var(--jade-d)}
.slot.taken{background:var(--paper);color:#A4AEB2;text-decoration:line-through}
.slot.closed{background:var(--paper);color:#B4BDC1}
.wk-foot{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:12.5px;color:var(--muted)}
.wk-foot b{color:var(--ink);font-family:var(--head)}
.bk-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:8px 0 22px}
.bk-steps div{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;font:600 14px var(--head);color:var(--muted);white-space:nowrap;transition:border-color .2s,color .2s}
.bk-steps i{width:24px;height:24px;border-radius:50%;background:var(--paper);display:grid;place-items:center;font:700 12px var(--head);font-style:normal;flex:0 0 auto}
.bk-steps .on{border-color:var(--jade);color:var(--ink)}
.bk-steps .on i{background:var(--jade);color:#fff}
.bk-steps .done i{background:var(--mist);color:var(--jade-d)}
.bk{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:22px;align-items:start;padding-bottom:70px}
.fs{padding:24px 26px;border-bottom:1px solid var(--line)}
.fs:last-child{border-bottom:0}
.fs-h{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}
.fs-h.sub{margin-top:20px}
.fs-h b{font:800 18px var(--head);letter-spacing:-.01em;white-space:nowrap}
.fs-h.sub b{font-size:15px}
.fs-h small{font-size:13px;color:var(--muted)}
.fs-h .n{font:700 12px var(--head);color:var(--jade-d);letter-spacing:.1em}
.opts{display:grid;gap:8px}
.opts>*{min-width:0}
.o3{grid-template-columns:repeat(3,1fr)}.o4{grid-template-columns:repeat(4,1fr)}.o2{grid-template-columns:repeat(2,1fr)}
.opt{height:62px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--card);cursor:pointer;text-align:left;padding:0 14px;display:flex;flex-direction:column;justify-content:center;transition:border-color .15s,background .15s;font:inherit;color:inherit}
.opt span{font:700 14.5px var(--head);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.opt small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.opt.on{border-color:var(--jade);background:#F0F8F5}
.opt.sm{height:44px;text-align:center;align-items:center}
.opt.off,.opt:disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.row-email{margin-top:12px}
.done .mailed{margin-top:8px;font-size:13.5px;color:var(--muted)}.done .mailed b{color:var(--ink);word-break:break-all}
.row3{display:grid;grid-template-columns:2fr 1fr;gap:12px}
label.f{display:block;font:600 13px var(--head);color:var(--ink-2);margin-bottom:6px}
.inp{width:100%;height:46px;border:1.5px solid var(--line);border-radius:var(--r);padding:0 14px;background:var(--card);font:inherit;color:inherit;transition:border-color .15s}
.inp:focus{outline:0;border-color:var(--jade)}
textarea.inp{height:86px;padding:12px 14px;resize:none}
.notes{margin-top:14px}
.ta{position:relative}
.sugg{position:absolute;left:0;right:0;top:74px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 18px 30px -18px rgba(15,27,34,.4);z-index:5;display:none;overflow:hidden}
.sugg.open{display:block}
.sugg button{display:flex;justify-content:space-between;gap:12px;width:100%;border:0;background:none;padding:10px 14px;cursor:pointer;text-align:left;font:inherit;font-size:14px;color:inherit}
.sugg button:hover{background:var(--paper)}
.sugg small{color:var(--muted);font-size:12.5px;white-space:nowrap}
.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.day{height:64px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--card);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;font:inherit;color:inherit}
.day b{font:600 11.5px var(--head);color:var(--muted);letter-spacing:.05em}
.day span{font:800 18px var(--head)}
.day.on{border-color:var(--jade);background:#F0F8F5}
.day.full,.day:disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}
.photos{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.photos .ph{aspect-ratio:1;border:1.5px dashed #CFC9BC;border-radius:var(--r);display:grid;place-items:center;color:var(--muted);font:600 12px var(--head);cursor:pointer;background:var(--paper) center/cover no-repeat;text-align:center}
.photos .ph svg{width:22px;height:22px;display:block;margin:0 auto 4px}
.photos .ph.has{border-style:solid;border-color:var(--jade)}
.photos .ph.has span{display:none}
.sum{position:sticky;top:94px;overflow:hidden}
.sum-h{background:var(--ink);color:var(--paper);padding:20px 22px}
.sum-h small{font:600 11.5px var(--head);letter-spacing:.14em;text-transform:uppercase;color:#8D9CA2}
.sum-p{font:800 40px/1.05 var(--head);letter-spacing:-.03em;margin-top:6px;min-height:42px}
.sum-p small{font:500 14px var(--body);color:#AEBBC0;letter-spacing:0;text-transform:none}
.sum-c{font:600 13px var(--head);color:var(--jade-l);margin-top:4px;min-height:20px}
.sum-l{padding:8px 22px}
.sl{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.sl:last-child{border:0}
.sl span{color:var(--muted);white-space:nowrap}
.sl b{font:600 14px var(--head);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}
.sl b.empty{color:#B4BDC1;font-weight:500}
.sum-a{padding:4px 22px 22px}
.sum-a .btn{margin-top:10px}
.btn-wide{width:100%}
.btn:disabled{opacity:.7;cursor:wait}
.sum-n{font-size:12.5px;color:var(--muted);margin-top:12px;display:flex;gap:8px}
.sum-n svg{width:16px;height:16px;color:var(--jade);flex:0 0 auto;margin-top:2px}
.err{font:600 12.5px var(--head);color:#9C5B2E;margin-top:8px;min-height:18px}
.done{padding:30px 24px;text-align:center}
.done .tick{width:58px;height:58px;border-radius:50%;background:var(--mist);color:var(--jade-d);display:grid;place-items:center;margin:0 auto 14px}
.done b{font:800 22px var(--head);display:block}
.done .ref{font:800 26px var(--head);letter-spacing:.06em;color:var(--jade-d);margin:10px 0}
.done p{font-size:14px;color:var(--muted)}
.bk-next{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:64px 0}
.p-book h2.st{font-size:34px;margin-bottom:26px}
.tl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tl .card{padding:22px;min-height:178px}
.tl .ic{width:40px;height:40px;border-radius:var(--r);background:var(--mist);color:var(--jade-d);display:grid;place-items:center;margin-bottom:14px}
.tl .ic svg{width:20px;height:20px}
.tl b{font:800 17px var(--head);display:block;margin-bottom:6px}
.tl p{font-size:14px;color:var(--muted)}
.tl .when{font:700 12px var(--head);color:var(--jade-d);letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}
.bk-faq{padding:64px 0}
.fq{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.fq details{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:0 20px}
.fq summary{list-style:none;cursor:pointer;font:700 15.5px var(--head);min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.fq summary::-webkit-details-marker{display:none}
.fq summary::after{content:"+";font:500 22px var(--head);color:var(--jade)}
.fq details[open] summary::after{content:"\2212"}
.fq p{font-size:14.5px;color:var(--muted);padding-bottom:18px}
@media (max-width:1100px){
  .bk-hero .wrap{grid-template-columns:minmax(0,1fr)}
  .bk{grid-template-columns:minmax(0,1fr)}.sum{position:static}
  .tl{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
  .p-book .hero-title{font-size:36px}
  .ways{display:grid;grid-template-columns:1fr 1fr}.ways .btn{min-width:0}.ways .btn-ghost{grid-column:1/-1}
  .wk{gap:4px}.wk .d{min-height:96px;padding:6px 2px}.wk .d span{font-size:15px}
  .slot{font-size:0}.slot::before{content:"";display:block;width:8px;height:8px;border-radius:50%;margin:7px auto;background:currentColor}
  .bk-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .o3{grid-template-columns:1fr}.o4{grid-template-columns:1fr 1fr}
  .days{gap:5px}.day{height:54px}.day b{font-size:9.5px}.day span{font-size:15px}
  .row2,.row3,.fq,.tl{grid-template-columns:1fr}
  .fs{padding:20px 18px}.sum-h,.sum-l,.sum-a{padding-left:18px;padding-right:18px}
  .opt small{white-space:normal}
  .fs-h{flex-wrap:wrap;row-gap:2px}.fs-h small{flex:1 0 100%;padding-left:22px}
}

/* inner pages: prices, exit cleans, areas, about (same blocks as the homepage) */
.p-inner{--sand:#F3EBD7}
.sh{padding:46px 0 30px;position:relative;overflow:hidden}
.sh::before{content:"";position:absolute;right:-180px;top:-200px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(31,158,133,.14),transparent 65%);pointer-events:none}
.sh .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;position:relative}
.sh h1.kw{font:700 13.5px var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--jade-d)}
.sh .big{font:800 52px/1.04 var(--head);letter-spacing:-.04em;margin:14px 0 16px;color:var(--ink)}
.sh .big em{font-style:normal;color:var(--jade)}
.sh .sub{font-size:18px;color:var(--ink-2);max-width:540px}
.sh .row{display:flex;gap:12px;margin-top:26px}
.sh .row .btn{min-width:170px}
.shfacts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}
.shfacts>div{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;min-width:0}
.shfacts b{display:block;font:800 20px var(--head);letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shfacts small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12.5px;line-height:1.35;height:2.7em;color:var(--muted);margin-top:2px}
.sh .ph{aspect-ratio:4/3;max-height:470px}
.incs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
.inc{padding:24px;display:flex;flex-direction:column}
.inc h3{font:800 20px var(--head)}
.inc p{font-size:14px;color:var(--muted);margin:6px 0 14px}
.inc ul,.ticks{list-style:none;display:grid;gap:8px;font-size:14.5px;color:var(--ink-2);margin-bottom:18px}
.inc li,.ticks li{padding-left:24px;position:relative}
.inc li::before,.ticks li::before{content:"✓";position:absolute;left:0;color:var(--jade);font-weight:800}
.inc .btn{margin-top:auto}
.ticks+.btn{width:100%}
.ptable.pt1 .prow{grid-template-columns:1.4fr 1fr}
.atable{margin-top:32px;padding:6px 24px 10px}
.atr{display:grid;grid-template-columns:1.5fr 1fr .8fr 190px;gap:16px;align-items:center;height:54px;border-bottom:1px solid var(--line);font-size:14px}
.atr:last-child{border-bottom:0}
.atr.h{height:44px;font:700 11.5px var(--head);letter-spacing:.12em;text-transform:uppercase;color:#8A979C}
.atr b{font:700 15px var(--head);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.atr .an{display:flex;align-items:center;gap:10px;font:700 14px var(--head);font-variant-numeric:tabular-nums}
.atr .an .bar{flex:1;max-width:120px;height:6px;border-radius:var(--r);background:var(--line);overflow:hidden;display:block}
.atr .an .bar i{display:block;height:100%;background:var(--jade)}
.atr .chip{justify-self:start;width:190px;text-align:center;font:700 12px var(--head);padding:6px 0;border-radius:var(--r);background:#E3EEEA;color:var(--jade-d);white-space:nowrap}
.atr .chip.far{background:#F1ECE0;color:#9C7E3C}
.atr .chip.req{background:var(--paper);color:var(--muted)}
@media (max-width:1100px){
  .sh .wrap{grid-template-columns:1fr;gap:28px}
  .sh .ph{max-height:none}
  .incs{grid-template-columns:1fr}
}
@media (max-width:700px){
  .sh{padding:30px 0 20px}
  .sh .big{font-size:36px}
  .sh .row{display:grid;grid-template-columns:1fr 1fr}
  .sh .row .btn{min-width:0}
  .shfacts{grid-template-columns:1fr;gap:8px}
  .shfacts>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px}
  .shfacts b{font-size:17px;flex:0 0 auto}
  .shfacts small{text-align:right;height:auto;-webkit-line-clamp:1}
  .atable{padding:4px 14px 8px}
  .atr{grid-template-columns:minmax(0,1fr) 34px 112px;height:auto;padding:10px 0;gap:8px}
  .atr>span:nth-child(3){display:none}
  .atr .an .bar{display:none}
  .atr .chip{width:112px;font-size:11px}
  .atr b{font-size:14px}
}

/* weekly cleans */
.wkly .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.wkb{margin:22px 0 24px}
.wkly .btn,.wkly .ticks+.btn{width:auto;min-width:220px}
.wkt{padding:6px 24px 16px}
.wkr{display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:center;height:72px;border-bottom:1px solid var(--line)}
.wkr.h{height:44px;font:700 11.5px var(--head);letter-spacing:.12em;text-transform:uppercase;color:#8A979C;white-space:nowrap}
.wkr b{font:700 16px var(--head);white-space:nowrap}
.wkr small{display:block;font-size:12.5px;color:var(--muted);white-space:nowrap}
.wkr .p{font:800 22px var(--head);letter-spacing:-.02em;white-space:nowrap;font-variant-numeric:tabular-nums}
.wkr .p.x{color:var(--jade-d)}
.wkn{font-size:13px;color:var(--muted);padding-top:12px}
@media (max-width:1100px){.wkly .wrap{grid-template-columns:1fr;gap:28px}}
@media (max-width:700px){.wkt{padding:4px 12px 12px}.wkr{grid-template-columns:minmax(0,1fr) 92px 92px;gap:8px}.wkr.h{font-size:10px;letter-spacing:.06em}.wkr b{font-size:14px}.wkr .p{font-size:17px}.wkr small{font-size:10.5px}.wkr>div:first-child small{display:none}.wkly .btn,.wkly .ticks+.btn{width:100%}}
@media (max-width:560px){.hcontact{grid-template-columns:1fr}.hc{height:60px}.hc b{font-size:16px}}
