/* Warm, tactile calls to action shared across the resort journey. */
.button,.nav-book{min-height:52px;border-radius:8px;font-size:14px;font-weight:650;letter-spacing:.15px;box-shadow:0 5px 0 #08291d20,0 10px 24px #08291d15;transition:transform .22s ease,box-shadow .22s ease,background .22s ease;}
.button.sand,.button.light,.site-header .nav-book{background:linear-gradient(120deg,#f0d18c,#e4b966);color:#17372b;border:1px solid #f9dfaa;}
.button.forest,.button.primary,.closing .button{background:linear-gradient(120deg,#235441,#15382b);color:#fff6e1;border:1px solid #53795d;}

.hero-actions .button{min-height:64px;padding:17px 25px;font-size:16px;gap:28px;}
.cta-reassurance{font-size:12px!important;line-height:1.6;color:#f4ead6!important;margin:17px 0 0!important;letter-spacing:.15px;}
.hero-actions .quiet-link{min-height:48px;padding:10px 16px;border:1px solid #ffffff70;border-radius:8px;background:#112d2470;font-size:13px;}
.button:focus-visible,.nav-book:focus-visible{outline:3px solid #c17f22;outline-offset:5px;}
.button:active,.nav-book:active{transform:translateY(1px);box-shadow:0 2px 4px #08291d20;}
.button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;}
@media(hover:hover){.button:hover,.nav-book:hover{transform:translateY(-3px);box-shadow:0 7px 0 #08291d18,0 16px 30px #08291d25;filter:brightness(1.06);}.quiet-link:hover{background:#234e3fe0;}}
@media(max-width:760px){.hero-actions{gap:14px}.hero-actions .button{width:100%;max-width:350px;}.button{max-width:100%;gap:18px}.mobile-book a:last-child{background:#eac77f;color:#17372b;font-weight:700;}.cta-reassurance{max-width:320px;}}
@media(prefers-reduced-motion:reduce){.button,.nav-book,.button:hover,.nav-book:hover,.button:hover>span:last-child{transform:none;}}
.motion-off .button:hover,.motion-off .nav-book:hover,.motion-off .button:hover>span:last-child{transform:none;}

/* Leave room for the 360 explorer navigation and scene thumbnails. */
.tour-frame{min-height:620px;aspect-ratio:16/10;border-radius:12px;overflow:hidden;box-shadow:0 22px 55px #173b301c}.tour-frame:fullscreen{height:100vh;width:100vw}
@media(max-width:760px){.tour-frame{height:680px;min-height:580px;aspect-ratio:auto}}

/* Let the invitation do the talking: clean labels, warm colour, quiet motion. */
.button{justify-content:center;gap:12px}.hero-actions .button{justify-content:center}.button>span:empty{display:none}
.footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;padding-top:27px;padding-bottom:12px}.footer-bottom>span{grid-column:1;font-size:11px}.footer-bottom .creator-credit{grid-column:2;text-align:center;font-size:13px;color:#385442;text-decoration:none;line-height:1.8;min-height:48px;display:flex;flex-direction:column;justify-content:center}.creator-credit strong{display:block;font-size:17px;font-weight:650;letter-spacing:.3px;color:#173e2d}.creator-credit:hover strong{text-decoration:underline;text-underline-offset:5px}.vip-page footer{flex-wrap:wrap}.vip-page footer>.creator-credit{flex-basis:100%;text-align:center;font-size:13px;border-top:1px solid #d6ddcc;padding-top:22px;text-decoration:none}
#green-season{margin-top:0;border-radius:0;scroll-margin-top:20px}.offer-deadline{color:#f4dab0!important;font-size:12px!important;display:flex;flex-direction:column;gap:8px;padding-left:16px;border-left:2px solid #dbb970}.offer-deadline .promo-countdown{font-size:20px;font-weight:600;letter-spacing:1px}.virtual-visit+.location-ribbon{margin-top:18px}
@media(max-width:760px){.footer-bottom{grid-template-columns:1fr;gap:16px;text-align:center}.footer-bottom>span{grid-column:1;grid-row:2}.footer-bottom .creator-credit{grid-column:1;grid-row:1;font-size:13px}.footer-bottom .creator-credit strong{font-size:18px}.offer-deadline .promo-countdown{font-size:19px!important}.hero-actions .button{justify-content:center}}

/* A quiet maker credit and a genuine, live Instagram profile. */
.footer-bottom .creator-credit,.vip-page footer>.creator-credit{display:block;font-size:11px;line-height:1.7;min-height:44px;padding:12px 0;color:#5d6f62}.footer-bottom .creator-credit strong,.vip-page footer>.creator-credit strong{display:inline;font-size:inherit;font-weight:600;letter-spacing:0;color:inherit}.footer-bottom{gap:14px}.offer-value strong small{display:block;font-size:13px;line-height:1.6;letter-spacing:.2px;margin-top:6px;white-space:nowrap}.instagram-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,540px);gap:65px;align-items:center;border-block:1px solid #d4dbc8;background:#edf0e2}.instagram-copy{min-width:0;max-width:500px}.instagram-copy h2{font-size:clamp(35px,4vw,55px);margin-bottom:25px}.instagram-copy h2 em{color:#6a7d49}.instagram-copy>p:not(.eyebrow){font-size:15px;line-height:1.9;color:#52644f}.instagram-handle{display:block;margin:23px 0 18px;font-size:20px;font-family:Georgia,serif;color:#254834}.instagram-copy .button{min-height:54px}.instagram-copy .instagram-note{font-size:12px!important;margin-top:20px}.instagram-feed{min-width:0;width:100%;max-width:540px;margin:auto}.instagram-feed iframe{display:block;width:100%;height:610px;border:1px solid #d1d8c8;border-radius:12px;background:white}.instagram-fallback{display:block;text-align:center;padding:15px 8px;font-size:12px;text-decoration:underline;text-underline-offset:4px;min-height:44px;color:#425c42}
@media(max-width:950px){.instagram-section{grid-template-columns:1fr;gap:28px}.instagram-copy{max-width:600px}.instagram-copy h2 br{display:none}.instagram-feed{max-width:540px}}
@media(max-width:520px){.instagram-section{padding:45px 16px}.instagram-copy h2{font-size:36px}.instagram-copy .button{width:100%}.instagram-feed iframe{height:550px;border-radius:9px}.footer-bottom .creator-credit,.vip-page footer>.creator-credit{font-size:11px}.footer-bottom .creator-credit strong{font-size:inherit}.offer-value strong small{font-size:12px}}
