@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Inter:wght@400;500;600&display=swap";
:root{--paper:#fbf7f0;--sand:#f3ede2;--foam:#fffefb;--ink:#3d2b1a;--muted:#7a6a58;--sea:#3d2b1a;--sea-deep:#2a1d10;--reef:#5c3d1e;--gold:#d4940a;--wood:#b87d1a;--clay:#b07a12;--line:#3d2b1a1f;--border:#ddd5c8;--shadow:0 24px 60px #2a1d1026}*{box-sizing:border-box}html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}body{background:var(--paper);color:var(--ink);letter-spacing:0;max-width:100%;margin:0;font-family:Inter,Arial,sans-serif;font-weight:400;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:Playfair Display,Georgia,serif}img,video{display:block}a{color:inherit;text-decoration:none}.site-header{z-index:20;-webkit-backdrop-filter:blur(20px)saturate(1.6);background:#fbf7f0d1;border:1px solid #ffffff73;border-radius:999px;justify-content:space-between;align-items:center;gap:28px;width:calc(100% - 32px);max-width:1180px;padding:10px 12px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 10px 34px #2a1d101a}.brand{align-items:center;gap:10px;min-width:172px;display:flex}.brand-mark{background:0 0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;overflow:visible}.brand-mark img{object-fit:contain;width:44px;height:44px}.brand strong,.brand small{line-height:1;display:block}.brand strong{font-size:18px;font-weight:600}.brand small{color:var(--muted);text-transform:uppercase;margin-top:4px;font-size:12px}.nav-links{justify-content:center;align-items:center;gap:8px;display:flex}.nav-links a{color:#3d2b1ab3;white-space:nowrap;border-radius:4px;padding:12px 16px;font-size:15px;font-weight:500;line-height:1;transition:color .25s;position:relative}.nav-links a:hover{color:var(--ink);background:0 0}.nav-links a:after{content:"";background:var(--gold);height:1.5px;transition:transform .3s;position:absolute;bottom:4px;left:16px;right:16px;transform:scaleX(0)}.nav-links a:hover:after{transform:scaleX(1)}.nav-cta{color:#fff;white-space:nowrap;background:#25d366;border-radius:999px;align-items:center;gap:8px;padding:13px 20px;font-size:14px;font-weight:500;line-height:1;transition:background .18s,transform .18s;display:inline-flex}.nav-cta:hover{background:#20bd5a;transform:translateY(-1px)}.hero{color:#fff;isolation:isolate;align-items:end;min-height:86svh;padding:138px max(24px,6vw) 64px;display:grid;position:relative;overflow:hidden}.hero:before{content:"";z-index:-1;background:linear-gradient(90deg,#2a1d10e0,#2a1d1094 43%,#2a1d103d),linear-gradient(#2a1d101f,#2a1d1094);position:absolute;inset:0}.hero-image{object-fit:cover;z-index:-2}.hero-content{width:100%;min-width:0;max-width:780px}.eyebrow{color:#ffffffc7;letter-spacing:.12em;text-transform:uppercase;margin:0 0 18px;font-size:13px;font-weight:500}.eyebrow-dark{color:var(--gold)}.eyebrow-light{color:#d4a94d}.hero h1,.section h2{letter-spacing:0;overflow-wrap:break-word;margin:0}.hero h1{max-width:900px;font-size:clamp(56px,9vw,132px);font-weight:400;line-height:.9}.hero-text{color:#ffffffe0;max-width:700px;margin:28px 0 0;font-size:clamp(18px,2vw,24px);line-height:1.55}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.button{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:50px;padding:0 22px;font-size:14px;font-weight:500;line-height:1;transition:background .18s,color .18s,transform .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button-primary{color:var(--sea-deep);background:#fff}.button-secondary{-webkit-backdrop-filter:blur(10px);color:#fff;background:#ffffff1f;border:1px solid #ffffff5c}.button-primary:hover{background:#e8d5b0}.button-secondary:hover{background:#fff3}.hero-facts{flex-wrap:wrap;align-items:center;gap:10px;display:flex;position:absolute;bottom:28px;right:max(24px,6vw)}.hero-facts span{-webkit-backdrop-filter:blur(12px);color:#ffffffeb;background:#2a1d10bf;border:1px solid #ffffff2e;border-radius:999px;padding:10px 16px;font-size:13px;font-weight:500}.section{padding:160px max(24px,6vw)}.section-grid,.amenities-layout,.booking-section,.location-panel{min-width:0;max-width:1180px;margin:0 auto}.section-grid{grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);align-items:center;gap:96px;display:grid}.section-copy h2,.section-heading h2,.booking-copy h2,.location-panel h2,.amenities-layout h2{font-size:clamp(36px,5vw,72px);font-weight:400;line-height:.98}.section-copy p:not(.eyebrow),.section-heading p,.booking-copy p,.location-panel p,.amenities-layout p{color:var(--muted);margin:24px 0 0;font-size:18px;line-height:1.75}.quick-list{border-top:1px solid var(--line);gap:12px;margin-top:34px;padding-top:22px;display:grid}.quick-list span{color:var(--sea-deep);font-size:17px;font-weight:500}.stay-media{justify-content:center;display:flex}.video-frame,.gallery-card{border-radius:8px;position:relative;overflow:hidden}.video-frame{aspect-ratio:9/16;background:var(--sea-deep);box-shadow:var(--shadow);max-height:600px}.video-frame video{object-fit:cover;width:100%;height:100%}.gallery-card img{object-fit:cover}.gallery-section{background:var(--sand);padding:120px max(14px,3vw) 130px}.section-heading{text-align:center;max-width:920px;margin:0 auto 64px}.section-heading.compact{max-width:720px;margin-bottom:48px}.section-heading.compact h2{font-size:clamp(28px,3.5vw,48px)}.gallery-section .section-heading{text-align:left;max-width:1320px;margin-bottom:40px}.gallery-section .section-heading h2{max-width:820px}.gallery-section .section-heading p{max-width:720px}.gallery-grid{grid-auto-flow:dense;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:104px;gap:3px;max-width:1320px;margin:0 auto;display:grid}.gallery-card{background:#e8e4de;min-height:0;margin:0;box-shadow:0 14px 34px #38251414}.gallery-card img{transition:transform .35s}.gallery-card:hover img{transform:scale(1.035)}.gallery-card-hero{grid-area:span 4/span 6}.gallery-card-tall{grid-area:span 4/span 3}.gallery-card-wide{grid-area:span 2/span 6}.gallery-card-medium{grid-area:span 3/span 4}.gallery-card-small{grid-area:span 2/span 3}.highlights-section{background:var(--paper);padding-top:100px;padding-bottom:100px}.highlight-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:1180px;margin:0 auto;display:grid}.highlight-card,.booking-card{border-radius:8px}.highlight-card{background:var(--foam);border:1px solid var(--line);padding:24px}.highlight-card h3{margin:0;font-size:20px;font-weight:500;line-height:1.1}.highlight-card p{color:var(--muted);margin:12px 0 0;font-size:15px;line-height:1.7}.booking-card h3{margin:0;font-size:24px;font-weight:500;line-height:1.1}.booking-card p{color:var(--muted);margin:18px 0 0;font-size:16px;line-height:1.7}.reviews-section{background:var(--sand);padding-top:100px;padding-bottom:100px}.reviews-section .section-heading{max-width:1180px}.reviews-carousel{--card-w:380px;--card-gap:20px;position:relative;overflow:hidden}.reviews-carousel:before,.reviews-carousel:after{content:"";pointer-events:none;z-index:2;width:64px;position:absolute;top:0;bottom:0}.reviews-carousel:before{background:linear-gradient(to right, var(--sand), transparent);left:0}.reviews-carousel:after{background:linear-gradient(to left, var(--sand), transparent);right:0}.reviews-track{gap:var(--card-gap);width:max-content;animation:45s linear infinite scroll-reviews;display:flex}.reviews-carousel:hover .reviews-track,.reviews-paused .reviews-track{animation-play-state:paused}@keyframes scroll-reviews{0%{transform:translate(0)}to{transform:translateX(calc((var(--card-w) + var(--card-gap)) * -5))}}.review-card{background:var(--foam);border:1px solid var(--line);flex:0 0 var(--card-w);border-radius:8px;flex-direction:column;padding:26px 28px;transition:box-shadow .25s;display:flex}.review-card:hover{box-shadow:0 12px 36px #2a1d1014}.review-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.review-author{color:var(--ink);margin:0;font-family:Playfair Display,Georgia,serif;font-size:17px;font-weight:600;line-height:1.2}.review-stars{flex-shrink:0;gap:2px;display:flex}.review-body{flex:1;position:relative}.review-text-clamped{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.review-fade{background:linear-gradient(to top, var(--foam), transparent);pointer-events:none;height:28px;position:absolute;bottom:0;left:0;right:0}.review-body p{color:var(--muted);margin:0;font-size:15px;line-height:1.7}.review-toggle{color:var(--gold);cursor:pointer;text-align:left;background:0 0;border:none;margin-top:10px;padding:0;font-family:inherit;font-size:14px;font-weight:500;transition:color .18s}.review-toggle:hover{color:var(--clay)}.amenities-section{background:var(--sea-deep);color:#fff}.amenities-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:56px;display:grid}.amenities-layout p{color:#ffffffb8}.amenity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.amenity-card{background:#ffffff14;border:1px solid #ffffff24;border-radius:8px;align-items:center;gap:14px;min-height:74px;padding:18px;display:flex}.amenity-card span{background:var(--gold);border-radius:50%;flex:none;width:10px;height:10px}.amenity-card p{color:#fff;margin:0;font-size:16px;font-weight:500;line-height:1.2}.booking-section{grid-template-columns:minmax(420px,.95fr) minmax(0,1.05fr);align-items:end;gap:44px;display:grid}.booking-copy h2{font-size:clamp(34px,4.35vw,62px)}.booking-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.booking-card{background:var(--foam);border:1px solid var(--line);flex-direction:column;min-height:310px;padding:28px;display:flex}.booking-card-primary{background:var(--gold);border-color:var(--gold);color:#fff}.booking-card-primary p{color:#ffffffc7}.booking-kicker{color:var(--clay);letter-spacing:.12em;text-transform:uppercase;margin-bottom:22px;font-size:12px;font-weight:500}.booking-card-primary .booking-kicker{color:#fffc}.booking-card strong{color:var(--sea-deep);margin-top:auto;font-size:15px}.booking-card-primary strong{color:#fff}.location-section{padding-top:0}.location-panel{background:var(--reef);color:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:28px;padding:34px;display:flex}.location-panel h2{font-size:clamp(30px,4vw,54px)}.location-panel p{color:#ffffffbd;margin-top:0}.location-actions{flex-wrap:wrap;gap:10px;display:flex}.location-actions a{-webkit-backdrop-filter:blur(8px);color:#fff;white-space:nowrap;background:#ffffff1f;border:1px solid #ffffff47;border-radius:999px;padding:14px 16px;font-size:14px;font-weight:500;line-height:1;transition:background .18s,transform .18s}.location-actions a:hover{background:#fff3;transform:translateY(-1px)}.site-footer{color:#ffffffbd;background:#2a1d10;justify-content:space-between;align-items:center;padding:24px max(24px,6vw);font-size:14px;display:flex}.site-footer p{margin:0}.site-footer a{color:#fff;font-weight:500}@media (max-width:980px){.site-header{gap:14px}.nav-links{display:none}.section-grid,.amenities-layout,.booking-section{grid-template-columns:1fr}.stay-media{justify-content:center}.gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:92px}.gallery-card-hero,.gallery-card-wide{grid-column:span 6}.gallery-card-tall,.gallery-card-medium,.gallery-card-small{grid-column:span 3}.highlight-grid,.booking-grid{grid-template-columns:1fr}.location-panel,.site-footer{flex-direction:column;align-items:flex-start}.review-card{flex:0 0 320px}.reviews-carousel{--card-w:320px}}@media (max-width:640px){.site-header{gap:8px;width:calc(100% - 20px);padding:8px;top:10px}.brand{min-width:0}.brand small{display:none}.nav-cta{flex:none;padding:12px 14px}.nav-cta span{display:none}.nav-cta:after{content:"Book";font-size:14px}.hero{gap:18px;min-height:88svh;padding:118px 20px 52px}.hero h1{font-size:clamp(52px,17vw,82px)}.hero-facts{grid-template-columns:1fr;width:100%;margin-top:28px;display:grid;position:relative;left:auto;right:auto}.hero-facts span{text-align:center;width:100%;padding:9px 14px;font-size:12px}.section{padding:100px 20px}.section-grid{gap:64px}.video-frame{max-height:520px}.gallery-grid{grid-auto-rows:74px;gap:3px}.gallery-section .section-heading{margin-bottom:22px}.gallery-card-hero,.gallery-card-wide,.gallery-card-medium{grid-column:span 6}.gallery-card-hero{grid-row:span 4}.gallery-card-tall,.gallery-card-small{grid-area:span 2/span 3}.amenity-grid{grid-template-columns:1fr}.booking-card{min-height:260px;padding:24px}.location-panel{padding:26px}.reviews-section{padding-left:0;padding-right:0}.reviews-section .section-heading{padding:0 20px}.reviews-carousel{--card-w:300px;--card-gap:14px}.review-card{flex:0 0 var(--card-w);padding:20px}}
