:root { --ink:#111318; --body:#4c525c; --blue:#155cca; --blue-lift:#286fd9; --pale-blue:#edf4ff; --paper:#f7f7f5; --line:#d9dce1; --rule:#c6c9ce; --field:#b3b6bd; } * { box-sizing:border-box; } html { scroll-behavior:smooth; scroll-padding-top:74px; } body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.6 Manrope,Arial,sans-serif; } button,input,textarea { font:inherit; } button { color:inherit; } h1,h2,h3,p { margin-top:0; } h1,h2 { font-family:'Playfair Display',Georgia,serif; font-weight:600; letter-spacing:-.05em; line-height:.95; } h1 em,h2 em { color:var(--blue); } .experience { position:relative; isolation:isolate; background:var(--paper); padding-top:74px; }.site-header { height:74px; padding:0 5.5vw; position:fixed; top:0; left:0; right:0; z-index:5; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:rgba(255,255,255,.92); backdrop-filter:blur(14px); }.wordmark { width:206px; height:36px; padding:0; border:0; background:transparent; cursor:pointer; }.wordmark img { display:block; width:100%; height:100%; object-fit:contain; object-position:left center; } nav { display:flex; gap:29px; } nav button { border:0; padding:8px 0; cursor:pointer; background:transparent; color:var(--body); font-size:11px; font-weight:700; } nav button:hover { color:var(--blue); }.panel { position:relative; overflow:hidden; padding:clamp(90px,12vh,160px) 12vw clamp(90px,12vh,160px); display:grid; align-content:center; background:var(--paper); }.panel-start { min-height:calc(100dvh - 74px); padding-top:clamp(45px,7vw,100px); padding-bottom:clamp(35px,5vw,70px); }.panel-contact { padding-bottom:calc(48px + clamp(90px,12vh,160px)); }.copy-block { max-width:700px; }.copy-block.wide { max-width:960px; }.panel-index { font:500 10px 'DM Mono',monospace; letter-spacing:.09em; text-transform:uppercase; color:var(--body); }.eyebrow { color:var(--blue); font:500 10px 'DM Mono',monospace; letter-spacing:.1em; text-transform:uppercase; }.copy-block h1 { margin:17px 0 26px; }.copy-block h2 { font-size:clamp(48px,5.8vw,88px); margin:15px 0 25px; }.copy-block > p:not(.panel-index):not(.eyebrow) { color:var(--body); max-width:625px; }.actions { display:flex; gap:12px; margin-top:33px; }.primary,.secondary { border:1px solid transparent; padding:15px 19px; cursor:pointer; font-size:12px; font-weight:800; transition:.2s ease; }.primary { background:var(--blue); color:#fff; }.primary:hover:not(:disabled) { background:var(--blue-lift); transform:translateY(-2px); }.primary:disabled { opacity:.55; cursor:default; }.secondary { background:rgba(255,255,255,.72); color:var(--ink); border-color:var(--field); }.secondary:hover { background:var(--ink); border-color:var(--ink); color:#fff; }.primary span,.secondary span { margin-left:23px; font-size:17px; vertical-align:-1px; }.panel-photo { position:absolute; inset:0; overflow:hidden; pointer-events:none; --scrim-rgb:247,247,245; }.panel-photo img { width:100%; height:100%; object-fit:cover; object-position:center; filter:grayscale(1); opacity:1; }.panel-photo:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgb(var(--scrim-rgb)) 10%,rgba(var(--scrim-rgb),.985) 34%,rgba(var(--scrim-rgb),.945) 48%,rgba(var(--scrim-rgb),.9) 57%,rgba(var(--scrim-rgb),.8) 65%,rgba(var(--scrim-rgb),.62) 73%,rgba(var(--scrim-rgb),.4) 81%,rgba(var(--scrim-rgb),.2) 89%,rgba(var(--scrim-rgb),.06) 95%,rgba(var(--scrim-rgb),0) 100%); }.panel-why .panel-photo,.panel-vehicles .panel-photo { --scrim-rgb:255,255,255; }.panel-legacy { background:var(--pale-blue); }.panel-legacy .copy-block { position:relative; z-index:1; max-width:min(70%,820px); }.panel-legacy .copy-block > p:not(.panel-index):not(.eyebrow) { max-width:500px; }.panel-legacy .copy-block h2 { font-size:clamp(40px,4.4vw,68px); }.panel-legacy .panel-photo { --scrim-rgb:237,244,255; }.panel-legacy .panel-photo img { filter:none; opacity:1; }.panel-legacy .panel-photo:after { background:linear-gradient(90deg,rgb(var(--scrim-rgb)) 20%,rgba(var(--scrim-rgb),.95) 64%,rgba(var(--scrim-rgb),.4) 80%,rgba(var(--scrim-rgb),0) 94%); }.facts { display:flex; gap:38px; margin:29px 0; }.facts span { color:var(--ink); font-size:16px; font-weight:800; line-height:1.35; }.facts small { color:var(--body); font:10px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.06em; }.panel-why { background:#fff; align-content:start; }.panel-why .copy-block { margin-left:0; position:relative; z-index:1; max-width:min(58%,680px); }.benefit-grid { position:relative; z-index:1; margin-top:clamp(35px,7vh,76px); max-width:min(58%,680px); display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--rule); }.benefit-grid article { min-height:210px; padding:22px 24px 0 0; margin-right:24px; border-right:1px solid var(--rule); }.benefit-grid article:last-child { border:0; }.benefit-grid span { color:var(--blue); font:10px 'DM Mono',monospace; }.benefit-grid h3 { margin:30px 0 8px; font-size:15px; }.benefit-grid p { color:var(--body); font-size:12px; }.panel-process { background:#f0f1f2; align-content:start; }.steps { list-style:none; padding:0; margin:clamp(32px,6vh,70px) 0 0; max-width:860px; display:grid; border-top:1px solid var(--rule); }.steps li { display:grid; grid-template-columns:64px 1fr; gap:24px; align-items:baseline; padding:20px 0; border-bottom:1px solid var(--rule); }.steps li > span { color:var(--blue); font:10px 'DM Mono',monospace; }.steps h3 { margin:0 0 5px; font-size:17px; }.steps p { margin:0; color:var(--body); font-size:13px; }.panel-vehicles { background:#fff; overflow:hidden; }.vehicle-list { max-width:560px; display:flex; flex-wrap:wrap; gap:8px; margin:26px 0 31px; }.vehicle-list span { padding:8px 12px; border:1px solid var(--field); background:rgba(255,255,255,.66); text-transform:uppercase; font-size:10px; font-weight:800; letter-spacing:.06em; }.panel-contact { grid-template-columns:minmax(280px,560px) minmax(310px,440px); gap:min(9vw,140px); background:#f5f5f3; }.enquiry-form { align-self:center; background:#fff; color:var(--ink); padding:28px; border:1px solid var(--line); box-shadow:0 18px 45px rgba(25,31,41,.08); }.enquiry-form > p { margin-bottom:16px; font:500 10px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.08em; }.enquiry-form label { display:block; padding-top:12px; font-size:11px; font-weight:800; }.enquiry-form input,.enquiry-form textarea { display:block; width:100%; padding:6px 0 7px; border:0; border-bottom:1px solid var(--field); background:transparent; outline:0; color:var(--ink); font-size:16px; }.enquiry-form textarea { resize:none; }.enquiry-form input:focus,.enquiry-form textarea:focus { border-color:var(--blue); }.enquiry-form .primary { margin-top:21px; }.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }.form-status { display:block; color:var(--blue); min-height:1em; font-size:12px; line-height:1.5; margin-top:10px; }.form-status[data-state="ok"] { color:#146c43; }.form-status[data-state="error"] { color:#b3261e; }.enquiry-form[data-state="sent"] label,.enquiry-form[data-state="sent"] .hp { display:none; }.enquiry-form[data-state="sent"] .form-status { margin-top:18px; font-size:14px; }.marques { position:relative; overflow:hidden; background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:30px 0; }.marque-track { display:flex; width:max-content; animation:marque-roll 64s linear infinite; }.marque-set { display:flex; align-items:center; gap:46px; margin:0; padding:0 23px; list-style:none; }.marque-set li { flex:0 0 auto; display:flex; align-items:center; }.marque-set img { display:block; width:auto; height:var(--h,26px); filter:grayscale(1); opacity:.5; }@keyframes marque-roll { from { transform:translateX(0); } to { transform:translateX(-50%); } }.experience-footer { position:fixed; z-index:4; bottom:0; left:0; right:0; height:48px; padding:0 5.5vw; display:grid; grid-template-columns:1fr auto; gap:20px; align-items:center; background:rgba(255,255,255,.92); backdrop-filter:blur(14px); border-top:1px solid var(--line); color:var(--body); font:9px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.05em; }.experience-footer p { margin:0; text-align:left; }.experience-footer a { color:var(--body); text-align:right; text-decoration:none; }
@media (max-width:760px) { html { scroll-padding-top:63px; }.experience { padding-top:63px; }.site-header { height:63px; padding:0 20px; background:rgba(255,255,255,.94); }.wordmark { width:146px; height:26px; } .site-header nav { display:none; }.panel { padding:clamp(56px,9vh,84px) 20px; align-content:center; }.panel-start { min-height:calc(100dvh - 63px); padding-top:37px; padding-bottom:28px; }.panel-contact { padding-bottom:clamp(56px,9vh,84px); }.experience-footer { display:none; }.marques { overflow-x:auto; overflow-y:hidden; padding:22px 0; }.marque-track { animation:none; }.marque-dupe { display:none; }.marque-set { gap:32px; }.marque-set img { height:calc(var(--h,26px) * .82); }.copy-block h2 { font-size:clamp(39px,12vw,53px); }.copy-block > p:not(.panel-index):not(.eyebrow) { font-size:16px; }.actions { display:grid; margin-top:24px; }.panel-photo img { opacity:.2; }.panel-photo:after { background:linear-gradient(180deg,rgba(var(--scrim-rgb),.82),rgba(var(--scrim-rgb),.94) 58%,rgb(var(--scrim-rgb))); }.panel-legacy .copy-block { max-width:none; }.panel-legacy .panel-photo img { opacity:.2; }.panel-legacy .panel-photo:after { background:linear-gradient(180deg,rgba(var(--scrim-rgb),.82),rgba(var(--scrim-rgb),.94) 58%,rgb(var(--scrim-rgb))); }.panel-why .copy-block { max-width:none; }.panel-legacy .copy-block h2 { font-size:37px; }.panel-legacy .copy-block > p:not(.panel-index):not(.eyebrow) { font-size:16px; }.panel-legacy .eyebrow { font-size:10px; }.facts { margin:14px 0; gap:12px; }.facts span { font-size:16px; }.facts small { font-size:10px; }.panel-legacy .primary { padding:11px 12px; font-size:12px; }.benefit-grid { margin-top:28px; max-width:none; grid-template-columns:1fr 1fr; }.benefit-grid article { min-height:135px; margin-right:12px; padding:14px 12px 0 0; }.benefit-grid article:nth-child(2) { border-right:0; }.benefit-grid article:nth-child(-n+2) { border-bottom:1px solid var(--rule); }.benefit-grid h3 { margin:13px 0 5px; font-size:16px; }.benefit-grid p { font-size:14px; line-height:1.45; }.steps { margin-top:29px; }.steps li { grid-template-columns:38px 1fr; gap:14px; padding:13px 0; }.steps h3 { margin:0 0 3px; font-size:17px; }.steps p { font-size:14px; line-height:1.45; }.vehicle-list { margin:20px 0; gap:6px; }.vehicle-list span { padding:6px 9px; font-size:11px; }.panel-contact { grid-template-columns:1fr; gap:18px; align-content:center; }.panel-contact .copy-block h2 { margin:8px 0 9px; }.enquiry-form { padding:17px; }.enquiry-form > p { margin-bottom:5px; }.enquiry-form label { padding-top:7px; font-size:12px; }.enquiry-form input,.enquiry-form textarea { padding:12px 0 13px; font-size:16px; }.enquiry-form .primary { margin-top:12px; padding:10px 12px; font-size:12px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.marques { overflow-x:auto; overflow-y:hidden; }.marque-track { animation:none; }.marque-dupe { display:none; } }
/* Colour photography trial — hero and vehicles panels, graded in opposite directions.
   The hero (Little Collins St) is crushed to median luminance 41 so the warm shopfronts
   carry the colour against a dark street. The vehicles panel (a red 911 against a pale
   wall) is left almost untouched at median 223: its wall dissolves into the panel's white
   background so the car reads as emerging from the right edge, and crushing it would
   destroy exactly that.
   Only the hero's scrim is altered: it holds the production curve through the copy column
   and eases past 58%, where no glyph reaches (the copy block is capped at min(58%,680px)).
   The vehicles panel keeps the production scrim untouched.
   Measured worst-case contrast over the photo — hero 5.50:1 across 1440/1024/800;
   vehicles 4.74:1 against 4.68:1 for the b&w it replaces, so a small improvement. That
   figure is tight because of the var(--body) panel-index colour, not the photography.
   Revert = point each panel back at its -bw.jpg and drop these rules. */
.panel-start .panel-photo img,.panel-vehicles .panel-photo img { filter:none; }
/* Desktop-scoped: this selector outranks the mobile `.panel-photo:after` rule, so
   unscoped it would replace the mobile vertical scrim with a horizontal one. */
@media (min-width:761px) { .panel-start .panel-photo:after { background:linear-gradient(90deg,rgb(var(--scrim-rgb)) 10%,rgba(var(--scrim-rgb),.985) 34%,rgba(var(--scrim-rgb),.945) 48%,rgba(var(--scrim-rgb),.88) 58%,rgba(var(--scrim-rgb),.66) 67%,rgba(var(--scrim-rgb),.42) 76%,rgba(var(--scrim-rgb),.22) 84%,rgba(var(--scrim-rgb),.08) 92%,rgba(var(--scrim-rgb),0) 100%); } }
.panel-start .copy-block { position:relative; z-index:1; max-width:min(58%,680px); }.panel-start .copy-block h1 { font-size:clamp(46px,5.4vw,84px); }.panel-vehicles .copy-block { position:relative; z-index:1; max-width:min(47vw,620px); }.panel-vehicles .copy-block h2 { font-size:clamp(47px,4.8vw,74px); }
@media (max-width:760px) { .panel-start .copy-block { max-width:none; }.panel-vehicles .copy-block { max-width:none; }.panel-vehicles .copy-block h2 { font-size:36px; }.panel-vehicles .vehicle-list { margin:14px 0; }.panel-vehicles .primary { padding:11px 12px; font-size:12px; } }

/* The marque ribbon runs at the head of the page as well as the foot (client request,
   10 Aug 2026). It stays greyscale at both ends: 27 manufacturer logos at full colour
   and full strength read as a dealer badge wall, which would imply authorised-dealer
   status Adrian does not hold. See PRODUCT.md on trademark care.
   The head instance sits in normal flow between the fixed header and the hero, so the
   hero's 100dvh calc has to subtract it or the first screen overflows. --marque-h is
   that measured height and is the one number to change if the ribbon's padding does. */
/* Lead line — Adrian's short declarative sentences ("30+ years. One career. One
   passion.") carry more weight than body copy but are not headings. Deliberately reuses
   the existing 16px body size and the --ink token rather than adding a step to the
   DESIGN.md type ramp; the emphasis comes from weight and colour alone. */
.copy-block > p.lede:not(.panel-index):not(.eyebrow) { color:var(--ink); font-weight:600; }
:root { --marque-h:93px; }
.marques-top { border-top:0; }
.panel-start { min-height:calc(100dvh - 74px - var(--marque-h)); }
/* Short desktop viewports: the head ribbon takes 93px and Adrian's 10 Aug hero copy adds
   a lead line, which together pushed the primary CTA below the fold at 1280x640 — a
   normal laptop. Measured there: button bottom 654 against a 640 viewport. Tightening
   the hero's vertical padding recovers it without touching type sizes or the copy. */
@media (min-width:761px) and (max-height:780px) { .panel-start { padding-top:40px; padding-bottom:28px; } }
/* Very short desktop viewports — a 1366x768 laptop is roughly 640px of viewport once
   browser chrome is taken off, and the hero paragraph wraps to four lines there. Tighten
   the internal rhythm rather than the type: no font sizes change, so the DESIGN.md ramp
   is untouched. Measured at 1280x600, the worst realistic case: CTA bottom 630 before,
   which was 30px under the fold. */
@media (min-width:761px) and (max-height:680px) { .panel-start { padding-top:28px; padding-bottom:20px; }.panel-start .copy-block h1 { margin:10px 0 16px; }.panel-start .actions { margin-top:20px; } }
@media (max-width:760px) { :root { --marque-h:71px; } .panel-start { min-height:calc(100dvh - 63px - var(--marque-h)); } }

/* 17 Aug 2026 photography lift: the opening view is now a full-screen, six-image
   carousel. The restored head marque ribbon shares the first viewport with the hero. */
.panel-start { min-height:calc(100dvh - 74px - var(--marque-h)); background:#080a0d; color:#fff; }
.hero-carousel,.hero-slide,.hero-scrim { position:absolute; inset:0; }
.hero-carousel { z-index:0; overflow:hidden; background:#080a0d; }
.hero-slide { margin:0; opacity:0; transition:opacity .9s ease; }
.hero-slide.is-active { opacity:1; }
.hero-slide picture { display:block; width:100%; height:100%; }
.hero-slide img { display:block; width:100%; height:100%; object-fit:cover; }
.hero-slide img { object-position:center; }
.hero-scrim { z-index:1; pointer-events:none; background:linear-gradient(90deg,rgba(5,8,12,.92) 0%,rgba(5,8,12,.78) 34%,rgba(5,8,12,.4) 64%,rgba(5,8,12,.13) 100%),linear-gradient(0deg,rgba(5,8,12,.55),transparent 42%); }
.panel-start .copy-block { z-index:2; color:#fff; max-width:min(56%,650px); }
.panel-start .copy-block > p:not(.panel-index):not(.eyebrow) { color:rgba(255,255,255,.82); }
.panel-start .copy-block > p.lede:not(.panel-index):not(.eyebrow),.panel-start h1 em { color:#fff; }
.panel-start .eyebrow { color:rgba(255,255,255,.78); }
.panel-start .secondary { color:#fff; border-color:rgba(255,255,255,.48); background:rgba(5,8,12,.28); backdrop-filter:blur(8px); }
.panel-start .secondary:hover { color:var(--ink); border-color:#fff; background:#fff; }
.hero-controls { position:absolute; z-index:3; right:5.5vw; bottom:72px; display:flex; align-items:center; gap:16px; color:#fff; }
.hero-arrow { width:38px; height:38px; padding:0; border:1px solid rgba(255,255,255,.5); background:rgba(5,8,12,.25); color:#fff; cursor:pointer; backdrop-filter:blur(8px); transition:.2s ease; }
.hero-arrow:hover { background:#fff; color:var(--ink); }
.hero-dots { display:flex; align-items:center; gap:8px; }
.hero-dots button { width:24px; height:2px; padding:7px 0; border:0; background:transparent; cursor:pointer; position:relative; }
.hero-dots button:after { content:""; position:absolute; left:0; right:0; top:6px; height:2px; background:rgba(255,255,255,.38); }
.hero-dots button.is-active:after { background:#fff; }
.hero-count { min-width:45px; color:rgba(255,255,255,.65); font:500 9px 'DM Mono',monospace; letter-spacing:.08em; }
.hero-count b { color:#fff; font-weight:500; }
.hero-toggle { padding:6px 0; border:0; border-bottom:1px solid rgba(255,255,255,.55); background:transparent; color:#fff; cursor:pointer; font:500 9px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.08em; }
.hero-toggle:hover { border-color:#fff; }

/* The new library is colour-led. The family-business artwork above remains exactly as-is. */
.panel-why .panel-photo img { filter:none; object-position:center; }
.panel-process { min-height:900px; padding:clamp(90px,12vh,160px) 12vw; align-content:center; }
.process-content { position:relative; z-index:2; width:min(58%,860px); }
.process-photo { position:absolute; z-index:0; inset:0; width:100%; height:100%; min-height:0; margin:0; overflow:hidden; pointer-events:none; }
.process-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.process-photo:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#f0f1f2 0%,rgba(240,241,242,.98) 28%,rgba(240,241,242,.9) 48%,rgba(240,241,242,.58) 64%,rgba(240,241,242,.16) 82%,rgba(240,241,242,0) 100%); }
.vehicle-collage { display:block; background:#fff; }
.vehicle-collage > div { min-width:0; min-height:0; overflow:hidden; }
.vehicle-collage .vehicle-feature { height:100%; }
.vehicle-collage img { display:block; min-width:0; object-fit:cover; }
.vehicle-collage .vehicle-feature img { object-position:center; }
.panel-contact { min-height:clamp(760px,100dvh,1040px); padding:0; display:block; background:#080a0d; }
.contact-intro { position:relative; z-index:1; display:grid; align-content:center; min-height:inherit; padding:clamp(88px,12vh,150px) 8vw calc(48px + clamp(88px,12vh,150px)); overflow:hidden; }
.contact-intro .copy-block { position:relative; z-index:2; max-width:650px; color:#fff; }
.contact-intro .panel-index,.contact-intro .copy-block > p:not(.panel-index):not(.eyebrow) { color:rgba(255,255,255,.78); }
.contact-intro .copy-block h2,.contact-intro .copy-block h2 em { color:#fff; }
.contact-open { margin-top:30px; }
.contact-photo { position:absolute; inset:0; z-index:0; height:auto; margin:0; overflow:hidden; pointer-events:none; }
.contact-photo picture,.contact-photo img { display:block; width:100%; height:100%; }
.contact-photo img { object-fit:cover; object-position:center; }
.contact-photo:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,8,12,.88) 0%,rgba(5,8,12,.72) 34%,rgba(5,8,12,.38) 58%,rgba(5,8,12,.08) 82%),linear-gradient(0deg,rgba(5,8,12,.55) 0%,rgba(5,8,12,0) 55%); }
.contact-sheet { position:fixed; inset:0 0 0 auto; width:min(540px,100%); max-width:none; height:100dvh; max-height:none; margin:0; padding:0; overflow:hidden; border:0; background:#fff; color:var(--ink); box-shadow:-24px 0 70px rgba(5,8,12,.2); transform:translateX(100%); transition:transform .36s cubic-bezier(.22,.8,.32,1); }
.contact-sheet[open] { transform:translateX(0); }
.contact-sheet::backdrop { background:rgba(5,8,12,.54); backdrop-filter:blur(3px); }
.contact-sheet-inner { height:100%; padding:clamp(28px,5vh,52px) clamp(24px,4vw,52px) 48px; overflow-y:auto; }
.contact-sheet-header { display:flex; align-items:flex-start; justify-content:space-between; gap:28px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.contact-sheet-header p { margin:0 0 14px; font:500 10px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.09em; }
.contact-sheet-header h2 { max-width:360px; margin:0; font-size:clamp(34px,4vw,50px); }
.contact-close { flex:0 0 44px; width:44px; height:44px; padding:0; border:1px solid var(--line); background:#fff; cursor:pointer; font-size:27px; font-weight:300; line-height:1; }
.contact-close:hover { background:var(--ink); border-color:var(--ink); color:#fff; }
.contact-sheet .enquiry-form { margin:0; padding:18px 0 0; border:0; box-shadow:none; }

@media (max-width:900px) and (min-width:761px) { .panel-process { padding-left:8vw; padding-right:8vw; }.process-content { width:min(62%,760px); } }

@media (max-width:760px) { .panel-start { min-height:calc(100dvh - 63px - var(--marque-h)); padding-top:42px; padding-bottom:92px; }.panel-start .copy-block { max-width:none; }.hero-slide:nth-child(1) img { object-position:73% center; }.hero-slide:nth-child(2) img { object-position:76% center; }.hero-slide:nth-child(3) img { object-position:74% center; }.hero-slide:nth-child(4) img { object-position:74% center; }.hero-slide:nth-child(5) img { object-position:73% center; }.hero-slide:nth-child(6) img { object-position:74% center; }.hero-scrim { background:linear-gradient(90deg,rgba(5,8,12,.87),rgba(5,8,12,.48)),linear-gradient(0deg,rgba(5,8,12,.76),rgba(5,8,12,.05) 62%); }.hero-controls { left:20px; right:20px; bottom:28px; gap:9px; }.hero-dots { flex:1; }.hero-dots button { width:auto; flex:1; max-width:19px; }.hero-count { min-width:39px; }.hero-arrow { width:34px; height:34px; flex:0 0 auto; }.panel-process { min-height:auto; padding:clamp(56px,9vh,84px) 20px; }.process-content { width:auto; }.process-photo img { object-position:70% center; }.process-photo:after { background:linear-gradient(90deg,rgba(240,241,242,.94),rgba(240,241,242,.82)),linear-gradient(0deg,rgba(240,241,242,.94),rgba(240,241,242,.3) 65%); }.panel-why .panel-photo img,.vehicle-collage img { opacity:.22; }.panel-contact { min-height:calc(100dvh - 63px); padding:0; }.contact-intro { min-height:inherit; padding:56px 20px 88px; align-content:start; }.contact-photo { inset:0; height:auto; margin:0; }.contact-photo img { object-position:68% center; }.contact-photo:after { background:linear-gradient(180deg,rgba(5,8,12,.88) 0%,rgba(5,8,12,.67) 44%,rgba(5,8,12,.12) 76%,rgba(5,8,12,.5) 100%),linear-gradient(90deg,rgba(5,8,12,.48),rgba(5,8,12,.04)); }.contact-sheet { width:100%; }.contact-sheet-inner { padding:24px 20px 40px; }.contact-sheet-header h2 { font-size:36px; }.contact-sheet .enquiry-form { padding-top:12px; } }

@media (prefers-reduced-motion:reduce) { .hero-slide,.contact-sheet { transition:none; }.hero-toggle { display:none; } }

.enquiry-options { margin:0; padding:14px 0 0; border:0; }
.enquiry-form > label > small { margin-left:7px; color:var(--body); font-size:9px; font-weight:500; text-transform:uppercase; letter-spacing:.06em; }
.enquiry-options legend { width:100%; padding:0 0 8px; font-size:11px; font-weight:800; }
.enquiry-options legend small { margin-left:7px; color:var(--body); font-size:9px; font-weight:500; text-transform:uppercase; letter-spacing:.06em; }
.option-grid { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.enquiry-options .option-grid label { display:flex; align-items:center; gap:8px; min-height:38px; padding:7px 9px; border:1px solid var(--line); cursor:pointer; font-size:11px; font-weight:700; line-height:1.2; }
.enquiry-options input[type="checkbox"] { appearance:none; display:grid; place-items:center; flex:0 0 15px; width:15px; height:15px; margin:0; padding:0; border:1px solid var(--field); background:#fff; }
.enquiry-options input[type="checkbox"]:checked { border-color:var(--blue); background:var(--blue); }
.enquiry-options input[type="checkbox"]:checked:after { content:""; width:4px; height:8px; margin-top:-2px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.enquiry-options input[type="checkbox"]:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
.enquiry-form[data-state="sent"] .enquiry-options { display:none; }

@media (max-width:760px) { .option-grid { grid-template-columns:1fr; }.enquiry-options .option-grid label { min-height:36px; font-size:12px; } }

/* Mobile navigation and touch ergonomics. Desktop keeps the existing header/nav untouched. */
.header-actions { display:flex; align-items:center; gap:22px; }
.header-actions nav { order:-1; }
.social-links { display:flex; align-items:center; gap:3px; padding-left:15px; border-left:1px solid var(--line); }
.social-links a { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; }
.social-links img { display:block; width:15px; height:15px; opacity:.7; filter:grayscale(1); transition:opacity .18s ease,transform .18s ease; }
.social-links a:hover img { opacity:1; transform:translateY(-1px); }
.social-links a:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
.menu-toggle { display:none; }

@media (max-width:760px) {
  .header-actions { gap:5px; }
  .header-actions nav { order:0; }
  .social-links { gap:2px; padding-left:0; border-left:0; }
  .social-links a { width:32px; height:44px; }
  .social-links img { width:15px; height:15px; }
  .menu-toggle { display:flex; align-items:center; gap:9px; min-height:44px; padding:0; border:0; background:transparent; color:var(--body); cursor:pointer; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
  .menu-toggle span { color:var(--blue); font-size:18px; line-height:1; }
  .menu-toggle[aria-expanded="true"] { color:var(--blue); }
  .site-header nav { display:grid; position:fixed; top:63px; left:0; right:0; gap:0; padding:8px 20px 14px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.98); opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-10px); transition:opacity .18s ease,transform .18s ease,visibility .18s; }
  .site-header nav.is-open { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); }
  .site-header nav button { min-height:48px; padding:0; border-bottom:1px solid var(--line); text-align:left; font-size:13px; }
  .site-header nav button:last-child { border-bottom:0; }
  .hero-controls { gap:6px; bottom:18px; }
  .hero-arrow { width:44px; height:44px; }
  .hero-dots { justify-content:center; gap:5px; }
  .hero-dots button { width:24px; max-width:24px; height:44px; padding:0; }
  .hero-dots button:after { top:21px; }
  .hero-count { display:none; }
  .hero-toggle { min-width:44px; height:44px; padding:0; }
}

@media (max-width:760px) and (max-height:740px) {
  .panel-start { padding-top:28px; padding-bottom:76px; }
  .panel-start .copy-block h1 { margin:10px 0 16px; font-size:clamp(40px,11.5vw,46px); }
  .panel-start .copy-block > p:not(.panel-index):not(.eyebrow) { line-height:1.45; }
  .panel-start .actions { margin-top:18px; }
  .panel-start .primary,.panel-start .secondary { padding:12px 14px; }
}

@media (prefers-reduced-motion:reduce) {
  .site-header nav { transition:none; }
  .social-links img { transition:none; }
}
