@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@1,600&display=swap');

:root{--black:#050505;--panel:#0d0d0c;--gold:#d6ad50;--gold-light:#f2d681;--gold-soft:#bca46b;--white:#fff3cd;--muted:#bcae88;--line:#302819}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--gold-light);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.6}
a{color:inherit}
.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(8,8,8,.93);backdrop-filter:blur(16px);z-index:10}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-weight:600;letter-spacing:.02em}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--gold);color:var(--gold);font-size:.86rem;letter-spacing:.08em;transform:rotate(45deg)}
.brand-mark::first-line{transform:rotate(-45deg)}
nav{display:flex;align-items:center;gap:32px}
nav a{text-decoration:none;color:var(--gold-soft);font-size:.92rem}
.nav-cta{border:1px solid var(--gold)!important;padding:10px 18px;color:var(--gold-light)!important}
.hero{min-height:calc(100vh - 84px);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:7vw;padding:8vw 6vw}
.eyebrow{text-transform:uppercase;color:var(--gold);font-size:.76rem;letter-spacing:.2em;font-weight:600;margin:0 0 22px}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(3.5rem,7vw,7.5rem);line-height:.92;letter-spacing:-.055em;margin-bottom:34px;max-width:900px}
h1 em{font-family:"Playfair Display",serif;color:var(--gold-light);font-weight:600}
.intro{font-size:clamp(1.05rem,1.5vw,1.3rem);color:var(--gold-soft);max-width:620px}
.hero-actions{display:flex;gap:12px;margin:34px 0}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:0 25px;text-decoration:none;border:none;font:600 .9rem "DM Sans";cursor:pointer;transition:.2s}
.primary{background:var(--gold);color:#0b0904}
.primary:hover{background:var(--gold-light);transform:translateY(-2px)}
.secondary{border:1px solid #39362e;color:var(--white)}
.secondary:hover{border-color:var(--gold)}
.trust-row{display:flex;gap:28px;color:var(--muted);font-size:.86rem}
.trust-row span::before{content:"";display:inline-block;width:5px;height:5px;background:var(--gold);transform:rotate(45deg);margin:0 10px 2px 0}
.logo-stage{position:relative;background:#050505;border:1px solid #27241e;padding:4vw 3vw 3vw;box-shadow:0 40px 90px rgba(0,0,0,.5)}
.logo-stage img{width:100%;display:block;aspect-ratio:3/2;object-fit:cover}
.logo-stage p{text-align:center;color:var(--gold);text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;margin:22px 0 0}
.gold-line{position:absolute;left:-1px;top:-1px;width:35%;height:3px;background:var(--gold)}
.services,.fleet,.booking-section,.quote-section,.policies{padding:110px 6vw;border-top:1px solid var(--line)}
.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}
h2{font-size:clamp(2.5rem,4vw,4.6rem);line-height:1.05;letter-spacing:-.045em;max-width:720px;margin-bottom:0}
.service-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.service-grid article{padding:45px 5vw 20px 0}
.service-grid article+article{border-left:1px solid var(--line);padding-left:5vw}
.number{color:var(--gold);font-size:.78rem;letter-spacing:.15em}
h3{font-size:1.45rem;margin:22px 0 10px}
.service-grid p,.vehicle-options p,.quote-intro>p{color:var(--gold-soft);max-width:520px}
.fleet{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:#0c0c0b}
.vehicle-options article{display:flex;gap:28px;padding:34px 0;border-top:1px solid var(--line)}
.vehicle-options article:last-child{border-bottom:1px solid var(--line)}
.vehicle-icon{flex:none;width:78px;height:78px;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold-light);font:600 1.4rem "Playfair Display"}
.vehicle-options h3{margin:0 0 5px}
.vehicle-options p{margin-bottom:0}
.booking-section{background:#080807}
.booking-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.booking-grid article{padding:38px 3vw 10px 0}
.booking-grid article+article{border-left:1px solid var(--line);padding-left:3vw}
.booking-grid p{color:var(--gold-soft);margin-bottom:0}
.quote-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:linear-gradient(135deg,#11100d,#080808)}
.quote-intro{position:sticky;top:130px;align-self:start}
.quote-intro a{color:var(--gold-light);overflow-wrap:anywhere}
form{display:grid;gap:20px;background:#111;padding:40px;border:1px solid #2d2920}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{display:grid;gap:8px;font-size:.88rem;color:var(--gold-light)}
label span{color:var(--muted)}
input,select,textarea{width:100%;background:#060606;color:var(--gold-light);border:1px solid #514425;padding:14px 15px;font:inherit;border-radius:0}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:transparent}
textarea{resize:vertical}
.consent{display:flex;grid-template-columns:auto 1fr;align-items:start;gap:12px;color:var(--muted)}
.consent input{width:18px;height:18px;margin-top:3px;accent-color:var(--gold)}
.consent a{color:var(--gold-light)}
.submit{width:100%}
.submit:disabled{cursor:wait;opacity:.65;transform:none}
.form-note,.status{font-size:.8rem;color:var(--muted);margin:0}
.status{color:var(--gold-light)}
.status.success{color:#bfe3a4}
.status.error{color:#ffb0a7}
.website-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.policies{display:grid;gap:14px}
.policies details{border:1px solid var(--line);background:#0b0b0a}
.policies summary{cursor:pointer;list-style:none;padding:24px 28px;font-size:1.1rem;font-weight:600;color:var(--gold-light);display:flex;justify-content:space-between;align-items:center}
.policies summary::-webkit-details-marker{display:none}
.policies summary::after{content:"+";font-size:1.5rem;color:var(--gold)}
.policies details[open] summary::after{content:"−"}
.policy-copy{padding:0 28px 30px;max-width:920px;color:var(--gold-soft)}
.policy-copy h3{color:var(--gold-light);font-size:1rem;margin:26px 0 6px}
.policy-copy p{margin-bottom:12px}
.policy-copy a{color:var(--gold-light)}
footer{padding:60px 6vw;border-top:1px solid var(--line);display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px;align-items:center;color:var(--muted)}
footer .brand{color:var(--gold-light)}
footer a{color:var(--gold-light);overflow-wrap:anywhere}
.footer-links{display:grid;gap:5px}
.copyright{grid-column:1/-1;border-top:1px solid var(--line);padding-top:24px;margin:15px 0 0;font-size:.8rem}
@media(max-width:850px){
  .site-header{height:72px}.site-header .brand>span:last-child{display:none}nav>a:not(.nav-cta){display:none}
  .hero{grid-template-columns:1fr;padding:70px 6vw}.logo-stage{max-width:620px}.trust-row{flex-wrap:wrap;gap:10px 20px}
  .fleet,.quote-section{grid-template-columns:1fr}.quote-intro{position:static}.booking-grid{grid-template-columns:1fr}
  .booking-grid article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}
  footer{grid-template-columns:1fr}
}
@media(max-width:560px){
  h1{font-size:3.25rem}.services,.fleet,.booking-section,.quote-section,.policies{padding:78px 5vw}.hero{padding-left:5vw;padding-right:5vw}
  .service-grid,.field-row{grid-template-columns:1fr}.service-grid article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}
  form{padding:24px}.hero-actions{flex-direction:column}.button{width:100%}.logo-stage{padding:18px}
  .vehicle-options article{gap:18px}.vehicle-icon{width:60px;height:60px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
