
:root{--bg:#050403;--panel:#0d0a06;--panel2:#151006;--gold:#d9a94f;--gold2:#f3cf79;--text:#fff8ec;--muted:#dbc8a4;--line:rgba(217,169,79,.45);--dark:#030302}
*{box-sizing:border-box}html,body{margin:0;max-width:100%;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}body.intro-active{overflow:hidden}.gold{color:var(--gold2)}[hidden]{display:none!important}
/* intro */
.gateway-screen{position:fixed;inset:0;z-index:5000;height:100svh;background:#070403 url('assets/cinematic/door-start.png') center center/cover no-repeat;overflow:hidden}.gateway-screen:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,rgba(0,0,0,.05),rgba(0,0,0,.38) 56%,rgba(0,0,0,.76))}.gateway-brand-wrap{position:absolute;top:18svh;left:50%;transform:translateX(-50%);width:min(62vw,360px);text-align:center;z-index:2;text-shadow:0 4px 18px #000}.gateway-brand{font-family:Georgia,serif;font-size:clamp(24px,6vw,42px);font-weight:800;line-height:1;color:var(--gold2);white-space:nowrap}.gateway-tagline{margin-top:8px;color:#f0d493;font-size:clamp(7px,1.6vw,11px);font-weight:800;letter-spacing:1.5px;text-transform:uppercase;white-space:nowrap}.gateway-actions{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 9svh);transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:12px}.gateway-enter,.gateway-skip,.video-skip{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgba(240,198,106,.25)}.gateway-enter{width:170px;height:50px;border:1px solid rgba(255,235,166,.95);border-radius:14px;background:linear-gradient(135deg,#b57a28,#f4d178,#b57a28);color:#120c03;font-weight:900;letter-spacing:3px;box-shadow:0 12px 34px rgba(0,0,0,.55)}.gateway-skip{width:140px;height:36px;border:1px solid rgba(212,166,79,.55);border-radius:999px;background:rgba(0,0,0,.58);color:#e8c985;font-size:10px;font-weight:900;letter-spacing:1.8px}.video-screen{position:fixed;inset:0;z-index:4999;min-height:100svh;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden}.intro-video{display:block;width:100vw;height:100svh;object-fit:contain;background:#000;pointer-events:none}.video-skip{position:fixed;top:calc(env(safe-area-inset-top,0px) + 14px);right:14px;z-index:999999;min-width:145px;height:42px;border:1px solid rgba(212,166,79,.72);border-radius:999px;background:rgba(0,0,0,.72);color:var(--gold2);font-weight:900;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;backdrop-filter:blur(8px)}
/* site */
.site-header{position:sticky;top:0;z-index:1000;display:flex;align-items:center;gap:16px;min-height:82px;padding:14px 34px;background:rgba(5,5,4,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.logo{display:block;min-width:0;font-family:Georgia,serif;color:var(--gold2);font-size:30px;font-weight:800;line-height:.95;white-space:nowrap}.logo span{display:block;margin-top:8px;color:var(--gold);font-family:Arial,sans-serif;font-size:10px;font-weight:800;letter-spacing:1.8px;line-height:1.2}.desktop-nav{display:flex;align-items:center;gap:18px;margin-left:auto}.desktop-nav a{font-size:12px;letter-spacing:.9px;text-transform:uppercase;color:#fff}.desktop-nav .book{border:1px solid var(--gold);border-radius:9px;padding:12px 16px;color:var(--gold2)}.mobile-menu{display:none;margin-left:auto;position:relative}.mobile-menu summary{list-style:none;cursor:pointer;border:1px solid var(--gold);border-radius:10px;padding:13px 18px;color:var(--gold2);font-weight:900;letter-spacing:1px;white-space:nowrap}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-nav{position:absolute;right:0;top:58px;width:min(86vw,340px);background:rgba(5,5,4,.99);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 22px 65px rgba(0,0,0,.75)}.mobile-nav a{display:block;border:1px solid var(--line);border-radius:10px;padding:14px;margin:0 0 10px;text-align:center;text-transform:uppercase;font-size:13px;letter-spacing:.8px;background:#090806;color:#fff}.mobile-nav a:last-child{margin-bottom:0;color:var(--gold2)}
main{background:radial-gradient(circle at 85% 0,rgba(217,169,79,.12),transparent 35%),#070604}.wrap{max-width:1160px;margin:0 auto;padding:0 28px}.hero{padding:54px 0 32px}.hero-grid{display:grid;grid-template-columns:1fr .92fr;gap:34px;align-items:center}.eyebrow{color:var(--gold);font-size:12px;letter-spacing:3px;text-transform:uppercase;margin-bottom:14px}.hero h1,.section-title{font-family:Georgia,serif;font-size:clamp(42px,7vw,78px);line-height:.98;margin:0 0 20px;color:var(--text)}.hero p{font-size:20px;line-height:1.55;color:var(--muted);margin:0 0 24px}.hero-img{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#000;box-shadow:0 24px 70px rgba(0,0,0,.55)}.hero-img img{width:100%;aspect-ratio:16/10;object-fit:cover}.buttons{display:flex;gap:14px;flex-wrap:wrap;margin:22px 0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 22px;border:1px solid var(--gold);border-radius:11px;color:var(--gold2);font-weight:900;letter-spacing:1px;background:rgba(0,0,0,.18);text-align:center}.btn.primary{background:linear-gradient(135deg,#b57a28,#f4d178,#b57a28);color:#110b03;border-color:#f4d178}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0}.card,.price-card,.form-panel{border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(23,18,11,.82),rgba(5,5,4,.95));padding:22px}.card h3,.price-card h3{font-family:Georgia,serif;color:var(--gold2);font-size:26px;line-height:1.1;margin:0 0 10px}.card p,.price-card p{color:var(--muted);line-height:1.5;margin:0}.price{display:block;font-size:24px;color:var(--gold2);font-weight:900;margin-top:12px}.note{color:var(--muted);font-size:13px;line-height:1.45;margin-top:12px}.section{padding:42px 0}.section h2{font-family:Georgia,serif;font-size:clamp(34px,5.6vw,60px);line-height:1.05;margin:0 0 18px}.list{display:grid;gap:10px;margin:16px 0}.list div{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid rgba(217,169,79,.22);padding:12px 0;color:var(--muted)}.list b{color:var(--text)}.form-panel{margin-top:20px}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quote-form input,.quote-form select,.quote-form textarea{width:100%;min-height:52px;border:1px solid rgba(217,169,79,.36);border-radius:12px;background:#090705;color:#fff;padding:14px}.quote-form textarea{grid-column:1/-1;min-height:110px;resize:vertical}.quote-form button{grid-column:1/-1}.form-title{font-family:Georgia,serif;color:var(--gold2);font-size:30px;margin:0 0 14px}.hub{padding:60px 0}.hub h1{font-family:Georgia,serif;font-size:clamp(46px,9vw,88px);line-height:.98;margin:0 0 22px}.hub p{color:var(--muted);font-size:19px;line-height:1.55}.hub-cards{display:grid;grid-template-columns:1fr;gap:16px;margin-top:28px}.hub-card{display:block;border:1px solid var(--line);border-radius:18px;padding:24px;background:linear-gradient(180deg,rgba(23,18,11,.86),rgba(5,5,4,.94))}.hub-card span{display:block;font-family:Georgia,serif;color:var(--gold2);font-size:30px;font-weight:800}.hub-card small{display:block;color:var(--muted);font-size:16px;margin-top:8px}.footer{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:26px;padding:38px 34px;border-top:1px solid var(--line);background:#040403;color:var(--muted)}.footer b{color:var(--gold2)}.footer a{display:block;margin:9px 0;color:var(--muted)}
@media(max-width:860px){.desktop-nav{display:none}.mobile-menu{display:block}.site-header{min-height:76px;padding:12px 22px}.logo{font-size:25px;max-width:60vw;overflow:hidden}.logo span{font-size:8.5px;letter-spacing:1.1px}.hero-grid{grid-template-columns:1fr}.hero-img{order:-1;border-radius:16px}.hero{padding:32px 0 24px}.hero h1{font-size:clamp(42px,13vw,58px)}.hero p{font-size:17px}.cards{grid-template-columns:1fr}.quote-form{grid-template-columns:1fr}.section{padding:30px 0}.footer{grid-template-columns:1fr;padding:34px 24px}.gateway-brand-wrap{top:17svh;width:64vw}.gateway-brand{font-size:clamp(24px,6.2vw,30px)}.gateway-tagline{font-size:7px;letter-spacing:1.1px}.gateway-actions{bottom:calc(env(safe-area-inset-bottom,0px) + 8svh)}}

/* V18 booking fixes */
html,body{max-width:100%;overflow-x:hidden}.quote-form.enhanced{grid-template-columns:1fr 1fr}.quote-form.enhanced .tour-choice,.quote-form.enhanced .airport-choice,.quote-form.enhanced .wedding-choice,.quote-form.enhanced .group-choice{display:none}.quote-form.enhanced[data-service="Private Tours"] .tour-choice{display:block}.quote-form.enhanced[data-service="Airport Transfers"] .airport-choice{display:block}.quote-form.enhanced[data-service="Wedding TXE Hire"] .wedding-choice{display:block}.quote-form.enhanced[data-service="Groups & Events"] .group-choice{display:block}.quote-form.enhanced textarea{min-height:140px}.mini-select{margin-top:16px;width:100%;min-height:46px;border:1px solid var(--gold);border-radius:10px;background:rgba(0,0,0,.32);color:var(--gold2);font-weight:900;letter-spacing:.8px}.price-card.selected{outline:2px solid var(--gold2);box-shadow:0 0 0 4px rgba(217,169,79,.14)}.address-field{background-image:linear-gradient(90deg,transparent,transparent)}.submit-btn{font-size:18px}.full-form{scroll-margin-top:90px}.quote-form select option{background:#090705;color:#fff}.form-panel.full-form{margin-top:0}input[type="date"],input[type="time"]{color-scheme:dark}
@media(max-width:860px){.quote-form.enhanced{grid-template-columns:1fr}.hero-img img{max-height:240px}.section h2{font-size:clamp(30px,10vw,44px);word-break:normal}.price-card h3{font-size:28px}.price{font-size:23px}.quote-form input,.quote-form select,.quote-form textarea{font-size:16px}.buttons .btn{flex:1 1 140px}.mini-select{font-size:14px}.form-title{font-size:36px}}


/* V19: real mobile form + address autocomplete */
.quote-form.enhanced{overflow:visible!important;}
.address-autocomplete-wrap{position:relative;width:100%;min-width:0;display:block;}
.address-autocomplete-wrap input{width:100%;box-sizing:border-box;}
.address-suggestion-box{display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:9999;background:#fff;color:#111;border:1px solid #d7b46a;border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.45);max-height:260px;overflow:auto;padding:6px;}
.address-suggestion-box.open{display:block;}
.address-suggestion-item{display:block;width:100%;border:0;background:#fff;color:#111;text-align:left;padding:13px 14px;border-bottom:1px solid #eee;font:inherit;line-height:1.25;border-radius:10px;}
.address-suggestion-item strong{display:block;color:#111;font-weight:800;font-size:15px;}
.address-suggestion-item small{display:block;color:#555;font-size:13px;margin-top:3px;}
.address-suggestion-item:active,.address-suggestion-item:hover{background:#fff4df;}
.price-card .mini-select{display:block;width:100%;margin-top:16px;padding:14px;border-radius:14px;border:1px solid #d9a94f;background:linear-gradient(135deg,#c98b25,#ffe17b,#bf7f1c);color:#070503;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}
.price-card.selected{outline:2px solid #f2c76e;box-shadow:0 0 0 4px rgba(242,199,110,.18);}
.quote-form select{appearance:auto;-webkit-appearance:menulist;background:#050403!important;color:#fff!important;}
.quote-form option{background:#050403;color:#fff;}
@media(max-width:860px){
  .quote-form.enhanced{grid-template-columns:1fr!important;gap:14px!important;}
  .quote-form input,.quote-form select,.quote-form textarea{width:100%!important;min-height:58px;}
  .address-suggestion-box{position:absolute;max-height:230px;}
}


/* V20 form labels + no-email-app submit */
.field-label{display:block;width:100%;min-width:0;color:var(--gold2);font-weight:800;letter-spacing:.04em;}
.field-label span{display:block;margin:0 0 8px 4px;color:var(--gold2);font-size:14px;text-transform:uppercase;letter-spacing:.11em;}
.field-label input{width:100%;}
.hp-field,.submit-frame{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;}
.form-status{grid-column:1/-1;display:none;margin-top:10px;padding:14px 16px;border:1px solid rgba(217,169,79,.55);border-radius:14px;color:var(--gold2);background:rgba(217,169,79,.08);font-weight:800;line-height:1.4;}
.form-status.show{display:block;}
.quote-form.enhanced input[type="date"],.quote-form.enhanced input[type="time"]{color:#fff!important;min-height:58px;appearance:auto;-webkit-appearance:auto;}
@media(max-width:860px){.field-label span{font-size:13px;margin-bottom:9px}.quote-form.enhanced input[type="date"],.quote-form.enhanced input[type="time"]{font-size:18px!important;}}


/* V21 restored gallery on homepage + nav */
.gallery-intro{max-width:720px;margin:0 auto 22px;color:var(--muted);font-size:18px;line-height:1.5;text-align:center;}
.new-gallery-section{padding:52px 0;background:radial-gradient(circle at 50% 0,rgba(217,169,79,.10),transparent 44%),#070604;border-top:1px solid rgba(217,169,79,.18);border-bottom:1px solid rgba(217,169,79,.18);}
.new-gallery-section h2{font-family:Georgia,serif;font-size:clamp(34px,6vw,62px);line-height:1.05;text-align:center;color:var(--text);margin:0 0 12px;}
.new-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px;}
.new-gallery-card{margin:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:linear-gradient(180deg,rgba(23,18,11,.86),rgba(5,5,4,.96));box-shadow:0 18px 50px rgba(0,0,0,.35);}
.new-gallery-card img{width:100%;height:245px;object-fit:cover;display:block;}
.new-gallery-card figcaption{padding:14px 16px;color:var(--gold2);font-weight:900;text-align:center;letter-spacing:.03em;}
.gallery-actions{text-align:center;margin-top:24px;}
@media(max-width:860px){.new-gallery-section{padding:38px 0}.new-gallery-grid{grid-template-columns:1fr;gap:16px}.new-gallery-card img{height:230px}.gallery-intro{font-size:16px}.desktop-nav{gap:12px}.desktop-nav a{font-size:11px}.mobile-nav a{font-size:13px}}
