/* garagist.autos — local, tracker-free editorial stylesheet */
:root {
  --paper:#fbfaf7; --paper-deep:#f0ece5; --ink:#08243b; --ink-soft:#315064;
  --poppy:#c73949; --poppy-dark:#9f2332; --line:#cfd8dc; --sun:#f5d7ae;
  --serif: Georgia, "Iowan Old Style", "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --measure: 72rem; --shadow: 0 22px 55px rgba(8,36,59,.16);
}
* { box-sizing: border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); line-height:1.58; font-size:16px; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration-color:rgba(199,57,73,.65); text-underline-offset:.16em; }
a:hover { color:var(--poppy-dark); }
a:focus-visible, summary:focus-visible, button:focus-visible, textarea:focus-visible { outline:3px solid var(--poppy); outline-offset:4px; }
.skip { position:absolute; left:1rem; top:-5rem; z-index:100; background:var(--ink); color:white; padding:.6rem .85rem; font-weight:700; }
.skip:focus { top:1rem; }
.utility { min-height:34px; background:var(--ink); color:#ecf2f4; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.35rem max(1rem, calc((100vw - 1320px)/2)); font-size:.72rem; letter-spacing:.045em; }
.utility strong { color:#fff; font-weight:700; }
.site-head { position:sticky; top:0; z-index:20; background:rgba(251,250,247,.97); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
.head-inner { width:min(1320px, calc(100% - 2rem)); margin:auto; min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.wordmark { color:var(--ink); text-decoration:none; font-family:var(--serif); font-size:1.68rem; font-weight:700; letter-spacing:-.05em; white-space:nowrap; }
.wordmark span { color:var(--poppy); font-style:italic; }
.desktop-nav { display:flex; gap:1.25rem; align-items:center; font-size:.85rem; font-weight:700; }
.desktop-nav a { text-decoration:none; position:relative; padding:.4rem 0; }
.desktop-nav a[aria-current="page"]::after { content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--poppy); }
.nav-drawer { display:none; position:relative; }
.nav-drawer summary { cursor:pointer; border:1px solid var(--ink); list-style:none; padding:.44rem .7rem; font-weight:750; font-size:.8rem; }
.nav-drawer summary::-webkit-details-marker { display:none; }
.nav-drawer nav { position:absolute; right:0; top:calc(100% + .45rem); width:230px; padding:.75rem; background:var(--paper); border:1px solid var(--line); box-shadow:var(--shadow); display:grid; gap:.25rem; }
.nav-drawer nav a { padding:.55rem .4rem; text-decoration:none; font-weight:700; }
main { overflow:hidden; }
.hero { min-height:630px; position:relative; color:#fff; display:grid; align-items:end; background:var(--ink); }
.hero-media { position:absolute; inset:0; }
.hero-media img { width:100%; height:100%; object-fit:cover; object-position:center; opacity:.83; }
.hero-media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(8,36,59,.84) 0%, rgba(8,36,59,.35) 52%, rgba(8,36,59,.08) 100%); }
.hero-inner { width:min(1320px, calc(100% - 2rem)); margin:0 auto; position:relative; z-index:1; padding:3.75rem 0; }
.title-card { width:min(620px, 100%); padding:2.15rem 2.1rem 2rem; background:rgba(251,250,247,.95); color:var(--ink); box-shadow:var(--shadow); border-top:7px solid var(--poppy); }
.kicker, .eyebrow { color:var(--poppy); font-size:.73rem; letter-spacing:.13em; text-transform:uppercase; font-weight:800; margin:0 0 .85rem; }
.hero .kicker { color:var(--poppy-dark); }
h1, h2, h3 { line-height:1.05; }
h1 { font-family:var(--serif); font-size:clamp(2.8rem, 6vw, 5.6rem); letter-spacing:-.055em; margin:0 0 1rem; font-weight:650; }
h2 { font-family:var(--serif); font-size:clamp(2rem, 3.5vw, 3.4rem); letter-spacing:-.045em; margin:.1rem 0 1.15rem; font-weight:650; }
h3 { font-size:1.08rem; margin:.2rem 0 .55rem; }
.lede { font-family:var(--serif); font-size:1.28rem; line-height:1.45; max-width:45ch; margin:0; }
.hero-caption { display:flex; justify-content:space-between; gap:1rem; margin-top:2.15rem; font-size:.75rem; color:#dce7ea; }
.hero-caption em { color:#fff; font-style:normal; }
.section { padding:clamp(3.9rem, 8vw, 7.5rem) 0; }
.section.alt { background:var(--paper-deep); }
.wrap { width:min(var(--measure), calc(100% - 2rem)); margin:auto; }
.wide { width:min(1320px, calc(100% - 2rem)); margin:auto; }
.lead-grid { display:grid; grid-template-columns:1.12fr .88fr; gap:clamp(2rem, 7vw, 7rem); align-items:end; }
.large-copy { font-family:var(--serif); font-size:1.38rem; line-height:1.47; margin:0; max-width:34ch; }
.margin-note { border-left:3px solid var(--poppy); padding:.35rem 0 .35rem 1.15rem; color:var(--ink-soft); font-size:.92rem; }
.margin-note strong { color:var(--ink); }
.topic-triptych { display:grid; grid-template-columns:repeat(3, 1fr); gap:0; border-top:1px solid var(--line); margin-top:3rem; }
.topic-triptych article { padding:1.5rem 1.5rem 1.65rem 0; border-bottom:1px solid var(--line); }
.topic-triptych article + article { border-left:1px solid var(--line); padding-left:1.5rem; }
.topic-no { display:block; color:var(--poppy); font-family:var(--serif); font-size:1.9rem; font-style:italic; margin-bottom:1.2rem; }
.text-link { display:inline-block; color:var(--poppy-dark); font-size:.86rem; font-weight:800; text-decoration:none; border-bottom:1px solid currentColor; }
.chapter { display:grid; grid-template-columns:150px 1fr; gap:2rem; border-top:1px solid var(--line); padding:1.5rem 0; }
.chapter:first-child { margin-top:3rem; }
.chapter-label { font-size:.74rem; line-height:1.35; letter-spacing:.11em; text-transform:uppercase; color:var(--poppy-dark); font-weight:800; }
.chapter-body { display:grid; grid-template-columns:1.1fr .9fr; gap:3rem; }
.chapter-body p { margin:.15rem 0; }
.chips { display:flex; flex-wrap:wrap; gap:.5rem; align-content:start; }
.chip { display:inline-block; font-size:.78rem; font-weight:700; color:var(--ink); border:1px solid var(--line); padding:.34rem .6rem; background:#fff; }
.photo-essay { display:grid; grid-template-columns:1.3fr .7fr; gap:1.25rem; align-items:end; }
.photo-essay figure { margin:0; }
.photo-essay .main-photo img { width:100%; aspect-ratio:1.38; object-fit:cover; }
.photo-essay .side-photo { transform:translateY(3rem); }
.photo-essay .side-photo img { width:100%; aspect-ratio:.87; object-fit:cover; }
figcaption { margin-top:.65rem; font-size:.72rem; color:var(--ink-soft); }
figcaption a { color:inherit; }
.rule-list { list-style:none; padding:0; margin:1.5rem 0 0; border-top:1px solid var(--line); }
.rule-list li { display:grid; grid-template-columns:1.8rem 1fr; gap:.8rem; padding:.95rem 0; border-bottom:1px solid var(--line); }
.rule-list b { color:var(--poppy); font-family:var(--serif); font-size:1.2rem; }
.data-spread { display:grid; grid-template-columns:repeat(2, 1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:2.5rem; }
.data-spread article { background:var(--paper); padding:1.4rem 1.5rem; }
.data-spread .label { display:block; color:var(--poppy-dark); letter-spacing:.09em; font-size:.7rem; font-weight:800; text-transform:uppercase; margin-bottom:.45rem; }
.callout { padding:1.35rem 1.5rem; background:var(--ink); color:#fff; margin:2rem 0; }
.callout p { margin:.25rem 0; }
.callout a { color:#fff; }
.callout .eyebrow { color:#ffd0d5; }
.question-strip { background:var(--poppy); color:#fff; padding:2rem; }
.question-strip h2 { font-size:clamp(1.9rem, 3.5vw, 3rem); }
.question-strip ul { list-style:none; padding:0; margin:1.5rem 0 0; columns:2; gap:2rem; }
.question-strip li { padding:.55rem 0; border-top:1px solid rgba(255,255,255,.42); break-inside:avoid; }
.button { appearance:none; display:inline-block; cursor:pointer; border:1px solid var(--ink); background:var(--ink); color:#fff; font:inherit; font-weight:800; padding:.72rem 1rem; text-decoration:none; }
.button:hover { background:var(--poppy); border-color:var(--poppy); color:#fff; }
.button.light { background:transparent; color:var(--ink); }
.button.light:hover { color:#fff; }
.faq-preview { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem 4rem; margin-top:2rem; }
details { border-top:1px solid var(--line); padding:.92rem 0; }
details:last-child { border-bottom:1px solid var(--line); }
summary { cursor:pointer; list-style:none; padding-right:1.5rem; font-weight:800; position:relative; }
summary::-webkit-details-marker { display:none; }
summary::after { content:"+"; position:absolute; right:0; top:-.15rem; color:var(--poppy); font-size:1.4rem; font-weight:400; }
details[open] summary::after { content:"–"; }
details p { margin:.75rem 1.5rem .1rem 0; color:var(--ink-soft); }
.article-hero { background:var(--ink); color:#fff; padding:clamp(4rem, 8vw, 8.5rem) 0 3.5rem; position:relative; }
.article-hero .wrap { position:relative; z-index:1; }
.article-hero .eyebrow { color:#ffd7db; }
.article-hero .lede { color:#d9e3e6; }
.article-meta { display:flex; flex-wrap:wrap; gap:1rem 2rem; margin-top:2.25rem; font-size:.78rem; color:#b7c8cf; }
.article-meta b { color:#fff; }
.breadcrumb { font-size:.75rem; color:var(--ink-soft); margin-bottom:1.5rem; }
.breadcrumb a { text-decoration:none; }
.breadcrumb span { margin:0 .4rem; color:var(--poppy); }
.feature-split { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2rem, 7vw, 6rem); align-items:center; }
.feature-split.reverse > :first-child { order:2; }
.feature-split figure { margin:0; }
.feature-split img { width:100%; aspect-ratio:1.19; object-fit:cover; }
.service-ledger { border-top:2px solid var(--ink); margin:3rem 0 0; }
.ledger-row { display:grid; grid-template-columns:90px 1fr 1.3fr; gap:1.5rem; padding:1.55rem 0; border-bottom:1px solid var(--line); }
.ledger-row .num { color:var(--poppy); font-family:var(--serif); font-size:2rem; font-style:italic; }
.ledger-row h3 { font-family:var(--serif); font-size:1.55rem; }
.ledger-row p { margin:0; color:var(--ink-soft); }
.inline-note { color:var(--ink-soft); font-size:.9rem; padding:1rem 0 0; border-top:1px solid var(--line); }
.warning { border:2px solid var(--poppy); background:#fff9f8; padding:1.25rem 1.4rem; margin:2rem 0; }
.warning .eyebrow { margin-bottom:.35rem; }
.warning p { margin:.2rem 0; }
.process { counter-reset:steps; display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin:2.5rem 0; }
.process article { padding:1.4rem 1.15rem 1.55rem 0; counter-increment:steps; }
.process article + article { padding-left:1.15rem; border-left:1px solid var(--line); }
.process h3::before { content:"0" counter(steps); display:block; color:var(--poppy); font-family:var(--serif); font-size:1.8rem; font-style:italic; margin-bottom:.75rem; }
.notice-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.notice-grid article { padding:1.35rem; border:1px solid var(--line); }
.notice-grid .danger { border-color:var(--poppy); background:#fff8f8; }
.source-list { list-style:none; margin:1.5rem 0 0; padding:0; }
.source-list li { padding:.7rem 0; border-top:1px solid var(--line); font-size:.94rem; }
.source-list li:last-child { border-bottom:1px solid var(--line); }
.faq-list { max-width:920px; }
.faq-list details { padding:1.2rem 0; }
.faq-list summary { font-family:var(--serif); font-size:1.35rem; letter-spacing:-.02em; }
.faq-list p { font-size:1.03rem; max-width:70ch; }
.contact-layout { display:grid; grid-template-columns:1fr .9fr; gap:clamp(2rem, 7vw, 6rem); }
.local-box { background:var(--paper-deep); padding:1.5rem; border-top:5px solid var(--poppy); }
.local-box textarea { display:block; width:100%; min-height:190px; resize:vertical; background:#fff; border:1px solid var(--line); color:var(--ink); padding:.8rem; font:inherit; line-height:1.5; }
.local-box small { display:block; color:var(--ink-soft); margin:.65rem 0 1rem; }
.privacy-index { display:grid; grid-template-columns:repeat(2,1fr); gap:.8rem 1.5rem; margin:2rem 0; padding:0; list-style:none; }
.privacy-index a { font-weight:800; }
.table-wrap { overflow:auto; }
table { border-collapse:collapse; width:100%; min-width:580px; margin:1.5rem 0; }
th,td { text-align:left; vertical-align:top; padding:.8rem .7rem; border-bottom:1px solid var(--line); }
th { color:var(--poppy-dark); font-size:.75rem; text-transform:uppercase; letter-spacing:.07em; }
.site-footer { background:var(--ink); color:#d9e4e8; padding:4rem 0 1.5rem; margin-top:0; }
.footer-grid { width:min(1320px, calc(100% - 2rem)); margin:auto; display:grid; grid-template-columns:1.35fr repeat(3, .8fr); gap:2.5rem; }
.footer-brand { font-family:var(--serif); font-size:2rem; color:#fff; letter-spacing:-.05em; margin:0 0 .6rem; }
.footer-brand span { color:#ff8694; font-style:italic; }
.footer-grid h2 { font-family:var(--sans); font-size:.74rem; text-transform:uppercase; letter-spacing:.1em; color:#ffbec5; margin:.15rem 0 .75rem; }
.footer-grid ul { list-style:none; padding:0; margin:0; }
.footer-grid li { margin:.38rem 0; }
.footer-grid a { color:#fff; text-decoration-color:rgba(255,255,255,.4); }
.footer-bottom { width:min(1320px, calc(100% - 2rem)); margin:3rem auto 0; padding-top:1rem; border-top:1px solid rgba(255,255,255,.22); display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; font-size:.74rem; color:#a9bdc5; }
@media (max-width:800px) {
  .utility { font-size:.65rem; } .utility span:last-child { display:none; }
  .desktop-nav { display:none; } .nav-drawer { display:block; }
  .hero { min-height:580px; } .hero-media img { object-position:57% center; }
  .title-card { padding:1.5rem 1.3rem; }
  .lead-grid, .feature-split, .contact-layout { grid-template-columns:1fr; }
  .topic-triptych { grid-template-columns:1fr; } .topic-triptych article + article { border-left:0; padding-left:0; }
  .chapter { grid-template-columns:1fr; gap:.8rem; } .chapter-body { grid-template-columns:1fr; gap:1rem; }
  .photo-essay { grid-template-columns:1fr; } .photo-essay .side-photo { transform:none; max-width:65%; margin-left:auto; }
  .question-strip ul { columns:1; } .faq-preview, .notice-grid { grid-template-columns:1fr; }
  .ledger-row { grid-template-columns:58px 1fr; gap:.8rem; } .ledger-row p { grid-column:2; }
  .process { grid-template-columns:1fr; } .process article + article { padding-left:0; border-left:0; border-top:1px solid var(--line); }
  .privacy-index { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:1.8rem; } .footer-grid > :first-child { grid-column:1 / -1; }
}
@media (max-width:420px) { .head-inner, .wide, .wrap { width:calc(100% - 1.25rem); } .hero-inner { width:calc(100% - 1.25rem); } h1 { font-size:2.8rem; } .section { padding:3.4rem 0; } }
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }

/* No-JavaScript fallback: the desktop links remain available on narrow screens. */
@media(max-width:900px){html:not(.js) .desktop-nav{display:flex;flex-wrap:wrap;gap:.55rem;overflow:auto;max-width:100%;}}
