a.button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:12px}.nav-cta{text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #d28b30;outline-offset:4px}.hero-proof b{font-size:30px}.hero-content h1{max-width:760px}.stay-showcase{display:grid;grid-template-columns:repeat(3,1fr) 1.1fr;gap:12px;align-items:center}.stay-showcase>img{width:100%;height:240px;object-fit:cover;border-radius:6px}.stay-showcase>div{padding:0 15px}.journey-teaser{text-align:center;background:#e0f7f7}.journey-teaser p{max-width:650px;margin:0 auto 25px}.resort-footer{padding:50px 5%;display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px;background:#032b40;color:white}.resort-footer a{display:block;text-decoration:none;margin:7px 0}.resort-footer small{grid-column:1/-1;opacity:.7}.page-heading{text-align:center;padding:70px 20px;background:#e0f7f7}.page-heading h1{font-size:clamp(36px,5vw,64px);margin:0}.detail-hero{position:relative;min-height:430px;background:#073c56;color:white;display:flex;align-items:center}.detail-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.detail-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,43,64,.85),rgba(3,43,64,.15))}.detail-hero>div{position:relative;z-index:1;padding:65px 6%;max-width:900px}.detail-hero h1{font-size:clamp(36px,5vw,64px);line-height:1.08;margin:15px 0}.prose{max-width:900px;font-size:18px;line-height:1.9}.preserve-lines{white-space:pre-line}.prose .button{margin-top:28px}.tag-list{display:flex;flex-wrap:wrap;gap:12px}.tag-list a{background:#e0f7f7;border-radius:20px;padding:6px 16px}.faq-list{max-width:900px;margin:auto}.faq-list details{padding:22px;border-bottom:1px solid #c5d8dc}.faq-list summary{font-size:22px;cursor:pointer;font-family:Georgia,serif}.journey-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.route-timeline{list-style:none;padding:0}.route-timeline li{display:flex;gap:20px;padding:18px 0}.route-timeline span{background:#073c56;color:white;border-radius:50%;flex:none;width:44px;height:44px;display:grid;place-items:center}.route-timeline h3{margin:0;font-size:25px}.route-timeline p{margin:8px 0}.journey-map{margin:0}.journey-map img{width:100%;border-radius:10px}.journey-map figcaption,.source-note{font-size:13px;color:#607987}.travel-notes{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.travel-notes h3{font-size:24px}.package-copy h2{font-size:26px}.closing-cta{background:linear-gradient(#032b4055,#032b40a0),url('/assets/island-wide.jpg') center/cover;text-align:center;color:white;padding:85px 20px}.closing-cta h2{font-size:40px}.closing-cta .button{margin:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-weight:600}input,select,textarea{width:100%;border:1px solid #adc5cf;border-radius:5px;padding:12px;background:white;color:#17394a;font:inherit}input[type=checkbox],input[type=radio]{width:auto;accent-color:#007c91}textarea{min-height:110px}.field{margin-bottom:18px}.form-error{background:#fff0ec;color:#852900;border-left:4px solid #c34820;padding:15px;margin:15px 0}.notice{padding:16px;background:#dff4e8;color:#184c32;border-radius:5px}.muted{color:#607987}.check-option{font-weight:normal;display:flex;gap:12px;align-items:flex-start;background:white;padding:15px;border:1px solid #c5d8dc;border-radius:7px;margin-bottom:10px}.check-option input{margin-top:6px}.check-option small{display:block;color:#607987}.planner-shell{max-width:1100px;margin:0 auto;padding:45px 24px 80px}.planner-progress{display:flex;gap:7px;padding:0;list-style:none;margin:25px 0 35px}.planner-progress li{flex:1;border-top:4px solid #dce7e9;padding-top:8px;font-size:12px}.planner-progress li.active{border-color:#008b99;color:#006575;font-weight:bold}.planner-step h2{font-size:36px;margin-top:0}.planner-actions{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #dce7e9;margin-top:30px;padding-top:25px}.planner-summary{background:white;border:1px solid #dce7e9;padding:24px;border-radius:8px}.planner-summary table{width:100%;border-collapse:collapse}.planner-summary td,.planner-summary th{text-align:left;padding:12px 5px;border-bottom:1px solid #e0e8eb}.honeypot{position:absolute;left:-9999px}.admin-body{background:#f0f5f6}.admin-shell{display:grid;grid-template-columns:235px 1fr;min-height:100vh}.admin-nav{background:#073c56;color:white;padding:25px}.admin-nav a{display:block;padding:8px 0;text-decoration:none}.admin-main{padding:35px;min-width:0}.admin-main h1{font-size:36px;margin-top:0}.admin-main table{width:100%;border-collapse:collapse;background:white}.admin-main th,.admin-main td{text-align:left;padding:14px;border-bottom:1px solid #dce7e9}.admin-main .panel{background:white;border-radius:10px;padding:25px;margin:22px 0}.admin-main form{max-width:1000px}.admin-main nav svg{width:20px}.admin-main nav[role=navigation]{padding:20px}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-main button,.admin-nav button{cursor:pointer}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stats strong{font-size:35px;display:block}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.media-grid img{height:170px;width:100%;object-fit:cover}.media-grid code{overflow-wrap:anywhere}.login-box{max-width:460px;margin:10vh auto;background:white;border-radius:10px;padding:35px}.login-box h1{font-size:30px}.overflow-table{overflow-x:auto}
@media(max-width:900px){.stay-showcase{grid-template-columns:1fr 1fr}.journey-layout{grid-template-columns:1fr}.travel-notes{grid-template-columns:1fr 1fr}.admin-shell{grid-template-columns:1fr}.admin-nav{display:flex;gap:15px;flex-wrap:wrap}.admin-nav h2{width:100%}.admin-main{padding:20px}.media-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.hero{min-height:710px}.hero-content{padding-top:55px;padding-bottom:190px}.hero-proof{bottom:25px;grid-template-columns:1fr 1fr;gap:15px;display:grid}.hero-proof span{font-size:10px}.hero-proof b{font-size:22px}.stay-showcase{grid-template-columns:1fr}.stay-showcase>img{height:230px}.travel-notes,.form-grid,.stats,.media-grid{grid-template-columns:1fr}.resort-footer{grid-template-columns:1fr 1fr}.resort-footer>div:first-child{grid-column:1/-1}.planner-progress li{font-size:0}.planner-progress li:before{content:attr(data-number);font-size:14px}.planner-shell{padding:30px 18px}.planner-summary{padding:15px}.planner-summary td{font-size:13px}.admin-top{align-items:flex-start;flex-direction:column}.site-header #site-nav.is-open{display:flex}.detail-hero{min-height:360px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.planner-shell{max-height:none;overflow:visible}.planner-summary{color:#17394a}.planner-summary strong{color:#073c56}.planner-step h2{scroll-margin-top:110px}.resort-footer .brand{color:#fff}.table-wrap{max-width:100%;overflow-x:auto}.planner-shell details,.admin-main details{padding:20px;background:#fff;border:1px solid #c5d8dc;border-radius:8px;margin:22px 0}.planner-shell summary,.admin-main summary{cursor:pointer;color:#073c56;font-size:19px}.planner-shell form+form,.admin-main form+form{margin-top:16px}.planner-summary li{margin:8px 0}
.planner-photo-option{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;padding:0 0 18px;overflow:hidden;cursor:pointer;transition:border-color .15s,box-shadow .15s}.planner-photo-option .planner-choice-photo{grid-column:1/-1;width:100%;height:210px;object-fit:cover;background:#dff0ef}.planner-photo-option>input{margin-left:16px;width:18px;min-width:18px;height:18px}.planner-photo-option>span{padding:0 18px 0 0}.planner-photo-option:not(:has(img)){padding-top:18px}.planner-photo-option:has(input:checked){border:2px solid #007c91;box-shadow:0 0 0 2px #007c9120}.planner-photo-option:has(input:focus-visible){outline:3px solid #d28b30;outline-offset:3px}.planner-photo-option:has(input:disabled){opacity:.55}@media(max-width:640px){.planner-photo-option .planner-choice-photo{height:190px}}
/* Rich content is sanitized server-side; these styles apply only to public content. */
.rich-content{white-space:normal}.rich-content img{max-width:100%;height:auto;border-radius:10px}.rich-content p{margin:0 0 1em}.rich-content blockquote{border-left:3px solid #16877d;margin:1.5em 0;padding:10px 24px;background:#f0f7f4}.rich-content a{color:#087b80;text-decoration:underline}.content-video{margin:30px 0}.content-video video{display:block;width:100%;max-height:620px;background:#082f3c;border-radius:12px}.content-video figcaption{font-size:13px;color:#6a8286;margin-top:8px}
