@layer base, layout, components, responsive;
@layer base {
  :root { --paper:#f7f7f1; --white:#fff; --ink:#163b32; --text:#314c43; --muted:#5c6c62; --green:#164c39; --lime:#dcf292; --line:#d8e0d4; --soft:#edf1e7; --amber:#744f0d; --amber-bg:#fff6df; --radius:18px; }
  * { box-sizing:border-box; }
  html { scroll-behavior:smooth; scroll-padding-top:24px; }
  body { margin:0; background:var(--paper); color:var(--text); font:15px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
  [hidden] { display:none !important; }
  h1,h2,h3,h4,p { margin:0; }
  h1,h2,h3,h4 { color:var(--ink); line-height:1.13; letter-spacing:-.045em; font-weight:650; }
  a { color:var(--green); text-underline-offset:4px; text-decoration-thickness:1px; }
  button,input,select { font:inherit; }
  button,a,input,select { -webkit-tap-highlight-color:transparent; }
  :focus-visible { outline:3px solid #417333; outline-offset:4px; }
  button { cursor:pointer; }
  button:disabled,select:disabled { cursor:default; opacity:.65; }
  code { font:.85em/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; overflow-wrap:anywhere; }
  .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; }
  .skip-link { position:absolute; top:-100px; left:15px; padding:12px; z-index:10; background:white; }
  .skip-link:focus { top:12px; }
  .muted { color:var(--muted); font-size:14px; }
  .verbatim { white-space:pre-wrap; overflow-wrap:anywhere; }
}
@layer layout {
  .wrap { width:min(1180px,calc(100% - 72px)); margin-inline:auto; }
  .site-header { display:flex; align-items:center; justify-content:space-between; padding-block:24px; border-bottom:1px solid var(--line); gap:24px; }
  .site-header nav { display:flex; gap:28px; }
  .site-header nav a { text-decoration:none; font-size:14px; font-weight:600; }
  .site-header nav [aria-current] { border-bottom:2px solid var(--ink); }
  .hero { display:grid; grid-template-columns:1fr 320px; gap:64px; padding-block:64px 40px; align-items:center; }
  .hero-description { max-width:560px; font-size:18px; line-height:1.6; margin-top:24px; }
  .hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:30px; }
  .section-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; }
  .comparison { padding:30px; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); margin-top:20px; }
  .catalogue { margin-top:66px; }
  .reference-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-block:60px 30px; }
  .reference-panel { padding:30px; border:1px solid var(--line); border-radius:var(--radius); }
  .reference-panel p { margin-top:16px; }
  .reference-panel .eyebrow { margin-top:0; }
  .reference-panel h2 { font-size:27px; }
  .site-footer { display:flex; align-items:center; flex-wrap:wrap; gap:24px; border-top:1px solid var(--line); margin-top:36px; padding-block:28px; font-size:14px; }
  .site-footer p { margin-right:auto; }
}
@layer components {
  .brand { font-size:23px; font-weight:750; letter-spacing:-1px; color:var(--ink); text-decoration:none; display:inline-flex; gap:9px; align-items:center; }
  .eyebrow { text-transform:uppercase; font-size:12px; letter-spacing:1.5px; font-weight:750; margin-bottom:13px; }
  .status-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#789149; margin-right:9px; }
  h1 { font-size:clamp(48px,5.6vw,76px); line-height:1.04; }
  h1 span { color:#658151; }
  h2 { font-size:30px; }
  h3 { font-size:23px; }
  .button { border:1px solid var(--line); color:var(--ink); background:var(--soft); border-radius:9px; min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:18px; padding:11px 18px; text-decoration:none; font-weight:600; font-size:15px; }
  .button.primary { color:white; background:var(--green); border-color:var(--green); }
  .button:hover { filter:brightness(.96); }
  .button.small { min-height:42px; }
  .text-link,.subtle-link { font-size:14px; font-weight:600; }
  .catalogue-summary { background:var(--lime); color:var(--ink); border-radius:var(--radius); padding:28px; }
  .big-count { display:flex; align-items:center; gap:16px; }
  .big-count>span:first-child { font-size:74px; line-height:1.1; letter-spacing:-5px; font-weight:650; }
  .big-count>span:last-child { font-size:13px; line-height:1.5; }
  .summary-rule { border-top:1px solid #aac277; margin-block:22px; }
  .catalogue-summary p:not(.eyebrow) { font-size:14px; }
  .catalogue-summary>a { display:inline-block; margin-top:18px; font-size:14px; font-weight:650; }
  .direct-notice { font-size:15px; padding:13px 0 22px; border-bottom:1px solid var(--line); }
  .data-status { display:flex; flex-wrap:wrap; gap:8px 24px; justify-content:space-between; font-size:13px; padding-block:17px 0; color:var(--muted); }
  .loading-note { font-size:14px; margin-top:12px; }
  .error-notice { display:flex; align-items:center; flex-wrap:wrap; gap:14px; background:var(--amber-bg); border:1px solid #e1c889; padding:18px; border-radius:12px; margin-top:18px; font-size:15px; color:var(--amber); }
  .error-notice p { flex:1 1 400px; }
  .controls-grid { display:grid; grid-template-columns:210px 1fr 230px; gap:20px; margin-top:26px; }
  .field label,legend { display:block; font-size:14px; font-weight:650; margin-bottom:8px; padding:0; }
  fieldset { padding:0; margin:0; border:0; min-width:0; }
  .segmented { display:flex; border:1px solid var(--line); border-radius:9px; padding:3px; background:var(--paper); }
  .segmented label { flex:1; position:relative; }
  .segmented input { position:absolute; opacity:0; width:1px; height:1px; }
  .segmented span { min-height:44px; display:grid; place-items:center; border-radius:6px; font-size:14px; cursor:pointer; }
  .segmented input:checked+span { background:var(--green); color:#fff; }
  .segmented input:focus-visible+span { outline:3px solid #417333; }
  select { width:100%; max-width:100%; min-width:0; min-height:50px; padding:10px 34px 10px 12px; border:1px solid var(--line); border-radius:9px; background:white; color:var(--ink); font-size:15px; text-overflow:ellipsis; }
  .checkbox { display:flex; align-items:center; gap:10px; font-size:14px; width:fit-content; min-height:44px; margin-top:8px; }
  .checkbox input { accent-color:var(--green); width:20px; height:20px; }
  .comparison-prompt { background:var(--paper); border-radius:9px; font-size:15px; color:var(--muted); padding:18px; margin-top:8px; }
  .comparison-basis { font-size:14px; line-height:1.6; color:var(--muted); margin-top:20px; }
  .filter-note { font-size:14px; color:var(--amber); margin-bottom:12px; }
  #comparison-fallback { margin-top:20px; }
  .results-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
  #lower-heading { font-size:21px; margin:24px 0 18px; }
  .result-card { min-width:0; padding:22px; border:1px solid var(--line); border-radius:12px; }
  .result-card h3,.result-card h4 { font-size:21px; margin-bottom:18px; }
  .selected-card { background:var(--soft); margin-top:12px; }
  .selected-card .card-checks { max-width:700px; }
  .card-checks { margin-top:16px; }
  .result-card .record-anchor { margin-top:18px; display:inline-block; }
  .jump-links { display:flex; gap:18px; font-size:14px; }
  .section-description { margin-top:16px; color:var(--muted); max-width:760px; font-size:15px; }
  .category-section { margin-top:32px; }
  .category-section>.section-heading { padding-block:14px; border-bottom:2px solid var(--ink); }
  .count-badge { background:var(--soft); padding:5px 12px; border-radius:20px; font-size:13px; }
  .catalogue-table { width:100%; border-collapse:collapse; table-layout:fixed; text-align:left; }
  .catalogue-table thead { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:1px; }
  .catalogue-table th,.catalogue-table td { padding:20px 18px 24px; vertical-align:top; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
  .catalogue-table tr>:first-child { width:25%; padding-left:0; }
  .catalogue-table tr>:nth-child(2) { width:40%; }
  .catalogue-table tr>:last-child { width:35%; padding-right:0; }
  .catalogue-table th[scope="row"] { font-weight:400; }
  .catalogue-table tr:target { background:#edf4d6; }
  .provider-name { display:block; color:var(--ink); font-size:18px; font-weight:650; }
  .plan-name { display:block; color:var(--muted); margin-block:4px 14px; font-size:14px; }
  .record-anchor { font-size:13px; font-weight:500; }
  .price { display:flex; align-items:baseline; flex-wrap:wrap; gap:7px; color:var(--ink); }
  .price strong { font-size:25px; font-weight:650; letter-spacing:-1px; }
  .price>span { color:var(--muted); font-size:13px; }
  .billing { margin-top:6px; font-size:15px; color:var(--ink); }
  .upfront-note { font-size:14px; color:var(--muted); margin-top:6px; }
  .promo { color:var(--amber); background:var(--amber-bg); font-size:14px; padding:8px 10px; border-radius:6px; margin-block:9px; }
  .check-label { display:block; text-transform:uppercase; letter-spacing:1px; font-size:12px; color:var(--muted); }
  .checked-date { display:block; font-size:14px; margin-top:2px; overflow-wrap:anywhere; }
  .clear-note { display:block; font-size:13px; color:var(--muted); margin-top:8px; }
  .flags { list-style:none; padding:0; margin:9px 0; color:var(--amber); font-size:14px; }
  .flags li { margin-top:4px; padding-left:11px; position:relative; }
  .flags li::before { content:"•"; position:absolute; left:0; }
  .plan-links { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:15px; font-size:14px; font-weight:600; }
  .empty { padding:22px 0; color:var(--muted); font-size:15px; }
  .agent-panel { background:var(--soft); }
  .agent-details { display:grid; grid-template-columns:128px 1fr; gap:13px; margin-top:24px; font-size:14px; }
  .agent-details dt { font-weight:650; }
  .agent-details dd { margin:0; min-width:0; }
  .agent-links { display:flex; flex-wrap:wrap; gap:12px 24px; font-size:14px; margin-top:24px; }
  .measurement-note { color:var(--muted); font-size:14px; max-width:1000px; }
  .test-banner { background:#8a3b0a; color:white; text-align:center; padding:12px; font-weight:700; }
}
@layer responsive {
  @media (max-width:1000px) { .hero { grid-template-columns:1fr 270px; gap:32px; } .controls-grid { grid-template-columns:180px 1fr; } .controls-grid>.field:last-child { grid-column:2; } .results-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
  @media (max-width:700px) {
    .wrap { width:calc(100% - 36px); }
    .site-header { align-items:flex-start; gap:14px; flex-direction:column; padding-block:19px; }
    .site-header nav { gap:25px; width:100%; justify-content:space-between; }
    .site-header nav a { min-height:44px; display:inline-flex; align-items:center; }
    .hero { grid-template-columns:1fr; padding-block:38px 24px; gap:28px; }
    h1 { font-size:52px; } .hero-description { font-size:16px; margin-top:18px; }
    .hero-actions { gap:20px; margin-top:23px; }
    .catalogue-summary { padding:20px; } .big-count>span:first-child { font-size:52px; letter-spacing:-3px; }
    .catalogue-summary .summary-rule { margin-block:14px; } .catalogue-summary>p:not(.eyebrow) { display:none; }
    .catalogue-summary>a { margin-top:0; }
    .comparison { padding:20px; } h2 { font-size:26px; }
    .comparison>.section-heading { align-items:flex-start; flex-direction:column; }
    .controls-grid { grid-template-columns:1fr; gap:16px; margin-top:22px; }
    .controls-grid>.field:last-child { grid-column:auto; }
    select { font-size:16px; }
    .results-grid,.reference-grid { grid-template-columns:1fr; }
    .catalogue { margin-top:44px; }
    .catalogue>.section-heading { align-items:flex-start; flex-direction:column; }
    .catalogue-table,.catalogue-table tbody { display:block; }
    .catalogue-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
    .catalogue-table tr { display:block; padding-block:24px; border-bottom:1px solid var(--line); }
    .catalogue-table tr>th,.catalogue-table tr>td { display:block; width:100% !important; border:0; padding:0; }
    .catalogue-table tr>td { margin-top:17px; }
    .plan-name { margin-bottom:4px; }
    .plan-links a { min-height:44px; display:inline-flex; align-items:center; }
    .reference-grid { margin-top:38px; gap:18px; } .reference-panel { padding:22px; }
    .agent-details { grid-template-columns:110px 1fr; gap:12px; }
    .site-footer { gap:16px; } .site-footer p { flex-basis:100%; }
  }
  @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
  @media print { .comparison,#loading-note,.error-notice,.site-header nav,.hero-actions { display:none; } .wrap { width:100%; } body { background:white; font-size:10pt; } .hero { padding:20px 0; } h1 { font-size:32pt; } .catalogue-table tr { break-inside:avoid; } }
}
