/* AIR Flagship Pages v1 — Hotels, Beaches, Restaurants */

/* Shared flagship rhythm */
.hotel-hub-hero,.beach-hero,.air-page .air-hero{isolation:isolate}
.hotel-hub-hero,.beach-hero{position:relative;overflow:hidden;background:var(--air-deep)!important;color:#fff!important;padding:150px 24px 92px!important}
.hotel-hub-hero:before,.beach-hero:before{content:"";position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transform:scale(1.02)}
.hotel-hub-hero:after,.beach-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,18,25,.18),rgba(6,18,25,.76) 82%,rgba(6,18,25,.94))}
.hotel-hub-hero:before{background-image:url('/images/amelia-island-hotels.jpg')}
.beach-hero:before{background-image:url('/images/hero-beach.jpg')}
.hotel-hub-hero .inner,.beach-hero .bw{width:min(calc(100% - 8px),1180px);max-width:none!important}
.hotel-hub-hero .eyebrow,.beach-hero .eyebrow,.air-page .air-kicker{font-family:var(--air-ui);font-size:.7rem!important;font-weight:800!important;letter-spacing:.16em!important;text-transform:uppercase;color:#c7ddd8!important;opacity:1!important}
.hotel-hub-hero h1,.beach-hero h1,.air-page .air-hero h1{font-family:var(--air-display)!important;font-size:clamp(3.4rem,7vw,6.5rem)!important;line-height:.92!important;letter-spacing:-.035em!important;max-width:920px;margin:12px 0 20px!important;text-wrap:balance}
.hotel-hub-hero p,.beach-hero p,.air-page .air-hero p{max-width:760px!important;font-family:var(--air-body);font-size:clamp(1.05rem,2vw,1.25rem)!important;line-height:1.75!important;color:#e3ecee!important}

/* Hotels */
.hub{max-width:1180px!important;padding:62px 24px 90px!important}
.hub>.verified{font-family:var(--air-ui);background:#e8f2ef!important;color:#335e57!important;border:1px solid #c6ddd7;padding:8px 12px!important}
.hub>.intro{font-size:1.08rem;line-height:1.85!important;color:var(--air-muted)!important;max-width:900px!important;margin:22px 0 54px!important}
.hub .section{margin:76px 0!important}
.hub .section>h2,.hub .decision h2,.hub .booking-shell h2{font-family:var(--air-display)!important;font-size:clamp(2.3rem,4vw,3.5rem)!important;letter-spacing:-.025em;color:var(--air-deep)!important;margin-bottom:14px!important}
.hub .section>p{max-width:760px;color:var(--air-muted)!important;font-size:1rem;line-height:1.8!important}
.hub .choice-grid,.hub .pick-grid,.hub .guide-grid{gap:16px!important}
.hub .choice,.hub .pick,.hub .guide{border:1px solid var(--air-line)!important;border-radius:var(--air-radius-lg)!important;padding:26px!important;background:#fff!important;box-shadow:none!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.hub .choice:hover,.hub .pick:hover,.hub .guide:hover{transform:translateY(-4px);box-shadow:var(--air-shadow-sm);border-color:#c8d7d2!important}
.hub .choice h3,.hub .pick h3,.hub .guide h3{font-family:var(--air-display)!important;font-size:1.45rem!important;line-height:1.15;color:var(--air-deep)!important}
.hub .choice p,.hub .pick p,.hub .guide p{font-size:.94rem;color:var(--air-muted)!important;line-height:1.7!important}
.hub .choice a,.hub .pick a,.hub .guide a{font-family:var(--air-ui);font-size:.82rem;color:var(--air-sea)!important}
.hub .badge{background:var(--air-sea-pale)!important;color:var(--air-sea)!important;padding:6px 9px!important;font-family:var(--air-ui);font-size:.67rem!important;letter-spacing:.09em!important}
.hub .pick.featured{border:1px solid #b9cec7!important;background:linear-gradient(180deg,#fff,#f8fbfa)!important}
.hub .decision{position:relative;overflow:hidden;background:var(--air-deep)!important;border:0!important;border-radius:var(--air-radius-xl)!important;padding:38px!important;color:#fff!important;box-shadow:var(--air-shadow)}
.hub .decision:after{content:"RITZ / OMNI";position:absolute;right:24px;bottom:-8px;font-family:var(--air-display);font-size:5rem;font-weight:700;color:rgba(255,255,255,.045);letter-spacing:-.06em}
.hub .decision h2{color:#fff!important}.hub .decision p{max-width:780px;color:#cedadd!important;line-height:1.8}.hub .decision a{color:#a9d2c8!important;text-decoration:none}
.hub .table-wrap{border:1px solid var(--air-line)!important;border-radius:var(--air-radius-lg)!important;box-shadow:var(--air-shadow-sm)}
.hub .compare thead th{background:#f0f4f2!important;font-family:var(--air-ui);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--air-deep)!important}
.hub .compare th,.hub .compare td{padding:17px!important;border-color:#e7ece9!important}.hub .compare td{color:#43535c;line-height:1.55}.hub .compare a{color:var(--air-sea)!important}
.hub .cost-box{background:var(--air-sand)!important;border:1px solid #e3dac7;border-radius:var(--air-radius-lg)!important;padding:26px!important;color:#4c514f!important}
.hub .booking-shell{background:var(--air-deep)!important;border-radius:var(--air-radius-xl)!important;padding:40px!important;box-shadow:var(--air-shadow)}
.hub .booking-shell h2{color:#fff!important}.hub .booking-shell p{color:#cad6d9!important;max-width:700px;line-height:1.75}
.hub .method{border-left:0!important;border:1px solid var(--air-line);background:#f5f7f5!important;border-radius:var(--air-radius-lg);padding:22px!important;color:var(--air-muted)!important}

/* Beaches */
.live-strip{max-width:1180px!important;margin:-42px auto 0!important;padding:0 24px!important;z-index:5}
.live-strip .live-grid{gap:12px!important}
.live-strip .live-card{border:1px solid rgba(255,255,255,.7)!important;border-radius:var(--air-radius-lg)!important;padding:20px!important;box-shadow:var(--air-shadow-sm)!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(10px)}
.live-strip .live-card .label{font-family:var(--air-ui);font-size:.65rem!important;letter-spacing:.1em!important;color:var(--air-muted)!important}
.live-strip .live-card strong{font-family:var(--air-display);font-size:1.25rem!important;color:var(--air-deep)!important}
.finder{max-width:1180px!important;margin:62px auto 0!important;padding:0 24px!important}.finder-box{border:0!important;border-radius:var(--air-radius-xl)!important;padding:34px!important;background:var(--air-sand)!important;box-shadow:none!important}.finder-box h2{font-family:var(--air-display)!important;font-size:2.3rem;color:var(--air-deep)!important}.finder-box p{max-width:750px;color:var(--air-muted)!important;line-height:1.7}
.filters{gap:9px!important}.filter{font-family:var(--air-ui);font-size:.78rem;border:1px solid #d4d8d2!important;background:rgba(255,255,255,.78)!important;color:var(--air-deep)!important;padding:11px 15px!important}.filter:hover{border-color:var(--air-sea)!important}.filter.active{background:var(--air-deep)!important;color:#fff!important;border-color:var(--air-deep)!important}
.beach-section{padding:72px 24px!important}.beach-section.alt{background:#f1f4f1!important}.beach-grid{max-width:1180px!important;gap:16px!important}.beach-card{position:relative;overflow:hidden;border:1px solid var(--air-line)!important;border-radius:var(--air-radius-lg)!important;padding:27px!important;box-shadow:none!important;transition:transform .2s ease,box-shadow .2s ease}.beach-card:hover{transform:translateY(-4px);box-shadow:var(--air-shadow-sm)}
.beach-card .zone{font-family:var(--air-ui);font-size:.66rem!important;letter-spacing:.1em!important;color:var(--air-sea)!important}.beach-card h3{font-family:var(--air-display)!important;font-size:1.6rem!important;line-height:1.15;color:var(--air-deep)!important;margin:9px 0!important}.beach-card .best{font-family:var(--air-ui);font-size:.82rem;color:#425450!important}.beach-card p{font-size:.94rem;color:var(--air-muted)!important;line-height:1.72!important}.facts{background:var(--air-sea-pale)!important;border-radius:12px!important;padding:13px!important;color:#47615c!important}.actions a{font-family:var(--air-ui);font-size:.78rem;color:var(--air-sea)!important}
.rules{max-width:960px!important}.rules h2{font-family:var(--air-display)!important;font-size:clamp(2.4rem,4vw,3.5rem)!important;color:var(--air-deep)!important;letter-spacing:-.025em}.rule-grid{gap:14px!important}.rule{border:1px solid var(--air-line)!important;border-radius:var(--air-radius-lg)!important;padding:23px!important}.rule h3{font-family:var(--air-display)!important;font-size:1.3rem;color:var(--air-deep)!important}.rule p{color:var(--air-muted)!important;line-height:1.72!important}.sources{max-width:960px!important;border-top:1px solid var(--air-line);padding-top:24px;color:var(--air-muted)!important}.sources a{color:var(--air-sea)!important}

/* Restaurants — bring existing strong layout into AIR system */
.air-page{--air-red:#5f8f87;--air-red-dark:#3f6f67;--air-ink:#0b2633;--air-muted:#66777d;--air-line:#dde5e1;--air-paper:#f8f5ef;--air-warm:#efe8da;background:#f8f5ef!important}
.air-page .air-hero{min-height:650px!important;background:var(--air-deep)!important}.air-page .air-hero:before{opacity:.74!important;filter:saturate(.8) contrast(.96)}.air-page .air-hero:after{background:linear-gradient(180deg,rgba(6,18,25,.12),rgba(6,18,25,.84))!important}.air-page .air-hero-inner{width:min(1180px,calc(100% - 40px))!important;padding:155px 0 70px!important}.air-page .air-kicker:before{background:#a8cbc3!important;height:2px!important}.air-page .air-hero-meta{font-family:var(--air-ui);font-size:.72rem!important;letter-spacing:.04em;text-transform:uppercase;color:#d4e0e1!important}
.air-decision-bar{top:70px!important;background:rgba(248,245,239,.94)!important;border-color:#dddcd5!important}.air-decision-inner{padding:11px 0!important}.air-decision-inner a{font-family:var(--air-ui);font-size:.76rem!important;border-color:#d7dbd7!important;background:rgba(255,255,255,.85)!important;color:var(--air-deep)!important}.air-decision-inner a:hover{background:var(--air-deep)!important;color:#fff!important}
.air-section{padding:82px 0!important}.air-section+.air-section{border-color:var(--air-line)!important}.air-section-head{margin-bottom:34px!important}.air-section-head h2{font-family:var(--air-display)!important;font-size:clamp(2.4rem,4vw,3.6rem)!important;letter-spacing:-.025em;color:var(--air-deep)!important}.air-section-head p{color:#66777d!important;line-height:1.75!important}
.air-page .air-grid{gap:16px!important}.air-page .air-card{border-color:#dde5e1!important;border-radius:var(--air-radius-lg)!important;box-shadow:none!important}.air-page .air-card:hover{box-shadow:var(--air-shadow-sm)!important;transform:translateY(-4px)!important}.air-page .air-card-image{aspect-ratio:5/4!important}.air-page .air-card-label{background:#0b2633!important;font-family:var(--air-ui);font-size:.64rem!important;letter-spacing:.08em!important}.air-page .air-card-body{padding:20px!important}.air-page .air-card h3{font-family:var(--air-display)!important;font-size:1.25rem!important;line-height:1.2!important}.air-page .air-price{color:#5f8f87!important}.air-page .air-rating{color:#7e6035!important}.air-page .air-btn{font-family:var(--air-ui);border-radius:999px!important;padding:10px 13px!important}.air-page .air-btn.primary{background:#0b2633!important}.air-page .air-btn.secondary{color:#0b2633!important}
.air-tonight{background:#0b2633!important;padding:82px 0!important}.air-tonight .air-section-head h2{color:#fff!important}.air-tonight .air-card{border-color:#31454d!important}.air-browse{background:#efe8da!important;padding:82px 0!important}.air-search{border-color:#d5d2c9!important;border-radius:999px!important;padding:15px 20px!important}.air-count{font-family:var(--air-ui);background:#0b2633!important;border-radius:999px!important}.air-all-item{border-color:#ddd9cf!important;border-radius:14px!important}.air-all-item:hover{border-color:#5f8f87!important}.air-all-arrow{color:#5f8f87!important}

@media(max-width:900px){.hotel-hub-hero,.beach-hero{padding-top:125px!important}.hub .section{margin:58px 0!important}.air-page .air-hero{min-height:560px!important}}
@media(max-width:620px){.hotel-hub-hero,.beach-hero{padding:112px 18px 66px!important}.hotel-hub-hero h1,.beach-hero h1,.air-page .air-hero h1{font-size:clamp(3rem,14vw,4.5rem)!important}.hub{padding:46px 18px 70px!important}.hub .decision,.hub .booking-shell,.finder-box{padding:26px!important}.live-strip{margin:18px auto 0!important}.beach-section{padding:56px 18px!important}.air-page .air-hero-inner{padding:125px 0 54px!important}.air-section{padding:58px 0!important}}
