/* Copyright (c) 2026 Jonathan Allen Zehner. */
:root{--ink:#1f2a2b;--teal:#4fb6c6;--olive:#7a8f5a;--paper:#f5f7f6;--line:#dbe4e2;--muted:#526361}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}a{color:#246b78;text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #265baf;outline-offset:4px}button,input{font:inherit}.shell{width:min(1180px,calc(100% - 48px));margin:auto}.narrow{max-width:820px}header.shell{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{object-fit:contain}.brand .wordmark{height:auto;max-width:200px}.toplinks{display:flex;gap:20px;flex-wrap:wrap}main{padding:45px 0 65px}h1{font-size:clamp(2.2rem,5vw,3.7rem);line-height:1.12;letter-spacing:-.04em;font-weight:720;margin:12px 0 24px}h2{font-size:1.85rem;line-height:1.25;letter-spacing:-.025em}h3{line-height:1.3}p{max-width:78ch}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.76rem;font-weight:750;color:#4a6d44}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center}.hero img,.gallery img{width:100%;height:auto;border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 36px #1f2a2b12}.notice{background:#e8f0ec;border-left:4px solid var(--olive);padding:15px 20px;border-radius:4px}.tag{font-size:.85rem;border:1px solid var(--line);background:white;padding:4px 10px;border-radius:99px;display:inline-block;margin:0 5px 6px 0}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.button,button{display:inline-block;border:1px solid var(--ink);background:var(--ink);color:white;padding:12px 20px;border-radius:8px;text-decoration:none;font-weight:650;cursor:pointer;line-height:1.4}.button.secondary{color:var(--ink);background:transparent}button:disabled{background:#dde3e1;border-color:#a1aeab;color:#4b5754;cursor:not-allowed}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:30px 0}.card{background:white;border:1px solid var(--line);border-radius:15px;padding:26px}.card.featured{border-top:5px solid var(--teal)}.card h3{margin-top:0}.price{font-size:2.3rem;line-height:1.25;font-weight:740;letter-spacing:-.03em}.price small{font-size:.85rem;letter-spacing:0;font-weight:450}.card ul{padding-left:22px}.card li{margin:8px 0}.card .button{width:100%;text-align:center}section{scroll-margin-top:30px;margin:44px 0}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px}figure{margin:0}figcaption{color:var(--muted);padding-top:10px;font-size:.91rem}.table-wrap{overflow-x:auto;background:white;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;min-width:610px}caption{text-align:left;padding:18px;font-weight:700}td,th{padding:14px 17px;border-bottom:1px solid var(--line);text-align:left}th{background:#eef4f2}tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}details{background:white;border-bottom:1px solid var(--line);padding:16px 20px}summary{cursor:pointer;font-weight:680}details p{margin-bottom:6px}.policy-links{display:flex;gap:14px;flex-wrap:wrap;margin:20px 0}.consent{display:flex;align-items:flex-start;gap:12px;font-weight:450;margin:24px 0}.consent input{flex:none;width:22px;height:22px;margin-top:5px}label{display:block;font-weight:600}input[type=password]{width:100%;padding:12px;border:1px solid #9caaa6;border-radius:6px;margin:10px 0 20px}.policy-text{white-space:normal;background:white;padding:25px;border:1px solid var(--line)}footer.shell{padding:26px 0;border-top:1px solid var(--line);font-size:.9rem;color:var(--muted)}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:10;background:white;padding:10px}.muted{color:var(--muted)}@media(max-width:840px){.hero{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.shell{width:calc(100% - 32px)}.brand .wordmark{max-width:150px}header.shell{align-items:flex-start;flex-wrap:wrap}.toplinks{gap:14px}h1{font-size:2.5rem}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Copyright (c) 2026 Jonathan Allen Zehner. Created by Jonathan Allen Zehner.
   RC6 phone-first screen rules. Comparison data retains its two-dimensional
   layout in a named, keyboard-focusable local scroll region. */
@media screen {
  body { overflow-wrap: break-word; }
  .shell { width: min(1180px, calc(100% - 32px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px))); }
  header.shell { flex-direction: column; align-items: flex-start; gap: 12px; padding-block: 18px 12px; }
  .brand { min-width: 0; max-width: 100%; gap: 10px; }
  .brand > img:not(.wordmark) { flex: 0 0 auto; }
  .brand .wordmark { min-width: 0; max-width: 200px; flex: 0 1 200px; }
  .toplinks { gap: 4px 16px; }
  .toplinks a { display: flex; align-items: center; min-height: 44px; }
  main { padding-block: 30px 45px; }
  h1 { font-size: clamp(2rem, 7vw, 3.7rem); overflow-wrap: anywhere; }
  h2 { font-size: clamp(1.5rem, 5vw, 1.85rem); }
  p { max-width: 68ch; }
  .hero, .cards, .gallery { grid-template-columns: minmax(0, 1fr); }
  .hero { gap: 24px; }
  .hero > *, .cards > *, .gallery > * { min-width: 0; }
  .card { padding: 22px; }
  .actions { gap: 12px; }
  .actions > a { min-height: 44px; display: flex; align-items: center; }
  .actions > .button { flex: 1 1 auto; justify-content: center; text-align: center; }
  .button, button { min-height: 46px; max-width: 100%; overflow-wrap: anywhere; }
  input, select, textarea { font: inherit; font-size: max(16px, 1em); max-width: 100%; }
  input:not([type=checkbox]):not([type=radio]), select, textarea { min-height: 46px; min-width: 0; }
  .consent { min-height: 44px; padding-block: 6px; }
  summary { min-height: 44px; padding-block: 8px; overflow-wrap: anywhere; }
  :focus-visible { outline: 3px solid #265baf; outline-offset: 4px; }
  .table-wrap { min-width: 0; max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
  .table-scroll-help { font-size: .875rem; color: var(--muted); margin-bottom: 12px; }
  .policy-links a { min-height: 44px; display: flex; align-items: center; }
  .policy-text { padding: 20px; overflow-wrap: anywhere; }
  footer.shell { padding-bottom: max(26px, env(safe-area-inset-bottom, 0px)); }
}
@media screen and (min-width: 720px) {
  .shell { width: min(1180px, calc(100% - 48px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px))); }
  header.shell { flex-direction: row; align-items: center; gap: 24px; padding-block: 22px; }
  .toplinks { justify-content: flex-end; gap: 4px 20px; }
  .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  main { padding-block: 45px 65px; }
  .card { padding: 26px; }
}
@media screen and (min-width: 960px) {
  .hero { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 36px; }
  .cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
