
:root{
  --ink:#16363a;--teal:#126c66;--cream:#fffaf2;--coral:#e8774f;
  --sand:#efd59d;--pink:#dc407f;--shadow:0 16px 36px rgba(13,45,50,.14);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#f6fbfa;line-height:1.6}
a{color:inherit}.site-header{background:linear-gradient(135deg,#073f42,#14766f);padding:12px 18px 8px;text-align:center}
.site-header img{width:min(1120px,96vw);max-height:260px;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(0,0,0,.18))}
.topnav{position:sticky;top:0;z-index:30;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:10px;background:rgba(255,255,255,.96);box-shadow:0 5px 20px rgba(0,0,0,.09)}
.topnav a{padding:9px 13px;border-radius:999px;text-decoration:none;font-weight:800;font-size:.9rem;background:#eaf6f4;color:#105c58}
.topnav a:hover,.topnav a.active{background:#126c66;color:white}
.hero{padding:54px 18px 42px;background:linear-gradient(180deg,#c9f0e9,#fffaf2);text-align:center;overflow:hidden}
.destination-sign{--accent:#e8774f;display:inline-grid;grid-template-columns:auto minmax(300px,1fr) auto;align-items:center;position:relative;min-height:150px;margin:0 auto 24px;color:#123f43;background:linear-gradient(135deg,#fff5d2 0%,#f6dea0 46%,#ffefc1 100%);border:4px solid #126c66;border-radius:22px;box-shadow:0 12px 0 #0a4f4b,0 22px 34px rgba(13,45,50,.24);overflow:hidden;transform:rotate(-.5deg)}
.destination-sign:before,.destination-sign:after{content:"";position:absolute;top:50%;width:36px;height:36px;background:#d7f2ed;border:4px solid #126c66;border-radius:50%;transform:translateY(-50%);z-index:2}
.destination-sign:before{left:-23px}.destination-sign:after{right:-23px}
.destination-sign h1{margin:0;padding:30px 34px;font-size:clamp(2rem,5.2vw,4rem);line-height:1;font-family:Georgia,serif;letter-spacing:.015em;text-shadow:0 2px #fff}
.ticket-kicker,.ticket-stub{align-self:stretch;display:grid;place-items:center;padding:14px 18px;color:#fff;background:#e8774f;font-weight:900;letter-spacing:.12em;text-transform:uppercase;writing-mode:vertical-rl}
.ticket-kicker{border-right:3px dashed rgba(18,108,102,.65)}
.ticket-stub{background:#126c66;border-left:3px dashed rgba(255,255,255,.65)}
.hero p{max-width:850px;margin:22px auto 12px;font-size:1.15rem}.chips{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.chip{background:white;border:1px solid #b6ddd7;padding:7px 11px;border-radius:999px;font-weight:700}
.wrap{max-width:1180px;margin:0 auto;padding:34px 18px}.grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:24px}
.panel{background:white;border-radius:18px;padding:25px;box-shadow:var(--shadow);margin-bottom:22px;border-top:5px solid var(--accent,#126c66)}
.panel h2{margin-top:0;color:#105c58;font-size:1.55rem}.highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;list-style:none}
.highlights li{padding:13px 14px;background:#eff9f7;border-radius:12px;border-left:4px solid var(--accent,#126c66);font-weight:700}
.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.btn{display:block;text-align:center;padding:13px 15px;border-radius:12px;text-decoration:none;font-weight:900;background:#126c66;color:white}
.btn.alt{background:#e8774f}.btn.dark{background:#243d46}.btn.light{background:#e9f6f4;color:#105c58}
.notice{background:#fff4dc;border-left:5px solid #f2aa32;padding:14px;border-radius:8px;margin:14px 0}
.tip{background:linear-gradient(135deg,#fff4ed,#fff);border:2px solid #f1b39c}.tip strong{color:#b64d2d}
.related{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.related a{text-decoration:none;background:#f1f7f6;border-radius:10px;padding:10px;font-weight:800}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{background:white;border-radius:17px;padding:20px;box-shadow:var(--shadow);border-top:5px solid var(--accent,#126c66);display:flex;flex-direction:column}
.card .symbol{font-size:2.2rem}.card h2{margin:.2rem 0}.card p{flex:1}.card a{text-decoration:none}.searchbar{max-width:760px;margin:0 auto 25px;display:flex;gap:10px;flex-wrap:wrap}.searchbar input,.searchbar select{flex:1;min-width:230px;padding:13px;border:1px solid #aaccc7;border-radius:12px;font-size:1rem}
footer{text-align:center;background:#113f42;color:white;padding:28px 18px;margin-top:35px}.floating-home{position:fixed;right:18px;bottom:18px;z-index:40;background:#e8774f;color:white;text-decoration:none;font-weight:900;padding:12px 16px;border-radius:999px;box-shadow:0 10px 24px rgba(0,0,0,.24)}
.small{font-size:.88rem;color:#567}.source-list{word-break:break-word;font-size:.9rem}.source-list a{color:#0e6d68}
@media(max-width:850px){.grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.highlights{grid-template-columns:1fr}.destination-sign{grid-template-columns:auto minmax(180px,1fr) auto;min-height:118px}.destination-sign h1{padding:22px 18px}.ticket-kicker,.ticket-stub{padding:10px 11px;font-size:.72rem}.site-header img{max-height:190px}}
@media(max-width:570px){.cards{grid-template-columns:1fr}.action-grid,.related{grid-template-columns:1fr}.topnav{position:static}.floating-home{right:10px;bottom:10px;font-size:.82rem}}

.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.detail-card{background:linear-gradient(180deg,#ffffff,#f6fbfa);border:1px solid #d8e8e5;border-radius:16px;padding:18px;display:flex;flex-direction:column;box-shadow:0 8px 20px rgba(13,45,50,.08)}
.detail-card .detail-symbol{font-size:2rem;line-height:1}
.detail-card h3{margin:.35rem 0;color:#105c58;font-size:1.22rem}
.detail-card p{margin:.4rem 0}
.detail-card .practical{background:#fff5df;border-left:4px solid #efaa35;padding:10px;border-radius:8px;font-size:.92rem}
.detail-card .detail-link{display:inline-block;margin-top:auto;padding-top:12px;color:#0e6d68;font-weight:900;text-decoration:none}
.detail-card .detail-link:hover{text-decoration:underline}
@media(max-width:700px){.detail-grid{grid-template-columns:1fr}}

.place-sign-wrap{display:flex;justify-content:center;align-items:center;margin:0 auto 18px}
.place-sign-art{width:min(980px,96vw);height:auto;display:block;filter:drop-shadow(0 12px 24px rgba(57,34,13,.18))}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.attraction-hero{padding-top:34px}
.attraction-sign-wrap{display:flex;justify-content:center;align-items:center;margin:0 auto 14px;min-height:360px}
.attraction-sign-art{display:block;width:auto;height:min(560px,68vh);max-width:94vw;object-fit:contain;filter:drop-shadow(0 16px 25px rgba(57,34,13,.22))}
.card-sign{height:220px;display:flex;justify-content:center;align-items:center;margin:-5px 0 12px}
.card-sign img{height:100%;width:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(57,34,13,.14))}
.attraction-card h2{line-height:1.2}
.section-title-sign-wrap{display:flex;justify-content:center;align-items:center;margin:0 auto 22px}
.section-title-sign{display:block;width:min(980px,94vw);height:auto;filter:drop-shadow(0 14px 24px rgba(57,34,13,.22))}
@media(max-width:700px){
  .attraction-sign-wrap{min-height:280px}
  .attraction-sign-art{height:min(430px,62vh)}
  .card-sign{height:200px}
}
