:root{--bg:#f5f8f6;--card:#fff;--ink:#16201b;--mut:#5d6b62;--line:#dbe6df;--acc:#0f766e;--acc2:#1d4ed8;--water:#0891b2}@media (prefers-color-scheme:dark){:root{--bg:#0d1411;--card:#16201b;--ink:#e6efe9;--mut:#93a89b;--line:#24312a;--acc:#2dd4bf;--acc2:#60a5fa;--water:#22d3ee}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);margin:0;font:16px/1.65 -apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--water);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:1080px;margin:0 auto;padding:0 20px}header.site{border-bottom:1px solid var(--line);background:var(--card);z-index:500;position:sticky;top:0}header.site .brand{color:var(--ink);padding:14px 0;font-size:1.05rem;font-weight:600;display:inline-block}header.site .brand b{color:var(--acc);font-weight:800}.hero{color:#fff;background:linear-gradient(135deg,#065f46,#0891b2 55%,#1d4ed8);padding:54px 0 42px}.hero h1{letter-spacing:-.02em;margin:0 0 10px;font-size:2.15rem}.hero p{opacity:.94;max-width:660px;margin:0;font-size:1.06rem}.badge{background:#ffffff2e;border:1px solid #ffffff4d;border-radius:999px;margin-bottom:14px;padding:3px 12px;font-size:.78rem;display:inline-block}main{padding:30px 0 60px}h2.sec{margin:34px 0 14px;font-size:1.35rem}.map{margin:22px 0}.grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;display:grid}.card{background:var(--card);border:1px solid var(--line);color:inherit;border-radius:14px;flex-direction:column;transition:transform .12s;display:flex;overflow:hidden}.card:hover{text-decoration:none;transform:translateY(-3px)}.thumb{background-position:50%;background-size:cover;align-items:flex-end;height:132px;display:flex;position:relative;overflow:hidden}.thumb-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.thumb .kind{z-index:2;color:#fff;background:#0000008c;border-radius:6px;margin:8px;padding:3px 9px;font-size:.72rem;position:relative}.illus-tag{z-index:2;color:#fff;letter-spacing:.02em;background:#0009;border-radius:5px;padding:2px 7px;font-size:.64rem;position:absolute;top:8px;right:8px}.card .b{padding:12px 15px}.card h3{margin:0 0 4px;font-size:1rem}.card .m{color:var(--mut);font-size:.82rem}.tag{border:1px solid var(--line);color:var(--mut);border-radius:6px;margin-top:7px;padding:2px 8px;font-size:.7rem;display:inline-block}.state-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.state-card{background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:12px;padding:14px 16px}.state-card:hover{border-color:var(--acc);text-decoration:none}.state-card b{font-size:1rem;display:block}.state-card span{color:var(--mut);font-size:.82rem}.crumb{color:var(--mut);margin:16px 0;font-size:.85rem}.crumb a{color:var(--mut)}.poi-hero{background-position:50%;background-size:cover;border-radius:16px;height:320px;margin-bottom:20px;position:relative;overflow:hidden}.poi-hero-img{object-fit:cover;width:100%;height:100%;display:block}.poi-hero .illus-tag{font-size:.72rem;top:12px;right:12px}table.spec{border-collapse:collapse;width:100%;margin:14px 0}table.spec td{border-bottom:1px solid var(--line);padding:9px 4px;font-size:.92rem}table.spec td:first-child{color:var(--mut);width:40%}.cta{text-align:center;border-radius:12px;margin:14px 0;padding:13px;font-weight:600;display:block}.cta.map{background:var(--water);color:#fff}.cta.book{background:var(--acc2);color:#fff}.note{background:var(--card);border:1px dashed var(--line);color:var(--mut);border-radius:12px;margin:20px 0;padding:13px 16px;font-size:.85rem}.lead{color:var(--ink);margin:4px 0 8px;font-size:1.02rem}.faq details{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:4px 16px}.faq summary{cursor:pointer;padding:12px 0;font-weight:600;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"+ ";color:var(--acc);font-weight:800}.faq details[open] summary:before{content:"– "}.faq details p{color:var(--mut);margin:0 0 14px;font-size:.94rem}footer.foot{border-top:1px solid var(--line);color:var(--mut);text-align:center;padding:26px 0;font-size:.82rem}
