/* The St James Key — private preview. Plain CSS, mobile-first. */

:root{
  --white:#FFFFFF; --cream:#F3ECDF; --navy:#111A2C; --ink:#1B1B1F; --grey:#6B6B72;
  --line:#E4D9C4; --brass:#B8965A; --brass-text:#886830; --brass-on-navy:#D4B276; --on-navy:#F5EEE1;
  --grey-on-ivory:#6B6458; --brass-line-on-ivory:#C9AE7C;
  --navy-glow:radial-gradient(ellipse at 50% 0%,#24304A 0%,#111A2C 70%);
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:Inter,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --script:'Pinyon Script','Cormorant Garamond',Georgia,serif;
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}/* T-014 supplies its own eased frames; browser smoothing must not compete with them. */


body[data-page="home"]{scroll-snap-type:none}
body{background:var(--white);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.7;font-size:16px;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.1;color:var(--ink)}
section{padding:72px 20px;scroll-margin-top:72px}
.wrap{max-width:1120px;margin:0 auto}
.narrow{max-width:720px;margin:0 auto}
.center{text-align:center}
h2.sec{font-size:clamp(36px,5vw,52px);font-weight:400;text-align:center;margin-bottom:18px}
.eyebrow{font:400 11px var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--grey);text-align:center;margin-bottom:14px}
.cream{background:var(--cream)}/* Placeholders to be confirmed: subtle brass */



.ph{color:var(--brass-text);font-weight:400}
.band .ph,.hero .ph{color:var(--brass-on-navy)}
.ph-note{display:block;color:var(--brass-text);font-size:13px;margin-top:18px}
.band .ph-note{color:var(--brass-on-navy)}/* Buttons */



.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;background:var(--navy);color:var(--on-navy);border:1px solid var(--navy);border-radius:999px;padding:12px 26px;font:500 14px var(--sans);letter-spacing:.02em;cursor:pointer;text-decoration:none;transition:background .2s,color .2s}
.btn:hover{background:#1C2B4E}
.btn.ghost{background:transparent;color:var(--navy)}
.btn.ghost:hover{background:var(--navy);color:#fff}
.btn.light{background:#fff;color:var(--navy);border-color:#fff}
.btn.light:hover{background:var(--cream)}
.btn.ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.btn.ghost-light:hover{background:rgba(255,255,255,.14)}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}/* Header */



.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;max-width:1280px;margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{height:40px;width:auto}
.nav{display:none;gap:30px;font-size:14px;font-weight:400}
.nav a{text-decoration:none;color:var(--ink);padding:6px 0;border-bottom:1px solid transparent}
.nav a:hover{border-color:var(--brass)}
.head-cta{display:none}
.menu-btn{background:none;border:1px solid var(--line);border-radius:999px;padding:9px 18px;min-height:44px;font:400 14px var(--sans);color:var(--ink);cursor:pointer}
.mobile-nav{display:none;flex-direction:column;border-top:1px solid var(--line);padding:8px 20px 20px;background:#fff}
.mobile-nav.open{display:flex}
.mobile-nav a{padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:16px}
.mobile-nav .btn{margin-top:16px;border-bottom:1px solid var(--navy)}/* Hero: a lit Georgian door. Static by default (door closed and lit, all content visible).
   Animation rules sit under .hero-anim, which the page only switches on when motion is allowed and script.js is running. */



:root{--hh:65px}
.hero{position:relative;color:#fff;text-align:center}
.hero-stage{position:relative;overflow:hidden;min-height:calc(100vh - var(--hh));min-height:calc(100svh - var(--hh));display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 20px 24px;background:var(--navy)}
.hero-bg{position:absolute;inset:0;background:var(--navy)}
.hero-flood{display:none}
.hero-wash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:2}/* Portrait S-Class scene on phones; wide Range Rover house on computers.
   Each open photograph has its registered closed leaf over the opening; the
   corresponding closed photograph is the static fallback. --sh is scene height. */


.door-zoom{position:relative;z-index:1;flex:none;--sh:clamp(220px,calc(100svh - var(--hh) - 450px),600px);height:var(--sh);aspect-ratio:2/3;margin-bottom:calc(var(--sh)*-.07);transform-origin:var(--ox) var(--oy);--ox:49.95%;--oy:45.93%;--lx:37.695%;--ly:30.013%;--lw:24.512%;--lh:31.836%}
.door-rise{position:absolute;inset:0}
.scene{position:absolute;inset:0}
.scene img{position:absolute;left:0;top:0;width:100%;height:100%;display:block;max-width:none}
.scene-open,.leaf-box{display:none}
.intro-night,.intro-glow{display:none}
.vignette{position:absolute;inset:-1px;pointer-events:none;background:linear-gradient(90deg,var(--navy) 0,rgba(17,26,44,0) 15%,rgba(17,26,44,0) 85%,var(--navy) 100%),linear-gradient(180deg,var(--navy) 0,rgba(17,26,44,0) 6%,rgba(17,26,44,0) 90%,var(--navy) 100%)}
.leaf-box{position:absolute;left:var(--lx);top:var(--ly);width:var(--lw);height:var(--lh);perspective:calc(var(--sh)*.9);perspective-origin:50% 50%}
.leaf{position:absolute;inset:0;transform-origin:0 50%;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.leaf img{position:absolute;inset:0;width:100%;height:100%}
.leaf-shade{position:absolute;inset:0;background:#050913;opacity:0;pointer-events:none}
.hero-copy{position:relative;z-index:3;width:100%;display:flex;justify-content:center}
.copy-in{display:flex;flex-direction:column;align-items:center;width:100%}
.hero-copy.gone{visibility:hidden}
.hero-kicker{font-size:14px;line-height:1.5;margin-bottom:12px}
.hero h1{color:#fff;font-size:36px;margin-bottom:12px}
.hero .lead{max-width:580px;margin:0 auto 18px;opacity:.9;font-size:15px;line-height:1.55}
.quote{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);border-radius:16px;padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;max-width:920px;width:100%;text-align:left}
.quote label{display:block;font-size:12px;font-weight:500;letter-spacing:.04em;margin-bottom:2px}
.quote input{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.6);color:#fff;font:300 16px var(--sans);padding:4px 0;min-height:40px;border-radius:0;color-scheme:dark}
.quote input::placeholder{color:rgba(255,255,255,.65)}
.quote input:focus{outline:none;border-bottom-color:#fff}
.quote .btn{align-self:end}
.hero-link{margin-top:16px;font-size:14px;display:flex;flex-direction:column;gap:12px}
@media(min-width:768px){.hero-link{flex-direction:row;justify-content:center;gap:28px}}
.hero-link a{color:#fff;opacity:.9}
.scroll-hint,.phone-intro{display:none}/* "You have arrived": the brand name after the door. Static block after the hero by default. */



.hero-enter{background:#fff;color:var(--navy);padding:48px 20px 8px;text-align:center}
.enter-name{font:500 clamp(46px,11vw,92px)/1 var(--serif);color:var(--navy);letter-spacing:.01em}
/* Opening statement */



.statement{padding:110px 20px 100px}
.statement h2{font-size:clamp(36px,6.5vw,64px);font-weight:500;line-height:1.15;margin-bottom:34px}
.statement p{max-width:600px;margin:0 auto;color:var(--grey);font-size:15px}/* Services */
/* T-032: a quiet real night map, with the local drawing as its fallback. */


.service-arrivals{grid-column:1/-1;display:grid;gap:24px;align-items:center;min-width:0}
.arrivals-illustration{width:100%;max-width:420px;margin:0;overflow:hidden;border:1px solid rgba(212,178,118,.25);border-radius:8px;background:var(--navy)}
.arrivals-illustration{position:relative}
.arrivals-illustration .arrivals-vector{position:absolute;inset:0;visibility:hidden;pointer-events:none;touch-action:pan-y}
.has-real-map .arrivals-vector{visibility:visible}
.has-real-map>.arrivals-map{visibility:hidden}
.arrivals-live-car{width:12px;height:12px;pointer-events:none}
.arrivals-car-visual{width:9px;height:9px;margin:1.5px;background:#FFF2D6;box-shadow:0 0 4px #FFF2D6,0 0 12px rgba(212,178,118,.6),0 0 calc(var(--arrival-pulse,0)*20px) rgba(212,178,118,.3);border-radius:50%}
.arrivals-live-car svg{display:block;width:100%;height:100%}
.arrivals-airport-tag{position:absolute;z-index:3;pointer-events:none;padding:3px 5px;background:rgba(17,26,44,.85);color:#F5EEE1;font:400 8px/1.2 var(--sans);letter-spacing:.04em;white-space:nowrap}
.arrivals-attribution{display:none;position:absolute;z-index:4;left:6px;right:4px;bottom:4px;margin:0!important;font:400 7px/1.2 var(--sans)!important;color:#F5EEE1!important}
.has-real-map>.arrivals-attribution{display:block}
.arrivals-attribution a{color:inherit;text-decoration:none}
.arrivals-attribution a:hover{text-decoration:underline}
.arrivals-map{display:block;width:100%;height:300px}
.arrivals-park{fill:#F5EEE1;fill-opacity:.045;stroke:#F5EEE1;stroke-opacity:.1;stroke-width:.7}
.arrivals-streets{fill:none;stroke:#F5EEE1;stroke-opacity:.06;stroke-width:.7}
.arrivals-river{fill:none;stroke:#F5EEE1;stroke-opacity:.13;stroke-width:4}
.arrivals-route{fill:none;stroke:#D4B276;stroke-opacity:.16;stroke-width:1;stroke-linecap:round}
.arrivals-trails path{fill:none;stroke:#D4B276;stroke-width:1.6;stroke-linecap:round}
.arrivals-pin{fill:#D4B276;opacity:.65}
.arrivals-pulse{fill:none;stroke:#D4B276;stroke-width:1}
.arrivals-label{fill:#F5EEE1;fill-opacity:.85;font:400 10px var(--sans);letter-spacing:.055em}
.arrivals-static-car{display:none}
.arrivals-map.is-still .arrivals-static-car{display:inline}
.arrivals-map.is-still .arrivals-car,.arrivals-map.is-still .arrivals-trails,.arrivals-map.is-still .arrivals-pulse{display:none}
.arrivals-map.is-still .arrivals-route{stroke-opacity:.3}
@media(min-width:900px){.service-arrivals{grid-template-columns:minmax(0,1fr) 420px;gap:40px}}
@media(max-width:599px){.arrivals-illustration{max-width:none}.arrivals-map{height:220px}}/* Privacy band */
/* T-034: static photographs remain usable until all animated layers decode. */




.car-detail-page main{padding-top:var(--hh)}
.door-story{padding:0;background:var(--navy);color:var(--on-navy)}
.car-door-stage{position:relative}
.car-door-stage img{display:block;width:100%;height:auto}
.car-door-heading{position:absolute;top:28px;left:clamp(20px,6vw,100px);right:20px;z-index:5}
.car-door-heading h1{font-size:clamp(27px,3.6vw,52px);font-weight:400;line-height:1.1;margin:14px 0;color:var(--on-navy)}
.car-back{color:var(--on-navy);font:400 11px var(--sans);text-decoration:none}
.car-door-play{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;color:var(--on-navy);cursor:pointer;z-index:4}
.car-door-play span{position:absolute;bottom:28px;left:20px;right:20px;font:400 10px var(--sans);letter-spacing:.05em;text-align:center}
.car-door-play:focus-visible{outline:2px solid var(--brass);outline-offset:-6px}
.door-story.is-animated{height:250vh;height:250svh}
.is-animated .car-door-stage{position:sticky;top:var(--hh);height:calc(100vh - var(--hh));height:calc(100svh - var(--hh));overflow:hidden}
.is-animated .car-door-exterior,.is-animated .car-door-closed,.is-animated .car-door-open,.is-animated .car-door-interior{position:absolute;inset:0}
.is-animated .car-door-exterior{transform-origin:36% 55%;will-change:transform}
.is-animated .car-door-closed,.is-animated .car-door-open{display:grid;place-items:center}
.is-animated .car-door-exterior img{mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent)}
.is-animated .car-door-open,.is-animated .car-door-interior{opacity:0;will-change:opacity}
.is-animated .car-door-interior img{height:100%;object-fit:cover;object-position:58% center}
.is-animated .car-door-stage picture{display:block;width:100%}
.is-animated .car-door-interior picture{height:100%}
.car-cabin-section{padding:0 0 70px}
.car-cabin-photo{margin:0;background:var(--navy)}
.car-cabin-photo img{display:block;width:100%;height:auto}
@media(max-width:599px){.car-door-heading{top:20px}.is-animated .car-door-interior img{object-position:66% center}}
.band{background:var(--navy-glow);color:var(--on-navy);text-align:center}
.band h2{color:var(--on-navy);font-size:clamp(36px,5vw,50px);font-weight:400;margin-bottom:40px}
.band ul{list-style:none;display:grid;gap:22px;max-width:1000px;margin:0 auto;font-size:15px}
.band li{border-top:1px solid rgba(200,169,106,.5);padding-top:14px;opacity:.95}/* Advisors */



.trust-row{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 24px;margin:24px 0 30px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:400 11px/1.7 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--grey);text-align:center}
.trust-row li{max-width:100%}
.cancellation-terms{margin-top:24px;color:var(--grey);font-size:14px;line-height:1.65;text-align:center}
.advisor-quote{font-family:var(--serif);font-size:clamp(24px,3.4vw,32px);line-height:1.35;text-align:center;max-width:760px;margin:30px auto 0;color:var(--ink)}
.points{display:grid;gap:26px;margin-top:52px}
.points > div{border-top:1px solid var(--line);padding-top:18px;font-size:15px;color:#4b4b52}
.points strong{display:block;font:500 15px var(--sans);color:var(--ink);margin-bottom:6px}
.points a{color:var(--navy);font-weight:400;text-underline-offset:4px;text-decoration-color:var(--brass)}/* Fleet */



.cards{display:grid;gap:22px;margin:44px auto 0;max-width:680px}
.card{background:#fff;border-radius:16px;padding:8px;box-shadow:0 1px 0 var(--line);display:flex;flex-direction:column}
.car{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:16/9;touch-action:pan-y;background:#eee}
.slides{display:flex;height:100%;transition:transform .45s ease}
.slide{min-width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#3a3a40;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.slide.photo{padding:0}
/* T-084: full portrait over a soft copy; boot captions clear of controls. */
.seven-series-interior{position:relative;isolation:isolate;overflow:hidden}
.seven-series-interior::before{content:"";position:absolute;inset:-14px;z-index:-1;background:url("assets/7-series-interior-667.jpg") center/cover no-repeat;filter:blur(12px) brightness(.48)}
.car:is(:has(.slides>.luggage-slide:nth-child(2)):has(.dots>button:nth-child(2).on),:has(.slides>.luggage-slide:nth-child(3)):has(.dots>button:nth-child(3).on),:has(.slides>.luggage-slide:nth-child(4)):has(.dots>button:nth-child(4).on)) .dots{top:12px;bottom:auto}
.car:is(:has(.slides>.luggage-slide:nth-child(2)):has(.dots>button:nth-child(2).on),:has(.slides>.luggage-slide:nth-child(3)):has(.dots>button:nth-child(3).on),:has(.slides>.luggage-slide:nth-child(4)):has(.dots>button:nth-child(4).on)) .arrow{top:50%;bottom:auto;transform:translateY(-50%)}
.slide.photo img{width:100%;height:100%;object-fit:cover}
.car[data-car="sClass"] .slide[data-photo="interior"]{background:var(--navy)}
.car[data-car="sClass"] .slide[data-photo="interior"] img{object-fit:cover;object-position:65% 65%}
.car[data-car="sClass"] .slide[data-photo="interior"] img[data-fleet-photo-index="1"]{object-position:50% 30%}
.slide.s2{background:linear-gradient(160deg,#e9e2d4,#c9bba1)}
.slide.s3{background:linear-gradient(160deg,#eceae6,#cfccc6)}
.slide svg{width:56%;height:auto;margin-bottom:8px;opacity:.85}
.slide small{display:block;margin-top:4px;font-size:10px;letter-spacing:.06em;text-transform:none;color:#6a6a70}
.arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:none;background:rgba(255,255,255,.88);cursor:pointer;font-size:20px;line-height:1;color:var(--ink);display:flex;align-items:center;justify-content:center}
.arrow:hover{background:#fff}
.arrow.l{left:8px}.arrow.r{right:8px}
.dots{position:absolute;bottom:10px;left:0;right:0;display:flex;gap:7px;justify-content:center}
.dots b{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.75);box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.dots b.on{background:var(--navy)}
.card h3{font-weight:600;font-size:30px;margin:20px 16px 6px}
.card .line{color:var(--grey);font-size:16px;margin:0 16px 6px}
.card .cap{color:var(--ink);font-size:14.5px;margin:0 16px 16px}
.prices{list-style:none;margin:auto 16px 12px;font-size:15px}
.prices li{padding:10px 0;border-top:1px solid var(--line)}
.prices .lbl{display:block;font-size:13.5px;color:var(--grey);line-height:1.4}
.prices .pr{display:block;font-size:17px;color:var(--ink);font-weight:400}
.usd{color:var(--grey);font-size:13.5px;font-weight:300}
.price-detail{display:block;color:var(--grey);font:400 11px/1.5 var(--sans);margin-top:4px;white-space:nowrap}
.rc table{min-width:760px;table-layout:fixed}
.rc th:first-child,.rc td:first-child{width:30%}
.rc td .price-detail{font-size:11px;white-space:normal}
@media(max-width:599px){.rc th:first-child,.rc td:first-child{width:160px}}
.prices .pr{font-variant-numeric:tabular-nums}
.fleet-note{text-align:center;color:var(--grey);font-size:13px;margin-top:28px}
.price-request{margin:20px 16px;color:var(--grey);font-size:15px}/* Steps */



.steps{list-style:none;display:grid;gap:30px;margin-top:48px;counter-reset:s}
.steps li{counter-increment:s;border-top:1px solid var(--line);padding-top:18px;font-size:15px;color:#4b4b52}
.steps li::before{content:counter(s);display:block;font:500 34px var(--serif);color:var(--brass);margin-bottom:6px}
.steps strong{display:block;font:500 16px var(--sans);color:var(--ink);margin-bottom:6px}/* About */



.about{display:grid;gap:36px;align-items:center;max-width:960px;margin:0 auto}
.about:not(.has-portrait){display:block;max-width:720px}
.portrait{aspect-ratio:4/5;border-radius:16px;background:linear-gradient(160deg,#f1efe9,#d9d5cc);display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;font-size:12px;letter-spacing:.06em;color:#6a6a70;max-width:360px;width:100%;margin:0 auto}
.portrait:has(img){padding:0;overflow:hidden}
.portrait img{width:100%;height:100%;object-fit:cover}
.about h2{font-size:clamp(32px,4.5vw,42px);margin-bottom:18px}
.about p{color:#3d3d44;font-size:17px}/* Form */



fieldset{border:0;margin:0 0 30px}
legend{font:500 12px var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--navy);padding-bottom:14px;border-bottom:1px solid var(--line);width:100%;margin-bottom:18px}
.fields{display:grid;gap:16px}
.field label,.field .lab{display:block;font-size:13px;font-weight:400;margin-bottom:5px}
.field input,.field select,.field textarea{width:100%;font:300 16px var(--sans);color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;min-height:48px;appearance:none;-webkit-appearance:none}
.field select{background-image:linear-gradient(45deg,transparent 50%,var(--grey) 50%),linear-gradient(135deg,var(--grey) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--navy)}
.opt{color:var(--grey);font-weight:300}
.checks{display:grid;gap:4px}
.checks label{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:300;min-height:44px;margin:0;cursor:pointer}
.checks input{width:20px;height:20px;min-height:0;padding:0;accent-color:var(--navy);flex:none}
.form-foot{text-align:center;margin-top:8px}
.form-foot p{font-size:13px;color:var(--grey);margin-top:14px}
.form-msg{display:none;margin-top:18px;padding:14px 18px;border:1px solid var(--brass);background:#FFF9EC;border-radius:10px;font-size:15px;color:var(--ink);text-align:center}
.form-msg.show{display:block}
.btn:disabled{cursor:wait;opacity:.65}
.privacy-draft{display:block;color:var(--brass-text);font-weight:400;margin-bottom:18px}
.privacy-copy h2{margin:32px 0 12px;font-size:30px}
.privacy-copy p{margin-bottom:20px}
.privacy-copy a{color:var(--navy);text-underline-offset:3px}
.alongside{text-align:center;margin-top:36px;padding-top:26px;border-top:1px solid var(--line);font-size:15px;color:#4b4b52}
.alongside span{display:inline-block;margin:0 12px}/* Footer */



footer{padding:56px 20px;text-align:center;border-top:1px solid var(--line)}
footer img{width:150px;margin:0 auto 14px}
footer .fn{font:500 22px var(--serif);color:var(--navy)}
footer .legal{font-size:12px;color:var(--grey);max-width:640px;margin:18px auto 0}
footer .links{margin-top:22px;font-size:13px;color:var(--grey)}
footer .links a{margin:0 10px;text-decoration:none}
footer .links a:hover{text-decoration:underline}/* Rate card page */



.rc-head{text-align:center;padding:48px 20px 24px}
.rc-head img{width:150px;margin:0 auto 24px}
.rc-head h1{font-size:clamp(34px,6vw,52px);margin-bottom:14px}
.rc-head .note{font-size:15px;color:var(--grey);max-width:600px;margin:0 auto}
.stamp{display:inline-block;margin-top:18px;border:1px solid var(--brass);color:var(--brass-text);border-radius:999px;padding:6px 18px;font-size:13px;font-weight:400}
.rc h2{font-size:28px;margin:44px 0 14px}
.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{padding:12px 6px;text-align:right;border-bottom:1px solid var(--line);vertical-align:top}
th:first-child,td:first-child{text-align:left;padding-left:0;width:30%}
thead th{font:500 11px var(--sans);letter-spacing:.06em;color:var(--navy);text-transform:uppercase;border-bottom:1px solid var(--navy)}
td{font-weight:400}
td .usd{display:block}
.rc p.small{font-size:14px;color:#4b4b52;margin-top:22px}
.back{display:inline-block;margin:0 0 6px;font-size:13px;color:var(--grey);text-decoration:none}
.back:hover{text-decoration:underline}

/* Wider screens */
@media (min-width:640px){
  .hero-stage{padding:24px 20px 28px}
  .door-zoom{--sh:clamp(260px,calc(100svh - var(--hh) - 460px),620px)}
  .hero h1{font-size:clamp(42px,8vw,72px);margin-bottom:16px}
  .hero .lead{margin-bottom:26px;font-size:17px;line-height:1.65}
  .hero-link{margin-top:20px}
  .quote{grid-template-columns:1fr 1fr 1fr auto;align-items:end;padding:20px 22px;gap:14px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
  .quote label{margin-bottom:4px}
  .quote input{padding:6px 0}
  .band ul{grid-template-columns:repeat(2,1fr)}
  .points{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(3,1fr)}
  .fields.two{grid-template-columns:repeat(2,1fr)}
  th,td{font-size:15px;padding:14px 10px}
  thead th{font-size:12px}
  td .usd{display:inline;margin-left:6px}
  th:first-child,td:first-child{width:36%}
}
@media (min-width:768px){
  :root{--hh:69px}/* Original wide-house geometry, with the approved Range Rover photographs.
     Fit the stage height, cap at the source height, and centre the doorway. */


  .hero-stage{padding:0}
  .hero-bg{background:var(--navy)}
  .door-zoom{--ox:49.79%;--oy:48.57%;--lx:43.9%;--ly:31.137%;--lw:11.782%;--lh:34.856%;--sh:min(calc(100vh - var(--hh)),1441px);--sh:min(calc(100svh - var(--hh)),1441px);
    aspect-ratio:2560/1441;height:var(--sh);width:calc(var(--sh)*2560/1441);margin-bottom:0;left:calc(var(--sh)*2560/1441*.0021)}
  .hero-stage > .hero-copy{padding:24px 20px 28px}
  .vignette{background:linear-gradient(90deg,var(--navy) 0,rgba(17,26,44,0) 10%,rgba(17,26,44,0) 90%,var(--navy) 100%),linear-gradient(180deg,var(--navy) 0,rgba(17,26,44,0) 6%,rgba(17,26,44,0) 94%,var(--navy) 100%)}
}
@media (min-width:900px){
  section{padding:140px 40px}
  .bar{padding:16px 40px}
  .nav{display:flex}
  .head-cta{display:inline-flex}
  .menu-btn{display:none}
  .mobile-nav,.mobile-nav.open{display:none}
  .band ul{grid-template-columns:repeat(4,1fr)}
  .points{grid-template-columns:repeat(4,1fr)}
  .about{grid-template-columns:5fr 6fr;gap:64px}
  :root{--hh:79px}
  .cards{grid-template-columns:repeat(2,1fr);max-width:1120px;gap:28px}
  .card h3{font-size:32px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.slides{transition:none}
}

/* Hero animation (only when motion is allowed and script.js has started).
   The opening screen is the lit door alone under the header, centred on the doorway.
   The headline, sub-line, quotation bar and advisor link are moved by script.js into .phone-intro, a plain block after the name.
   Phones retain the portrait; desktop uses the wide house at full scene height.
   No backdrop blur, no animated filters or shadows; only transform and opacity change per frame. */
@media (prefers-reduced-motion:no-preference){
  .hero-anim .hero{height:150svh}
  .hero-anim .hero-stage{position:sticky;top:var(--hh);height:calc(100vh - var(--hh));height:calc(100svh - var(--hh));min-height:0;padding:0}
  .hero-anim .hero-stage > .hero-copy{display:none}/* the name sits over the stage (same sticky box), above the white wash; script.js fades it in */


  .hero-anim .hero-enter{position:absolute;inset:0;z-index:3;height:auto;margin:0;background:none;padding:0 20px;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none}/* the photograph: the opened scene is the base layer, the closed leaf swings on its left hinge over it; the closed scene is only for the static fallback */


  .hero-anim .scene-open,.hero-anim .leaf-box{display:block}
  .hero-anim .scene-closed{display:none}
  .hero-anim .door-zoom{position:absolute;margin:0}/* The photograph and parked car stay stationary while the lights come up. */


  .hero-anim .door-rise{opacity:1;transform:none;transition:none}/* Intro layers belong to the photograph, so their positions follow the existing framing.
     Only opacity and transform animate; the header sits outside these layers. */


  .hero-anim.hero-intro .intro-night{display:block;position:absolute;inset:0;background:#02050c;opacity:.93;pointer-events:none}
  .hero-anim.hero-intro .intro-glow{display:block;position:absolute;inset:0;opacity:0;pointer-events:none;
    background:radial-gradient(ellipse 9% 8% at 12% 33%,rgba(255,186,79,.55),transparent),radial-gradient(ellipse 9% 8% at 88% 33%,rgba(255,186,79,.55),transparent),radial-gradient(ellipse 16% 8% at 50% 24%,rgba(255,195,92,.4),transparent)}
  .hero-intro .hero.intro-running .intro-night{animation:lights-up 1.4s cubic-bezier(.16,1,.3,1) both}
  .hero-intro .hero.intro-running .intro-glow{animation:lights-glow 1.25s ease-out both}
  @keyframes lights-up{from{opacity:.93}to{opacity:0}}
  @keyframes lights-glow{0%{opacity:0}30%{opacity:.65}100%{opacity:0}}
  .hero-intro .hero.intro-running .intro-night,.hero-intro .hero.intro-running .intro-glow{will-change:opacity}
  .hero-anim .vignette{display:none}/* warm full-screen layer: a flat gradient that takes over while the doorway fills the screen */


  .hero-anim .hero-flood{display:block;position:absolute;inset:0;z-index:2;opacity:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,#FFFBEF 0,#FFF3D6 45%,#FBE6B4 100%)}/* promote layers only while the hero is on screen (script.js adds .live) */


  .hero-anim .hero.live .door-zoom{will-change:transform}
  .hero-anim .hero.live .leaf{will-change:transform}
  .hero-anim .hero.live .leaf-shade,.hero-anim .hero.live .hero-flood,.hero-anim .hero.live .hero-wash{will-change:opacity}
  .hero-anim .hero.live .hero-enter{will-change:opacity,transform}/* scroll hint: a thin line, no words */


  .hero-anim .scroll-hint{display:block;position:absolute;left:50%;bottom:8px;width:1px;height:22px;margin-left:-.5px;overflow:hidden;z-index:3;pointer-events:none}
  .hero-anim .scroll-hint i{display:block;width:1px;height:100%;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.85));animation:hint 1.8s ease-in-out infinite}
  @keyframes hint{0%{transform:translate3d(0,-100%,0);opacity:0}30%{opacity:1}100%{transform:translate3d(0,100%,0);opacity:0}}/* the static block after the name */



}
  .phone-intro{display:block;background:#fff;color:var(--navy);text-align:center;padding:36px 20px 64px}
  .phone-intro .hero-copy{position:static;display:flex}
  .phone-intro .copy-in{opacity:1;transform:none;transition:none}
  .phone-intro h1{font-size:clamp(36px,10vw,52px);color:var(--navy);margin-bottom:14px}
  .phone-intro .lead{max-width:520px;margin:0 auto 24px;color:var(--grey);font-size:16px;line-height:1.6}
  .phone-intro .quote{background:var(--cream);border:1px solid var(--line);backdrop-filter:none;-webkit-backdrop-filter:none}
  .phone-intro .quote label{color:var(--ink)}
  .phone-intro .quote input{color:var(--ink);border-bottom-color:var(--grey);color-scheme:light}
  .phone-intro .quote input::placeholder{color:var(--grey)}
  .phone-intro .quote input:focus{border-bottom-color:var(--navy)}
  .phone-intro .btn.light{background:var(--navy);color:#fff;border-color:var(--navy)}
  .phone-intro .hero-link a{color:var(--navy);opacity:1;text-underline-offset:4px;text-decoration-color:var(--brass)}

/* Phones (below 768px): the portrait scene covers the screen, centred a little right of the doorway so the S-Class stays in view */
@media (max-width:767px) and (prefers-reduced-motion:no-preference){
  .hero-anim .door-zoom{--sh:max(calc(100svh - var(--hh)),calc(100vw*1.5));
    left:min(0px,max(calc(100vw - var(--sh)*.6667),calc(50% - var(--sh)*.3867)));
    top:min(0px,max(calc(100svh - var(--hh) - var(--sh)),calc((100svh - var(--hh))/2 - var(--sh)*.5)))}
}
/* Computers and tablets: fit the wide-house height, never enlarge to fill an ultra-wide screen.
   The existing JS measures this box for the pass-through; the horizontal fades move with the scene. */
@media (min-width:768px) and (prefers-reduced-motion:no-preference){
  .hero-anim.hero-intro .intro-glow{background:radial-gradient(ellipse 5% 11% at 34.3% 30%,rgba(255,186,79,.55),transparent),radial-gradient(ellipse 5% 11% at 65.5% 30%,rgba(255,186,79,.55),transparent),radial-gradient(ellipse 8% 9% at 49.8% 24%,rgba(255,195,92,.4),transparent),radial-gradient(ellipse 9% 14% at 15% 32%,rgba(255,195,92,.25),transparent),radial-gradient(ellipse 9% 14% at 85% 32%,rgba(255,195,92,.25),transparent)}
  .hero-anim .door-zoom{left:calc(50% - var(--sh)*2560/1441*.4979);top:calc((100svh - var(--hh) - var(--sh))/2)}
  .hero-anim .vignette{display:block}
  .phone-intro h1{font-size:clamp(42px,6vw,72px);margin-bottom:16px}
  .phone-intro .lead{max-width:580px;margin-bottom:26px;font-size:17px;line-height:1.65}
  .phone-intro .hero-link{margin-top:20px}
}/* D-065: refined quotation controls, restrained script and generous rhythm. */



.hero{color:var(--on-navy)}
.hero h1,.hero-link a{color:var(--on-navy)}
.hero-mark{height:96px;width:auto;margin:12px auto 28px}

.hero-kicker{font:400 25px/1.5 var(--script);color:var(--brass-on-navy);margin-bottom:16px}
.hero-kicker.script-fallback{font-family:var(--serif);font-style:italic}
.phone-intro .hero-kicker{color:var(--brass-text)}
.hero .lead,.phone-intro .lead{line-height:1.7;max-width:60ch}
.hero .lead{opacity:1}
.quote,.phone-intro .quote{position:relative;grid-template-columns:minmax(0,1fr);gap:22px;background:var(--cream);color:var(--navy);border:1px solid var(--line);border-radius:10px;padding:26px 24px;box-shadow:0 16px 48px rgba(17,26,44,.07);backdrop-filter:none;-webkit-backdrop-filter:none}
.quote > div{min-width:0}
.quote label,.phone-intro .quote label{font:500 10px/1.7 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brass-text);margin-bottom:8px}
.quote input,.quote .date-toggle,.phone-intro .quote input{width:100%;min-width:0;min-height:44px;border:0;border-radius:0;border-bottom:1px solid rgba(136,104,48,.5);background:transparent;color:var(--navy);font:400 15px/1.7 var(--sans);padding:4px 0 9px;text-align:left;color-scheme:light}
.quote input::placeholder,.phone-intro .quote input::placeholder{color:var(--grey);opacity:1}
.quote input:focus,.quote .date-toggle:focus,.phone-intro .quote input:focus{border-bottom:2px solid var(--brass-text);padding-bottom:8px;outline:none}
.quote .btn,.phone-intro .quote .btn.light{position:relative;background:var(--navy);color:var(--on-navy);border:1px solid var(--navy);box-shadow:inset 0 0 0 1px rgba(212,178,118,.65);border-radius:7px;min-height:54px;padding:16px 34px;font-size:13px;white-space:nowrap}
.quote .btn::after{content:'\2192';position:absolute;right:13px;opacity:0;transform:translateX(-5px);transition:opacity .25s ease,transform .25s ease;color:var(--brass-on-navy)}
.quote .btn:hover,.phone-intro .quote .btn.light:hover{background:#1C2B4E}
.quote .btn:hover::after,.quote .btn:focus-visible::after{opacity:1;transform:translateX(0)}
.date-field{min-width:0}
.date-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer}
.date-toggle::after{content:'';width:14px;height:14px;flex:none;border:1px solid var(--brass-text);border-radius:2px;background:linear-gradient(var(--brass-text),var(--brass-text)) 0 3px/100% 1px no-repeat}
.field .date-toggle{width:100%;min-height:48px;border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#fff;color:var(--ink);font:400 16px/1.4 var(--sans)}
.date-toggle.is-empty{color:var(--grey)}
.date-toggle:focus-visible{outline:2px solid var(--brass-text);outline-offset:4px}
.date-panel{position:fixed;z-index:100;padding:20px 18px 14px;background:var(--cream);color:var(--navy);border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 54px rgba(17,26,44,.16);max-height:calc(100dvh - 24px);overflow-y:auto;text-align:center}
.calendar-head{display:flex;align-items:center;gap:8px;margin-bottom:16px}
.calendar-head h3{flex:1;color:var(--navy);font:400 27px/1.2 var(--serif)}
.calendar-nav,.calendar-close,.calendar-clear{background:none;color:var(--navy);border:1px solid transparent;border-radius:4px;cursor:pointer;font:400 14px var(--sans);min-height:36px;min-width:36px}
.calendar-nav{font-size:22px}
.calendar-nav:hover,.calendar-close:hover,.calendar-clear:hover{border-color:var(--brass-text)}
.calendar-nav:disabled{opacity:.3;cursor:default}
.calendar-grid{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:2px}
.calendar-grid th,.calendar-grid td,.calendar-grid th:first-child,.calendar-grid td:first-child{width:auto;padding:0;border:0;text-align:center;font-size:14px;vertical-align:middle}
.calendar-grid th{height:28px;color:var(--brass-text);font:500 10px var(--sans);letter-spacing:.1em}
.calendar-day{width:100%;height:38px;background:none;border:1px solid transparent;border-radius:50%;color:var(--navy);font:400 13px var(--sans);cursor:pointer}
.calendar-day:hover{background:#EEE5D6}
.calendar-day:disabled{color:var(--grey);opacity:.4;cursor:default;background:none}
.calendar-day[aria-current="date"]{border-color:var(--brass-text)}
.calendar-day.is-selected{background:var(--brass-on-navy);color:var(--navy);border-color:var(--brass-text)}
.calendar-day:focus-visible{outline:2px solid var(--navy);outline-offset:1px}
.calendar-foot{display:flex;justify-content:space-between;margin-top:12px;border-top:1px solid var(--line);padding-top:8px}
.calendar-help{font:400 11px/1.6 var(--sans);color:var(--grey);margin-top:10px}
.statement p,.about p,.privacy-copy p{max-width:65ch;line-height:1.7}.points > div,.steps li,.card .line{line-height:1.7}
.about h2{font-weight:400;font-size:clamp(36px,4.5vw,48px);margin-bottom:24px}
.band li{opacity:1}
.rc-head h1,.rc h2{font-weight:400}
.rc h2{font-size:32px;margin-top:56px}
.steps li::before{color:var(--brass-text)}
@media(min-width:768px){
  .hero-mark{height:128px;margin:16px auto 36px}
  .hero-kicker{font-size:31px;margin-bottom:18px}
  .hero-anim .phone-intro{padding-top:28px;padding-bottom:88px}
}
@media(min-width:1000px){
  .quote,.phone-intro .quote{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:24px;padding:28px 26px}
  .quote .btn{padding:16px 30px}
}
@media(min-width:900px){
  .statement{padding-top:148px;padding-bottom:140px}.points,.steps{margin-top:64px}
  .cards{gap:40px;margin-top:60px}
  .card{padding:10px;border-radius:12px}
  .card h3{font-weight:500;margin-top:26px}
}
/* Reveal only after observation is installed; static/reduced-motion pages stay visible. */
@media(prefers-reduced-motion:no-preference){
  .hero-anim .hero-enter{align-items:flex-end;padding-bottom:40px}
  .reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease-out,transform .7s ease-out;transition-delay:var(--reveal-delay,0ms)}
  .reveal.is-visible{opacity:1;transform:none}
}
@media(min-width:768px) and (prefers-reduced-motion:no-preference){
  .hero-anim .hero-enter{padding-bottom:64px}
}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .quote .btn::after,.btn,.date-toggle{transition:none}
}/* D-066: first-party suggestions and original engraved journey sketch. */



.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.place-field{position:relative}
.place-suggestions{position:absolute;top:100%;left:0;z-index:60;width:100%;min-width:0;max-height:280px;overflow-y:auto;padding:6px;background:var(--cream);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 30px rgba(17,26,44,.12);text-align:left}
.place-option{display:block;width:100%;border:0;background:none;color:var(--navy);border-radius:4px;text-align:left;padding:12px 10px;font:400 13px/1.5 var(--sans);cursor:pointer}
.place-option:hover,.place-option[aria-selected="true"]{background:#EEE5D6}
.place-suggestions.place-overlay{position:fixed;top:auto;bottom:auto;z-index:80;max-height:none;overscroll-behavior:contain;scrollbar-width:thin}.place-overlay.is-sheet{border-radius:8px}.place-overlay .place-option{min-height:44px}
.place-type{padding:8px 10px 2px;color:var(--brass-text);font:500 9px/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.journey-map{display:grid;grid-template-rows:0fr;opacity:0;width:100%;max-width:920px;margin-top:0;transition:grid-template-rows .4s ease,opacity .4s ease,margin-top .4s ease}
.journey-map.is-visible{grid-template-rows:1fr;opacity:1;margin-top:24px}
.journey-map-inner{min-height:0;overflow:hidden}
.journey-figure{margin:0;text-align:center}/* Journey details retain a separate bottom band; place tags anchor to pins. */


.journey-real{position:relative;height:500px;overflow:hidden;border:1px solid rgba(212,178,118,.3);border-radius:3px;background:#111A2C;color:#F5EEE1;text-align:left}
.journey-real[hidden]{display:none}
.has-road-map .journey-drawing,.has-road-map figcaption{display:none}
.journey-real .journey-vector{position:absolute;inset:0 0 147px;touch-action:pan-y}
.journey-vector .maplibregl-canvas{touch-action:pan-y}
.journey-endpoints{display:none}
.journey-place-tag{opacity:0;transition:opacity .45s ease}
.journey-place-tag.is-shown{opacity:1}
.journey-arrival-pulse{animation:journey-arrival-pulse .8s ease-out both}
@keyframes journey-arrival-pulse{from{box-shadow:0 0 0 3px rgba(212,178,118,.4)}to{box-shadow:0 0 0 18px rgba(212,178,118,0)}}
@media(prefers-reduced-motion:reduce){.journey-place-tag{transition:none}.journey-arrival-pulse{animation:none}}
.journey-summary{position:absolute;left:16px;right:16px;bottom:29px;z-index:2}
#journey-pair{font:400 10px/1.6 var(--sans);letter-spacing:.13em;text-transform:uppercase;margin:0 0 5px}
.journey-duration{font:400 22px/1.1 var(--serif);margin:0 0 7px}
.journey-disclaimer{font:400 10px/1.5 var(--sans);color:#F5EEE1;opacity:.8;margin:0}
.journey-attribution{position:absolute;left:16px;right:10px;bottom:6px;font:400 9px/1.2 var(--sans);margin:0;opacity:.7}
.journey-attribution a{color:inherit;text-decoration:none}
.journey-attribution a:hover{text-decoration:underline}
.journey-road-pin{display:block;width:8px;height:8px;border:1px solid #F5EEE1;border-radius:50%;background:#D4B276;box-shadow:0 0 0 5px rgba(212,178,118,.12)}
.journey-road-car{width:54px;height:30px;pointer-events:none}
.journey-road-car svg{display:block;width:100%;height:100%;filter:drop-shadow(0 0 5px rgba(212,178,118,.35))}
#q-from,#q-to{font-size:15px;text-overflow:ellipsis}
@media(max-width:599px){.journey-real{height:334px}.journey-real .journey-vector{top:0;bottom:104px}.journey-summary{left:12px;right:12px;bottom:24px}.journey-duration{font-size:19px;margin-bottom:5px;white-space:nowrap}.journey-duration .ph{font:400 9px var(--sans)}#journey-pair{font-size:8px;letter-spacing:.04em;line-height:1.4;margin-bottom:4px}.journey-disclaimer{font-size:9px;line-height:1.2}.journey-attribution{left:12px;right:8px;font-size:7px;line-height:1.3;white-space:nowrap}}
.journey-drawing{display:block;width:100%;height:220px;overflow:hidden;background:var(--navy-glow);border-radius:10px}
.map-river{fill:none;stroke:var(--on-navy);stroke-width:3;opacity:.2}
.map-ring{fill:none;stroke:var(--on-navy);stroke-width:1;stroke-dasharray:3 5;opacity:.16}
.map-park{fill:var(--on-navy);fill-opacity:.06;stroke:var(--on-navy);stroke-opacity:.12;stroke-width:1}
.map-context-label{fill:var(--on-navy);opacity:.65;font:400 11px var(--sans);letter-spacing:.08em}
.map-place-label{fill:var(--on-navy);font:400 12px var(--sans)}
.map-route{stroke:var(--brass-on-navy);stroke-width:2;stroke-linecap:round}
.map-pin{fill:var(--brass-on-navy);stroke:var(--navy);stroke-width:1.5}
.map-pulse{fill:none;stroke:var(--brass-on-navy);stroke-width:1;opacity:0;transform-box:fill-box;transform-origin:center}
.map-pulse.pulse-once{animation:map-pin-pulse .8s ease-out both}
@keyframes map-pin-pulse{0%{opacity:.7;transform:scale(.8)}100%{opacity:0;transform:scale(2.2)}}
.map-time{margin:16px 0 8px;color:var(--navy);font:400 23px/1.4 var(--serif)}
.map-time-label{display:block;font:500 10px/1.7 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--grey);margin-bottom:4px}
.map-time .ph{font:400 12px var(--sans)}
.map-note{color:var(--grey);font:400 12px/1.7 var(--sans);max-width:65ch;margin:0 auto}
@media(max-width:599px){.map-time{margin:8px 0 5px;font-size:19px;line-height:1.3}.map-time-label{display:inline;margin-right:7px;font-size:8px}.map-time .ph{font-size:9px}.map-note{font-size:9px;line-height:1.3}}
@media(min-width:600px){.journey-drawing{height:300px}.map-time-label{display:inline;margin-right:12px}.map-time{font-size:27px}}
@media(prefers-reduced-motion:reduce){.journey-map{transition:none}.map-pulse.pulse-once{animation:none}}/* D-067: a quiet goodnight, using the registered portrait scene and door leaf. */



.closing-footer{position:relative;isolation:isolate;background:var(--navy-glow);color:var(--on-navy);border-top:0;padding:60px 20px}
.closing-footer::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 45% 320px at 50% calc(60px + min(52.5vw,315px)),rgba(212,178,118,.12),rgba(212,178,118,.06) 35%,transparent 100%);opacity:1;transition:opacity .9s ease-out}
.closing-footer:has(.closing-scene.is-finished)::before{opacity:.75}
.logo-colour-defs{position:absolute;pointer-events:none}
.footer-layout{display:grid;grid-template-areas:'scene' 'info' 'actions' 'bottom';gap:28px;max-width:1200px;margin:0 auto;align-items:center;justify-items:center}
.footer-info{grid-area:info;min-width:0}
.closing-footer img.footer-wordmark{width:190px;margin:0 auto;max-width:100%}
.footer-actions{grid-area:actions;min-width:0;width:100%;max-width:320px}
.footer-bottom{grid-area:bottom;justify-self:stretch;text-align:center;padding-top:20px}
.footer-bottom::before{content:'';display:block;width:70px;height:1px;background:var(--brass-on-navy);opacity:.65;margin:0 auto 22px}
.closing-footer .legal{color:var(--on-navy);opacity:.8;font-size:12px;line-height:1.8;max-width:none;margin:0}
.footer-copyright{color:var(--on-navy);opacity:.8;font-size:12px;margin:12px 0 0}
.closing-footer .ph{color:var(--brass-on-navy)}
.closing-links{display:grid;grid-template-columns:1fr 1fr;column-gap:16px;row-gap:0;padding-top:12px}
.closing-links a{display:flex;align-items:center;justify-content:center;padding:8px 0;font:400 11px/1.6 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;min-height:44px;box-sizing:border-box}
.closing-links a:hover{text-decoration:underline;text-decoration-color:var(--brass-on-navy);text-underline-offset:5px}
.footer-contacts{margin-top:24px;display:grid;gap:20px;font-size:13px;overflow-wrap:anywhere}
.footer-label{display:block;font:500 10px/1.8 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brass-on-navy);margin-bottom:4px}
.footer-contacts a{text-decoration:none}
.closing-scene{grid-area:scene;position:relative;isolation:isolate;width:70vw;max-width:420px;aspect-ratio:2/3;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent),linear-gradient(180deg,transparent,#000 15%,#000 85%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent),linear-gradient(180deg,transparent,#000 15%,#000 85%,transparent);
  -webkit-mask-composite:source-in;mask-composite:intersect}
.closing-footer .closing-scene img{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;object-fit:fill}
.closing-live{display:none;position:absolute;inset:0;opacity:1;transition:opacity .2s linear}
.closing-scene.is-preparing .closing-live{display:block;visibility:hidden}
.closing-scene.is-ready .closing-live{display:block;visibility:visible}
.closing-leaf-box{position:absolute;left:37.695%;top:30.013%;width:24.512%;height:31.836%;perspective:700px}
.closing-footer .closing-scene .closing-leaf{transform-origin:0 50%;transform:rotateY(105deg);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.closing-scene.is-closing .closing-leaf{will-change:transform}
.closing-scene.is-finished .closing-live{opacity:0}
.closing-dim{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none;transition:opacity .9s ease-out}
.closing-scene.is-finished .closing-dim{opacity:.25}
@media(min-width:900px){
  .closing-footer{padding:80px 40px}
  .closing-footer::before{background:radial-gradient(ellipse 45% 320px at 50% 310px,rgba(212,178,118,.12),rgba(212,178,118,.06) 35%,transparent 100%)}
  .footer-layout{grid-template-columns:minmax(0,1fr) 306.667px minmax(0,1fr);grid-template-areas:'info scene actions' 'bottom bottom bottom';gap:32px 40px;justify-items:stretch}
  .footer-info{text-align:right}
  .closing-footer img.footer-wordmark{width:220px;margin:0 0 0 auto}
  .footer-actions{text-align:left;max-width:none}
  .closing-links{grid-template-columns:1fr;max-width:220px}
  .closing-links a{justify-content:flex-start}
  .closing-scene{width:306.667px;max-width:none;height:460px;aspect-ratio:auto}
}
@media(prefers-reduced-motion:reduce){
  .closing-footer::before{transition:none}
  .closing-live,.closing-scene.is-ready .closing-live{display:none}
  .closing-dim{opacity:0!important;transition:none}
}/* D-068: ivory panels and alpha fades over a flat midnight hero.
   Keep the requested brass-text token. It is 4.39:1 on this ivory, so small
   panel labels use the approved warm grey (4.98:1); brass rules remain brass. */



.cream,.quote,.phone-intro .quote,.date-panel,.place-suggestions{--grey:var(--grey-on-ivory)}
.cream .ph,.cream .ph-note,.quote label,.phone-intro .quote label,.calendar-grid th{color:var(--grey-on-ivory)}
.cream .card{--grey:#6B6B72}
.cream .card .ph{color:var(--brass-text)}
body[data-page="rates"],body[data-page="privacy"]{background:var(--cream);--grey:var(--grey-on-ivory)}
body[data-page="rates"] .ph,body[data-page="rates"] .stamp,body[data-page="privacy"] .ph,body[data-page="privacy"] .privacy-draft{color:var(--grey-on-ivory)}
body[data-page="rates"] .rc p.small{color:var(--grey-on-ivory)}
.quote input,.quote .date-toggle,.phone-intro .quote input{border-bottom-color:var(--brass-line-on-ivory)}
.quote input:focus,.quote .date-toggle:focus,.phone-intro .quote input:focus{border-bottom-color:var(--brass-text)}/* One mask covers photographs, the registered leaf and lighting together.
   It changes alpha only; the centre and every box/hinge coordinate stay put. */


.hero .door-rise{
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent),linear-gradient(180deg,transparent,#000 6%,#000 82%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent),linear-gradient(180deg,transparent,#000 6%,#000 82%,transparent);
  -webkit-mask-composite:source-in;mask-composite:intersect}
.hero .vignette{display:none}/* The map also appears in the static navy hero; retain the approved cream
   text there instead of the white-block caption colours. */


.hero .map-time,.hero .map-time-label,.hero .map-note{color:var(--on-navy)}/* T-037: original photographic layers, contained framing and bounded stops. */



.car-mask-defs{position:absolute;pointer-events:none}
.car-detail-page main{padding-top:0}
.car-photo-layer{position:relative;isolation:isolate;height:calc(100svh - var(--hh));overflow:hidden;background:var(--navy);--photo-ratio:1.49953}
.car-photo-layer::before{content:'';position:absolute;inset:-25px;z-index:-1;background-image:var(--photo);background-position:center;background-size:cover;filter:blur(24px) brightness(.5);transform:scale(1.08);mask-image:linear-gradient(transparent,#000 22%,#000 78%,transparent)}
.car-photo-layer .photo-foreground{display:block;position:absolute;left:50%;top:50%;width:min(100%,calc((100svh - var(--hh))*var(--photo-ratio)));transform:translate(-50%,-50%)}
.car-photo-layer .photo-foreground img{display:block;width:100%;height:auto;object-fit:contain}
.car-photo-frame{position:relative;width:100%}
.car-door-closed,.car-door-open{position:relative;height:calc(100svh - var(--hh));display:grid;place-items:center}
.car-door-closed img,.car-door-open img{width:100%;height:auto}
.car-door-leaf-box{display:none}
.car-door-interior{opacity:1}
.car-door-heading{z-index:5}
.car-tagline{font:italic 400 clamp(18px,1.6vw,24px)/1.5 var(--serif);color:var(--on-navy);margin:0}
.car-door-play span{bottom:38px;font:400 10px/1.5 var(--sans);letter-spacing:.17em}
.car-door-play i{display:block;width:9px;height:9px;border-right:1px solid var(--brass);border-bottom:1px solid var(--brass);transform:rotate(45deg);margin:16px auto 0;animation:car-chevron 2.2s ease-in-out infinite}
@keyframes car-chevron{0%,100%{opacity:.35;translate:0 -2px}50%{opacity:1;translate:0 3px}}
.is-animated .car-door-exterior{transform:none;transform-origin:36% 55%;--photo-ratio:1.7762}
.is-animated .car-photo-frame{position:absolute;left:50%;top:50%;width:min(96.1538%,calc((100svh - var(--hh))*1.7762*.961538));aspect-ratio:2000/1126;transform:translate(-50%,-50%)}
.is-animated .car-door-closed,.is-animated .car-door-open{position:absolute;inset:0;height:100%;display:block}
.is-animated .car-door-exterior img{width:100%;height:auto;mask-image:none;-webkit-mask-image:none}
.is-animated .car-photo-frame{mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent),linear-gradient(transparent,#000 4%,#000 96%,transparent);mask-composite:intersect}
.is-animated .car-door-closed img{clip-path:url(#s-class-no-door)}
.is-animated .car-door-leaf-box{display:block;position:absolute;inset:0;width:100%;height:100%;perspective:none}
.car-door-leaf{position:absolute;inset:0;clip-path:polygon(24.7608% 46.7588%,25.2990% 45.2710%,26.4952% 43.1456%,27.9306% 40.5951%,30.1435% 37.4070%,32.7751% 35.3879%,35.8852% 34.1126%,39.4139% 33.3688%,43.4211% 33.0499%,46.2919% 33.1562%,47.6077% 33.3688%,48.4450% 46.5462%,48.8038% 53.8789%,49.2225% 61.8491%,48.9833% 68.1190%,31.9976% 67.8002%,31.5191% 64.0808%,31.0407% 61.1052%,30.3230% 58.3422%,29.3062% 55.7917%,28.0502% 53.6663%,26.6746% 51.7535%,25.6579% 50.3719%,25.0598% 48.7779%);filter:none}
.is-animated .car-door-leaf picture{display:block;position:absolute;inset:0;overflow:hidden;transform:translateX(var(--reveal-edge,24.7%))}
.is-animated .car-door-leaf img{position:absolute;max-width:none;left:0;top:0;width:100%;height:auto;transform:translateX(calc(-1 * var(--reveal-edge,24.7%)))}
.is-animated .car-door-interior{height:100%;opacity:0}
.is-animated .car-door-interior img{height:auto;object-fit:contain;object-position:center}
.is-animated .car-door-interior picture{height:auto}
.door-story:not(.is-animated) .car-door-exterior{height:auto;overflow:hidden}
.door-story:not(.is-animated) .car-door-closed picture,.door-story:not(.is-animated) .car-door-open picture{width:min(100%,calc((100svh - var(--hh))*1.7762))}
.photo-caption{position:absolute;left:20px;right:20px;bottom:95px;z-index:3;max-width:680px;margin:0 auto;padding:12px 16px;background:rgba(17,26,44,.75);color:var(--on-navy);box-sizing:border-box;text-align:center;overflow-wrap:break-word}
.photo-caption small{display:block;font:400 9px/1.5 var(--sans);letter-spacing:.18em;color:var(--brass-on-navy)}
.photo-caption p{font:400 24px/1.2 var(--serif);margin:7px 0 0;color:var(--on-navy)}
.is-animated .car-door-interior .photo-caption{opacity:0}
.car-cabin-photo{height:calc(100svh - var(--hh))}
.car-details-table{width:100%;border-collapse:collapse;margin:32px 0;font-size:14px}
.car-details-table th,.car-details-table td{border-top:1px solid var(--line);padding:16px 0;vertical-align:top;text-align:left}
.car-details-table th{width:34%;padding-right:18px;font:400 9px/1.7 var(--sans);letter-spacing:.11em;text-transform:uppercase}
.car-details-table .price-detail{margin:5px 0 9px}
.car-photo-transition{position:fixed;inset:var(--hh) 0 0;z-index:8;background:var(--navy);pointer-events:none;overflow:hidden}
.car-photo-transition .car-photo-layer{position:absolute;inset:0;height:100%;transform-origin:center}
.car-photo-transition .photo-caption{opacity:1!important}
.car-photo-transition .photo-foreground{transform:translate(-50%,-50%) scale(var(--drift,1))}
.car-photo-transition .car-photo-layer::before{transform:scale(var(--drift,1.08));animation:none}
.car-photo-layer .photo-foreground{width:min(94.34%,calc((100svh - var(--hh))*var(--photo-ratio)*.90566));mask-image:linear-gradient(transparent,#000 1.5%,#000 98.5%,transparent)}
.car-photo-layer.is-settled>.photo-foreground{animation:contained-photo 6s ease-out both}
.car-photo-transition .photo-foreground{animation:none!important}
@keyframes contained-photo{from{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-50%,-50%) scale(1.06)}}
.car-photo-layer.is-settled::before{animation:photo-breath 6s ease-out both}
@keyframes photo-breath{from{transform:scale(1.08)}to{transform:scale(1.145)}}
@media(orientation:portrait) and (max-width:767px){
  .photo-caption{bottom:auto;top:min(calc(50% + 100vw*.33344 + 18px),calc(100% - 184px));padding:10px 12px}
  .photo-caption p{font-size:22px;line-height:1.15;text-wrap:balance}
  .car-door-heading h1{font-size:28px}.car-tagline{font-size:18px}
  .is-animated .car-door-exterior{transform:none!important}
}
@media(min-width:768px){
  .car-photo-layer::before{background-image:none;background:var(--navy);filter:none}
  .door-zoom{--sh:min(calc(100svh - var(--hh)),calc(100vw*1441/2560));width:calc(var(--sh)*2560/1441);height:var(--sh)}
  .hero-anim .door-zoom{left:calc(50% - var(--sh)*2560/1441*.4979);top:calc((100svh - var(--hh) - var(--sh))/2)}
}
@media(prefers-reduced-motion:reduce){.car-door-play i,.car-photo-layer.is-settled::before,.car-photo-layer.is-settled>.photo-foreground{animation:none}.car-photo-transition{display:none!important}}/* T-038: short chapters are full screens; tall content is never constrained. */



.page-intro{padding:70px 20px 55px;text-align:center}
.page-intro h1{font-size:clamp(38px,5vw,64px);font-weight:400;margin-bottom:22px}
.page-intro p,.page-lead{max-width:680px;margin:0 auto;font-size:17px;line-height:1.8}
#enquire h1.sec{font-size:clamp(36px,5vw,52px);font-weight:400;text-align:center;margin-bottom:18px}
.chapter{position:relative;min-height:calc(100svh - var(--hh));display:grid;align-content:center;padding:52px 20px;isolation:isolate}
.chapter-inner{position:relative;width:100%;transform-origin:center;isolation:isolate}
.phone-intro.chapter{display:none}
.hero-anim .phone-intro.chapter{display:grid}
.about-page .chapter{padding-top:28px}
.about-page .page-intro{padding:25px 20px 35px}
.about-page #about{padding:35px 20px;max-width:1000px;margin:0 auto}
.about-page #about h2{margin-bottom:25px}
.about-page .about{display:block}
.about-page #about .about p+p{margin-top:1.2em}
.about-page .portrait:not([hidden]){margin-bottom:30px}
.nav a[aria-current="page"]{border-bottom-color:var(--brass)}
.mobile-nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--brass)}
.has-chapters .chapter-entering{box-shadow:0 -14px 26px -26px rgba(17,26,44,.45)}
.has-chapters .chapter-entering>.chapter-inner{animation:chapter-rise 1.1s cubic-bezier(.16,1,.3,1) both}
.has-chapters .chapter-entering .car img,.has-chapters .chapter-entering .closing-scene{animation:chapter-photo 1.1s cubic-bezier(.16,1,.3,1) both}
.has-chapters .chapter-entering .chapter-inner :is(h2,h3,p,.btn){animation:chapter-text .8s cubic-bezier(.16,1,.3,1) var(--chapter-delay,0ms) both}
.has-chapters .chapter-leaving>.chapter-inner{transform:scale(.97);transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.has-chapters .chapter-leaving>.chapter-inner::after{content:'';position:absolute;inset:0;z-index:20;background:#000;opacity:.25;pointer-events:none;transition:opacity 1.1s}
.chapter:focus-within{z-index:6}
.chapter:focus-within>.chapter-inner{animation:none!important;transform:none!important}
.chapter:focus-within .chapter-inner :is(h2,h3,p,.btn){animation:none!important}
.chapter:focus-within>.chapter-inner::after{opacity:0!important}
.chapter-long .chapter-inner{animation:none!important;transform:none!important}
.chapter-long .chapter-inner::after{display:none}
@keyframes chapter-rise{from{transform:translateY(40px)}to{transform:translateY(0)}}
@keyframes chapter-photo{from{transform:scale(1.04)}to{transform:scale(1)}}
@keyframes chapter-text{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:900px){.chapter{padding-left:40px;padding-right:40px}}
@media(prefers-reduced-motion:reduce){.chapter-entering>.chapter-inner,.chapter-entering .car img,.chapter-entering .closing-scene,.chapter-entering .chapter-inner :is(h2,h3,p,.btn){animation:none!important}.chapter-leaving>.chapter-inner{transform:none;transition:none}.chapter-leaving>.chapter-inner::after{display:none}}/* T-042: composed Home, natural phone sections and consistent photographic scenes. */



.hero-compose .hero-enter{position:static!important;top:auto!important;height:auto!important;min-height:0;margin:0!important;padding:0 0 10px!important;background:none;opacity:1!important;transform:none!important;color:inherit;display:block!important;pointer-events:auto}
.hero-compose .enter-name{font-size:38px;line-height:1.05}
.hero .hero-compose .enter-name{color:var(--on-navy)}.phone-intro .hero-compose .enter-name{color:var(--navy)}
.hero-compose .hero-mark{height:64px;margin:8px auto 14px}.hero-compose .hero-kicker{font-size:26px;margin-bottom:10px}
.hero-anim .hero{height:150svh}.hero-anim .phone-intro{padding:32px 20px;min-height:calc(100svh - var(--hh))}
.phone-intro .hero-compose h1{font-size:clamp(36px,4.2vw,58px);margin-bottom:14px}.phone-intro .hero-compose .lead{margin-bottom:22px}
.has-chapters .chapter-leaving>.chapter-inner::after{display:none}.has-chapters .chapter-dark.chapter-leaving>.chapter-inner::after,.has-chapters .closing-footer.chapter-leaving>.chapter-inner::after{display:block}
.home-services{background:var(--navy);color:var(--on-navy);overflow:hidden}


.service-preview-panel{pointer-events:auto;max-width:630px;padding:44px 42px;background:rgba(17,26,44,.86);border:1px solid rgba(212,178,118,.4);box-shadow:0 22px 70px rgba(0,0,0,.2);border-radius:3px}
.service-preview-panel .sec{color:var(--on-navy);text-align:left;margin-bottom:22px}.service-preview-panel>p{font:400 25px/1.45 var(--serif);margin:0 0 28px;max-width:490px}
.service-preview-items{display:grid;grid-template-columns:1fr 1fr;gap:26px 20px;list-style:none;margin:0 0 32px}.service-preview-items li{display:flex;align-items:center;gap:13px;font:400 12px/1.5 var(--sans);max-width:230px}
.home-fleet{text-align:center}.home-fleet .sec{margin-bottom:40px}.mini-fleet-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0 0 40px}
.mini-fleet-card{min-width:0;text-align:left;display:block;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:5px;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease}.mini-fleet-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(17,26,44,.09)}
.mini-fleet-card:focus-visible{outline:2px solid var(--brass-text);outline-offset:4px}.mini-car-photo{display:block;width:100%;height:auto;aspect-ratio:1400/788;object-fit:contain}.mini-fleet-card>div{padding:20px 16px 24px}.mini-fleet-card h3{font:400 25px/1.06 var(--serif);min-height:54px;margin-bottom:17px}.mini-fleet-card p{display:flex;gap:8px;align-items:flex-start;font:400 11px/1.5 var(--sans);margin:9px 0;overflow-wrap:anywhere}.mini-fleet-card .ph{font-size:9px}
.home-advisors{background:var(--navy-glow);color:var(--on-navy);text-align:center}.home-advisors .sec{color:var(--on-navy);margin-bottom:55px}.advisor-preview-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0 0 55px}.advisor-preview-columns>div{padding:25px 32px;display:grid;gap:18px;align-content:center;min-height:180px}.advisor-preview-columns>div+div{border-left:1px solid rgba(212,178,118,.35)}.advisor-preview-columns strong{font:400 clamp(34px,4vw,54px)/1.15 var(--serif);color:var(--brass-on-navy)}.advisor-preview-columns>div:first-child strong{font-size:80px}.advisor-preview-columns span{font:400 10px/1.6 var(--sans);letter-spacing:.15em}.preview-links{display:flex;justify-content:center;align-items:center;gap:32px;flex-wrap:wrap}.preview-links>a:not(.btn){font-size:12px;color:var(--on-navy);text-decoration-color:var(--brass);text-underline-offset:5px}
.home-about-summary{padding:64px 20px}.home-about-summary>.wrap{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:center;max-width:1060px}.home-about-summary .sec{text-align:left;margin:0}.home-about-summary p{font:400 24px/1.45 var(--serif);margin-bottom:24px;max-width:640px}
.home-closing-quote{padding:55px 20px;text-align:center}.home-closing-quote h2{font-size:36px;margin-bottom:18px}.home-closing-quote p{font-size:15px;margin:0 0 24px}
.car-photo-link{display:block;width:100%;height:100%;color:inherit;outline-offset:-4px}.car-photo-link:focus-visible{outline:2px solid var(--brass-text)}/* One foreground rule wins in the first scene, second scene and transition clones. */


.car-detail-page .car-photo-layer>.photo-foreground{height:auto;width:min(94.34%,calc((100svh - var(--hh))*var(--photo-ratio)*.90566));mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent),linear-gradient(transparent,#000 1.5%,#000 98.5%,transparent);mask-composite:intersect}
.car-detail-page .car-door-interior::before,.car-detail-page .car-cabin-photo::before{background-image:var(--photo);background-size:cover;filter:blur(24px) brightness(.48);mask-image:none}
.car-door-heading{position:relative;top:auto;left:auto;right:auto;width:100%;max-width:1240px;margin:0 auto;padding:22px 20px 20px;background:var(--navy)}
.is-animated .car-door-exterior{top:var(--car-title-height,160px);height:calc(100% - var(--car-title-height,160px));overflow:hidden}
.is-animated .car-photo-frame{width:min(96.1538%,calc((100svh - var(--hh) - var(--car-title-height,160px))*1.7762*.961538))}
.sclass-details-panel{min-height:0;scroll-snap-align:none;overflow:visible;padding-bottom:55px}
@media(min-width:768px) and (max-width:1100px){.mini-fleet-grid{gap:12px}.mini-fleet-card>div{padding:16px 12px}.mini-fleet-card h3{font-size:22px}}
@media(max-width:767px){
 .chapter{min-height:0;padding:42px 20px}.chapter-inner{animation:none!important;transform:none!important}.chapter-inner::after{display:none!important}
 .hero-anim .phone-intro{min-height:0;padding:18px 20px 22px}.hero-compose .enter-name{font-size:30px}.hero-compose .hero-mark{height:46px;margin:6px auto 10px}.hero-compose .hero-kicker{font-size:21px;margin-bottom:8px}.phone-intro .hero-compose h1{font-size:32px;line-height:1.08;margin-bottom:12px}.phone-intro .hero-compose .lead{font-size:14px;line-height:1.5;margin-bottom:14px}
 .hero-compose .quote{grid-template-columns:1fr;gap:10px;padding:14px}.hero-compose .quote .date-field,.hero-compose #quote-go{grid-column:1/-1}.hero-compose .quote label{font-size:8px;letter-spacing:.08em;margin-bottom:2px}.hero-compose .quote input,.hero-compose .quote .date-toggle{font-size:12px;min-height:38px;padding-bottom:6px}.hero-compose .hero-link{font-size:12px;gap:8px;margin-top:14px}.hero-compose .quote .btn{min-height:44px;padding:12px 16px;font-size:12px}
 .home-services{padding:0 20px 38px;min-height:0}.service-preview-panel{padding:26px 20px}.service-preview-panel .sec{font-size:38px;margin-bottom:18px}.service-preview-panel>p{font-size:22px;margin-bottom:24px}.service-preview-items{gap:20px 12px;margin-bottom:24px}.service-preview-items li{flex-direction:column;align-items:flex-start;font-size:10px;gap:8px}

 .home-fleet .sec{margin-bottom:28px}.mini-fleet-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:28px}.mini-fleet-card>div{padding:14px 10px}.mini-fleet-card h3{font-size:21px;min-height:68px;margin-bottom:12px}.mini-fleet-card p{font-size:10px;gap:5px}
 .home-advisors .sec{font-size:38px;margin-bottom:28px}.advisor-preview-columns{grid-template-columns:1fr;gap:0;margin-bottom:28px}.advisor-preview-columns>div{min-height:0;padding:24px 0;gap:10px}.advisor-preview-columns>div+div{border-left:0;border-top:1px solid rgba(212,178,118,.35)}.advisor-preview-columns strong{font-size:42px}.advisor-preview-columns>div:first-child strong{font-size:64px}.preview-links{gap:22px;flex-direction:column}
 .home-about-summary{padding:38px 20px}.home-about-summary>.wrap{grid-template-columns:1fr;gap:20px}.home-about-summary .sec{font-size:38px}.home-about-summary p{font-size:22px}
 .home-closing-quote{padding:38px 20px}.home-closing-quote h2{font-size:34px}.car-door-heading{padding:20px}.car-door-heading h1{margin:10px 0;font-size:28px}
}
@media(prefers-reduced-motion:reduce){.mini-fleet-card{transition:none}.mini-fleet-card:hover{transform:none}}/* The crop is fixed before projection; the outer union clips any 3D overspill. */



.is-animated .car-door-leaf-box{perspective:700px;perspective-origin:48.3% 50.6%;clip-path:polygon(24.7608% 46.7588%,25.299% 45.271%,26.4952% 43.1456%,27.9306% 40.5951%,30.1435% 37.407%,32.7751% 35.3879%,35.8852% 34.1126%,38.8% 31.8%,46.4% 32.5%,47.6077% 33.3688%,48.445% 46.5462%,48.8038% 53.8789%,49.2225% 61.8491%,49.2% 69.8%,44.8% 69.8%,43.8% 68.1%,31.9976% 67.8002%,31.5191% 64.0808%,31.0407% 61.1052%,30.323% 58.3422%,29.3062% 55.7917%,28.0502% 53.6663%,26.6746% 51.7535%,25.6579% 50.3719%,25.0598% 48.7779%)}
.is-animated .car-door-leaf{inset:auto;left:24.760766%;top:33.049947%;width:24.461722%;height:35.069075%;transform-origin:96.2% 50%;backface-visibility:hidden;clip-path:polygon(0% 39.091%,2.2% 34.848%,7.09% 28.788%,12.958% 21.515%,22.005% 12.424%,32.763% 6.667%,45.477% 3.03%,59.902% .909%,76.284% 0%,88.02% .303%,93.399% .909%,96.822% 38.485%,98.289% 59.394%,100% 82.121%,99.022% 100%,29.584% 99.091%,27.628% 88.485%,25.672% 80%,22.738% 72.121%,18.582% 64.848%,13.447% 58.788%,7.824% 53.333%,3.667% 49.394%,1.222% 44.848%)}
.is-animated .car-door-leaf picture{transform:none;overflow:visible}.is-animated .car-door-leaf img{left:-101.222494%;top:-94.242424%;width:408.801956%;transform:none}
.car-photo-transition .car-photo-layer::before{animation:none!important}/* T-043: native section links remain usable without the animation controller. */



.car-section-menu{position:fixed;z-index:45;top:calc(var(--hh,79px) + 10px);left:50%;transform:translateX(-50%);color:var(--on-navy);font:400 11px/1.4 var(--sans)}
.car-section-menu summary{display:flex;align-items:center;justify-content:center;gap:18px;list-style:none;min-height:36px;min-width:135px;padding:8px 16px;background:var(--navy);border:1px solid rgba(212,178,118,.55);border-radius:999px;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.12)}
.car-section-menu summary::-webkit-details-marker{display:none}.car-section-menu summary span{color:var(--brass-on-navy)}
.car-section-menu[open] summary span{transform:rotate(180deg)}
.car-sections-list{position:absolute;top:44px;left:50%;transform:translateX(-50%);display:grid;gap:4px;width:285px;max-height:calc(100svh - var(--hh,79px) - 75px);overflow:auto;padding:12px;background:var(--navy);border:1px solid rgba(212,178,118,.55);border-radius:12px;box-shadow:0 18px 45px rgba(0,0,0,.25)}
.car-sections-list a{display:flex;align-items:center;min-height:44px;padding:11px 14px;border-radius:6px;color:var(--on-navy);text-decoration:none;text-transform:uppercase;font-size:10px;letter-spacing:.1em;overflow-wrap:anywhere}
.car-sections-list a:hover,.car-sections-list a[aria-current="location"]{color:var(--brass-on-navy);background:rgba(212,178,118,.1)}
.car-section-menu :focus-visible{outline:2px solid var(--brass-on-navy);outline-offset:2px}
.car-detail-page :is(.car-door-interior,.sclass-details-panel,.sclass-details-luggage,.sclass-booking){scroll-margin-top:calc(var(--hh,79px) + 56px)}
@media(max-width:767px){.car-section-menu{top:calc(var(--hh,69px) + 8px)}.car-sections-list{width:calc(100vw - 32px);max-width:343px;top:42px}}/* T-044: whole blueprint drawings, with one opaque base throughout the dissolve. */

.luggage-frame{position:relative;aspect-ratio:1600/900;overflow:hidden;background:#0D1B2B}
.luggage-drawing{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:1}.luggage-drawing img{width:100%;height:100%;object-fit:contain}
.luggage-options{display:grid;gap:12px}.luggage-options button{min-height:48px;padding:13px 18px;border:1px solid rgba(212,178,118,.4);border-radius:999px;background:transparent;color:var(--on-navy);font:400 13px/1.5 var(--sans);text-align:left;cursor:pointer;overflow-wrap:anywhere}
.luggage-options button[aria-pressed="true"]{background:rgba(212,178,118,.12);color:var(--brass-on-navy);border-color:var(--brass-on-navy)}.luggage-options button:hover{border-color:var(--brass-on-navy)}.luggage-options button:focus-visible{outline-color:var(--brass-on-navy)}
.luggage-static-options{padding-left:20px;font-size:14px;line-height:2}
.car .luggage-slide{background:#0D1B2B}.car .luggage-slide picture{display:block;width:100%;height:100%}.car .luggage-slide img{object-fit:contain}
@media(max-width:767px){.luggage-options{display:flex;flex-wrap:wrap;gap:10px}.luggage-options button{flex:1 1 140px;min-height:44px;font-size:11px;padding:11px 13px;text-align:center}}/* T-045: names-only pills retain only their visibility rules. */
/* T-046: leave the live map open; keep the vehicle details within one desktop view. */






.has-chapters .home-services>.chapter-inner,.has-chapters .home-services .chapter-inner :is(h2,h3,p,.btn){animation:none!important;transform:none!important}

.service-preview-panel{width:420px;max-width:40%;padding:22px 24px}
.service-preview-panel .sec{font-size:34px;margin-bottom:12px}.service-preview-panel>p{font-size:19px;line-height:1.4;margin-bottom:18px}
.service-preview-items{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px}.service-preview-items li{flex-direction:column;align-items:flex-start;gap:9px;font-size:9px;line-height:1.45}.service-preview-panel .btn{min-height:40px;padding:10px 20px;font-size:12px}
.sclass-details-panel{padding:58px 36px 24px;min-height:calc(100svh - var(--hh));display:grid;align-content:center}
.car-detail-page .sclass-details-panel.sclass-details-panel{padding:58px 36px 24px;min-height:calc(100svh - var(--hh))}
.sclass-details-wrap{width:100%;max-width:1240px}.sclass-details-panel .sec{text-align:left;font-size:42px;margin-bottom:22px}
.sclass-details-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-areas:'text luggage' 'table luggage' 'extra luggage';gap:12px 42px;align-items:start}
.sclass-details-text{grid-area:text}.sclass-details-text p{font-size:14px;line-height:1.6;margin-bottom:10px}.sclass-details-text p:last-child{margin-bottom:0}
.sclass-details-table{grid-area:table;margin:0;font-size:12px;line-height:1.45}.sclass-details-table th,.sclass-details-table td{padding:7px 0}.sclass-details-table th{font-size:8px;line-height:1.5;letter-spacing:.07em;padding-right:16px;width:32%}.sclass-details-table .price-detail{font-size:10px;line-height:1.5;margin:2px 0 0}
.sclass-details-extra{grid-area:extra}.sclass-details-extra p{font-size:11px;line-height:1.5;margin:0 0 5px;text-align:left}
.sclass-details-luggage{grid-area:luggage;min-width:0}.sclass-details-luggage h3{font-size:26px;font-weight:400;margin:0 0 14px}.sclass-details-luggage .luggage-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.sclass-details-luggage .luggage-options button{flex:1 1 145px;font-size:11px;min-height:44px;padding:10px 12px;text-align:center;color:var(--navy);border-color:var(--brass-line-on-ivory)}.sclass-details-luggage .luggage-options button[aria-pressed=true]{color:var(--brass-text);background:rgba(184,150,90,.1);border-color:var(--brass-text)}
.sclass-booking{margin-top:22px}.preferred-car{font-size:10px;letter-spacing:.07em;color:var(--brass-text);margin-bottom:8px}
.sclass-booking .place-suggestions{top:auto;bottom:calc(100% + 5px);max-height:240px}/* T-046: one surface system; layout and visibility stay with each control. */



:is(.btn,.menu-btn,.arrow,.calendar-nav,.calendar-close,.calendar-clear,.calendar-day,.car-section-menu summary){
 --button-fill:var(--navy);--button-label:var(--on-navy);--button-edge:var(--brass-on-navy);
 position:relative;background:var(--button-fill)!important;color:var(--button-label)!important;border:1px solid transparent!important;border-radius:3px!important;box-shadow:none!important;
 font-family:var(--sans);font-weight:400;text-transform:uppercase;letter-spacing:.14em;transition:background .25s ease,color .25s ease,border-color .25s ease;
}
:is(.btn,.menu-btn,.arrow,.calendar-nav,.calendar-close,.calendar-clear,.calendar-day,.car-section-menu summary)::before{content:'';position:absolute;inset:3px;border:1px solid var(--button-edge);border-radius:1px;pointer-events:none;transition:border-color .25s ease}
:is(.btn,.menu-btn,.arrow,.calendar-nav,.calendar-close,.calendar-clear,.calendar-day,.car-section-menu summary):hover::before{border-color:#EACD95}
.btn{min-height:48px;font-size:11px!important;padding:14px 34px}
.btn::after{content:'\2192';position:absolute;right:12px;color:var(--button-edge);opacity:0;transform:translateX(-5px);transition:opacity .25s ease,transform .25s ease}
.btn:hover::after,.btn:focus-visible::after{opacity:1;transform:translateX(0)}
.btn:hover{--button-fill:#1C2B4E}
:is(.btn.ghost,.btn.light,.btn.ghost-light,.calendar-nav,.calendar-close,.calendar-clear,.calendar-day){--button-fill:transparent;--button-label:var(--navy);--button-edge:var(--brass-text);border-color:var(--button-edge)!important}
:is(.btn.ghost,.btn.light,.btn.ghost-light,.calendar-nav,.calendar-close,.calendar-clear,.calendar-day)::before{display:none}
:is(.home-services,.home-advisors,.hero,.band,.closing-footer) :is(.btn.light,.btn.ghost-light){--button-label:var(--on-navy);--button-edge:var(--brass-on-navy)}
:is(.btn.ghost,.btn.light,.btn.ghost-light,.calendar-nav,.calendar-close,.calendar-clear,.calendar-day):hover{border-color:var(--brass-on-navy)!important}
.menu-btn{min-height:44px;font-size:10px;padding:10px 18px}
.car .arrow{position:absolute;width:44px;height:44px;font-size:24px;letter-spacing:0}
:is(.calendar-nav,.calendar-close,.calendar-clear){min-height:40px}.calendar-clear{padding:8px 12px;font-size:10px}.calendar-day{font-size:13px;letter-spacing:0}.calendar-day.is-selected{--button-fill:var(--navy);--button-label:var(--on-navy);--button-edge:var(--brass-on-navy)}
.calendar-day:disabled{border-color:transparent!important}
.car-section-menu summary{min-height:40px;padding:10px 18px;font-size:10px}.car-sections-list{top:48px;border-radius:3px}
a:not(.btn):not(.brand):not(.mini-fleet-card):not(.car-photo-link):not(.footer-brand){text-decoration:none;background-image:linear-gradient(var(--brass),var(--brass));background-repeat:no-repeat;background-position:left bottom;background-size:0 1px;transition:background-size .25s ease}
a:not(.btn):not(.brand):not(.mini-fleet-card):not(.car-photo-link):not(.footer-brand):is(:hover,:focus-visible){background-size:100% 1px}/* Navy on light chapters; ivory on the dark hero. Shared field/button geometry. */



body .quote.quote{--quote-fill:var(--navy);--quote-label:var(--on-navy);--quote-brass:var(--brass-on-navy);--quote-muted:#C9C3B8;
 background:var(--quote-fill);color:var(--quote-label);border:1px solid var(--brass);border-radius:3px;box-shadow:none;padding:0;gap:0;grid-template-columns:1fr 1fr 1fr auto;align-items:stretch;width:100%;backdrop-filter:none;-webkit-backdrop-filter:none}
body .hero .quote.quote{--quote-fill:var(--cream);--quote-label:var(--navy);--quote-brass:var(--brass-text);--quote-muted:var(--grey-on-ivory)}
body .quote.quote>div{padding:12px 18px;align-self:center}
body .quote.quote label{color:var(--quote-brass);font-size:9px;letter-spacing:.14em;margin-bottom:3px}
body .quote.quote :is(input,.date-toggle){color:var(--quote-label);background:transparent;border:0;border-bottom:1px solid var(--quote-brass);border-radius:0;font:400 14px/1.5 var(--sans);letter-spacing:0;text-transform:none;min-height:40px;padding:4px 0 8px;color-scheme:light}
body .quote.quote input::placeholder{color:var(--quote-muted)}
body .quote.quote :is(input,.date-toggle):focus{border-bottom:1px solid var(--quote-brass);padding-bottom:8px;outline:2px solid var(--quote-brass);outline-offset:3px}
body .quote.quote .date-toggle::after{border-color:var(--quote-brass);background:linear-gradient(var(--quote-brass),var(--quote-brass)) 0 3px/100% 1px no-repeat}
body .quote.quote .btn{--button-fill:var(--navy);--button-label:var(--on-navy);--button-edge:var(--brass-on-navy);align-self:stretch;min-height:88px;padding:14px 34px;border:0!important;border-left:1px solid var(--brass)!important;border-radius:0!important}
body .quote.quote .btn::before{display:block}.quote .btn:hover{--button-fill:#1C2B4E}
body .sclass-details-luggage .luggage-options{gap:8px 14px}
body .sclass-details-luggage .luggage-options button{position:relative;flex:1 1 140px;border:0;border-radius:0;background:transparent;color:var(--navy);padding:10px 8px 10px 16px;min-height:44px;font:400 10px/1.5 var(--sans);letter-spacing:.11em;text-transform:uppercase;transition:color .25s ease}
.sclass-details-luggage .luggage-options button::before{content:'';position:absolute;left:4px;top:50%;width:3px;height:3px;background:var(--brass-text);border-radius:50%;opacity:0}
.sclass-details-luggage .luggage-options button::after{content:'';position:absolute;bottom:2px;left:0;right:0;height:1px;background:var(--brass-text);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
body .sclass-details-luggage .luggage-options button[aria-pressed=true]{background:transparent;color:var(--brass-text)}
.sclass-details-luggage .luggage-options button[aria-pressed=true]::before{opacity:1}.sclass-details-luggage .luggage-options button[aria-pressed=true]::after{transform:scaleX(1)}
body .sclass-details-luggage .luggage-options button:hover{color:var(--brass-text)}

/* Existing Fleet markup supplies a photo column and a compact detail column. */
@media(min-width:768px){.sclass-details-panel .sec{margin-bottom:16px}.sclass-booking{margin-top:14px}.car-detail-page .sclass-details-panel.sclass-details-panel{padding-bottom:20px}}

.home-fleet>.wrap{max-width:1320px}.home-fleet{padding-top:32px;padding-bottom:32px}.home-fleet .sec{margin-bottom:26px}.mini-fleet-grid{gap:20px;margin-bottom:28px}
.mini-car-photo{aspect-ratio:4/3;object-fit:cover;object-position:center}.mini-fleet-card h3{font-size:31px;min-height:66px;margin-bottom:16px}.mini-fleet-card>div{padding:20px 18px}.mini-fleet-card p:first-of-type{border-top:1px solid var(--brass-line-on-ivory);padding-top:14px}.mini-fleet-card .ph{font-size:inherit;white-space:nowrap}.case-confirm{white-space:nowrap}
@media(max-width:899px){body .quote.quote{grid-template-columns:1fr}body .quote.quote>div{padding:8px 14px}body .quote.quote .btn{min-height:54px;padding:14px 34px;border-left:0!important;border-top:1px solid var(--brass)!important}body .quote.quote :is(input,.date-toggle){min-height:38px;font-size:13px}}
@media(max-width:767px){.mini-fleet-grid{gap:12px}.mini-fleet-card>div{padding:14px 10px}.mini-fleet-card h3{font-size:24px;min-height:78px;margin-bottom:12px}.mini-fleet-card p:first-of-type{padding-top:10px}.home-fleet{padding-top:30px;padding-bottom:30px}}
@media(prefers-reduced-motion:reduce){:is(.btn,.menu-btn,.arrow,.calendar-nav,.calendar-close,.calendar-clear,.calendar-day,.car-section-menu summary),:is(.btn,.menu-btn,.arrow,.calendar-nav,.calendar-close,.calendar-clear,.calendar-day,.car-section-menu summary)::before,.btn::after,a,.luggage-options button,.luggage-options button::after{transition:none!important}}/* T-047 input 9: original sharp photos; the blur is only their outside fill. */



.car-detail-page .car-door-stage{--photo:url('assets/s-class-side-closed.jpg');isolation:isolate;overflow:hidden}
.car-detail-page .car-door-stage::before{content:'';position:absolute;inset:-35px;z-index:-1;background:var(--photo) center/cover;filter:blur(35px) brightness(.38)}
.car-detail-page .car-door-exterior{--photo:url('assets/s-class-side-open.jpg')}.car-detail-page .car-door-interior{--photo:url('assets/s-class-interior-1.jpg')}.car-detail-page .car-cabin-photo{--photo:url('assets/s-class-interior-2.jpg')}
body.car-detail-page .car-photo-layer::before{background-image:var(--photo);background-size:cover;background-position:center;filter:blur(32px) brightness(.42);mask-image:none}
.car-detail-page .car-door-heading{background:none;color:var(--on-navy)}
body.car-detail-page .car-photo-frame,body.car-detail-page .car-photo-layer>.photo-foreground{mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent),linear-gradient(transparent,#000 40px,#000 calc(100% - 40px),transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent),linear-gradient(transparent,#000 40px,#000 calc(100% - 40px),transparent);mask-composite:intersect;-webkit-mask-composite:source-in}
.car-detail-page .photo-caption{background:rgba(17,26,44,.9)}
.car-detail-page .car-photo-layer::before{will-change:transform}.car-photo-transition .car-photo-layer{will-change:opacity}.car-photo-transition .photo-foreground{will-change:transform}
body.car-detail-page .door-story:not(.is-animated) .car-photo-frame{mask-image:none;-webkit-mask-image:none}
.door-story:not(.is-animated) :is(.car-door-open,.car-door-closed) picture{position:relative;display:block;mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent),linear-gradient(transparent,#000 40px,#000 calc(100% - 40px),transparent);mask-composite:intersect}/* Fleet: progressive enhancement leaves all cars available without JavaScript. */



.fleet-showcase{min-height:calc(100svh - var(--hh));padding:32px 70px 24px;display:grid;align-content:center;gap:20px}.fleet-deck{width:100%;max-width:1240px;margin:auto}.fleet-choice{padding:0;margin-bottom:26px}.fleet-choice .card{max-width:none;border-radius:3px;padding:18px}
.fleet-kicker{font:400 9px/1.5 var(--sans);letter-spacing:.22em;color:var(--brass-text);margin:0 0 10px}.fleet-choice .card :is(h1,.fleet-car-name){font:400 38px/1.08 var(--serif);margin:0 0 16px}.fleet-choice .card .line,.fleet-choice .card .cap,.fleet-choice .card .prices,.fleet-choice .card .car-page-link{margin-left:0;margin-right:0}
.fleet-showcase.is-carousel .fleet-deck{display:grid}.fleet-showcase.is-carousel .fleet-choice{grid-area:1/1;margin:0}.fleet-navigation{display:flex;align-items:center;justify-content:center;gap:24px;max-width:1240px;width:100%;margin:auto}.fleet-tabs{display:flex;justify-content:center;gap:28px}.fleet-tabs a{font:400 10px/1.5 var(--sans);letter-spacing:.1em;min-height:44px;padding:13px 2px}.fleet-tabs a[aria-selected=true]{border-bottom:1px solid var(--brass-text);color:var(--brass-text)}.fleet-prev,.fleet-next{min-width:48px;padding:12px;font-size:18px!important}.fleet-prev::after,.fleet-next::after{display:none}
.fleet-showcase .fleet-note{margin:0;text-align:center;font-size:10px;line-height:1.6}.fleet-choice .car img{object-position:center!important}
@media(min-width:900px){.fleet-showcase{position:relative}.fleet-showcase :is(.fleet-prev,.fleet-next){position:absolute;top:var(--deck-mid,45%);transform:translateY(-50%)}.fleet-showcase .fleet-prev{left:max(12px,calc(50% - 680px))}.fleet-showcase .fleet-next{right:max(12px,calc(50% - 680px))}}
@media(min-width:900px){.fleet-choice .card{display:grid;grid-template-columns:minmax(0,55fr) minmax(0,45fr);gap:0 28px;align-content:center}.fleet-choice .card>.car{grid-column:1;grid-row:1/span 9;align-self:center;border-radius:3px}.fleet-choice .card>:not(.car){grid-column:2}.fleet-choice .card .line{font-size:14px;line-height:1.6;margin-bottom:10px}.fleet-choice .card .cap{font-size:12px;margin-bottom:14px}.fleet-choice .card .car-page-link{font-size:11px;margin-bottom:8px}.fleet-choice .prices{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin:0}.fleet-choice .prices li{display:block;padding:9px 0}.fleet-choice .prices .lbl{display:block;font-size:10px;line-height:1.5;margin-bottom:3px}.fleet-choice .prices .pr{display:block;font-size:17px}.fleet-choice .price-detail{font-size:10px;margin-top:2px}}
@media(max-width:899px){.fleet-showcase{padding:26px 20px;min-height:0}.fleet-choice .card{padding:8px 8px 18px}.fleet-choice .card>:not(.car){margin-left:16px;margin-right:16px}.fleet-choice .card .fleet-kicker{margin-top:20px}.fleet-choice .card :is(h1,.fleet-car-name){font-size:31px}.fleet-navigation{gap:8px}.fleet-tabs{gap:12px;flex-wrap:wrap}.fleet-tabs a{font-size:9px;padding:10px 0;min-height:38px}.fleet-prev,.fleet-next{flex:none}.fleet-showcase .fleet-note{font-size:10px}}/* Advisor terms and steps share one composed screen. */



.advisor-screen{min-height:calc(100svh - var(--hh));display:grid;align-content:center;padding:36px 40px}.advisor-composition{max-width:1240px;width:100%}.advisor-columns{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center}.advisor-terms h1{font-size:48px;font-weight:400;margin-bottom:18px}.advisor-terms>.page-lead{font-size:14px;line-height:1.6;text-align:left;margin:0 0 16px}.advisor-terms .advisor-quote{font-size:23px;line-height:1.4;text-align:left;margin:0 0 18px}.advisor-terms .points{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin-top:0}.advisor-terms .points>div{font-size:12px;line-height:1.6;padding-top:12px}.advisor-terms .points strong{font-size:13px}.advisor-terms .ph-note{font-size:10px;margin-top:14px;text-align:left;line-height:1.6}.advisor-how h2.sec{font-size:34px;text-align:left;margin-bottom:24px}.advisor-how .steps{grid-template-columns:1fr;gap:24px;margin:0}.advisor-how .steps li{position:relative;padding:12px 0 0 44px;font-size:13px;line-height:1.65}.advisor-how .steps li::before{position:absolute;left:0;top:8px;font-size:34px}.advisor-how .steps strong{font-size:14px}.advisor-screen .trust-row{margin:28px 0 20px;padding:14px 0;gap:12px 24px;font-size:9px}.advisor-action{text-align:right}
@media(max-width:899px){.advisor-screen{min-height:0;padding:32px 20px}.advisor-columns{grid-template-columns:1fr;gap:36px}.advisor-terms h1{font-size:40px}.advisor-terms .points{grid-template-columns:1fr}.advisor-terms .points>div{font-size:14px}.advisor-how .steps li{font-size:14px}.advisor-screen .trust-row{display:grid;text-align:left;gap:12px}.advisor-action{text-align:left}}/* Services: a stable text panel over the existing calm night map. */



.services-screen{position:relative;isolation:isolate;min-height:calc(100svh - var(--hh));padding:36px 40px;color:var(--on-navy);background:var(--navy);display:grid;align-content:start;overflow:hidden}.services-map-backdrop{position:absolute;inset:0;z-index:-1}.services-map-backdrop .arrivals-illustration{width:100%;height:100%;max-width:none;border:0;border-radius:0;margin:0}.services-map-backdrop .arrivals-map{height:100%}.services-map-backdrop .arrivals-attribution{bottom:4px}
.services-content{width:min(580px,45%);max-width:580px}.services-panel{padding:26px 26px 22px;background:rgba(17,26,44,.92);border:1px solid rgba(212,178,118,.5);border-radius:3px}.services-panel h1{color:var(--on-navy);font-size:42px;font-weight:400;margin-bottom:12px}.services-panel>p{font-size:14px;line-height:1.6;margin-bottom:22px}.services-tabs{display:flex;gap:8px;margin-bottom:20px}.services-tabs a{flex:1;min-width:0;color:var(--on-navy);font:400 9px/1.4 var(--sans);padding:8px 2px;min-height:64px;border-bottom:1px solid transparent}.services-tabs img{margin:0 0 9px;width:24px;height:24px}.services-tabs a[aria-selected=true]{color:var(--brass-on-navy);border-bottom-color:var(--brass-on-navy)}.service-tabpanel h3{font-size:27px;color:var(--on-navy);font-weight:400;margin-bottom:14px}.service-tabpanel p{font-size:14px;line-height:1.7;margin:0}.services-panel>.btn{margin-top:24px}
.services-screen.is-tabs .service-copy-grid{display:grid}.services-screen.is-tabs .service-tabpanel{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility 0s linear .15s}.services-screen.is-tabs .service-tabpanel.is-active{opacity:1;visibility:visible;transition-delay:.15s,0s}.services-privacy{padding:14px 2px 0}.services-privacy h2{font:400 10px/1.4 var(--sans);letter-spacing:.14em;color:var(--brass-on-navy);margin-bottom:8px}.services-privacy ul{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;font-size:10px;line-height:1.5}.services-privacy li{flex:1 1 240px}.services-privacy .ph-note{font-size:9px;line-height:1.5;margin-top:8px;color:var(--brass-on-navy)}.services-panel .ph{color:var(--brass-on-navy)}
@media(max-width:899px){.services-screen{min-height:0;padding:22px 20px 80px}.services-content{width:100%;max-width:580px}.services-panel{padding:22px 18px}.services-panel h1{font-size:36px}.services-tabs{overflow-x:auto;gap:16px;margin-left:-4px;margin-right:-4px;padding:0 4px 4px}.services-tabs a{flex:0 0 105px;font-size:10px}.services-privacy{background:rgba(17,26,44,.9);padding:16px 18px}.services-map-backdrop .arrivals-illustration{height:min(100%,700px)}.services-map-backdrop .arrivals-attribution{font-size:7px}}/* Enquiry fields/settings are unchanged; only the composition is compacted. */



body #enquire.enquiry-screen{min-height:calc(100svh - var(--hh));display:grid;align-content:center;padding:36px 40px}.enquiry-composition{width:100%;max-width:1240px;margin:auto;display:grid;grid-template-columns:35fr 65fr;gap:32px}.enquiry-aside{background:var(--navy);color:var(--on-navy);padding:34px 28px;border:1px solid var(--brass);border-radius:3px}.enquiry-aside h1.sec{color:var(--on-navy);font-size:42px;text-align:left;margin-bottom:24px}.enquiry-aside .page-lead,.enquiry-aside>p{font-size:14px;line-height:1.7;text-align:left;margin:0 0 22px}.enquiry-aside>p:last-child{font-size:11px;margin-top:38px}.enquiry-aside .ph{color:var(--brass-on-navy)}.enquiry-aside .alongside{display:grid;gap:12px;font-size:12px;margin:22px 0}.enquiry-aside .alongside span:has(a:not([href])){display:none}
.enquiry-form-panel{min-width:0}.enquiry-form-panel form{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 20px}.enquiry-form-panel fieldset,.enquiry-form-panel .fields{display:contents}.enquiry-form-panel legend{grid-column:1/-1;font:400 10px/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--brass-text);margin:0;padding:0}.enquiry-form-panel .field{min-width:0}.enquiry-form-panel .field label,.enquiry-form-panel .field .lab{font:400 9px/1.5 var(--sans);letter-spacing:.08em;color:var(--brass-text);text-transform:uppercase;display:block;margin-bottom:4px}.enquiry-form-panel .field .opt{font-size:8px;letter-spacing:0}.enquiry-form-panel .field :is(input:not([type=checkbox]),select,textarea,.date-toggle){width:100%;min-height:38px;padding:6px 0;border:0;border-bottom:1px solid var(--brass-text);border-radius:0;background:transparent;box-shadow:none;color:var(--navy);font:400 13px/1.5 var(--sans)}.enquiry-form-panel .field textarea{height:52px;min-height:52px;resize:vertical}.enquiry-form-panel .enquiry-needs{grid-column:span 2;margin-top:0!important}.enquiry-form-panel .enquiry-notes{grid-column:1/-1;margin-top:0!important}.enquiry-form-panel .checks{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:4px}.enquiry-form-panel .checks label{display:inline-flex;align-items:center;gap:6px;padding:7px 8px;margin:0;border:1px solid var(--brass-line-on-ivory);border-radius:3px;font-size:9px;letter-spacing:0;text-transform:none;min-height:34px}.enquiry-form-panel .checks label:has(input:checked){background:var(--navy);color:var(--on-navy);border-color:var(--brass)}.enquiry-form-panel .checks input{width:13px;height:13px;accent-color:var(--brass-text)}.enquiry-form-panel .form-foot{grid-column:1/-1;margin:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.enquiry-form-panel .form-msg{width:100%}
@media(max-width:899px){body #enquire.enquiry-screen{min-height:0;padding:24px 20px}.enquiry-composition{grid-template-columns:1fr;gap:28px}.enquiry-aside{padding:26px 22px}.enquiry-aside h1.sec{font-size:36px}.enquiry-form-panel form{grid-template-columns:1fr;gap:18px}.enquiry-form-panel .enquiry-needs{grid-column:1}.enquiry-form-panel .field :is(input:not([type=checkbox]),select,.date-toggle){min-height:44px;font-size:16px}.enquiry-form-panel .checks label{min-height:44px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.service-tabpanel,.services-screen.is-tabs .service-tabpanel{transition:none!important}}
.services-screen{grid-template-columns:minmax(0,1fr)}.services-content,.services-panel{min-width:0}.services-privacy{background:rgba(17,26,44,.9);padding:14px 18px;border-radius:0 0 3px 3px}
#enquire .enquiry-aside h1.sec{text-align:left;font-size:42px}
.enquiry-aside .alongside:not(:has(a[href])){display:none}
.enquiry-form-panel .checks input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;width:16px;height:16px;border:0;border-radius:0;padding:0;background:transparent;accent-color:var(--brass-text)}
.day-hire-points{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;list-style:none;margin:20px 0 0}.day-hire-points li{min-width:0;font:400 12px/1.6 var(--sans)}.day-hire-points strong{display:block;color:var(--brass-on-navy);font:400 9px/1.6 var(--sans);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}.day-hire-points span{display:block}
@media(max-width:899px){.day-hire-points{grid-template-columns:1fr;gap:18px}.day-hire-points li{font-size:14px}.day-hire-points strong{font-size:10px}}/* T-049: ivory Home panel, real small vehicles and complete page chapters. */


.home-services .service-preview-panel{background:var(--cream);color:var(--navy);border:1px solid var(--brass);box-shadow:0 14px 40px rgba(0,0,0,.25)}.home-services .service-preview-panel .sec,.home-services .service-preview-panel>p{color:var(--navy)}.home-services .service-preview-panel .btn.light{--button-label:var(--navy);--button-edge:var(--brass-text);--button-fill:transparent}
.arrivals-live-car{width:60px;height:30px}.arrivals-car-visual.arrivals-black-car{position:relative;width:60px;height:30px;margin:0;background:none;box-shadow:none;border-radius:0}.arrivals-black-car::before{content:"";position:absolute;left:29%;right:29%;top:29%;bottom:29%;border-radius:50%;background:rgba(212,178,118,.35);box-shadow:0 0 7px 4px rgba(212,178,118,.32);pointer-events:none}.arrivals-black-car svg{position:relative;filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}.arrivals-black-car .car-black-body{stroke:#D4B276;stroke-width:1}.arrivals-black-car .car-headlights{stroke:#FFF2D6;stroke-width:2}
@media(max-width:899px){.arrivals-live-car,.arrivals-car-visual.arrivals-black-car{width:54px;height:27px}}
.fleet-deck{overflow:clip}
.document-chapter{padding:0;min-width:0}.document-scroll{min-width:0;max-width:none;width:100%}.document-scroll>.rc{width:100%;margin:auto}.document-scroll .rc-head{padding-top:24px;padding-bottom:24px}.document-scroll .rc-head img{max-height:80px;width:auto;margin-bottom:20px}
@media(min-width:900px){
 body.chapter-pages .chapter[data-chapter]{min-height:calc(100svh - var(--hh))}
 .services-screen.chapter{padding-top:28px;padding-bottom:28px}
}
@media(max-width:899px){
 body.chapter-pages .chapter[data-chapter].is-fit-chapter{min-height:calc(100svh - var(--hh))}body.chapter-pages .chapter-long{min-height:0}
 .document-chapter{padding:0}.document-scroll{height:auto;overflow:visible}
 .menu-btn{min-height:38px;padding:8px 14px;font-size:9px}.car-section-menu summary{min-height:38px;min-width:112px;padding:8px 14px;font-size:9px}.car-sections-list{top:44px}
 .photo-caption{max-width:calc(100vw - 64px);left:32px;right:32px;background:rgba(17,26,44,.7);padding:10px 12px}.photo-caption small{font-size:10px;letter-spacing:.12em}.photo-caption p{font-size:20px;line-height:1.2}
 .fleet-showcase{display:flex;flex-direction:column;align-items:stretch;padding:16px 20px 24px;gap:12px}.fleet-navigation{order:-1;position:sticky;top:var(--hh);z-index:45;padding:8px 0;background:var(--cream);gap:8px}.fleet-tabs{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;gap:12px;min-width:0}.fleet-tabs a{flex:none;font-size:9px;min-height:38px;padding:10px 0}.fleet-showcase .fleet-navigation .btn{min-height:38px;min-width:38px;padding:8px;font-size:16px!important}
 .fleet-choice .card{padding:6px 6px 14px}.fleet-choice .card>:not(.car){margin-left:12px;margin-right:12px}.fleet-choice .card .fleet-kicker{margin-top:12px;margin-bottom:5px;font-size:8px}.fleet-choice .card :is(h1,.fleet-car-name){font-size:28px;margin-bottom:8px}.fleet-choice .card .car-page-link{font-size:11px;margin-bottom:5px}.fleet-choice .card .line{font-size:12px;line-height:1.5;margin-bottom:6px}.fleet-choice .card .cap{font-size:11px;line-height:1.5;margin-bottom:10px}
 .fleet-choice .card .prices{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;margin-top:0;margin-bottom:0}.fleet-choice .prices li{display:block;padding:8px 0}.fleet-choice .prices .lbl{display:block;font-size:12px;line-height:1.35;margin-bottom:3px}.fleet-choice .prices .pr{display:block;font-size:20px;line-height:1.3}.fleet-choice .price-detail{font-size:10px;line-height:1.4;margin-top:2px}
 .sclass-details-table th{font-size:12px;line-height:1.35}.sclass-details-table td [data-rate]{font-size:20px;line-height:1.4}.sclass-details-table td .price-detail{font-size:10px}.quote label{font-size:9px}
}
.car-detail-page .car-door-heading{background:none}.car-detail-page .car-door-exterior{background:transparent;overflow:visible}
body.car-detail-page .car-door-exterior::before{inset:-35px;top:calc(-1 * var(--car-title-height,160px) - 35px)}
.door-story:not(.is-animated) .car-door-exterior::before{top:0;mask-image:linear-gradient(transparent,#000 60px,#000 calc(100% - 60px),transparent)}

.door-story:not(.is-animated) :is(.car-door-open,.car-door-closed){height:calc(100svh - var(--hh) - var(--car-title-height,160px))}
.door-story:not(.is-animated) :is(.car-door-open,.car-door-closed) picture{width:min(96%,calc((100svh - var(--hh) - var(--car-title-height,160px))*1.7762))}
@media(max-width:899px){#enquire .enquiry-aside h1.sec{font-size:36px}}
.services-content{width:min(400px,40%);max-width:400px}.services-panel{background:rgba(17,26,44,.85);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);padding:24px 22px}.services-panel>p{font-size:13px;margin-bottom:16px}.services-tabs{gap:8px}.services-tabs a{font-size:9px}.service-tabpanel p{font-size:13px}.service-tabpanel h3{font-size:25px}
.services-panel .services-privacy{padding:14px 0 0;margin-top:18px;border-top:1px solid rgba(212,178,118,.4);border-radius:0;background:none}.services-privacy summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;cursor:pointer;font:400 11px/1.5 var(--sans);color:var(--brass-on-navy);list-style:none}.services-privacy summary::-webkit-details-marker{display:none}.services-privacy[open] summary span{transform:rotate(90deg)}.services-privacy ul{margin-top:8px}.services-privacy li{flex-basis:100%}
@media(max-width:899px){.services-content{width:100%;max-width:400px}.services-screen{padding-bottom:330px}.services-map-backdrop{top:auto;bottom:0;height:300px}.services-map-backdrop .arrivals-illustration{height:100%}.services-panel{padding:22px 18px}.services-panel>p,.service-tabpanel p{font-size:14px}.services-tabs a{font-size:10px}}
.sclass-booking .quote{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:20px;padding:16px 20px;box-shadow:none;max-width:none;width:100%;margin:0}.sclass-booking .quote label{font-size:9px;margin-bottom:4px}.sclass-booking .quote input,.sclass-booking .date-toggle{font-size:14px;min-height:40px}.sclass-booking .quote .btn{min-height:48px;padding:12px 22px;align-self:center}
.car-cabin-section:has(.sclass-details-panel){padding-bottom:0}
@media(max-width:767px){
 .home-services{padding:0 20px 30px}.service-preview-panel{width:100%;max-width:100%;padding:20px}.service-preview-panel .sec{font-size:32px}.service-preview-panel>p{font-size:18px}.service-preview-items{gap:8px}.service-preview-items li{font-size:9px}
 .sclass-details-panel{min-height:0;padding:54px 20px 30px}.sclass-details-panel .sec{font-size:36px;margin-bottom:24px}.sclass-details-grid{grid-template-columns:1fr;grid-template-areas:'text' 'luggage' 'table' 'extra';gap:24px}.sclass-details-text p{font-size:14px}.sclass-details-table{font-size:13px}.sclass-details-table th,.sclass-details-table td{padding:10px 0}.sclass-details-table th{font-size:8px;width:33%}.sclass-details-luggage h3{font-size:26px}.sclass-details-luggage .luggage-options button{flex-basis:140px}.sclass-booking{margin-top:26px}.sclass-booking .quote{grid-template-columns:1fr;gap:12px;padding:16px}.sclass-booking .quote input,.sclass-booking .date-toggle{font-size:15px;min-height:44px}.sclass-booking .quote .btn{width:100%}
.car-detail-page .sclass-details-panel.sclass-details-panel{min-height:0;padding:54px 20px 30px}
 .sclass-details-table th{font-size:12px;line-height:1.35}
}/* T-050: quiet Fleet controls, captions clear of the seats, compact phone footer. */


.fleet-showcase .fleet-navigation .btn,.fleet-showcase .car .arrow{border:0!important;box-shadow:none;background:none!important;color:var(--navy)!important;font:300 30px/1 var(--serif)!important;opacity:.55}.fleet-showcase .fleet-navigation .btn::before,.fleet-showcase .fleet-navigation .btn::after,.fleet-showcase .car .arrow::before,.fleet-showcase .car .arrow::after{display:none}.fleet-showcase .fleet-navigation .btn:hover,.fleet-showcase .car .arrow:hover{opacity:1}
.dots{bottom:4px;gap:0}.dots button{display:grid;place-items:center;width:32px;height:32px;border:0;background:none;padding:0;cursor:pointer}.dots button::after{content:'';width:7px;height:7px;border:1px solid rgba(17,26,44,.3);border-radius:50%;background:rgba(255,255,255,.8)}.dots button.on::after{background:var(--navy)}
@media(max-width:899px){
 .fleet-showcase .fleet-navigation .fleet-prev,.fleet-showcase .fleet-navigation .fleet-next{display:none}.fleet-navigation{padding:4px 0}.fleet-tabs{width:100%;justify-content:center;gap:22px}.fleet-tabs a{min-height:36px;font-size:10px;padding:9px 0}.fleet-showcase .car .arrow{opacity:.3}
 .closing-footer.chapter,body.chapter-pages .closing-footer.chapter{padding:12px 20px;align-content:start;min-height:calc(100svh - var(--hh));margin-top:0}.closing-footer .footer-layout{gap:8px;width:100%;grid-template-columns:1fr;grid-template-areas:'scene' 'info' 'actions' 'bottom'}.closing-footer .closing-scene{width:min(55vw,max(80px,calc((100svh - var(--hh) - 388px)*.6667)));height:auto;aspect-ratio:2/3;max-width:none}.closing-footer img.footer-wordmark{width:140px;margin:auto}.closing-footer .footer-actions{max-width:none}.closing-footer .closing-links{grid-template-columns:1fr;gap:14px;padding:4px 0}.closing-footer .closing-links a{min-height:0;padding:0;justify-content:center;font:400 12px/1.4 var(--sans);letter-spacing:.14em;white-space:nowrap}.closing-footer .footer-bottom{padding-top:4px}.closing-footer .footer-bottom::before{margin:0 auto 12px}.closing-footer .legal{font-size:11px;line-height:1.5}.closing-footer .footer-copyright{font-size:11px;line-height:1.5;margin-top:8px}
 body.chapter-pages .home-closing-quote.chapter[data-chapter].is-fit-chapter{min-height:0;padding:30px 20px}
}
@media(max-width:767px) and (orientation:portrait){
 .car-detail-page .car-photo-layer{--cabin-photo-width:min(94.34vw,calc((100svh - var(--hh))*var(--photo-ratio)*.90566))}.car-detail-page .car-photo-layer>.photo-foreground{top:calc(50% - 52px)}.car-detail-page .photo-caption{top:calc(50% - 52px + var(--cabin-photo-width)/var(--photo-ratio)*.53 + 18px);bottom:auto;background:none;padding:0;left:32px;right:32px}
}/* T-051: approved amenities reserve the same space before and after icons arrive. */


.amenity-row{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:10px 0 12px;padding:0}.amenity-row li{display:flex;align-items:center;gap:6px;min-width:0;font:400 9px/1.4 var(--sans);letter-spacing:.065em;text-transform:uppercase;color:var(--grey-on-ivory)}.amenity-symbol{position:relative;display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px}.amenity-symbol::before{content:'';width:3px;height:3px;border-radius:50%;background:var(--brass-text)}.amenity-symbol.has-icon::before{display:none}.amenity-icon{width:30px;height:30px;object-fit:contain}.sclass-details-extra .amenity-row{margin:0 0 8px}.mini-fleet-card .amenity-row{gap:4px 8px;margin-bottom:0}.mini-fleet-card .amenity-row li{font-size:9px;letter-spacing:.03em}.advisor-pa{font:400 13px/1.6 var(--sans);margin-top:16px}.advisor-screen .trust-row>li{display:flex;align-items:center;justify-content:center;gap:8px}
@media(min-width:900px){.fleet-choice .amenity-row,.sclass-details-extra .amenity-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.fleet-choice .amenity-row li,.sclass-details-extra .amenity-row li{font-size:9px}.fleet-choice .amenity-symbol,.sclass-details-extra .amenity-symbol{flex-basis:30px}}


@media(max-width:899px){.advisor-screen .trust-row>li{justify-content:flex-start}.advisor-pa{font-size:14px}.amenity-row li{font-size:9px}.mini-fleet-card .amenity-row li{font-size:9px}}
.amenity-row li>span:last-child{min-width:0;overflow-wrap:anywhere}
@media(max-width:767px){.mini-fleet-card .amenity-row{grid-template-columns:1fr}}/* T-052: supplied engraved medallions retain their colours and circular edges. */
/* T-053 keeps the short Home standards and quotation content with its chapter. */



.home-closing-footer .home-closing-quote.home-closing-quote{background:none}
body[data-page="home"] .home-advisors{padding:0;display:flex;flex-direction:column;justify-content:space-between}.home-advisors>.chapter-inner{padding:38px 24px;flex:1;display:grid;align-content:center}.home-advisors .sec{margin-bottom:40px}.home-advisors .advisor-preview-columns{margin-bottom:32px}.home-trust-band{width:100%;background:#0D1524;padding:22px 28px}.home-trust-band>.wrap{max-width:1320px}.home-trust-band .trust-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;border:0;margin:0;padding:0;color:var(--brass-on-navy)}.home-trust-band .trust-row>li{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:0;font:400 9px/1.45 var(--sans);letter-spacing:.025em}.home-trust-band .trust-row .medallion{width:56px;height:56px;flex-basis:56px}
body[data-page="home"] .home-closing-quote{color:var(--on-navy);background:var(--navy);padding:28px 20px;scroll-margin-top:var(--hh)}.home-closing-quote h2.sec{color:var(--on-navy);font-size:36px;margin-bottom:10px}.home-closing-quote> .wrap{width:100%;max-width:1200px}.home-closing-quote p{font-size:14px;margin-bottom:18px}.home-closing-quote .quote{margin:0 auto;max-width:none}.home-closing-footer .home-closing-quote{grid-area:quote;padding:0;background:none;width:100%}.home-closing-footer .footer-layout{grid-template-columns:minmax(0,1fr) clamp(200px,25svh,260px) minmax(0,1fr);grid-template-areas:'quote quote quote' 'info scene actions' 'bottom bottom bottom';gap:24px 32px;width:100%}.home-closing-footer .closing-scene{width:100%;height:auto;aspect-ratio:2/3;max-width:none}.home-closing-footer.chapter{padding:28px 36px}.home-closing-footer .footer-bottom{padding-top:0}.home-closing-footer .footer-bottom::before{margin-bottom:12px}
@media(max-width:899px){.home-advisors>.chapter-inner{padding:30px 20px}.home-advisors .sec{margin-bottom:28px}.home-trust-band{padding:22px 20px}.home-trust-band .trust-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.home-trust-band .trust-row .medallion{width:48px;height:48px;flex-basis:48px}.home-trust-band .trust-row>li{font-size:8px;line-height:1.5}.home-closing-footer.chapter,body.chapter-pages .home-closing-footer.chapter{height:auto;min-height:0;padding:24px 20px}.home-closing-footer .footer-layout{grid-template-columns:1fr;grid-template-areas:'quote' 'scene' 'info' 'actions' 'bottom';gap:18px}.home-closing-footer .closing-scene{width:min(55vw,220px);height:auto;aspect-ratio:2/3}.home-closing-footer .home-closing-quote h2{font-size:32px}.home-closing-footer .home-closing-quote p{font-size:13px}}
.amenity-symbol::before,.amenity-symbol .medallion{grid-area:1/1}
@media(max-width:899px){.fleet-choice .capacity-item{align-items:flex-start}}
@media(min-width:900px){.car-detail-page .sclass-details-panel.sclass-details-panel{padding-top:40px}}
.medallion{display:block;flex:0 0 48px;width:48px;height:48px;line-height:0}.medallion img{display:block;width:100%;height:100%;object-fit:contain;filter:none}.mini-fleet-card p{align-items:center}.mini-fleet-card .medallion{flex-basis:48px}.trust-row .medallion{width:64px;height:64px;flex-basis:64px}.advisor-screen .trust-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.advisor-screen .trust-row>li{flex-direction:column;gap:8px;align-items:center;justify-content:flex-start}.advisor-screen .trust-row>li>span{min-width:0}.advisor-contact{display:flex;gap:12px;align-items:center}.advisor-preview-columns .medallion{justify-self:center}.advisor-preview-columns>div:last-child{position:relative}.advisor-preview-columns>div:last-child .medallion{position:absolute;left:50%;top:-32px;transform:translateX(-50%)}
.service-preview-items .medallion,.services-tabs .medallion{width:56px;height:56px;flex-basis:56px}.services-tabs .medallion{margin-bottom:9px}.services-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}.services-tabs a{min-width:0}.services-tabs img{width:100%;height:100%;margin:0}.capacity-row{display:flex;gap:12px;align-items:flex-start}.capacity-item{display:flex;gap:8px;align-items:center;min-width:0}.capacity-item:first-child{flex:0 0 132px}.capacity-item:last-child{flex:1}.capacity-divider{display:none}.detail-label{display:flex;align-items:center;gap:8px}.sclass-details-table .medallion{width:40px;height:40px;flex-basis:40px}.detail-label .medallion{flex-shrink:0}.amenity-symbol{width:40px;height:40px;flex-basis:40px}.amenity-symbol .medallion{width:40px;height:40px;flex-basis:40px}.amenity-symbol:has(.medallion)::before{display:none}.amenity-icon{width:40px;height:40px}.fleet-choice .amenity-symbol,.sclass-details-extra .amenity-symbol{flex-basis:40px}.mini-fleet-card .amenity-row li{gap:6px}.mini-fleet-card .amenity-symbol .medallion{flex-basis:40px}
@media(max-width:899px){
 .medallion,.mini-fleet-card .medallion{width:40px;height:40px;flex-basis:40px}.trust-row .medallion{width:48px;height:48px;flex-basis:48px}.service-preview-items .medallion,.services-tabs .medallion{width:48px;height:48px;flex-basis:48px}.services-tabs{gap:8px;margin:0 0 20px;padding:0;overflow:visible}.services-tabs a{padding:6px 0;flex:initial;font-size:9px;overflow-wrap:anywhere}.services-tabs .medallion{margin-bottom:8px}.advisor-screen .trust-row{grid-template-columns:1fr}.advisor-screen .trust-row>li{flex-direction:row;align-items:center;justify-content:flex-start;text-align:left}.capacity-row{gap:8px}.capacity-item{gap:6px}.capacity-item:first-child{flex-basis:120px}.capacity-item .medallion{width:36px;height:36px;flex-basis:36px}.amenity-symbol,.amenity-symbol .medallion,.mini-fleet-card .amenity-symbol .medallion{width:36px;height:36px;flex-basis:36px}.amenity-icon{width:36px;height:36px}.fleet-choice .amenity-symbol,.sclass-details-extra .amenity-symbol{flex-basis:36px}.advisor-preview-columns>div:last-child .medallion{position:static;transform:none}.advisor-contact{gap:10px}
}/* T-054: one amenity line and clear photograph controls. */



.fleet-amenities{display:flex;align-items:center;justify-content:center;gap:20px;max-width:1240px;width:100%;margin:0 auto 16px}
.fleet-amenities-title{flex:none;font:400 10px/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--grey-on-ivory)}
.fleet-amenities .amenity-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin:0}
.fleet-amenities .amenity-row li{font-size:9px;letter-spacing:.04em}
.fleet-amenities .amenity-symbol,.fleet-amenities .amenity-symbol .medallion,.fleet-amenities .amenity-icon{width:32px;height:32px;flex-basis:32px}
.mini-fleet-card :is(.medallion-seat,.medallion-suitcase),.fleet-choice .capacity-item .medallion{width:32px;height:32px;flex-basis:32px}
.mini-fleet-card>.car{padding:0;margin:0;border-radius:0;aspect-ratio:1400/788}
.mini-fleet-card .car .slide{min-height:0}
.mini-fleet-card h3 a,.fleet-choice :is(h1,.fleet-car-name) a{color:inherit}
.more-layouts{display:block;border:0;padding:5px 0 0;background:none;color:var(--brass-text);font:400 10px/1.5 var(--sans);cursor:pointer;text-align:left;white-space:nowrap}
.more-layouts:hover{text-decoration:underline}.more-layouts:focus-visible{outline:1px solid var(--brass-text);outline-offset:3px}
.car-explore{font-size:9px!important;letter-spacing:.13em;min-height:36px;padding:10px 26px 10px 14px}
.mini-fleet-card .car-explore{margin-top:12px;width:100%;text-align:center;white-space:normal}
.mini-fleet-card h3{font-size:25px;min-height:54px}
.fleet-choice .capacity-item:first-child{flex-basis:132px}
body :is(.mini-fleet-card,.fleet-showcase) .car .arrow{z-index:3;width:32px;height:32px;min-height:32px;padding:0;border:1px solid rgba(212,178,118,.55)!important;border-radius:50%!important;background:rgba(17,26,44,.78)!important;color:var(--brass)!important;opacity:1;box-shadow:0 2px 8px rgba(0,0,0,.2)!important;font-size:0!important}
body :is(.mini-fleet-card,.fleet-showcase) .car .arrow::before{content:'';display:block;width:7px;height:7px;border:solid var(--brass);border-width:1px 1px 0 0;border-radius:0;background:none;position:static;transform:rotate(45deg);transition:none}
body :is(.mini-fleet-card,.fleet-showcase) .car .arrow.l::before{transform:rotate(-135deg)}
body :is(.mini-fleet-card,.fleet-showcase) .car .arrow:hover{background:rgba(17,26,44,.95)!important}
body :is(.mini-fleet-card,.fleet-showcase) .car .arrow:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
@media(max-width:899px){.fleet-amenities{display:block;text-align:center;margin:6px auto 16px}.fleet-amenities-title{display:block;margin-bottom:8px}.fleet-amenities .amenity-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;max-width:440px;margin:auto}.fleet-amenities .amenity-row li{text-align:left;justify-content:flex-start}.mini-fleet-card h3{font-size:21px;min-height:68px}.mini-fleet-card .car-explore{font-size:8px!important;padding:10px 18px 10px 8px}.more-layouts{min-height:32px;padding-top:6px}body :is(.mini-fleet-card,.fleet-showcase) .car .arrow{width:44px;height:44px;min-height:44px}body .mini-fleet-card .car .arrow.l{left:3px}body .mini-fleet-card .car .arrow.r{right:3px}}

.arrivals-label.is-panel-covered{visibility:hidden}

/* T-056: Calin's phone adjustments; desktop medallions stay unchanged. */
.fleet-showcase .fleet-navigation :is(.fleet-prev,.fleet-next){font-size:60px!important;font-weight:400!important}
@media(max-width:899px){
 .trust-row .medallion,.home-trust-band .trust-row .medallion{width:29px;height:29px;flex-basis:29px}
 .home-trust-band{padding:14px 20px}.home-trust-band .trust-row{gap:12px 14px}.home-trust-band .trust-row>li{gap:6px}
 .advisor-screen .trust-row{gap:8px 12px;margin-top:18px;margin-bottom:14px;padding:10px 0}
 .home-services .service-preview-items{grid-template-columns:1fr;gap:8px;margin-bottom:16px}
 .home-services .service-preview-items li{flex-direction:row;align-items:center;font-size:10px;gap:8px}
 .home-services .service-preview-items .medallion{display:none}.home-services .service-preview-items li::before{content:'';width:3px;height:3px;flex:0 0 3px;border-radius:50%;background:var(--brass-text)}
 .mini-fleet-card :is(.medallion-seat,.medallion-suitcase),.fleet-choice .capacity-item .medallion{display:none}
 .mini-fleet-card p{gap:0}.fleet-choice .capacity-item{gap:0}.fleet-choice .capacity-item:first-child{flex-basis:92px}
 body :is(.mini-fleet-card,.fleet-showcase) .car .arrow{background:transparent!important;border:0!important;box-shadow:none!important}
 body :is(.mini-fleet-card,.fleet-showcase) .car .arrow::after{content:'';display:block;position:absolute;inset:7px;border-radius:50%;border:1px solid rgba(212,178,118,.55);background:rgba(17,26,44,.78);box-shadow:0 2px 8px rgba(0,0,0,.2);pointer-events:none}
 body :is(.mini-fleet-card,.fleet-showcase) .car .arrow::before{z-index:1}
 body :is(.mini-fleet-card,.fleet-showcase) .car .arrow:hover{background:transparent!important}
 body :is(.mini-fleet-card,.fleet-showcase) .car .arrow:hover::after{background:rgba(17,26,44,.95)}
 .hero-anim .hero{height:150svh}
}

/* T-058: itinerary estimates use the existing ivory, navy and brass controls. */
.calculator-section{padding:44px 32px;min-height:calc(100svh - var(--hh));scroll-margin-top:var(--hh)}
.calculator-section>.wrap{max-width:1240px}.calculator-section .sec{text-align:left;font-size:42px;margin-bottom:12px}.calculator-intro{font-size:14px;margin-bottom:24px}
.calculator-journey{position:relative;min-width:0;border:1px solid var(--brass-line-on-ivory);border-radius:3px;background:rgba(255,255,255,.5);padding:22px;margin:0 0 24px}
.calculator-journey legend{font:400 18px var(--serif);padding:0 10px}.calculator-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 18px}
.calculator-section .field{min-width:0}.calculator-section .field label{display:block;margin-bottom:5px;font:400 9px/1.5 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--brass-text)}
.calculator-section .field :is(input,select,.date-toggle){width:100%;min-width:0;min-height:44px;border:0;border-bottom:1px solid var(--brass-text);border-radius:0;background:transparent;color:var(--navy);font:400 14px/1.5 var(--sans);padding:8px 0}
.calculator-section .field :is(input,select):focus-visible{outline:2px solid var(--brass-text);outline-offset:3px}.calc-cases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.calc-cases>p{grid-column:1/-1;font-size:12px;margin:0}
.calc-stop{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:14px;align-items:end;padding:14px 0;border-top:1px solid var(--line)}
.calc-stop:has([data-calc=long-wait]:not(:disabled)) .field:has([data-calc=long-wait]):not([hidden]){grid-column:2}
.calc-remove{border:0;background:transparent;padding:10px;min-height:44px;color:var(--brass-text);font:400 10px/1.5 var(--sans);cursor:pointer;text-decoration:underline}.calc-remove-journey{display:block;margin-left:auto;margin-top:-12px;margin-bottom:12px}.calc-remove:focus-visible{outline:1px solid var(--brass-text);outline-offset:2px}
.calc-return{display:flex;align-items:center;gap:10px;padding:12px 0;min-height:44px;font-size:12px}.calc-return input{width:18px;height:18px;accent-color:var(--brass-text)}.calc-return-fields{grid-template-columns:1fr 1fr}.calc-return-note{grid-column:1/-1;font-size:12px;line-height:1.6}
.calculator-result{border-top:1px solid var(--brass-line-on-ivory);margin-top:14px;padding-top:14px}.calculator-result p{font:400 13px/1.8 var(--sans);margin:0 0 6px}.calculator-warning{color:var(--ink);font-style:italic!important}
.calculator-actions{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}.calculator-actions #calculator-add{justify-self:start}.calculator-total{grid-column:1/-1;font:400 20px/1.6 var(--serif)}.calculator-confirm{font:400 12px/1.7 var(--sans);margin:0;max-width:720px}.calculator-send-status{grid-column:1/-1;font:400 12px/1.6 var(--sans);margin:0}.calculator-section .btn:disabled{opacity:.6;cursor:wait}
.quote-price{font:400 11px/1.5 var(--sans);text-align:right;margin:8px 0 12px}.home-closing-quote .quote-price a{color:var(--brass-on-navy)}
@media(max-width:899px){.calculator-section{padding:28px 20px}.calculator-section .sec{font-size:34px}.calculator-journey{padding:14px}.calculator-fields{grid-template-columns:1fr 1fr;gap:14px 12px}.calculator-fields>.field:nth-child(-n+2){grid-column:1/-1}.calculator-section .field :is(input,select,.date-toggle){font-size:16px}.calc-cases{grid-template-columns:1fr 1fr}.calc-stop{grid-template-columns:1fr 1fr;gap:10px}.calc-stop>.field:first-child{grid-column:1/-1}.calc-stop>.calc-remove{justify-self:end}.calculator-actions{grid-template-columns:1fr}.calculator-actions #calculator-send{width:100%;min-height:48px}.calculator-total{font-size:21px}.quote-price{font-size:12px;text-align:left}.calc-return-fields>.field{grid-column:1/-1}}
@media(max-width:899px){.calculator-fields>.field:has([data-calc=car]){grid-column:1/-1}}
body.chapter-pages #calculator.calculator-section{height:auto;min-height:calc(100svh - var(--hh));align-content:start;overflow:visible}

/* T-060: prices stay beside the itinerary; field-specific notes stay beside their inputs. */
.calculator-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.calculator-edit{min-width:0}.calculator-actions{position:sticky;top:calc(var(--hh) + 18px);display:flex;flex-direction:column;align-items:stretch;gap:16px;padding:20px;border:1px solid var(--brass-line-on-ivory);background:var(--cream);max-height:calc(100svh - var(--hh) - 36px);overflow:auto;scroll-margin-top:calc(var(--hh) + 16px)}.calculator-actions h3{font:400 24px/1.3 var(--serif);margin:0}.calculator-actions ul{list-style:none;margin:0;padding:0}.calculator-actions li{display:grid;gap:4px;padding:10px 0;border-bottom:1px solid var(--brass-line-on-ivory);font:400 12px/1.5 var(--sans);overflow-wrap:anywhere}.calculator-actions li strong{font-weight:500}.calculator-total{font-size:21px;overflow-wrap:anywhere}.calculator-journey legend{max-width:100%;font-size:17px;line-height:1.5}.calculator-field-warning{border:1px solid var(--brass-text);padding:10px;margin-top:10px;font:400 12px/1.6 var(--sans)}.calculator-field-warning p{margin:0 0 8px}.calculator-field-warning .btn{min-height:44px;padding:8px;font-size:10px;letter-spacing:.04em;white-space:normal;line-height:1.6;width:100%}.calc-cases>.calculator-field-warning{grid-column:1/-1}.calculator-mobile-total{display:none}.calculator-actions[hidden],.calculator-field-warning[hidden]{display:none}
@media(max-width:899px){.calculator-layout{display:block}.calculator-actions{position:static;max-height:none;overflow:visible;margin-top:24px}.calculator-section{padding-bottom:96px}.calculator-mobile-total:not([hidden]){display:flex;position:fixed;z-index:46;bottom:0;left:0;right:0;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--brass-text);background:var(--cream);box-shadow:0 -4px 15px rgba(17,26,44,.08);font:400 13px/1.5 var(--sans)}.calculator-mobile-total span{min-width:0}.calculator-mobile-total .btn{flex:none;min-height:44px;padding:10px 14px}.calculator-journey legend{font-size:16px}}

.calculator-fields>.field:has(.calculator-field-warning:not([hidden])){grid-column:1/-1}

.calculator-summary-breakdown summary{cursor:pointer;min-height:32px;padding:6px 0;color:var(--brass-text)}.calculator-summary-breakdown p{font:400 12px/1.7 var(--sans);margin:8px 0;overflow-wrap:anywhere}
/* T-064: fade the map art, leaving the licence credit on its own solid strip. */
.services-map-backdrop{--map-fade-top:0px;--map-fade-bottom:120px}
.services-map-backdrop :is(.arrivals-vector,.arrivals-map){-webkit-mask-image:linear-gradient(to bottom,transparent,#000 var(--map-fade-top),#000 calc(100% - var(--map-fade-bottom)),transparent);mask-image:linear-gradient(to bottom,transparent,#000 var(--map-fade-top),#000 calc(100% - var(--map-fade-bottom)),transparent)}
.services-map-backdrop .arrivals-attribution{z-index:3;bottom:48px;background:rgba(17,26,44,.9);padding:3px 5px;color:var(--on-navy)}
@media(max-width:899px){.services-map-backdrop{--map-fade-top:35px;--map-fade-bottom:80px}.services-map-backdrop .arrivals-attribution{bottom:45px}}

/* T-061: one reusable route view, with saved-road SVG available when tiles cannot load. */
.calculator-route-panel{border-top:1px solid var(--brass-line-on-ivory);border-bottom:1px solid var(--brass-line-on-ivory);font:400 12px/1.6 var(--sans)}.calculator-route-panel>summary{cursor:pointer;padding:10px 0;min-height:44px;color:var(--brass-text)}.calculator-route-canvas{height:180px;position:relative;overflow:hidden;background:var(--navy);border-radius:3px}#calculator-route-vector{position:absolute;inset:0}#calculator-route-fallback{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#calculator-route-vector.is-ready+svg{display:none}.calculator-map-pin{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--brass);border-radius:50%;background:var(--navy);color:var(--cream);font:400 11px/1 var(--sans)}#calculator-route-status{margin:10px 0;font:400 12px/1.5 var(--sans)}#calculator-route-pins{display:flex;flex-wrap:wrap;gap:6px 12px;list-style:none;margin:0 0 10px;padding:0;font-size:11px}#calculator-route-pins li{display:flex;align-items:center;gap:5px;border:0;padding:0;font-size:11px}#calculator-route-pins b{font-weight:500;color:var(--brass-text)}.calculator-route-body>small{display:block;font-size:9px;line-height:1.5;margin-bottom:10px}.calculator-route-body>small a{color:inherit}.calculator-actions:has(.calculator-route-panel[open]){gap:12px}.calculator-actions .calculator-route-panel{flex-shrink:0}
@media(max-width:899px){.calculator-route-canvas{height:230px}.calculator-map-anchor .calculator-route-panel{margin:12px 0}.calculator-actions #calculator-summary-journeys{max-height:none;overflow:visible}}

@media(min-width:900px){.calculator-actions{max-height:calc(100svh - var(--hh) - 100px);overflow:visible}.calculator-summary-scroll{min-height:70px;max-height:340px;flex:1 1 auto;overflow:auto}.calculator-summary-scroll #calculator-summary-journeys{max-height:none;overflow:visible}.calculator-send-status:empty{display:none}}

/* T-065: readable lining prices and one fare item per line. */
.calculator-journey legend{width:100%;display:flex;justify-content:space-between;align-items:start;gap:12px;padding:0 8px 10px;border:0;text-transform:none;letter-spacing:normal;font:400 25px/1.25 var(--serif);color:var(--navy)}
.calculator-journey-name{white-space:nowrap}.calculator-heading-price{display:block;text-align:right;font:500 21px/1.4 var(--sans);color:var(--navy)}.calculator-heading-price small{display:block;font:400 12px/1.5 var(--sans)}
.calculator-total{font:400 15px/1.5 var(--sans);color:var(--navy)}.calculator-total-label,.calculator-total-tax,.calculator-total small{display:block}.calculator-total-label{font-size:13px;margin-bottom:6px}.calculator-total-amount{display:block;font:500 34px/1.2 var(--sans)}.calculator-total-tax{font-size:12px}.calculator-total small{font:400 12px/1.6 var(--sans);margin-top:6px}
.calculator-breakdown{margin:8px 0 12px}.calculator-breakdown p,.calculator-summary-breakdown .calculator-breakdown p{margin:0 0 6px;font:400 12px/1.6 var(--sans);overflow-wrap:anywhere}.calculator-summary-breakdown summary{line-height:1.6;padding:8px 0;min-height:36px}.calculator-summary-scroll{padding:2px 0;flex-shrink:1}.calculator-actions>h3,.calculator-actions>.calculator-total,.calculator-actions>.calculator-confirm,.calculator-actions>#calculator-send{flex-shrink:0}
@media(max-width:899px){.calculator-journey legend{font-size:23px}.calculator-heading-price{font-size:18px}.calculator-heading-price small{font-size:11px}}

.calculator-section,.calculator-section *{font-variant-numeric:lining-nums tabular-nums}

.calculator-section .field label,.calculator-summary-breakdown summary,.calculator-route-panel>summary,.calculator-section .calc-remove{color:var(--navy)}

/* T-066: luggage alternatives stay out of the photograph carousel. */
.luggage-modal-open{overflow:hidden}.luggage-dialog{border:1px solid var(--brass);background:var(--cream);color:var(--navy);width:min(800px,calc(100vw - 32px));max-height:calc(100svh - 32px);margin:auto;padding:0}.luggage-dialog::backdrop{background:rgba(8,12,20,.8)}.luggage-dialog-panel{position:relative;padding:28px 24px}.luggage-dialog h2{font-size:30px;margin:0 44px 20px 0}.luggage-dialog-close{position:sticky;top:0;float:right;width:44px;height:44px;border:1px solid var(--brass);background:var(--cream);color:var(--navy);font:400 28px/1 var(--sans);cursor:pointer;z-index:1}.luggage-dialog figure{margin:0 0 24px}.luggage-dialog picture{display:block;background:#0D1B2B}.luggage-dialog img{width:100%;height:auto}.luggage-dialog figcaption{font:400 13px/1.6 var(--sans);margin-top:8px}.luggage-dialog button:focus-visible{outline:2px solid var(--navy);outline-offset:3px}.more-layouts[href]{display:inline-block;text-decoration:none}
@media(max-width:899px){.luggage-dialog-panel{padding:18px 16px}.luggage-dialog h2{font-size:26px}.luggage-dialog figcaption{font-size:12px}}

/* T-067: calculator playback controls and stop labels. */
.calculator-route-replay{position:absolute;z-index:5;right:8px;top:8px;min-height:44px;padding:6px 12px;border:1px solid rgba(212,178,118,.7);border-radius:4px;background:rgba(17,26,44,.95);color:#F5EEE1;font:400 11px/1.2 var(--sans);cursor:pointer}.calculator-route-replay:focus-visible{outline:2px solid #F5EEE1;outline-offset:2px}.calculator-live-car{pointer-events:none;z-index:3}.calculator-stop-tag,.calculator-pin-wait{width:max-content;max-width:150px;padding:4px 8px;border:.5px solid rgba(212,178,118,.55);border-radius:12px;background:rgba(17,26,44,.94);color:#F5EEE1;font:400 12px/1.12 var(--serif);box-shadow:0 2px 7px rgba(0,0,0,.18);pointer-events:none}.calculator-stop-tag[hidden]{display:none}.calculator-pin-wait{position:absolute;bottom:31px;left:50%;transform:translateX(-50%)}.calculator-pin-wait.below{bottom:auto;top:31px}

#calculator-route-vector .calculator-map-pin.is-car-here{visibility:hidden}

/* T-070: aligned phone details and three balanced luggage choices. */
.luggage-choice-short,.sclass-mileage-detail,.sclass-luggage-caption{display:none}
@media(max-width:899px){
 .sclass-details-table{table-layout:fixed}.sclass-details-table th{width:40%;padding-right:16px}.sclass-details-table :is(th,td){vertical-align:top;line-height:1.35}.sclass-details-table .detail-label{display:block}.sclass-details-table .medallion{display:none}
 .sclass-mileage-label,.luggage-choice-full{display:none}.sclass-mileage-detail{display:block;font:400 10px/1.5 var(--sans);margin-top:4px}.luggage-choice-short{display:inline}
 body .sclass-details-luggage .luggage-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 body .sclass-details-luggage .luggage-options button{min-width:0;padding:10px 4px;font-size:10px;letter-spacing:.03em;white-space:nowrap;border:1px solid var(--brass-line-on-ivory);border-radius:3px}
 .sclass-details-luggage .luggage-options button::before,.sclass-details-luggage .luggage-options button::after{display:none}
 body .sclass-details-luggage .luggage-options button[aria-pressed=true]{background:rgba(184,150,90,.12);border-color:var(--brass-text)}
 .sclass-details-luggage .sclass-luggage-caption{display:block;margin:10px 0 0;font:400 12px/1.5 var(--sans)}.sclass-luggage-caption span{display:none}
 .sclass-details-luggage:has([data-luggage-choice="0"][aria-pressed=true]) .sclass-luggage-caption span:nth-child(1),.sclass-details-luggage:has([data-luggage-choice="1"][aria-pressed=true]) .sclass-luggage-caption span:nth-child(2),.sclass-details-luggage:has([data-luggage-choice="2"][aria-pressed=true]) .sclass-luggage-caption span:nth-child(3){display:block}
}

/* T-071: smaller phone cars; inactive service copy cannot reserve empty space. */
@media(max-width:899px){
 .arrivals-live-car,.arrivals-car-visual.arrivals-black-car{width:36px;height:18px}
 .arrivals-black-car::before{box-shadow:0 0 4.67px 2.67px rgba(212,178,118,.32)}.arrivals-black-car svg{filter:drop-shadow(0 .67px 1.33px rgba(0,0,0,.8))}
 .services-screen.is-tabs .service-copy-grid{display:block}.services-screen.is-tabs .service-tabpanel:not(.is-active){display:none}
 .services-panel{min-height:0;height:auto}
}

/* T-072: desktop information and map share a soft navy seam. */
@media(min-width:900px){
 .services-screen{--map-text-width:min(45vw,720px);padding:44px 0;background:var(--navy)}
 .services-map-backdrop{inset:0 0 0 var(--map-text-width);--map-fade-top:0px;--map-fade-bottom:120px}
 .services-map-backdrop :is(.arrivals-vector,.arrivals-map){-webkit-mask-image:linear-gradient(to right,transparent,#000 20%),linear-gradient(to bottom,#000,#000 calc(100% - var(--map-fade-bottom)),transparent);mask-image:linear-gradient(to right,transparent,#000 20%),linear-gradient(to bottom,#000,#000 calc(100% - var(--map-fade-bottom)),transparent);-webkit-mask-composite:source-in;mask-composite:intersect}




 .services-content{width:var(--map-text-width);max-width:none;padding:0 40px}
 .services-panel{padding:0;background:none;border:0;box-shadow:none;border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none}
 .services-screen.chapter{padding:44px 0}
 .services-screen.is-tabs .service-copy-grid{display:block}.services-screen.is-tabs .service-tabpanel:not(.is-active){display:none}
}

/* T-073: Home introduces Services with one photograph, without a second map. */
body.chapter-pages .home-services.chapter[data-chapter]{height:auto;min-height:0;padding:40px 0;display:block}
.home-services>.chapter-inner{width:100%;max-width:1600px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);align-items:center;gap:0;pointer-events:auto}
.home-services .service-preview-panel{grid-column:1;grid-row:1;width:100%;max-width:none;padding:16px 28px 16px 0;background:none;border:0;box-shadow:none;border-radius:0;color:var(--on-navy)}
.home-services .service-preview-panel :is(.sec,p){color:var(--on-navy)}
.home-services .service-preview-panel .sec{font-size:42px;margin-bottom:16px}
.home-services .service-preview-panel>p{font-size:23px;line-height:1.45;max-width:490px;margin-bottom:26px}
.home-services .service-preview-items{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:26px}
.home-services .service-preview-items li{font-size:11px;line-height:1.5;align-items:flex-start;gap:10px}
.home-services .service-preview-panel .btn.light{--button-label:var(--on-navy);--button-edge:var(--brass-on-navy)}
.service-preview-photo{display:block;grid-column:2;grid-row:1;width:100%;height:420px;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 18%),linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(to right,transparent,#000 18%),linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.service-preview-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 56%}
@media(max-width:899px){
 body.chapter-pages .home-services.chapter[data-chapter]{padding:0 0 32px;display:block}
 .home-services>.chapter-inner{display:flex;flex-direction:column;width:100%;padding:0;gap:0}
 .service-preview-photo{order:0;height:clamp(320px,52vw,470px);-webkit-mask-image:linear-gradient(to bottom,#000,#000 82%,transparent);mask-image:linear-gradient(to bottom,#000,#000 82%,transparent)}
 .home-services .service-preview-panel{order:1;padding:12px 20px 0;width:100%;max-width:none}
 .home-services .service-preview-panel .sec{font-size:32px;margin-bottom:14px}
 .home-services .service-preview-panel>p{font-size:20px;margin-bottom:22px}
 .home-services .service-preview-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin-bottom:24px}
 .home-services .service-preview-items li{font-size:11px;flex-direction:row;align-items:flex-start;gap:8px}
 .home-services .service-preview-items li::before{margin-top:7px;background:var(--brass-on-navy)}
}

/* T-075: quiet empty estimates; reserve the price heading's height for stable fields. */
.calculator-journey legend{min-height:58px}
.calculator-empty-prompt,.calculator-result .calculator-empty-prompt{font:400 13px/1.8 var(--sans);margin:0}
.calculator-is-empty .calculator-summary-scroll{display:none}
.calculator-route-panel[hidden]{display:none}
.calculator-mobile-total{min-height:65px}
@media(max-width:899px){.calculator-journey legend{min-height:52px}.calculator-mobile-total .calculator-empty-prompt{font-size:12px;line-height:1.5}}

/* T-078 part A: free scrolling. No inner scrolling boxes, no step locks. */
#hero-stage > .hero-enter{align-items:center;padding:0 20px}
/* T-093: the introduction always follows the sticky stage in normal flow. */
body[data-page="home"] .phone-intro{display:block;background:#fff;color:var(--navy);text-align:center}
body[data-page="home"] .phone-intro.chapter{position:relative;margin-top:0;visibility:visible;opacity:1;transition:none}
@media(max-width:767px) and (prefers-reduced-motion:no-preference){.hero-anim .hero{height:130svh}}
@media(prefers-reduced-motion:reduce){
 body[data-page="home"] .scene-open{display:block}
 body[data-page="home"] .scene-closed{display:none}
 body[data-page="home"] .hero-stage{height:auto;min-height:0}
 body[data-page="home"] .door-zoom{--sh:calc(100svh - var(--hh) - 180px)}
}
@media(prefers-reduced-motion:no-preference){.door-story:not(.is-animated) .car-door-open,.door-story:not(.is-animated) .car-door-leaf-box{display:none}}
/* Maps: a plain navy panel with a soft gold shimmer while the real map loads. The drawn backup
   appears only if the real map fails or has not loaded after about 4 seconds. */
@keyframes map-shimmer{from{background-position:140% 0}to{background-position:-40% 0}}
.arrivals-illustration:not(.has-real-map):not(.show-drawn)>.arrivals-map{visibility:hidden}
.arrivals-illustration:not(.has-real-map):not(.show-drawn)::before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(100deg,transparent 30%,rgba(212,178,118,.13) 50%,transparent 70%) 140% 0/220% 100% no-repeat,var(--navy);animation:map-shimmer 2.4s ease-in-out infinite}
.journey-map.map-loading .journey-drawing,.journey-map.map-loading figcaption{display:none}
.journey-map.map-loading .journey-figure::before{content:'';display:block;height:500px;border:1px solid rgba(212,178,118,.3);border-radius:3px;background:linear-gradient(100deg,transparent 30%,rgba(212,178,118,.13) 50%,transparent 70%) 140% 0/220% 100% no-repeat,var(--navy);animation:map-shimmer 2.4s ease-in-out infinite}
@media(max-width:599px){.journey-map.map-loading .journey-figure::before{height:334px}}
@media(prefers-reduced-motion:reduce){.arrivals-illustration:not(.has-real-map):not(.show-drawn)::before,.journey-map.map-loading .journey-figure::before{animation:none}}

/* T-078 part B: phones. Inputs are 16 px or larger, so iPhone Safari does not zoom in on tap (which also
   slid the page sideways). The suggestion list is a fixed overlay about four rows high that scrolls inside. */
body{padding-bottom:var(--place-room,0px)}
@media(max-width:899px){
 html body input:not([type=checkbox]):not([type=radio]):not([type=hidden]),html body select,html body textarea,html body .quote.quote .date-toggle,html body .field .date-toggle{font-size:16px!important}
 .place-suggestions.place-overlay{max-height:190px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
}

/* T-078 part B: One way / Return calendar, and a calendar that always fits the screen. */
.calendar-mode{display:grid;grid-template-columns:1fr 1fr;margin:0 0 14px;border:1px solid var(--brass-text);border-radius:3px;overflow:hidden}
.calendar-mode-btn{min-height:40px;border:0;background:transparent;color:var(--navy);font:500 11px var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.calendar-mode-btn+.calendar-mode-btn{border-left:1px solid var(--brass-text)}
.calendar-mode-btn[aria-pressed=true]{background:var(--navy);color:var(--on-navy)}
.calendar-mode-btn:focus-visible{outline:2px solid var(--navy);outline-offset:-4px}
.calendar-grid td.is-in-range{background:#EADFC6}
.calendar-day.is-in-range{--button-fill:transparent;--button-label:var(--navy);border-radius:0!important;border-color:transparent!important}
.calendar-day.is-range-end{--button-fill:var(--navy);--button-label:var(--on-navy);--button-edge:var(--brass-on-navy)}
.date-panel{padding:16px 16px 12px}
.date-panel .calendar-head{margin-bottom:10px}
.date-panel .calendar-head h3{font-size:24px}
@media(max-width:767px){.calendar-help{display:none}.calendar-day{height:36px}.date-panel .calendar-foot{margin-top:8px}}
@media(max-height:700px){.calendar-day{height:32px}.calendar-grid th{height:22px}.date-panel .calendar-head h3{font-size:21px}.calendar-mode-btn{min-height:34px}}
.date-toggle{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.calendar-grid th:first-child{font-size:10px}.date-panel .calendar-foot button{font-size:10px;letter-spacing:.14em;padding:8px 12px}

/* T-078 part C1: buttons and links that look clickable. */
.btn.ivory{--button-fill:#F3ECDF;--button-label:var(--navy);--button-edge:var(--brass-text);border:1px solid #F3ECDF!important}
.btn.ivory:hover{--button-fill:#fff}
a.link-arrow{color:var(--navy);font-weight:500;background-size:100% 2px!important;background-image:linear-gradient(var(--brass),var(--brass))!important;padding-bottom:4px}
.home-advisors a.link-arrow,.preview-links>a.link-arrow{color:var(--on-navy);font-size:13px;letter-spacing:.02em}

/* T-078 part C2: Advisors page. One intro, one aligned list of key facts, trust icons in a tidy two-column grid. */
.advisor-terms .points{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:20px 0 0}
.advisor-terms .points>div{padding:14px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.65;color:#4b4b52}
.advisor-terms .points>div:last-child{border-bottom:1px solid var(--line)}
.advisor-terms .points strong{display:block;font:500 13px/1.5 var(--sans);color:var(--ink);margin-bottom:3px}
.advisor-screen .trust-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px;margin:24px 0 20px;padding:20px 0;border:0;border-bottom:1px solid var(--line);font:400 10px/1.5 var(--sans);letter-spacing:.06em;text-align:center}
.advisor-screen .trust-row>li{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;min-width:0;padding:0 4px;text-align:center;overflow-wrap:anywhere}
.advisor-screen .trust-row .medallion{width:48px;height:48px;flex:0 0 48px}
.advisor-terms>.small,.advisor-terms .advisor-quote{max-width:none}
.advisor-action{margin-top:24px}.advisor-columns{align-items:start}

.home-trust-band .trust-row>li{padding:0 4px;overflow-wrap:anywhere}

/* T-078 part C6: Fleet. One card per row on phones, small photo arrows low at the edges, tidy details,
   and a car switcher that looks like a choice. */
.more-layouts,.more-layouts[href]{display:block;margin-top:2px}
.car-page-link .btn.car-explore,.mini-fleet-card .car-explore{display:flex;width:100%}
.fleet-tabs{gap:10px}
.fleet-tabs a,.fleet-showcase .fleet-tabs a{display:flex;flex-direction:column;align-items:center;gap:5px;min-height:0;padding:8px 10px 7px;border:1px solid var(--brass-line-on-ivory);border-radius:6px;background:transparent;background-image:none!important;color:var(--navy);font:500 10px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase}
.fleet-tabs a .fleet-tab-car{width:72px;height:40px;object-fit:cover;border-radius:3px}
.fleet-tabs a:hover{border-color:var(--brass-text)}
.fleet-tabs a[aria-selected=true]{background:var(--navy);border-color:var(--navy);color:var(--brass-on-navy)}
.fleet-count{display:none}
@media(max-width:899px){.fleet-tabs a,.fleet-showcase .fleet-tabs a{min-height:0;padding:6px 6px 5px;font-size:9px;letter-spacing:.06em}.fleet-tabs{gap:6px;width:100%}.fleet-tabs a{flex:1 1 0;min-width:0}.fleet-tabs a .fleet-tab-car{width:100%;max-width:64px;height:34px}}
@media(max-width:767px){
 .fleet-count{display:block;text-align:center;font:400 11px/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--grey-on-ivory);margin-top:4px}
 .fleet-navigation{flex-wrap:wrap;justify-content:center}
 .mini-fleet-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 .mini-fleet-card h3{min-height:0;font-size:26px;margin-bottom:10px;padding-bottom:12px;border-bottom:1px solid var(--brass-line-on-ivory)}
 .mini-fleet-card>div{display:flex;flex-wrap:wrap;align-items:baseline;padding:16px 14px 18px}
 .mini-fleet-card h3{flex:0 0 100%}
 .mini-fleet-card p{display:contents}.mini-fleet-card p>span{display:contents}
 .mini-fleet-card p:first-of-type{border-top:0;padding-top:0}
 .mini-fleet-card p:first-of-type::after{content:' · ';font:400 11px/1.5 var(--sans)}
 .mini-fleet-card p>span,.mini-fleet-card p{font:400 12px/1.6 var(--sans)}
 .mini-fleet-card .more-layouts{flex:0 0 100%;font-size:11px;padding:6px 0 2px;min-height:32px}
 .mini-fleet-card .car-explore{flex:0 0 100%;margin-top:12px;font-size:10px!important}
 .fleet-choice .capacity-row{flex-wrap:wrap;align-items:baseline;gap:0}
 .fleet-choice .capacity-item:first-child,.fleet-choice .capacity-item:first-child{flex:none}
 .fleet-choice .capacity-divider{display:inline;font-size:11px;white-space:pre}
 .fleet-choice .capacity-item:last-child,.fleet-choice .capacity-item:last-child>span{display:contents}
 .fleet-choice .capacity-item .more-layouts{flex:0 0 100%;font-size:11px;padding:6px 0 0}
 .fleet-choice .car-page-link{margin-top:6px}
 body :is(.mini-fleet-card,.fleet-showcase) .car .arrow{top:auto;bottom:0;transform:none}
 body :is(.mini-fleet-card,.fleet-showcase) .car .arrow::after{inset:10px}
 body .mini-fleet-card .car .arrow.l,body .fleet-showcase .car .arrow.l{left:0}
 body .mini-fleet-card .car .arrow.r,body .fleet-showcase .car .arrow.r{right:0}
}

/* T-078 part D: one flow. One title, step 1 (the calculator) and step 2 (your details). */
.calculator-section .enquire-title{text-align:left;font-size:clamp(34px,5vw,48px);margin-bottom:8px}
.enquire-step{display:flex;align-items:center;gap:12px;font:500 12px/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--navy);margin:26px 0 8px}
.enquire-step span{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid var(--brass-text);border-radius:50%;font:500 13px var(--sans);letter-spacing:0;color:var(--navy)}
.enquire-step-note{margin-bottom:20px}
.enquire-details{min-height:0;padding-top:12px}
body.chapter-pages #enquire.enquire-details{min-height:0}
.enquire-details form{max-width:860px;margin:0}
.enquire-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;margin:18px 0 8px}
.enquire-fields .field{min-width:0}
.enquire-fields .enquire-notes{grid-column:1/-1}
.enquire-fields .field textarea{width:100%;min-height:120px;border:1px solid var(--brass-text);border-radius:3px;background:rgba(255,255,255,.5);color:var(--navy);font:400 14px/1.6 var(--sans);padding:10px 12px;resize:vertical}
.enquire-fields .field .opt{font-size:9px;letter-spacing:0;text-transform:none}
.enquire-details .form-foot{text-align:left;display:grid;gap:12px;justify-items:start}
.enquire-details .form-foot .btn{min-width:260px}
.enquire-details .form-foot p{margin:0;font-size:13px;color:var(--navy)}
.enquire-details .alongside{margin:0;padding:0;border:0;text-align:left;font-size:13px}
.enquire-details .alongside:not(:has(a[href])){display:none}
.enquire-details .alongside span:has(a:not([href])){display:none}
.enquire-details .form-msg{width:100%}
@media(max-width:899px){.enquire-fields{grid-template-columns:minmax(0,1fr)}.enquire-details{padding-bottom:110px}.enquire-details .form-foot .btn{width:100%;min-width:0}}
.enquire-details>.wrap{width:100%}

/* T-078 part E: a bigger journey map, out of the estimate panel on computers; open under the journey on phones. */
.calculator-actions,.calculator-summary-scroll{max-height:none!important;overflow:visible!important}
.calculator-map-slot:not(:empty){margin:0 0 24px}
.calculator-map-slot .calculator-route-panel{border:1px solid var(--brass-line-on-ivory);padding:0 12px 12px;background:rgba(255,255,255,.5)}
.calculator-map-slot .calculator-route-canvas{height:380px}
@media(max-width:899px){.calculator-route-canvas{height:260px}}
.journey-map.no-time .map-time{display:none}

/* T-077: The St James Key logo lockup (symbol + live text: THE / St James Key / LONDON) */
:root{--logo-gold:#B8892B;--logo-gold-on-navy:#E0B04A}
.lk{display:inline-flex;flex-direction:column;align-items:center;line-height:1;white-space:nowrap;color:var(--navy);text-align:center}
.lk-the,.lk-ldn{font:500 .36em/1 var(--sans);letter-spacing:.5em;margin-right:-.5em;color:inherit}
.lk-main{font:600 1em/.86 var(--serif);letter-spacing:-.005em;margin:-.045em 0 .06em;color:inherit}
.lk-main b{font-weight:600;color:var(--logo-gold)}
.lk-dark{color:var(--on-navy)}.lk-dark .lk-main b,.hero .enter-name .lk-main b{color:var(--logo-gold-on-navy)}
.brand picture{display:block;flex:none}
.brand .lk{font-size:20px}
.enter-name.lk{display:flex}
.phone-intro .hero-compose .enter-name b{color:var(--logo-gold)}
.hero-mark{width:auto}
.hero-compose picture{display:block}
.footer-lockup{display:flex;flex-direction:column;align-items:center;gap:14px;opacity:1}
.footer-lockup .footer-symbol{height:110px;width:auto}
.footer-lockup .lk{font-size:30px}
@media(min-width:900px){.footer-info .footer-lockup{align-items:flex-end}}
.rc-lockup{display:flex;flex-direction:column;align-items:center;gap:14px;margin:0 auto 24px}
.rc-head .rc-lockup img{width:auto;height:84px;max-height:none;margin:0}
.rc-lockup .lk{font-size:26px}
@media(max-width:899px){body .closing-footer .footer-lockup{gap:8px}body .closing-footer .footer-lockup .footer-symbol{height:64px}body .closing-footer .footer-lockup .lk{font-size:22px}}

/* ===== T-079 Part A: header, hero lockup, advisors chapter, closing line, footer ===== */
/* A1: larger header lockup (about 35% on computers; as large as fits on phones) */
.brand .lk{font-size:22px}.brand img{height:44px}.brand{gap:10px}
@media(min-width:900px){.brand .lk{font-size:27px}.brand img{height:54px}.brand{gap:13px}.bar{padding:14px 40px}}
@media(max-width:380px){.brand .lk{font-size:20px}.brand img{height:40px}.brand{gap:8px}}
/* A2: hero lockup in the order of the full logo: symbol, then THE / St James Key / LONDON, centred */
.hero-compose .hero-mark{display:block;height:84px;width:auto;margin:0 auto 12px}
.hero-compose .hero-enter{padding:0 0 14px!important;display:flex!important;justify-content:center}
.hero-compose .enter-name{font-size:23px;line-height:1}
.hero-anim .phone-intro{padding-top:36px}
@media(min-width:900px){.hero-compose .hero-mark{height:112px;margin-bottom:14px}.hero-compose .enter-name{font-size:30px}.hero-anim .phone-intro{padding-top:40px}}
@media(max-width:767px){.hero-anim .phone-intro{padding-top:24px}}
/* A4: the advisors chapter fits one screen; spacing is tighter and the icons follow directly */
@media(min-width:900px){
 body.chapter-pages.chapter-pages .home-advisors.chapter[data-chapter]{min-height:calc(100svh - var(--hh));scroll-margin-top:var(--hh)}
 body[data-page="home"] .home-advisors>.chapter-inner{padding:48px 24px 40px}
 body[data-page="home"] .home-advisors .sec{margin-bottom:34px}
 body[data-page="home"] .home-advisors .advisor-preview-columns{margin-bottom:28px}
}
/* A5: one calm closing line and one button */
body[data-page="home"] .home-closing-quote>.wrap{display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center}
body[data-page="home"] .home-closing-quote h2.sec{margin:0;font-size:clamp(32px,3.4vw,46px)}
body[data-page="home"] .home-closing-quote .btn{margin:0}
/* A6: footer. Symbol above a centred stack, 1.5x larger on computers; larger photo and links */
.footer-lockup{align-items:center;text-align:center;gap:.3em}
.footer-info .footer-lockup,.footer-info{align-items:center;text-align:center}
@media(min-width:900px){
 .closing-footer{--sh:clamp(420px,calc(100svh - var(--hh) - 190px),690px)}
 .home-closing-footer{--sh:clamp(380px,calc(100svh - var(--hh) - 330px),620px)}
 .footer-lockup{font-size:45px}.footer-lockup .footer-symbol{height:176px}.footer-lockup .lk{font-size:45px}
 .footer-layout{grid-template-columns:minmax(0,1fr) calc(var(--sh)*2/3) minmax(0,1fr);gap:36px 48px;max-width:1400px;justify-items:center}
 .footer-info{text-align:center;justify-self:center}
 .closing-footer .closing-scene{width:calc(var(--sh)*2/3);height:var(--sh)}
 .home-closing-footer .footer-layout{grid-template-columns:minmax(0,1fr) calc(var(--sh)*2/3) minmax(0,1fr)}
 .home-closing-footer .closing-scene{width:calc(var(--sh)*2/3);height:var(--sh);aspect-ratio:auto}
 .footer-actions{justify-self:center}
 .closing-links{grid-template-columns:1fr;max-width:320px;row-gap:6px}
 .closing-links a{justify-content:flex-start;font-size:15px;min-height:52px;letter-spacing:.13em}
 .closing-footer .legal{font-size:13px}
}

/* ===== T-079 Part B: map place names without boxes (halo text beside a glowing pin) ===== */
.journey-place-tag i{display:none}
.journey-road-pin{width:12px;height:12px;border:1.5px solid #F5EEE1;box-sizing:border-box;border-radius:50%;background:#D4B276;box-shadow:0 0 0 4px rgba(212,178,118,.18),0 0 14px 4px rgba(212,178,118,.55)}
.journey-road-pin.is-start{background:transparent;border:2px solid #D4B276;box-shadow:0 0 0 3px rgba(212,178,118,.14),0 0 12px 3px rgba(212,178,118,.45)}
.calculator-map-pin{position:relative;display:block;width:12px;height:12px;border:1.5px solid #F5EEE1;box-sizing:border-box;border-radius:50%;background:#D4B276;font-size:0;box-shadow:0 0 0 4px rgba(212,178,118,.18),0 0 14px 4px rgba(212,178,118,.55)}
.calculator-map-pin.is-start{background:transparent;border:2px solid #D4B276;box-shadow:0 0 0 3px rgba(212,178,118,.14),0 0 12px 3px rgba(212,178,118,.45)}
.calculator-map-pin.is-stop{width:9px;height:9px;background:#D4B276}
.calculator-pin-name{position:absolute;left:calc(100% + 9px);top:50%;transform:translateY(-50%);width:max-content;max-width:170px;font:600 14px/1.15 var(--serif);color:#F5EEE1;white-space:normal;pointer-events:none;text-shadow:0 0 3px rgba(8,13,26,.95),0 0 7px rgba(8,13,26,.9),0 0 14px rgba(8,13,26,.75),0 1px 2px rgba(0,0,0,.9)}
.calculator-map-pin.name-left .calculator-pin-name{left:auto;right:calc(100% + 9px);text-align:right}
.calculator-stop-tag,.calculator-pin-wait{padding:0;border:0;border-radius:0;background:none;box-shadow:none;font:600 13px/1.15 var(--serif);text-shadow:0 0 3px rgba(8,13,26,.95),0 0 7px rgba(8,13,26,.9),0 0 14px rgba(8,13,26,.75)}
/* Airport to airport on the Home map: no approved time, so the summary band is shorter */
.journey-map.no-time .journey-real{height:440px}.journey-map.no-time .journey-real .journey-vector{bottom:88px}
@media(max-width:599px){.journey-map.no-time .journey-real{height:300px}.journey-map.no-time .journey-real .journey-vector{bottom:72px}}

/* ===== T-079 Part C: calculator on computers: journeys left (about 58%), map on top and compact estimate below, both sticky ===== */
@media(min-width:900px){
 .calculator-layout{grid-template-columns:minmax(0,58fr) minmax(0,42fr);gap:28px}
 .calculator-side{position:sticky;top:calc(var(--hh) + 16px);display:flex;flex-direction:column;gap:14px;align-self:start;min-width:0}
 .calculator-side .calculator-actions{position:static;max-height:none!important;overflow:visible!important;padding:16px 18px;gap:10px;margin:0}
 .calculator-side .calculator-map-slot:not(:empty){margin:0}
 .calculator-side .calculator-map-slot .calculator-route-panel{padding:0 10px 8px}
 .calculator-side .calculator-map-slot .calculator-route-panel>summary{min-height:36px;padding:6px 0}
 .calculator-side .calculator-map-slot .calculator-route-canvas{height:clamp(240px,calc(100svh - var(--hh) - 440px),400px)}
 .calculator-side .calculator-map-slot #calculator-route-pins{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0;padding:0}
 .calculator-side .calculator-map-slot #calculator-route-status{margin:8px 0 4px}
 .calculator-side .calculator-route-body>small{margin-bottom:0}
 .calculator-side .calculator-total{font-size:19px;line-height:1.45}
 .calculator-side .calculator-confirm{font-size:11px;line-height:1.55}
 .calculator-side .calculator-actions h3{font-size:22px}
 .calculator-side .calculator-actions li{padding:8px 0}
}
@media(min-width:900px){
 .calculator-side .calculator-actions li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:7px 0}
 .calculator-side .calculator-actions li>strong{grid-column:1;grid-row:1}
 .calculator-side .calculator-actions li>span:nth-of-type(2){grid-column:2;grid-row:1;text-align:right}
 .calculator-side .calculator-actions li>span:nth-of-type(1){grid-column:1/-1;grid-row:2}
 .calculator-side .calculator-actions li>details{grid-column:1/-1;grid-row:3}
 .calculator-side .calculator-summary-breakdown summary{min-height:28px;padding:2px 0}
 .calculator-side .calculator-actions h3{margin-bottom:0}
}
@media(min-width:900px){
 .calculator-side .calculator-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px}
 .calculator-side .calculator-total-label{flex:1 1 100%;font-size:12px;margin:0}
 .calculator-side .calculator-total-amount{display:inline;font-size:30px;line-height:1.25}
 .calculator-side .calculator-total-tax{display:inline;font-size:12px}
 .calculator-side .calculator-total small{flex:1 1 100%;margin-top:2px;font-size:11px}
 .calculator-side .calculator-actions{padding:14px 18px;gap:8px}
 .calculator-side .calculator-map-slot .calculator-route-canvas{height:clamp(240px,calc(100svh - var(--hh) - 470px),400px)}
 .calculator-side .calculator-confirm{font-size:11px;line-height:1.5}
}

/* ===== T-079 Part D: Enquire in two clear steps ===== */
.calculator-section[hidden],.enquire-details[hidden]{display:none!important}
.enquire-details{scroll-margin-top:var(--hh);outline:none}.calculator-section:focus{outline:none}
body.chapter-pages #enquire.enquire-details{padding-top:28px}
.enquire-skip{margin:28px 0 0;font:400 14px/1.6 var(--sans)}
.enquire-skip a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:4px;background-image:none!important}
.enquire-summary{max-width:860px;border:1px solid var(--brass-line-on-ivory);background:rgba(255,255,255,.5);padding:18px 22px;margin:18px 0 26px}
.enquire-summary h3{font:400 24px/1.3 var(--serif);margin:0 0 8px;color:var(--navy)}
.enquire-summary-list{list-style:none;margin:0 0 10px;padding:0}
.enquire-summary-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;padding:10px 0;border-bottom:1px solid var(--brass-line-on-ivory);font:400 14px/1.5 var(--sans);color:var(--navy)}
.enquire-summary-list li strong{font-weight:500}
.enquire-summary-route{grid-column:1/-1}.enquire-summary-detail{grid-column:1;color:var(--grey);font-size:13px}
.enquire-summary-price{grid-column:2;grid-row:1;text-align:right}
.enquire-summary-total,.enquire-summary-empty{margin:10px 0 14px;font:400 14px/1.6 var(--sans);color:var(--navy)}
.enquire-summary .btn{min-height:44px;padding:8px 20px;font-size:11px}
.field-error{margin:6px 0 0;font:500 13px/1.4 var(--sans);color:#8C2F24}
.field-error[hidden]{display:none}
.enquire-fields .field input[aria-invalid="true"]{border-bottom-color:#8C2F24;border-bottom-width:2px}

/* T-088 C: advisors occupy at least their own viewport, with natural overflow. */
body.chapter-pages.chapter-pages .home-advisors.chapter[data-chapter]{min-height:calc(100svh - var(--hh));scroll-margin-top:var(--hh)}

/* T-088 D: restore the T-072 navy split, retaining natural page scrolling. */
.services-content{max-height:none!important;overflow:visible!important;overscroll-behavior:auto}
.services-screen{overflow:visible}
.services-map-backdrop{border:0;border-radius:0;overflow:hidden}
@media(min-width:900px){.services-screen.chapter{grid-template-columns:minmax(0,1fr);align-content:start}.services-content{max-height:none}.services-map-backdrop{position:absolute;width:auto;height:auto;min-height:0}}
@media(max-width:899px){
 .services-screen.chapter{display:flex;flex-direction:column;padding:24px 20px 0}
 .services-content{order:1;width:100%;max-width:none;padding:0 0 28px}
 .services-panel{padding:0;background:none;border:0;box-shadow:none;border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none}
 .services-map-backdrop{position:relative;order:2;inset:auto;width:100%;height:420px;flex:none;margin:0;z-index:0;--map-fade-top:20px;--map-fade-bottom:60px}
 .services-map-backdrop .arrivals-illustration{height:100%}
 .services-map-backdrop .arrivals-attribution{bottom:14px}
}

/* T-088 E: model geometry within the shared car-story behaviour. */
.door-story[data-car-model].is-animated .car-door-closed img{clip-path:var(--door-mask)}
.door-story[data-car-model]:not(.is-animated) .car-door-open{display:none}
.door-story[data-car-model].is-static-open:not(.is-animated) .car-door-open{display:grid}
.door-story[data-car-model].is-static-open:not(.is-animated) .car-door-closed{display:none}
.door-story[data-car-model="rangeRover"] .car-door-leaf-box{perspective:700px;perspective-origin:47% 50%;clip-path:polygon(26.4% 45.5%,31.1% 26.3%,38% 23%,45.1% 26.3%,48% 69.1%,34.6% 69.1%,33% 63.9%,31% 59.5%,27.8% 55%)}
.door-story[data-car-model="rangeRover"].is-animated .car-door-leaf{left:26.4%;top:26.3%;width:21.6%;height:42.8%;transform-origin:100% 50%;clip-path:polygon(0% 44.9%,21.8% 0%,86.6% 0%,100% 100%,38% 100%,30.6% 87.9%,21.3% 77.6%,6.5% 67.1%)}
.door-story[data-car-model="rangeRover"].is-animated .car-door-leaf img{left:-122.222%;top:-61.449%;width:462.963%;height:233.645%;object-fit:fill}
.door-story[data-car-model="vClass"] .car-door-leaf-box{perspective:none;clip-path:none}
.door-story[data-car-model="vClass"].is-animated .car-door-leaf{left:34.3%;top:27%;width:17.3%;height:42%;clip-path:polygon(5.8% 0%,98.3% 0%,100% 100%,0% 100%,0% 31%)}
.door-story[data-car-model="vClass"].is-animated .car-door-leaf img{left:-198.266%;top:-64.286%;width:578.035%;height:238.095%;object-fit:fill}

@media(max-width:899px){body[data-page="sevenSeries"] .sclass-details-luggage .luggage-options{grid-template-columns:1fr}body[data-page="rangeRover"] .sclass-details-luggage .luggage-options{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* T-090: supplied transparent car cut-outs, with the same visual height. */
.rc th[scope="col"]{text-align:center}
.rc .rate-car-photo{display:block;width:auto;height:42px;max-width:110px;object-fit:contain;margin:0 auto 8px;border:0;border-radius:0;box-shadow:none;background:none}
@media(max-width:767px){.rc .rate-car-photo{height:32px;max-width:84px;margin-bottom:6px}}

/* T-089: BMW rear shut line, B-pillar hinge and sill, traced on the approved pair. */
.door-story[data-car-model="sevenSeries"] .car-door-leaf-box{perspective:700px;perspective-origin:47% 50%;clip-path:polygon(29.3062% 47.0776%,29.9043% 44.6334%,31.6388% 41.1265%,33.6722% 38.0446%,35.5263% 36.3443%,38.2775% 35.3879%,42.3445% 32.4123%,46.4713% 34.3252%,49.3421% 47.1838%,49.3421% 69.0755%,45.0957% 69.0755%,44.3780% 66.5250%,32.5957% 65.5685%,31.8780% 58.2359%,30.8014% 54.1977%,29.6651% 49.5218%)}
.door-story[data-car-model="sevenSeries"].is-animated .car-door-leaf{left:29.306220%;top:35.069075%;width:19.198565%;height:27.523911%;transform-origin:100% 50%;clip-path:polygon(0.0000% 43.6293%,3.1153% 34.7490%,12.1495% 22.0077%,22.7414% 10.8108%,32.3988% 4.6332%,46.7290% 1.1583%,67.9128% 0.0000%,84.7352% 1.1583%,90.0312% 40.9266%,100.0000% 97.2973%,17.1340% 100.0000%,13.3956% 84.1699%,7.7882% 69.4981%,1.8692% 52.5097%)}
.door-story[data-car-model="sevenSeries"].is-animated .car-door-leaf img{left:-152.647975%;top:-127.413127%;width:520.872274%;height:363.320463%;object-fit:fill}

/* T-091: one measured photographic door plane; no parent perspective drift. */
.door-story .car-door-moving-open{display:none}
.door-story.door-matched.is-animated .car-door-leaf-box{perspective:none;clip-path:none}
.door-story.door-matched.is-animated :is(.car-door-leaf,.car-door-moving-open){display:block;position:absolute;inset:0;left:0;top:0;width:100%;height:100%;transform-origin:0 0;backface-visibility:visible;will-change:transform,opacity}
.door-story.door-matched.is-animated :is(.car-door-leaf,.car-door-moving-open) picture{position:absolute;inset:0;width:100%;height:100%;display:block;transform:none;overflow:visible}
.door-story.door-matched.is-animated :is(.car-door-leaf,.car-door-moving-open) img{position:absolute;left:0;top:0;width:100%;height:auto;max-width:none;object-fit:fill;transform:none}

.door-story.door-matched:not(.is-animated) .car-door-open{display:none}
.door-story.door-matched.is-static-open:not(.is-animated) .car-door-open{display:grid}
.door-story.door-matched.is-static-open:not(.is-animated) .car-door-closed{display:none}

/* T-092: one centred price stack per car, with a consistent dollar line. */
.rc td:not(:first-child){text-align:center}
.rc td .price-detail{width:112px;max-width:100%;margin:4px auto 0;text-align:center}

/* T-094 C: whole photographs dissolve; no warped 7 Series door plane. */
.door-story[data-door-mode="crossfade"].is-animated .car-door-closed img{clip-path:none}
.door-story[data-door-mode="crossfade"] .car-door-leaf-box{display:none!important}
.car-transition-light{position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse 20% 35% at 42% 48%,#FFE2A1,transparent 80%)}

/* T-094 D: clickable surfaces, with independent slide/luggage/price controls. */
.fleet-card-clickable{cursor:pointer;transition:transform .35s ease,border-color .2s ease,box-shadow .2s ease}
.fleet-card-clickable:hover{border-color:var(--brass);box-shadow:0 10px 28px rgba(17,26,44,.09)}
.fleet-card-clickable:has(.car-explore:focus-visible){outline:2px solid var(--brass-text);outline-offset:4px}
.fleet-card-clickable :is(.prices,.price-request){cursor:default}
@media(prefers-reduced-motion:reduce){.fleet-card-clickable{transition:none}}

/* T-095 A: the steps/action stay together; service standards span both columns. */
.advisor-screen .advisor-columns{align-items:start;gap:48px}
.advisor-how .advisor-action{margin-top:24px;text-align:left}
.advisor-composition > .trust-row{grid-template-columns:repeat(6,minmax(0,1fr));gap:24px;margin:32px 0 0;padding:28px 0 0;border:0;border-top:1px solid var(--line)}
@media(max-width:1099px){.advisor-composition > .trust-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:899px){.advisor-screen .advisor-columns{gap:32px}.advisor-composition > .trust-row{margin-top:28px}}
@media(max-width:479px){.advisor-composition > .trust-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}}

/* T-095 B: each rate-card car/name is one native link. */
.rc .rate-car-link{display:flex;flex-direction:column;align-items:center;gap:4px;color:inherit;cursor:pointer;padding:4px 2px;background-image:none!important;line-height:1.4}
.rc .rate-car-link:hover{text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:4px}
.rc .rate-car-link:focus-visible{outline:2px solid var(--brass-text);outline-offset:3px;border-radius:2px}
.rc .rate-car-link .rate-car-photo{transition:transform .2s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.rc .rate-car-link:hover .rate-car-photo{transform:translateY(-3px)}}

/* T-095 C: one complete lockup ends next to its following introduction. */
#hero-stage > .hero-enter{flex-direction:column;align-items:center;justify-content:flex-end;gap:14px;padding:24px 20px}
.hero-opening-mark{display:block;flex:none}.hero-opening-mark img{height:clamp(120px,20svh,176px);width:auto;max-width:none;margin:0 auto}
#hero-enter > .enter-name{font-size:clamp(44px,7vw,84px);margin:0}
body[data-page="home"] #phone-intro.chapter[data-chapter]{display:block;height:auto;min-height:0;align-content:start;padding:0 20px 36px}
#phone-intro > .chapter-inner{display:block;max-width:1240px;margin:0 auto}
/* T-100: professional shoot photographs; existing sections keep their layout. */
.shoot-photo{margin:32px auto 0;min-width:0}
.shoot-photo picture,.shoot-photo img{display:block;width:100%}
.shoot-photo img{height:auto}
.shoot-photo--compact{max-width:720px}
.shoot-photo--car{max-width:1100px;margin:40px auto;padding:0 20px}
/* T-101: fade photographs into the surrounding About/Advisors section colour. */
.shoot-photo--blend picture{mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(transparent,#000 14%,#000 86%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(transparent,#000 14%,#000 86%,transparent);-webkit-mask-composite:source-in}
/* Native scrolling carries each photograph through a shared navy fade.
   The final photograph fades into the cream details section. These masks
   are static, including for reduced motion; the door controller is unchanged. */
.car-detail-page .car-cabin-section>.car-cabin-photo{height:clamp(320px,calc((100vw - 40px)/var(--photo-ratio) + 112px),calc(100svh - var(--hh)))}
.car-detail-page .car-cabin-section>.car-cabin-photo>.photo-foreground{top:50%}
.car-detail-page .car-door-interior::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 82%,var(--navy));z-index:1}
.car-detail-page .car-cabin-section>.car-cabin-photo::before{inset:0;transform:none;animation:none;mask-image:linear-gradient(transparent,#000 16%,#000 84%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 16%,#000 84%,transparent)}
.car-detail-page .car-cabin-section>.car-cabin-photo:has(+.sclass-details-panel){mask-image:linear-gradient(#000,#000 80%,transparent);-webkit-mask-image:linear-gradient(#000,#000 80%,transparent)}
/* T-102: keep the real landscape photograph whole, with every edge on navy. */
.service-preview-photo.service-photo-london{height:auto;aspect-ratio:6145 / 4041;align-self:center;mask-image:linear-gradient(90deg,transparent,#000 18%,#000 94%,transparent),linear-gradient(transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 94%,transparent),linear-gradient(transparent,#000 12%,#000 88%,transparent);mask-composite:intersect;-webkit-mask-composite:source-in}
.service-photo-london img{object-position:50% 50%}
/* T-105: a full-height Services chapter and a naturally sized advisor chapter. */
body.chapter-pages.chapter-pages .home-services.chapter[data-chapter]{height:auto;min-height:calc(100svh - var(--hh));padding:36px 0;display:grid;align-content:center}
.home-services>.chapter-inner{max-width:1800px;padding:0 28px;grid-template-columns:minmax(0,30fr) minmax(0,70fr)}
.home-services .service-preview-panel{padding:24px 24px 24px 12px}
.home-services .service-preview-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
.home-services .service-preview-photo.service-photo-london{height:auto;aspect-ratio:6145 / 4041;mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.12) 3%,rgba(0,0,0,.5) 8%,rgba(0,0,0,.88) 14%,#000 22%,#000 86%,rgba(0,0,0,.85) 92%,rgba(0,0,0,.3) 97%,transparent),linear-gradient(transparent,rgba(0,0,0,.028) 2%,rgba(0,0,0,.104) 4%,rgba(0,0,0,.216) 6%,rgba(0,0,0,.352) 8%,rgba(0,0,0,.5) 10%,rgba(0,0,0,.648) 12%,rgba(0,0,0,.784) 14%,rgba(0,0,0,.896) 16%,rgba(0,0,0,.972) 18%,#000 20%,#000 80%,rgba(0,0,0,.9) 88%,rgba(0,0,0,.6) 93%,rgba(0,0,0,.2) 97%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.12) 3%,rgba(0,0,0,.5) 8%,rgba(0,0,0,.88) 14%,#000 22%,#000 86%,rgba(0,0,0,.85) 92%,rgba(0,0,0,.3) 97%,transparent),linear-gradient(transparent,rgba(0,0,0,.028) 2%,rgba(0,0,0,.104) 4%,rgba(0,0,0,.216) 6%,rgba(0,0,0,.352) 8%,rgba(0,0,0,.5) 10%,rgba(0,0,0,.648) 12%,rgba(0,0,0,.784) 14%,rgba(0,0,0,.896) 16%,rgba(0,0,0,.972) 18%,#000 20%,#000 80%,rgba(0,0,0,.9) 88%,rgba(0,0,0,.6) 93%,rgba(0,0,0,.2) 97%,transparent)}
body.chapter-pages.chapter-pages .home-advisors.chapter[data-chapter]{height:auto;min-height:0}
body[data-page="home"] .home-advisors>.chapter-inner{flex:none;padding:42px 24px 36px}
body[data-page="home"] .home-advisors .sec{margin-bottom:28px}
.home-advisors .advisor-preview-columns>div{min-height:150px;padding:20px 24px}
body[data-page="home"] .home-advisors .advisor-preview-columns{margin-bottom:24px}
@media(max-width:899px){
 body.chapter-pages.chapter-pages .home-services.chapter[data-chapter]{padding:20px 0 32px}
 .home-services>.chapter-inner{padding:0;display:flex}
 .home-services .service-preview-photo.service-photo-london{height:clamp(340px,70vw,560px);aspect-ratio:auto;flex:none;mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.6) 3%,#000 8%,#000 92%,rgba(0,0,0,.6) 97%,transparent),linear-gradient(transparent,rgba(0,0,0,.028) 2%,rgba(0,0,0,.104) 4%,rgba(0,0,0,.216) 6%,rgba(0,0,0,.352) 8%,rgba(0,0,0,.5) 10%,rgba(0,0,0,.648) 12%,rgba(0,0,0,.784) 14%,rgba(0,0,0,.896) 16%,rgba(0,0,0,.972) 18%,#000 20%,#000 72%,rgba(0,0,0,.85) 82%,rgba(0,0,0,.35) 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.6) 3%,#000 8%,#000 92%,rgba(0,0,0,.6) 97%,transparent),linear-gradient(transparent,rgba(0,0,0,.028) 2%,rgba(0,0,0,.104) 4%,rgba(0,0,0,.216) 6%,rgba(0,0,0,.352) 8%,rgba(0,0,0,.5) 10%,rgba(0,0,0,.648) 12%,rgba(0,0,0,.784) 14%,rgba(0,0,0,.896) 16%,rgba(0,0,0,.972) 18%,#000 20%,#000 72%,rgba(0,0,0,.85) 82%,rgba(0,0,0,.35) 94%,transparent)}
 .home-services .service-preview-panel{padding:8px 20px 0}
 .home-services .service-preview-items{gap:14px 18px}
 body[data-page="home"] .home-advisors>.chapter-inner{padding:30px 20px}
 body[data-page="home"] .home-advisors .sec{margin-bottom:18px}
 .home-advisors .advisor-preview-columns>div{min-height:0;padding:18px 0}
 body[data-page="home"] .home-advisors .advisor-preview-columns{margin-bottom:20px}
}
.advisor-photo-composition{position:relative;isolation:isolate;width:100%;max-width:1100px;aspect-ratio:1.08;margin:32px auto 0;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent),linear-gradient(transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent),linear-gradient(transparent,#000 4%,#000 96%,transparent);mask-composite:intersect;-webkit-mask-composite:source-in}
.advisor-photo-composition picture{position:absolute;display:block;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 85%,transparent),linear-gradient(transparent,#000 12%,#000 80%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 85%,transparent),linear-gradient(transparent,#000 12%,#000 80%,transparent);mask-composite:intersect;-webkit-mask-composite:source-in}
.advisor-photo-composition img{display:block;width:100%;height:auto}
.advisor-composite-chauffeur{width:60%;left:0;top:0;z-index:1}
.advisor-composite-luggage{width:60%;right:0;top:20%;z-index:3}
.advisor-composite-passenger{width:70%;left:0;bottom:0;z-index:4}
/* T-104: keep the passenger and cream seat opaque, with blending at the edges. */
.advisor-photo-composition .advisor-composite-passenger{mask-image:linear-gradient(90deg,transparent,#000 6%,#000 96%,transparent),linear-gradient(transparent,#000 6%,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 96%,transparent),linear-gradient(transparent,#000 6%,#000 90%,transparent)}
@media(max-width:899px){.advisor-photo-composition{aspect-ratio:.57;max-width:720px}.advisor-photo-composition picture{width:100%;left:0;right:auto}.advisor-composite-luggage{top:31%}}
/* T-110: a modest portrait below Outside London; reuse the existing edge blend. */
#service-outside-london .outside-london-photo{width:100%;margin:20px auto 0}
.services-screen.is-tabs #service-outside-london:not(.is-active) .outside-london-photo{display:none}
@media(max-width:899px){#service-outside-london .outside-london-photo{width:100%}}

/* T-112: six existing-style tabs, readable rows on phones, and blended journey photos. */
.services-tabs--extended{grid-template-columns:repeat(6,minmax(0,1fr))}
:is(#service-private-aviation,#service-cruise-transfers) p+p{margin-top:14px}
:is(#service-arrivals,#service-private-aviation,#service-cruise-transfers) .service-journey-photo{width:100%;margin:20px auto 0}
@media(max-width:899px){.services-tabs--extended{grid-template-columns:repeat(3,minmax(0,1fr))}:is(#service-private-aviation,#service-cruise-transfers) .service-journey-photo{width:100%}}

/* T-118: the Home Services photograph fills its chapter; text stays in its existing column. */
@media(min-width:900px){
 .home-services{position:relative}
 .home-services>.chapter-inner{position:static}
 .home-services .service-preview-panel{position:relative;z-index:1}
 .home-services .service-preview-photo.service-photo-london{position:absolute;grid-column:auto;grid-row:auto;inset:0 0 0 auto;width:calc(70% + 108px);height:100%;aspect-ratio:auto;mask-image:linear-gradient(90deg,transparent,transparent 5%,rgba(0,0,0,.16) 12%,rgba(0,0,0,.6) 22%,#000 34%,#000 95%,transparent),linear-gradient(transparent,#000 5%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,transparent 5%,rgba(0,0,0,.16) 12%,rgba(0,0,0,.6) 22%,#000 34%,#000 95%,transparent),linear-gradient(transparent,#000 5%,#000 94%,transparent)}
 .home-services .service-preview-photo img{object-fit:cover;object-position:50% 56%}
}
@media(max-width:767px){
 body.chapter-pages.chapter-pages .home-services.chapter[data-chapter]{padding:0 0 16px}
 .home-services .service-preview-photo.service-photo-london{height:60svh;min-height:420px;max-height:620px;aspect-ratio:auto;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent),linear-gradient(transparent,#000 7%,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent),linear-gradient(transparent,#000 7%,#000 90%,transparent)}
 .home-services .service-preview-photo img{object-fit:cover;object-position:center}
}
