/* GRIK-POL: graphite, white and warm yellow sampled from logo.jpeg. */
:root {
  color-scheme:dark;
  --bg:#101719; --surface:#182124; --surface-raised:#202b2e;
  --text:#f5f7f6; --muted:#b0bbbd; --line:#344246;
  --yellow:#ffc51b; --on-yellow:#101719;
  --heading:'Barlow Condensed','Arial Narrow',Arial,sans-serif;
  --body:'Barlow',Arial,sans-serif;
  --max:1480px; --gutter:40px; --radius:14px;
}
* { box-sizing:border-box }
html { scroll-behavior:smooth; scroll-padding-top:112px }
body { margin:0; color:var(--text); background:var(--bg); font:16px/1.65 var(--body) }
a { color:inherit; text-decoration:none }
img { display:block; max-width:100%; height:auto }
button { font:inherit; cursor:pointer }
button,a { -webkit-tap-highlight-color:transparent }
h1,h2,h3,p { margin-top:0 }
h1,h2,h3 { font-family:var(--heading); line-height:1.05 }
h1,h2 { text-transform:uppercase; font-weight:700 }
h2 { font-size:clamp(40px,4vw,64px); letter-spacing:-.015em; margin-bottom:0 }
h3 { font-size:30px; font-weight:600 }
p { margin-bottom:22px }
.container { width:min(var(--max),calc(100% - var(--gutter)*2)); margin-inline:auto }
.section { padding:100px 0 }
.icon-library { position:absolute; width:0; height:0; overflow:hidden }
.icon { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; vertical-align:middle }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0 }
.skip-link { position:fixed; top:8px; left:8px; z-index:300; padding:12px 20px; background:var(--yellow); color:var(--on-yellow); transform:translateY(-150%); font-weight:700 }
.skip-link:focus { transform:none }
:focus-visible { outline:3px solid var(--yellow); outline-offset:5px }
a,button { touch-action:manipulation }
a:active,button:active { opacity:.8 }

/* Brand and navigation */
.top-bar { background:#0b1113; color:var(--muted); border-top:3px solid var(--yellow); border-bottom:1px solid var(--line); font-size:12px }
.top-bar .container { display:flex; justify-content:space-between; align-items:center; min-height:35px; gap:20px }
.top-bar .icon { width:14px; height:14px; color:var(--yellow); margin-right:4px }
.site-header { position:sticky; top:0; z-index:100; background:rgba(16,23,25,.97); border-bottom:1px solid var(--line) }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; min-height:98px }
.brand { display:flex; gap:13px; align-items:center; flex-shrink:0 }
.brand img { width:67px; height:67px; object-fit:cover; border-radius:6px }
.brand strong { display:block; font-weight:800; font-size:28px; letter-spacing:-1px; line-height:1.1 }
.brand small { display:block; font-size:10px; letter-spacing:1px; text-transform:uppercase; margin-top:7px; color:var(--muted); font-weight:600 }
.main-nav { display:flex; gap:30px; align-items:center; font-size:15px; font-weight:500 }
.main-nav a { display:flex; align-items:center; min-height:48px; border-bottom:2px solid transparent; transition:color .18s,border-color .18s }
.main-nav a:hover { color:var(--yellow); border-color:var(--yellow) }
.header-phone { display:flex; gap:12px; align-items:center; background:var(--yellow); color:var(--on-yellow); padding:11px 20px; border-radius:7px; white-space:nowrap; transition:background .18s }
.header-phone:hover { background:#ffda63 }
.header-phone .icon { width:25px; height:25px }
.header-phone small { display:block; font-size:11px; line-height:1.3; font-weight:500 }
.header-phone strong { font-family:var(--heading); font-size:28px; line-height:1.1; font-weight:700 }
.menu-toggle { display:none; border:1px solid var(--line); border-radius:6px; background:transparent; width:46px; height:46px; padding:11px }
.menu-toggle span { display:block; height:2px; background:var(--text); margin:5px 0; transition:transform .2s,opacity .2s }

/* Full photographic hero */
.hero { isolation:isolate; position:relative; background:#0b1214; color:var(--text); overflow:hidden }
.hero-inner { position:relative; z-index:2; min-height:690px; display:flex; align-items:center }
.hero-copy { width:53%; max-width:700px; padding:65px 0 82px }
.hero-photo { position:absolute; inset:0; z-index:0 }
.hero-photo img { width:100%; height:100%; object-fit:cover; object-position:center 47% }
.hero-shade { position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(9,16,18,.97) 0%,rgba(9,16,18,.89) 25%,rgba(9,16,18,.5) 48%,rgba(9,16,18,.04) 74%),linear-gradient(0deg,rgba(9,16,18,.6),transparent 25%) }
.eyebrow { display:flex; align-items:center; gap:9px; font-size:12px; line-height:1.4; font-weight:600; text-transform:uppercase; letter-spacing:1px; margin-bottom:18px; color:var(--muted) }
.eyebrow>span { display:inline-block; width:16px; height:3px; background:var(--yellow); flex-shrink:0 }
.hero .eyebrow { color:#e3e8e8 }
.hero h1 { font-size:clamp(58px,5.5vw,84px); letter-spacing:-.02em; line-height:1.01; margin:0 0 28px }
.hero-description { max-width:425px; color:#d2dcde; font-size:18px; line-height:1.7; margin-bottom:32px }
.hero-actions { display:flex; align-items:center; gap:30px; flex-wrap:wrap }
.button { display:inline-flex; justify-content:center; align-items:center; gap:18px; min-height:54px; padding:15px 24px; border:1px solid var(--yellow); border-radius:7px; background:var(--yellow); color:var(--on-yellow); font-size:15px; font-weight:700; line-height:1.4; transition:background .18s,box-shadow .18s }
.button:hover { background:#ffda63; box-shadow:0 4px 16px #0003 }
.button .icon { width:20px; height:20px }
.hero-contact { font-size:12px; color:#d2dcde; min-height:48px; display:flex; flex-direction:column; justify-content:center; line-height:1.5 }
.hero-contact strong { color:var(--text); font-size:19px; white-space:nowrap; font-weight:600 }
.hero-points { display:flex; flex-wrap:wrap; gap:10px 26px; padding:0; margin:33px 0 0; list-style:none; font-size:13px; color:#c5ced0 }
.hero-points li { display:flex; gap:7px; align-items:center }
.hero-points .icon { color:var(--yellow); width:17px; height:17px }
.hero-image-note { position:absolute; right:var(--gutter); bottom:20px; z-index:3; font-size:11px; color:#e2e7e7; padding:5px 9px; background:#101719b8; border-radius:4px }
.service-strip { background:var(--surface); border-bottom:1px solid var(--line); border-top:1px solid var(--line) }
.service-strip .container { display:grid; grid-template-columns:repeat(3,1fr) }
.service-strip p { display:flex; align-items:center; justify-content:center; gap:19px; margin:0; padding:27px 20px; border-right:1px solid var(--line) }
.service-strip p:first-child { justify-content:flex-start }
.service-strip p:last-child { border:0 }
.service-strip .icon { width:32px; height:32px; color:var(--yellow) }
.service-strip span { font-size:14px; color:var(--muted); line-height:1.7 }
.service-strip strong { display:block; font-family:var(--heading); font-size:28px; color:var(--text); font-weight:600; line-height:1.2 }

/* Wide fleet catalogue */
.fleet>.container { max-width:1800px; width:calc(100% - var(--gutter)*2) }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:44px }
.section-heading>p { max-width:490px; font-size:16px; color:var(--muted); margin-bottom:3px; line-height:1.75 }
.fleet-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px }
.fleet-card { display:flex; flex-direction:column; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--surface); transition:border-color .2s,box-shadow .2s }
.fleet-card:hover { border-color:#66736b; box-shadow:0 16px 35px #0002 }
.vehicle-photo { position:relative; overflow:hidden; background:var(--surface-raised) }
.vehicle-photo img { width:100%; aspect-ratio:1.68; object-fit:cover; transition:transform .4s }
.fleet-card:hover .vehicle-photo img { transform:scale(1.02) }
.photo-tag { position:absolute; left:24px; top:24px; background:var(--yellow); color:var(--on-yellow); padding:7px 13px; font-size:13px; line-height:1.6; font-weight:600; border-radius:5px }
.vehicle-body { padding:30px 32px 0; display:flex; flex-direction:column; flex:1 }
.vehicle-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px }
.vehicle-heading h3 { font-size:clamp(30px,2.5vw,43px); margin:0; text-transform:uppercase; font-weight:600 }
.vehicle-heading>span { font-size:13px; color:var(--muted); white-space:nowrap }
.vehicle-body>p { color:var(--muted); font-size:16px; min-height:53px; line-height:1.65; margin-bottom:26px; max-width:670px }
.specs { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:0 0 28px }
.specs>div { padding-left:16px; border-left:2px solid var(--yellow) }
.specs dt { font-size:13px; color:var(--muted) }
.specs dd { margin:3px 0 0; font-size:20px; font-weight:600 }
.vehicle-bottom { margin-top:auto; border-top:1px solid var(--line); min-height:98px; display:flex; align-items:center; justify-content:space-between; gap:20px }
.vehicle-bottom p { margin:0; white-space:nowrap }
.vehicle-bottom strong { font-family:var(--heading); font-size:43px; font-weight:600 }
.vehicle-bottom p>span { font-size:14px; color:var(--muted) }
.vehicle-bottom a { display:flex; align-items:center; justify-content:center; gap:19px; min-height:48px; font-size:14px; font-weight:700; background:var(--yellow); color:var(--on-yellow); padding:10px 17px; border-radius:6px; transition:background .18s }
.vehicle-bottom a .icon { width:19px; height:19px; transition:transform .18s }
.vehicle-bottom a:hover { background:#ffda63 }
.vehicle-bottom a:hover .icon { transform:translateX(3px) }
.price-enquire { font-weight:600; font-size:18px }
.trailer-specs { width:100%; border-collapse:collapse; text-align:left; margin:0 0 24px; font-size:16px }
.trailer-specs th { font-weight:600 }
.trailer-specs td,.trailer-specs th { padding:8px 0 }
.trailer-specs thead { color:var(--muted); font-size:13px }
.trailer-specs tbody tr { border-bottom:1px solid var(--line) }
.trailer-specs tbody tr:last-child { border:0 }
.trailer-specs td:last-child,.trailer-specs th:last-child { text-align:right }
.image-note { font-size:12px; color:var(--muted); margin:22px 0 0 }

/* Rates, about and rental steps */
.pricing { background:var(--surface); padding:64px 0; border-block:1px solid var(--line) }
.pricing-inner { display:grid; grid-template-columns:1fr 1.65fr; gap:65px; align-items:center }
.pricing-title h2 { font-size:47px }
.pricing-title>p:last-child { font-size:15px; color:var(--muted); margin:20px 0 0; max-width:330px }
.price-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 }
.price-option { padding:0 25px; border-left:1px solid var(--line) }
.price-option h3 { font-family:var(--body); font-size:16px; font-weight:500; margin:0 0 19px }
.price-option>strong { display:block; font-family:var(--heading); font-size:62px; line-height:1; font-weight:600; white-space:nowrap; color:var(--yellow) }
.price-option small { font-size:28px }
.price-option em { font-size:20px; font-style:normal }
.price-option>p { font-size:13px; color:var(--muted); margin:14px 0 0 }
.pricing-note { grid-column:1/-1; font-size:13px; color:var(--muted); margin:28px 0 0 25px; line-height:1.75 }
.about-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:80px; align-items:center }
.about-photo { position:relative; min-width:0; border-radius:var(--radius); overflow:hidden }
.about-photo>img { width:100%; aspect-ratio:1.25; object-fit:cover; object-position:62% 50% }
.about-photo-label { position:absolute; bottom:0; left:0; padding:22px 30px; border-radius:0 12px 0 0; background:var(--yellow); color:var(--on-yellow); font-family:var(--heading); font-weight:700; font-size:32px; line-height:1.1; min-width:260px }
.about-photo-label span { display:block; font-family:var(--body); font-size:13px; font-weight:500; line-height:1.7; margin-top:6px }
.about-copy h2 { margin-bottom:28px }
.about-copy>p:not(.eyebrow) { font-size:17px; color:var(--muted); line-height:1.75; max-width:570px }
.about-copy .button { margin-top:7px }
.process { padding:0 0 95px }
.process-intro { border-top:1px solid var(--line); padding-top:45px; display:flex; justify-content:space-between; align-items:center; gap:30px }
.process-intro .eyebrow { margin:0; white-space:nowrap }
.process-intro h2 { font-size:40px }
.process-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:38px; list-style:none; padding:0; margin:42px 0 0 }
.process-list li { display:flex; gap:22px; align-items:flex-start }
.process-list li>span { font-family:var(--heading); font-size:45px; line-height:1; color:var(--yellow); font-weight:500 }
.process-list h3 { font-size:29px; margin:0 0 10px }
.process-list p { font-size:15px; color:var(--muted); margin:0 }

/* Direct contact */
.contact { position:relative; background:var(--surface); color:var(--text); border-top:3px solid var(--yellow); padding-bottom:70px }
.contact-top { display:flex; justify-content:space-between; align-items:center; gap:35px; padding-bottom:52px }
.contact h2 { font-size:52px }
.big-phone { display:flex; align-items:center; gap:22px; color:var(--yellow); white-space:nowrap }
.big-phone>.icon { width:40px; height:40px }
.big-phone>span { font-family:var(--heading); font-size:72px; font-weight:600; line-height:1 }
.big-phone:hover span { text-decoration:underline; text-underline-offset:8px }
.contact-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); padding-top:42px; gap:50px }
.contact-details>div>.icon { color:var(--yellow); margin-bottom:22px; width:27px; height:27px }
.contact-details h3 { font-size:29px; margin:0 0 15px }
.contact-details p,.contact-details address { color:var(--muted); font-size:16px; line-height:1.7; font-style:normal; margin-bottom:18px }
.contact-link { display:inline-flex; align-items:center; gap:14px; font-size:15px; font-weight:600; min-height:48px }
.contact-link .icon { width:19px; height:19px; color:var(--yellow) }
.contact-link:hover { color:var(--yellow) }
.company-name { font-size:14px; color:var(--muted); display:block; padding-top:12px }
.site-footer { background:#0b1113; color:var(--muted); padding:26px 0; border-top:1px solid var(--line) }
.site-footer .container { display:flex; align-items:center; justify-content:space-between; gap:25px; font-size:13px }
.footer-brand { font-weight:800; letter-spacing:-.5px; font-size:25px; color:var(--text) }
.site-footer a:last-child { padding:10px 0 }
.mobile-call { display:none }

@media(min-width:1900px) {
  .hero-inner { min-height:760px }
  .hero-photo img { object-position:center 45% }
}
@media(max-width:1150px) {
  :root { --gutter:30px }
  .header-inner { gap:20px; min-height:88px }
  .brand img { width:56px; height:56px }
  .brand strong { font-size:25px }
  .main-nav { gap:20px; font-size:14px }
  .header-phone { padding:10px 14px }
  .header-phone strong { font-size:25px }
  .header-phone .icon { width:22px; height:22px }
  .hero-copy { width:58% }
  .hero h1 { font-size:66px }
  .hero-inner { min-height:635px }
  .hero-shade { background:linear-gradient(90deg,#091012f5 0%,#091012cf 35%,#0910124d 72%,#0910121a),linear-gradient(0deg,#09101288,transparent 30%) }
  .hero-description { font-size:17px; max-width:380px }
  .service-strip p { padding:24px 10px; gap:14px }
  .service-strip strong { font-size:25px }
  .service-strip span { font-size:13px }
  .fleet-grid { gap:24px }
  .vehicle-body { padding:25px 25px 0 }
  .vehicle-bottom { gap:14px }
  .vehicle-bottom a { padding:11px 14px; gap:10px; font-size:13px }
  .vehicle-bottom strong { font-size:38px }
  .vehicle-body>p { min-height:79px }
  .price-enquire { font-size:16px }
  .pricing-inner { gap:40px }
  .pricing-title h2 { font-size:40px }
  .price-option { padding-inline:18px }
  .price-option>strong { font-size:50px }
  .about-grid { gap:48px }
  .about-copy>p:not(.eyebrow) { font-size:16px }
  .contact h2 { font-size:44px }
  .big-phone>span { font-size:56px }
}
@media(max-width:900px) {
  :root { --gutter:24px }
  .header-inner { min-height:80px }
  .menu-toggle { display:block }
  .header-phone { margin-left:auto }
  .main-nav { position:absolute; top:100%; left:0; right:0; display:none; background:var(--surface); padding:15px 24px 24px; border-bottom:2px solid var(--yellow); box-shadow:0 12px 25px #0004 }
  .main-nav.open { display:flex; flex-direction:column; gap:0; align-items:stretch }
  .main-nav a { font-size:17px; padding:12px 6px; border-bottom:1px solid var(--line); min-height:49px }
  .menu-toggle[aria-expanded=true] span:first-child { transform:translateY(7px) rotate(45deg) }
  .menu-toggle[aria-expanded=true] span:nth-child(2) { opacity:0 }
  .menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-7px) rotate(-45deg) }
  .hero-inner { min-height:630px }
  .hero-copy { width:65%; padding:60px 0 76px }
  .hero h1 { font-size:59px }
  .hero-photo img { object-position:65% center }
  .hero-points { gap:9px 15px; font-size:12px }
  .section { padding:74px 0 }
  .section-heading { gap:25px; margin-bottom:32px }
  .section-heading>p { max-width:320px; font-size:15px }
  .section-heading>p br { display:none }
  .fleet-grid { gap:20px }
  .vehicle-body { padding:23px 20px 0 }
  .vehicle-heading { align-items:flex-start; flex-direction:column; gap:7px }
  .vehicle-heading h3 { font-size:33px }
  .vehicle-body>p { min-height:106px }
  .specs { gap:10px; margin-bottom:24px }
  .specs>div { padding-left:10px }
  .specs dt { font-size:12px }
  .specs dd { font-size:18px }
  .vehicle-bottom { padding:18px 0; flex-wrap:wrap; gap:14px }
  .vehicle-bottom a { flex:1 0 100%; font-size:14px }
  .vehicle-bottom p { min-height:40px }
  .vehicle-bottom .price-enquire { display:flex; align-items:center }
  .photo-tag { left:17px; top:17px; font-size:12px }
  .pricing-inner { grid-template-columns:1fr; gap:32px }
  .pricing-title { display:grid; grid-template-columns:1fr 1fr; column-gap:35px }
  .pricing-title .eyebrow { grid-column:1/-1 }
  .pricing-title>p:last-child { margin-top:0; align-self:end }
  .price-option { padding-inline:25px }
  .price-option:first-child { border:0; padding-left:0 }
  .pricing-note { margin-left:0 }
  .about-grid { gap:35px }
  .about-photo>img { aspect-ratio:.85 }
  .about-copy h2 { font-size:41px }
  .process-intro { align-items:flex-start; flex-direction:column; gap:16px }
  .process-list { gap:22px }
  .process-list li { gap:13px }
  .process-list h3 { font-size:27px }
  .process-list p { font-size:14px }
  .contact-top { align-items:flex-start; flex-direction:column; gap:30px }
  .big-phone>span { font-size:68px }
  .contact-details { gap:26px }
  .contact-details h3 { font-size:26px }
  .contact-details p,.contact-details address { font-size:15px }
}
@media(max-width:620px) {
  :root { --gutter:18px; --radius:11px }
  html { scroll-padding-top:90px }
  .top-bar .container { min-height:29px; justify-content:center }
  .top-bar span { font-size:11px }
  .top-bar a { display:none }
  .header-inner { min-height:78px; gap:10px }
  .brand img { width:48px; height:48px }
  .brand { gap:9px }
  .brand strong { font-size:22px }
  .brand small { font-size:9px; letter-spacing:.4px; margin-top:5px }
  .header-phone { padding:11px; min-height:46px; min-width:46px; justify-content:center }
  .header-phone>span { display:none }
  .header-phone .icon { width:21px; height:21px }
  .hero-inner { min-height:780px; display:block }
  .hero-copy { width:100%; max-width:450px; padding:37px 0 320px }
  .hero .eyebrow { font-size:11px; margin-bottom:20px }
  .hero h1 { font-size:clamp(44px,11vw,65px); margin-bottom:22px; line-height:1.02 }
  .hero-description { max-width:430px; font-size:16px; margin-bottom:25px }
  .hero-photo { top:auto; bottom:0; height:420px }
  .hero-photo img { object-position:right center }
  .hero-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#0b1214 0%,#0b121400 48%) }
  .hero-shade { background:linear-gradient(0deg,#0b121444,transparent 45%) }
  .hero-actions { gap:23px }
  .button { min-height:52px; padding:14px 19px; font-size:14px }
  .hero-contact strong { font-size:17px }
  .hero-contact { font-size:12px }
  .hero-points { display:flex; gap:9px 17px; margin-top:27px; max-width:380px; font-size:12px }
  .hero-image-note { font-size:10px; bottom:12px; right:16px }
  .service-strip .container { width:100%; grid-template-columns:repeat(3,minmax(0,1fr)) }
  .service-strip p,.service-strip p:first-child { padding:21px 7px; flex-direction:column; justify-content:flex-start; text-align:center; gap:10px }
  .service-strip strong { font-size:21px; line-height:1.2 }
  .service-strip span { font-size:11px; line-height:1.55 }
  .service-strip .icon { width:26px; height:26px }
  .section { padding:57px 0 }
  .section-heading { display:block; margin-bottom:29px }
  .section-heading>p { margin:20px 0 0; font-size:16px; max-width:100% }
  .eyebrow { font-size:11px; margin-bottom:14px }
  h2 { font-size:42px }
  .fleet-grid { grid-template-columns:1fr; gap:26px }
  .vehicle-photo img { aspect-ratio:1.5 }
  .photo-tag { top:15px; left:15px; font-size:12px; padding:6px 10px }
  .vehicle-body { padding:23px 20px 0 }
  .vehicle-heading { flex-direction:row; align-items:center; gap:10px; margin-bottom:16px }
  .vehicle-heading h3 { font-size:31px }
  .vehicle-heading>span { font-size:12px }
  .vehicle-body>p { min-height:0; font-size:16px; margin-bottom:23px }
  .specs { margin-bottom:24px }
  .specs dd { font-size:18px }
  .vehicle-bottom { padding-block:20px; gap:16px; min-height:0 }
  .vehicle-bottom p { min-height:0 }
  .vehicle-bottom strong { font-size:40px }
  .vehicle-bottom a { font-size:14px; min-height:48px }
  .vehicle-bottom a .icon { width:19px }
  .price-enquire { font-size:18px }
  .trailer-specs { font-size:15px; margin:3px 0 24px }
  .trailer-specs td,.trailer-specs th { padding:9px 0 }
  .image-note { font-size:12px; line-height:1.65 }
  .pricing { padding:48px 0 }
  .pricing-title { display:block }
  .pricing-title h2 { font-size:40px }
  .pricing-title>p:last-child { margin-top:20px; font-size:16px; max-width:100% }
  .price-option { padding:0 12px }
  .price-option h3 { font-size:14px; margin-bottom:15px }
  .price-option>strong { font-size:40px }
  .price-option small { font-size:20px }
  .price-option em { font-size:13px }
  .price-option>p { font-size:12px; line-height:1.6 }
  .pricing-note { font-size:13px; margin-top:27px }
  .about-grid { grid-template-columns:1fr; gap:33px }
  .about-photo>img { aspect-ratio:1.3; object-position:center }
  .about-photo-label { padding:17px 21px; font-size:27px; min-width:235px }
  .about-photo-label span { font-size:12px }
  .about-copy h2 { font-size:42px }
  .about-copy>p:not(.eyebrow) { font-size:16px }
  .process { padding-bottom:58px }
  .process-intro { padding-top:35px; gap:17px }
  .process-intro h2 { font-size:37px; max-width:350px }
  .process-list { grid-template-columns:1fr; margin-top:32px; gap:27px }
  .process-list li { gap:21px }
  .process-list li>span { font-size:40px; min-width:37px }
  .process-list h3 { font-size:29px; margin-bottom:7px }
  .process-list p { font-size:16px }
  .contact { padding-top:49px; padding-bottom:47px }
  .contact-top { padding-bottom:35px; gap:28px }
  .contact h2 { font-size:39px }
  .big-phone { gap:15px }
  .big-phone>span { font-size:54px }
  .big-phone>.icon { width:31px; height:31px }
  .contact-details { grid-template-columns:1fr; padding-top:33px; gap:31px }
  .contact-details>div { position:relative; padding-left:42px }
  .contact-details>div>.icon { position:absolute; left:0; top:0; width:25px; height:25px }
  .contact-details h3 { font-size:28px; margin-bottom:12px }
  .contact-details p,.contact-details address { font-size:16px; margin-bottom:8px }
  .company-name { padding-top:10px }
  .contact-link { font-size:15px }
  .site-footer { padding:25px 0 calc(90px + env(safe-area-inset-bottom)) }
  .site-footer .container { flex-wrap:wrap; gap:12px; justify-content:space-between }
  .site-footer .container>span { order:3; width:100%; font-size:12px }
  .footer-brand { font-size:23px }
  .mobile-call { position:fixed; bottom:0; left:0; right:0; z-index:90; min-height:59px; padding:16px 15px calc(16px + env(safe-area-inset-bottom)); display:flex; justify-content:center; align-items:center; gap:12px; background:var(--yellow); color:var(--on-yellow); font-size:15px; font-weight:700; border-top:1px solid #dca400 }
  .mobile-call .icon { width:22px; height:22px }
}
@media(max-width:360px) {
  .brand strong { font-size:20px }
  .brand img { width:42px; height:42px }
  .brand small { font-size:8px }
  .header-inner { gap:8px }
  .hero-actions { gap:17px }
  .hero-contact strong { font-size:15px }
  .button { padding-inline:17px }
  .hero h1 { font-size:40px }
  .hero-copy { padding-bottom:330px }
  .vehicle-heading { flex-direction:column; align-items:flex-start; gap:7px }
  .vehicle-heading h3 { font-size:30px }
  .price-option { padding-inline:8px }
  .price-option>strong { font-size:29px }
  .price-option small { font-size:16px }
  .price-option h3 { font-size:13px }
  .big-phone>span { font-size:45px }
  .contact-details>div { padding-left:36px }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto }
  *,*::before,*::after { animation:none!important; transition:none!important }
}
