@charset "UTF-8";
:root{--navy:#061322;--deep:#030b17;--panel:#102238;--pink:#e50078;--teal:#23cbd0;--yellow:#ffdd31;--ink:#152234;--muted:#b3c8d5;--paper:#f4f5f1;--border:#30485e;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--deep);font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}body{margin:0;line-height:1.65}a{color:#006c74;text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}img{max-width:100%;display:block}h1,h2,h3{line-height:1.1;margin:0 0 1rem;font-weight:900;letter-spacing:-.035em}h1,h2,.eyebrow,.nav a,.button,.step-list{font-family:'Arial Narrow',Impact,Arial,sans-serif}h1{font-size:clamp(2.6rem,7vw,5.7rem);text-transform:uppercase}h2{font-size:clamp(1.8rem,4vw,3rem);text-transform:uppercase}h3{font-size:1.3rem}p{margin:0 0 1rem}ul{padding-left:1.3rem}:focus-visible{outline:3px solid #ffbd18;outline-offset:4px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#006c74}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.skip{position:fixed;top:-80px;left:12px;z-index:100;background:white;padding:12px}.skip:focus{top:8px}.site-header{background:var(--deep);color:white;border-bottom:1px solid #193349}.header-inner{display:flex;align-items:center;gap:24px;min-height:104px}.brand{display:block;width:116px;flex-shrink:0;height:96px;overflow:hidden}.brand img{width:116px;height:116px;object-fit:cover;transform:scale(1.45) translateY(-1px);mix-blend-mode:screen}.nav{display:flex;gap:21px;align-items:center;margin-left:auto}.nav a{font-size:.73rem;letter-spacing:.035em;color:#fff;text-transform:uppercase;text-decoration:none;font-weight:800;padding:14px 0;border-bottom:2px solid transparent}.nav a[aria-current]{color:#ff61b0;border-color:#ff61b0}.nav a:hover{color:var(--teal)}.nav .nav-cta{background:var(--pink);padding:12px 15px;border-radius:3px}.menu-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--border);color:white;border-radius:3px;padding:8px 14px}.demo-bar{background:#11383e;color:#c9ffff;text-align:center;font-size:.8rem;padding:8px 20px}.hero{position:relative;overflow:hidden;background:linear-gradient(90deg,#04142af5 12%,#0823479c 52%,#08234718),url('../images/hero-cancun-beach.svg') center/cover;min-height:610px;color:#fff;display:flex;align-items:center}.hero:after,.page-banner:after{content:'';position:absolute;right:-45px;bottom:-75px;width:310px;height:440px;background:url('../images/tropical-palms.svg') center/contain no-repeat;pointer-events:none;opacity:.85}.hero-content{position:relative;z-index:1;padding:75px 0;max-width:760px}.eyebrow{font-size:.82rem;letter-spacing:.15em;font-weight:800;text-transform:uppercase;color:#00777f;margin-bottom:14px}.hero .eyebrow{color:var(--teal)}.hero h1{max-width:760px;text-shadow:0 4px 24px #0005;font-size:clamp(3.4rem,8vw,6.5rem)}.hero h1 em{display:block;color:var(--yellow);font-style:italic}.hero .event-meta{font-weight:800;font-size:1rem;letter-spacing:.025em}.hero .tagline{max-width:530px;color:#e0f2f5}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:47px;padding:12px 23px;border:2px solid transparent;border-radius:3px;background:#c90068;color:#fff;text-decoration:none;text-transform:uppercase;font-weight:800;font-size:.85rem;letter-spacing:.04em;line-height:1.3}.button:hover{background:#a50056;color:#fff}.button.teal{background:#007b83}.button.teal:hover{background:#005c63}.button.outline{background:transparent;border-color:currentColor;color:inherit}.button.small{min-height:40px;padding:9px 15px}.dark{background:var(--navy);color:#fff}.dark a:not(.button){color:#60e4e5}.section{padding:65px 0}.section + .section{border-top:1px solid #254056}.split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.split img{border-radius:4px;aspect-ratio:4/3;object-fit:cover}.accent{color:#ff4ca5}.intro .eyebrow{color:var(--teal)}.intro p{color:var(--muted)}.feature-grid,.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.features{padding:35px 0;border-bottom:1px solid var(--border)}.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.feature{padding:0 20px;border-right:1px solid var(--border)}.feature:last-child{border:0}.feature .icon{font-size:2rem;color:var(--teal)}.feature h3{font-size:1.1rem;text-transform:uppercase}.feature p{color:var(--muted);font-size:.9rem;margin:0}.stats{display:flex;justify-content:space-around;gap:20px;flex-wrap:wrap;padding:28px 0;border-bottom:2px solid var(--teal);text-align:center}.stat strong{display:block;font-size:2.3rem;color:var(--teal);line-height:1.3}.stat:nth-child(2) strong{color:#ff57aa}.stat:nth-child(3) strong{color:var(--yellow)}.stat span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.card{background:white;border:1px solid #d8e0e2;border-radius:5px;overflow:hidden}.card-body{padding:25px}.card img{width:100%;aspect-ratio:16/10;object-fit:cover}.dark .card{background:var(--panel);border-color:var(--border)}.dark .card p{color:var(--muted)}.card .eyebrow{font-size:.7rem}.card h3{margin-bottom:12px}.page-banner{background:linear-gradient(110deg,#061322,#092940);position:relative;overflow:hidden;color:#fff;padding:45px 0}.page-banner h1{font-size:clamp(2.4rem,5vw,3.7rem);position:relative;z-index:1}.breadcrumbs{font-size:.75rem;color:#b0d6dd;position:relative;z-index:1}.breadcrumbs a{color:#63e5e4}.page-body{background:var(--paper);padding:50px 0 75px;min-height:380px}.page-body .section{padding:35px 0;border-color:#d5dfe0}.page-body .section:first-child{padding-top:0}.notice{padding:20px 24px;border-left:4px solid #00848a;background:#e0f2ef;margin:20px 0;color:#143c41}.notice p:last-child{margin-bottom:0}.notice.important{background:#fff3da;border-color:#b07000;color:#573d13}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.section-heading h2{margin:0}.sponsor-grid{display:flex;flex-wrap:wrap;gap:20px}.sponsor{display:flex;align-items:center;justify-content:center;min-height:130px;padding:30px;background:#fff;border:1px solid #d7dfe2;border-radius:4px;font-size:1.4rem;font-weight:900}.sponsor img{max-width:200px;max-height:100px}.site-footer{background:var(--deep);color:#b4c8d5;border-top:1px solid var(--border);padding:45px 0 0}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1.4fr;gap:30px}.footer-grid h3{font-size:.9rem;color:white;text-transform:uppercase;letter-spacing:.04em}.footer-grid p,.footer-grid a{font-size:.85rem}.footer-grid a{color:#c7dce5}.footer-links{display:grid;gap:6px}.footer-bottom{margin-top:40px;background:#007d85;color:white;padding:15px 0;font-size:.75rem}.field{margin-bottom:18px;min-width:0}.field label{display:block;font-size:.85rem;font-weight:700;margin-bottom:6px}.field label span{color:#9e0053}input:not([type=checkbox]):not([type=hidden]),select,textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid #84979e;background:#fff;color:#162635;border-radius:3px}textarea{resize:vertical}input[type=checkbox]{width:21px;height:21px;flex-shrink:0;accent-color:#bd0061}.check{display:flex;gap:10px;align-items:flex-start;margin:18px 0}.check label{line-height:1.5;font-size:.94rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.form-panel{background:#fff;border:1px solid #d5dfe0;padding:30px;border-radius:5px;max-width:850px}.field-error{display:block;color:#a4003a;font-size:.83rem;line-height:1.4;margin-top:5px}.form-error{background:#ffecf0;border-left:4px solid #b50040;padding:14px 18px;margin-bottom:20px;color:#8c0031}.form-error p{margin:6px 0 0}.success{color:#006451;margin-top:15px}[aria-invalid=true]{border:2px solid #b50040!important}.price{font-size:1.8rem;font-weight:900;line-height:1.3}.price s{font-size:1rem;color:#65747e;font-weight:400;margin-right:8px}.room-meta{font-size:.85rem;color:#536570}.badge{display:inline-block;padding:4px 9px;color:#005b61;background:#dbf5f3;font-size:.72rem;font-weight:800;border-radius:3px}.badge.low{color:#8a3d00;background:#fff0cc}.badge.sold{color:#8b1640;background:#ffe5ee}.room-card .button{width:100%;margin-top:15px}.room-card h3{margin-top:10px}.price-lines{margin:0}.price-lines>div{display:flex;gap:18px;justify-content:space-between;border-bottom:1px solid #d8e1e2;padding:12px 0}.price-lines dd{margin:0;white-space:nowrap;font-weight:700}.price-lines .total{font-weight:900;border:0;font-size:1.2rem}.book-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}.quote-panel{background:white;border:1px solid #cedcde;border-top:4px solid #008b91;padding:24px;position:sticky;top:20px}.quote-panel h3{font-size:1.15rem}.quote-panel .price-lines{font-size:.82rem}.step-list{display:flex;gap:12px;padding:0;list-style:none;flex-wrap:wrap;margin:0 0 28px;text-transform:uppercase;font-size:.77rem;font-weight:800}.step-list li{border-bottom:3px solid #c6d1d6;padding:8px 6px;color:#526774}.step-list li[aria-current]{color:#b70060;border-color:#cf006c}.booking-buttons{display:flex;gap:12px;justify-content:space-between;margin-top:25px}fieldset{border:1px solid #d0dfe0;border-radius:3px;margin:0 0 24px;padding:20px}legend{font-weight:800;padding:0 8px}details{border-bottom:1px solid #ccdadc;padding:16px 0}summary{cursor:pointer;font-weight:800}details p{margin:15px 0 0}.loading{padding:60px 0;font-size:1.2rem}.loading:before{content:'';display:inline-block;width:18px;height:18px;border:3px solid #bce5e5;border-top-color:#007b83;border-radius:50%;margin-right:12px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.help{font-size:.85rem;color:#546873}.empty{padding:25px;background:#e4edef;border-radius:4px}.status{font-weight:800}.return-panel{max-width:750px;margin:20px auto;text-align:center;padding:45px}.return-icon{display:block;color:#007a80;font-size:3rem;margin-bottom:15px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;margin:20px 0}th,td{text-align:left;padding:12px;border-bottom:1px solid #d1dde0}.pending{color:#8a5200;font-weight:800}.quiet-link{font-size:.85rem}.top-gap{margin-top:35px}.photo-label{position:relative}.photo-label span{position:absolute;bottom:12px;left:12px;font-size:.7rem;background:#061322da;color:#fff;padding:4px 9px}.dark .field label{color:white}.dark .field-error{color:#ff9bc3}.dark .form-error{color:#8c0031}.page-banner .wrap{position:relative;z-index:1}.list-clean{list-style:none;padding:0}.list-clean li{padding:9px 0;border-bottom:1px solid #d7e0e0}.list-clean li:before{content:'✓';color:#007b83;font-weight:bold;margin-right:10px}[hidden]{display:none!important}
@media(max-width:1050px){.nav{gap:12px}.nav a{font-size:.66rem}.header-inner{gap:12px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.book-layout{grid-template-columns:minmax(0,1fr) 280px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.wrap{width:calc(100% - 32px)}.header-inner{min-height:85px;flex-wrap:wrap}.brand{width:92px;height:82px}.brand img{width:92px;height:92px}.menu-toggle{display:block}.nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding-bottom:20px}.nav.open{display:flex}.nav a{font-size:.85rem;padding:12px}.hero{min-height:560px;background-position:60% center}.hero-content{padding:55px 0}.hero h1{font-size:clamp(3rem,12vw,5.5rem)}.hero:after{width:180px;opacity:.5}.split{grid-template-columns:1fr;gap:25px}.section{padding:42px 0}.feature-grid{grid-template-columns:1fr 1fr;gap:28px 0}.feature:nth-child(2){border:0}.feature{padding:0 14px}.cards,.book-layout{grid-template-columns:1fr}.quote-panel{position:static}.form-grid{grid-template-columns:1fr}.form-panel{padding:22px}.footer-grid{gap:30px}.section-heading{align-items:start;flex-direction:column}.page-body{padding-top:32px}.page-banner{padding:32px 0}.return-panel{padding:25px 20px}.price-lines>div{gap:10px;font-size:.9rem}.step-list{gap:6px}.step-list li{font-size:.68rem}.stats{gap:16px}.stat strong{font-size:1.8rem}}
@media(max-width:420px){.footer-grid{grid-template-columns:1fr}.hero .event-meta{font-size:.85rem}.button{padding:12px 16px}.booking-buttons{flex-wrap:wrap}.form-panel{padding:18px}.feature h3{font-size:.95rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}
.hero h1 em{font-size:.75em;color:var(--yellow)}.hero h1 b{display:block;font-size:.85em;color:var(--teal);font-style:italic}.hero h1 span{display:block}.hero h1{line-height:.98}.hero .hero-content{max-width:800px}.hero h1 em{margin:.12em 0}.hero .event-meta{margin-top:25px}
