:root{--navy:#0b1b2b;--gold:#c9a55a;--cream:#f4f0e7;--paper:#fbfaf7;--muted:#66717a;--line:#d9d5ca}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--navy);font-family:"DM Sans",sans-serif}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}header{height:88px;padding:0 5vw;display:flex;align-items:center;gap:38px;position:fixed;inset:0 0 auto;z-index:30;color:white;background:linear-gradient(rgba(7,19,30,.7),transparent)}header.scrolled{height:74px;background:rgba(11,27,43,.96)}.logo{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.14em}.logo span{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--gold);border-radius:50%;font:italic 700 25px Playfair Display;color:var(--gold)}.logo small{display:block;font-size:9px;letter-spacing:.45em;color:var(--gold)}nav{display:flex;gap:25px;margin-left:auto}.top-cta{border:1px solid #fff;padding:11px 19px}.menu{display:none;background:0;border:0;color:#fff;font-size:25px}.hero{min-height:820px;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}.hero-media{position:absolute;inset:0;background:url('london-hero.webp') center/cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,18,29,.88),rgba(5,18,29,.28) 68%)}.hero-content{position:relative;width:min(800px,86%);margin-left:8vw}.kicker{font-size:11px;letter-spacing:.22em;font-weight:700;color:var(--gold)}h1,h2,h3{font-family:"Playfair Display",serif}.hero h1{font-size:clamp(64px,8vw,112px);line-height:.89;margin:18px 0 32px}.hero h1 em,.intro h2 em{color:#e1c989}.hero-content>p:not(.kicker){font-size:19px;line-height:1.7;max-width:620px}.actions{display:flex;gap:13px;margin-top:34px}.button{border:0;padding:15px 24px;font-weight:700;cursor:pointer}.gold{background:var(--gold);color:var(--navy)}.glass{background:#ffffff1a;border:1px solid #ffffff73;color:#fff}.dark{background:var(--navy);color:#fff}.booking-bar{position:relative;z-index:5;width:min(1180px,92%);margin:-42px auto 80px;background:#fff;box-shadow:0 25px 70px #0a1b2b24;padding:22px;display:grid;grid-template-columns:1.5fr repeat(3,1fr) auto;gap:1px}.booking-bar>div{padding:6px 15px;border-right:1px solid var(--line)}label{font-size:10px;letter-spacing:.12em;font-weight:700;color:var(--muted)}input,select,textarea{width:100%;border:0;background:transparent;color:var(--navy);outline:0;padding:9px 0}.booking-bar button{border:0;background:var(--navy);color:#fff;padding:0 25px}.booking-bar>p{grid-column:1/-1;color:var(--gold)}.section{padding:95px max(7vw,24px)}.intro{text-align:center;max-width:1000px;margin:auto}.intro h2,.reasons h2,.contact h2{font-size:clamp(48px,6vw,76px)}.pillars{max-width:1400px;margin:auto}.pillar{display:grid;grid-template-columns:1.1fr 80px .9fr;align-items:center;margin:30px 0 110px}.pillar.reverse{grid-template-columns:.9fr 80px 1.1fr}.pillar.reverse .image{grid-column:3}.pillar.reverse .number{grid-column:2;grid-row:1}.pillar.reverse .copy{grid-column:1;grid-row:1}.pillar .image{height:520px;background-size:cover;background-position:center}.image.hotel{background-image:url('luxury-hotel.jpg')}.image.stonehenge{background-image:url('stonehenge.webp')}.image.coach{background-image:url('executive-coach.webp')}.number{font:italic 52px Playfair Display;color:var(--gold);text-align:center}.copy{padding:45px}.copy h3{font-size:45px}.copy p:not(.kicker),.intro>p:last-child{color:var(--muted);line-height:1.8}.text-button,.partner-book{border:0;background:none;color:var(--gold);font-weight:700;cursor:pointer;padding:0}.featured{display:grid;grid-template-columns:1.15fr .85fr;min-height:720px;background:var(--navy);color:#fff}.featured-image{background:url('stonehenge.webp') center/cover}.featured-copy{padding:90px 8vw}.featured-copy h2{font-size:72px}.featured-copy li{padding:11px 0}.price b{font:700 52px Playfair Display;color:var(--gold)}.primary-book{display:block;width:100%;font-size:17px}.partner-book{margin-top:18px}.reasons{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.reason-grid{display:grid;grid-template-columns:1fr 1fr}.reason-grid article{padding:34px;border:1px solid var(--line)}.contact{text-align:center;background:var(--cream)}footer{background:#07131e;color:#fff;padding:55px 7vw;display:grid;grid-template-columns:1fr auto;gap:22px}dialog{border:0;padding:42px;width:min(650px,92%);box-shadow:0 35px 100px #0006}dialog::backdrop{background:#051019c7}.close{float:right;border:0;background:none;font-size:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}dialog input,dialog textarea,dialog select{border:1px solid var(--line);padding:13px;margin-top:7px}.reveal{opacity:0;transform:translateY(22px);transition:.75s}.reveal.visible{opacity:1;transform:none}
#bookingModal{width:min(760px,96%);max-height:94vh;padding:0;overflow:hidden}.booking-close{position:absolute;right:16px;top:14px;color:#fff;z-index:2}.booking-head{background:linear-gradient(110deg,#0b1b2b,#17465b);color:#fff;padding:26px 65px 23px 30px;border-bottom:4px solid var(--gold)}.booking-head h2{font-size:35px;margin:5px 0}.booking-head p:last-child{margin:0;color:#cfdae0}.booking-body{padding:28px 30px;max-height:calc(94vh - 205px);overflow:auto}.booking-step{display:none}.booking-step.active{display:block}.booking-step h3{font-size:31px;margin:0 0 18px}.booking-step>label{display:block;border:1px solid var(--line);padding:8px 12px;margin-top:10px}.tour-summary{background:var(--cream);border-left:4px solid var(--gold);padding:17px;display:flex;flex-direction:column}.tour-summary b{font:700 21px Playfair Display}.tour-summary strong{margin-top:10px}.pickup{background:#edf3f3;border-left:4px solid var(--navy);padding:15px;margin:9px 0;display:flex;flex-direction:column}.pickup small{color:var(--muted);margin-top:7px}.seat-legend{display:flex;justify-content:center;gap:15px;font-size:12px;margin:15px}.gold-key{color:#9b772d}.taken-key{color:#aeb7bc}.coach-map{max-width:420px;margin:auto;border:3px solid #bcc6ca;border-radius:50px 50px 25px 25px;padding:24px 18px;background:#fff}.coach-map>b{display:block;text-align:center;font-size:10px;color:var(--muted);margin-bottom:20px}#seatGrid{display:grid;grid-template-columns:1fr 1fr 28px 1fr 1fr;gap:7px}.seat{height:38px;border:1px solid #8fa0a8;border-radius:7px;background:#fff}.seat.selected{background:var(--gold)}.seat.taken{background:#d8dddf;color:#999;border-color:#d8dddf}#seatGrid span{text-align:center;color:#aaa;padding-top:10px}.ready{text-align:center;padding:25px}.ready>span{display:grid;place-items:center;background:var(--gold);width:64px;height:64px;border-radius:50%;margin:auto;font-size:28px}.booking-actions{display:flex;gap:10px;justify-content:flex-end;padding:14px 30px;background:#fff;border-top:1px solid var(--line)}.booking-actions button{min-height:52px;padding:0 24px;font-weight:700}.booking-actions #bookingNext{background:var(--gold);border:0;min-width:210px}.booking-actions #bookingNext:disabled{opacity:.45}#toast{position:fixed;right:20px;bottom:20px;background:var(--navy);color:#fff;padding:14px 18px;opacity:0;z-index:100}#toast.show{opacity:1}
@media(max-width:850px){header{height:74px;padding:0 20px}header nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--navy);padding:25px;flex-direction:column}header nav.open{display:flex}.menu{display:block;margin-left:auto}.top-cta{display:none}.hero{min-height:750px}.hero-content{margin:auto}.hero h1{font-size:60px}.booking-bar{grid-template-columns:1fr;margin-top:-25px}.booking-bar>div{border-bottom:1px solid var(--line)}.booking-bar button{padding:16px}.pillar,.pillar.reverse{grid-template-columns:1fr}.pillar .image,.pillar.reverse .image{grid-column:1;grid-row:1;height:380px}.pillar .number,.pillar.reverse .number{display:none}.pillar .copy,.pillar.reverse .copy{grid-column:1;grid-row:2;padding:32px 5px}.featured{grid-template-columns:1fr}.featured-image{min-height:430px}.featured-copy{padding:65px 25px}.reasons{grid-template-columns:1fr}.reason-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}#bookingModal{width:100%;height:100dvh;max-height:100dvh;margin:0}.booking-head{padding:23px 58px 18px 20px}.booking-body{padding:20px 16px;max-height:calc(100dvh - 220px);padding-bottom:95px}.booking-actions{position:absolute;left:0;right:0;bottom:0;padding:12px 16px max(12px,env(safe-area-inset-bottom));box-shadow:0 -8px 25px #0b1b2b1f}.booking-actions #bookingNext{min-width:0;flex:1;font-size:16px}.booking-actions button{min-height:56px}.seat{height:41px}}
