:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Noto Sans TC","PingFang HK","Microsoft JhengHei",sans-serif;color:#222529;background:#f8f7f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.wrap,.top-inner{width:min(1160px,calc(100% - 40px));margin:auto}.top{background:#fff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:10}.top-inner{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:10px;align-items:center;color:#bb1829;font-size:22px;font-weight:900;letter-spacing:.02em}.brand small{display:block;color:#73767b;font-size:9px;letter-spacing:.19em}.brand-mark{width:42px;height:42px;background:#c51d31;color:#fff;border-radius:12px;display:grid;place-items:center;font-size:26px;box-shadow:0 5px 15px #c51d3133}.top nav{display:flex;gap:26px;font-size:14px;font-weight:700}.top nav a:hover,.crumb a:hover{color:#c51d31}.hero{background:radial-gradient(circle at 85% 15%,#dc4050 0%,transparent 38%),linear-gradient(125deg,#7c091a,#bd172d 55%,#8d0d20);color:#fff;padding:72px 0 78px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#c51d31}.hero .eyebrow{color:#ffd4d8}.hero h1{font-size:clamp(38px,6vw,70px);line-height:1.13;letter-spacing:-.04em;margin:14px 0}.hero h1 em{font-style:normal;color:#ffdddf}.hero p{color:#ffe0e4;max-width:570px;font-size:18px;line-height:1.7}.hero small{display:block;margin-top:17px;color:#ffced4}.search-panel{max-width:760px;background:#fff;color:#292b30;padding:20px;border-radius:18px;box-shadow:0 18px 46px #43000f55;margin-top:30px}.search-panel label{display:block;font-size:13px;font-weight:800;margin-bottom:10px}.search-row{display:flex;gap:9px}.search-row input{flex:1;min-width:0;border:1px solid #dddfe2;border-radius:10px;padding:14px}.search-row button,.button{background:#bf1b30;color:#fff;border:0;border-radius:10px;padding:13px 22px;font-weight:800;cursor:pointer;display:inline-block}.search-row button:hover,.button:hover{background:#981225}.select-row{display:flex;gap:9px;margin-top:10px}.select-row select{width:50%;border:1px solid #dddfe2;background:#fff;border-radius:9px;padding:11px;color:#292b30}.section{padding:55px 0 12px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:22px}.section h2{font-size:29px;letter-spacing:-.035em;margin:7px 0}.regions{display:flex;flex-wrap:wrap;gap:10px}.region-pill{border:1px solid #e7d8db;background:#fff;border-radius:100px;padding:11px 18px;font-weight:750;cursor:pointer}.region-pill span{color:#ad6670;font-size:12px;margin-left:5px}.region-pill.active,.region-pill:hover{background:#c51d31;color:#fff;border-color:#c51d31}.region-pill.active span,.region-pill:hover span{color:#ffdbe0}.count,.muted{color:#7b7f86;font-size:13px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{background:#fff;border:1px solid #eceaeb;border-radius:16px;padding:22px;min-height:168px;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}.card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #2d182115}.card h3{font-size:19px;margin:10px 0;line-height:1.4}.card p{font-size:13px;color:#6c7076;line-height:1.5;margin:auto 0 15px}.card .area{color:#b21b2f;font-weight:800;font-size:12px}.card .arrow{color:#c51d31;font-weight:800;font-size:13px}.more{display:block;margin:28px auto 42px;border:1px solid #c51d31;background:#fff;color:#b3172c;border-radius:10px;padding:12px 30px;cursor:pointer;font-weight:800}.ad-wide{height:110px;border:1px dashed #d9d3d4;background:#f1eeee;border-radius:12px;color:#aaa;display:grid;place-items:center;position:relative;margin:28px auto 65px}.ad-label{position:absolute;top:8px;left:12px;color:#999;font-size:10px}.detail{padding:30px 0 80px}.crumb{font-size:13px;color:#85858c;margin-bottom:24px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px}.detail article,.side-card{background:#fff;border:1px solid #ece9ea;border-radius:16px;padding:28px}.detail h1{font-size:clamp(29px,4vw,42px);line-height:1.3;margin:10px 0 20px}.location{display:flex;gap:10px;color:#555b62;line-height:1.6}.location span:first-child{color:#c51d31;font-size:23px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.ghost{border:1px solid #ddd;border-radius:10px;padding:12px 18px;font-weight:750}.content{border-top:1px solid #eee;padding-top:10px;line-height:1.75;overflow-x:auto}.content h2{font-size:22px;margin:28px 0 12px}.content h3{font-size:18px}.content table{width:100%;border-collapse:collapse;margin:15px 0 23px}.content td,.content th{border:1px solid #e6e6e6;padding:11px;vertical-align:top}.content tr:nth-child(even){background:#faf7f7}.content a{color:#ba1930;text-decoration:underline}.content ul{padding-left:23px}.notice{color:#777;font-size:12px;border-top:1px solid #eee;padding-top:20px}.detail aside{display:flex;flex-direction:column;gap:16px}.side-card{position:relative}.side-card h2{font-size:17px;margin:0 0 14px}.side-card p{font-size:13px;color:#686d73;line-height:1.6}.ad-box{height:220px;display:grid;place-items:center;background:#f2efef;color:#aaa;border:1px dashed #ddd;border-radius:9px}footer{background:#262328;color:#fff;padding:42px 0}footer p,footer small{color:#b8b4b8;font-size:13px}footer strong{font-size:18px}@media(max-width:850px){.cards{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.detail aside{display:grid;grid-template-columns:1fr 1fr}}@media(max-width:600px){.top-inner{height:65px}.top nav{gap:12px;font-size:12px}.brand{font-size:17px}.brand-mark{width:35px;height:35px;font-size:21px}.hero{padding:54px 0 60px}.hero p{font-size:16px}.search-panel{padding:15px}.search-row button{padding:11px 14px}.section{padding-top:40px}.cards{grid-template-columns:1fr}.detail article,.side-card{padding:19px}.detail aside{grid-template-columns:1fr}.select-row select{font-size:13px}}

[hidden]{display:none!important}.hk-districts{padding-top:30px}.district-chips{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.district-chip{display:block;background:#fff;border:1px solid #e7d8db;border-radius:12px;padding:15px;text-align:center;font-weight:750;color:#4c343a}.district-chip:hover,.district-chip.active{background:#fff0f2;border-color:#c51d31;color:#b3172c}.district-chip:focus-visible{outline:3px solid #c51d31;outline-offset:2px}@media(max-width:850px){.district-chips{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:600px){.district-chips{grid-template-columns:repeat(3,minmax(0,1fr))}.district-chip{padding:13px 7px;font-size:14px}.hk-districts .section-head{align-items:center}}

.brand-logo{display:block;width:64px;height:64px;object-fit:contain;flex-shrink:0}.brand{gap:8px}@media(max-width:600px){.brand-logo{width:50px;height:50px}.brand{gap:5px}}

/* Responsive district image cards */
.district-chips{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.district-chip{display:block;padding:0;overflow:hidden;border:1px solid #eadfda;border-radius:16px;text-align:left;background:#fff;transition:transform .2s,box-shadow .2s}
.district-photo{display:block;aspect-ratio:16/10;overflow:hidden;background:#f5ece7}
.district-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:58% 45%;transition:transform .3s}
.district-placeholder{height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5e9e4,#ead6ce);color:#a8453e;font-size:28px;font-weight:700;letter-spacing:.12em}
.district-caption{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;font-size:17px;font-weight:700;color:#342726}
.district-caption>span{color:#c72f32;font-size:21px}
.district-chip:hover{transform:translateY(-3px);box-shadow:0 10px 24px #61231c12}
.district-chip:hover img{transform:scale(1.04)}
.district-chip.active{border-color:#c72f32;box-shadow:0 0 0 2px #c72f3220}
.district-chip:focus-visible{outline:3px solid #c72f32;outline-offset:4px}
@media(max-width:850px){.district-chips{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}
@media(max-width:600px){.district-chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.district-photo{aspect-ratio:4/3}.district-caption{padding:12px;font-size:16px}.district-placeholder{font-size:22px}.district-chip{border-radius:12px}}

.regions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.region-card{display:block;width:100%;padding:0;overflow:hidden;text-align:left;border-radius:16px;background:#fff;border:1px solid #eadfda}.region-card .district-caption{flex-wrap:wrap;gap:5px}.region-card .region-count{font-size:12px;font-weight:400;color:#786c69}.region-card.active{border-color:#c72f32;box-shadow:0 0 0 2px #c72f3220}.region-card.active .district-caption{color:#c72f32}.region-card:hover img{transform:scale(1.04)}@media(max-width:600px){.regions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.region-card{border-radius:12px}}

.district-page{padding-bottom:60px}.district-page h1{font-size:clamp(30px,5vw,46px);line-height:1.3;margin:14px 0}.district-intro{max-width:820px;color:#62666d;line-height:1.8}.district-search{max-width:760px;margin:28px 0}.district-search label{display:block;font-weight:750;margin-bottom:10px}.district-results{margin-top:36px}.district-results h2{margin:0;font-size:25px}.district-links{display:flex;flex-wrap:wrap;gap:10px}.district-link{background:#fff;border:1px solid #e7d8db;border-radius:10px;padding:12px 18px;font-weight:750}.district-link:hover{border-color:#c51d31;color:#b3172c}.district-link:focus-visible{outline:3px solid #c51d31;outline-offset:2px}.district-page section[id]{scroll-margin-top:100px}

/* District directory cards and a clear homepage directory link */
#static-district-index{margin-top:24px;margin-bottom:32px}
#static-district-index .ghost{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 20px;min-height:48px;text-decoration:none;background:#fff;border:1px solid #eadfda;border-radius:12px;line-height:1.4}
.district-page .district-chips{margin-top:20px}
@media(max-width:600px){.regions{grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible}.region-card{min-width:0}.region-card .district-caption{font-size:16px}.region-card .region-count{font-size:11px}#static-district-index .ghost{width:100%}}

/* Explicit AdSense placements */
.ad-wide.manual-ad,.ad-box.manual-ad{display:block;height:auto;min-width:0;min-height:120px;padding:26px 0 0;border:0;background:transparent;position:relative;border-radius:0}
.ad-box.manual-ad{min-height:250px}.manual-ad .ad-label{top:4px;left:0;font-size:11px}.manual-ad .adsbygoogle{width:100%}
