/* ============================================================
   SSOUL HOME THAI — Midnight Concierge editorial system
   Obsidian / porcelain / dusty rose / muted sage
   ============================================================ */
:root{
  --ink:#0d0d0e;
  --ink-soft:#151517;
  --panel:#1b1a1c;
  --paper:#f2eee8;
  --paper-dim:#c9c3bc;
  --rose:#d9b7b1;
  --rose-deep:#a87973;
  --sage:#94a297;
  --line:rgba(242,238,232,.16);
  --line-strong:rgba(242,238,232,.32);
  --serif:"Hahmlet","Noto Serif KR",serif;
  --body:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,sans-serif;
  --mono:"IBM Plex Mono","Pretendard Variable",monospace;
  --content:1320px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--ink)}
body{min-width:320px;overflow-x:hidden;background:var(--ink);color:var(--paper);font-family:var(--body);-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word}
body::before{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
::selection{background:var(--rose);color:var(--ink)}
:focus-visible{outline:2px solid var(--rose);outline-offset:4px}

/* source navigation mirrors ItemList JSON-LD and stays behind the visual stage */
.naver-carousel-dom{position:absolute;z-index:-1;inset:0 auto auto 0;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
.stage{position:relative;min-height:100dvh}
.frame{position:relative;width:100%;max-width:1600px;margin:0 auto;overflow:clip;background:var(--ink);border-inline:1px solid rgba(242,238,232,.06)}
.incense{display:none}

/* edge rails become quiet editorial folios on large displays */
.rail{display:none}
@media (min-width:1480px){
  .rail{display:block;position:fixed;z-index:45;top:0;bottom:0;width:52px;pointer-events:none}
  .rail--left{left:0;border-right:1px solid var(--line)}
  .rail--right{right:0;border-left:1px solid var(--line)}
  .rail-track{position:absolute;inset:0;overflow:hidden}
  .rail-vtext{display:flex;gap:36px;animation:vmarq 32s linear infinite}
  .rail-vtext span{writing-mode:vertical-rl;display:block;padding:28px 17px;font:500 10px/1 var(--mono);letter-spacing:.26em;color:rgba(242,238,232,.42);white-space:nowrap}
  .rail-vtext i{color:var(--rose);font-style:normal}
  .rail-actions{pointer-events:auto;position:absolute;right:9px;bottom:120px;display:grid;gap:8px}
  .rail-btn{display:grid;place-items:center;width:34px;height:92px;border:1px solid var(--line);background:rgba(13,13,14,.82);font:600 10px/1.2 var(--body);writing-mode:vertical-rl;transition:.25s}
  .rail-btn b{font-size:13px;color:var(--rose);margin-bottom:6px}
  .rail-btn:hover{background:var(--paper);color:var(--ink)}
  .rail-lotus{display:none}
}
@keyframes vmarq{to{transform:translateY(-50%)}}

/* navigation */
.site-header{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:88px;padding:0 clamp(24px,5vw,80px);border-bottom:1px solid var(--line);background:rgba(13,13,14,.82);backdrop-filter:blur(18px)}
.brand img{width:188px;height:auto}
.site-header nav{display:flex;align-items:center;gap:clamp(20px,2.5vw,42px);font-size:13px;font-weight:600;color:var(--paper-dim)}
.site-header nav a{position:relative;padding:34px 0}
.site-header nav a::after{content:"";position:absolute;right:0;bottom:27px;left:0;height:1px;background:var(--rose);transform:scaleX(0);transform-origin:right;transition:transform .3s ease}
.site-header nav a:hover{color:var(--paper)}
.site-header nav a:hover::after{transform:scaleX(1);transform-origin:left}
.header-call{justify-self:end;display:inline-flex;gap:20px;align-items:center;border-bottom:1px solid var(--paper);padding:10px 0;font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.header-call span{color:var(--rose)}

/* hero — asymmetric editorial spread */
.hero,.page-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);grid-template-rows:auto auto auto auto 1fr;column-gap:clamp(44px,6vw,104px);min-height:calc(100dvh - 88px);padding:clamp(68px,8vw,126px) clamp(24px,7vw,112px) clamp(72px,8vw,118px)}
.hero::before,.page-hero::before{content:"";position:absolute;top:0;bottom:0;left:54%;width:1px;background:linear-gradient(180deg,transparent,var(--line),transparent)}
.hero-thai{position:absolute;left:clamp(20px,6vw,96px);bottom:12px;z-index:0;font:500 clamp(96px,18vw,280px)/.72 var(--serif);letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px rgba(242,238,232,.08);user-select:none;white-space:nowrap}
.eyebrow{display:inline-flex;align-items:center;gap:13px;font:500 10px/1.4 var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--rose)}
.eyebrow::before{content:"";width:34px;height:1px;background:currentColor}
.hero>.eyebrow,.page-hero>.eyebrow{grid-column:1;align-self:end;margin-bottom:26px}
.hero h1,.page-hero h1{position:relative;z-index:2;grid-column:1;font-family:var(--serif);font-size:clamp(52px,6.1vw,96px);font-weight:500;line-height:1.08;letter-spacing:-.055em;text-wrap:balance}
.page-hero h1{font-size:clamp(40px,4.2vw,66px);letter-spacing:-.06em}
.hero h1 .ln,.page-hero h1 .ln{display:block;overflow:hidden}
.page-hero h1 .ln{white-space:nowrap}
.hero h1 em,.page-hero h1 em{color:var(--rose);font-style:normal}
.hero h1 .ch,.page-hero h1 .ch{display:inline-block;will-change:transform}
.hero-sub{grid-column:1;max-width:570px;margin-top:28px;color:var(--paper-dim);font-size:clamp(15px,1.35vw,18px);line-height:1.8;text-wrap:pretty}
.hero-actions{grid-column:1;display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 25px;border:1px solid var(--line-strong);font-size:14px;font-weight:700;transition:color .3s,background .3s,border-color .3s,transform .3s}
.btn--gold{border-color:var(--paper);background:var(--paper);color:var(--ink)}
.btn--gold:hover{background:var(--rose);border-color:var(--rose);transform:translateY(-2px)}
.btn--ghost:hover{border-color:var(--paper);background:rgba(242,238,232,.06)}
.hero-kws{grid-column:1;display:flex;flex-wrap:wrap;align-self:end;gap:0;margin-top:44px;border-top:1px solid var(--line)}
.hero-kws span{padding:13px 18px 0 0;margin-right:18px;font:500 10px/1.4 var(--mono);letter-spacing:.06em;color:var(--paper-dim)}
.hero-kws span:first-child{color:var(--sage)}
.hero-figure{grid-column:2;grid-row:1/6;position:relative;min-height:620px;overflow:hidden;background:var(--panel);clip-path:inset(0 0 0 0)}
.hero-figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(13,13,14,.72))}
.hero-figure img{width:100%;height:100%;min-height:620px;object-fit:cover;object-position:center 20%;transform:scale(1.04);filter:saturate(.82) contrast(1.03)}
.hero-note{position:absolute;z-index:2;right:0;bottom:0;left:0;display:flex;justify-content:space-between;align-items:end;padding:26px 28px;border-top:1px solid rgba(242,238,232,.26);background:rgba(13,13,14,.42);backdrop-filter:blur(10px)}
.hero-note span{font:500 9px/1.4 var(--mono);letter-spacing:.2em;color:var(--paper-dim);text-transform:uppercase}
.hero-note strong{font-family:var(--serif);font-size:18px;font-weight:500}

/* running service line */
.marquee{overflow:hidden;border-block:1px solid var(--line);background:var(--paper);color:var(--ink);padding:13px 0}
.marquee-inner{display:flex;gap:40px;width:max-content;animation:marq 26s linear infinite}
.marquee-inner span{display:flex;align-items:center;gap:36px;white-space:nowrap;font:500 10px/1 var(--mono);letter-spacing:.18em}
.marquee-inner i{font-style:normal;color:var(--rose-deep)}
@keyframes marq{to{transform:translateX(-50%)}}

/* shared section rhythm */
main>section:not(.hero):not(.page-hero):not(.hub-metro){padding:clamp(78px,9vw,138px) clamp(24px,7vw,112px)}
.sec-head{display:grid;grid-template-columns:minmax(180px,.38fr) minmax(0,1fr);column-gap:40px;margin-bottom:54px}
.sec-head .eyebrow{grid-column:1;align-self:start;margin-top:13px}
.sec-head h2{grid-column:2;font-family:var(--serif);font-size:clamp(38px,4.5vw,68px);font-weight:500;line-height:1.17;letter-spacing:-.045em;text-wrap:balance}
.sec-head p{grid-column:2;max-width:620px;margin-top:20px;color:var(--paper-dim);font-size:15px;line-height:1.8;text-wrap:pretty}

/* facts — no cards, just a measured index */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}
.stat{position:relative;padding:31px 22px 34px;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat b{display:block;font:500 clamp(36px,4vw,62px)/1 var(--serif);letter-spacing:-.05em}
.stat b small{font-size:.42em;color:var(--rose)}
.stat span{display:block;margin-top:14px;font:500 11px/1.5 var(--mono);letter-spacing:.04em;color:var(--paper-dim)}

/* visual area index */
.scroll-cue{display:none}
.area-slider{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.area-card{position:relative;min-height:430px;overflow:hidden;background:var(--panel)}
.area-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,14,.04),rgba(13,13,14,.82));transition:background .45s}
.area-card img{width:100%;height:100%;min-height:430px;object-fit:cover;object-position:center 20%;filter:saturate(.72);transition:transform .7s cubic-bezier(.2,.75,.25,1),filter .5s}
.area-card:hover img{transform:scale(1.055);filter:saturate(.95)}
.area-card:hover::after{background:linear-gradient(180deg,transparent,rgba(13,13,14,.68))}
.area-card figcaption{position:absolute;z-index:2;right:25px;bottom:25px;left:25px;display:flex;align-items:end;justify-content:space-between;gap:18px;border-top:1px solid rgba(242,238,232,.34);padding-top:17px}
.area-card strong{font-family:var(--serif);font-size:20px;font-weight:500}
.area-card em{font:400 9px/1.4 var(--mono);letter-spacing:.08em;color:var(--paper-dim);font-style:normal;text-align:right}
.chip-live{position:absolute;z-index:2;top:22px;left:22px;font:500 9px/1 var(--mono);letter-spacing:.12em;color:var(--paper)}
.chip-live::before{content:"";display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:var(--sage);box-shadow:0 0 0 5px rgba(148,162,151,.12)}

/* pricing as a catalog spread */
#price{background:var(--paper);color:var(--ink)}
#price .sec-head p{color:#5f5a56}
#price .eyebrow{color:var(--rose-deep)}
.price-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(13,13,14,.25)}
.price-card{position:relative;display:grid;grid-template-columns:54px 1fr;gap:0 20px;padding:34px 30px 38px;border-right:1px solid rgba(13,13,14,.22);border-bottom:1px solid rgba(13,13,14,.22)}
.price-card:nth-child(2n){border-right:0}
.price-card i{grid-row:1/4;display:grid;place-items:center;align-self:start;width:46px;height:46px;border:1px solid rgba(13,13,14,.32);border-radius:50%;font-style:normal;font-size:18px}
.price-card h3{font-family:var(--serif);font-size:24px;font-weight:600}
.price-card>p{margin-top:7px;color:#68615c;font-size:13px;line-height:1.65}
.price-lines{grid-column:2;display:grid;gap:11px;margin-top:24px}
.price-lines span{display:flex;justify-content:space-between;border-top:1px solid rgba(13,13,14,.14);padding-top:11px;font-size:13px}
.price-lines b{font-weight:500;color:#6f6862}
.price-lines strong{font-family:var(--mono);font-size:13px}
.price-note{margin-top:20px;color:#665e58;font-size:12px}

/* process timeline */
.flow{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.flow-step{position:relative;padding:30px 24px 0 0;border-right:1px solid var(--line);min-height:190px}
.flow-step:not(:first-child){padding-left:24px}
.flow-step:last-child{border-right:0}
.flow-step::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--rose)}
.flow-step:not(:first-child)::before{left:24px}
.flow-step h3{display:grid;gap:24px;font-family:var(--serif);font-size:20px;font-weight:500}
.flow-step h3 small{font:500 9px/1 var(--mono);letter-spacing:.18em;color:var(--rose)}
.flow-step p{margin-top:15px;color:var(--paper-dim);font-size:13px;line-height:1.75}

/* testimonials / dialog */
#review{background:var(--ink-soft)}
.chat{display:grid;grid-template-columns:1fr 1fr;gap:1px;max-width:900px;margin-left:auto;background:var(--line)}
.bubble{position:relative;max-width:none;padding:28px 30px;background:var(--panel);font-family:var(--serif);font-size:18px;line-height:1.65}
.bubble--out{background:var(--rose);color:var(--ink)}
.bubble small{display:block;margin-top:18px;font:500 9px/1 var(--mono);letter-spacing:.12em;opacity:.65}
.review-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:1px;margin-left:auto;max-width:900px;background:var(--line)}
.review-card{min-height:180px;padding:28px 30px;background:var(--ink);font-size:15px;line-height:1.8}
.review-card>b{color:var(--rose);font-family:var(--serif);font-size:24px}
.review-card footer{display:flex;justify-content:space-between;margin-top:24px;font:500 10px/1.4 var(--mono);letter-spacing:.04em;color:var(--paper-dim)}
.review-card footer i{color:var(--rose);font-style:normal;letter-spacing:.14em}

/* faq */
.faq{max-width:920px;margin-left:auto;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:25px 4px;cursor:pointer;list-style:none;font-family:var(--serif);font-size:18px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 22px/1 var(--mono);color:var(--rose);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{max-width:720px;padding:0 44px 26px 4px;color:var(--paper-dim);font-size:14px;line-height:1.85}

/* location pages */
.crumb{display:flex;flex-wrap:wrap;gap:9px;padding:28px clamp(24px,7vw,112px) 0;font:500 9px/1.4 var(--mono);letter-spacing:.08em;color:#89837e;text-transform:uppercase}
.crumb a:hover{color:var(--paper)}
.crumb b{font-weight:500;color:var(--rose)}
.page-hero{min-height:760px;padding-top:72px}
.page-hero .hero-figure{min-height:560px}
.page-hero .hero-figure img{min-height:560px}
.local-intro{display:grid;grid-template-columns:minmax(180px,.38fr) minmax(0,1fr);gap:40px;border-block:1px solid var(--line);padding-top:48px!important;padding-bottom:48px!important}
.local-index{font:500 9px/1.5 var(--mono);letter-spacing:.18em;color:var(--rose);text-transform:uppercase}
.local-intro p{max-width:850px;font-family:var(--serif);font-size:clamp(21px,2.2vw,34px);line-height:1.7;color:var(--paper)}
.sub-links{display:flex;flex-wrap:wrap;gap:8px}
.sub-links a{padding:11px 15px;border:1px solid var(--line);font-size:13px;color:var(--paper-dim);transition:.25s}
.sub-links a:hover,.sub-links a.hot{border-color:var(--rose);color:var(--paper)}
.sub-links a.hot{background:rgba(217,183,177,.07)}

/* complete area directory */
.hub-metro{padding:72px clamp(24px,7vw,112px) 0}
.hub-metro:last-of-type{padding-bottom:110px}
.hub-metro>h2{display:flex;align-items:baseline;gap:18px;border-bottom:1px solid var(--line);padding-bottom:20px;font-family:var(--serif);font-size:clamp(32px,4vw,56px);font-weight:500}
.hub-metro>h2 small{font:500 9px/1 var(--mono);letter-spacing:.16em;color:var(--rose)}
.hub-dist{display:grid;grid-template-columns:minmax(150px,.28fr) 1fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}
.hub-dist h3{font-family:var(--serif);font-size:18px;font-weight:500}
.hub-dist h3 a:hover{color:var(--rose)}
.hub-dist .sub-links a{padding:7px 10px;font-size:11px}

/* detailed guide */
.deep{padding-top:36px!important}
.deep-acc{max-width:920px;margin-left:auto;border-block:1px solid var(--line)}
.deep-acc summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 4px;cursor:pointer;list-style:none;font-family:var(--serif);font-size:18px;color:var(--rose)}
.deep-acc summary::-webkit-details-marker{display:none}
.deep-acc summary i{font:400 22px/1 var(--mono);font-style:normal;transition:transform .3s}
.deep-acc[open] summary i{transform:rotate(45deg)}
.deep-body{padding:8px 4px 34px;color:var(--paper-dim);font-size:14px;line-height:1.9}
.deep-body h3{margin:32px 0 10px;color:var(--paper);font-family:var(--serif);font-size:20px;font-weight:500}
.deep-body p{margin-bottom:12px}
.deep-body a{color:var(--rose);text-decoration:underline;text-underline-offset:3px}

/* closing conversion */
.hub-banner{position:relative;overflow:hidden;padding:clamp(48px,7vw,96px);background:var(--rose);color:var(--ink)}
.hub-banner::after{content:"AREA";position:absolute;right:-20px;bottom:-30px;font:500 clamp(100px,18vw,250px)/.7 var(--serif);color:transparent;-webkit-text-stroke:1px rgba(13,13,14,.2)}
.hub-banner .eyebrow{color:var(--ink)}
.hub-banner h2{position:relative;z-index:1;margin-top:26px;font-family:var(--serif);font-size:clamp(42px,6vw,82px);font-weight:500;line-height:1.16;letter-spacing:-.05em}
.hub-banner p{position:relative;z-index:1;margin:20px 0 30px;font-size:15px}
.hub-banner .btn{position:relative;z-index:1;background:var(--ink);border-color:var(--ink);color:var(--paper)}

/* footer */
.site-footer{padding:92px clamp(24px,7vw,112px) 132px;border-top:1px solid var(--line)}
.footer-lead{display:flex;align-items:end;justify-content:space-between;gap:40px}
.footer-index{font:500 9px/1 var(--mono);letter-spacing:.18em;color:var(--rose)}
.foot-brand{margin-top:17px;font-family:var(--serif);font-size:clamp(38px,5vw,72px);font-weight:500;line-height:1.1;letter-spacing:-.04em}
.foot-tel{display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:30px;border-bottom:1px solid var(--paper);padding-bottom:9px;font:500 clamp(21px,2.2vw,32px)/1 var(--mono)}
.foot-tel small{grid-column:1/3;margin-bottom:12px;font:500 9px/1 var(--mono);letter-spacing:.18em;color:var(--rose)}
.foot-tel span{color:var(--rose)}
.footer-meta{display:grid;grid-template-columns:1fr auto;gap:40px;margin-top:72px;padding-top:26px;border-top:1px solid var(--line);color:var(--paper-dim);font-size:12px;line-height:1.7}
.footer-meta p{max-width:670px}
.footer-meta nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:18px}
.footer-meta a:hover{color:var(--paper)}
.copyright{margin-top:38px;font:400 9px/1 var(--mono);letter-spacing:.12em;color:#77716c}

.callbar{position:fixed;right:26px;bottom:24px;z-index:60;display:flex;align-items:center;gap:14px;min-width:260px;padding:13px 16px;background:var(--paper);color:var(--ink);box-shadow:0 18px 55px rgba(0,0,0,.34);transition:transform .3s,background .3s}
.callbar:hover{transform:translateY(-3px);background:var(--rose)}
.callbar>b{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(13,13,14,.25);border-radius:50%;font:600 9px/1 var(--mono)}
.callbar>span{display:grid;font:600 13px/1.25 var(--mono)}
.callbar small{font:600 10px/1.4 var(--body);color:#68615c}
.callbar i{margin-left:auto;color:var(--rose-deep);font-style:normal}
.page-progress{position:fixed;z-index:80;top:0;right:0;left:0;height:2px;background:var(--rose);pointer-events:none}

/* motion states */
.js [data-rv]{opacity:0}
.no-js [data-rv]{opacity:1}
.js .hero-figure,.js .page-hero .hero-figure{clip-path:inset(0 0 100% 0)}

@media (max-width:960px){
  .site-header{grid-template-columns:1fr auto;min-height:74px;padding:0 22px}
  .brand img{width:164px}
  .site-header nav{display:none}
  .header-call{font-size:10px}
  .hero,.page-hero{display:block;min-height:auto;padding:58px 22px 72px}
  .hero::before,.page-hero::before{display:none}
  .hero-thai{top:36px;right:-12px;bottom:auto;left:auto;font-size:112px}
  .hero>.eyebrow,.page-hero>.eyebrow{margin-bottom:22px}
  .hero h1{font-size:clamp(48px,12vw,76px)}
  .page-hero h1{font-size:clamp(34px,7.6vw,52px)}
  .hero-sub{margin-top:22px;font-size:15px}
  .hero-actions{margin-top:28px}
  .hero-kws{margin-top:32px}
  .hero-figure,.page-hero .hero-figure{min-height:0;margin-top:40px;aspect-ratio:4/5}
  .hero-figure img,.page-hero .hero-figure img{min-height:0;height:100%}
  main>section:not(.hero):not(.page-hero):not(.hub-metro){padding:78px 22px}
  .sec-head{display:block;margin-bottom:38px}
  .sec-head .eyebrow{margin-bottom:20px}
  .sec-head h2{font-size:clamp(36px,8vw,54px)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(2){border-right:0}
  .stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .area-slider{grid-template-columns:repeat(2,1fr)}
  .area-card,.area-card img{min-height:360px}
  .flow{grid-template-columns:repeat(2,1fr)}
  .flow-step:nth-child(2){border-right:0}
  .flow-step:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .local-intro{display:block}
  .local-index{display:block;margin-bottom:18px}
  .hub-dist{display:block}
  .hub-dist h3{margin-bottom:16px}
  .footer-lead{display:block}
  .foot-tel{width:max-content;max-width:100%;margin-top:48px}
  .footer-meta{grid-template-columns:1fr}
  .footer-meta nav{justify-content:flex-start}
}

@media (max-width:620px){
  .site-header{min-height:66px}
  .brand img{width:148px}
  .header-call{gap:7px;padding:8px 0;font-size:9px}
  .hero,.page-hero{padding-top:48px}
  .hero h1{font-size:clamp(43px,13vw,62px);line-height:1.12}
  .page-hero h1{font-size:clamp(30px,8.3vw,38px);line-height:1.22;letter-spacing:-.065em}
  .hero-sub{line-height:1.75}
  .btn{min-height:50px;padding:0 18px;font-size:13px}
  .hero-actions .btn{flex:1 1 0}
  .hero-kws span{padding-right:11px;margin-right:11px;font-size:9px}
  .hero-figure,.page-hero .hero-figure{aspect-ratio:1/1.18}
  .hero-note{padding:18px}
  .hero-note strong{font-size:15px}
  .hero-note span{font-size:8px}
  .stats{margin-inline:-22px}
  .stat{padding:24px 18px 27px}
  .stat span{font-size:9px}
  .area-slider{grid-template-columns:1fr 1fr;margin-inline:-22px}
  .area-card,.area-card img{min-height:280px}
  .area-card figcaption{right:15px;bottom:16px;left:15px;display:block}
  .area-card strong{font-size:16px}
  .area-card em{margin-top:6px;text-align:left;font-size:8px}
  .chip-live{top:14px;left:14px;font-size:8px}
  .price-grid{grid-template-columns:1fr;margin-inline:-22px}
  .price-card,.price-card:nth-child(2n){border-right:0;padding:28px 22px}
  .flow{grid-template-columns:1fr}
  .flow-step,.flow-step:not(:first-child){min-height:0;padding:28px 0 30px;border-right:0;border-bottom:1px solid var(--line)}
  .flow-step:not(:first-child)::before{left:0}
  .flow-step h3{gap:14px}
  .chat,.review-cards{grid-template-columns:1fr;margin-inline:-22px}
  .bubble,.review-card{padding:24px 22px}
  .local-intro p{font-size:22px;line-height:1.65}
  .crumb{padding:22px 22px 0}
  .page-hero{padding-top:42px}
  .hub-metro{padding:58px 22px 0}
  .hub-metro:last-of-type{padding-bottom:88px}
  .hub-metro>h2{display:block;font-size:36px}
  .hub-metro>h2 small{display:block;margin-top:10px}
  .hub-dist .sub-links{max-height:196px;overflow:auto}
  .deep{padding-top:20px!important}
  .hub-banner{margin-inline:-22px;padding:58px 22px}
  .site-footer{padding:72px 22px 126px}
  .foot-brand{font-size:38px}
  .foot-tel{font-size:19px}
  .callbar{right:12px;bottom:max(12px,env(safe-area-inset-bottom));left:12px;min-width:0;padding:11px 14px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js [data-rv]{opacity:1}
  .js .hero-figure,.js .page-hero .hero-figure{clip-path:inset(0)}
}

h1,h2,h3,.deep-acc summary span{text-wrap:balance}
p,.hero-sub,.sec-head p{text-wrap:pretty}
