
:root{--ink:#1a1a2e;--muted:#5b6472;--line:#e9e6df;--red:#e11d48;--gold:#f59e0b;--paper:#fbf7f0;--card:#fff;--shadow:0 4px 18px rgba(30,20,10,.07);--green:#15803d;--blue:#1d4ed8}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--red);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:900px;margin:0 auto;padding:0 20px}
header{background:#fff;border-bottom:1px solid var(--line);padding:14px 0}
.nav-inner{display:flex;align-items:center;justify-content:space-between}
.logo{font-weight:800;font-size:18px;color:var(--ink)}.logo span{color:var(--red)}
.btn{display:inline-block;padding:8px 18px;border-radius:8px;font-weight:600;font-size:14px}
.btn-plan{background:var(--red);color:#fff}
footer{border-top:1px solid var(--line);padding:24px 0;text-align:center;color:var(--muted);font-size:13px;margin-top:20px}

/* hero */
.hero{padding:48px 0 32px;border-bottom:1px solid var(--line)}
.hero-emoji{font-size:48px;line-height:1;margin-bottom:12px}
.hero h1{font-size:clamp(24px,5vw,38px);font-weight:900;letter-spacing:-.02em;line-height:1.2}
.hero .sub{color:var(--muted);margin-top:10px;font-size:15px;max-width:680px}
.hero-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.chip{background:#f1ede7;border-radius:20px;padding:5px 13px;font-size:13px;color:var(--muted)}
.nav-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.nav-link{font-size:12px;font-weight:700;color:var(--red);background:#fff5f5;border:1px solid #fecaca;border-radius:20px;padding:4px 12px}

/* stats row */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:28px 0}
.stat-card{background:#fff;border-radius:12px;border:1px solid var(--line);padding:14px;text-align:center}
.stat-num{font-size:24px;font-weight:900;color:var(--red);line-height:1}
.stat-lbl{font-size:12px;color:var(--muted);margin-top:4px}
@media(max-width:600px){.stats-row{grid-template-columns:repeat(2,1fr)}}

/* section headers */
.sec-h{font-size:20px;font-weight:900;margin-bottom:6px}
.sec-sub{font-size:13.5px;color:var(--muted);margin-bottom:18px;line-height:1.6}
.section{padding:36px 0 0}

/* generic 2-col grid */
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(max-width:600px){.g2{grid-template-columns:1fr}}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:600px){.g3{grid-template-columns:1fr}}

/* card */
.card{background:#fff;border-radius:12px;border:1px solid var(--line);padding:16px}
.card-ico{font-size:22px;margin-bottom:8px}
.card-nm{font-weight:800;font-size:14px;margin-bottom:6px}
.card-txt{font-size:13px;color:var(--muted);line-height:1.7}
.card-txt strong{color:var(--ink)}

/* community cards */
.community-card{background:#fff;border-radius:12px;border:1px solid var(--line);padding:16px}
.com-flag{font-size:26px;margin-bottom:6px}
.com-nm{font-weight:800;font-size:14px;margin-bottom:2px}
.com-share{font-size:11px;color:var(--red);font-weight:700;margin-bottom:8px}
.com-txt{font-size:12.5px;color:var(--muted);line-height:1.65}
.com-txt strong{color:var(--ink)}

/* district cards */
.district-card{background:#fff;border-radius:12px;border:1px solid var(--line);padding:16px;position:relative}
.dist-badge{position:absolute;top:12px;right:12px;background:var(--red);color:#fff;font-size:10px;font-weight:800;padding:2px 8px;border-radius:20px}
.dist-ico{font-size:26px;margin-bottom:6px}
.dist-nm{font-weight:800;font-size:15px;margin-bottom:4px}
.dist-sub{font-size:12px;color:var(--muted);margin-bottom:10px}
.dist-txt{font-size:13px;color:#374151;line-height:1.65}
.dist-tag{display:inline-block;font-size:11px;padding:2px 8px;border-radius:20px;background:#f1ede7;color:var(--muted);margin-right:4px;margin-top:8px}

/* price table */
.price-table{background:#fff;border-radius:12px;border:1px solid var(--line);overflow:hidden}
.pt-row{display:grid;grid-template-columns:1fr auto;gap:16px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:13.5px}
.pt-row:last-child{border-bottom:none}
.pt-row:first-child{background:#f6f8fa;font-weight:800;font-size:13px;color:var(--muted)}
.pt-price{font-weight:800;color:var(--green);white-space:nowrap}

/* work section */
.job-card{background:#fff;border-radius:12px;border:1px solid var(--line);padding:14px 16px}
.job-tag{font-size:11px;font-weight:700;color:#6d28d9;background:#ede9fe;border-radius:20px;padding:2px 9px;margin-bottom:8px;display:inline-block}
.job-nm{font-weight:800;font-size:14px;margin-bottom:4px}
.job-salary{font-size:13px;font-weight:700;color:var(--green);margin-bottom:6px}
.job-txt{font-size:12.5px;color:var(--muted);line-height:1.6}

/* permit levels */
.permit-grid{display:flex;flex-direction:column;gap:10px}
.permit-card{border-radius:12px;padding:14px 16px;border:1px solid}
.permit-a{background:#f0fdf4;border-color:#bbf7d0}
.permit-b{background:#eff6ff;border-color:#bfdbfe}
.permit-c{background:#f9fafb;border-color:var(--line)}
.permit-level{font-size:11px;font-weight:800;letter-spacing:.06em;margin-bottom:4px}
.permit-nm{font-weight:800;font-size:14px;margin-bottom:6px}
.permit-txt{font-size:13px;color:#374151;line-height:1.65}

/* climate */
.season-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.season-card{border-radius:12px;padding:14px;text-align:center}
.spring{background:#f0fdf4;border:1px solid #bbf7d0}
.summer{background:#fff5f5;border:1px solid #fecaca}
.autumn{background:#fefce8;border:1px solid #fde68a}
.winter{background:#eff6ff;border:1px solid #bfdbfe}
.sea-ico{font-size:28px;margin-bottom:6px}
.sea-nm{font-weight:800;font-size:13px;margin-bottom:4px}
.sea-temp{font-size:12px;font-weight:700;color:var(--muted);margin-bottom:6px}
.sea-txt{font-size:12px;color:#374151;line-height:1.5;text-align:left}
@media(max-width:580px){.season-grid{grid-template-columns:repeat(2,1fr)}}

/* warning style */
.warn-box{background:#fff5f5;border-radius:12px;border:1px solid #fecaca;padding:14px 16px}
.warn-tag{font-size:11px;font-weight:800;color:#dc2626;letter-spacing:.05em;margin-bottom:4px}
.warn-nm{font-weight:800;font-size:14px;margin-bottom:6px;color:#7f1d1d}
.warn-txt{font-size:13px;color:#374151;line-height:1.65}

/* perk */
.perk-item{background:#fffbf0;border:1px solid #fde68a;border-radius:12px;padding:12px 16px;display:flex;gap:12px;align-items:flex-start}
.perk-ico{font-size:20px;flex-shrink:0;margin-top:2px}
.perk-nm{font-weight:800;font-size:14px;margin-bottom:4px}
.perk-txt{font-size:13px;color:#374151;line-height:1.65}
.perks-list{display:flex;flex-direction:column;gap:10px}

/* pros cons */
.proscons{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:580px){.proscons{grid-template-columns:1fr}}
.pros-col{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:16px}
.cons-col{background:#fff5f5;border:1px solid #fecaca;border-radius:12px;padding:16px}
.pc-hd{font-weight:800;font-size:14px;margin-bottom:12px}
.pc-item{font-size:13px;line-height:1.6;padding:6px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.pc-item:last-child{border-bottom:none}
.pc-item::before{content:'• ';font-weight:700}

/* CTA */
.cta-box{background:#1a1a2e;color:#fff;border-radius:16px;padding:32px;text-align:center;margin:40px 0}
.cta-box h3{font-size:20px;font-weight:800;margin-bottom:8px}
.cta-box p{color:rgba(255,255,255,.72);margin-bottom:18px;font-size:14px}
.btn-cta{background:var(--red);color:#fff;padding:12px 26px;border-radius:10px;font-weight:700;font-size:14px;display:inline-block;margin:4px}
.btn-cta2{background:rgba(255,255,255,.15);color:#fff;padding:12px 26px;border-radius:10px;font-weight:700;font-size:14px;display:inline-block;margin:4px;border:1px solid rgba(255,255,255,.3)}

/* faq */
.faq-section{padding:36px 0 0}
.faq-section>h2{font-size:20px;font-weight:900;margin-bottom:20px}
.faq-item{border-bottom:1px solid var(--line);padding:16px 0}
.faq-item:last-child{border-bottom:none}
.faq-q{font-weight:700;font-size:15px;margin-bottom:8px;display:flex;align-items:flex-start;gap:10px}
.faq-q::before{content:'Q';flex-shrink:0;width:24px;height:24px;background:var(--red);color:#fff;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;margin-top:1px}
.faq-a{color:var(--muted);font-size:14px;line-height:1.75;padding-left:34px}

/* emergency */
.emergency-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.emer-card{background:#fff;border-radius:10px;border:1px solid var(--line);padding:12px;text-align:center}
.emer-num{font-size:22px;font-weight:900;color:var(--red);margin-bottom:2px}
.emer-nm{font-size:12px;font-weight:700;margin-bottom:4px}
.emer-txt{font-size:11px;color:var(--muted)}
@media(max-width:580px){.emergency-grid{grid-template-columns:repeat(2,1fr)}}

/* tip box */
.tip-box{font-size:13px;color:#92400e;background:#fef3c7;border-left:3px solid var(--gold);padding:10px 14px;border-radius:0 8px 8px 0;margin-top:14px;line-height:1.65}

/* anchor nav */
.anchor-nav{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin:28px 0}
.anchor-nav h3{font-size:13px;font-weight:800;color:var(--muted);letter-spacing:.06em;margin-bottom:10px}
.anchor-links{display:flex;flex-wrap:wrap;gap:6px}
.anchor-links a{font-size:12.5px;font-weight:600;color:var(--red);background:#fff5f5;border:1px solid #fecaca;border-radius:20px;padding:4px 12px;text-decoration:none}
.anchor-links a:hover{background:#fee2e2}

/* quick nav */
.quick-nav{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 24px;padding:14px 18px;background:#fff;border:1px solid var(--line);border-radius:12px}
.quick-nav a{font-size:12.5px;font-weight:600;color:var(--red);background:#fff5f5;border:1px solid #fecaca;border-radius:20px;padding:4px 12px;text-decoration:none}
.quick-nav a:hover{background:#fee2e2}

/* stats bar */
.stats-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:0;background:#fff;border-radius:12px;margin-bottom:24px;overflow:hidden;border:1px solid var(--line)}
.stat-item{padding:14px 10px;text-align:center;border-right:1px solid var(--line)}
.stat-item:last-child{border-right:none}
.stat-num{display:block;font-size:20px;font-weight:900;color:var(--red)}
.stat-lbl{display:block;font-size:11px;color:var(--muted);margin-top:2px}
@media(max-width:640px){.stats-bar{grid-template-columns:1fr 1fr}}

/* community */
.community-grid{display:grid;gap:14px;margin-top:16px}
@media(min-width:640px){.community-grid{grid-template-columns:1fr 1fr}}
.comm-card{background:#fafaf8;border:1px solid var(--line);border-radius:12px;padding:16px}
.comm-flag{font-size:22px;margin-bottom:8px}
.comm-card h3{font-size:14px;font-weight:800;margin-bottom:4px}
.comm-pct{font-size:12px;font-weight:700;color:var(--red);margin-bottom:10px}
.comm-card p{font-size:13px;color:#374151;line-height:1.65;margin-bottom:6px}

/* districts */
.district-list{display:flex;flex-direction:column;gap:14px;margin-top:16px}
.district-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}
.dist-badge{display:inline-block;font-size:11px;font-weight:700;color:#7c3aed;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:20px;padding:3px 10px;margin-bottom:10px}
.dist-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.dtag{font-size:11px;padding:3px 10px;background:#f9fafb;border:1px solid var(--line);border-radius:12px;color:var(--muted)}
.district-card h3{font-size:15px;font-weight:800;margin-bottom:8px}
.district-card p{font-size:13.5px;color:#374151;line-height:1.7;margin-bottom:6px}
.dist-note{font-size:12.5px;color:#92400e;background:#fef3c7;border-left:3px solid var(--gold);padding:8px 12px;border-radius:0 8px 8px 0;margin-top:6px!important}

/* rent table */
.rent-table-wrap{overflow-x:auto;margin-top:16px}
.rent-table{width:100%;border-collapse:collapse;font-size:13px}
.rent-table th{background:#f8f5f0;font-weight:800;padding:10px 12px;text-align:left;border-bottom:2px solid var(--line)}
.rent-table td{padding:10px 12px;border-bottom:1px solid #f3f0ea;color:#374151}
.rent-table tr:last-child td{border-bottom:none}
.rent-table tr:hover td{background:#fffbeb}

/* tips box */
.tips-box{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:16px 20px;margin-top:16px}
.tips-box h3{font-size:14px;font-weight:800;margin-bottom:10px}
.tips-box ul{padding-left:18px;font-size:13.5px;color:#374151;line-height:1.85}
.tips-box p{font-size:13.5px;color:#374151;line-height:1.7}

/* banking */
.bank-grid{display:grid;gap:14px;margin-top:16px}
@media(min-width:640px){.bank-grid{grid-template-columns:1fr 1fr}}
.bank-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}
.bank-card h3{font-size:14px;font-weight:800;margin-bottom:10px}
.bank-card p,.bank-card ol{font-size:13px;color:#374151;line-height:1.7;margin-bottom:6px}
.bank-card ol{padding-left:18px}

/* hospital */
.hospital-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.hosp-card{background:#fff;border-radius:12px;padding:16px;border:1px solid var(--line)}
.hosp-card.public{border-left:4px solid #059669}
.hosp-card.private{border-left:4px solid #7c3aed}
.hosp-type{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin-bottom:6px}
.hosp-card h3{font-size:14px;font-weight:800;margin-bottom:8px}
.hosp-card p{font-size:13px;color:#374151;line-height:1.65}

/* internet */
.internet-grid{display:grid;gap:14px;margin-top:16px}
@media(min-width:640px){.internet-grid{grid-template-columns:1fr 1fr}}
.int-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}
.int-card h3{font-size:14px;font-weight:800;margin-bottom:10px}
.int-card p,.int-card ul{font-size:13px;color:#374151;line-height:1.7;margin-bottom:6px}
.int-card ul{padding-left:18px}

/* shopping */
.shop-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.shop-item{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px}
.shop-ico{font-size:22px;flex-shrink:0;margin-top:2px}
.shop-item>div{font-size:13.5px;color:#374151;line-height:1.7}

/* season grid 2 */
.season-grid2{display:grid;gap:14px;margin-top:16px}
@media(min-width:640px){.season-grid2{grid-template-columns:1fr 1fr}}
.season-card2{background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.s2-header{padding:10px 16px;font-weight:800;font-size:14px;color:#fff}
.s2-header.spring{background:#86efac;color:#166534}
.s2-header.summer{background:#fbbf24;color:#78350f}
.s2-header.autumn{background:#fb923c;color:#7c2d12}
.s2-header.winter{background:#93c5fd;color:#1e3a5f}
.s2-body{padding:14px 16px}
.s2-body p{font-size:13px;color:#374151;line-height:1.65;margin-bottom:8px}

/* schools */
.school-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.school-item{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px}
.school-item h3{font-size:14px;font-weight:800;margin-bottom:8px}
.school-item p{font-size:13px;color:#374151;line-height:1.65}

/* perks */
.perk-list{display:flex;flex-direction:column;gap:14px;margin-top:16px}
.perk-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;border-left:4px solid #7c3aed}
.perk-icon{font-size:28px;margin-bottom:8px}
.perk-card h3{font-size:15px;font-weight:800;margin-bottom:8px}
.perk-card p{font-size:13px;color:#374151;line-height:1.7;margin-bottom:8px}
.perk-card ul{font-size:13px;color:#374151;line-height:1.85;padding-left:18px}

/* pitfalls */
.pitfall-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.pitfall-card{background:#fff;border-radius:10px;border:1px solid var(--line);border-left:4px solid var(--red);padding:14px}
.pitfall-card:last-child{border-left-color:#16a34a}
.pitfall-card h3{font-size:14px;font-weight:800;margin-bottom:8px;color:#9b1c1c}
.pitfall-card:last-child h3{color:#166534}
.pitfall-card p{font-size:13px;color:#374151;line-height:1.7}

/* pros/cons */
.proscons-grid{display:grid;gap:16px;margin-top:16px}
@media(min-width:640px){.proscons-grid{grid-template-columns:1fr 1fr}}
.pros-col,.cons-col{background:#fff;border-radius:12px;padding:16px;border:1px solid var(--line)}
.pros-col{border-top:4px solid #16a34a}
.cons-col{border-top:4px solid var(--red)}
.pros-col h3,.cons-col h3{font-size:14px;font-weight:800;margin-bottom:12px}
.pros-col ul,.cons-col ul{padding-left:18px;font-size:13px;color:#374151;line-height:2}

/* emergency (override) */
.emergency-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}
.em-card{background:#fff;border-radius:10px;border:1px solid var(--line);padding:12px;text-align:center}
.em-num{display:block;font-size:22px;font-weight:900;color:var(--red);margin-bottom:4px}
.em-lbl{display:block;font-size:11.5px;color:var(--muted);font-weight:600}
@media(max-width:580px){.emergency-grid{grid-template-columns:1fr 1fr}}

/* related section */
.related-section{margin:32px 0 0}
.related-section h2{font-size:20px;font-weight:900;margin-bottom:16px}
.related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(min-width:640px){.related-grid{grid-template-columns:repeat(4,1fr)}}
.related-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;text-align:center;display:block;text-decoration:none;transition:box-shadow .15s}
.related-card:hover{box-shadow:0 6px 20px rgba(30,20,10,.1)}
.r-ico{font-size:26px;margin-bottom:6px}
.r-nm{font-weight:800;font-size:13.5px;color:var(--ink);margin-bottom:4px}
.r-lnk{font-size:12px;color:var(--red)}
