
: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}
