/* WaitClock marketing site (owned by Marketing). Builds on base.css tokens; no inline styles anywhere (CSP).
   Editorial treatment: condensed road-sign headlines, ruled sections, mono numerals, a night-navy hero with the
   corridor line map. Status color is always paired with a shape and words (base.css .status-*). */

:root {
  --mk-hero-bg: #13212B;
  --mk-hero-text: #EEF1EE;
  --mk-hero-muted: #C9D2CC;
  --mk-hero-line: #2E4250;
  --mk-band: #E4EAE5;
  --mk-rule: #13212B;
  --mk-accent-ink: #8A5300;
  --mk-card: #FFFFFF;
  --mk-maxw: 1180px;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --mk-hero-bg: #0A1218;
    --mk-hero-text: #E6EBE7;
    --mk-hero-muted: #A9B6AE;
    --mk-hero-line: #2E4250;
    --mk-band: #142129;
    --mk-rule: #E6EBE7;
    --mk-accent-ink: #F0B94A;
    --mk-card: #172630;
  }
}
:root[data-theme="dark"] {
  --mk-hero-bg: #0A1218;
  --mk-hero-text: #E6EBE7;
  --mk-hero-muted: #A9B6AE;
  --mk-hero-line: #2E4250;
  --mk-band: #142129;
  --mk-rule: #E6EBE7;
  --mk-accent-ink: #F0B94A;
  --mk-card: #172630;
}

body.mk { background: var(--paper); }
.mk .container { max-width: var(--mk-maxw); }
.mk-narrow { max-width: 780px !important; }

/* ---------- Header ---------- */
.mk .site-header { position: relative; z-index: 20; }
.mk-nav { display: flex; align-items: center; gap: 4px; }
.mk-nav-links { display: flex; list-style: none; margin: 0 8px 0 0; padding: 0; gap: 2px; }
.mk-nav-links a {
  display: inline-flex; align-items: center; min-height: var(--touch); padding: 0 12px;
  text-decoration: none; font-weight: 600; border-radius: var(--radius);
}
.mk-nav-links a:hover { background: var(--surface-2); }
.mk-nav-links a[aria-current="page"] { box-shadow: inset 0 -3px 0 var(--signal); border-radius: 0; }
.mk-menu { display: none; position: relative; }
.mk-menu > summary { list-style: none; }
.mk-menu > summary::-webkit-details-marker { display: none; }
.mk-menu ul {
  position: absolute; right: 0; top: calc(100% + 6px); min-width: 220px; margin: 0; padding: 8px; list-style: none;
  background: var(--surface); border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow);
}
.mk-menu li a { display: flex; align-items: center; min-height: var(--touch); padding: 0 12px; text-decoration: none; font-weight: 600; border-radius: var(--radius); }
.mk-menu li a:hover { background: var(--surface-2); }

@media (max-width: 920px) {
  .mk-nav-links, .mk-signin { display: none; }
  .mk-menu { display: block; }
}
@media (max-width: 380px) {
  .mk .wordmark { font-size: 1.2rem; }
  .mk-cta { padding: 0 10px; }
}

/* ---------- Buttons ---------- */
.btn-lg { min-height: 52px; padding: 0 22px; font-size: 1.05rem; }
.btn-ghost { background: transparent; color: var(--mk-hero-text); border-color: var(--mk-hero-muted); }
.btn-ghost:hover { border-color: var(--mk-hero-text); background: rgba(238, 241, 238, 0.06); }
.btn-signal:hover { filter: brightness(1.06); }

/* ---------- Type helpers ---------- */
.eyebrow, .kicker {
  font-family: var(--font-display); font-weight: 600; font-size: 0.95rem; letter-spacing: 0.12em;
  text-transform: uppercase; margin: 0 0 10px; color: var(--mk-accent-ink);
}
.kicker { color: var(--bentonite); }
.mk-h2 { font-size: clamp(1.8rem, 4.2vw, 2.6rem); font-weight: 700; line-height: 1.02; margin-bottom: 0.6em; }
.page-lead { font-size: 1.2rem; max-width: 62ch; color: var(--text-muted); }
.fn {
  display: inline-block; margin-left: 2px; font-family: var(--font-mono); font-size: 0.72em; vertical-align: super;
  line-height: 1; text-decoration: none; color: var(--mk-accent-ink); padding: 2px 3px;
}
.fn::before { content: "["; } .fn::after { content: "]"; }
.num { font-family: var(--font-mono); }

/* ---------- Sections ---------- */
.mk-section { padding: 56px 0; }
.mk-band { background: var(--mk-band); }
.mk-section + .mk-section:not(.mk-band) { border-top: 1px solid var(--line); }
.mk-band + .mk-section, .mk-section + .mk-band { border-top: 0; }

.page-head { padding: 48px 0 36px; border-bottom: 3px solid var(--mk-rule); }
.page-head h1 { font-size: clamp(2.4rem, 7vw, 4.2rem); line-height: 0.98; margin-bottom: 0.3em; }
.page-head-dark { background: var(--mk-hero-bg); color: var(--mk-hero-text); border-bottom-color: var(--signal); }
.page-head-dark .page-lead { color: var(--mk-hero-muted); }
.page-head-dark .eyebrow { color: var(--signal); }
.toc { display: flex; flex-wrap: wrap; gap: 6px 8px; margin-top: 16px; }
.toc a {
  display: inline-flex; align-items: center; min-height: 40px; padding: 0 12px; border: 1px solid var(--line);
  border-radius: 999px; text-decoration: none; font-weight: 600; font-size: 0.95rem; background: var(--surface);
}
.toc a:hover { border-color: var(--text-muted); }

/* ---------- Hero ---------- */
.hero { background: var(--mk-hero-bg); color: var(--mk-hero-text); padding: 48px 0 56px; border-bottom: 4px solid var(--signal); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: 48px; align-items: center; }
.hero h1 { font-size: clamp(2.9rem, 7.4vw, 5.6rem); line-height: 0.92; letter-spacing: 0; margin-bottom: 0.25em; }
.hero-tag { font-family: var(--font-display); font-weight: 600; font-size: clamp(1.4rem, 3vw, 2rem); color: var(--signal); margin-bottom: 0.7em; }
.hero-lead { font-size: 1.15rem; color: var(--mk-hero-muted); max-width: 52ch; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 16px; }
.hero-note { font-size: 0.95rem; color: var(--bentonite); border-left: 3px solid var(--signal); padding-left: 12px; }
.hero a { color: inherit; }
.hero :focus-visible { outline-color: var(--signal); }
.hero-map-link { margin: 10px 0 0; text-align: right; font-weight: 600; }

@media (max-width: 860px) {
  .hero { padding: 32px 0 40px; }
  .hero-grid { grid-template-columns: 1fr; gap: 28px; }
}

/* ---------- Corridor map (always a night panel, both themes) ---------- */
.corridor { margin: 0; position: relative; background: #0F1A22; border: 1px solid #2E4250; border-radius: 10px; overflow: hidden; color: #E6EBE7; }
.corridor-svg { display: block; width: 100%; height: auto; }
.hero-map { width: 100%; max-width: 470px; justify-self: end; }
@media (max-width: 860px) { .hero-map { max-width: none; justify-self: stretch; } }
.linemap-map .corridor { max-width: 560px; }
@media (min-width: 961px) { .linemap-map { position: sticky; top: 16px; } }
.c-ground { fill: #0F1A22; }
.c-grid line { stroke: #C9B99A; stroke-opacity: 0.09; stroke-width: 1; }
.c-road { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.c-road-casing { fill: none; stroke: #0F1A22; stroke-width: 12; stroke-linecap: round; stroke-linejoin: round; }
.c-wy59 { stroke: #C9B99A; stroke-width: 6; }
.c-i25 { stroke: #5C7064; stroke-width: 5; stroke-dasharray: 2 9; }
.c-shield rect { fill: #EEF1EE; stroke: #0F1A22; stroke-width: 2; }
.c-shield text { fill: #13212B; font-family: var(--font-display); font-weight: 700; font-size: 20px; text-anchor: middle; }
.c-shield-i rect { fill: #5C7064; }
.c-shield-i text { fill: #FFFFFF; }
.c-towns rect { fill: #EEF1EE; }
.c-towns text { fill: #C9D2CC; font-family: var(--font-display); font-weight: 600; font-size: 21px; letter-spacing: 0.04em; text-transform: uppercase; }
.c-towns text.c-left { text-anchor: end; }
.c-site .c-mark { stroke: #0F1A22; stroke-width: 2.5; }
.lvl-green .c-mark { fill: #4CC38A; }
.lvl-yellow .c-mark { fill: #E3A21A; }
.lvl-red .c-mark { fill: #F08A7E; }
.lvl-unknown .c-mark { fill: #9AA5AE; }
.c-name { fill: #E6EBE7; font-family: var(--font-display); font-weight: 600; font-size: 24px; paint-order: stroke; stroke: #0F1A22; stroke-width: 5px; stroke-linejoin: round; }
.c-val { fill: #C9D2CC; font-family: var(--font-mono); font-weight: 500; font-size: 19px; paint-order: stroke; stroke: #0F1A22; stroke-width: 5px; stroke-linejoin: round; }
.lvl-green .c-val { fill: #7FDDB0; }
.lvl-yellow .c-val { fill: #F0C35A; }
.lvl-red .c-val { fill: #F6AEA5; }
.c-band { fill: #C9B99A; }
.c-band-text { fill: #13212B; font-family: var(--font-display); font-weight: 700; font-size: 21px; letter-spacing: 0.02em; }
.c-scale line { stroke: #C9D2CC; stroke-width: 2; }
.c-scale text, .c-north text { fill: #C9D2CC; font-family: var(--font-mono); font-size: 16px; }
.c-north path { fill: #C9D2CC; }
.c-north text { text-anchor: middle; }
.corridor.is-stale .c-sites { opacity: 0.55; }

.corridor-empty {
  margin: 0; padding: 10px 14px; background: #13212B; border-top: 1px solid #2E4250; border-left: 5px solid #C9B99A;
  color: #EEF1EE; font-family: var(--font-display); font-weight: 600; font-size: 1.15rem; letter-spacing: 0.02em;
}
.corridor-empty[hidden] { display: none; }
.corridor-caption { padding: 12px 14px 14px; border-top: 1px solid #2E4250; background: #13212B; }
.corridor-legend { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0 0 8px; padding: 0; }
.corridor .badge.status-ok { background: #123326; color: #7FDDB0; }
.corridor .badge.status-warn { background: #3A2E10; color: #F0C35A; }
.corridor .badge.status-bad { background: #3D1D1A; color: #F6AEA5; }
.corridor .badge.status-unknown { background: #243039; color: #C3CCD3; }
.corridor-note { margin: 0; color: #C9D2CC; }
.corridor-note .badge-demo { margin-right: 4px; }
.mk-section .corridor-legend .badge { font-size: 0.85rem; }

/* ---------- Home ---------- */
.jobs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 3px solid var(--mk-rule); }
.job { padding: 20px 24px 8px 0; }
.job + .job { padding-left: 24px; border-left: 1px solid var(--line); }
.job-num { display: block; font-family: var(--font-mono); font-size: 0.9rem; color: var(--mk-accent-ink); margin-bottom: 8px; }
.job h3 { font-size: 1.6rem; }
@media (max-width: 860px) {
  .jobs { grid-template-columns: 1fr; }
  .job, .job + .job { padding: 18px 0 6px; border-left: 0; }
  .job + .job { border-top: 1px solid var(--line); }
}

.why { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 40px; }
.facts { list-style: none; margin: 0; padding: 0; border-top: 3px solid var(--mk-rule); }
.facts li { display: grid; grid-template-columns: 9.5rem minmax(0, 1fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.fact-num { font-size: 1.35rem; color: var(--mk-accent-ink); line-height: 1.3; }
@media (max-width: 860px) {
  .why { grid-template-columns: 1fr; gap: 8px; }
  .facts li { grid-template-columns: 1fr; gap: 2px; }
}

.points { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 28px; }
.point { border-top: 3px solid var(--mk-rule); padding-top: 14px; }
.point h3, .point h2 { font-size: 1.45rem; }
.point ul { padding-left: 1.2em; margin: 0; }

.price-strip { display: grid; grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.6fr) auto; gap: 32px; align-items: end; }
.price-mini { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0; border-top: 3px solid var(--mk-rule); }
.price-mini > div { padding: 12px 16px 0 0; }
.price-mini > div + div { padding-left: 16px; border-left: 1px solid var(--line); }
.price-mini dt { font-family: var(--font-display); font-weight: 700; font-size: 1.2rem; text-transform: uppercase; letter-spacing: 0.06em; }
.price-mini dd { margin: 4px 0 0; }
.price-mini .num { font-size: 1.8rem; }
@media (max-width: 860px) {
  .price-strip { grid-template-columns: 1fr; gap: 16px; align-items: start; }
  .price-mini { grid-template-columns: 1fr; }
  .price-mini > div, .price-mini > div + div { padding: 12px 0; border-left: 0; border-bottom: 1px solid var(--line); }
}

.mk-cta-band { background: var(--mk-hero-bg); color: var(--mk-hero-text); }
.mk-cta-band .cta p { color: var(--mk-hero-muted); max-width: 60ch; }
.mk-cta-band :focus-visible { outline-color: var(--signal); }
.cta-inline { margin-top: 28px; }

/* ---------- Sources ---------- */
.mk-sources { padding: 32px 0 8px; border-top: 1px solid var(--line); }
.mk-sources h2 { font-size: 1.1rem; text-transform: uppercase; letter-spacing: 0.1em; }
.mk-sources ol { margin: 0; padding-left: 1.4em; font-size: 0.875rem; color: var(--text-muted); }
.mk-sources li { margin-bottom: 6px; overflow-wrap: anywhere; }
.mk-sources li:target { background: var(--warn-tint); }

/* ---------- How it works ---------- */
.steps { display: grid; gap: 8px; }
.step { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 20px; padding: 24px 0; border-top: 3px solid var(--mk-rule); scroll-margin-top: 16px; }
.step-num { font-family: var(--font-display); font-weight: 700; font-size: 3.6rem; line-height: 0.85; color: var(--mk-accent-ink); }
.step h2 { font-size: clamp(1.6rem, 3.6vw, 2.2rem); }
.step p, .step ul { max-width: 68ch; }
@media (max-width: 600px) {
  .step { grid-template-columns: 1fr; gap: 4px; }
  .step-num { font-size: 2.6rem; }
}
.diagram { margin: 8px 0 16px; }
.diagram svg { display: block; width: 100%; height: auto; }
.d-ground { fill: var(--surface); stroke: var(--line); }
.d-fence { fill: none; stroke: var(--sage); stroke-width: 2.5; stroke-dasharray: 6 6; }
.d-fence-swd { stroke: var(--mk-accent-ink); }
.d-tank { fill: var(--bentonite); stroke: var(--text); stroke-width: 1.5; }
.d-road { fill: none; stroke: var(--text-muted); stroke-width: 10; stroke-linecap: round; }
.d-line rect { fill: var(--sage); }
.d-truck-now { fill: var(--signal); stroke: var(--text); stroke-width: 1.5; }
.d-pad { fill: none; stroke: var(--text); stroke-width: 2; }
.d-label { fill: var(--text); font-family: var(--font-display); font-weight: 600; font-size: 19px; text-anchor: middle; }

.loc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 0 32px; }
.loc-item { border-top: 3px solid var(--mk-rule); padding: 14px 0 6px; }
.loc-item h3 { font-size: 1.35rem; }
.loc-item ul { padding-left: 1.1em; margin: 0 0 1em; }
.loc-item li { margin-bottom: 8px; }
.prose .loc-grid { grid-template-columns: 1fr; }

.faq details { border-top: 1px solid var(--line); }
.faq details:last-child { border-bottom: 1px solid var(--line); }
.faq summary {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; padding: 10px 0;
  cursor: pointer; list-style: none; font-family: var(--font-display); font-weight: 600; font-size: 1.3rem; line-height: 1.15;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; flex: none; font-family: var(--font-mono); font-size: 1.4rem; color: var(--mk-accent-ink); }
.faq details[open] summary::after { content: "\2212"; }
.faq details p { max-width: 68ch; }

/* ---------- Drivers ---------- */
.two-col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; }
@media (max-width: 860px) { .two-col { grid-template-columns: 1fr; gap: 24px; } }
.tap-steps { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; margin: 0 0 16px; counter-reset: tap; }
.tap-steps li {
  counter-increment: tap; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px;
  background: var(--mk-hero-bg); color: var(--mk-hero-text); border-radius: var(--radius); font-weight: 600;
}
.tap-steps li::before { content: counter(tap); font-family: var(--font-mono); color: var(--signal); }

/* ---------- Pricing ---------- */
.plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.plan { background: var(--mk-card); border: 1px solid var(--line); border-top: 5px solid var(--mk-rule); border-radius: 8px; padding: 22px; }
.plan h2 { font-size: 1.6rem; text-transform: uppercase; letter-spacing: 0.04em; }
.plan-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; }
.plan-price .num { font-size: 2.6rem; line-height: 1; }
.plan ul { padding-left: 1.2em; }
.plan-pilot { border-top-color: var(--signal); }
@media (max-width: 860px) { .plans { grid-template-columns: 1fr; } }
.fine { margin: 0; }
.fine > div { display: grid; grid-template-columns: 14rem minmax(0, 1fr); gap: 16px; padding: 12px 0; border-top: 1px solid var(--line); }
.fine dt { font-weight: 700; }
.fine dd { margin: 0; }
@media (max-width: 600px) { .fine > div { grid-template-columns: 1fr; gap: 2px; } }

/* ---------- Pilot ---------- */
.pilot-grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 48px; align-items: start; }
@media (max-width: 860px) { .pilot-grid { grid-template-columns: 1fr; gap: 28px; } }
.pilot-steps { padding-left: 1.3em; }
.pilot-steps li { margin-bottom: 12px; }
.pilot-form-card { background: var(--mk-card); border: 1px solid var(--line); border-top: 5px solid var(--signal); border-radius: 8px; padding: 24px; scroll-margin-top: 16px; }
.pilot-form-card h2 { font-size: 1.8rem; }
.pilot-form .help { font-size: 0.9rem; color: var(--text-muted); }
.pilot-form .optional { font-weight: 400; color: var(--text-muted); }
.pilot-form .field-error:empty { display: none; }
.pilot-form input[aria-invalid="true"], .pilot-form textarea[aria-invalid="true"] { border-color: var(--bad); border-width: 2px; }
.form-foot { margin-top: 12px; }
.pilot-sent h2 { font-size: 2rem; }
.alert ul { margin: 0; padding-left: 1.2em; }
.alert a { color: inherit; }
/* Honeypot: off-screen for people, still in the form for bots. */
.hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Prose pages (privacy, terms) ---------- */
.prose h2 { font-size: 1.7rem; margin-top: 1.6em; padding-top: 0.6em; border-top: 3px solid var(--mk-rule); scroll-margin-top: 16px; }
.prose h2:first-child { margin-top: 0; }
.prose h3 { font-size: 1.25rem; margin-top: 1.2em; }
.prose ul { padding-left: 1.2em; }
.prose li { margin-bottom: 8px; }
.prose .loc-item { border-top-width: 1px; }
.draft-note { margin-top: 16px; }
.tbc { font-style: italic; background: var(--warn-tint); color: var(--warn-ink); padding: 0 4px; border-radius: 3px; }

/* ---------- Line map page ---------- */
.linemap-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 36px; align-items: start; }
@media (max-width: 960px) { .linemap-grid { grid-template-columns: 1fr; } }
.waits { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.wait { background: var(--mk-card); border: 1px solid var(--line); border-radius: 8px; padding: 12px 14px; }
.wait-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.wait-name { font-family: var(--font-display); font-weight: 700; font-size: 1.25rem; }
.wait-nums { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 8px 0 4px; }
.wait-nums dt { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-muted); }
.wait-nums dd { margin: 0; }
.wait-nums .num { font-size: 1.25rem; }
.wait-n { font-size: 0.85rem; color: var(--text-muted); }
.wait-updated { margin: 0; color: var(--text-muted); }

/* ---------- Footer ---------- */
.mk .site-footer { background: var(--surface); }
.mk-footer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; }
.mk-footer-brand img { display: block; width: 168px; height: auto; margin-bottom: 10px; }
.mk-footer-tag { font-family: var(--font-display); font-weight: 600; font-size: 1.2rem; margin-bottom: 6px; }
.mk-footer-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.mk-footer-nav ul { list-style: none; margin: 0; padding: 0; }
.mk-footer-nav a { display: inline-flex; align-items: center; min-height: 40px; font-weight: 600; text-decoration: none; }
.mk-footer-nav a:hover { text-decoration: underline; }
.mk-footer-note { margin: 24px 0 0; padding-top: 16px; border-top: 1px solid var(--line); }
@media (max-width: 700px) { .mk-footer { grid-template-columns: 1fr; } }

/* ---------- Flyer (screen preview + print) ---------- */
.flyer-tools { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 20px; padding-bottom: 12px; }
.flyer-tools p { margin: 0; }
.flyer {
  --f-ink: #13212B; --f-muted: #3D4B44; --f-rule: #13212B; --f-amber: #E3A21A; --f-amber-ink: #8A5300; --f-clay: #C9B99A;
  box-sizing: border-box; width: 8.5in; min-height: 11in; margin: 0 auto 40px; padding: 0.5in;
  background: #FFFFFF; color: var(--f-ink); box-shadow: 0 2px 18px rgba(0, 0, 0, 0.18);
  display: flex; flex-direction: column; font-size: 11.5pt; line-height: 1.38;
}
.flyer-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 3px solid var(--f-rule); padding-bottom: 12px; margin-bottom: 18px; }
.flyer-logo { width: 2.2in; height: auto; }
.flyer-kicker { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: 12pt; letter-spacing: 0.1em; text-transform: uppercase; background: var(--f-ink); color: #FFFFFF; padding: 4px 10px; }
.flyer h1 { font-size: 46pt; line-height: 0.95; margin: 0 0 6px; color: var(--f-ink); }
.flyer-tag { font-family: var(--font-display); font-weight: 700; font-size: 20pt; color: var(--f-amber-ink); margin: 0 0 6px; }
.flyer-lead { font-size: 13pt; margin: 0 0 16px; }
.flyer-points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 3px solid var(--f-rule); margin-bottom: 16px; }
.flyer-points section { padding: 10px 14px 0 0; }
.flyer-points section + section { padding-left: 14px; border-left: 1px solid #B9C3BD; }
.flyer-points h2 { display: flex; align-items: flex-start; gap: 8px; font-size: 15pt; line-height: 1.05; margin: 0 0 6px; color: var(--f-ink); }
.flyer-icon { flex: none; width: 14px; height: 14px; margin-top: 0.22em; background: var(--f-amber); border-radius: 50%; }
.flyer-points p { margin: 0; font-size: 10.5pt; }
.flyer-points sup, .flyer-pilot sup { font-family: var(--font-mono); font-size: 7pt; }
.flyer-diagram { margin: 0 0 14px; }
.flyer-diagram svg { display: block; width: 100%; height: auto; max-height: 1.6in; }
.flyer-diagram figcaption { font-size: 9pt; color: var(--f-muted); margin-top: 4px; }
.flyer .d-ground { fill: #F4F6F4; stroke: #C8D0CA; }
.flyer .d-fence { stroke: #5C7064; }
.flyer .d-fence-swd { stroke: #8A5300; }
.flyer .d-tank { fill: #C9B99A; stroke: #13212B; }
.flyer .d-road { stroke: #4F5E56; }
.flyer .d-line rect { fill: #5C7064; }
.flyer .d-truck-now { fill: #E3A21A; stroke: #13212B; }
.flyer .d-pad { stroke: #13212B; }
.flyer .d-label { fill: #13212B; }
.flyer-bottom { display: grid; grid-template-columns: minmax(0, 1fr) 2.1in; gap: 20px; border-top: 3px solid var(--f-rule); padding-top: 12px; }
.flyer-pilot h2 { font-size: 16pt; margin: 0 0 6px; color: var(--f-ink); }
.flyer-pilot ol { margin: 0 0 10px; padding-left: 1.3em; }
.flyer-pilot li { margin-bottom: 3px; }
.flyer-price { margin: 0; padding: 8px 10px; background: #F1EBDD; border-left: 5px solid var(--f-amber); font-size: 10.5pt; }
.flyer-qr { text-align: center; }
.qr { width: 1.8in; height: 1.8in; margin: 0 auto 6px; }
.qr svg { display: block; width: 100%; height: 100%; }
.qr .qr-bg { fill: #FFFFFF; }
.qr .qr-dark { fill: #13212B; }
.qr.qr-missing { display: flex; align-items: center; justify-content: center; border: 2px dashed var(--f-ink); font-family: var(--font-mono); font-size: 9pt; overflow-wrap: anywhere; padding: 6px; }
.qr-cap { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: 14pt; }
.qr-url { margin: 0; font-family: var(--font-mono); font-size: 9pt; overflow-wrap: anywhere; }
.flyer-sources { margin-top: auto; padding-top: 12px; border-top: 1px solid #B9C3BD; }
.flyer-sources p { margin: 0; font-size: 7.5pt; line-height: 1.3; color: var(--f-muted); overflow-wrap: anywhere; }

@media screen and (max-width: 8.9in) {
  .flyer { width: auto; min-height: 0; margin: 0 12px 32px; padding: 20px 16px; font-size: 1rem; }
  .flyer h1 { font-size: clamp(2.2rem, 10vw, 3rem); }
  .flyer-top { flex-direction: column; align-items: flex-start; }
  .flyer-points, .flyer-bottom { grid-template-columns: 1fr; }
  .flyer-points section, .flyer-points section + section { padding: 10px 0; border-left: 0; }
  .flyer-points section + section { border-top: 1px solid #B9C3BD; }
}

@media print {
  @page { size: letter; margin: 0; }
  html, body { background: #FFFFFF !important; }
  .mk-flyer .site-header, .mk-flyer .site-footer, .mk-flyer .skip-link, .mk-flyer .flyer-tools, .mk-flyer .toasts { display: none !important; }
  .mk-flyer .site-main { min-height: 0; }
  .flyer { width: 8.5in; height: 11in; min-height: 0; margin: 0; box-shadow: none; overflow: hidden; break-after: avoid; page-break-after: avoid; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
