
:root{
  --main:#2f3b52;
  --accent:#8a6d3b;
  --bg:#f7f8fa;
  --card:#ffffff;
  --line:#dfe3ea;
  --ink:#20242a;
  --muted:#687079;
  --soft-shadow:0 18px 50px rgba(30,35,40,.08);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:"Avenir Next","Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-size:16px;line-height:1.7;word-break:keep-all}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.3;background:linear-gradient(135deg,rgba(47,59,82,.035) 25%,transparent 25%) 0 0/22px 22px}
a{color:inherit}
button,input,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
img{display:block;max-width:100%}
main{width:min(100% - 28px,1180px);margin:0 auto;padding:22px 0 72px}
.top{width:min(100% - 28px,1180px);margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--main);font-size:19px;font-weight:800;letter-spacing:-.02em}
.brand img{width:38px;height:38px;object-fit:contain;border-radius:7px}
.top nav{display:flex;gap:18px}.top nav a{text-decoration:none;color:var(--muted);font-size:14px;font-weight:700}.top nav a:hover{color:var(--main)}
.breadcrumb{display:flex;align-items:center;gap:8px;margin:3px 0 22px;color:#7a8088;font-size:13px;overflow:hidden;white-space:nowrap}.breadcrumb a{text-decoration:none}.breadcrumb span:last-child{overflow:hidden;text-overflow:ellipsis}
.eyebrow,.section-heading p,.product-no,.form-kicker{color:var(--accent);font:800 11px/1.4 "Avenir Next","Apple SD Gothic Neo",sans-serif;letter-spacing:.16em;text-transform:uppercase}
h1,h2,h3{line-height:1.3;color:var(--main)}
h1{font-size:clamp(29px,4vw,47px);letter-spacing:-.045em;overflow-wrap:anywhere}
h1 em{color:var(--accent);font-style:normal}
h2{font-size:clamp(23px,3vw,34px);letter-spacing:-.035em}
h3{font-size:18px;letter-spacing:-.02em}
.intro,.section-intro{color:#505861;font-size:17px;line-height:1.85}
.hero-detail{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);align-items:center;gap:38px;margin:12px 0 22px;padding:22px;background:var(--main);border-radius:4px;color:#fff}
.hero-copy{min-width:0}.hero-copy .eyebrow{margin-bottom:10px}.hero-copy h1{margin-bottom:14px}.hero-copy .intro{max-width:620px}
.variant-compact .hero-copy h1,.variant-compact .hero-copy .intro{color:#fff}.variant-compact .hero-copy .intro{opacity:.83}.variant-compact .hero-copy .eyebrow{color:#e5c78d}
.hero-photo{position:relative;margin:0;max-width:380px}.hero-photo img{width:100%;max-width:100%;height:auto;aspect-ratio:16/9;max-height:290px;margin:0 auto;object-fit:contain;background:rgba(255,255,255,.1);border-radius:2px}
.hero-photo figcaption{display:-webkit-box;overflow:hidden;margin-top:7px;color:rgba(255,255,255,.72);font-size:11px;text-align:right;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.quick-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:24px;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.22)}
.quick-facts div{padding:12px 14px;background:rgba(255,255,255,.06)}.quick-facts dt{font-size:11px;color:rgba(255,255,255,.62)}.quick-facts dd{font-size:18px;font-weight:800;color:#fff}
.cta-box{margin:20px 0 58px;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:none;text-align:center}
.cta-copy{margin-bottom:18px}.cta-copy h2{margin:4px 0 7px;color:var(--main);font-size:clamp(22px,3vw,30px)}.cta-copy>p:last-child{color:var(--muted);font-size:14px}.cta-kicker{font-weight:800;color:var(--accent)}.cta-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.cta-note{margin-top:11px;color:var(--muted);font-size:12px}
.btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;padding:12px 16px;border:0;border-radius:5px;font-weight:800;font-size:15px;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.btn:hover{transform:translateY(-2px)}.btn svg{width:18px;height:18px;margin-right:7px}.btn-call{background:var(--main);color:#fff}.btn-sms{background:var(--card);color:var(--main);border:1px solid var(--main)}.btn-form{background:var(--accent);color:#fff}
.content-section{margin:0 0 86px;scroll-margin-top:20px}.section-heading{display:flex;align-items:flex-start;gap:14px;margin-bottom:24px}.section-heading>span{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;color:#fff;background:var(--main);border:0;border-radius:2px;font:800 12px/1 "Avenir Next",sans-serif}.section-heading p{margin-bottom:3px}
.variant-compact .section-heading{border-left:6px solid var(--accent);padding-left:14px}.variant-compact .section-heading>span{display:none}
.insight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.insight-grid article{display:flex;gap:12px;align-items:flex-start;padding:18px;background:var(--card);border:1px solid var(--line);border-radius:4px;}.insight-grid svg{width:20px;height:20px;color:var(--accent);flex:0 0 auto;margin-top:2px}.insight-grid p{color:#4f565e}
.data-note,.review-date{margin-top:12px;color:#858b92;font-size:12px}.review-date{text-align:center;padding-top:20px;border-top:1px solid var(--line)}
.photo-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.photo-gallery figure{margin:0}.photo-gallery img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:top center;border-radius:5px}.photo-gallery figcaption{padding:8px 2px;color:var(--muted);font-size:12px}
.info-intro-card{padding:30px 32px;background:var(--card);border:1px solid var(--line);border-radius:6px;box-shadow:0 12px 32px rgba(30,35,40,.045)}.info-intro-card h3{display:inline-block;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--main);font-size:22px}.info-intro-card p{max-width:900px;color:#505966;line-height:1.9}.facility-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:24px;background:var(--line);border:1px solid var(--line);border-top:3px solid var(--accent);gap:1px;border-radius:8px;overflow:hidden}.facility-summary-grid div{min-height:138px;padding:24px 26px;background:var(--card)}.facility-summary-grid div:last-child:nth-child(3n+2){grid-column:span 2}.facility-summary-grid dt{margin-bottom:8px;color:var(--muted);font-size:13px;font-weight:800}.facility-summary-grid dd{color:var(--main);font-size:17px;font-weight:800;line-height:1.5}.facility-summary-grid a{color:var(--main)}
.checklist-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.checklist-grid article{display:flex;gap:15px;padding:20px;background:var(--card);border:1px solid var(--line);border-radius:4px;}.checklist-grid article>b{color:var(--accent);font:900 22px/1 "Avenir Next",sans-serif}.checklist-grid h3{margin-bottom:5px}.checklist-grid p{color:var(--muted);font-size:14px}
.location-card{padding:22px;background:var(--card);border:1px solid var(--line);border-radius:4px}.addr{font-size:19px;font-weight:800;color:var(--main)}.maps{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.maps a{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid var(--line);background:var(--bg);border-radius:3px;font-size:13px;font-weight:800;text-decoration:none;color:var(--main)}.maps svg{width:15px;height:15px;margin-right:5px}.transport-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}.transport-grid article{padding:16px;background:var(--bg);border-radius:2px}.transport-grid h3{font-size:15px;margin-bottom:6px}.transport-grid p{font-size:13px;color:var(--muted);word-break:break-word}
.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px;margin-top:22px}.product{position:relative;padding:0;background:var(--card);border:1px solid var(--line);border-radius:5px;overflow:hidden}.product::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s}.product:hover::after,.product[open]::after{transform:scaleX(1)}.product-summary{display:block;padding:20px 18px;list-style:none;cursor:pointer}.product-summary::-webkit-details-marker{display:none}.product h3{margin:7px 0}.price b{color:var(--accent);font-size:21px}.pdesc{min-height:44px;margin-top:7px;color:var(--muted);font-size:13px}.product-toggle{display:inline-flex;align-items:center;margin-top:14px;color:var(--main);font-size:12px;font-weight:900}.product-toggle::after{content:" +";margin-left:4px;color:var(--accent);font-size:18px}.product[open] .product-toggle::after{content:" −"}.product-includes{padding:0 18px 22px;border-top:1px solid var(--line)}.product-includes>p{padding:16px 0 8px;color:var(--main);font-size:13px;font-weight:900}.product-includes ul{display:grid;gap:7px;padding-left:18px}.product-includes li{color:#515b66;font-size:13px;line-height:1.55}.product-includes li::marker{color:var(--accent)}.product-includes small{display:block;margin-top:14px;padding-top:11px;border-top:1px dashed var(--line);color:var(--muted);font-size:11px;line-height:1.55}.notice{margin-top:12px;padding:12px 14px;background:#fbf4e8;border-left:4px solid var(--accent);color:#755b35;font-size:13px}

.consult-form{display:grid;grid-template-columns:.85fr 1.15fr;gap:38px;align-items:start;margin-top:30px;padding:24px;background:var(--main);color:#fff;border-radius:7px;}.consult-form h2,.consult-form h3{color:#fff;margin:6px 0}.cf-note{color:rgba(255,255,255,.68);font-size:14px}.form-fields{display:grid;gap:9px}.form-fields label{color:rgba(255,255,255,.78);font-size:12px;font-weight:800}.form-fields input,.form-fields select{display:block;width:100%;margin-top:4px;padding:12px 13px;border:1px solid rgba(255,255,255,.18);border-radius:3px;background:#fff;color:var(--ink);font-size:15px}.form-fields .btn-call{background:var(--accent);color:#fff}.cf-msg{min-height:18px;color:#ffe0a6;font-size:12px}.cf-done{grid-column:1/-1;padding:30px;text-align:center;color:#fff;font-size:20px;font-weight:800}.cf-done--night{display:grid;gap:18px;justify-items:center}.cf-done--night p{max-width:34em;margin:0;font-size:16px;font-weight:700;line-height:1.65}.cf-done--night .btn{max-width:360px}.cf-done--night .btn-call{background:var(--accent);color:#fff}
.process-list{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.process-list li{position:relative;padding:22px 18px;background:var(--card)}.process-list li>span{color:var(--accent);font:900 27px/1 "Avenir Next",sans-serif}.process-list h3{margin:14px 0 7px}.process-list p{color:var(--muted);font-size:14px}
.etiquette-list{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:20px;list-style:none}.etiquette-list li{display:flex;gap:9px;padding:15px;background:var(--card);border:1px solid var(--line);border-radius:3px}.etiquette-list svg{width:18px;height:18px;color:var(--accent);flex:0 0 auto;margin-top:3px}
.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);background:transparent;}.faq-list summary{position:relative;padding:18px 38px 18px 2px;list-style:none;cursor:pointer;color:var(--main);font-weight:800}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";position:absolute;right:8px;top:14px;color:var(--accent);font-size:24px}.faq-list details[open] summary::after{content:"–"}.faq-list details p{padding:0 38px 20px 2px;color:var(--muted);font-size:15px}
.faq-answers{padding:8px 32px;background:var(--card);border:1px solid var(--line);border-radius:6px}.faq-answers article{padding:24px 0;border-bottom:1px solid var(--line)}.faq-answers article:last-child{border-bottom:0}.faq-answers h3{display:flex;gap:8px;margin-bottom:12px;color:var(--main);font-size:17px}.faq-answers h3 span{color:var(--accent);flex:0 0 auto}.faq-answers p{display:flex;gap:9px;color:#647083;font-size:15px}.faq-answers p b{color:#8892a2;flex:0 0 auto}
.nearby-table{border-top:2px solid var(--main)}.nearby-table a{display:grid;grid-template-columns:1fr auto;gap:12px;padding:15px 10px;border-bottom:1px solid var(--line);text-decoration:none;align-items:center;transition:background .16s}.nearby-table a:hover{background:var(--card)}.nearby-table strong{color:var(--main)}.nearby-table span{color:var(--muted);font-size:13px}
footer{padding:40px 20px 55px;border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:13px}.footer-brand{margin-bottom:6px;color:var(--main);font-size:18px;font-weight:900;letter-spacing:.08em}.foot-links{margin-top:8px}.foot-links a{color:var(--muted)}
.sticky-cta{display:none;position:fixed;left:0;right:0;bottom:0;z-index:50;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--line);backdrop-filter:blur(10px)}.sticky-cta button,.sticky-cta a{display:flex;align-items:center;justify-content:center;flex:1;min-height:45px;border:0;border-radius:5px;font-weight:900;text-decoration:none}.sticky-cta svg{width:16px;height:16px;margin-right:5px}.s-call{background:var(--main);color:#fff}.s-sms{background:#fff;color:var(--main);border:1px solid var(--main)!important}
/* Home */
.home-hero{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;min-height:620px;padding:52px 0 80px}.home-hero h1{margin:12px 0 22px;font-size:clamp(42px,6.4vw,76px)}.home-hero-copy>.intro{max-width:600px}.hero-counts{display:flex;gap:1px;margin:28px 0;background:var(--line);border:1px solid var(--line)}.hero-counts div{min-width:110px;flex:1;padding:12px 14px;background:var(--card)}.hero-counts b{display:block;color:var(--main);font-size:22px}.hero-counts span{display:block;color:var(--muted);font-size:11px}.home-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:520px}.home-priority-form{margin-top:-44px}.hero-mosaic{position:relative;height:510px}.hero-mosaic a{position:absolute;overflow:hidden;text-decoration:none;background:#fff;box-shadow:var(--soft-shadow)}.hero-mosaic img{width:100%;height:100%;object-fit:cover}.hero-mosaic span{position:absolute;left:0;right:0;bottom:0;padding:38px 12px 12px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff;font-size:13px;font-weight:800}.hero-mosaic small{display:block;opacity:.72;font-weight:500}.mosaic-1{left:0;top:0;width:72%;height:58%;border-radius:3px}.mosaic-2{right:0;top:18%;width:42%;height:45%;border:6px solid var(--bg);border-radius:3px}.mosaic-3{left:15%;bottom:0;width:62%;height:39%;border:6px solid var(--bg);border-radius:3px}

.region-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;list-style:none}.region-grid a{display:grid;grid-template-columns:1fr auto;gap:3px;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:3px;text-decoration:none;transition:transform .18s,box-shadow .18s}.region-grid a:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(30,35,40,.07)}.region-grid strong{color:var(--main);font-size:18px}.region-grid span{color:var(--accent);font-weight:800}.region-grid small{grid-column:1/-1;color:var(--muted)}
.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.featured-grid a{overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:3px;text-decoration:none}.featured-grid img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top center;transition:transform .3s}.featured-grid a:hover img{transform:scale(1.025)}.featured-grid a>div{padding:12px 14px}.featured-grid strong,.featured-grid span{display:block}.featured-grid strong{color:var(--main)}.featured-grid span{color:var(--muted);font-size:12px}
.decision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.decision-grid article{padding:24px;background:var(--card);border:1px solid var(--line);border-radius:3px}.decision-grid b{color:var(--accent);font:900 26px/1 "Avenir Next",sans-serif}.decision-grid h3{margin:18px 0 8px}.decision-grid p{color:var(--muted);font-size:14px}
/* Region */
.region-hero{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;padding:42px 0 58px;border-bottom:1px solid var(--line)}.region-hero h1{margin:10px 0 18px}.region-hero .intro{max-width:730px}.region-stats{display:grid;grid-template-columns:repeat(3,1fr);min-width:420px;background:var(--line);gap:1px}.region-stats div{padding:15px;background:var(--card)}.region-stats dt{color:var(--muted);font-size:11px}.region-stats dd{color:var(--main);font-size:21px;font-weight:900}.region-photo-section{margin-top:70px}.city-group{margin-bottom:40px}.city-title{display:flex;align-items:center;gap:10px;margin-bottom:8px;padding-bottom:8px;border-bottom:2px solid var(--main);list-style:none;cursor:pointer}.city-title::-webkit-details-marker{display:none}.city-title::after{content:"+";color:var(--accent);font-size:24px;line-height:1}.city-group[open] .city-title::after{content:"–"}.city-title h3{font-size:21px}.city-title span{margin-left:auto;color:var(--accent);font-weight:900}.home-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);list-style:none}.home-list li{background:var(--card)}.home-list a{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:14px 16px;text-decoration:none}.home-list strong{color:var(--main)}.addr-sub{grid-column:1;color:var(--muted);font-size:12px}.home-spec{grid-column:2;grid-row:1/3;align-self:center;color:var(--accent);font-size:12px;font-weight:800}
@media(max-width:900px){
  .hero-detail,.home-hero{grid-template-columns:1fr;gap:24px}.hero-photo{max-width:380px;margin:0 auto}.home-hero{min-height:auto;padding:40px 0 70px}.hero-mosaic{height:430px;max-width:650px;width:100%;margin:0 auto}.products{grid-template-columns:repeat(2,1fr)}.process-list{grid-template-columns:repeat(2,1fr)}.region-grid{grid-template-columns:repeat(3,1fr)}.region-hero{grid-template-columns:1fr}.region-stats{min-width:0}.facility-summary-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  body{padding-bottom:72px;font-size:15px}.top{padding:13px 0}.brand{font-size:16px;letter-spacing:0}.brand img{width:32px;height:32px}.top nav{gap:10px}.top nav a{font-size:12px}.breadcrumb{margin-bottom:12px}main{width:min(100% - 22px,1100px);padding-top:14px}.hero-detail{padding:18px;margin-top:0}.hero-photo{width:100%;max-width:360px}.hero-photo img{max-height:270px}.hero-copy{text-align:left}.hero-copy .intro{font-size:15px}.quick-facts{grid-template-columns:repeat(2,1fr)}.cta-box{margin:16px 0 54px;padding:20px 14px}.cta-actions{grid-template-columns:1fr}.cta-note{line-height:1.55}.content-section{margin-bottom:62px}.section-heading{gap:10px}.section-heading>span{width:32px;height:32px}.insight-grid,.checklist-grid,.photo-gallery,.transport-grid,.etiquette-list,.decision-grid,.featured-grid,.home-list{grid-template-columns:1fr}.info-intro-card{padding:22px 18px}.info-intro-card h3{font-size:19px}.facility-summary-grid{grid-template-columns:1fr}.facility-summary-grid div{min-height:0;padding:20px 18px}.facility-summary-grid div:last-child:nth-child(3n+2){grid-column:auto}.faq-answers{padding:4px 18px}.faq-answers article{padding:21px 0}.faq-answers h3,.faq-answers p{font-size:14px}.products{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}.product{min-width:250px;scroll-snap-align:start}.product[open]{min-width:min(320px,calc(100vw - 44px))}.consult-form{grid-template-columns:1fr;gap:20px;padding:22px 16px}.process-list{grid-template-columns:1fr}.nearby-table a{grid-template-columns:1fr auto}.home-hero h1{font-size:42px}.home-priority-form{margin-top:-34px}.hero-counts div{min-width:0;flex:1;padding:10px}.home-actions{grid-template-columns:1fr}.hero-mosaic{height:340px}.region-grid{grid-template-columns:repeat(2,1fr)}.region-grid a{padding:12px}.region-grid strong{font-size:16px}.region-stats{grid-template-columns:1fr}.region-stats div{display:flex;justify-content:space-between}.home-spec{grid-column:1;grid-row:auto}.home-list a{grid-template-columns:1fr}.region-featured a:nth-child(n+4){display:none}.sticky-cta{display:flex}
}

@media(max-width:380px){.region-grid{grid-template-columns:1fr}.hero-counts b{font-size:18px}.top nav a:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}