
:root{--ink:#0A3A52;--ink-2:#07283a;--leaf:#3F9B6A;--sky:#A9D6E5;--mist:#eef6f7;--gold:#C8A96A;--paper:#fbfdfd;--text:#26414d;
--bs-body-font-family:"Jost",system-ui,sans-serif;--bs-body-color:var(--text);--bs-primary:var(--ink);--bs-link-color:var(--ink)}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font-family:"Jost",system-ui,sans-serif;background:var(--paper);font-size:1.05rem;line-height:1.7}
h1,h2,h3,h4,.display-font{font-family:"Cormorant Garamond",Georgia,serif;color:var(--ink);font-weight:600;letter-spacing:.2px;line-height:1.12}
h1{font-size:clamp(2.6rem,5.6vw,4.6rem)}h2{font-size:clamp(2rem,3.6vw,3rem)}h3{font-size:1.7rem}
a{text-decoration:none}
.navbar{background:rgba(7,40,58,.96);backdrop-filter:blur(8px);padding:.6rem 0;border-bottom:1px solid rgba(200,169,106,.35)}
.navbar-brand img{height:44px;background:#fff;border-radius:8px;padding:3px}
.navbar-brand span{font-family:"Cormorant Garamond",serif;color:#fff;font-size:1.5rem;font-weight:600;margin-left:.6rem;letter-spacing:.5px}
.navbar .nav-link{color:#dcebf0;font-weight:500;padding:.5rem .95rem}
.navbar .nav-link:hover,.navbar .nav-link.active{color:var(--gold)}
.dropdown-menu{background:var(--ink-2);border:1px solid rgba(200,169,106,.4);border-radius:12px;padding:.6rem}
.dropdown-item{color:#dcebf0;border-radius:8px;padding:.45rem .9rem}.dropdown-item:hover{background:var(--ink);color:var(--gold)}
@media(min-width:992px){.dropdown:hover>.dropdown-menu{display:block}}
.btn-gold{background:var(--gold);color:var(--ink-2);font-weight:600;border:0;border-radius:50px;padding:.7rem 1.7rem}
.btn-gold:hover{background:#d8bc82;color:var(--ink-2)}
.btn-line{border:1.5px solid currentColor;border-radius:50px;padding:.65rem 1.6rem;color:#fff;font-weight:500}
.btn-line:hover{background:#fff;color:var(--ink)}
.btn-ink{background:var(--ink);color:#fff;border-radius:50px;padding:.7rem 1.7rem;font-weight:500}.btn-ink:hover{background:var(--leaf);color:#fff}
.hero{background:radial-gradient(1000px 500px at 85% 20%,#0f5473 0,transparent 60%),var(--ink-2);color:#dcebf0;padding:9rem 0 6rem;overflow:hidden}
.hero h1{color:#fff}.hero p.lead{color:#c2d9e1;max-width:34rem}
.hero .tag{color:var(--gold);font-size:1rem;margin-bottom:1rem;display:block}
.gable{clip-path:polygon(50% 0,100% 13%,100% 100%,0 100%,0 13%);display:block;width:100%;height:auto}
.gable-wrap{position:relative;padding:10px;background:linear-gradient(160deg,var(--gold),transparent 55%);clip-path:polygon(50% 0,100% 13%,100% 100%,0 100%,0 13%)}
.gable-wrap img{clip-path:polygon(50% 0,100% 13%,100% 100%,0 100%,0 13%)}
.stat{border-left:2px solid var(--gold);padding-left:1rem}.stat b{font:600 2.2rem "Cormorant Garamond",serif;color:#fff;display:block;line-height:1}
.stat small{color:#a9c6d0}
section{padding:5.5rem 0}.bg-mist{background:var(--mist)}.bg-ink{background:var(--ink-2);color:#cfe2e8}.bg-ink h2,.bg-ink h3{color:#fff}
.lead-in{color:var(--leaf);font-weight:500}
.card-room,.card-loc{border:0;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 20px 50px -28px rgba(10,58,82,.45);height:100%;transition:transform .3s}
.card-room:hover,.card-loc:hover{transform:translateY(-6px)}
.card-room img,.card-loc img{aspect-ratio:4/3;object-fit:cover;width:100%}
.price{font:600 1.5rem "Cormorant Garamond",serif;color:var(--ink)}
.chip{display:inline-block;background:var(--mist);color:var(--ink);border-radius:50px;padding:.15rem .8rem;font-size:.85rem;margin:0 .3rem .4rem 0}
.feature{padding:1.6rem;border-radius:18px;background:#fff;height:100%;border:1px solid #dbe9ed}
.feature i{font-size:1.7rem;color:var(--leaf)}
.ink-feature{padding:1.6rem;border-radius:18px;border:1px solid rgba(200,169,106,.35);height:100%}.ink-feature i{font-size:1.6rem;color:var(--gold)}
.quote{background:#fff;border-radius:20px;padding:2rem;height:100%;border-top:4px solid var(--leaf)}
.form-control,.form-select{border-radius:12px;padding:.8rem 1rem;border:1px solid #c9dde3}
.form-control:focus,.form-select:focus{border-color:var(--leaf);box-shadow:0 0 0 .25rem rgba(63,155,106,.2)}
footer{background:var(--ink-2);color:#a9c6d0;padding:4rem 0 1.5rem}footer h5{color:#fff;font-family:"Cormorant Garamond",serif;font-size:1.4rem}
footer a{color:#a9c6d0}footer a:hover{color:var(--gold)}
.wa{position:fixed;right:18px;bottom:18px;z-index:99;background:#25D366;color:#fff;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:1.9rem;box-shadow:0 10px 25px rgba(0,0,0,.3)}
.page-hero{background:var(--ink-2);padding:8rem 0 4rem;color:#c2d9e1}.page-hero h1{color:#fff;font-size:clamp(2.2rem,4.4vw,3.6rem)}
.breadcrumb a{color:var(--gold)}.breadcrumb-item.active{color:#a9c6d0}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---- effects ---- */
#preloader{position:fixed;inset:0;background:var(--ink-2);z-index:2000;display:grid;place-items:center;transition:opacity .6s,visibility .6s}
#preloader img{width:84px;background:#fff;border-radius:16px;padding:8px;animation:pulse 1.2s ease-in-out infinite}
#preloader.done{opacity:0;visibility:hidden}
@keyframes pulse{50%{transform:scale(1.12);box-shadow:0 0 0 18px rgba(200,169,106,.18)}}
#progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--leaf),var(--gold));z-index:1900}
.navbar{transition:padding .3s,background .3s}.navbar.scrolled{padding:.2rem 0;background:rgba(7,40,58,.99);box-shadow:0 10px 30px -15px #000}
.navbar-brand img{transition:height .3s}.navbar.scrolled .navbar-brand img{height:36px}
#typed{color:#fff;font-weight:600}.caret{color:var(--gold);animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}
.hero .gable-wrap{will-change:transform}
.marquee,.ribbon{overflow:hidden;white-space:nowrap}
.marquee{background:var(--gold);color:var(--ink-2);padding:.9rem 0;font:600 1.35rem "Cormorant Garamond",serif}
.marquee-track{display:inline-flex;gap:2rem;align-items:center;animation:scroll-x 35s linear infinite}
.marquee i{font-size:1rem}
.ribbon{padding:3.5rem 0 0}.ribbon-track{display:inline-flex;gap:1.2rem;animation:scroll-x 60s linear infinite}
.ribbon img{height:190px;width:auto;border-radius:18px;clip-path:polygon(50% 0,100% 10%,100% 100%,0 100%,0 10%)}
.ribbon:hover .ribbon-track,.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes scroll-x{to{transform:translateX(-50%)}}
.card-room,.card-loc{transition:box-shadow .3s;transform-style:preserve-3d;will-change:transform}
.card-room img{cursor:zoom-in}
.card-room{position:relative;overflow:hidden}.card-room::after{content:"Tap to enlarge";position:absolute;top:14px;left:14px;background:rgba(7,40,58,.85);color:#fff;font-size:.8rem;border-radius:50px;padding:.2rem .8rem;opacity:0;transition:.3s}
.card-room:hover::after{opacity:1}
.loc-item{transition:opacity .4s,transform .4s}.loc-item.hide{display:none}
#toTop{position:fixed;left:18px;bottom:18px;z-index:99;width:48px;height:48px;border-radius:50%;border:0;background:var(--ink);color:var(--gold);font-size:1.3rem;opacity:0;visibility:hidden;transition:.3s}
#toTop.show{opacity:1;visibility:visible}#toTop:hover{background:var(--gold);color:var(--ink)}
.wa{animation:ring 3s ease-in-out infinite}@keyframes ring{0%,80%,100%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}90%{box-shadow:0 0 0 16px rgba(37,211,102,0)}}
.navbar .nav-link{position:relative}.navbar .nav-link::after{content:"";position:absolute;left:.95rem;right:.95rem;bottom:.25rem;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .3s}
.navbar .nav-link:hover::after,.navbar .nav-link.active::after{transform:scaleX(1)}.dropdown-toggle::after{display:none}
.btn-gold,.btn-ink{transition:transform .2s,box-shadow .2s}.btn-gold:hover,.btn-ink:hover{transform:translateY(-2px);box-shadow:0 10px 22px -10px rgba(0,0,0,.5)}
