@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@1,400&display=swap");
/* Houston Limo Chauffeur — "Empire" theme: black, thin uppercase Lato, champagne accent, diamond tiles */
:root{--bg:#000;--bg2:#0f0f0f;--surface:#161616;--line:#2a2a2a;--line2:#3d3d3d;--text:#fff;--muted:#bdbdbd;--faint:#8a8a8a;--gold:#BB973A;--gold2:#A3832F;--tan:#CDB099;--ink-on-gold:#000;--white-bg:#fff;--white-text:#222;--white-muted:#666;--white-line:#e5e5e5}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Lato,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.7;font-weight:300;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{margin:0;font-family:Lato,sans-serif;font-weight:300;text-transform:uppercase;line-height:1.15;color:var(--text);letter-spacing:.04em}
h2{font-size:clamp(1.9rem,3.6vw,3rem)}
h3{font-size:1.05rem;font-weight:400;letter-spacing:.12em}
h2 em,h1 em{font-style:normal;font-weight:400;color:var(--gold)}
p{margin:0 0 1rem}
.wrap{max-width:1180px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.center{text-align:center}
.sub{max-width:62ch;margin:.6rem auto 0;color:var(--muted);font-size:.85rem;letter-spacing:.18em;text-transform:uppercase}
.eyebrow{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font-weight:400;margin-bottom:.7rem}
.rule{width:40px;height:1px;background:var(--gold);margin:1.2rem auto 0}
.btn{display:inline-block;padding:.9rem 2.2rem;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:400;text-decoration:none;border:1px solid var(--gold);background:var(--gold);color:#000;transition:.2s;line-height:1.2}
.btn:hover{background:transparent;color:var(--gold)}
.btn.ghost,.btn.light{background:transparent;color:#fff;border-color:#fff}
.btn.ghost:hover,.btn.light:hover{background:#fff;color:#000}
.btn.dark{background:#000;border-color:#000;color:#fff}
.btn.dark:hover{background:var(--gold);border-color:var(--gold);color:#000}
.btns{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:1.8rem}
section{padding-block:clamp(3.5rem,7vw,6rem)}
/* alternating: .cream = white band */
.cream{background:var(--white-bg);color:var(--white-text)}
.cream h2,.cream h3,.cream h4{color:#111}
.cream .sub,.cream p{color:var(--white-muted)}
.cream .btn.ghost{color:#111;border-color:#111}
.cream .btn.ghost:hover{background:#111;color:#fff}
.black{background:var(--gold);color:#000}
.black h2,.black h3{color:#000}
.black p,.black .sub{color:#2b2208!important}
.black .btn{background:#000;border-color:#000;color:#fff}
.black .btn.light{background:transparent;color:#000;border-color:#000}

/* header */
.hdr{position:sticky;top:0;z-index:100;background:#000;border-bottom:1px solid var(--line)}
.hdr>.wrap{display:flex;align-items:center;justify-content:space-between;height:92px;gap:1rem}
.logo img{height:64px;width:auto;max-width:230px;object-fit:contain}
.nav{display:flex;align-items:center;gap:2.4rem;list-style:none;margin:0;padding:0;font-size:.74rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase}
.nav>li{position:relative}
.nav a{text-decoration:none;color:#fff;padding:.4rem 0;display:block;white-space:nowrap}
.nav>li>a.on,.nav a:hover{color:var(--gold)}
.nav .dd{display:none;position:absolute;top:100%;left:-.6rem;background:#111;border:1px solid var(--line);min-width:290px;padding:.5rem 0;z-index:50}
.nav li:hover>.dd,.nav li:focus-within>.dd{display:block}
.nav .dd a{padding:.6rem 1.1rem;font-size:.7rem;letter-spacing:.12em;color:#ddd}
.nav .dd a:hover{background:#1c1c1c;color:var(--gold)}
.nav .caret::after{content:" ▾";font-size:.7em;color:#888}
.nav .book{border:1px solid var(--gold);color:var(--gold);padding:.6rem 1.1rem}
.nav .book:hover{background:var(--gold);color:#000}
.burger{display:none;width:42px;height:42px;border:1px solid #444;background:transparent;color:#fff;font-size:1.2rem;cursor:pointer}
.mnav{display:none;position:fixed;top:93px;left:0;right:0;bottom:0;background:#000;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:99}
.mnav.open{display:block}
.mnav .wrap{padding-block:.5rem 6rem;display:grid}
body.menu-open{overflow:hidden}
.mnav a{display:block;padding:.85rem 0;text-decoration:none;border-bottom:1px solid var(--line);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}
.mnav .g{padding:1rem 0 .3rem;font-size:.66rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold)}
@media (max-width:1100px){.nav{display:none}.burger{display:block}}

/* hero */
.hero{position:relative;color:#fff;background:#111 center/cover no-repeat;min-height:560px;display:flex;align-items:center;overflow:hidden}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.35) 50%,rgba(0,0,0,.85))}
.hero .wrap{position:relative;width:100%;padding-block:clamp(3rem,6vw,5rem);text-align:center}
.hero h1{font-size:clamp(2.4rem,5.6vw,4.2rem);font-weight:300;letter-spacing:.12em;color:#fff;max-width:none;margin-inline:auto}
.hero h1 em{display:block;font-size:.34em;letter-spacing:.3em;color:#fff;font-weight:400;margin-top:.9rem}
.hero p{color:#ddd;font-size:.95rem;max-width:56ch;margin:1rem auto 0;letter-spacing:.04em}
.hero .eyebrow{color:var(--gold)}
.hero .btns{justify-content:center;margin-top:1.8rem}
.hero.tall{min-height:min(68vh,640px);align-items:center}
.hero.tall .wrap{padding-top:clamp(5rem,10vw,8rem);padding-bottom:clamp(2.5rem,5vw,4rem)}
.hero h1>span{white-space:nowrap;display:inline-block}
.hero.tall::before{background:linear-gradient(180deg,rgba(0,0,0,.7),rgba(0,0,0,.58) 35%,rgba(0,0,0,.78) 70%,rgba(0,0,0,.95))}
.hero.tall h1{text-shadow:0 2px 24px rgba(0,0,0,.5)}
.hero .scroll{position:absolute;left:50%;bottom:1.1rem;transform:translateX(-50%);color:var(--gold);font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;text-decoration:none;opacity:.85;display:flex;flex-direction:column;align-items:center;gap:.35rem}
.hero .scroll i{display:block;width:1px;height:26px;background:var(--gold);animation:hlc-drop 1.8s ease-in-out infinite}
@keyframes hlc-drop{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (max-width:760px){
 .hero{min-height:480px}
 .hero.tall{min-height:min(62vh,520px)}
 .hero.tall .wrap{padding-top:6rem;padding-bottom:4rem}
 .hero h1{font-size:clamp(1.9rem,8.5vw,2.6rem);letter-spacing:.08em}
 .hero h1 em{font-size:.42em;letter-spacing:.22em}
 .hero p{font-size:.9rem}
 .hero .btns{flex-direction:column;align-items:stretch;gap:.6rem;max-width:320px;margin-inline:auto}
 .hero .btn{text-align:center;padding:1rem 1.4rem}
 .hero .scroll{display:none}
}
.mobilebar{display:none}
@media (max-width:760px){
 .mobilebar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:99;background:#000;border-top:1px solid #222;padding:.55rem .6rem calc(.55rem + env(safe-area-inset-bottom));gap:.5rem}
 .mobilebar a{text-align:center;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;padding:.85rem .5rem;text-decoration:none;border:1px solid var(--gold);color:#fff;line-height:1.2}
 .mobilebar a.book{background:var(--gold);color:#000}
 body{padding-bottom:64px}
}
.hero.short{min-height:420px}
.hero-grid{display:block}

/* diamond tiles */
.diamonds{position:relative;z-index:2;margin-top:-190px;display:flex;justify-content:center;gap:2.6rem;flex-wrap:wrap;padding-inline:1rem}
.diamond{width:190px;height:190px;position:relative;text-decoration:none;color:#fff;display:block}
.diamond .sq{position:absolute;inset:0;transform:rotate(45deg);overflow:hidden;background:#222;border:1px solid rgba(255,255,255,.25);box-shadow:0 20px 40px rgba(0,0,0,.6);transition:.25s}
.diamond .sq i{position:absolute;inset:-22%;background:#222 center/cover no-repeat;transform:rotate(-45deg);display:block}
.diamond .sq::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.45);transition:.25s;z-index:1}
.diamond:hover .sq{border-color:var(--gold)}
.diamond:hover .sq::after{background:rgba(0,0,0,.2)}
.diamond span{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;font-weight:400;padding:2rem;line-height:1.4}
.diamond span::after{content:"";display:block;width:24px;height:1px;background:var(--gold);margin-top:.4rem;justify-self:center}
.diamonds .diamond:nth-child(even){margin-top:150px}
@media (max-width:900px){.diamonds{margin-top:-120px;gap:1.6rem}.diamond{width:140px;height:140px}.diamonds .diamond:nth-child(even){margin-top:100px}.diamond span{font-size:.58rem;padding:1.4rem}}
@media (max-width:520px){.diamonds{margin-top:2rem}.diamonds .diamond:nth-child(even){margin-top:0}}
.after-diamonds{padding-top:200px}
@media (max-width:900px){.after-diamonds{padding-top:140px}}
@media (max-width:520px){.after-diamonds{padding-top:3rem}}

/* book a reservation strip */
.bookstrip{background:#111;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bookstrip .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.4rem;text-align:center}
.bookstrip .cols a.btn{margin-bottom:1rem}
.bookstrip .cols p{font-size:.82rem;color:var(--muted);max-width:32ch;margin:0 auto}
@media (max-width:760px){.bookstrip .cols{grid-template-columns:1fr}}

/* booking widget (reservation page) */
.widget{background:#111;color:#fff;border:1px solid var(--line);padding:1.6rem;max-width:520px;margin:0 auto}
.widget .top{display:flex;justify-content:flex-end}
.widget .top a{font-size:.68rem;color:var(--muted);border:1px solid #444;padding:.2rem .7rem;text-decoration:none;letter-spacing:.1em;text-transform:uppercase}
.widget h3{font-size:1.1rem;margin-top:.5rem}
.widget .tiny{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin:.2rem 0 1rem}
.tabs{display:flex;gap:.4rem;margin-bottom:1rem}
.tabs button{flex:1;border:1px solid #444;background:transparent;color:#ccc;padding:.55rem .4rem;font:inherit;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.tabs button.on{background:var(--gold);color:#000;border-color:var(--gold)}
.widget label{display:block;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin:.7rem 0 .3rem}
.widget input,.widget select{width:100%;padding:.7rem .8rem;border:1px solid #444;font:inherit;font-size:.92rem;background:#000;color:#fff;color-scheme:dark}
.widget input:focus,.widget select:focus{outline:none;border-color:var(--gold)}
.widget .row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.6rem}
.widget .go{width:100%;margin-top:1.1rem;background:var(--gold);color:#000;border:1px solid var(--gold);padding:.95rem;font:inherit;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;cursor:pointer}
.widget .go:hover{background:transparent;color:var(--gold)}
@media (max-width:480px){.widget .row{grid-template-columns:1fr}}

/* tiles (service photos) */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.tile{position:relative;min-height:360px;background:#222 center/cover no-repeat;display:flex;align-items:flex-end;justify-content:center;padding:1.6rem;color:#fff;text-decoration:none;overflow:hidden;text-align:center}
.tile::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 40%,rgba(0,0,0,.9))}
.tile h3{position:relative;color:#fff;font-size:.95rem;letter-spacing:.22em}
.tile h3::after{content:"";display:block;width:30px;height:1px;background:var(--gold);margin:.6rem auto 0}
.tile p{position:relative;color:#ccc;font-size:.82rem;margin:.5rem 0 0}
@media (max-width:860px){.tiles{grid-template-columns:1fr}.tile{min-height:260px}}
.also{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;justify-content:center;margin-top:2rem;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--faint)}
.also b{color:var(--gold);font-weight:400}

/* fleet cards — white section, photo on top */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.card{background:#fff;border:1px solid var(--white-line);display:flex;flex-direction:column;color:#222}
.card .ph{aspect-ratio:16/10;background:#111 center/cover no-repeat}
.card .bd{padding:1.4rem 1.5rem 1.6rem;display:grid;gap:.6rem;flex:1;align-content:start;text-align:center}
.card .cat{font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.card h3{font-size:1.15rem;letter-spacing:.14em;color:#111}
.card .cap{display:flex;justify-content:center;gap:1.4rem;font-size:.8rem;color:#666;border-top:1px solid var(--white-line);border-bottom:1px solid var(--white-line);padding:.6rem 0}
.card .cap b{font-weight:700;color:#111}
.card p{font-size:.88rem;color:#666;margin:0}
.card .models{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:#999}
.card .rate{display:flex;justify-content:space-between;align-items:baseline;font-size:.8rem;color:#666}
.card .rate b{font-size:1.4rem;color:#111;font-weight:400}
.card .amen{display:flex;flex-wrap:wrap;gap:.35rem;font-size:.7rem;color:#666;justify-content:center}
.card .amen span{border:1px solid var(--white-line);padding:.15rem .6rem}
.card .btn{justify-self:center;margin-top:.5rem;padding:.7rem 1.4rem;font-size:.64rem}
.card .gal{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:.4rem}
.card .gal a{aspect-ratio:4/3;background:#111;display:block;overflow:hidden}
.gal a img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.gal a:hover img{transform:scale(1.05)}
.gal.strip{gap:.8rem}
@media (max-width:700px){.gal.strip{grid-template-columns:1fr 1fr;gap:.5rem}}
.ph img{width:100%;height:100%;object-fit:cover;display:block}
section:not(.cream) .card{background:#111;border-color:var(--line);color:#ddd}
section:not(.cream) .card h3,section:not(.cream) .card .cap b,section:not(.cream) .card .rate b{color:#fff}
section:not(.cream) .card .cap{border-color:var(--line)}
section:not(.cream) .card .amen span{border-color:var(--line2)}
@media (max-width:960px){.cards{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.cards{grid-template-columns:1fr}}

/* feature blurbs */
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.feat{background:#111;border:1px solid var(--line);overflow:hidden}
.cream .feat{background:#fff;border-color:var(--white-line)}
.feat .ph{aspect-ratio:4/3;background:#222 center/cover no-repeat}
.feat .bd{padding:1.3rem 1.4rem 1.5rem;text-align:center}
.feat h3{font-size:.9rem;margin-bottom:.5rem}
.feat h3::after{content:"";display:block;width:28px;height:1px;background:var(--gold);margin:.6rem auto 0}
.feat p{font-size:.88rem;color:var(--muted);margin:0}
.cream .feat p{color:#666}
@media (max-width:900px){.feats{grid-template-columns:1fr 1fr}}
@media (max-width:580px){.feats{grid-template-columns:1fr}}
.icons{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}
.icons .ic{font-size:1.3rem;color:var(--gold);width:52px;height:52px;border:1px solid var(--gold);transform:rotate(45deg);display:grid;place-items:center;margin:0 auto 1rem}
.icons .ic>*{transform:rotate(-45deg)}
.icons h3{font-size:.85rem;margin:.5rem 0 .4rem}
.icons p{font-size:.86rem;color:var(--muted);margin:0}
.cream .icons p{color:#666}
.icons.c3{grid-template-columns:repeat(3,1fr)}
@media (max-width:860px){.icons,.icons.c3{grid-template-columns:1fr 1fr}}
@media (max-width:500px){.icons,.icons.c3{grid-template-columns:1fr}}

/* two-col */
.two{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.two .ph{aspect-ratio:4/3;background:#222 center/cover no-repeat}
.ticks{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.55rem}
.ticks li{padding-left:1.5rem;position:relative;font-size:.92rem}
.ticks li b{font-weight:700}
.ticks li::before{content:"◆";position:absolute;left:0;top:.35em;color:var(--gold);font-size:.55rem}
@media (max-width:820px){.two{grid-template-columns:1fr}}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center}
.steps .n{width:52px;height:52px;border:1px solid var(--gold);color:var(--gold);transform:rotate(45deg);display:grid;place-items:center;margin:0 auto 1rem;font-size:.9rem}
.steps .n{font-weight:400}
.steps h3{font-size:.85rem}
.steps p{font-size:.86rem;color:var(--muted)}
.cream .steps p{color:#666}
.steps.c3{grid-template-columns:repeat(3,1fr)}
@media (max-width:860px){.steps,.steps.c3{grid-template-columns:1fr 1fr}}
@media (max-width:500px){.steps,.steps.c3{grid-template-columns:1fr}}

/* testimonials */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.quote{background:#111;border:1px solid var(--line);padding:1.8rem;text-align:center}
.cream .quote{background:#fff;border-color:var(--white-line)}
.quote .stars{color:var(--gold);letter-spacing:.2em;margin-bottom:.8rem;font-size:.8rem}
.quote p{font-size:.92rem;color:var(--muted);font-style:italic}
.cream .quote p{color:#555}
.quote b{display:block;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:400}
.quote span{font-size:.72rem;color:var(--faint)}
@media (max-width:860px){.quotes{grid-template-columns:1fr}}

/* FAQ */
.faq{max-width:860px;margin:0 auto;display:grid;border-top:1px solid var(--white-line)}
.faq details{border-bottom:1px solid var(--white-line)}
.faq summary{list-style:none;cursor:pointer;padding:1.1rem 0;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;gap:1rem;color:#111}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold);font-size:1.3rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 0 1.2rem;font-size:.92rem;color:#555}

/* contact band */
.contact-band{position:relative;background:#111 center/cover no-repeat;color:#fff}
.contact-band::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.8)}
.contact-band .wrap{position:relative}
.form{max-width:760px;margin:1.8rem auto 0;display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.form .full{grid-column:1/-1}
.form input,.form textarea,.form select{width:100%;padding:.9rem 1rem;border:1px solid #444;background:#000;font:inherit;font-size:.92rem;color:#fff;color-scheme:dark}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--gold)}
.form textarea{min-height:130px;resize:vertical}
.form .btn{justify-self:center;grid-column:1/-1}
.form .fine{grid-column:1/-1;font-size:.72rem;color:var(--faint);text-align:center;margin:0}
.form .fine a{color:var(--gold)}
@media (max-width:560px){.form{grid-template-columns:1fr}}
.light-form input,.light-form textarea,.light-form select{background:#fff;color:#111;border-color:#ccc;color-scheme:light}
.light-form .fine{color:#777}

/* partners */
.partners{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:2rem}
.partner{background:#fff;border:1px solid var(--white-line);padding:1.6rem 1rem 1.2rem;text-align:center}
.partner img{height:54px;width:auto;margin:0 auto .8rem;object-fit:contain}
.partner span{font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:#888}
@media (max-width:760px){.partners{grid-template-columns:1fr 1fr}}

/* newsletter */
.news .nf{max-width:620px;margin:1.6rem auto 0;display:grid;gap:.7rem}
.news input{padding:.85rem 1rem;border:1px solid #6b5a2a;background:#fff;font:inherit;color:#000}
.news .btn{justify-self:end}

/* footer */
.foot{background:#000;color:#aaa;border-top:1px solid var(--line);font-size:.85rem}
.foot .cols{display:grid;grid-template-columns:1.1fr 1fr 1.2fr;gap:2.5rem;padding-block:3rem;align-items:start}
.foot .logo img{height:76px}
.foot .soc{display:flex;gap:.6rem;margin-top:1rem}
.foot .soc a{width:34px;height:34px;border:1px solid #444;border-radius:50%;display:grid;place-items:center;color:#fff;text-decoration:none;font-size:.8rem}
.foot .soc a:hover{border-color:var(--gold);color:var(--gold)}
.foot h4{font-size:.68rem;letter-spacing:.28em;color:var(--gold);margin-bottom:.9rem}
.foot .ci{line-height:1.9}
.foot .ci b{display:block;font-weight:400;color:#fff;margin-top:.5rem;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase}
.foot .ci a{text-decoration:none;color:#fff}
.foot iframe{width:100%;height:220px;border:0;filter:grayscale(1) invert(.92)}
.foot .lists{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;padding-block:2rem;border-top:1px solid var(--line)}
.foot ul{list-style:none;margin:0;padding:0;columns:2;font-size:.8rem;line-height:2}
.foot ul a{text-decoration:none;color:#aaa}
.foot ul a:hover{color:var(--gold)}
.foot .base{text-align:center;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#777;padding-block:1.2rem;border-top:1px solid var(--line)}
@media (max-width:900px){.foot .cols{grid-template-columns:1fr}.foot .lists{grid-template-columns:1fr}}

/* misc */
.prose{max-width:76ch;margin:0 auto;font-size:.98rem;color:var(--muted)}
.cream .prose{color:#555}
.prose h3{margin:1.6rem 0 .5rem}
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}
.gal a{aspect-ratio:4/3;background:#111;display:block;overflow:hidden}
.gal a img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.gal a:hover img{transform:scale(1.05)}
.gal.strip{gap:.8rem}
@media (max-width:700px){.gal.strip{grid-template-columns:1fr 1fr;gap:.5rem}}
.ph img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:700px){.gal{grid-template-columns:1fr 1fr}}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}
.chips span{border:1px solid var(--line2);color:var(--muted);padding:.35rem .9rem;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}
.cream .chips span{border-color:#ccc;color:#555}
.chips a{text-decoration:none}
.tbl{overflow-x:auto;border:1px solid var(--white-line)}
table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:600px;color:#333}
th,td{padding:.8rem 1rem;border-bottom:1px solid var(--white-line);text-align:left}
th{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;background:#000;color:#fff;font-weight:400}
section:not(.cream) .tbl{border-color:var(--line)}
section:not(.cream) table{color:#ddd}
section:not(.cream) td{border-color:var(--line)}
tr:last-child td{border-bottom:0}
.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.tier{border:1px solid var(--line);padding:1.6rem;background:#111;display:grid;gap:.6rem;align-content:start;text-align:center}
.cream .tier{background:#fff;border-color:var(--white-line)}
.tier.hot{border-color:var(--gold)}
.tier .tag{font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.tier h3{font-size:.95rem}
.tier .price{font-size:1rem;letter-spacing:.14em;text-transform:uppercase}
.tier .fine{font-size:.74rem;color:var(--faint)}
.tier ul{padding-left:0;margin:.4rem 0;font-size:.85rem;color:var(--muted);list-style:none;display:grid;gap:.35rem;border-top:1px solid var(--line);padding-top:.9rem}
.cream .tier ul{color:#555;border-color:var(--white-line)}
.tier li::before{content:"◆ ";color:var(--gold);font-size:.55rem;vertical-align:middle}
.tier .btn{padding:.65rem 1rem;font-size:.62rem;text-align:center}
@media (max-width:1000px){.tiers{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.tiers{grid-template-columns:1fr}}
.cta-band{position:relative;background:#111 center/cover no-repeat;color:#fff;text-align:center}
.cta-band::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.75)}
.cta-band .wrap{position:relative}
.cta-band p{color:#ccc;max-width:60ch;margin-inline:auto}
.legal h3{font-size:.9rem;margin:2rem 0 .6rem;padding-top:1.6rem;border-top:1px solid var(--line)}
.legal h3 span{color:var(--gold);margin-right:.8rem}
.legal ul{color:var(--muted)}
.legal a{color:var(--gold)}
.video{aspect-ratio:16/9;max-width:900px;margin:0 auto;border:1px solid var(--line)}
.video iframe{width:100%;height:100%;border:0}
.video.poster{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.8rem;background:#111 center/cover no-repeat;position:relative;text-decoration:none;color:#fff}
.video.poster::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.45)}
.video.poster .play{position:relative;width:76px;height:76px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-size:1.4rem;color:var(--gold);background:rgba(0,0,0,.5);transition:.2s}
.video.poster:hover .play{background:var(--gold);color:#000}
.video.poster .cap{position:relative;font-size:.68rem;letter-spacing:.25em;text-transform:uppercase}
.cities{columns:4;font-size:.85rem;letter-spacing:.08em;line-height:2.2;max-width:900px;margin:0 auto;text-transform:uppercase}
.cities a{text-decoration:none;color:var(--muted)}
.cities a:hover{color:var(--gold)}
@media (max-width:760px){.cities{columns:2}}
.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:var(--gold);color:#000;padding:.8rem 1.3rem;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;z-index:200}
.toast[hidden]{display:none}
:focus-visible{outline:1px solid var(--gold);outline-offset:2px}

/* long text block with bold labels (Empire style) */
.labeled{max-width:900px;margin:0 auto;text-align:center;font-size:.9rem;color:var(--muted);line-height:1.9}
.labeled p b{color:#fff;font-weight:700;letter-spacing:.12em;text-transform:uppercase}


/* gold icon bar under the hero */
.icostrip{position:relative;z-index:2;margin-top:-56px;display:grid;grid-template-columns:repeat(5,1fr);background:#000;border:1px solid var(--gold);box-shadow:0 20px 50px rgba(0,0,0,.6)}
.icostrip a{display:grid;justify-items:center;gap:.6rem;padding:1.6rem .8rem 1.4rem;text-decoration:none;color:#fff;border-left:1px solid #222;text-align:center}
.icostrip a:first-child{border-left:0}
.icostrip i{font-style:normal;width:56px;height:56px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);transition:.2s}
.icostrip i svg{width:24px;height:24px}
.icostrip a:hover i{background:var(--gold);color:#000}
.icostrip span{font-size:.64rem;letter-spacing:.24em;text-transform:uppercase}
.after-ico{padding-top:4rem}
@media (max-width:900px){.icostrip{grid-template-columns:repeat(3,1fr)}.icostrip a{border-left:0;border-top:1px solid #222}.icostrip a:nth-child(-n+3){border-top:0}.icostrip a:nth-child(3n+2),.icostrip a:nth-child(3n+3){border-left:1px solid #222}}
@media (max-width:520px){.icostrip{grid-template-columns:1fr 1fr;margin-top:1.5rem}.icostrip a{border:0;border-top:1px solid #222}.icostrip a:nth-child(-n+2){border-top:0}.icostrip a:nth-child(2n){border-left:1px solid #222}.icostrip a:last-child:nth-child(odd){grid-column:1/-1}}
.areas{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#222;border:1px solid #222}
.areas.c3{grid-template-columns:repeat(3,1fr)}
.area{background:#000;padding:1.6rem 1.4rem;scroll-margin-top:90px}
.cream .area{background:#fff}
.area h3{font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 .5rem}
.area p{margin:0;font-size:.88rem;line-height:1.55}
.area .tiny{color:var(--gold);font-size:.72rem;letter-spacing:.06em;margin-top:.35rem}
.area a{display:inline-block;margin-top:.8rem;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);text-decoration:none}
.area a:hover{color:#fff}
.cream .area a:hover{color:#000}
@media (max-width:1000px){.areas,.areas.c3{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.areas,.areas.c3{grid-template-columns:1fr}}

.nav .signin{opacity:.7}.nav .signin:hover{opacity:1}

.gstrip{margin-top:2rem;overflow:hidden}
.ghead{display:flex;align-items:center;justify-content:center;gap:.8rem;flex-wrap:wrap;margin-bottom:1.6rem}
.glogo{font-family:Arial,sans-serif;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}
.gstars{color:#FBBC05;font-size:1.1rem;letter-spacing:.1em}
.grating{font-size:1.1rem;font-weight:700}
.gcount{font-size:.8rem;color:#666}
.gwrite{margin-left:.6rem;padding:.6rem 1.2rem;font-size:.64rem}
.gtrack{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.gcards{display:flex;gap:1.2rem;width:max-content;will-change:transform}
.gcards .quote{width:340px;flex:0 0 340px;text-align:left}
.gcards .quote p{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:600px){.gcards .quote{width:280px;flex-basis:280px}.gwrite{margin-left:0}}

.resv{padding-top:0}
.resv-grid{display:grid;grid-template-columns:480px 1fr;gap:3rem;align-items:start;margin-top:-4.5rem;position:relative;z-index:2}
.bookcard{background:#fff;color:#111;border:1px solid var(--gold);box-shadow:0 30px 70px rgba(0,0,0,.55)}
.bookcard-head{padding:1.6rem 1.8rem 1rem;border-bottom:1px solid #eee}
.bookcard-head .eyebrow{text-align:left;margin:0 0 .4rem}
.bookcard-head h2{font-size:1.4rem;color:#111}
.bookcard-head p{margin:.4rem 0 0;font-size:.85rem;color:#666}
.bookcard .embed-wrap{padding:1.2rem 1.8rem;min-height:420px;background:#fff}
.bookcard-alt{padding:1.2rem 1.8rem 1.6rem;border-top:1px solid #eee;background:#f7f7f7;display:grid;gap:.6rem}
.bookcard-alt .btn{text-align:center}
.bookcard-alt .btn.ghost{color:#111;border-color:#111}
.bookcard-alt .tiny{margin:.4rem 0 0;font-size:.72rem;color:#666;text-align:center;letter-spacing:.04em}
.bookcard-alt .tiny a{color:var(--gold-dark)}
.resv-side{padding-top:5.5rem}
.resv-side .center{text-align:left}.resv-side .rule{margin-left:0}
.resv-side .icons>div{text-align:left}.resv-side .icons .ic{margin-left:0}
.resv-side .steps{text-align:left}
@media (max-width:1000px){.resv-grid{grid-template-columns:1fr;margin-top:-3rem}.resv-side{padding-top:1rem}}

/* home hero with booking widget on the right */
.hero.with-widget .hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:3.5rem;align-items:center;text-align:left}
.hero.with-widget h1{text-align:left;margin-inline:0;font-size:clamp(2.2rem,4.6vw,3.6rem)}
.hero.with-widget h1>span{display:block;white-space:normal}
.hero.with-widget .btns{justify-content:flex-start}
.hero.with-widget.tall{min-height:0}
.hero.with-widget.tall .wrap{padding-top:clamp(1.5rem,3vw,2.5rem);padding-bottom:clamp(1.5rem,3vw,2.5rem)}
.hero-widget{background:#fff;color:#111;border:1px solid var(--gold);box-shadow:0 30px 70px rgba(0,0,0,.6);padding:.4rem;min-height:260px}
.hero-widget .hw-head{display:flex;justify-content:space-between;align-items:center;padding:.2rem .2rem .8rem;border-bottom:1px solid #eee;margin-bottom:.6rem}
.hero-widget .hw-head span{font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font-weight:700}
.hero-widget .hw-head a{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:#111;text-decoration:none;border:1px solid #111;padding:.35rem .7rem}
.hero-widget .hw-head a:hover{background:#111;color:#fff}
@media (max-width:1000px){.hero.with-widget.tall .wrap{padding-top:1.5rem;padding-bottom:2.5rem}.hero.with-widget .hero-grid{grid-template-columns:1fr;gap:1.4rem;text-align:center}.hero.with-widget h1{text-align:center;margin-inline:auto}.hero.with-widget .btns{justify-content:center}.hero-widget{max-width:520px;margin:0 auto;width:100%}}

/* ---- booking widget: nyclimousine-style white card on the right of the home banner ---- */
.hero.with-widget .hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 520px;gap:3rem;align-items:center;text-align:left}
.hero.with-widget h1{text-align:left;margin-inline:0;font-size:clamp(1.9rem,3.5vw,2.8rem);letter-spacing:.1em}
.hero.with-widget h1>span{display:block;white-space:normal}
.hero.with-widget .btns{display:none}
.hero.with-widget.tall{min-height:0}
.hero.with-widget.tall .wrap{padding-top:clamp(1.5rem,3vw,2.5rem);padding-bottom:clamp(1.5rem,3vw,2.5rem)}
.hero-widget{background:transparent;border:0;box-shadow:none;padding:0;min-height:0;margin:0}
#hlc-booking{font-family:Lato,"Helvetica Neue",Arial,sans-serif!important;max-width:none!important}
#hlc-booking .hlcw{display:grid;grid-template-columns:1fr 1fr;gap:.6rem .7rem;align-items:end;background:#fff!important;border:1px solid rgba(255,255,255,.6)!important;border-radius:14px!important;padding:.9rem 1rem 1rem!important;box-shadow:0 24px 60px rgba(0,0,0,.5)!important;color:#1c2028}
#hlc-booking .hlcw h3,#hlc-booking .hlcw .sub,#hlc-booking .hlcw .foot,#hlc-booking .hlcw .hlcw-extra{display:none!important}
#hlc-booking .hlcw>div:first-child{display:flex!important;grid-column:2;order:99;justify-content:flex-end!important;align-items:center;margin:0!important;padding-top:.15rem}
#hlc-booking .hlcw>div:first-child a{font-family:Lato,sans-serif!important;font-size:.6rem!important;letter-spacing:.14em;text-transform:uppercase;font-weight:700!important;padding:.35rem .75rem!important;border-radius:999px!important;background:#14110c!important;color:var(--gold)!important;text-decoration:none!important}
#hlc-booking .hlcw>div:first-child a:hover{background:var(--gold)!important;color:#000!important}
#hlc-booking .hlcw .tabs{grid-column:1/-1;background:#f1efe9!important;border:1px solid #e6e2d8!important;border-radius:999px!important;padding:4px!important;gap:0!important;margin-bottom:.1rem!important}
#hlc-booking .hlcw .tabs button{border-radius:999px!important;font-family:Lato,sans-serif!important;font-size:.78rem!important;font-weight:700!important;color:#4b4f57!important;padding:.55rem .4rem!important;letter-spacing:.02em}
#hlc-booking .hlcw .tabs button.on{background:#9a7b3f!important;color:#fff!important}
#hlc-booking .hlcw label{font-family:Lato,sans-serif!important;font-size:.6rem!important;letter-spacing:.14em!important;color:#5b5f66!important;font-weight:700!important;margin:0 0 .25rem!important;display:flex!important;align-items:center;gap:.35rem}
#hlc-booking .hlcw label::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);flex:none}
#hlc-booking .hlcw #hlcw_svcwrap{grid-column:1/-1;margin-bottom:0!important}
#hlc-booking .hlcw #hlcw_airwrap,#hlc-booking .hlcw #hlcw_returnwrap,#hlc-booking .hlcw #hlcw_hourswrap,#hlc-booking .hlcw .err{grid-column:1/-1}
#hlc-booking .hlcw #hlcw_airwrap{border-radius:10px!important;background:#faf8f3!important;border-color:#e6e2d8!important}
#hlc-booking .hlcw .hsvc{border-radius:999px!important;border-color:#e6e2d8!important;font-family:Lato,sans-serif!important;font-size:.72rem!important;color:#4b4f57!important}
#hlc-booking .hlcw .hsvc.on{background:#9a7b3f!important;border-color:#9a7b3f!important;color:#fff!important}
#hlc-booking .hlcw .f{margin-bottom:0!important}
#hlc-booking .hlcw .row3{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:.7rem}
#hlc-booking .hlcw input,#hlc-booking .hlcw select{font-family:Lato,sans-serif!important;font-size:.9rem!important;padding:.65rem .75rem!important;border:1px solid #dcd8ce!important;border-radius:8px!important;background:#fff!important;color:#1c2028!important;color-scheme:light}
#hlc-booking .hlcw input::placeholder{color:#9a9a9a}
#hlc-booking .hlcw input:focus,#hlc-booking .hlcw select:focus{border-color:var(--gold)!important;box-shadow:0 0 0 3px rgba(187,151,58,.18)!important}
#hlc-booking .hlcw select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23555' stroke-width='1.6'/></svg>")!important;background-repeat:no-repeat!important;background-position:right .7rem center!important;padding-right:2rem!important}
#hlc-booking .hlcw .go{grid-column:1/-1;margin-top:.1rem!important;background:var(--gold)!important;color:#000!important;border-radius:8px!important;font-family:Lato,sans-serif!important;font-size:.72rem!important;letter-spacing:.2em!important;font-weight:700!important;padding:.85rem!important;transition:.2s;box-shadow:0 6px 16px rgba(187,151,58,.35)}
#hlc-booking .hlcw .go:hover{background:#9a7b3f!important;color:#fff!important}
#hlc-booking .hlcw .go-alt{grid-column:1;order:98;width:auto!important;justify-self:start;background:transparent!important;border:0!important;box-shadow:none;color:#9a7b3f!important;font-size:.62rem!important;letter-spacing:.18em!important;padding:.35rem 0 0!important;margin:0!important;text-align:left;text-decoration:underline;text-underline-offset:3px}
#hlc-booking .hlcw .go-alt:hover{color:#000!important;background:transparent!important}
#hlc-booking .hlcw .err{font-family:Lato,sans-serif}
@media (max-width:1000px){
 .hero.with-widget .hero-grid{grid-template-columns:1fr;gap:1.2rem;text-align:center}
 .hero.with-widget h1{text-align:center;margin-inline:auto}
 .hero.with-widget.tall .wrap{padding-top:1.5rem;padding-bottom:3rem}
 .hero-widget{max-width:520px;margin:0 auto;width:100%}
 #hlc-booking .hlcw .row3{grid-template-columns:1fr 1fr}#hlc-booking .hlcw .row3 .pax{grid-column:1/-1}
}
/* reservation page: same white style inside the existing card, stacked */
.bookcard #hlc-booking .hlcw{display:block;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important}
.bookcard #hlc-booking .hlcw .foot{display:flex!important;font-size:.7rem;color:#777;margin-top:.8rem}
.bookcard #hlc-booking .hlcw>div:first-child{display:none!important}
.bookcard #hlc-booking .hlcw .go-alt{width:100%!important;text-align:center}
.bookcard #hlc-booking .hlcw .tabs{margin-bottom:.8rem!important}
.bookcard #hlc-booking .hlcw .f,.bookcard #hlc-booking .hlcw #hlcw_svcwrap{margin-bottom:.7rem!important}
.bookcard #hlc-booking .hlcw .go{margin-top:.4rem!important}
.bookcard #hlc-booking .hlcw .go-alt{padding-top:.5rem!important}


/* ---- booking band on airport / cruise pages ---- */
.svc-book{background:#0a0a0a;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:3.5rem 0}
.svc-book-grid{display:grid;grid-template-columns:minmax(0,1fr) 520px;gap:3rem;align-items:center}
.svc-book h2{font-size:clamp(1.8rem,3.2vw,2.6rem);margin-top:.4rem}
.svc-book p{color:var(--muted);max-width:52ch}
.svc-book .hero-widget{margin:0}
@media (max-width:1000px){.svc-book{padding:2.5rem 0}.svc-book-grid{grid-template-columns:1fr;gap:1.6rem;text-align:center}.svc-book p{margin-inline:auto}.svc-book .hero-widget{max-width:520px;margin:0 auto;width:100%}}

/* ---- home headline block (layout E) ---- */
.hero.with-widget h1 .pre{display:block;font-size:.55em;letter-spacing:.32em;color:var(--gold);font-weight:400;margin-bottom:.3rem;white-space:normal}
.hero .sub4{display:flex;gap:1rem;margin:.9rem 0 0;color:#fff;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
.hero .sub4 span+span{border-left:1px solid var(--gold);padding-left:1.2rem}
.hero .proof{color:#9a9a9a;font-size:.78rem;margin:1.2rem 0 0;letter-spacing:.04em;max-width:46ch}
@media (max-width:1000px){.hero .sub4{justify-content:center}.hero .proof{margin-inline:auto}}
@media (max-width:640px){.hero .sub4{flex-direction:column;gap:.35rem;font-size:.74rem;align-items:center}.hero .sub4 span+span{border-left:0;padding-left:0}.hero .proof{font-size:.74rem}}

/* ---- home headline: layout M (Playfair italic + gold tag) ---- */
.hero.with-widget h1{font-family:"Playfair Display",Georgia,serif;text-transform:none;font-style:italic;font-weight:400;letter-spacing:0;font-size:clamp(2.6rem,4.8vw,4rem);line-height:1.02}
.hero.with-widget h1 .pre{font-family:Lato,sans-serif;font-style:normal;text-transform:uppercase;background:var(--gold);color:#000;display:inline-block;padding:.3rem .7rem;font-size:.5em;letter-spacing:.3em;margin-bottom:.6rem;font-weight:400}
@media (max-width:640px){.hero.with-widget h1{font-size:clamp(2.2rem,9.5vw,3rem)}.hero.with-widget h1 .pre{font-size:.55em}}

/* ---- home services row: panoramic photo band (design 21) ---- */
.icoband{position:relative;background:#000 center/cover no-repeat;padding:2.4rem 0;border-bottom:1px solid var(--line)}
.icoband::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.74)}
.icoband .wrap{position:relative}
.icoband .icostrip{margin-top:0;background:transparent;border:0;box-shadow:none}
.icoband .icostrip a{border-left:1px solid rgba(255,255,255,.15);gap:.55rem;padding:.4rem .8rem}
.icoband .icostrip a:first-child{border-left:0}
.icoband .icostrip i{background:rgba(0,0,0,.5)}
.icoband .icostrip a:hover i{background:var(--gold)}
.icoband .icostrip small{font-size:.7rem;color:#9a9a9a;text-transform:none;letter-spacing:.03em}
@media (max-width:900px){.icoband .icostrip a{border:0;border-top:1px solid rgba(255,255,255,.12)}.icoband .icostrip a:nth-child(-n+3){border-top:0}.icoband .icostrip a:nth-child(3n+2),.icoband .icostrip a:nth-child(3n+3){border-left:1px solid rgba(255,255,255,.12)}}
@media (max-width:520px){.icoband{padding:1.6rem 0}.icoband .icostrip{margin-top:0}.icoband .icostrip a{border:0;border-top:1px solid rgba(255,255,255,.12)}.icoband .icostrip a:nth-child(-n+2){border-top:0}.icoband .icostrip a:nth-child(2n){border-left:1px solid rgba(255,255,255,.12)}.icoband .icostrip a:last-child:nth-child(odd){grid-column:1/-1}}

/* reservation page: when the widget opens the booking app inline, go full width */
.resv-grid:has(#hlc-booking iframe){grid-template-columns:minmax(0,640px) 1fr;gap:3rem}
.resv-grid:has(#hlc-booking iframe) .bookcard{max-width:640px}
.bookcard #hlc-booking iframe{min-height:980px!important;width:100%!important}
.resv-grid:has(#hlc-booking iframe) .resv-side{display:block}
@media (max-width:1000px){.resv-grid:has(#hlc-booking iframe){grid-template-columns:1fr}.resv-grid:has(#hlc-booking iframe) .bookcard{max-width:none}}
.resv-grid:has(#hlc-booking iframe) .bookcard-alt{display:none}
.bookcard #hlc-booking{max-width:none!important}
.bookcard .embed-wrap:has(iframe){padding:.6rem!important}

.bookcard:has(#hlc-booking iframe) .bookcard-head{display:none}

/* keep the booking widget (which sets a huge z-index) below the sticky header + dropdown menus */
.hero-widget,.bookcard .embed-wrap{position:relative;z-index:1;isolation:isolate}
/* ---- mobile: never scroll sideways ---- */
html,body{overflow-x:clip}
@supports not (overflow:clip){html,body{overflow-x:hidden}}
.two>*,.cards>*,.feats>*,.icons>*,.steps>*,.resv-grid>*,.hero-grid>*,.svc-book-grid>*,.tiles>*,.areas>*,.tiers>*,.quotes>*,.gal>*{min-width:0}
img,video,iframe,table{max-width:100%}
.tbl{max-width:100%}
@media (max-width:960px){
 [style*="repeat(4,1fr)"],[style*="repeat(5,1fr)"],[style*="repeat(3,1fr)"]{grid-template-columns:1fr 1fr!important}
}
@media (max-width:600px){
 [style*="grid-template-columns"]{grid-template-columns:1fr!important}
 .gal[style*="grid-template-columns"]{grid-template-columns:1fr 1fr!important}
 .hero h1>span{white-space:normal}
 .wrap{padding-inline:16px}
}#hlc-booking .hlcw>div:first-child a{white-space:nowrap}
@media (max-width:600px){
 #hlc-booking .hlcw>div:first-child{grid-column:1/-1;justify-content:center!important}
 #hlc-booking .hlcw .go-alt{grid-column:1/-1;justify-self:center;text-align:center}
}