/* TripCana Pass 3 luxury layer — web/marketing/DESIGN.md + Pass 3 brief */
:root{
 --lux-ink:#0B1B33;
 --lux-navy:#0B1B33;
 --lux-gold:#C9A764;
 --lux-gold-d:#7D6230;
 --lux-champ:#E4CB94;
 --lux-ivory:#F7F4EC;
 --lux-white:#FFFFFF;
 --lux-band:#F7F5F0;
 --lux-paper:#FFFEFA;
 --lux-line:rgba(11,27,51,.12);
 --lux-muted:rgba(11,27,51,.62);
 --lux-ease:cubic-bezier(.22,1,.36,1);
 --lux-max:70rem;
}
html{overflow-x:clip}
body.lux{background:var(--lux-white);color:var(--lux-ink);margin:0}
body.lux.noscroll,body.lux.lux-menu-open{overflow:hidden}

/* —— Header —— */
.lux-top{
 position:sticky;top:0;z-index:50;
 background:transparent;color:#fff;
 border-bottom:1px solid transparent;
}
.lux-top::before{
 content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;
 background:linear-gradient(180deg,rgba(11,27,51,.82) 0%,rgba(11,27,51,.45) 55%,rgba(11,27,51,0) 100%);
}
.lux-top.is-solid{
 background:rgba(11,27,51,.96);
 border-bottom-color:rgba(201,167,100,.28);
 -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
}
.lux-top.is-solid::before{display:none}
.lux-bar{
 display:flex;align-items:center;gap:.65rem;
 min-height:4.25rem;max-width:var(--lux-max);margin:0 auto;
 padding:.55rem clamp(1rem,3vw,2.5rem);position:relative;
}
.lux-logo{flex:0 0 auto;line-height:0;text-decoration:none;color:inherit;max-width:min(11rem,42vw)}
body.lux .lux-bar .lux-logo img,
body.lux .lux-bar .lux-logo img.hzl{
 height:2.15rem!important;width:auto!important;max-width:100%!important;display:block;object-fit:contain
}
.lux-tabs{
 display:none;flex:1 1 auto;min-width:0;list-style:none;margin:0;padding:0;
 gap:clamp(.45rem,1vw,1.1rem);align-items:center;justify-content:center;
}
.lux-tabs a{
 color:#fff;text-decoration:none;white-space:nowrap;
 font:500 .68rem/1 Jost,JostFB,sans-serif;letter-spacing:.14em;text-transform:uppercase;
 padding:.45rem 0;border-bottom:1px solid transparent;
}
.lux-tabs a:hover,.lux-tabs a[aria-current="page"]{border-bottom-color:var(--lux-gold);color:var(--lux-champ)}
.lux-tools{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex:0 0 auto}
.lux-lang{
 display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.45);
 border-radius:999px;overflow:hidden;min-height:2.5rem;
}
.lux-lang a{color:#fff;text-decoration:none;padding:.45rem .7rem;font:600 .72rem/1 Jost,JostFB,sans-serif;letter-spacing:.12em}
.lux-lang a[aria-current="true"]{background:var(--lux-gold);color:var(--lux-ink)}
.lux-book{
 display:inline-flex;align-items:center;justify-content:center;
 min-height:2.75rem;padding:0 1.1rem;border-radius:2px;border:0;cursor:pointer;
 background:var(--lux-gold);color:var(--lux-ink);text-decoration:none;
 font:600 .72rem/1 Jost,JostFB,sans-serif;letter-spacing:.18em;text-transform:uppercase;
}
.lux-book:hover{background:#D6B87A}
.lux-ghost{
 display:inline-flex;align-items:center;justify-content:center;min-height:3rem;
 padding:0 1.2rem;border:1px solid rgba(255,255,255,.7);border-radius:2px;
 color:#fff;text-decoration:none;font:600 .72rem/1 Jost,JostFB,sans-serif;
 letter-spacing:.16em;text-transform:uppercase;background:rgba(11,27,51,.25);
}

/* Menu dropdown from top (not bottom drawer) */
.lux-menu{position:relative;flex:0 0 auto}
.lux-menu-btn{
 list-style:none;cursor:pointer;min-height:2.75rem;padding:0 1rem;
 border:1px solid rgba(255,255,255,.55);border-radius:2px;background:rgba(11,27,51,.28);
 color:#fff;font:600 .72rem/1 Jost,JostFB,sans-serif;letter-spacing:.16em;text-transform:uppercase;
 display:inline-flex;align-items:center;
}
.lux-menu-btn::-webkit-details-marker{display:none}
.lux-menu-panel{
 position:absolute;right:0;top:calc(100% + .45rem);z-index:60;
 min-width:min(22rem,92vw);max-height:min(70vh,32rem);overflow:auto;
 background:var(--lux-ink);color:#fff;border:1px solid rgba(201,167,100,.35);
 box-shadow:0 24px 60px -20px rgba(0,0,0,.55);padding:.5rem 0;
}
.lux-menu-list{list-style:none;margin:0;padding:0}
.lux-menu-list a{
 display:block;padding:.85rem 1.15rem;color:#fff;text-decoration:none;
 font:500 1.05rem/1.25 CG,CGFB,"Times New Roman",serif;border-bottom:1px solid rgba(255,255,255,.08);
}
.lux-menu-list a:hover{background:rgba(255,255,255,.06);color:var(--lux-champ)}
.lux-menu-mobile-tabs{display:none}
@media(min-width:1100px){
 .lux-tabs{display:flex}
 .lux-menu-mobile-tabs{display:none!important}
}
@media(max-width:1099.98px){
 .lux-tabs{display:none!important}
 .lux-menu-mobile-tabs{display:block}
 .lux-menu{order:5}
 .lux-menu-panel{
  position:fixed;left:0;right:0;top:0;bottom:auto;
  min-width:0;width:100%;max-height:85vh;border-radius:0;
  border-left:0;border-right:0;border-top:0;
 }
 .lux-tools .lux-book{display:none}
}
@media(max-width:480px){
 .lux-bar{gap:.35rem;padding:.45rem .75rem}
 body.lux .lux-bar .lux-logo img{height:1.85rem!important}
}

.lux-sticky-book{
 position:fixed;left:0;right:0;bottom:0;z-index:35;
 padding:.65rem 1rem calc(.65rem + env(safe-area-inset-bottom));
 background:rgba(11,27,51,.94);border-top:1px solid rgba(201,167,100,.35);
}
.lux-sticky-book .lux-book{width:100%}
@media(min-width:1100px){.lux-sticky-book{display:none}}
@media(max-width:1099.98px){body.lux{padding-bottom:calc(4.5rem + env(safe-area-inset-bottom))}}

/* —— Hero —— */
.lux-hero{
 position:relative;min-height:100svh;display:flex;align-items:flex-end;color:#fff;
 background:var(--lux-ink);overflow:hidden;
}
.lux-hero .lux-media,.lux-hero video,.lux-hero .lux-poster{
 position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
}
.lux-hero .lux-poster{z-index:0}
.lux-hero video{z-index:1;opacity:1}
.lux-hero .lux-scrim{
 position:absolute;inset:0;z-index:2;
 background:
  linear-gradient(0deg,rgba(11,27,51,.92) 0%,rgba(11,27,51,.35) 45%,rgba(11,27,51,.2) 70%),
  linear-gradient(90deg,rgba(11,27,51,.45),rgba(11,27,51,0) 55%);
}
.lux-hero .lux-in{
 position:relative;z-index:3;width:100%;max-width:var(--lux-max);margin:0 auto;
 padding:7rem clamp(1rem,3vw,2.5rem) 4.5rem;
}
.lux-hero .lux-brand{
 font:500 .7rem/1 Jost,JostFB,sans-serif;letter-spacing:.32em;text-transform:uppercase;
 color:var(--lux-champ);margin:0 0 1rem;
}
.lux-hero h1{
 font:400 clamp(2.5rem,7vw,4.8rem)/.96 CG,CGFB,"Times New Roman",serif;
 letter-spacing:-.02em;margin:0 0 1.25rem;max-width:16ch;
 text-shadow:0 12px 40px rgba(0,0,0,.35);color:#fff;
}
.lux-cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}

/* Booking bar */
.lux-bookbar{
 display:grid;gap:.75rem;margin-top:1.5rem;padding:1.1rem;
 background:rgba(255,254,250,.94);color:var(--lux-ink);border:1px solid rgba(255,255,255,.5);
 border-radius:2px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
}
.lux-bookbar label{
 display:flex;flex-direction:column;gap:.35rem;
 font:600 .68rem/1.2 Jost,JostFB,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--lux-muted);
}
.lux-bookbar input,.lux-bookbar select{
 min-height:3rem;height:3rem;border:1px solid var(--lux-line);border-radius:2px;
 padding:.55rem .75rem;font:400 1rem/1.3 Jost,JostFB,sans-serif;color:var(--lux-ink);background:#fff;width:100%;
}
.lux-bookbar .lux-book{width:100%;min-height:3rem}
@media(min-width:900px){
 .lux-bookbar{
  grid-template-columns:1.2fr 1.2fr 1.1fr .7fr auto;align-items:end;
 }
 .lux-bookbar .lux-book{width:auto;padding:0 1.35rem;white-space:nowrap}
}
.lux-bookbar [data-pickup-other]{grid-column:1/-1}
.lux-book-iframe{
 width:100%;min-height:22rem;border:0;border-radius:2px;background:#fff;margin-top:1rem;
}

/* Sections */
.lux-s{padding:clamp(4rem,9vw,7rem) 0;background:var(--lux-white)}
.lux-s.alt{background:var(--lux-band)}
.lux-s.dark{background:var(--lux-ink);color:var(--lux-ivory)}
.lux-wrap{max-width:var(--lux-max);margin:0 auto;padding:0 clamp(1rem,3vw,2.5rem)}
.lux-eyebrow{
 font:600 .72rem/1 Jost,JostFB,sans-serif;letter-spacing:.28em;text-transform:uppercase;
 color:var(--lux-gold-d);margin:0 0 .85rem;
}
.lux-s.dark .lux-eyebrow{color:var(--lux-champ)}
.lux-s h2{
 font:400 clamp(2rem,5vw,3.3rem)/1.05 CG,CGFB,"Times New Roman",serif;
 margin:0 0 .75rem;letter-spacing:-.015em;
}
.lux-s.dark h2,.lux-s.dark h3,.lux-s.dark p,.lux-s.dark li{color:var(--lux-ivory)}
.lux-sub{max-width:42ch;color:var(--lux-muted);margin:0 0 1.75rem}
.lux-s.dark .lux-sub{color:rgba(247,244,236,.92)}
.lux-fine{font-size:.9rem;color:var(--lux-muted);max-width:46ch;margin:1rem 0 0}
.lux-s.dark .lux-fine{color:rgba(247,244,236,.9)}
.lux-consent{font-size:.85rem;color:var(--lux-muted);margin:.85rem 0 0;max-width:46ch}

/* Balanced media rows (not full-bleed except hero) */
.lux-split{
 display:grid;gap:1.75rem;align-items:center;margin:0 0 2.5rem;
}
@media(min-width:900px){
 .lux-split{grid-template-columns:1fr 1fr;gap:2.5rem}
 .lux-split.reverse .lux-split-media{order:2}
}
.lux-split-media{
 max-width:100%;max-height:70vh;overflow:hidden;border-radius:2px;background:var(--lux-ink);
 aspect-ratio:4/3;
}
.lux-split-media img,.lux-split-media video{
 width:100%;height:100%;max-height:70vh;object-fit:cover;display:block;
}
@supports not (aspect-ratio:1){
 .lux-split-media img{height:auto;max-height:70vh}
}
.lux-split-copy h3{
 font:500 1.85rem/1.1 CG,CGFB,"Times New Roman",serif;margin:0 0 .65rem;
}
.lux-split-copy p{margin:0 0 1.1rem;max-width:38ch;color:var(--lux-muted)}
.lux-s.dark .lux-split-copy p{color:rgba(247,244,236,.9)}

/* Why tiles */
.lux-why{
 display:grid;gap:1rem;
}
@media(min-width:800px){.lux-why{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.lux-why{grid-template-columns:repeat(4,1fr)}}
.lux-why-tile{
 display:flex;flex-direction:column;background:var(--lux-paper);border:1px solid var(--lux-line);
 overflow:hidden;text-decoration:none;color:inherit;min-height:100%;
}
.lux-why-tile .lux-why-media{aspect-ratio:4/3;overflow:hidden;background:var(--lux-ink);max-height:14rem}
.lux-why-tile img,.lux-why-tile video{width:100%;height:100%;object-fit:cover;display:block}
.lux-why-tile .lux-why-body{padding:1.15rem 1.1rem 1.35rem;flex:1;display:flex;flex-direction:column}
.lux-why-tile h3{font:500 1.25rem/1.15 CG,CGFB,"Times New Roman",serif;margin:0 0 .45rem}
.lux-why-tile p{margin:0 0 1rem;color:var(--lux-muted);font-size:.95rem;flex:1}

/* Flight tracker soft box */
.lux-flight{
 display:grid;gap:1rem;padding:1.35rem 1.25rem;border:1px solid var(--lux-line);
 background:var(--lux-band);max-width:36rem;
}
.lux-flight form{display:flex;flex-wrap:wrap;gap:.65rem;align-items:end}
.lux-flight input{min-height:3rem;flex:1 1 10rem;border:1px solid var(--lux-line);border-radius:2px;padding:.55rem .75rem;font:inherit}
.lux-flight .lux-book{min-height:3rem}

/* Camera reel */
.lux-reel-shell{position:relative}
.lux-reel-track{
 display:flex;gap:.85rem;overflow-x:auto;scroll-snap-type:x mandatory;
 padding:1rem 0 1.5rem;-webkit-overflow-scrolling:touch;
}
.lux-reel-clip{
 flex:0 0 min(58vw,16rem);scroll-snap-align:center;aspect-ratio:9/16;
 border-radius:2px;overflow:hidden;position:relative;opacity:.45;transform:scale(.92);
 transition:opacity .6s ease,transform .6s ease;background:var(--lux-ink);
}
.lux-reel-clip.is-active{opacity:1;transform:scale(1);flex-basis:min(72vw,20rem)}
.lux-reel-clip img,.lux-reel-clip video{width:100%;height:100%;object-fit:cover;display:block}
.lux-reel-clip span{
 position:absolute;left:.7rem;right:.7rem;bottom:.8rem;color:#fff;
 font:600 .72rem/1.3 Jost,JostFB,sans-serif;letter-spacing:.08em;
 text-shadow:0 2px 16px rgba(0,0,0,.5);
}
.lux-reel-nav{display:flex;gap:.5rem;justify-content:center}
.lux-reel-nav button{
 min-width:2.75rem;min-height:2.75rem;border:1px solid var(--lux-line);background:#fff;
 cursor:pointer;font-size:1.1rem;border-radius:2px;
}

/* Cards / grids */
.lux-grid{display:grid;gap:1.15rem}
@media(min-width:700px){.lux-grid.cols-3{grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px){.lux-grid.cols-4{grid-template-columns:repeat(4,1fr)}}
@media(min-width:800px){.lux-grid.cols-2{grid-template-columns:repeat(2,1fr)}}
.lux-card{
 display:flex;flex-direction:column;text-decoration:none;color:inherit;
 background:var(--lux-paper);border:1px solid var(--lux-line);overflow:hidden;max-width:100%;
}
.lux-card picture,.lux-card>img{display:block;aspect-ratio:4/3;max-height:16rem;overflow:hidden;background:var(--lux-ink)}
.lux-card img{width:100%;height:100%;object-fit:cover;display:block;max-height:16rem}
.lux-cb{padding:1.15rem 1.1rem 1.35rem}
.lux-cb h3{font:500 1.35rem/1.15 CG,CGFB,"Times New Roman",serif;margin:0 0 .35rem}
.lux-cb p{margin:0 0 .85rem;color:var(--lux-muted);font-size:.95rem}
.lux-link{font:600 .7rem/1 Jost,JostFB,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--lux-gold-d)}

/* Experience tiers */
.lux-tiers{display:grid;gap:1rem}
@media(min-width:800px){.lux-tiers{grid-template-columns:repeat(4,1fr)}}
.lux-tier{
 padding:0;border:1px solid var(--lux-line);background:var(--lux-paper);
 display:flex;flex-direction:column;overflow:hidden;
}
.lux-tier .lux-tier-media{aspect-ratio:4/3;max-height:12rem;overflow:hidden;background:var(--lux-ink)}
.lux-tier img{width:100%;height:100%;object-fit:cover;display:block;max-height:12rem}
.lux-tier .lux-tier-body{padding:1.15rem 1.1rem 1.35rem;flex:1;display:flex;flex-direction:column}
.lux-tier h3{font:500 1.35rem/1.15 CG,CGFB,"Times New Roman",serif;margin:0 0 .45rem}
.lux-tier p{margin:0 0 1rem;color:var(--lux-muted);flex:1;font-size:.95rem}

/* Compare table */
.lux-compare{width:100%;border-collapse:collapse;font-size:.95rem;background:#fff;border:1px solid var(--lux-line)}
.lux-compare th,.lux-compare td{padding:1rem;text-align:left;border-bottom:1px solid var(--lux-line);vertical-align:top}
.lux-compare thead th{
 background:var(--lux-ink);color:#fff;
 font:600 .72rem/1.3 Jost,JostFB,sans-serif;letter-spacing:.12em;text-transform:uppercase;
}
.lux-compare td:first-child{font-weight:600;width:7rem}
.lux-compare .is-win{background:rgba(201,167,100,.12)}
@media(max-width:700px){
 .lux-compare{display:block;overflow-x:auto}
}

/* Fleet range */
.lux-range{
 display:grid;grid-auto-flow:column;grid-auto-columns:min(88vw,28rem);gap:0;
 overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
 margin:0 calc(-1 * clamp(1rem,3vw,2.5rem));padding:0 clamp(1rem,3vw,2.5rem) 1rem;
}
.lux-range-slide{
 scroll-snap-align:start;position:relative;min-height:min(60vh,28rem);overflow:hidden;
 background:var(--lux-ink);color:#fff;cursor:pointer;
}
.lux-range-slide picture{display:block;width:100%;height:100%;min-height:min(60vh,28rem);max-height:70vh}
.lux-range-slide img{width:100%;height:100%;object-fit:cover;display:block;min-height:min(60vh,28rem);max-height:70vh}
.lux-range-slide .lux-range-meta{
 position:absolute;left:0;right:0;bottom:0;padding:1.5rem 1.25rem 1.35rem;
 background:linear-gradient(0deg,rgba(11,27,51,.92),rgba(11,27,51,.15));
}
.lux-range-slide h3{font:400 1.85rem/1.1 CG,CGFB,"Times New Roman",serif;margin:0 0 .35rem;color:#fff}
.lux-range-slide p{margin:0 0 1rem;color:rgba(247,244,236,.9);font-size:.95rem;max-width:28ch}

/* Chips on navy */
.lux-s.dark .chips,.lux-s.dark .chips2{
 list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem;
}
.lux-s.dark .chips li,.lux-s.dark .chips2 li{
 color:var(--lux-ivory)!important;background:rgba(247,244,236,.1)!important;
 border:1px solid rgba(228,203,148,.75)!important;border-radius:2px;padding:.45rem .85rem;font-size:.85rem;
}

/* CTA band */
.lux-band{
 padding:clamp(4rem,8vw,6.5rem) clamp(1rem,3vw,2.5rem);text-align:center;color:#fff;
 background:radial-gradient(900px 400px at 70% 0%,#1d3a5c,var(--lux-ink) 65%);
}
.lux-band h2{font:400 clamp(2rem,5vw,3.2rem)/1.05 CG,CGFB,"Times New Roman",serif;margin:0 0 .75rem;color:var(--lux-ivory)}
.lux-band p{margin:0 auto 1.5rem;max-width:40ch;color:rgba(247,244,236,.92)}

/* Footer */
.lux-foot{background:var(--lux-ink);color:#C9D1DE;padding:3rem 0 5rem}
.lux-foot .lux-wrap{max-width:var(--lux-max)}
.lux-legal-links{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin:1rem 0}
.lux-legal-links a{color:#fff;text-decoration:none;font-size:.9rem}
.lux-disclaimer{margin:1.25rem 0 0;font-size:.85rem;color:rgba(201,209,222,.85);max-width:62ch;line-height:1.5}
.lux-sales{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.5rem 0 1rem}
.lux-sales .lux-ghost{border-color:rgba(255,255,255,.45);min-height:2.75rem;font-size:.68rem}
body.lux .foot{background:var(--lux-ink);color:#C9D1DE}

/* Steps */
.lux-steps{display:grid;gap:1.25rem;margin:0 0 2rem;padding:0;list-style:none;counter-reset:luxstep}
@media(min-width:800px){.lux-steps{grid-template-columns:repeat(3,1fr)}}
.lux-steps li{counter-increment:luxstep;padding:1.35rem 1.2rem;background:var(--lux-paper);border:1px solid var(--lux-line)}
.lux-s.dark .lux-steps li{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12)}
.lux-steps li::before{
 content:counter(luxstep, decimal-leading-zero);
 display:block;font:500 .75rem/1 Jost,JostFB,sans-serif;letter-spacing:.2em;
 color:var(--lux-gold-d);margin-bottom:.65rem;
}
.lux-steps h3{font:500 1.35rem/1.15 CG,CGFB,"Times New Roman",serif;margin:0 0 .35rem}
.lux-steps p{margin:0;color:var(--lux-muted);font-size:.98rem}
.lux-s.dark .lux-steps p{color:rgba(247,244,236,.92)}
.lux-s.dark .lux-steps h3{color:var(--lux-ivory)}

/* Reveal: visible by default */
.lux-rv{opacity:1;transform:none}
@media (prefers-reduced-motion:no-preference){
 html.lux-anim .lux-rv:not(.in){opacity:0;transition:opacity .75s var(--lux-ease)}
 html.lux-anim .lux-rv.in{opacity:1}
}
@media (prefers-reduced-motion:reduce){
 .lux-rv,.lux-hero video{opacity:1!important;transition:none}
}

.lux-book:focus-visible,.lux-ghost:focus-visible,.lux-tabs a:focus-visible,
.lux-lang a:focus-visible,.lux-menu-btn:focus-visible,.lux-menu-list a:focus-visible{
 outline:2px solid var(--lux-gold);outline-offset:3px;
}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}


/* Pass 3 hero media/copy structure */
.lux-hero-media{position:absolute;inset:0;z-index:0}
.lux-hero-media video,.lux-hero-media img{
 position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
}
/* Keep video visible so the poster frame shows before first paint; fade only enhances */
.lux-hero-media video{opacity:1;z-index:1;background:#0B1B33}
.lux-hero-copy{
 position:relative;z-index:3;width:100%;max-width:var(--lux-max);margin:0 auto;
 padding:7rem clamp(1rem,3vw,2.5rem) 4.5rem;
}
.lux-hero-copy .lux-brand{
 font:500 .7rem/1 Jost,JostFB,sans-serif;letter-spacing:.32em;text-transform:uppercase;
 color:var(--lux-champ);margin:0 0 1rem;
}
.lux-hero-copy h1{
 font:400 clamp(2.5rem,7vw,4.8rem)/.96 CG,CGFB,"Times New Roman",serif;
 letter-spacing:-.02em;margin:0 0 1.25rem;max-width:16ch;
 text-shadow:0 12px 40px rgba(0,0,0,.35);color:#fff;
}
.lux-hero::after{
 content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
 background:
  linear-gradient(0deg,rgba(11,27,51,.92) 0%,rgba(11,27,51,.35) 45%,rgba(11,27,51,.2) 70%),
  linear-gradient(90deg,rgba(11,27,51,.45),rgba(11,27,51,0) 55%);
}
.lux-hero-balanced{min-height:min(78svh,42rem)}
.lux-hero-balanced .lux-hero-copy h1{max-width:22ch;font-size:clamp(2rem,5vw,3.6rem)}

.lux-grid-3{display:grid;gap:1.15rem}
@media(min-width:700px){.lux-grid-3{grid-template-columns:repeat(3,1fr)}}
.lux-grid-4{display:grid;gap:1.15rem}
@media(min-width:700px){.lux-grid-4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.lux-grid-4{grid-template-columns:repeat(4,1fr)}}
.lux-card-media{display:block;aspect-ratio:4/3;max-height:16rem;overflow:hidden;background:var(--lux-ink)}
.lux-card-media img{width:100%;height:100%;object-fit:cover;display:block;max-height:16rem}
.lux-card-body{padding:1.15rem 1.1rem 1.35rem;display:flex;flex-direction:column;gap:.55rem;flex:1}
.lux-card-body h3{font:500 1.35rem/1.15 CG,CGFB,"Times New Roman",serif;margin:0}
.lux-card-body p{margin:0;color:var(--lux-muted);font-size:.95rem}
.lux-card-body .lux-book{align-self:flex-start;margin-top:.5rem}

.lux-split.is-reverse .lux-split-media{order:2}
.lux-band-navy{
 padding:clamp(4rem,8vw,6.5rem) 0;text-align:center;color:#fff;
 background:radial-gradient(900px 400px at 70% 0%,#1d3a5c,var(--lux-ink) 65%);
}
.lux-band-navy h2{color:var(--lux-ivory)}
.lux-band-navy .lux-eyebrow{color:var(--lux-champ)}
.lux-band-navy .lux-cta-row{justify-content:center}

.lux-places{
 position:absolute;left:0;right:0;top:100%;z-index:20;max-height:14rem;overflow:auto;
 background:#fff;border:1px solid var(--lux-line);box-shadow:0 16px 40px -20px rgba(0,0,0,.35);
}
.lux-bookbar label,.lux-bookbar [data-pickup-other]{position:relative}
.lux-places button{
 display:block;width:100%;text-align:left;border:0;background:#fff;padding:.75rem .85rem;
 font:400 .95rem/1.3 Jost,JostFB,sans-serif;color:var(--lux-ink);cursor:pointer;border-bottom:1px solid var(--lux-line);
}
.lux-places button:hover{background:var(--lux-band)}


/* Pass 4 type */
body.lux{
 --lux-display:"Cormorant Garamond",CG,CGFB,"Times New Roman",serif;
 --lux-sans:"Manrope",Jost,JostFB,sans-serif;
 font-family:var(--lux-sans);
}
body.lux h1,body.lux h2,body.lux h3,.lux-brand,.lux-hero-copy h1{
 font-family:var(--lux-display);
 font-weight:300;
}
.lux-eyebrow,.lux-book,.lux-ghost,.lux-tabs a,.lux-subnav a,.lux-menu-col-title,.lux-lang a,.lux-bookbar label{
 font-family:var(--lux-sans);letter-spacing:.2em;text-transform:uppercase;
}

/* Casa header: centred logo */
.lux-bar-casa{
 display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;
 min-height:4.5rem;max-width:var(--lux-max);margin:0 auto;
 padding:.55rem clamp(1rem,3vw,2.5rem);position:relative;
}
.lux-bar-left{display:flex;align-items:center;gap:.55rem;justify-self:start}
.lux-logo-center{justify-self:center;grid-column:2;max-width:min(11rem,46vw)}
.lux-tools{justify-self:end}
.lux-icon-wa{
 display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;
 border:1px solid rgba(255,255,255,.55);border-radius:2px;color:#fff;text-decoration:none;
 font:700 .65rem/1 var(--lux-sans);letter-spacing:.12em;
}
.lux-menu-icon{
 display:block;width:1.1rem;height:1px;background:#fff;position:relative;
}
.lux-menu-icon::before,.lux-menu-icon::after{
 content:"";position:absolute;left:0;width:100%;height:1px;background:#fff;
}
.lux-menu-icon::before{top:-6px}.lux-menu-icon::after{top:6px}
.lux-menu-btn{min-width:2.75rem;justify-content:center;padding:0 .85rem}
.lux-menu-grid{
 display:grid;gap:1rem;padding:1rem 1.15rem 1.35rem;
}
@media(min-width:800px){.lux-menu-grid{grid-template-columns:repeat(3,minmax(10rem,1fr));min-width:min(48rem,92vw)}}
.lux-menu-col-title{
 margin:0 0 .55rem;color:var(--lux-champ);font-size:.68rem;letter-spacing:.22em;
}
.lux-menu-panel{
 position:absolute;left:0;top:calc(100% + .45rem);right:auto;z-index:60;
 background:var(--lux-ink);border:1px solid rgba(201,167,100,.35);
 box-shadow:0 24px 60px -20px rgba(0,0,0,.55);max-height:min(80vh,36rem);overflow:auto;
}
@media(max-width:1099.98px){
 .lux-menu-panel{position:fixed;left:0;right:0;top:0;width:100%;max-height:90vh}
 .lux-subnav{display:none!important}
}
.lux-subnav{
 display:none;list-style:none;margin:0 auto;padding:.15rem clamp(1rem,3vw,2.5rem) .55rem;
 max-width:var(--lux-max);gap:1.1rem;justify-content:center;align-items:center;
 border-top:1px solid rgba(255,255,255,.12);
}
.lux-subnav a{
 color:rgba(255,255,255,.9);text-decoration:none;font-size:.62rem;letter-spacing:.18em;
 padding:.35rem 0;border-bottom:1px solid transparent;
}
.lux-subnav a:hover,.lux-subnav a[aria-current="page"]{border-bottom-color:var(--lux-gold);color:var(--lux-champ)}
@media(min-width:1100px){.lux-subnav{display:flex}}

/* Glass booking bar ON video */
.lux-bookbar.lux-glass{
 background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
 border:1px solid rgba(255,255,255,.25);color:#fff;
}
.lux-bookbar.lux-glass label{color:rgba(255,255,255,.85)}
.lux-bookbar.lux-glass input,.lux-bookbar.lux-glass select{
 background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35);color:#fff;
}
.lux-bookbar.lux-glass input::placeholder{color:rgba(255,255,255,.65)}
.lux-bookbar.lux-glass option{color:var(--lux-ink)}
@media(max-width:899.98px){
 .lux-hero .lux-hero-copy{padding-bottom:1rem}
 .lux-bookbar.lux-glass{margin-top:auto}
}

/* Chapter hero */
.lux-hero[data-lux-chapters] .lux-hero-media video{
 opacity:0;transition:opacity .8s ease;
}
.lux-hero[data-lux-chapters] .lux-hero-media video.is-active{opacity:1}
.lux-chapters{
 display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem;
}
.lux-chapters button{
 background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.35);
 color:rgba(255,255,255,.75);font:600 .68rem/1 var(--lux-sans);letter-spacing:.2em;
 text-transform:uppercase;padding:.35rem 0;cursor:pointer;
}
.lux-chapters button.is-active{color:#fff;border-bottom-color:var(--lux-gold)}
.lux-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
.lux-hero-sub{max-width:36ch;color:rgba(255,255,255,.92);font-size:1.05rem;margin:0 0 1rem}

/* Proof strip */
.lux-proof{
 display:grid;gap:.75rem;padding:1.25rem 0;border-bottom:1px solid var(--lux-line);
 grid-template-columns:repeat(2,1fr);
}
@media(min-width:900px){.lux-proof{grid-template-columns:repeat(4,1fr)}}
.lux-proof li{
 list-style:none;margin:0;padding:.5rem .25rem;font-size:.85rem;color:var(--lux-muted);
 text-align:center;
}
.lux-proof strong{display:block;color:var(--lux-ink);font:500 1rem/1.2 var(--lux-display);margin-bottom:.25rem}

/* Aman framed video */
.lux-framed{
 padding:clamp(1rem,3vw,2rem);background:var(--lux-band);
}
.lux-framed-inner{
 max-width:56rem;margin:0 auto;aspect-ratio:16/9;overflow:hidden;background:var(--lux-ink);
}
.lux-framed-inner video,.lux-framed-inner img{width:100%;height:100%;object-fit:cover;display:block}

/* Doors */
.lux-doors{display:grid;gap:1rem}
@media(min-width:900px){.lux-doors{grid-template-columns:repeat(3,1fr)}}
.lux-door{
 position:relative;min-height:18rem;overflow:hidden;color:#fff;display:flex;align-items:flex-end;
 text-decoration:none;
}
.lux-door video,.lux-door img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lux-door .lux-door-body{
 position:relative;z-index:2;padding:1.25rem;width:100%;
 background:linear-gradient(0deg,rgba(11,27,51,.9),rgba(11,27,51,0));
}
.lux-qr{width:5.5rem;height:5.5rem;background:#fff;padding:.35rem;margin-top:.75rem}
.lux-qr img{width:100%;height:100%;object-fit:contain}

/* Foot columns */
.lux-foot-cols{
 display:grid;gap:1.25rem;margin:1.5rem 0;grid-template-columns:repeat(2,1fr);
}
@media(min-width:900px){.lux-foot-cols{grid-template-columns:repeat(4,1fr)}}
.lux-foot-cols a{display:block;color:#fff;text-decoration:none;font-size:.9rem;margin:.35rem 0}
.lux-hours{color:rgba(201,209,222,.9);font-size:.9rem}
.lux-hours a{color:var(--lux-champ)}

/* Film dialog */
.lux-film-dialog{border:0;padding:0;max-width:min(960px,94vw);background:#000}
.lux-film-dialog::backdrop{background:rgba(11,27,51,.82)}
.lux-film-dialog video{width:100%;display:block;max-height:80vh}

/* Sticky page sub-menu (Aman) */
.lux-page-sub{
 position:sticky;top:4.5rem;z-index:40;background:rgba(255,255,255,.92);
 border-bottom:1px solid var(--lux-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
.lux-page-sub ul{
 display:flex;gap:1rem;overflow-x:auto;list-style:none;margin:0 auto;padding:.65rem clamp(1rem,3vw,2.5rem);
 max-width:var(--lux-max);
}
.lux-page-sub a{white-space:nowrap;text-decoration:none;color:var(--lux-muted);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase}
.lux-page-sub a:hover{color:var(--lux-ink)}

/* UI proof cards */
.lux-ui-grid{display:grid;gap:1rem}
@media(min-width:800px){.lux-ui-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.lux-ui-grid{grid-template-columns:repeat(4,1fr)}}
.lux-ui-card{background:var(--lux-paper);border:1px solid var(--lux-line);overflow:hidden}
.lux-ui-card img{width:100%;height:auto;display:block;max-height:22rem;object-fit:cover;object-position:top}
.lux-ui-card p{padding:.85rem 1rem 1.1rem;margin:0;font-size:.9rem;color:var(--lux-muted)}

.lux-rep{font-size:.8rem;color:var(--lux-muted);margin:.35rem 0 0}
