/* Read-mode refinement. Inherits DESIGN.md, not a replacement brand. */
:root { --paper:#fffef8; --muted:#4a4a4a; --soft-line:#e5e5e5; --shadow:none; --shadow-hover:none; }
html { scroll-padding-top:120px; scrollbar-color:#667085 #f5f5f5; }
::selection { background:#f7e857; color:#1a1a1a; }
body { font-size:18px; line-height:1.65; }
input { caret-color:#1a1a1a; }
h1,h2,h3 { text-wrap:balance; }
.site-header { background:#fffef8; backdrop-filter:none; }
.site-nav__links a[aria-current] { text-decoration:underline; text-underline-offset:7px; }
.button { font-family:Outfit,sans-serif; font-size:1rem; letter-spacing:0; text-transform:none; box-shadow:none; }
.button:hover { background:#f0df3a; box-shadow:none; transform:none; }
.button:focus-visible,.nav-button:focus-visible { outline:3px solid #2563eb; outline-offset:4px; }
.eyebrow,.figure-meta { border:0; padding:0; border-radius:0; background:transparent; }
.draft-banner { max-width:1180px; color:#667085; background:transparent; border-bottom:1px solid #e5e5e5; font:400 13px/1.5 Outfit,sans-serif; padding:12px 24px; letter-spacing:0; text-transform:none; text-align:left; }
.post-opening { max-width:1180px; padding:36px 24px 48px; margin:auto; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); grid-template-areas:"header hero" "dek hero"; gap:24px 48px; align-items:center; border-bottom:2px solid #1a1a1a; }
.post-header { grid-area:header; max-width:none; width:100%; margin:0; padding:0; }
.back-link { margin-bottom:20px; font:500 14px/1.3 Outfit,sans-serif; text-transform:none; }
.post-header h1 { font-size:3rem; line-height:1.08; letter-spacing:-.03em; font-weight:700; }
.post-header__dek { grid-area:dek; margin:0; font-size:19px; line-height:1.5; }
.post-header__byline { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; margin:24px 0 0; font:500 14px/1.5 Outfit,sans-serif; }
.post-author { display:inline-flex; align-items:center; gap:8px; }
.post-author img { width:36px; height:36px; flex:none; object-fit:cover; border-radius:50%; }
.post-meta { color:#667085; font:400 12px/1.5 'Space Mono',monospace; margin:8px 0 0; }
.post-hero { grid-area:hero; margin:0; padding:0; }
.post-hero img { height:auto; border:0; border-radius:0; box-shadow:none; mix-blend-mode:multiply; }
.post-layout { max-width:1180px; grid-template-columns:216px minmax(0,720px); gap:64px; margin:48px auto 96px; padding:0 24px; }
.post-body { max-width:720px; }
.post-body p { margin-bottom:24px; }
.post-body h2 { font-size:clamp(1.75rem,3vw,2.25rem); line-height:1.15; letter-spacing:-.03em; margin:64px 0 24px; scroll-margin-top:120px; }
.post-body h3 { font-size:1.5rem; margin:40px 0 16px; line-height:1.25; }
.post-summary > p:first-child { font-size:21px; line-height:1.55; }
.post-summary > p:first-child strong { background:#f7e857; padding:0 3px; font-weight:600; }
.contents-rail { position:sticky; top:120px; max-height:calc(100dvh - 144px); overflow:auto; padding:0 8px 12px 0; }
.contents { border-top:2px solid #1a1a1a; }
.contents summary { padding:16px 0; cursor:pointer; font:600 16px/1.4 Outfit,sans-serif; }
.contents nav { display:grid; }
.contents a { display:block; padding:10px 0; min-height:44px; border-top:1px solid #e5e5e5; color:#4a4a4a; font:400 14px/1.4 Outfit,sans-serif; text-decoration:none; }
.contents a:hover,.contents a[aria-current] { color:#1a1a1a; text-decoration:underline; text-decoration-color:#1a1a1a; }
.post-rail { position:static; margin-top:32px; border-top:1px solid #e5e5e5; padding-top:20px; font-size:14px; line-height:1.5; }
.post-rail strong { font-weight:600; }
.post-rail p { margin:8px 0 0; }
.founder-quote { margin:40px 0 48px; }
.table-scroll { border:2px solid #1a1a1a; border-top:4px solid #f7e857; border-radius:10px; margin:28px 0; background:#fff; }
.post-body th { color:#4a4a4a; background:#f5f5f5; font-size:12px; text-transform:none; font-weight:700; }
.post-body th,.post-body td { border:0; border-bottom:1px solid #e5e5e5; padding:16px; }
.post-body tbody tr:nth-child(even) { background:#fff; }
.post-body tbody tr:last-child td { border-bottom:0; }
.post-body td { font-size:16px; }
.post-body td:not(:first-child) { font-variant-numeric:tabular-nums; }
.quote-checker { background:#fff; color:#1a1a1a; border:2px solid #1a1a1a; border-radius:20px; box-shadow:none; padding:32px; margin:48px 0; overflow:visible; }
.quote-checker::before,.regional-price-map__header::before { content:none; }
.quote-checker__masthead { margin:0 0 16px; }
.quote-checker__sample { color:#667085; font-size:12px; text-align:left; text-transform:none; }
.post-body .quote-checker h2 { font-size:32px; line-height:1.1; letter-spacing:-.03em; margin:0 0 16px; }
.quote-checker__lede { color:#4a4a4a; font-size:16px; line-height:1.5; }
.quote-checker__form { gap:20px 16px; padding-top:24px; border-color:#e5e5e5; }
.quote-checker__field { font:600 14px/1.4 Outfit,sans-serif; letter-spacing:0; text-transform:none; }
.quote-checker__field small { color:#667085; font-size:12px; font-weight:400; }
.quote-checker input,.quote-checker select { border:1px solid #667085; border-radius:6px; background:#fff; font-size:14px; }
.quote-checker__money { border:1px solid #667085; border-radius:6px; background:#fff; }
.quote-checker__money > span { border:0; background:#f5f5f5; }
.quote-checker input { border:0; }
.quote-checker__privacy,.quote-checker__bulk,.quote-checker__caveat { color:#4a4a4a; font-size:14px; }
.quote-checker__privacy { grid-column:2/-1; }
.quote-checker__error { color:#991b1b; font-size:14px; }
.quote-checker__bulk { border-color:#e5e5e5; }
.quote-checker__bulk a { color:#1a1a1a; }
.quote-checker__result { border-color:#e5e5e5; }
.quote-checker__verdict { padding:0; background:transparent; border:0; }
.quote-checker__badge { font-size:12px; border:1px solid #1a1a1a; border-radius:4px; padding:6px 10px; text-transform:none; }
.quote-checker__range { border:1px solid #e5e5e5; border-radius:10px; background:#fff; }
.quote-checker__range div + div { border-color:#e5e5e5; }
.quote-checker__range dt { font:400 12px/1.4 Outfit,sans-serif; text-transform:none; }
.quote-checker__range dd { font-size:22px; }
.regional-price-map { border:2px solid #1a1a1a; box-shadow:none; background:#fff; }
.regional-price-map__header { display:block; padding:28px; background:#fff; border-bottom:1px solid #e5e5e5; }
.regional-price-map__header .figure-meta { font:400 14px/1.4 Outfit,sans-serif; color:#4a4a4a; }
.post-body .regional-price-map__header h3 { font-size:28px; letter-spacing:-.03em; }
.regional-price-map__stats { margin-top:24px; width:100%; grid-template-columns:repeat(3,1fr); border-color:#e5e5e5; }
.regional-price-map__stats div + div { border-color:#e5e5e5; }
.regional-price-map__stats dt { font:400 12px/1.5 Outfit,sans-serif; text-transform:none; letter-spacing:0; }
.regional-price-map__stats dd { font-size:16px; }
.regional-price-map__stage { background:#1a1a1a; }
.regional-price-map__stage::before { content:none; }
.regional-price-map__grid { display:none; }
.regional-price-map__pins rect { stroke-width:3px; }
.regional-price-map__offer { padding:24px 18px; border-top:1px solid #667085; }
.regional-price-map__offer span,.regional-price-map__offer small { font:400 14px/1.4 Outfit,sans-serif; letter-spacing:0; text-transform:none; }
.regional-price-map__offer strong { font:700 26px/1.2 'Space Mono',monospace; letter-spacing:-.025em; min-height:2.4em; }
.regional-price-map__offer em { border:0; padding:0; font:400 13px/1.4 Outfit,sans-serif; letter-spacing:0; text-transform:none; }
.regional-price-map__axis { font:400 12px/1.4 Outfit,sans-serif; text-transform:none; letter-spacing:0; }
.regional-price-map__axis b { background:#667085; height:1px; }
.regional-price-map figcaption { background:#fff; color:#4a4a4a; font-size:14px; padding:24px 28px; }
.regional-price-map figcaption strong { background:none; padding:0; font-size:16px; }
.post-cta { margin-top:64px; box-shadow:none; border:0; border-radius:0; border-top:2px solid #1a1a1a; background:transparent; padding:32px 0 0; color:#1a1a1a; }
.post-cta h2 { color:#1a1a1a; font-size:32px; margin:0 0 20px; }
.post-cta .button { margin-top:8px; }
.site-footer { background:#f5f5f5; }
.site-footer__links,.site-footer p { font-family:Outfit,sans-serif; font-size:14px; letter-spacing:0; text-transform:none; }
.blog-hero { padding:64px 24px 48px; }
.blog-hero h1 { max-width:900px; font-size:clamp(3rem,5.6vw,5rem); line-height:1.02; letter-spacing:-.04em; }
.blog-hero mark { background:none; padding:0; text-decoration:underline; text-decoration-color:#f7e857; text-decoration-thickness:.12em; text-underline-offset:.06em; text-decoration-skip-ink:none; }
.blog-hero__lede { max-width:640px; margin:28px 0 0; font-size:20px; line-height:1.5; }
.article-list { display:grid; gap:0; padding-top:0; }
.article-card { padding:40px 0; border:0; border-bottom:1px solid #e5e5e5; border-radius:0; box-shadow:none; grid-template-columns:minmax(0,.7fr) minmax(0,1fr); gap:48px; background:transparent; }
.article-card:hover { transform:none; box-shadow:none; }
.article-card__image { border:0; background:transparent; align-self:center; }
.article-card__image img { height:auto; object-fit:contain; aspect-ratio:1200/630; mix-blend-mode:multiply; }
.article-card:hover .article-card__image img { transform:none; }
.post-hero img.selected-cover,.article-card__image img.selected-cover { mix-blend-mode:normal; aspect-ratio:1733/907; }
.article-card__body { padding:0; }
.article-card h2 { font-size:32px; line-height:1.12; letter-spacing:-.03em; }
.article-card__body > p:not(.article-meta) { font-size:17px; margin:0 0 16px; }
.article-meta { order:2; font:400 12px/1.5 'Space Mono',monospace; color:#667085; margin:16px 0 0; }
.text-link { font:600 16px/1.4 Outfit,sans-serif; text-transform:none; min-height:44px; display:inline-flex; align-items:center; }
@media(max-width:1000px) { .post-opening { column-gap:32px; } .post-layout { gap:32px; grid-template-columns:180px minmax(0,1fr); } .quote-checker__form { grid-template-columns:1fr 1fr; } .quote-checker__field:first-child { grid-column:1/-1; } .quote-checker__privacy { grid-column:auto; } }
@media(max-width:820px) {
  .post-opening { display:flex; flex-direction:column; align-items:stretch; gap:24px; padding:24px 24px 32px; }
  .post-header h1 { max-width:700px; font-size:44px; }
  .post-hero { width:100%; max-width:none; margin:0; }
  .post-layout { grid-template-columns:1fr; gap:32px; margin-top:24px; }
  .contents-rail { position:static; max-height:none; overflow:visible; padding:0; }
  .contents { border-bottom:1px solid #e5e5e5; }
  .contents summary { min-height:48px; }
  .post-rail { display:none; }
  .article-card { gap:28px; }
  .article-card h2 { font-size:28px; }
  .site-nav__links { gap:16px; }
  .site-nav__links > a:nth-child(2),.site-nav__links > a:nth-child(4) { display:none; }
}
@media(max-width:520px) {
  body { font-size:18px; }
  .site-header { padding:14px 0; }
  .site-nav { gap:12px; }
  .site-nav__links { display:flex; gap:12px; }
  .site-nav__links > a { display:none; }
  .site-nav__links > a:first-child { display:inline-flex; min-height:44px; font-size:14px; }
  .brand img { height:24px; }
  .draft-banner { padding:10px 16px; }
  .post-opening { padding:16px 16px 28px; }
  .back-link { margin-bottom:16px; }
  .post-header h1 { font-size:36px; line-height:1.07; }
  .post-header__dek { font-size:18px; margin:0; }
  .post-meta { font-size:11px; }
  .post-hero { margin:0; max-width:none; }
  .post-layout { padding:0 16px; margin-bottom:64px; }
  .post-summary > p:first-child { font-size:20px; }
  .post-body h2 { font-size:28px; margin-top:48px; }
  .post-body table { white-space:normal; min-width:540px; }
  .founder-quote { padding:24px; }
  .quote-checker { padding:24px 20px; margin:40px 0; }
  .quote-checker__form { grid-template-columns:1fr; }
  .quote-checker__field:first-child,.quote-checker__privacy { grid-column:auto; }
  .post-body .quote-checker h2 { font-size:28px; }
  .quote-checker__range { grid-template-columns:1fr; }
  .regional-price-map__header { padding:24px 20px; }
  .regional-price-map__stats dt { font-size:12px; }
  .regional-price-map__offers { grid-template-columns:1fr; }
  .regional-price-map__offer { padding:20px; }
  .regional-price-map__offer strong { min-height:0; font-size:28px; }
  .regional-price-map figcaption { padding:20px; }
  .regional-price-map__axis { margin:0 20px; }
  .post-cta { padding:28px 0 0; margin-left:0; }
  .blog-hero { padding:40px 16px 32px; }
  .blog-hero h1 { font-size:42px; }
  .blog-hero__lede { font-size:18px; margin-top:24px; }
  .article-list { padding:0 16px 64px; }
  .article-card { grid-template-columns:1fr; gap:24px; padding:32px 0; }
  .article-card__image { max-width:330px; border:0; }
  .article-card h2 { font-size:28px; }
  .article-meta { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }

/* Preserve the mobile logo; featured artwork remains in the article opening. */
@media(max-width:520px) { .site-nav .brand { flex-shrink:0; } .site-nav .site-nav__links > a:not(:first-child) { display:none; } .site-nav .site-nav__links > a:first-child { display:inline-flex; } .site-nav .brand img { width:174px; height:auto; } }
.post-body .regional-price-map__header .figure-meta { margin:12px 0; }
.quote-checker__masthead { margin-top:16px; }
