:root{color-scheme:dark;--bg:#10100f;--panel:#171614;--line:#383026;--paper:#faf6ef;--muted:#c4b9a9;--gold:#f1c779;--gold-soft:#e8c996;--gold-highlight:#ffe1a6;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",system-ui,sans-serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--paper);font:400 1rem/1.6 var(--sans)}
h1,h2,h3,p{margin:0}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button{cursor:pointer}
img{display:block;width:100%;height:auto}
:focus-visible{outline:2px solid var(--gold-highlight);outline-offset:4px}
.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}
.skip{position:fixed;top:12px;left:12px;z-index:10;padding:10px 18px;background:#fff;color:#000;transform:translateY(-150%)}
.skip:focus{transform:none}
.site-header{background:#10100f;border-bottom:1px solid var(--line);position:relative;z-index:2}
.header-row{min-height:88px;display:flex;justify-content:space-between;align-items:center;gap:28px}
.brand{display:inline-block;flex:none;line-height:0}
.header-row .brand{width:94px;margin-block:6px}
.footer-grid .brand{width:164px}
.brand img{border-radius:4px}
nav{display:flex;gap:34px;font-size:.88rem;font-weight:600}
nav a:hover,footer a:hover{color:var(--gold)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:46px;padding:10px 19px;border:1px solid transparent;border-radius:4px;font-size:.86rem;line-height:1.3;font-weight:700;white-space:nowrap}
.button span{font-size:1.08rem}
.button-gold{color:#211609;background:var(--gold);border-color:var(--gold)}
.button-gold:hover{background:var(--gold-highlight)}
.button-outline{color:var(--gold-soft);border-color:#8c704c;background:#100d0b77}
.button-outline:hover{background:#36291a}
.hero{isolation:isolate;overflow:hidden;position:relative;background:#0a0908}
.hero-image{position:absolute;inset:0 0 0 auto;height:100%;width:74%;object-fit:cover;object-position:50% 58%;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0a0908 2%,#0a0908 28%,#0a0908dc 38%,#0a090837 58%,transparent 76%),linear-gradient(0deg,#0a0908 1%,transparent 23%)}
.hero-inner{min-height:552px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-block:70px 78px}
.eyebrow{display:flex;align-items:center;gap:10px;color:var(--gold);font-size:.7rem;font-weight:700;letter-spacing:.18em}
.eyebrow span{display:inline-block;width:22px;height:1px;background:currentColor}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.1}
h1{font-size:clamp(3.2rem,6.35vw,6.1rem);letter-spacing:-.054em;margin-top:18px}
h1 em{color:var(--gold);font-weight:500}
.hero-copy{margin-top:21px;color:#e1d5c4;max-width:360px}
.actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:31px}
.section{padding-block:68px 76px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:23px}
h2{font-size:clamp(2.25rem,4.3vw,4rem);letter-spacing:-.038em;margin-top:9px}
.section-head>p{color:var(--muted);max-width:320px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:21px}
.filters button{padding:8px 15px;border:1px solid #504333;background:transparent;border-radius:30px;color:#e7d9c6;font-size:.84rem}
.filters button:hover,.filters button[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:#1d160e}
.inquiry{display:grid;grid-template-columns:1fr minmax(350px,1.1fr);gap:55px;align-items:start}
.faq-photo{margin-top:24px;border:1px solid #715430;border-radius:7px}
.inquiry-intro>p:not(.eyebrow){color:var(--muted);margin:17px 0;max-width:390px}
.text-link{color:var(--gold);font-weight:700}
form{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:25px;display:grid;gap:14px}
fieldset{border:0;padding:0;margin:0;min-inline-size:0}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.full{grid-column:1/-1}
.field{display:grid;gap:5px;font-size:.83rem;font-weight:600}
.field input,.field select{border:1px solid #65513b;border-radius:4px;background:#100f0e;color:var(--paper);width:100%;min-width:0;min-height:43px;padding:7px 9px}
.field input::placeholder{color:#a99c8c}
.form-help{color:var(--muted);font-size:.78rem}
footer{background:#0a0908;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px;padding-block:42px}
.footer-grid h2{font:700 .95rem/1.3 var(--sans);margin:0 0 10px;letter-spacing:0}
.footer-grid p,address,.footer-grid>div:not(:first-child) a{display:block;color:var(--muted);font-size:.84rem;font-style:normal}
.footer-grid p{margin-top:8px}
.footer-grid>div:not(:first-child) a:hover{color:var(--gold)}
@media(max-width:930px){
.wrap{width:calc(100% - 56px)}
.hero-inner{min-height:480px}
.hero-image{width:84%;object-position:58% 55%}
.hero::after{background:linear-gradient(90deg,#0a0908 3%,#0a0908ed 26%,#0a090874 50%,transparent 86%),linear-gradient(0deg,#0a0908,transparent 19%)}
.inquiry{gap:26px}
}
@media(max-width:680px){
.wrap{width:calc(100% - 36px)}
.header-row{min-height:70px;gap:10px;flex-wrap:wrap;padding-block:11px}
nav{order:3;width:100%;justify-content:center;gap:25px;padding:9px 0 2px;border-top:1px solid var(--line)}
.header-action{font-size:.75rem;min-height:40px;padding-inline:12px}
.header-row .brand{width:74px;margin-block:0}
.hero-image{width:100%;height:64%;object-fit:cover;object-position:50% 65%}
.hero::after{background:linear-gradient(0deg,#0a0908 37%,#0a0908d9 47%,transparent 72%)}
.hero-inner{min-height:540px;justify-content:flex-end;padding-block:237px 34px}
h1{font-size:clamp(2.65rem,10vw,4.3rem);margin-top:11px}
.hero-copy{font-size:.96rem;margin-top:14px}
.actions{margin-top:18px;gap:8px}
.actions .button{gap:7px;padding-inline:10px}
.section{padding-block:45px}
.section-head{display:block}
.section-head>p{margin-top:9px;font-size:.94rem}
.inquiry,.footer-grid{grid-template-columns:1fr;gap:18px}
.footer-grid{padding-block:30px}
form{padding:15px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Keep the supplied logo’s gold artwork and blend its black into the page. */
.brand{mix-blend-mode:screen}
.brand img{border-radius:0}
nav a[aria-current="page"]{color:var(--gold)}
.header-action{border-color:#806243}
.inner-main{background:radial-gradient(ellipse at top,#201910 0,transparent 48rem)}
.inner-main h1{font-size:clamp(2.85rem,7vw,5.6rem);margin-top:12px}
.inner-main .section-head{margin-bottom:32px}
.page-bottom{padding-bottom:68px}
.page-panel{border:1px solid var(--line);background:#171410;padding:clamp(24px,4vw,55px);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px}
.page-panel h2{font-size:clamp(1.8rem,3.5vw,2.55rem);margin:0}
.page-panel p{color:var(--muted);margin-top:10px;max-width:40em}
.panel-actions{display:flex;flex-wrap:wrap;gap:10px}
.explore-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.explore-card{position:relative;display:grid;align-items:end;isolation:isolate;overflow:hidden;min-height:clamp(142px,24vw,306px);background:#100d0a;border:1px solid var(--line)}
.explore-card img{position:absolute;height:100%;object-fit:cover;z-index:-2}
.explore-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#080706 0,transparent 60%)}
.explore-card div{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:16px 20px}
.explore-card h3{font-size:clamp(1.1rem,3vw,2rem)}
.explore-card span,.explore-card:hover h3{color:var(--gold)}
@media(max-width:680px){
  .header-row{column-gap:10px;row-gap:5px}
  nav{gap:clamp(18px,7vw,32px);padding-block:4px 0}
  nav a{display:grid;align-items:center;min-height:40px}
  .hero-inner{min-height:0;align-items:center;text-align:center;padding-block:clamp(185px,55vw,310px) 35px}
  .hero-image{height:clamp(230px,68vw,390px);object-position:68% 56%}
  .hero::after{background:linear-gradient(0deg,#0a0908 0%,#0a0908 41%,#0a0908aa 53%,transparent 78%)}
  .hero h1{font-size:clamp(2.55rem,11vw,4.6rem);line-height:1.01}
  .hero-copy{max-width:29ch;margin-top:16px}
  .hero .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(100%,375px);margin-top:24px}
  .hero .button{min-height:48px;white-space:normal}
  .explore-grid{gap:10px}
  .explore-card div{padding:10px}
  .page-panel{grid-template-columns:1fr}
  .page-bottom{padding-bottom:45px}
}
@media(max-width:680px){
  .hero-image{object-position:center 52%}
}

.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.fleet-category{margin-top:35px}
.fleet-category+.fleet-category{border-top:1px solid var(--line);padding-top:25px}
.fleet-category h2{font-size:clamp(1.75rem,4vw,2.65rem);margin:0 0 16px}
.fleet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.fleet-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:7px;background:var(--panel);overflow:hidden}
.fleet-card img{aspect-ratio:16/9;object-fit:cover}
.fleet-card-body{flex:1;display:flex;flex-direction:column;gap:10px;padding:18px}
.fleet-card-type{color:var(--gold);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px}
.fleet-card h3{font-size:clamp(1.4rem,3vw,2rem)}
.fleet-card-description{color:var(--muted);font-size:.9rem;margin-bottom:4px}
.fleet-card-rate{margin:auto 0 0;padding-top:11px;border-top:1px solid var(--line)}
.fleet-card-rate dt{color:var(--muted);font-size:.85rem}
.fleet-card-rate dd{margin:0;color:var(--gold);font-size:1.15rem;font-weight:700}
.fleet-card-rate dd span{font-size:.8rem;color:var(--muted);font-weight:400}
.season-note{margin-bottom:22px;padding:14px 18px;border:1px solid var(--line);border-left:3px solid var(--gold);background:var(--panel)}
.season-note strong{color:var(--gold)}
.season-note p{font-size:.92rem;color:var(--muted)}
.fleet-card .button{align-self:flex-start}
@media(max-width:600px){
  .fleet-grid{grid-template-columns:1fr;gap:13px}
  .fleet-card-body{padding:15px}
  .fleet-card .button{align-self:stretch}
}

.offers-intro{margin-top:14px;color:var(--muted);max-width:40rem}
.offers-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:30px}
.offer-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #715430;border-radius:7px;background:radial-gradient(ellipse at top left,#2d2113,#151210 67%)}
.offer-flyer{display:block;width:100%;height:auto;aspect-ratio:3/2;background:#0d0c0b}
.offer-card-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:11px;padding:clamp(20px,4vw,34px);border-top:1px solid #715430}
.offer-card h2{font-size:clamp(1.75rem,3.35vw,2.55rem);margin:0}
.offer-description,.offer-fallback{color:var(--muted)}
.offer-dates{font-size:.85rem;color:var(--gold-soft)}
.offer-upcoming{color:var(--gold);font-size:.85rem;font-weight:700}
.offer-card .button{margin-top:auto}
.offer-fallback{margin-top:24px}
@media(max-width:680px){.offers-grid{grid-template-columns:1fr}}

.taxi-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:30px;padding:clamp(24px,4vw,55px);border:1px solid var(--line);border-radius:7px;background:var(--panel)}
.taxi-panel h2{font-size:clamp(1.5rem,3.2vw,2.35rem);color:var(--gold);margin:16px 0 12px}
.taxi-panel p:not(.eyebrow){color:var(--muted);max-width:37ch}
.taxi-panel img{border:1px solid var(--line);border-radius:7px}
.site-header nav{align-items:center;flex-wrap:wrap}
@media(max-width:680px){
  .taxi-panel{grid-template-columns:minmax(0,1fr);gap:24px}
  .site-header nav{column-gap:clamp(10px,4vw,22px);row-gap:0}
}

.terms-page{max-width:850px}
.terms-intro{margin-top:16px;max-width:65ch;color:var(--muted)}
.terms-list{margin-top:25px;padding-inline:clamp(18px,4vw,36px);border:1px solid var(--line);border-radius:7px;background:var(--panel)}
.terms-list section{padding-block:21px}
.terms-list section+section{border-top:1px solid var(--line)}
.terms-list h2{margin:0 0 8px;font-size:clamp(1.4rem,3.5vw,2rem);letter-spacing:-.02em}
.terms-list p{color:var(--muted)}

.home-welcome{border-block:1px solid var(--line);background:#171410;text-align:center}
.welcome-inner{max-width:700px;padding-block:clamp(32px,5vw,58px)}
.welcome-inner h2{margin:0 0 15px;color:var(--gold);font-size:clamp(2rem,5vw,3.2rem)}
.welcome-inner p{max-width:58ch;margin-inline:auto;color:var(--paper)}
.welcome-inner p+p{margin-top:12px;color:var(--muted)}

.faq-list{margin-top:25px;border:1px solid var(--line);border-radius:7px;background:var(--panel)}
.faq-list details{padding-inline:clamp(16px,4vw,32px)}
.faq-list details+details{border-top:1px solid var(--line)}
.faq-list summary{cursor:pointer;padding-block:16px;color:var(--gold);font-weight:700}
.faq-list details p{padding-bottom:17px;color:var(--muted);max-width:64ch}
.booking-conditions{padding-block:24px}
.booking-conditions .actions{margin-top:18px}
.booking-conditions .button{white-space:normal}

.quote-payment{display:grid;gap:9px;border-top:1px solid var(--line);padding-top:14px}
.quote-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:4px}
.quote-actions .button{white-space:normal;text-align:center}
.quote-actions button:disabled{cursor:default;opacity:.65}

.home-contact{border-bottom:1px solid var(--line)}
.home-contact-inner{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 23px;padding-block:19px;text-align:center}
.home-contact h2{margin:0;color:var(--gold);font-size:1.35rem}
.home-contact-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.contact-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid #8c704c;border-radius:50%;color:var(--gold)}
.contact-icon svg{width:23px;height:23px}
.contact-icon[aria-disabled="true"]{opacity:.65}
.contact-icon[aria-disabled="true"]:hover{background:#100d0b77}
@media(max-width:540px){.home-contact-inner{flex-direction:column}}

.quote-estimate{display:grid;gap:9px;padding:14px;border:1px solid var(--line);border-radius:7px;background:var(--panel)}
.quote-estimate h3{color:var(--gold);font-size:1.2rem}
.quote-estimate dl{display:grid;grid-template-columns:1fr auto;gap:5px 12px;margin:0;font-size:.86rem}
.quote-estimate dd{margin:0;text-align:right}
.quote-estimate dt:last-of-type,.quote-estimate dd:last-of-type{margin-top:4px;padding-top:7px;border-top:1px solid var(--line);color:var(--gold);font-weight:700}
