:root { --ink:#11233f; --muted:#5e646d; --paper:#fbfaf7; --warm:#e9e4dc; --line:#c8c4bd; --blue:#1649d9; --blue-dark:#0c318d; --sand:#f2efe9; --serif:"Source Serif 4", Georgia, serif; --sans:"Archivo", Arial, sans-serif; --shadow:0 14px 34px rgba(17,35,63,.08); color-scheme:light; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.56; } body.dark-theme { --ink:#f3f2ed; --muted:#bac0c9; --paper:#111720; --warm:#202a36; --line:#526071; --blue:#6e96ff; --blue-dark:#a9c1ff; --sand:#18212c; --shadow:0 18px 46px rgba(0,0,0,.25); color-scheme:dark; } a { color:inherit; } img { max-width:100%; height:auto; display:block; } button, input, textarea { font:inherit; } button { cursor:pointer; } :focus-visible { outline:3px solid var(--blue); outline-offset:3px; } .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; }
.page-width { width:min(1160px, calc(100% - 48px)); margin-inline:auto; }.utility { background:var(--ink); color:var(--paper); font-size:.69rem; letter-spacing:.055em; }.utility-inner { min-height:33px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }.site-header { position:sticky; top:0; z-index:20; background:color-mix(in srgb, var(--paper) 94%, transparent); backdrop-filter:blur(14px); border-bottom:1px solid var(--line); }.main-nav { min-height:82px; display:flex; gap:1.5rem; align-items:center; }.wordmark { display:flex; text-decoration:none; align-items:center; gap:.7rem; line-height:1.05; font-size:.84rem; letter-spacing:-.035em; }.wordmark b { font-weight:700; }.mark { width:33px; height:33px; display:grid; place-items:center; background:var(--blue); color:white; font-size:1.2rem; font-weight:700; }.nav-links { display:flex; align-items:center; gap:1.25rem; margin-left:auto; }.nav-links a { text-decoration:none; font-size:.76rem; font-weight:600; }.nav-links a[aria-current="page"] { color:var(--blue); }.nav-contact { border:1px solid var(--blue); color:var(--blue)!important; padding:.55rem .7rem; }.theme-toggle { margin-left:.3rem; display:flex; align-items:center; gap:.45rem; color:var(--ink); padding:.35rem; border:0; background:transparent; font-size:.68rem; font-weight:600; }.theme-dot { width:12px; height:12px; border:2px solid var(--blue); display:inline-block; transform:rotate(45deg); }.nav-toggle { display:none; }
.eyebrow { margin:0; margin-bottom:.8rem; color:var(--blue); font-size:.7rem; font-weight:700; letter-spacing:.12em; }.hero { display:grid; grid-template-columns:1.07fr .93fr; gap:clamp(2rem,6vw,6.5rem); align-items:center; padding-block:clamp(3.5rem,8vw,7rem) clamp(4rem,8vw,8rem); }.hero h1, h1 { font-size:clamp(2.7rem,6.1vw,5.5rem); letter-spacing:-.075em; line-height:.93; margin:0; max-width:790px; }.hero h1 em, h1 em { font-family:var(--serif); font-weight:400; letter-spacing:-.065em; }.hero-lead { font-family:var(--serif); font-size:clamp(1.17rem,1.85vw,1.45rem); line-height:1.42; max-width:610px; margin:1.7rem 0; }.hero-actions { display:flex; flex-wrap:wrap; gap:.7rem; }.button { text-decoration:none; display:inline-flex; align-items:center; justify-content:center; min-height:45px; padding:.65rem 1rem; font-size:.75rem; font-weight:700; letter-spacing:.015em; transition:transform .2s, background .2s; }.button:hover { transform:translateY(-2px); }.button-blue { background:var(--blue); color:white; border:1px solid var(--blue); }.button-outline { border:1px solid var(--blue); color:var(--blue); background:transparent; }.micro-note, .fine-print, .form-fine { color:var(--muted); font-size:.75rem; max-width:570px; }.ledger-paper { background:var(--warm); border-top:7px solid var(--blue); padding:1.4rem; box-shadow:var(--shadow); transform:rotate(1.4deg); }.paper-head { font-size:.68rem; font-weight:700; letter-spacing:.08em; display:flex; justify-content:space-between; padding-bottom:1rem; border-bottom:1px solid var(--line); }.paper-line { display:grid; grid-template-columns:37% 1fr; gap:.6rem; padding:1rem 0; border-bottom:1px dashed var(--line); font-family:var(--serif); font-size:.95rem; }.paper-line b { font-family:var(--sans); font-size:.69rem; letter-spacing:.04em; }.hero-photo { margin:1.4rem 0 0; }.hero-img { width:100%; aspect-ratio:1.9; object-fit:cover; }.hero-photo figcaption, figure figcaption { font-size:.62rem; letter-spacing:.03em; color:var(--muted); margin-top:.4rem; }.hero-photo figcaption a, figure figcaption a { color:inherit; }.section { padding-block:clamp(3.8rem,8vw,7rem); }.intro-block { display:grid; grid-template-columns:55px 1fr 1fr; column-gap:clamp(1.5rem,5vw,4rem); border-top:1px solid var(--line); }.section-index { color:var(--blue); font-size:1.35rem; font-family:var(--serif); }.intro-block h2, .section-title h2, .split-heading h2, .image-spread h2, .story-grid h2, .editorial-spread h2, .contact-copy h2 { font-size:clamp(2rem,4vw,3.6rem); letter-spacing:-.065em; line-height:1; margin:0; }.intro-text { font-family:var(--serif); font-size:1.1rem; }.decision-section { background:var(--ink); color:var(--paper); }.decision-section .eyebrow { color:#91adff; }.decision-ledger { margin:2rem 0 0; padding:0; list-style:none; border-top:1px solid color-mix(in srgb, var(--paper) 33%, transparent); }.decision-ledger li { display:grid; grid-template-columns:95px 1fr auto; gap:1.5rem; align-items:start; padding:1.55rem 0; border-bottom:1px solid color-mix(in srgb, var(--paper) 33%, transparent); }.row-number { color:#91adff; font-family:var(--serif); font-size:2.6rem; line-height:1; }.decision-ledger h3 { margin:0 0 .25rem; font-size:1.12rem; }.decision-ledger p { margin:0; max-width:700px; color:#e0e5ed; font-family:var(--serif); }.decision-ledger a { color:#fff; text-decoration:none; font-size:.7rem; padding-top:.3rem; white-space:nowrap; }.split-heading { display:grid; grid-template-columns:1.1fr .6fr; gap:3rem; align-items:end; margin-bottom:2.5rem; }.split-heading > p { margin:0; font-family:var(--serif); font-size:1.04rem; }.service-ledger { border-top:2px solid var(--ink); }.service-ledger a { text-decoration:none; display:grid; grid-template-columns:60px 1fr 20px; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line); align-items:center; transition:padding .2s, background .2s; }.service-ledger a:hover { padding-left:.75rem; background:var(--warm); }.service-ledger span { color:var(--blue); font-size:.7rem; font-weight:700; }.service-ledger h3 { margin:0; font-size:1.05rem; letter-spacing:-.025em; }.service-ledger p { margin:.12rem 0 0; color:var(--muted); font-family:var(--serif); }.service-ledger b { color:var(--blue); }.image-spread { background:var(--warm); }.image-spread-grid, .story-grid, .diagnostic-photo-layout, .editorial-spread { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,7vw,7.8rem); align-items:center; }.image-spread figure, .story-grid figure, .diagnostic-photo-layout figure, .editorial-spread figure { margin:0; }.spread-image, .story-photo, .diagnostic-photo, .editorial-photo { width:100%; aspect-ratio:1.12; object-fit:cover; }.image-spread p, .story-grid p, .diagnostic-photo-layout p, .editorial-spread p { font-family:var(--serif); font-size:1.08rem; }.text-link { color:var(--blue); font-weight:700; font-size:.79rem; text-decoration-thickness:1px; text-underline-offset:4px; }.vehicle-lines { border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; justify-content:space-between; flex-wrap:wrap; gap:.65rem 1rem; padding:1rem 0; font-size:clamp(.78rem,1.6vw,1.13rem); font-weight:600; }.season-note { background:var(--blue); color:white; }.season-note .eyebrow { color:#dce5ff; }.season-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }.season-grid h2 { font-size:clamp(2rem,3.5vw,3.35rem); letter-spacing:-.06em; line-height:1; margin:0; }.season-grid p { font-family:var(--serif); font-size:1.09rem; margin-top:0; }.season-grid .text-link { color:#fff; }.faq-controls { display:flex; flex-wrap:wrap; gap:.45rem; margin:1.6rem 0 1rem; }.filter { background:transparent; border:1px solid var(--line); color:var(--ink); padding:.4rem .65rem; font-size:.68rem; font-weight:700; }.filter.active, .filter:hover { border-color:var(--blue); background:var(--blue); color:white; }.faq-ledger { border-top:1px solid var(--ink); margin-bottom:1.5rem; }.faq-row { border-bottom:1px solid var(--line); }.faq-row summary { cursor:pointer; padding:1rem 0; display:grid; grid-template-columns:58px 1fr 22px; gap:1rem; list-style:none; align-items:center; font-weight:600; }.faq-row summary::-webkit-details-marker { display:none; }.faq-code { color:var(--blue); font-size:.64rem; letter-spacing:.08em; }.plus { color:var(--blue); font-size:1.45rem; line-height:1; text-align:center; }.faq-row[open] .plus { transform:rotate(45deg); }.faq-answer { padding:0 2rem 1.35rem 74px; max-width:940px; }.faq-answer p { font-family:var(--serif); font-size:1.05rem; margin:0; }.page-intro { padding-top:clamp(3.8rem,9vw,8rem); padding-bottom:clamp(1rem,4vw,3rem); }.page-intro .lead-wide { font-family:var(--serif); font-size:clamp(1.12rem,2vw,1.42rem); max-width:770px; margin:1.8rem 0 0; }.story-grid { grid-template-columns:.9fr 1.1fr; }.story-grid.reverse { grid-template-columns:1.1fr .9fr; }.service-detail-list { padding-top:1rem; }.detail-row { display:grid; grid-template-columns:90px 1fr; gap:1rem; border-top:1px solid var(--line); padding:1.6rem 0; }.detail-row:last-child { border-bottom:1px solid var(--line); }.detail-row > span { color:var(--blue); font-size:1.9rem; font-family:var(--serif); }.detail-row h2 { margin:0; font-size:1.38rem; letter-spacing:-.035em; }.detail-row p { margin:.65rem 0 0; font-family:var(--serif); font-size:1.04rem; max-width:860px; }.comparison-band { background:var(--warm); }.comparison-band h2, .mini-faq h2 { font-size:clamp(2rem,4vw,3.4rem); letter-spacing:-.065em; line-height:1; margin:0 0 1.7rem; }.check-lines { border-top:1px solid var(--line); }.check-lines div { display:grid; grid-template-columns:48px 1fr; gap:1rem; border-bottom:1px solid var(--line); padding:.9rem 0; }.check-lines span { color:var(--blue); font-weight:700; }.check-lines p { margin:0; font-family:var(--serif); }.diagnostic-board { background:var(--ink); color:var(--paper); padding:1.15rem 1.2rem 1.5rem; }.board-top { display:flex; justify-content:space-between; font-size:.65rem; letter-spacing:.08em; padding-bottom:1.2rem; border-bottom:1px solid #536070; }.board-grid { display:grid; grid-template-columns:repeat(3,1fr); }.signal { padding:1.3rem; border-right:1px solid #536070; }.signal:last-child { border:0; }.signal b { color:#91adff; font-size:1.4rem; }.signal h2 { font-size:1.25rem; margin:.8rem 0 .35rem; }.signal p { font-family:var(--serif); color:#e0e5ed; margin:0; }.diagnostic-photo-layout { grid-template-columns:1.1fr .9fr; }.diag-ledger { padding-top:1rem; }.diag-ledger article { display:grid; grid-template-columns:75px 1fr; gap:1rem; padding:1.2rem 0; border-top:1px solid var(--line); }.diag-ledger article:last-child { border-bottom:1px solid var(--line); }.diag-ledger span { color:var(--blue); font-family:var(--serif); font-size:1.5rem; }.diag-ledger h3 { margin:0; font-size:1.2rem; }.diag-ledger p { font-family:var(--serif); max-width:780px; margin:.35rem 0 0; }.warning-band { background:#f3dede; color:#46151a; }.dark-theme .warning-band { background:#45222a; color:#ffe6e9; }.warning-band .eyebrow { color:#a41627; }.warning-grid, .source-callout-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; }.warning-grid h2, .source-callout-grid h2 { font-size:clamp(2rem,4vw,3.5rem); letter-spacing:-.065em; line-height:1; margin:0; }.warning-grid p, .source-callout-grid p { font-family:var(--serif); font-size:1.08rem; margin-top:0; }.manifesto { display:grid; grid-template-columns:60px 1fr; gap:2rem; border-top:1px solid var(--line); }.manifesto h2 { font-size:clamp(2rem,4vw,3.5rem); line-height:1; margin:0 0 1rem; letter-spacing:-.065em; }.manifesto p { max-width:830px; font-family:var(--serif); font-size:1.14rem; }.paper-principles { background:var(--warm); }.principle-list { display:grid; grid-template-columns:repeat(3,1fr); gap:2.2rem; }.principle-list article { border-top:5px solid var(--blue); padding-top:1.1rem; }.principle-list span { font-size:.7rem; color:var(--blue); font-weight:700; }.principle-list h2 { font-size:1.45rem; letter-spacing:-.04em; line-height:1; }.principle-list p { font-family:var(--serif); }.sources-note { border-top:1px solid var(--line); }.sources-note h2 { font-size:clamp(1.7rem,3vw,2.6rem); margin:0; letter-spacing:-.055em; }.sources-note p { font-family:var(--serif); font-size:1.1rem; max-width:850px; }.faq-controls.wide { margin-top:0; }.faq-ledger.full { margin-top:1.3rem; }.source-callout { background:var(--warm); }.contact-tool { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem,8vw,8rem); align-items:start; }.contact-copy p { font-family:var(--serif); font-size:1.08rem; }.local-badge { display:inline-block; border:1px solid var(--blue); color:var(--blue); padding:.45rem .65rem; font-size:.7rem; font-weight:700; }.enquiry-form { background:var(--warm); padding:clamp(1.2rem,4vw,2.5rem); border-top:6px solid var(--blue); }.form-status { min-height:1.3rem; margin-bottom:.6rem; font-size:.8rem; font-weight:600; }.form-status.error { color:#b00020; }.form-status.success { color:#076c43; }.form-field { display:grid; gap:.32rem; margin-bottom:1rem; }.form-field label { font-size:.78rem; font-weight:700; }.form-field input, .form-field textarea { width:100%; color:var(--ink); background:var(--paper); border:1px solid var(--line); border-radius:0; padding:.65rem; }.form-field input:focus, .form-field textarea:focus { border-color:var(--blue); outline:2px solid color-mix(in srgb, var(--blue) 30%, transparent); }.form-field small { color:var(--muted); font-size:.7rem; }.check-label { display:flex; gap:.55rem; align-items:flex-start; margin:1rem 0; font-size:.76rem; }.check-label input { margin-top:.24rem; accent-color:var(--blue); }.contact-notes { border-top:1px solid var(--line); }.contact-note-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }.contact-note-grid h2 { font-size:1.2rem; letter-spacing:-.03em; }.contact-note-grid p { font-family:var(--serif); }.legal-intro h1 { font-size:clamp(2.5rem,5vw,4.7rem); }.legal-copy { max-width:900px; padding-top:2rem; }.legal-copy h2 { font-size:1.35rem; margin:2.2rem 0 .5rem; letter-spacing:-.035em; }.legal-copy p { font-family:var(--serif); font-size:1.05rem; }.legal-copy code { font-family:monospace; background:var(--warm); padding:.1rem .25rem; }.attribution-list { padding-top:2rem; }.attribution-row { display:grid; grid-template-columns:65px 1fr auto; gap:1rem; padding:1.15rem 0; border-top:1px solid var(--line); align-items:center; }.attribution-row:last-child { border-bottom:1px solid var(--line); }.attribution-row > span { color:var(--blue); font-family:var(--serif); font-size:1.65rem; }.attribution-row h2 { margin:0; font-size:1.2rem; }.attribution-row p { margin:.2rem 0 0; font-family:var(--serif); }.attribution-row a { color:var(--blue); font-size:.76rem; font-weight:700; }.site-footer { background:var(--ink); color:var(--paper); position:relative; overflow:hidden; }.footer-image { position:absolute; inset:0; opacity:.12; background-image:linear-gradient(90deg,var(--ink) 4%,transparent 80%), url('pas-engine-inspection.webp'); background-size:cover; background-position:center; }.footer-grid { position:relative; display:grid; grid-template-columns:1.4fr .6fr .6fr; gap:2.5rem; padding-block:3.5rem; }.site-footer h2 { font-size:clamp(1.7rem,3vw,2.5rem); max-width:370px; letter-spacing:-.06em; line-height:1; margin:.25rem 0 1rem; }.site-footer p { max-width:430px; font-family:var(--serif); }.site-footer .eyebrow { color:#a9c1ff; }.footer-links { display:flex; flex-direction:column; align-items:flex-start; gap:.45rem; }.footer-links a { color:var(--paper); text-decoration:none; font-size:.79rem; }.footer-links a:hover { color:#a9c1ff; }.footer-bottom { position:relative; display:flex; justify-content:space-between; gap:1rem; padding-block:1rem; border-top:1px solid #5b6573; font-size:.67rem; color:#c6ccd4; }
@media (max-width:800px) { .page-width { width:min(100% - 32px, 1160px); }.utility-inner { justify-content:center; text-align:center; }.utility-inner span:last-child { display:none; }.main-nav { min-height:68px; gap:.65rem; }.nav-toggle { display:block; margin-left:auto; border:1px solid var(--blue); color:var(--blue); background:transparent; padding:.38rem .5rem; font-size:.68rem; font-weight:700; }.nav-links { display:none; position:absolute; left:0; right:0; top:100%; margin:0; padding:1rem 16px 1.3rem; border-bottom:1px solid var(--line); background:var(--paper); box-shadow:var(--shadow); flex-direction:column; align-items:stretch; gap:.15rem; }.nav-links.open { display:flex; }.nav-links a { padding:.65rem 0; }.nav-contact { padding:.65rem!important; margin-top:.4rem; text-align:center; }.theme-toggle { margin-left:.2rem; }.theme-toggle [data-theme-label] { display:none; }.hero, .intro-block, .split-heading, .image-spread-grid, .story-grid, .story-grid.reverse, .diagnostic-photo-layout, .editorial-spread, .season-grid, .warning-grid, .source-callout-grid, .contact-tool { grid-template-columns:1fr; gap:1.55rem; }.hero { padding-top:3.5rem; }.hero-copy { order:0; }.ledger-paper { transform:none; }.intro-block { grid-template-columns:35px 1fr; }.intro-text { grid-column:2; }.decision-ledger li { grid-template-columns:60px 1fr; gap:.8rem; }.decision-ledger li a { grid-column:2; padding:0; }.row-number { font-size:2rem; }.split-heading { margin-bottom:1.7rem; }.service-ledger a { grid-template-columns:45px 1fr 18px; }.image-spread figure, .diagnostic-photo-layout figure, .story-grid figure { order:2; }.board-grid, .principle-list, .contact-note-grid { grid-template-columns:1fr; }.signal { border-right:0; border-bottom:1px solid #536070; }.signal:last-child { border-bottom:0; }.detail-row, .diag-ledger article { grid-template-columns:48px 1fr; }.faq-row summary { grid-template-columns:42px 1fr 20px; gap:.55rem; }.faq-answer { padding-left:42px; }.attribution-row { grid-template-columns:40px 1fr; }.attribution-row a { grid-column:2; }.footer-grid { grid-template-columns:1fr; gap:1.5rem; padding-block:3rem; }.footer-bottom { display:block; }.footer-bottom span { display:block; margin:.2rem 0; } }
@media (max-width:420px) { .wordmark { font-size:.7rem; }.mark { width:29px; height:29px; }.hero-actions { display:grid; grid-template-columns:1fr; }.button { width:100%; }.paper-line { grid-template-columns:1fr; gap:.15rem; }.vehicle-lines { justify-content:flex-start; }.faq-controls { gap:.35rem; }.filter { font-size:.62rem; }.intro-block { grid-template-columns:1fr; }.intro-text { grid-column:auto; }.section-index { display:none; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *::before, *::after { transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; } }
