
:root{
  --blue:#0b4f8a; --blue2:#0e6aa8; --sky:#eaf6fc; --ink:#17324a;
  --muted:#5d7283; --white:#fff; --line:#d8e7f0; --shadow:0 14px 40px rgba(12,55,84,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1120px,92%);margin:auto}
.topbar{background:var(--blue);color:#fff;font-size:.88rem}
.topbar .container{display:flex;justify-content:space-between;gap:20px;padding:8px 0}
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;color:var(--blue)}
.brand img{width:58px;height:58px}
.brand span{font-family:Georgia,serif;font-size:1.1rem}
.navlinks{display:flex;align-items:center;gap:22px;font-weight:650;font-size:.95rem}
.navlinks a:hover{color:var(--blue2)}
.dropdown{position:relative}
.dropdown-menu{display:none;position:absolute;top:100%;left:-15px;background:#fff;min-width:230px;padding:10px;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.dropdown:hover .dropdown-menu{display:block}
.dropdown-menu a{display:block;padding:10px 12px;border-radius:8px}
.dropdown-menu a:hover{background:var(--sky)}
.menu-btn{display:none;border:0;background:var(--sky);color:var(--blue);font-size:1.3rem;padding:8px 11px;border-radius:9px}
.hero{min-height:620px;display:grid;place-items:center;position:relative;background:linear-gradient(120deg,#f7fcff 0%,#e9f6fc 100%);overflow:hidden}
.hero:after{content:"";position:absolute;inset:auto -10% -160px;height:300px;background:#fff;border-radius:50% 50% 0 0/30% 30% 0 0}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:center;padding:65px 0}
.eyebrow{color:var(--blue2);font-weight:800;letter-spacing:.13em;text-transform:uppercase;font-size:.78rem}
h1,h2,h3{font-family:Georgia,serif;line-height:1.15;color:#123b5a;margin:0 0 18px}
h1{font-size:clamp(2.8rem,6vw,5.3rem)}
h2{font-size:clamp(2rem,4vw,3.1rem)}
h3{font-size:1.45rem}
.lead{font-size:1.15rem;color:var(--muted);max-width:650px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 19px;border-radius:999px;font-weight:800;border:2px solid var(--blue);transition:.2s}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{background:#083e6d}
.btn-outline{color:var(--blue);background:#fff}
.btn-outline:hover{background:var(--sky)}
.hero-card{background:#fff;border-radius:28px;padding:18px;box-shadow:var(--shadow);transform:rotate(1.2deg)}
.hero-card img{width:100%;border-radius:18px;aspect-ratio:1.35/1;object-fit:cover}
.section{padding:90px 0}
.section-soft{background:var(--sky)}
.center{text-align:center}
.section-intro{max-width:720px;margin:0 auto 40px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 7px 24px rgba(12,55,84,.06);transition:.2s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card img{aspect-ratio:1.25/1;object-fit:cover;background:#eef7fc}
.card-body{padding:22px}
.card-body p{color:var(--muted);margin:0 0 16px}
.text-link{color:var(--blue);font-weight:800}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feature{padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff}
.feature .icon{font-size:1.7rem}
.feature p{color:var(--muted);margin:8px 0 0}
.attractions{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.place{padding:22px;border-left:4px solid var(--blue);background:#fff;border-radius:12px;box-shadow:0 6px 18px rgba(12,55,84,.05)}
.place strong{display:block;font-size:1.15rem}
.place span{color:var(--muted)}
.map-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:stretch}
.contact-panel{padding:34px;background:var(--blue);color:#fff;border-radius:22px}
.contact-panel h2,.contact-panel h3{color:#fff}
.contact-panel p{color:#d9edf9}
.contact-item{margin:18px 0}
.contact-item strong{display:block;color:#fff}
.map{border:0;width:100%;min-height:380px;border-radius:22px}
.gallery-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gallery-strip img{border-radius:16px;aspect-ratio:1.2/1;object-fit:cover}
.cta{padding:70px 0;background:linear-gradient(135deg,#0b4f8a,#0e6aa8);color:#fff}
.cta h2{color:#fff}
.cta p{color:#d9edf9;max-width:650px}
footer{background:#082f50;color:#d8edf8;padding:55px 0 25px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
footer h3{color:#fff;font-size:1.2rem}
footer a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.18);margin-top:35px;padding-top:18px;font-size:.85rem;display:flex;justify-content:space-between;gap:20px}
.page-hero{padding:80px 0;background:var(--sky)}
.page-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}
.room-image{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:22px;box-shadow:var(--shadow);background:#eef7fc}
.room-features{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}
.room-feature{padding:13px 15px;background:var(--sky);border-radius:10px}
.video-placeholder{margin-top:20px;padding:55px 20px;text-align:center;border:2px dashed #a9cde2;border-radius:18px;color:var(--muted);background:#f8fcff}
.notice{padding:15px 18px;background:#fff8e7;border:1px solid #f0dc9b;border-radius:12px;color:#715b22}
@media(max-width:900px){
  .navlinks{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:15px 4%;flex-direction:column;align-items:stretch}
  .navlinks.open{display:flex}.dropdown-menu{position:static;display:block;box-shadow:none;border:0;padding:0 0 0 12px}.menu-btn{display:block}
  .hero-grid,.page-grid,.map-wrap{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr 1fr}.features{grid-template-columns:1fr 1fr}.attractions{grid-template-columns:1fr 1fr}.gallery-strip{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .topbar .container{flex-direction:column;gap:0}.nav{min-height:70px}.brand img{width:48px;height:48px}
  .hero{min-height:auto}.hero-grid{padding:55px 0}.hero-card{transform:none}
  .section{padding:65px 0}.cards,.features,.attractions,.gallery-strip,.room-features,.footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}.btn{width:100%}
}

.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px;align-items:start}.media-grid figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 7px 24px rgba(12,55,84,.06)}.gallery-media{width:100%;aspect-ratio:3/4;object-fit:cover;background:#eef7fc}.video-media{display:block}.media-grid figcaption{padding:10px 13px;font-size:.85rem;color:var(--muted);text-transform:capitalize}@media(max-width:900px){.media-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.media-grid{grid-template-columns:1fr}.gallery-media{aspect-ratio:3/4}}

.media-error{width:100%;aspect-ratio:3/4;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px;background:#eef7fc;color:#47708d;font-size:.92rem}.media-error strong{color:#0b4f8a;margin-bottom:8px}.media-error code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8em}
