@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--green:#244b3a;--dark:#18392c;--cream:#f7f2e7;--gold:#e8b84a;--ink:#26372d;--muted:#68786d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fffdf8;color:var(--ink);font-family:'DM Sans',Arial,sans-serif}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500}h2{font-size:clamp(2.45rem,4.3vw,4.4rem);line-height:1.12;letter-spacing:-.035em;margin-bottom:26px}h2 em,h1 em{font-weight:400;color:#bb9952}p{line-height:1.8}.topline{background:var(--green);color:#fff;font-size:10px;letter-spacing:.2em;text-align:center;padding:9px 20px}.topline span{margin-left:30px;opacity:.65}.header{height:86px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:#fffdf8;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:11px;white-space:nowrap}.brand-mark{width:42px;height:42px;border:2px solid var(--green);border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:28px;position:relative;line-height:1}.brand-mark span{font:12px Arial;position:absolute;right:0;top:0;color:#c59845}.brand-name{font-family:Georgia,serif;font-size:21px;letter-spacing:.05em;line-height:1.1}.brand-name b{font-weight:400;color:#bb9146}.brand-name small{display:block;font:8px 'DM Sans',sans-serif;letter-spacing:.2em;margin-top:5px}.header nav{display:flex;gap:25px;font-size:12px;font-weight:600}.header nav a:hover,.underlink:hover{color:#a57a30}.btn{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:17px 24px;font-size:12px;font-weight:700;letter-spacing:.03em;transition:transform .2s,background .2s;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn-dark{background:var(--green);color:white}.btn-gold{background:var(--gold);color:#19392b}.btn-outline{border:1px solid rgba(255,255,255,.7);color:white}.menu{display:none;background:none;border:0;font-size:26px;color:var(--green)}.hero{min-height:680px;height:min(76vw,760px);position:relative;background:#234;overflow:hidden;color:white}.hero>img{position:absolute;inset:0;object-position:center 47%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,35,25,.84) 0%,rgba(9,35,25,.58) 43%,rgba(9,35,25,.08) 100%)}.hero-content{position:absolute;top:50%;left:9%;transform:translateY(-48%);max-width:690px}.eyebrow{font-size:11px;letter-spacing:.24em;color:#9a783d;font-weight:700;margin-bottom:23px}.eyebrow.light{color:#f0ca79}.hero h1{font-size:clamp(4.2rem,7.5vw,8.2rem);line-height:1.02;letter-spacing:-.05em;margin-bottom:24px}.hero h1 em{color:#f0ca79}.hero-content>p:not(.eyebrow){max-width:480px;font-size:15px;color:#f3f3e9}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:34px}.text-link{font-size:12px;font-weight:600;border-bottom:1px solid #fff;padding-bottom:8px}.hero-side{position:absolute;right:32px;top:50%;writing-mode:vertical-rl;letter-spacing:.28em;font-size:10px}.hero-side span{color:var(--gold)}.hero-bottom{position:absolute;bottom:30px;left:9%;right:5%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.2em}.section{padding:112px 9%}.intro{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center;background:var(--cream)}.intro-copy>p:not(.eyebrow){max-width:520px;color:#66736b;font-size:14px}.intro-photo{height:550px;position:relative}.intro-photo img{border-radius:210px 210px 4px 4px}.photo-stamp{position:absolute;bottom:25px;left:-48px;background:var(--gold);border-radius:50%;width:132px;height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:23px;line-height:1;text-align:center;transform:rotate(-10deg)}.photo-stamp span{font:8px 'DM Sans',sans-serif;letter-spacing:.1em;margin-top:8px}.underlink{display:inline-flex;border-bottom:1px solid currentColor;padding:0 0 9px;font-size:12px;font-weight:700;margin-top:18px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:340px;font-size:14px;color:var(--muted);margin-bottom:7px}.stays{background:#fffdf8}.stay-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.stay-card{background:#f4f0e7}.stay-img{height:340px;position:relative}.image-tag{position:absolute;bottom:20px;left:20px;background:#fffdf8;padding:10px 14px;font-size:9px;letter-spacing:.16em;font-weight:700}.stay-content{padding:36px 38px 40px}.stay-content .eyebrow{font-size:10px}.stay-content h3{font-size:32px;margin-bottom:14px}.stay-content p:not(.eyebrow){font-size:13px;color:var(--muted);min-height:76px}.fineprint{color:#788379;font-size:11px;margin-top:22px}.pool-feature{display:grid;grid-template-columns:1.05fr .95fr;min-height:570px;background:var(--green);color:#fff}.pool-image{min-height:520px}.pool-copy{padding:85px 12%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.pool-copy h2{font-size:clamp(3rem,5vw,5rem)}.pool-copy h2 em{color:#e7c47a}.pool-copy>p:not(.eyebrow){font-size:14px;color:#d8e1d9}.feature-row{display:flex;gap:24px;flex-wrap:wrap;margin:25px 0 35px;font-size:10px;letter-spacing:.1em}.moments{background:var(--cream)}.moments-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.moment img{height:270px}.moment h3{font-size:25px;margin:19px 0 7px}.moment p{font-size:12px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:195px;gap:12px}.gallery-grid img:first-child{grid-column:span 2;grid-row:span 2}.gallery-grid img:nth-child(4){grid-column:span 2}.gallery-grid img{transition:filter .2s}.gallery-grid img:hover{filter:brightness(.88)}.location{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center;background:#f7f2e7}.location p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:440px}.location-address{display:flex;flex-direction:column;gap:8px;margin:32px 0;font-size:13px}.location-photo{height:440px}.location-photo img{border-radius:240px 240px 0 0}.cta{background:var(--green);text-align:center;color:white;padding:105px 20px}.cta h2{font-size:clamp(3.2rem,6vw,6rem);margin-bottom:15px}.cta h2 em{color:#e9c879}.cta>p:not(.eyebrow){color:#e0e9df;font-size:14px;max-width:480px;margin:0 auto 30px}.cta-buttons{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}footer{background:#142e24;color:#e8ede5;padding:65px 9% 22px}.footer-top{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:50px}.footer-brand .brand-mark{border-color:#e8ede5}.footer-brand .brand-name{color:white}.footer-top p{font-size:13px;margin-top:20px;color:#acb9ae}.footer-top>div:not(:first-child){display:flex;flex-direction:column;gap:13px;font-size:12px}.footer-top h4{color:#e8b84a;letter-spacing:.15em;font-size:11px}.footer-bottom{border-top:1px solid #3c5849;margin-top:70px;padding-top:22px;display:flex;justify-content:space-between;color:#9bafa0;font-size:10px}.floating-contact{position:fixed;bottom:22px;right:22px;z-index:20;background:var(--gold);color:var(--dark);border-radius:40px;padding:14px 20px;box-shadow:0 6px 25px #0003;font-size:13px;font-weight:700}@media(max-width:1080px){.header nav{gap:13px}.header nav a{font-size:11px}.desktop-book{display:none}.section{padding:85px 6%}.intro{gap:7%}}@media(max-width:760px){.topline span{display:none}.header{height:72px;padding:0 5%}.menu{display:block}.header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fffdf8;padding:20px 6% 30px;flex-direction:column;box-shadow:0 15px 25px #0002}.header nav.open{display:flex}.hero{height:690px;min-height:0}.hero-content{left:7%;right:7%;top:48%}.hero h1{font-size:clamp(3.8rem,12vw,6rem)}.hero-content>p:not(.eyebrow){font-size:13px}.hero-side{display:none}.hero-bottom{left:7%;right:7%}.section{padding:75px 6%}.intro,.location{grid-template-columns:1fr;gap:40px}.intro-photo{height:430px;margin-left:25px}.photo-stamp{left:-25px;width:105px;height:105px;font-size:19px}.section-heading{display:block}.section-heading>p{margin-top:20px}.stay-grid{grid-template-columns:1fr}.stay-img{height:280px}.pool-feature{grid-template-columns:1fr}.pool-image{min-height:320px;height:320px}.pool-copy{padding:65px 7%}.moments-grid{grid-template-columns:1fr;gap:30px}.moment img{height:300px}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:140px}.gallery-grid img:first-child{grid-column:span 2;grid-row:span 2}.gallery-grid img:nth-child(4){grid-column:span 1}.location-photo{height:350px}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-top>div:first-child{grid-column:span 2}.footer-bottom{gap:15px;flex-direction:column}.hero-actions{gap:16px;flex-wrap:wrap}}@media(max-width:420px){.hero h1{font-size:3.5rem}.hero-actions{align-items:flex-start;flex-direction:column}.stay-content{padding:28px}.brand-name{font-size:18px}}

/* 2026 North Stay tropical brand refresh */
:root{--green:#244B3A;--dark:#18392C;--cream:#F7F2E7;--gold:#E8B84A;--pool:#287F92;--terracotta:#B65A3D;--ink:#24312C}
.brand-logo{display:block;width:clamp(185px,19vw,255px);height:auto;object-fit:contain}
.footer-brand .brand-logo{background:#F7F2E7;border-radius:7px;padding:7px;width:245px}
.header .brand{flex-shrink:0}
@media(max-width:420px){.brand-logo{width:190px}}

/* Approved brand-board artwork: exact crops, not redrawn vectors. */
.header{background:#fffefa}
.header .brand-logo{width:clamp(210px,23vw,300px);height:auto;aspect-ratio:533/165;object-fit:contain}
.footer-brand .brand-logo{background:transparent;padding:0;border-radius:0;width:clamp(240px,29vw,335px);aspect-ratio:535/208;object-fit:contain}
@media(max-width:760px){.header .brand-logo{width:210px}.header nav{background:#fffefa}}
@media(max-width:420px){.header .brand-logo{width:195px}}
