:root{--ink:#17191d;--paper:#f4f6f8;--red:#c20d12;--black:#08090b;--accent:#c20d12;--line:#d9dde2}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px Inter,Arial,Helvetica,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;background:var(--red);color:white;border:0;padding:12px 18px;border-radius:8px;text-decoration:none;display:inline-flex;justify-content:space-between;gap:28px;font-weight:800}button:hover,.button:hover{background:#990a0e}button:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline:3px solid #c20d12;outline-offset:3px}.preview{background:var(--ink);color:#fff;text-align:center;padding:10px 15px;font-size:12px;letter-spacing:.07em}header{display:flex;align-items:center;justify-content:space-between;padding:24px 5vw;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font:900 20px Inter,Arial,Helvetica,sans-serif;letter-spacing:.06em}.brand img{width:auto;height:58px;object-fit:contain}.brand small{display:block;font:700 10px Inter,Arial,Helvetica,sans-serif;letter-spacing:.15em}nav{display:flex;gap:24px;font-size:14px}main{max-width:1320px;margin:auto;padding:0 5vw}section{padding:65px 0}.hero{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:5vw;padding-top:55px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--red)}h1,h2,h3{font-family:Inter,Arial,Helvetica,sans-serif;font-weight:700;margin:12px 0 22px}h1{font-size:clamp(38px,5vw,64px);line-height:1.06}h2{font-size:36px;line-height:1.16}h3{font-size:24px}.intro{max-width:410px;line-height:1.8;color:#545a62;margin-bottom:30px}.fine{font-size:12px;line-height:1.7;color:#545a62}.hero-photo{position:relative;background:#d9dde2;align-self:stretch;min-height:410px}.hero-photo>img{width:100%;height:100%;position:absolute;object-fit:cover}.photo-caption{position:absolute;bottom:0;left:0;right:0;padding:23px;background:#08090be8;color:#fff;font-size:12px;letter-spacing:.1em}.photo-caption small{display:block;letter-spacing:0;margin-top:7px;color:#d9dde2}.section-title{display:flex;justify-content:space-between;gap:24px;align-items:end}.section-title>p{font-size:13px;line-height:1.7;color:#545a62}.fleet{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.car{background:#fff;border:1px solid var(--line)}.car img{width:100%;height:210px;object-fit:cover}.car-body{padding:23px}.car h3{margin:14px 0}.car p{font-size:12px;color:#545a62}.badge{display:inline-block;background:#eceef1;padding:5px 9px;border-radius:2px;font-size:11px;font-weight:700}.car .rate{font-size:23px;color:var(--ink);font-weight:600}.rate small{font-size:12px;font-weight:400}.car button{width:100%;margin-top:10px}.booking-layout{display:grid;grid-template-columns:1.55fr 1fr;gap:6vw;border-top:1px solid var(--line)}.booking-layout>div>p{line-height:1.7}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:13px;font-weight:800;margin-bottom:17px}input,select,textarea{width:100%;min-width:0;background:white;border:1px solid #cfd3d8;border-radius:8px;padding:12px 13px;margin-top:6px;color:var(--ink)}fieldset{border:1px solid var(--line);padding:20px;margin:10px 0 24px}legend{font-size:14px}aside{background:#eceef1;padding:30px;align-self:start;position:sticky;top:22px;margin-top:22px}dl{margin:24px 0}dl>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #d9dde2}dd{margin:0;text-align:right}.total{font-weight:700;font-size:19px}.aside-note{border-top:1px solid #a6adb5;margin-top:25px;padding-top:22px}.aside-note small{display:block;font-size:12px;line-height:1.6;margin-top:9px}.error{color:#8b1628;font-size:14px}.error:empty{display:none}#confirmation{border-top:3px solid var(--red)}footer{background:var(--ink);color:#fff;padding:35px 5vw;font-size:13px;display:flex;justify-content:space-between}footer span{color:#b9bec5}[hidden]{display:none!important}.staff-main{max-width:1500px}.tabs,.filters,.pager{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:25px 0}.tabs button[aria-selected=true]{background:var(--red)}.filters label{flex:1;min-width:140px;margin:0}.table-wrap{overflow:auto;border:1px solid var(--line);background:white}table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}th,td{padding:15px;text-align:left;border-bottom:1px solid var(--line)}th{background:#eceef1}.metrics{display:flex;gap:30px;flex-wrap:wrap;padding:20px;background:#eceef1}.staff-form{max-width:800px;background:white;padding:25px;margin:25px 0;border:1px solid var(--line)}.staff-form h3{margin-top:0}.muted{color:#545a62}#staffMessage{padding:25px;border:1px solid var(--line)}@media(max-width:800px){header{align-items:start}nav{flex-wrap:wrap;justify-content:end;gap:12px}.hero{grid-template-columns:1fr}.hero-photo{min-height:320px}.fleet{grid-template-columns:1fr}.car{display:grid;grid-template-columns:1fr 1fr}.car img{height:100%;min-height:260px}.booking-layout{grid-template-columns:1fr}aside{position:static}.section-title{display:block}}@media(max-width:480px){header{display:block}.brand{margin-bottom:20px}nav{justify-content:start}main{padding:0 20px}section{padding:40px 0}.car{display:block}.car img{height:220px;min-height:0}.fields{grid-template-columns:1fr;gap:0}.hero-photo{min-height:285px}footer{display:block}footer span{display:block;margin-top:10px}.preview{font-size:10px}h2{font-size:32px}.filters{display:grid;grid-template-columns:1fr 1fr}.filters input{max-width:100%}}

.rental-contact{margin:22px 0;padding:15px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.7}.rental-contact p{margin:6px 0}.rental-contact a{overflow-wrap:anywhere;text-underline-offset:3px}

.rental-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.staff-form .fields>*{min-width:0}dd{overflow-wrap:anywhere;min-width:0}.table-wrap{max-width:100%}

/* One semantic record view: desktop rows become labeled cards on small screens. */
.mobile-label{display:none}.record-value{min-width:0}.rental-empty{padding:28px;color:#545a62}
@media(max-width:640px){
 .staff-main .filters{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-main .filters label{min-width:0}
 .staff-main .tabs button{max-width:100%;white-space:normal;text-align:left}
 .staff-main .table-wrap{overflow:visible;border:0;background:transparent}
 .staff-main table,.staff-main tbody{display:block;width:100%;white-space:normal}
 .staff-main thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .staff-main tbody tr{display:block;background:#fff;border:1px solid var(--line);margin-bottom:18px;padding:8px 16px}
 .staff-main td{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:12px;padding:12px 0;align-items:start}
 .staff-main td:last-child{border-bottom:0}.staff-main .mobile-label{display:block;font-size:12px;font-weight:700;color:var(--ink)}
 .staff-main .record-value{overflow-wrap:anywhere;text-align:right}.staff-main .rental-empty{display:block;padding:20px 0}
 .staff-main .staff-form{padding:20px 16px;min-width:0}.staff-main button{overflow-wrap:anywhere}
 .staff-main #metrics,.staff-main #staffMessage,.staff-main #history{overflow-wrap:anywhere}
 .staff-main #bookingDetails dl>div{display:block}.staff-main #bookingDetails dd{text-align:left;margin-top:6px}
}

.inventory-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.rental-photo-card{min-width:0}.rental-photo-card img{width:100%;max-width:240px;height:150px;object-fit:cover}.rental-photo-card input[type=radio]{width:auto;margin-right:8px}.rental-no-photo{min-height:210px;display:grid;place-items:center;background:#eceef1;color:#545a62}.staff-main progress{width:100%;margin:15px 0}.staff-main .staff-form input[type=file]{max-width:100%;font-size:13px}.staff-main .staff-form .error{overflow-wrap:anywhere}

/* Petrolex brand surfaces and accessible interaction states. */
header{background:var(--black);color:#fff;border-bottom:3px solid var(--red);box-shadow:0 4px 16px #00000040}
.brand small{color:#b9bec5}.preview,footer{background:var(--black)}
nav a{text-underline-offset:5px}nav a:hover{color:#fff;text-decoration-thickness:3px;text-decoration-color:#e21b22}
button,.button{transition:background-color .15s,color .15s;min-height:44px}
button:disabled{opacity:1;background:#e3e6ea;color:#545a62;border:1px solid #858c96}
:focus-visible{outline:3px solid var(--red);outline-offset:3px;box-shadow:0 0 0 2px #fff}
header :focus-visible,footer :focus-visible{outline-color:#fff;box-shadow:0 0 0 2px var(--red)}
input,select,textarea{accent-color:var(--red)}
input:hover,select:hover,textarea:hover{border-color:#545a62}
.error:not(:empty){background:#fff1f3;border-left:4px solid #8b1628;padding:12px;font-weight:600}
[aria-invalid=true]{border:2px solid #8b1628}
.tabs button{background:var(--ink)}.tabs button:hover{background:#30343a}
.tabs button[aria-selected=true]{background:var(--red);box-shadow:inset 0 -3px 0 #08090b}
.tabs button[aria-selected=true]:hover{background:#990a0e}
th{background:var(--ink);color:#fff}.metrics{border-left:4px solid var(--red)}
.badge{color:var(--ink);border:1px solid #858c96}
#rentalReadiness{border-top:3px solid var(--red)}
#rentalReadiness summary{cursor:pointer;padding:12px 0;font-weight:700}
progress{accent-color:var(--red)}
@media(prefers-reduced-motion:reduce){button,.button{transition:none}}
/* Field-level customer validation shares the accessible Petrolex error treatment. */
.fields label{min-width:0}.fields label .error:not(:empty){display:block;margin-top:8px;overflow-wrap:anywhere}

.rental-empty{grid-column:1/-1;border:1px solid var(--border,#d9d9d9);border-top:3px solid #c20d12;background:#f6f7f9;padding:clamp(1.25rem,4vw,3rem);border-radius:12px;max-width:100%;overflow-wrap:anywhere}.rental-empty h3{font-size:clamp(1.5rem,3vw,2.1rem);margin:.4em 0}.rental-empty p{max-width:65ch}

/* Match the original website's dashboard tabs and verification/form surfaces. */
body{line-height:1.5}nav{font-weight:700}.brand{line-height:1.1;letter-spacing:.5px}.brand small{letter-spacing:3px}
.tabs{gap:8px;margin:22px 0 20px;border-bottom:2px solid #e0e3e7;padding-bottom:2px}
.tabs button,.tabs button:hover,.tabs button[aria-selected=true],.tabs button[aria-selected=true]:hover{background:transparent;box-shadow:none;border:0;border-bottom:3px solid transparent;border-radius:0;padding:11px 15px;font-weight:800;font-size:14px;color:#62666d;margin-bottom:-4px}
.tabs button:hover{color:var(--ink)}.tabs button[aria-selected=true],.tabs button[aria-selected=true]:hover{color:var(--red);border-bottom-color:var(--red)}
.car,.staff-form,.table-wrap,aside,#staffMessage,#rentalReadiness{border-radius:14px}
.staff-form,#staffMessage,#rentalReadiness{background:#fff;border:1px solid var(--line);box-shadow:0 8px 28px #00000010}
#rentalReadiness{padding:16px 20px;border-top:3px solid var(--red)}
label{line-height:1.5}textarea{resize:vertical}fieldset{border-radius:8px}.badge{border-radius:8px;font-size:12px}
input:disabled,select:disabled,textarea:disabled{background:#eceef1;color:#545a62;cursor:not-allowed}
footer{flex-wrap:wrap;gap:16px}footer .rental-policy-links{display:flex;flex-wrap:wrap;gap:16px;color:#fff}
@media(max-width:480px){h2{font-size:30px}.brand{font-size:20px}footer .rental-policy-links{margin-top:16px}}

.brand-text{display:flex;flex-direction:column}.brand-text b{color:#e21b22}
@media(max-width:900px){.brand{font-size:17px}.brand img{height:48px}.hero h1{font-size:46px}}
@media(max-width:600px){.hero h1{font-size:38px}}

/* Desktop fleet photos share the sales inventory's complete 4:3 framing. */
@media(min-width:801px){
 .fleet{grid-template-columns:repeat(3,minmax(0,1fr))}
 .fleet .car{min-width:0;overflow:hidden}
 .fleet .car>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#0b0d10}
 .fleet .car>.rental-no-photo{min-height:0;aspect-ratio:4/3}
}

/* Match the original site's shared consent and security controls. */
#bookingForm .consent-box{background:#fff;border:1px solid #e4e7ea;border-left:4px solid var(--red);border-radius:8px;padding:14px 16px;margin:16px 0}
#bookingForm .consent-box .check{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.55}
#bookingForm .consent-box input{width:auto;margin-top:3px;flex:0 0 auto}
#bookingForm .consent-box span{font-weight:700;min-width:0}
#bookingForm .consent-box a{color:var(--red);font-weight:800;text-decoration:underline}
#bookingForm .small{font-size:13px;line-height:1.6;margin:8px 0 0}
#bookingForm .no-fill{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
#bookingForm .guard-box{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
#bookingForm .guard-box>*:empty{display:none}
#bookingForm .guard-widget{min-height:65px;max-width:100%}
#bookingForm .guard-widget[data-guard-pending]:empty{display:block}
#bookingForm .guard-widget iframe{max-width:100%}
#bookingForm .guard-box .alert{margin:0;padding:12px;border-radius:8px;font-size:14px;line-height:1.6;background:#fff6db;color:#493600;overflow-wrap:anywhere}

.customer-rental{border-top:1px solid var(--line);padding:18px 0;overflow-wrap:anywhere}
.customer-rental h4{margin:0 0 12px;font-size:17px}.customer-rental p{line-height:1.7}
.customer-timeline{padding-left:22px}.customer-timeline li{padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.customer-timeline span{color:#545a62;font-size:13px}.customer-timeline p{margin:6px 0}
#customerLog{overflow-wrap:anywhere}#accountBookings .staff-form{max-width:none;padding:24px}
.account-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
#accountIdentity{overflow-wrap:anywhere}#rentalAccount dl>div{flex-wrap:wrap}

/* Keep rental copy, records and controls on the site's shared type scale. */
:root{--rental-font:Inter,Arial,Helvetica,sans-serif}
body{font-family:var(--rental-font);font-size:16px;font-style:normal;line-height:1.6}
button,input,select,textarea{font-family:var(--rental-font);font-size:16px;font-style:normal;line-height:1.5}
h1,h2,h3,h4{font-family:var(--rental-font);font-style:normal;letter-spacing:normal}
h1{font-weight:700}h2,h3,h4{line-height:1.25}
.staff-main h1{font-size:32px;line-height:1.2}
label,legend,.fine,.car p,.section-title>p,table{font-size:14px}
.fine,.car p,.section-title>p{line-height:1.6}
.eyebrow{font-size:12px;line-height:1.5;letter-spacing:.1em}
.car h3{font-size:22px}.car .rate{font-weight:800}
.staff-main .tabs button{line-height:1.5}
@media(max-width:600px){.staff-main h1{font-size:28px}}

/* Photography stays fully visible alongside the copy and below it on mobile. */
.hero-photo.hero-photo-vehicles{margin:0;min-height:0;min-width:0;align-self:center;background:var(--black);border-top:3px solid var(--red)}
.hero-photo-vehicles>img{display:block;position:static;width:100%;height:auto;object-fit:contain}
.hero-photo-vehicles figcaption{padding:14px 18px;color:#d9dde2;font-size:12px;line-height:1.6}

/* Keep the entire enquiry and estimate concealed until inventory is verified. */
#booking[hidden]{display:none}
