:root{
  --teal:#00747a;
  --teal-2:#0a8f95;
  --teal-dark:#04565b;
  --magenta:#b20f59;
  --magenta-dark:#8f0b46;
  --ink:#18373a;
  --muted:#65787a;
  --line:#dce7e7;
  --bg:#f7faf9;
  --white:#fff;
  --soft:#edf7f6;
  --shadow:0 14px 42px rgba(19,67,70,.12);
  --shadow-soft:0 8px 26px rgba(19,67,70,.08);
  --r-xl:24px;
  --r-lg:18px;
  --r-md:13px;
  --header:80px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
.page{opacity:0;transition:opacity .36s ease}
.page.is-ready{opacity:1}
.page.is-leaving{opacity:0}
.page-loader{position:fixed;top:0;left:0;width:0;height:3px;background:var(--magenta);z-index:9999;transition:width .45s cubic-bezier(.25,.8,.4,1),opacity .3s ease .15s}
.page-loader.is-done{opacity:0}
a{color:inherit;text-decoration:none} img{display:block;max-width:100%;height:auto} button,input,select{font:inherit}
.brand{font-family:'Lobster',cursive;font-size:1.3em;line-height:1;white-space:nowrap}
.skip-link{position:absolute;top:-48px;left:12px;z-index:1000;background:var(--teal-dark);color:#fff;padding:12px 18px;border-radius:0 0 8px 8px;font-weight:800;transition:top .2s ease}.skip-link:focus{top:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--magenta);outline-offset:2px}
.container{width:min(1240px,calc(100% - 36px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(0,116,122,.10);backdrop-filter:blur(16px)}
.nav{height:var(--header);display:flex;align-items:center;gap:30px}
.logo{display:flex;align-items:center;flex:0 0 auto}.logo img{width:240px;max-height:58px;object-fit:contain;object-position:left center}
.nav-links{display:flex;align-items:center;gap:26px;margin-left:auto;font-size:.86rem;font-weight:750}.nav-links a{position:relative;padding:30px 0 25px}.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:19px;height:2px;background:var(--magenta);transition:right .25s ease}.nav-links a:hover:after,.nav-links a.active:after{right:0}
.btn{min-height:48px;border:0;border-radius:10px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:800;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease;border:1px solid transparent}.btn:hover{transform:translateY(-2px);box-shadow:0 9px 24px rgba(19,67,70,.15)}.btn-primary{background:var(--teal);color:#fff}.btn-primary:hover{background:var(--teal-dark)}.btn-magenta{background:var(--magenta);color:#fff}.btn-magenta:hover{background:var(--magenta-dark)}.btn-outline{background:#fff;color:var(--teal-dark);border-color:#a8c7c7}.btn-ghost{background:rgba(0,0,0,.28);border-color:rgba(255,255,255,.7);color:white}.btn-small{min-height:40px;padding:0 15px;font-size:.8rem}.menu-btn{display:none;margin-left:auto;width:44px;height:44px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--teal-dark);font-size:1.15rem}
.hero{position:relative;min-height:520px;background:#102729;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.95)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,23,24,.82) 0%,rgba(4,23,24,.52) 40%,rgba(4,23,24,.10) 72%,rgba(4,23,24,0) 100%)}
.hero-inner{position:relative;z-index:2;display:flex;align-items:center;min-height:520px;padding:58px 0 92px}.hero-copy{max-width:650px;color:#fff}.hero h1{font:400 clamp(2.5rem,5vw,4.55rem)/1.15 'Lobster',cursive;letter-spacing:0;margin:0 0 22px}.hero-copy>p{font:600 clamp(1.05rem,1.5vw,1.35rem)/1.5 Georgia,serif;max-width:560px;margin:0 0 26px}.hero-meta{display:flex;gap:28px;flex-wrap:wrap;font-weight:700;margin:0 0 24px}.hero-meta span{display:inline-flex;align-items:center;gap:9px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-discount{position:absolute;top:26px;right:26px;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;width:118px;height:118px;border-radius:50%;background:var(--magenta);color:#fff;text-align:center;box-shadow:0 12px 30px rgba(0,0,0,.35);border:3px dashed rgba(255,255,255,.65);transform:rotate(8deg);animation:hero-discount-pulse 2.4s ease-in-out infinite;transition:transform .2s ease}.hero-discount:hover{transform:rotate(0deg) scale(1.06)}.hero-discount strong{font:800 1.55rem/1 Georgia,serif}.hero-discount strong span{display:block;font-size:.62rem;letter-spacing:.08em;font-weight:800}.hero-discount em{display:block;font-style:normal;font-size:.56rem;font-weight:700;line-height:1.25;margin-top:4px;max-width:88px}
@keyframes hero-discount-pulse{0%,100%{transform:rotate(8deg) scale(1)}50%{transform:rotate(8deg) scale(1.07)}}
.booking-wrap{position:relative;z-index:4;margin-top:-44px}.booking-shell{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--r-lg);padding:12px;display:grid;grid-template-columns:1.1fr 1.1fr .85fr .95fr auto;align-items:stretch;gap:0}.field{padding:6px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;min-height:62px}.field:last-of-type{border-right:0}.field label{font-size:.69rem;font-weight:850;color:#526466;margin-bottom:4px}.field input,.field select{border:0;background:transparent;outline:0;color:var(--ink);font-weight:750;width:100%;padding:3px 0}.promo-link{color:var(--magenta);font-size:.76rem;text-decoration:underline;cursor:pointer;font-weight:800}.promo-field{display:none}.promo-field.show{display:block;margin-top:3px;border-top:1px dashed #e3c0d0;padding-top:7px}
.amenities{display:grid;grid-template-columns:repeat(6,1fr);gap:0;padding:28px 0 22px}.amenity{text-align:center;padding:8px;border-right:1px solid var(--line);font-size:.73rem}.amenity:last-child{border:0}.amenity i{display:block;font-size:1.55rem;color:var(--teal);margin-bottom:9px}.amenity strong{display:block;font-size:.82rem;margin-bottom:2px}
section{padding:66px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:26px}.section-head h2,.page-title h1{font:400 clamp(2rem,4vw,3.35rem)/1.15 'Lobster',cursive;letter-spacing:0;margin:5px 0 0}.section-head p{max-width:570px;margin:0;color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:900;color:var(--teal)}
.photo-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.photo-strip a{overflow:hidden;border-radius:var(--r-md);aspect-ratio:1.6/1}.photo-strip img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.7,.2,1)}.photo-strip a:hover img{transform:scale(1.045)}
.direct-banner{margin-top:12px;border-radius:var(--r-md);background:linear-gradient(90deg,var(--magenta),#c31265);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 22px}.direct-copy{display:flex;align-items:center;gap:18px}.direct-copy i{font-size:2rem}.direct-copy h2{margin:0;font:400 1.35rem 'Lobster',cursive}.direct-copy p{margin:2px 0 0;font-size:.78rem;color:#ffe9f3}
.awards{padding-top:26px}.panel{background:white;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-soft)}.award-panel{padding:22px}.award-panel h2{font:400 1.75rem 'Lobster',cursive;margin:0 0 16px;color:var(--teal-dark)}.award-grid{display:grid;grid-template-columns:repeat(3,1fr)}.award{display:flex;align-items:center;gap:16px;padding:12px 20px;border-right:1px solid var(--line)}.award:last-child{border:0}.award-medal{width:66px;height:66px;border-radius:50%;flex:0 0 66px;display:grid;place-items:center;background:#f3d36c;color:#805d00;font-weight:900;text-align:center;font-size:.72rem;border:5px solid #f7e4a5}.award:nth-child(2) .award-medal{background:#174e78;color:white;border-color:#b6d2e5}.award:nth-child(3) .award-medal{background:#31b49b;color:white;border-color:#bde6dc}.award h3{font:400 1.2rem 'Lobster',cursive;margin:0 0 4px}.award p{margin:0;font-size:.78rem;color:#4e6264}
.home-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(330px,.9fr);gap:18px;align-items:start;padding-bottom:50px}.home-main{min-width:0}.sidebar{display:grid;gap:14px;margin-top:-333px;position:relative;z-index:6}.side-card{padding:20px}.side-card h2{font:400 1.55rem 'Lobster',cursive;color:var(--teal-dark);margin:0 0 14px}.contact-list{display:grid;gap:12px}.contact-row{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start}.contact-row i{font-size:1.35rem;color:var(--teal);margin-top:4px}.contact-row strong{display:block}.contact-row span,.contact-row a{font-size:.82rem;color:#36575a}.side-photo{border-radius:12px;overflow:hidden;margin-top:12px}.side-photo img{width:100%;height:175px;object-fit:cover}.map-mini{border-radius:12px;overflow:hidden}.map-mini iframe{width:100%;height:330px;border:0;display:block}
.footer-top{background:var(--teal-dark);color:#fff;border-radius:0 16px 0 0}.footer-benefits{display:grid;grid-template-columns:repeat(3,1fr)}.benefit{display:flex;gap:15px;align-items:center;padding:20px;border-right:1px solid rgba(255,255,255,.18)}.benefit:last-child{border:0}.benefit i{font-size:1.8rem}.benefit strong{display:block;font-size:.82rem}.benefit span{display:block;color:#d8efee;font-size:.75rem}footer{background:#113f42;color:#cae0e1;padding:42px 0 20px}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .9fr 1.1fr;gap:32px}.footer-logo img{width:240px;filter:drop-shadow(0 1px 0 rgba(255,255,255,.15))}.footer-grid h3{color:#fff;margin:0 0 10px;font:400 1.2rem 'Lobster',cursive}.footer-grid a,.footer-grid p{display:block;font-size:.8rem;margin:7px 0;color:#c5dadb}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:18px;margin-top:28px;font-size:.75rem;color:#9ab8ba}
.page-hero{position:relative;min-height:200px;display:flex;align-items:center;background:#0d4346;overflow:hidden}.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38}.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,40,42,.8),rgba(4,40,42,.25))}.page-title{position:relative;z-index:2;color:#fff;padding:42px 0}.page-title p{margin:10px 0 0;max-width:620px;color:#e6f1f1}
.tabs{display:flex;gap:0;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;margin-bottom:18px}.tab{flex:1;padding:11px 14px;border:0;background:#fff;font-weight:800;color:#385759;cursor:pointer}.tab.active{background:var(--teal);color:#fff}.room-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.room-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-soft);transition:transform .25s ease,box-shadow .25s ease}.room-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.room-card>a:first-child{display:block;aspect-ratio:1.65/1;overflow:hidden}.room-card img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.room-card:hover img{transform:scale(1.025)}.room-body{padding:18px}.room-body h2{font:400 1.5rem 'Lobster',cursive;margin:0 0 8px}.room-meta{display:flex;flex-wrap:wrap;gap:10px 14px;color:#426063;font-size:.72rem}.room-meta span{display:inline-flex;align-items:center;gap:6px}.room-bottom{display:flex;align-items:end;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.price small{display:block;color:var(--muted);font-size:.68rem}.price strong{font:800 1.6rem Georgia,serif;color:var(--magenta)}.room-actions{display:flex;gap:8px;flex-wrap:wrap}
.help-bar{position:sticky;bottom:0;z-index:40;background:var(--teal-dark);color:white;margin-top:30px}.help-bar .container{display:flex;align-items:center;justify-content:space-between;padding:13px 0;gap:20px}.help-bar strong{font-size:.85rem}.help-bar span{font-size:.72rem;color:#d5ecec}
.room-detail{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.55fr);gap:18px;align-items:start}.room-gallery{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:200px 200px;gap:8px}.room-gallery a{border-radius:14px;overflow:hidden}.room-gallery a:first-child{grid-row:1/3}.room-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.room-gallery a:hover img{transform:scale(1.03)}.detail-copy{padding:24px;margin-top:18px}.detail-copy h1{font:400 2.4rem 'Lobster',cursive;margin:0 0 10px}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px 20px;margin:18px 0}.feature-grid span{font-size:.8rem;display:flex;gap:8px;align-items:center}.feature-grid i{color:var(--teal)}.booking-card{padding:20px;position:sticky;top:100px}.booking-card .price{margin-bottom:14px}.booking-card .field{border:1px solid var(--line);border-radius:10px;margin-bottom:9px;min-height:58px}.booking-card .btn{width:100%;margin-top:8px}
.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.filter{border:1px solid var(--line);background:white;border-radius:999px;padding:9px 16px;font-weight:800;font-size:.78rem;cursor:pointer}.filter.active{background:var(--teal);color:white;border-color:var(--teal)}.gallery-grid{columns:3 280px;column-gap:11px}.gallery-item{break-inside:avoid;margin:0 0 11px;border-radius:14px;overflow:hidden;cursor:pointer}.gallery-item img{width:100%;transition:transform .35s}.gallery-item:hover img{transform:scale(1.025)}
.review-summary{display:grid;grid-template-columns:230px 1fr 1fr;gap:16px}.score-card,.review-stats{padding:24px}.score-card strong{font:800 3rem Georgia,serif}.stars{color:#d99e20;letter-spacing:.08em}.review-stats h2{margin:0 0 13px;font:400 1.35rem 'Lobster',cursive}.stat{display:grid;grid-template-columns:110px 1fr 30px;gap:8px;align-items:center;font-size:.74rem;margin:9px 0}.bar{height:7px;background:#eaf0ef;border-radius:999px;overflow:hidden}.bar span{display:block;height:100%;background:var(--magenta)}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.review-card{padding:19px}.review-card h3{margin:0;font:400 1.2rem 'Lobster',cursive}.review-card p{font-size:.82rem;color:#4e6466}.review-card small{color:#4e6264}
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.contact-card{padding:22px;text-align:center}.contact-card i{font-size:2rem;color:var(--teal);margin-bottom:8px}.contact-card h2{font:400 1.35rem 'Lobster',cursive;margin:2px 0 5px}.contact-card p,.contact-card a{font-size:.8rem;color:#496164}.location-layout{display:grid;grid-template-columns:330px 1fr;gap:14px;scroll-margin-top:calc(var(--header) + 16px)}.location-copy{padding:24px}.location-copy h2{font:400 1.6rem 'Lobster',cursive;margin:0 0 12px}.location-list{display:grid;gap:8px;font-size:.82rem;margin:16px 0}.location-list span{display:flex;gap:9px}.location-list i{color:var(--teal);margin-top:3px}.map-large iframe{display:block;width:100%;height:480px;border:0;border-radius:var(--r-lg)}
.special-card{padding:28px;display:grid;grid-template-columns:1fr .9fr;gap:30px;align-items:center}.special-card h2{font:400 2.4rem 'Lobster',cursive;margin:0 0 10px}.promo-box{background:#fff4f8;border:1px solid #f0c8d9;border-radius:14px;padding:20px}.promo-box label{display:block;font-weight:850;font-size:.77rem;margin-bottom:8px}.promo-box input{width:100%;border:1px solid #dcb6c7;border-radius:10px;padding:13px 14px;outline:0;margin-bottom:10px}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(4,23,24,.94);display:none;align-items:center;justify-content:center;padding:30px}.lightbox.show{display:flex}.lightbox img{max-width:min(1200px,93vw);max-height:88vh;border-radius:14px;box-shadow:0 20px 70px #000}.lightbox button{position:absolute;right:25px;top:22px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.2);color:#fff;font-size:1.3rem;cursor:pointer}
.mobile-bar{display:none}
@media(max-width:1060px){.nav-links{display:none}.menu-btn{display:block}.nav>.btn-magenta{display:none}.nav-links.open{position:absolute;top:var(--header);left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;background:#fff;padding:12px 22px 20px;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.nav-links.open a{padding:12px 0}.nav-links.open a:after{bottom:7px}.home-grid{grid-template-columns:1fr}.sidebar{margin-top:0;grid-template-columns:1fr 1fr}.booking-shell{grid-template-columns:1fr 1fr}.booking-shell .btn{grid-column:1/-1}.field{border-right:0;border-bottom:1px solid var(--line)}.amenities{grid-template-columns:repeat(3,1fr);row-gap:12px}.award-grid{grid-template-columns:1fr}.award{border-right:0;border-bottom:1px solid var(--line)}.award:last-child{border-bottom:0}.room-detail{grid-template-columns:1fr}.booking-card{position:static}.review-summary{grid-template-columns:220px 1fr}.review-summary>.panel:last-child{grid-column:1/-1}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){:root{--header:70px}.container{width:min(100% - 24px,1240px)}.logo img{width:195px}.hero,.hero-inner{min-height:560px}.hero-inner{padding:65px 0 130px}.hero:after{background:linear-gradient(0deg,rgba(4,23,24,.78),rgba(4,23,24,.30))}.hero h1{font-size:2.7rem}.hero-copy>p{font-size:1.05rem}.hero-actions{display:grid;grid-template-columns:1fr}.hero-discount{width:78px;height:78px;top:14px;right:14px}.hero-discount strong{font-size:1.02rem}.hero-discount em{font-size:.44rem;max-width:60px;margin-top:2px}.hero-copy{padding-right:88px}.booking-wrap{margin-top:-95px}.booking-shell{grid-template-columns:1fr}.booking-shell .btn{grid-column:auto}.field{padding:9px 12px;min-height:56px}.amenities{grid-template-columns:repeat(3,1fr);padding-bottom:10px}.amenity{border-right:0}.photo-strip{grid-template-columns:1fr 1fr}.direct-banner{align-items:flex-start;flex-direction:column}.direct-banner .btn{width:100%}.home-grid{padding-bottom:25px}.sidebar{grid-template-columns:1fr}.section-head{display:block}.section-head p{margin-top:12px}.room-grid,.reviews-grid,.contact-cards,.footer-grid,.review-summary,.location-layout,.special-card{grid-template-columns:1fr}.review-summary>.panel:last-child{grid-column:auto}.room-gallery{grid-template-columns:1fr 1fr;grid-template-rows:260px 130px}.room-gallery a:first-child{grid-column:1/3;grid-row:auto}.room-bottom{display:block}.room-actions{margin-top:12px}.tabs{overflow:auto}.tab{min-width:max-content}.footer-benefits{grid-template-columns:1fr}.benefit{border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}.benefit:last-child{border:0}.map-large iframe{height:360px}.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:100;display:grid;grid-template-columns:1fr 1.2fr;background:white;padding:8px 10px;gap:8px;box-shadow:0 -8px 25px rgba(0,0,0,.14)}body{padding-bottom:65px}.help-bar{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.page{opacity:1;transform:none}.reveal{opacity:1;transform:none}.hero-discount{transform:rotate(8deg)!important}}

/* Homepage layout fix: keep contact/location cards in normal document flow. */
.home-grid{align-items:start}
.sidebar{margin-top:22px;position:relative;z-index:1;align-self:start}
@media(max-width:1060px){.sidebar{margin-top:0}}
