@import url('./fonts/fonts.css');
:root{--ink:#143445;--paper:#f7f8f7;--muted:#52656d;--line:#d6dddf;--soft:#edf0ef;--lime:#daf36b;--white:#fff;--radius:16px;font-family:'Inter Tight',Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}img{max-width:100%;display:block}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #58760a;outline-offset:4px}
.skip{position:fixed;top:-100px;z-index:99;background:var(--lime);padding:14px}.skip:focus{top:0}.preview-notice{background:var(--ink);color:white;font-size:12px;letter-spacing:.03em;padding:9px 24px;text-align:center}.preview-notice a{margin-left:12px}.wrap{max-width:1440px;margin:auto;padding:0 36px}.nav{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:21px;font-weight:800;letter-spacing:-.035em;white-space:nowrap}.brand img{width:52px;height:52px;object-fit:contain}.nav-links{display:flex;gap:32px;align-items:center}.nav-links a{text-decoration:none;font-size:16px;font-weight:600}.nav-links a:hover{color:#58760a}.nav-cta{font-weight:700;white-space:nowrap}.menu-button{display:none;border:1px solid var(--line);background:white;border-radius:8px;min-height:44px;padding:8px 14px}.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(350px,1fr);gap:48px;padding:34px 0 52px;align-items:start}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.28em;line-height:1.8;text-transform:uppercase;margin:0 0 20px}.hero .eyebrow{max-width:180px}.vehicle-hero{background:#fff;margin:0 0 24px;overflow:hidden;border-radius:4px}.vehicle-hero img{width:100%;height:270px;object-fit:cover}.vehicle-hero figcaption{padding:6px 12px;font-size:10px;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(54px,6.5vw,98px);line-height:.97;letter-spacing:-.065em;font-weight:800;margin-bottom:28px}h2{font-size:clamp(34px,4vw,54px);line-height:1.05;letter-spacing:-.045em;font-weight:700;margin-bottom:24px}h3{font-size:24px;line-height:1.2;letter-spacing:-.03em}.hero-details{display:flex;gap:30px;justify-content:space-between;align-items:flex-end;margin-top:26px}.hero-details .eyebrow{margin:0;max-width:190px}.hero-price{border-left:1px solid var(--line);padding-left:22px}.hero-price strong{display:block;font-size:27px;letter-spacing:-.035em;margin:6px 0}.hero-price span{display:block;font-size:13px;color:var(--muted)}.planner{background:var(--soft);border:1px solid #e6ebeb;border-radius:9px;padding:28px;margin-top:0}.planner-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:30px}.planner-head h2{font-size:27px;letter-spacing:-.04em;margin:0}.status{font-size:12px;line-height:1.4;max-width:150px;color:var(--muted)}label,legend{font-size:16px;font-weight:600;display:block;margin-bottom:12px}fieldset{border:0;padding:0;margin:0 0 26px;min-width:0}input,select,textarea{width:100%;border:1px solid #cad3d6;border-radius:8px;background:#fff;color:var(--ink);padding:15px;min-height:52px;outline:none}textarea{resize:vertical;min-height:104px}.field{margin-bottom:26px}.hint{font-size:13px;line-height:1.5;color:var(--muted);margin:8px 0 0}.duration-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.duration-choice{margin:0;position:relative;cursor:pointer}.duration-choice input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}.duration-choice span{border:1px solid #d5dde0;background:#fff;min-height:65px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:8px;font-size:15px;font-weight:600;line-height:1.35;padding:5px}.duration-choice input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}.duration-choice input:focus-visible+span{outline:3px solid #58760a;outline-offset:2px}.duration-choice small{font-size:12px;font-weight:400}.primary,.secondary{display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:14px 22px;border:0;border-radius:8px;text-decoration:none;font-size:17px;font-weight:700}.primary{background:var(--lime);color:var(--ink)}.primary:hover{background:#cee954}.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.wide{width:100%}.planner-foot{margin:22px 0 0;padding-top:20px;border-top:1px solid var(--line);font-size:14px;text-align:right}.lead{font-size:20px;line-height:1.55;color:var(--muted);max-width:680px}.section{padding:90px 0;border-top:1px solid var(--line)}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.editorial-photo{width:100%;aspect-ratio:1.7;object-fit:cover;border-radius:14px}.caption{font-size:11px;line-height:1.5;color:var(--muted);margin:9px 0}.fact-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:28px 0}.fact-row strong{font-size:27px;display:block;letter-spacing:-.045em}.fact-row span{font-size:14px;color:var(--muted);line-height:1.5}.steps,.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.step{border-top:2px solid var(--ink);padding-top:22px}.step .number{font-size:12px;margin-bottom:20px;letter-spacing:.16em;font-weight:700}.step p{color:var(--muted);line-height:1.6}.card{background:white;border-radius:12px;border:1px solid var(--line);overflow:hidden;text-decoration:none}.card img{width:100%;aspect-ratio:1.65;object-fit:cover}.card-copy{padding:24px}.card h3{font-size:24px}.card p{color:var(--muted);line-height:1.5;font-size:15px;margin-bottom:0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}.section-head h2{margin:0}.faq{max-width:900px}.faq details{border-bottom:1px solid var(--line);padding:21px 0}.faq summary{cursor:pointer;font-size:21px;font-weight:600;line-height:1.4}.faq p{line-height:1.7;color:var(--muted);margin:18px 0 0}.cta-panel{background:var(--ink);color:#fff;border-radius:18px;padding:52px;display:flex;gap:40px;justify-content:space-between;align-items:center}.cta-panel h2{margin-bottom:12px}.cta-panel p{color:#c5d0d4;max-width:600px;line-height:1.6;margin:0}.footer{padding:48px 0}.footer-row{display:flex;justify-content:space-between;gap:24px;align-items:start}.footer-links{display:flex;flex-wrap:wrap;gap:20px;font-size:14px}.footer-note{font-size:12px;line-height:1.7;color:var(--muted);margin-top:28px;max-width:1000px}.page-title{padding:55px 0 35px}.page-title h1{font-size:62px;max-width:900px;line-height:1.05}.booking-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(290px,.7fr);gap:56px;align-items:start;padding-bottom:80px}.booking-form{background:white;border:1px solid var(--line);padding:32px;border-radius:12px}.step-track{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 32px;padding:0;list-style:none;font-size:14px;color:var(--muted)}.step-track .current{font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:7px}.form-step[hidden]{display:none}.form-step h2{font-size:30px}.row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.check-label{display:flex;align-items:start;gap:12px;font-size:14px;line-height:1.6;font-weight:400}.check-label input{width:20px;min-height:20px;flex:none;margin:2px 0 0;accent-color:var(--ink)}.form-actions{display:flex;justify-content:space-between;gap:16px;margin-top:28px}.error{background:#fff2ef;border:1px solid #b74030;border-radius:8px;color:#7b261e;padding:14px;line-height:1.6;margin-bottom:20px}.error:empty{display:none}.estimate{position:sticky;top:28px;background:var(--soft);border-radius:12px;padding:24px}.estimate img{width:100%;aspect-ratio:1.8;object-fit:cover;border-radius:6px;margin-bottom:22px}.estimate h2{font-size:26px}.estimate dl,.review-list{margin:24px 0;font-size:15px}.estimate dt,.review-list dt{color:var(--muted);font-size:13px;margin-top:14px}.estimate dd,.review-list dd{margin:5px 0;font-weight:600;line-height:1.5}.estimate .total{font-size:35px;letter-spacing:-.04em}.estimate .quote{font-size:25px}.review-list{word-break:break-word}.notice{background:#eef3df;border:1px solid #d1dbb4;border-radius:8px;padding:18px;font-size:14px;line-height:1.6}.booking-link{font-size:14px;margin-top:20px}.article{max-width:900px;margin:0 auto;padding:45px 24px 80px}.article h1{font-size:56px;line-height:1.05}.article h2{font-size:33px;margin-top:50px}.article p,.article li{font-size:18px;line-height:1.8;color:#3f5966}.article ul{padding-left:25px}.article .lead{font-size:22px}.article figure{margin:32px 0}.article figure img{width:100%;aspect-ratio:2;object-fit:cover;border-radius:12px}.article .meta{font-size:13px;color:var(--muted);margin:22px 0}.legal{max-width:850px;margin:auto;padding:50px 24px 90px}.legal h1{font-size:56px;line-height:1.08}.legal h2{font-size:29px;margin-top:40px}.legal p,.legal li{font-size:17px;line-height:1.8;color:#3f5966}.legal strong{color:var(--ink)}.legal .draft{background:#fff0d9;border:1px solid #c6953f;padding:20px;border-radius:8px}.table-scroll{overflow:auto}table{border-collapse:collapse;min-width:100%;font-size:14px}td,th{padding:14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}th{font-weight:700}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-actions button{font-size:13px;min-height:44px;padding:8px 12px}.admin-booking{padding:20px;border:1px solid var(--line);border-radius:10px;background:white;margin:20px 0}.admin-booking h2{font-size:23px}.admin-booking .data{font-size:13px;color:var(--muted);line-height:1.8;word-break:break-word}.receipt{max-width:820px;margin:50px auto 80px}.receipt h1{font-size:54px;line-height:1.05}.receipt .planner{margin:24px 0}.pill{display:inline-block;background:var(--soft);padding:8px 14px;border-radius:20px;font-size:13px;font-weight:700}.receipt .status-label{font-size:22px}.search{max-width:550px;margin:28px 0}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.journal-grid .card{height:100%}.library-count{color:var(--muted);font-size:14px}.reveal{animation:gentle-reveal .45s ease both}@keyframes gentle-reveal{from{opacity:.7;transform:translateY(10px)}to{opacity:1;transform:none}}.hero-vehicle-motion{will-change:transform}
.journal-article{max-width:900px;margin:auto;padding:40px 24px 70px}.journal-article h1{font-size:54px;line-height:1.08}.journal-article h2{font-size:31px}.journal-article p,.journal-article li{font-size:18px;line-height:1.8;color:#3f5966}.journal-article img{border-radius:12px;margin:24px 0}.journal-article .section{padding:35px 0}.journal-meta,.journal-tags{font-size:13px;color:var(--muted);line-height:1.6}.journal-article-gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.journal-article a{overflow-wrap:anywhere}.card[hidden]{display:none}h1{letter-spacing:-.04em}.brand{letter-spacing:0}
@media(min-width:1600px){h1{font-size:104px}}
@media(max-width:1000px){.wrap{padding:0 24px}.nav-links{gap:18px}.hero{gap:28px;grid-template-columns:1.2fr 1fr}.planner{padding:22px}.hero-details{display:block}.hero-price{margin-top:26px}.hero .vehicle-hero img{height:240px}h1{font-size:72px}.split{gap:35px}.booking-grid{gap:30px}.cards,.journal-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.preview-notice{font-size:10px;padding:8px 16px}.preview-notice a{display:none}.wrap{padding:0 20px}.nav{min-height:82px;gap:12px}.brand{font-size:18px;gap:8px}.brand img{width:40px;height:40px}.menu-button{display:block}.nav-cta{display:none}.nav-links{display:none;position:absolute;top:114px;left:16px;right:16px;z-index:4;background:white;border:1px solid var(--line);padding:24px;border-radius:12px;box-shadow:0 8px 25px #14344512}.nav-links.open{display:flex;flex-direction:column;align-items:start;gap:24px}.hero{display:block;padding:26px 0 44px}.hero .eyebrow{margin-bottom:18px;font-size:10px;max-width:180px}.vehicle-hero{margin-bottom:24px}.vehicle-hero img,.hero .vehicle-hero img{height:160px}.vehicle-hero figcaption{font-size:9px}h1{font-size:52px;line-height:1;letter-spacing:-.06em;margin-bottom:22px}.hero-details{margin:22px 0 28px}.hero-details>.eyebrow{display:none}.hero-price{padding:0;border:0;margin-top:0}.hero-price strong{font-size:23px}.hero-price>p{margin:0}.hero-price span{font-size:13px}.planner{padding:22px 20px}.planner-head{margin-bottom:24px}.planner-head h2{font-size:25px}.status{font-size:11px;max-width:115px}.duration-grid{gap:8px}.duration-choice span{min-height:62px}.field{margin-bottom:22px}label,legend{font-size:15px}.planner-foot{margin-top:20px}.section{padding:55px 0}.split,.steps{display:block}.split>div+div,.split>figure{margin-top:30px}.fact-row{gap:16px}.fact-row strong{font-size:22px}.fact-row span{font-size:12px}.step{margin-bottom:32px}.cards,.journal-grid{grid-template-columns:1fr}.section-head{display:block}.section-head>a{display:inline-block;margin-top:20px}.lead{font-size:18px}h2{font-size:37px}.cta-panel{display:block;padding:30px 24px}.cta-panel .primary{margin-top:25px;width:100%}.footer-row{display:block}.footer-links{margin-top:25px;gap:14px 20px}.footer-note{font-size:11px}.page-title{padding:36px 0 24px}.page-title h1{font-size:45px}.booking-grid{display:flex;flex-direction:column;gap:26px}.booking-form{width:100%;padding:23px 18px}.estimate{position:static;width:100%;order:-1;padding:20px}.estimate img{display:none}.estimate h2{font-size:23px}.estimate dl{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin:12px 0}.estimate dl>div:first-child{grid-column:1/-1}.estimate .total{font-size:29px}.estimate .hint{font-size:12px}.row{grid-template-columns:1fr;gap:0}.form-actions{gap:12px}.form-actions .primary{flex:1;padding:12px 15px}.form-actions .secondary{padding:12px 15px}.article h1{font-size:41px}.article h2{font-size:30px}.article p,.article li{font-size:17px}.article{padding:32px 20px 60px}.article .lead{font-size:20px}.legal h1{font-size:43px}.receipt h1{font-size:43px}.receipt{margin-top:32px}.faq summary{font-size:19px}.admin-actions{gap:10px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-vehicle-motion{transform:none!important;will-change:auto}}

[hidden]{display:none!important}

/* Final comparison adjustments: selected concept proportions and readable word spacing. */
h1{letter-spacing:-.02em}.brand{font-weight:500}.hero{grid-template-columns:minmax(0,1.6fr) minmax(350px,1fr)}
@media(max-width:1000px){.hero{grid-template-columns:1.2fr 1fr}}
@media(max-width:760px){.nav{min-height:76px}.hero{padding-top:16px}.hero .eyebrow{font-size:11px;line-height:1.5;margin-bottom:12px}.vehicle-hero{margin-bottom:18px}.hero .vehicle-hero img{height:130px}h1{font-size:48px;letter-spacing:-.02em}.hero-details{margin:18px 0 22px}.nav-links{top:110px}}

/* Image dimensions: preserve intrinsic metadata and intentional desktop ratios. */
.split > figure { margin: 0; min-width: 0; }
.editorial-photo, .card img, .article figure img { height: auto; }
.enquiry-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.booking-form fieldset { margin-bottom: 0; }
#request-message { margin-bottom: 28px; }
body { font-size: 16px; line-height: 1.6; }
.lead { font-size: 20px; line-height: 1.55; }
.eyebrow, .article .eyebrow { font-size: 12px; line-height: 1.5; }
.planner > .primary { margin-top: 16px; }
.page-title > .primary, .section > .primary { margin-top: 16px; }
.card-copy > p:first-child { margin-bottom: 8px; }
.card-copy h3 { margin-bottom: 12px; }
.nav-links a, .nav-cta, .footer-links a { min-height: 44px; display: inline-flex; align-items: center; }
.mobile-quote-link { display: none !important; }
.hero-intro { border-left: 1px solid var(--line); padding-left: 22px; }
.hero-intro p { margin-bottom: 4px; }
.hero-intro strong { display: block; font-size: 27px; line-height: 1.2; letter-spacing: -.035em; }
.hero-intro span { display: block; color: var(--muted); font-size: 13px; margin-top: 8px; }
.vehicle-cover { margin: 8px 0 28px; }
.vehicle-cover img { width: 100%; height: auto; aspect-ratio: 2/1; object-fit: cover; border-radius: 12px; }
.vehicle-features { display: grid; grid-template-columns: repeat(3,1fr); gap: 32px; }
.vehicle-features > div { border-top: 2px solid var(--ink); padding-top: 24px; }
.vehicle-source { margin-top: 28px; }
.seat-map { background: var(--ink); border-radius: 16px; color: white; padding: 32px; }
.seat-map > div { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 24px; }
.seat-map span { border: 1px solid #89a1ab; border-radius: 16px; padding: 22px 8px; text-align: center; }
.seat-map .driver-seat { background: #304d59; }
.seat-map .hint { color: #c5d0d4; margin-top: 20px; }
@media (max-width: 760px) {
 .split > figure { margin: 30px 0 0; } .article figure { margin: 28px 0; }
 .editorial-photo, .card img, .article figure img, .vehicle-cover img, .hero .vehicle-hero img { aspect-ratio: 2/1; height: auto; }
 .lead, .article .lead { font-size: 18px; line-height: 1.56; }
 .eyebrow, .article .eyebrow { font-size: 12px; line-height: 1.5; }
 .hero-intro { border: 0; padding: 0; }
 .hero-intro strong { font-size: 23px; }
 .nav-links { top: 78px; }
 .mobile-quote-link { display: inline-flex !important; }
 .nav-links a { width: 100%; min-height: 48px; }
 .nav-links { gap: 8px; padding: 16px 24px; }
 .vehicle-features { grid-template-columns: 1fr; gap: 32px; }
 .vehicle-cover { margin: 8px 0 24px; }
 .seat-map { padding: 24px; margin-top: 28px; }
 .seat-map > div { gap: 20px; margin-bottom: 20px; }
 .page-title p:last-of-type { margin-bottom: 20px; }
 .booking-form .primary { margin-top: 20px; }
 .booking-form .hint { line-height: 1.6; }
 .footer-links { gap: 4px 20px; }
}

/* Comfortable four-step quote journey and larger uncropped homepage scene. */
[hidden] { display: none !important; }
.hero .vehicle-hero img { height: auto; aspect-ratio: 2/1; object-fit: contain; }
.quote-progress { display: flex; list-style: none; gap: 8px; padding: 0; margin: 0 0 28px; flex-wrap: wrap; }
.quote-progress li { color: var(--muted); border-bottom: 2px solid var(--line); padding: 8px 10px; font-size: 13px; }
.quote-progress li[aria-current="step"] { color: var(--ink); border-color: var(--ink); font-weight: 700; }
.form-step h2 { margin-bottom: 24px; }
.duration-options { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 12px 0 24px; }
.duration-options label { display: block; position: relative; cursor: pointer; }
.duration-options input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.duration-options span { display: block; text-align: center; border: 1px solid var(--line); border-radius: 9px; padding: 13px 4px; font-size: 14px; }
.duration-options input:checked + span { background: var(--ink); color: white; border-color: var(--ink); }
.duration-options input:focus-visible + span { outline: 3px solid #87adc0; outline-offset: 2px; }
.wizard-actions { display: flex; gap: 16px; margin-top: 28px; flex-wrap: wrap; }
.wizard-actions button { min-height: 48px; }
.quote-review { display: grid; grid-template-columns: 1fr 2fr; gap: 12px 20px; margin: 24px 0; overflow-wrap: anywhere; }
.quote-review dt { color: var(--muted); } .quote-review dd { margin: 0; }
.archive-index { list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 22px 40px; }
.archive-index li { border-top: 1px solid var(--line); padding: 20px 0; }
.archive-index a { display: block; font-size: 19px; line-height: 1.4; } .archive-index p { margin-top: 8px; }
.archive-notice { border-left: 3px solid var(--ink); padding: 16px 24px; margin-bottom: 32px; background: var(--paper); }
@media(max-width:760px) {
 .hero .vehicle-hero { width: calc(100% + 40px); margin-left: -20px; margin-right: -20px; }
 .hero .vehicle-hero img { border-radius: 0; }
 .duration-options { gap: 8px; } .quote-progress li { padding: 8px 7px; font-size: 12px; }
 .archive-index { grid-template-columns: 1fr; } .quote-review { grid-template-columns: 1fr; gap: 4px; }
 .quote-review dd { margin-bottom: 16px; } .wizard-actions { gap: 12px; }
}

/* One page container preserves the same gutters for header, sections and footer. */
.wrap { width: 100%; max-width: 1440px; margin-left: auto; margin-right: auto; padding-left: 36px; padding-right: 36px; min-width: 0; }
@media(max-width:1000px) { .wrap { padding-left: 24px; padding-right: 24px; } }
@media(max-width:760px) { .wrap { padding-left: 20px; padding-right: 20px; } }

#duration-summary, #plan-duration-summary { display: block; margin-bottom: 12px; }
