.hkx-section{padding-block:clamp(48px,7vw,88px);scroll-margin-top:90px;}
.hkx-section h2{margin:0 0 24px;font-family:var(--serif);font-size:clamp(26px,3.2vw,38px);font-weight:500;line-height:1.6;letter-spacing:.02em;}
.hkx-section h3{font-family:var(--serif);font-size:21px;font-weight:500;line-height:1.65;}
.hkx-section p{font-size:15px;line-height:2;}
.hkx-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:end;margin-bottom:32px;}
.hkx-heading h2{margin-bottom:0;}
.hkx-heading>p{margin:0;color:var(--stone);max-width:38em;}
.hkx-areas,.hkx-visit{background:#F3F5F2;}
.hkx-area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.hkx-area-card{display:flex;flex-direction:column;min-width:0;padding:28px 24px;background:#fff;border:1px solid var(--line);border-radius:8px;}
.hkx-area-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:110px;}
.hkx-area-top img{width:128px;height:110px;object-fit:contain;flex:none;}
.hkx-section .hkx-number{margin:0;font:600 11px/1.8 var(--sans);letter-spacing:.14em;color:var(--water);}
.hkx-area-card h3{margin:18px 0 16px;font-size:21px;}
.hkx-area-card h3 span{display:block;margin-top:8px;font-family:var(--sans);font-size:13px;color:var(--stone);font-weight:400;}
.hkx-area-card>p{margin:0 0 16px;font-size:14px;}
.hkx-area-card dl{margin:0 0 24px;}
.hkx-area-card dl>div{padding:12px 0;border-top:1px solid var(--line);}
.hkx-area-card dt{font-size:12px;font-weight:700;color:var(--water);margin-bottom:4px;}
.hkx-area-card dd{margin:0;font-size:13px;line-height:1.9;color:var(--stone);}
.hkx-card-links{display:grid;gap:8px;margin-top:auto;}
.hkx-card-links a,.hkx-link{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:8px 0;font-size:13px;color:#24646D;text-decoration:underline;text-underline-offset:4px;line-height:1.8;}
.hkx-section .hkx-source{margin:22px 0 0;font-size:12px;color:var(--stone);line-height:1.9;}
.hkx-source a,.hkx-inline-links a,.hkx-faq-list a{text-decoration:underline;text-underline-offset:4px;color:#24646D;}
.hkx-town-search{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:32px;align-items:center;margin-top:36px;padding:28px;border-top:1px solid #B9C9C2;border-bottom:1px solid #B9C9C2;}
.hkx-town-search h3{margin:0 0 10px;font-size:20px;}
.hkx-town-search p{margin:0;font-size:13px;color:var(--stone);}
.hkx-town-search nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.hkx-town-search nav a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:4px;font-size:14px;}
.hkx-town-search nav a:hover{background:#E9F2F1;border-color:var(--water);}
.hkx-access-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;}
.hkx-access-grid article{padding-top:22px;border-top:2px solid var(--water);min-width:0;}
.hkx-access-grid h3{margin:12px 0;}
.hkx-access-grid article>p:not(.hkx-number){color:var(--stone);font-size:14px;margin:0 0 12px;}
.hkx-rain{margin-top:32px;padding:24px 28px;background:#F3F5F2;border-left:3px solid var(--water);}
.hkx-rain h3{margin:0 0 10px;font-size:19px;}
.hkx-rain p{margin:0;font-size:14px;}
.hkx-inline-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:16px;}
.hkx-inline-links a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;line-height:1.8;}
.hkx-visit-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;list-style:none;margin:0 0 32px;padding:0;}
.hkx-visit-steps li{display:flex;gap:16px;min-width:0;}
.hkx-visit-steps li>span{font:500 25px/1.5 var(--serif);color:var(--water);}
.hkx-visit-steps h3{margin:0 0 12px;font-size:20px;}
.hkx-visit-steps p{margin:0;color:var(--stone);font-size:14px;}
.hkx-trial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:36px;}
.hkx-trial-grid article{padding:24px 28px;background:#fff;border:1px solid var(--line);border-radius:6px;}
.hkx-trial-grid h3{margin:0 0 12px;font-size:20px;}
.hkx-trial-grid p{margin:0 0 8px;font-size:14px;color:var(--stone);}
.hkx-check-panel{padding:32px;background:#fff;border:1px solid var(--line);border-radius:8px;}
.hkx-check-intro{display:flex;gap:24px;align-items:center;margin-bottom:20px;}
.hkx-check-intro img{width:100px;height:85px;object-fit:contain;flex:none;}
.hkx-check-intro h3{margin:0 0 10px;font-size:23px;}
.hkx-check-intro p{margin:0;font-size:13px;color:var(--stone);}
.hkx-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;border:0;min-width:0;}
.hkx-checklist legend{font-size:13px;margin-bottom:12px;color:var(--stone);}
.hkx-checklist label{display:flex;align-items:flex-start;gap:12px;padding:18px;border:1px solid var(--line);border-radius:5px;cursor:pointer;}
.hkx-checklist input{appearance:auto;width:20px;height:20px;flex:none;margin:3px 0 0;accent-color:#2E7C86;}
.hkx-checklist strong{display:block;font-size:15px;font-weight:600;line-height:1.8;}
.hkx-checklist small{display:block;margin-top:6px;font-size:12px;line-height:1.9;color:var(--stone);}
.hkx-checklist label:has(input:checked){background:#E9F2F1;border-color:#7FAEA7;}
.hkx-faq-wrap{max-width:920px;}
.hkx-faq-list{border-top:1px solid var(--line);}
.hkx-faq-list details{padding:0;border-bottom:1px solid var(--line);}
.hkx-faq-list summary{position:relative;list-style:none;cursor:pointer;padding:22px 40px 22px 0;font-size:16px;font-weight:600;line-height:1.8;}
.hkx-faq-list summary::-webkit-details-marker{display:none;}
.hkx-faq-list summary::after{content:'+';position:absolute;right:8px;top:22px;font:400 24px/1.2 var(--sans);color:var(--water);}
.hkx-faq-list details[open] summary::after{content:'−';}
.hkx-faq-list details>div{padding:0 32px 24px 0;}
.hkx-faq-list p{margin:0 0 12px;font-size:14px;color:var(--stone);}
.hkx-faq-list a{display:inline-flex;min-height:44px;align-items:center;font-size:14px;}
.hkx-bottom-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px;}
.hkx-bottom-actions .btn{white-space:normal;line-height:1.7;text-align:center;}
@media(max-width:1000px){.hkx-area-top{display:block;}.hkx-area-top img{margin:8px auto 0;}.hkx-area-card{padding:24px 18px;}.hkx-area-card h3{font-size:19px;}}
@media(max-width:760px){
 .hkx-heading,.hkx-area-grid,.hkx-access-grid,.hkx-visit-steps,.hkx-trial-grid,.hkx-town-search{grid-template-columns:minmax(0,1fr);gap:24px;}
 .hkx-area-card{padding:24px;}.hkx-area-top{display:flex;}.hkx-area-top img{margin:0;}.hkx-area-card h3{font-size:21px;}
 .hkx-town-search{padding:24px 0;}.hkx-town-search nav{grid-template-columns:repeat(4,minmax(0,1fr));}
 .hkx-check-panel{padding:24px 18px;}.hkx-checklist{grid-template-columns:minmax(0,1fr);}
 .hkx-check-intro{gap:16px;align-items:flex-start;flex-direction:column;}.hkx-check-intro img{width:72px;height:64px;}.hkx-check-intro h3{font-size:21px;}
 .hkx-rain,.hkx-trial-grid article{padding:22px;}.hkx-faq-list summary{font-size:15px;}.hkx-faq-list details>div{padding-right:0;}
}
@media(max-width:380px){.hkx-town-search nav{grid-template-columns:repeat(2,minmax(0,1fr));}.hkx-area-card{padding:20px;}.hkx-area-top img{width:110px;}.hkx-check-intro{flex-direction:column;}.hkx-bottom-actions .btn{width:100%;}}
