      :root {
        color-scheme: light;
        --paper: #f5f7f4;
        --paper-strong: #eef5ef;
        --surface: #ffffff;
        --ink: #17211d;
        --muted: #5d6861;
        --soft: #f7faf8;
        --line: #d8ded8;
        --brand: #0f6f63;
        --aqua: #2f8998;
        --blue: #315f9d;
        --leaf: #2e7a4f;
        --sun: #d29028;
        --coral: #c75f4a;
        --shadow: rgba(23, 33, 29, .12);
      }
      * { box-sizing: border-box; }
      body {
        margin: 0;
        font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        color: var(--ink);
        background:
          linear-gradient(115deg, rgba(47, 137, 152, .12) 0 34%, transparent 34% 100%),
          linear-gradient(180deg, #fbfbf8 0%, var(--paper) 40%, var(--paper-strong) 100%);
        letter-spacing: 0;
      }
      main { width: min(1220px, 100%); margin: 0 auto; padding: 22px; }
      a { color: var(--brand); text-decoration: none; font-weight: 700; }
      .site-top {
        position: sticky;
        z-index: 15;
        top: 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 18px;
        margin: -22px -22px 20px;
        padding: 18px 22px 14px;
        border-bottom: 1px solid rgba(216, 222, 216, .72);
        background: rgba(251, 251, 248, .86);
        backdrop-filter: blur(16px);
      }
      .brand {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        color: var(--ink);
      }
      .brand-symbol {
        display: grid;
        place-items: center;
        width: 40px;
        height: 40px;
        border-radius: 8px;
        background: linear-gradient(135deg, var(--brand), var(--aqua));
        color: #fff;
        font-weight: 800;
        box-shadow: 0 10px 22px rgba(15, 111, 99, .22);
      }
      .brand strong { display: block; font-size: 18px; }
      .brand small { display: block; color: var(--muted); font-size: 12px; }
      .nav { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
      .nav-link {
        padding: 8px 10px;
        border-radius: 6px;
        color: var(--muted);
        font-size: 14px;
      }
      .nav-link--active { color: var(--brand); background: rgba(15, 111, 99, .10); }
      .hero {
        display: grid;
        grid-template-columns: minmax(0, .82fr) minmax(480px, 1.18fr);
        gap: 24px;
        align-items: start;
        margin-bottom: 16px;
        padding: 22px 0 8px;
      }
      .hero-copy { display: grid; gap: 14px; grid-column: 1; }
      .hero-copy h1,
      .hero-copy p { max-width: 780px; }
      .metric-row {
        grid-column: 1;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
        max-width: 760px;
      }
      .metric {
        min-height: 72px;
        padding: 11px 12px;
        border: 1px solid rgba(216, 222, 216, .86);
        border-radius: 8px;
        background: rgba(255, 255, 255, .58);
      }
      .metric strong { display: block; margin-bottom: 4px; font-size: 14px; }
      .metric span { color: var(--muted); font-size: 13px; line-height: 1.35; }
      .source-kicker {
        display: inline-block;
        margin-bottom: 8px;
        color: var(--sun);
        font-size: 12px;
        font-weight: 850;
        text-transform: uppercase;
      }
      .eyebrow { margin: 0 0 10px; color: var(--aqua); font-size: 13px; font-weight: 800; text-transform: uppercase; }
      h1 { margin: 0; font-size: clamp(38px, 5vw, 68px); line-height: 1; letter-spacing: 0; }
      .subtitle { margin: 0; color: var(--muted); max-width: 760px; font-size: 18px; line-height: 1.55; }
      .source-box {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(220px, .32fr);
        gap: 18px;
        align-items: start;
        border: 1px solid rgba(216, 222, 216, .85);
        border-left: 4px solid var(--sun);
        padding: 18px;
        background: rgba(255, 255, 255, .78);
        border-radius: 8px;
        color: var(--muted);
        font-size: 14px;
        box-shadow: 0 14px 34px rgba(23, 33, 29, .08);
      }
      .source-box p { margin: 8px 0 0; line-height: 1.5; }
      .source-meta {
        display: grid;
        gap: 6px;
        color: var(--muted);
      }
      .source-meta span { display: block; }
      .search-panel {
        background:
          linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(247, 250, 248, .98));
        border: 1px solid var(--line);
        border-radius: 8px;
        padding: 18px;
        overflow: hidden;
        box-shadow: 0 22px 62px var(--shadow);
      }
      .search-panel--hero {
        grid-column: 2;
        grid-row: 1 / span 2;
        align-self: start;
        padding: 20px;
      }
      .search-panel__header {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        margin-bottom: 14px;
      }
      .panel-title { display: grid; gap: 4px; min-width: 0; }
      .panel-title strong { font-size: 18px; }
      .panel-title span { color: var(--muted); font-size: 13px; line-height: 1.45; }
      .panel-badges { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 8px; }
      .badge {
        min-height: 30px;
        padding: 6px 9px;
        border: 1px solid rgba(47, 137, 152, .24);
        border-radius: 6px;
        background: rgba(47, 137, 152, .10);
        color: #255b64;
        font-size: 12px;
        font-weight: 800;
      }
      form {
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 14px;
        align-items: start;
      }
      .field { display: grid; gap: 6px; position: relative; min-width: 0; }
      .field--benefit { grid-column: 1 / -1; }
      .field--locality { grid-column: span 4; }
      .field--case { grid-column: span 2; }
      .advanced-filters {
        grid-column: 1 / -1;
        border: 1px solid rgba(216, 222, 216, .86);
        border-radius: 8px;
        background: rgba(255, 255, 255, .54);
      }
      .advanced-filters summary {
        min-height: 40px;
        padding: 10px 12px;
        color: var(--brand);
        font-size: 13px;
        font-weight: 850;
        cursor: pointer;
      }
      .advanced-filters__grid {
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 14px;
        padding: 0 12px 12px;
      }
      label { font-size: 13px; font-weight: 750; color: var(--ink); }
      .field-hint {
        margin: 2px 0 0;
        color: var(--muted);
        font-size: 12px;
        line-height: 1.4;
      }
      .field-hint button {
        margin-left: 4px;
        padding: 0;
        min-height: 0;
        border: 0;
        background: transparent;
        color: var(--brand);
        font: inherit;
        font-weight: 800;
        cursor: pointer;
      }
      .field-hint button:hover { text-decoration: underline; }
      .field-error {
        margin: 0;
        color: #9d3322;
        font-size: 12px;
        font-weight: 750;
      }
      .field-error[hidden] { display: none; }
      input, select {
        width: 100%;
        box-sizing: border-box;
        min-height: 48px;
        border: 1px solid #b9c6c0;
        border-radius: 6px;
        padding: 10px 12px;
        font: inherit;
        background: #fff;
        color: var(--ink);
        box-shadow: inset 0 1px 0 rgba(23, 33, 29, .03);
      }
      input::placeholder { color: #7a867f; opacity: 1; }
      input:focus, select:focus {
        outline: 3px solid rgba(47, 137, 152, .24);
        border-color: var(--aqua);
        box-shadow: 0 0 0 1px rgba(47, 137, 152, .08), inset 0 1px 0 rgba(23, 33, 29, .03);
      }
      .suggest-shell { position: relative; }
      .suggestions {
        position: absolute;
        z-index: 12;
        top: calc(100% + 6px);
        left: 0;
        right: 0;
        display: grid;
        gap: 4px;
        max-height: 270px;
        overflow: auto;
        padding: 6px;
        border: 1px solid var(--line);
        border-radius: 8px;
        background: #fff;
        box-shadow: 0 18px 44px rgba(23, 33, 29, .16);
      }
      .suggestions[hidden] { display: none; }
      .suggestion {
        display: grid;
        gap: 12px;
        width: 100%;
        min-height: 44px;
        padding: 8px 10px;
        border: 0;
        border-radius: 6px;
        background: transparent;
        color: var(--ink);
        text-align: left;
        font: inherit;
        font-weight: 700;
      }
      .suggestion:hover,
      .suggestion:focus,
      .suggestion--active {
        background: rgba(47, 137, 152, .12);
        outline: none;
      }
      .suggestion strong { font-size: 14px; line-height: 1.2; }
      .suggestion span { color: var(--muted); font-weight: 650; font-size: 12px; line-height: 1.25; }
      button {
        min-height: 48px;
        border: 0;
        border-radius: 6px;
        padding: 0 16px;
        font: inherit;
        font-weight: 800;
        background: var(--brand);
        color: #fff;
        cursor: pointer;
        box-shadow: 0 12px 22px rgba(15, 111, 99, .18);
      }
      button:hover { background: #0b5f55; }
      button:disabled { opacity: .65; cursor: wait; }
      .search-submit { grid-column: 1 / -1; justify-self: stretch; }
      .notice {
        margin: 14px 0 0;
        padding-top: 12px;
        border-top: 1px solid rgba(216, 222, 216, .72);
        font-size: 13px;
        color: var(--muted);
        line-height: 1.5;
      }
      .quick-searches {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        gap: 8px 10px;
        margin: 0 0 14px;
        color: var(--muted);
        font-size: 13px;
      }
      .quick-searches__items { display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; }
      .quick-searches button {
        min-height: 32px;
        padding: 0 10px;
        border: 1px solid rgba(15, 111, 99, .20);
        border-radius: 6px;
        background: rgba(15, 111, 99, .08);
        color: var(--brand);
        font-size: 13px;
        box-shadow: none;
      }
      .quick-searches button:hover { background: rgba(15, 111, 99, .14); }
      .trust-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 14px 0; }
      .trust-item {
        border: 1px solid var(--line);
        border-radius: 8px;
        padding: 12px;
        background: rgba(255, 255, 255, .72);
      }
      .trust-item strong { display: block; margin-bottom: 4px; }
      .trust-item span { color: var(--muted); font-size: 13px; }
      .search-complete .hero {
        grid-template-columns: 1fr;
        gap: 8px;
        padding-top: 8px;
      }
      .search-complete .hero-copy,
      .search-complete .metric-row,
      .search-complete .source-box,
      .search-complete .trust-strip,
      .search-complete .search-panel__header,
      .search-complete .quick-searches,
      .search-complete .notice,
      .search-complete .saved-searches {
        display: none;
      }
      .search-complete .search-panel--hero {
        grid-column: 1;
        grid-row: auto;
        max-width: none;
        padding: 12px 14px;
        box-shadow: 0 6px 18px var(--shadow);
      }
      .search-complete form {
        grid-template-columns: minmax(220px, 2fr) minmax(180px, 1fr) 110px 150px;
        gap: 8px;
        align-items: end;
      }
      .search-complete .field--benefit,
      .search-complete .field--locality,
      .search-complete .field--case,
      .search-complete .advanced-filters,
      .search-complete .search-submit {
        grid-column: auto;
      }
      .search-complete .advanced-filters {
        align-self: end;
      }
      .search-complete .advanced-filters summary {
        min-height: 46px;
        padding: 13px 12px;
      }
      .search-complete .advanced-filters:not([open]) {
        min-height: 46px;
      }
      .search-complete .field-hint,
      .search-complete .field-error {
        display: none;
      }
      .search-complete .field-error:not([hidden]) { display: block; }
      .search-complete .search-submit {
        min-height: 46px;
      }
      .saved-searches {
        display: grid;
        gap: 8px;
        margin-top: 12px;
        padding-top: 12px;
        border-top: 1px solid rgba(216, 222, 216, .72);
      }
      .saved-searches__head { display: flex; justify-content: space-between; gap: 8px; align-items: center; color: var(--muted); font-size: 13px; }
      .saved-searches__items { display: flex; flex-wrap: wrap; gap: 8px; }
      .saved-searches button,
      .result-action,
      .decision-tools button,
      .compare-panel button {
        min-height: 32px;
        padding: 0 10px;
        border: 1px solid rgba(15, 111, 99, .22);
        border-radius: 6px;
        background: rgba(15, 111, 99, .08);
        color: var(--brand);
        font-size: 13px;
        box-shadow: none;
      }
      .toolbar {
        display: grid;
        grid-template-columns: 1fr auto auto;
        align-items: end;
        gap: 12px;
        margin: 18px 0 10px;
      }
      .search-complete .toolbar {
        margin-top: 10px;
        scroll-margin-top: 12px;
      }
      .result-controls { display: flex; flex-wrap: wrap; gap: 8px; align-items: end; justify-content: flex-end; }
      .result-control { display: grid; gap: 4px; color: var(--muted); font-size: 12px; }
      .result-control select,
      .result-control input {
        min-height: 36px;
        border: 1px solid var(--line);
        border-radius: 6px;
        padding: 0 9px;
        background: #fff;
        color: var(--ink);
      }
      .status { color: var(--muted); font-size: 14px; font-weight: 650; }
      .results { display: grid; gap: 10px; }
      .decision-tools {
        background: #fff;
        border: 1px solid var(--line);
        border-radius: 8px;
        padding: 14px;
        display: grid;
        gap: 10px;
      }
      .compare-panel {
        background: #fff;
        border: 1px solid var(--line);
        border-radius: 8px;
        padding: 12px;
        display: grid;
        gap: 10px;
      }
      .compare-panel--bar {
        position: fixed;
        z-index: 18;
        right: 16px;
        bottom: 16px;
        left: 16px;
        max-width: 1040px;
        margin: 0 auto;
        box-shadow: 0 18px 46px rgba(23, 33, 29, .20);
      }
      .compare-panel[hidden] { display: none; }
      .compare-panel__summary { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; }
      .compare-panel__actions { display: flex; flex-wrap: wrap; gap: 8px; }
      .compare-panel__drawer {
        max-height: 42vh;
        overflow: auto;
        padding-top: 10px;
        border-top: 1px solid var(--line);
      }
      .compare-panel__drawer[hidden] { display: none; }
      .decision-tools h2,
      .compare-panel h2 { margin: 0; font-size: 18px; }
      .decision-tools p,
      .compare-panel p { margin: 0; color: var(--muted); line-height: 1.5; }
      .decision-actions { display: flex; flex-wrap: wrap; gap: 8px; }
      .compare-table { width: 100%; border-collapse: collapse; font-size: 14px; }
      .compare-table th,
      .compare-table td { border-top: 1px solid var(--line); padding: 8px; text-align: left; vertical-align: top; }
      .result {
        background: var(--surface);
        border: 1px solid var(--line);
        border-radius: 8px;
        padding: 14px;
        display: grid;
        gap: 10px;
      }
      .result-head { display: flex; justify-content: space-between; gap: 12px; align-items: start; }
      .benefit { margin: 0; font-size: 16px; line-height: 1.3; }
      .date { white-space: nowrap; font-weight: 800; color: var(--leaf); }
      .freshness { color: var(--muted); font-size: 13px; font-weight: 700; }
      .rank-reason { color: var(--muted); font-size: 13px; font-weight: 700; }
      .details { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 8px; color: var(--muted); font-size: 14px; }
      .links { display: flex; flex-wrap: wrap; gap: 10px; font-size: 14px; align-items: center; }
      .compare-toggle { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 750; color: var(--brand); }
      .warning { color: #8a5700; font-weight: 750; }
      .empty, .error {
        background: #fff;
        border: 1px solid var(--line);
        border-radius: 8px;
        padding: 16px;
      }
      .empty { display: grid; gap: 12px; }
      .empty h2 { margin: 0; font-size: 18px; }
      .empty p { margin: 0; color: var(--muted); line-height: 1.5; }
      .empty ul { margin: 0; padding-left: 20px; color: var(--muted); line-height: 1.55; }
      .empty-actions { display: flex; flex-wrap: wrap; gap: 8px; }
      .empty-actions button {
        min-height: 36px;
        padding: 0 12px;
        border: 1px solid rgba(15, 111, 99, .22);
        background: rgba(15, 111, 99, .08);
        color: var(--brand);
        box-shadow: none;
      }
      .empty-actions button:hover { background: rgba(15, 111, 99, .14); }
      .error { border-color: rgba(199, 95, 74, .55); }
      .ad-slot__ad { display: block; }
      .ad-slot {
        display: grid;
        gap: 6px;
        margin: 14px 0;
        min-height: 86px;
        padding: 10px;
        border: 1px dashed #cfd8d2;
        border-radius: 8px;
        background: rgba(255, 255, 255, .62);
      }
      .ad-label { color: var(--muted); font-size: 12px; text-transform: uppercase; }
      .content-page {
        display: grid;
        grid-template-columns: minmax(0, .82fr) minmax(280px, .18fr);
        gap: 24px;
        align-items: start;
      }
      .landing-page {
        display: grid;
        grid-template-columns: minmax(0, .88fr) minmax(420px, 1.12fr);
        gap: 24px;
        align-items: start;
      }
      .landing-copy { display: grid; gap: 12px; }
      .landing-copy h1 { font-size: clamp(34px, 5vw, 56px); }
      .search-panel--landing { align-self: start; }
      .related-links { display: flex; flex-wrap: wrap; gap: 10px; }
      .content-lead {
        margin-bottom: 16px;
        padding-bottom: 16px;
        border-bottom: 1px solid var(--line);
      }
      .content-lead h1 { font-size: clamp(32px, 5vw, 52px); }
      .content-lead p, .content-section p { color: var(--muted); line-height: 1.6; }
      .content-section {
        background: var(--surface);
        border: 1px solid var(--line);
        border-radius: 8px;
        padding: 16px;
        margin-bottom: 10px;
      }
      .content-section h2 { margin: 0 0 8px; font-size: 18px; }
      .content-aside {
        border-left: 4px solid var(--aqua);
        border-radius: 8px;
        padding: 14px;
        background: rgba(255, 255, 255, .72);
        color: var(--muted);
      }
      .site-footer {
        display: flex;
        justify-content: space-between;
        gap: 18px;
        margin-top: 28px;
        padding: 18px 0 0;
        border-top: 1px solid var(--line);
        color: var(--muted);
        font-size: 13px;
      }
      .site-footer div { display: grid; gap: 4px; }
      .site-footer nav { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
      .consent {
        position: fixed;
        z-index: 20;
        left: 16px;
        right: 16px;
        bottom: 16px;
        display: grid;
        grid-template-columns: 1fr auto auto;
        gap: 12px;
        align-items: center;
        max-width: 980px;
        margin: 0 auto;
        padding: 12px;
        border: 1px solid var(--line);
        border-radius: 8px;
        background: #fff;
        box-shadow: 0 10px 32px var(--shadow);
      }
      .consent[hidden] { display: none; }
      .consent p { margin: 0; color: var(--muted); font-size: 13px; }
      .secondary-button { background: #e6ece8; color: var(--ink); }
      @media (max-width: 920px) {
        .site-top { align-items: flex-start; flex-direction: column; margin: -22px -22px 16px; }
        .nav { justify-content: flex-start; }
        .hero, .content-page { grid-template-columns: 1fr; }
        .landing-page { grid-template-columns: 1fr; }
        .hero-copy,
        .search-panel--hero,
        .metric-row { grid-column: 1; grid-row: auto; }
        .metric-row { grid-template-columns: 1fr; }
        .search-panel__header { display: grid; }
        .panel-badges { justify-content: flex-start; }
        .quick-searches { grid-template-columns: 1fr; }
        form { grid-template-columns: 1fr 1fr; }
        .advanced-filters__grid { grid-template-columns: 1fr 1fr; }
        .field--benefit,
        .field--locality,
        .search-submit { grid-column: 1 / -1; }
        .field--case { grid-column: auto; }
        .search-complete form { grid-template-columns: 1fr 1fr; }
        .search-complete .field--benefit,
        .search-complete .field--locality,
        .search-complete .search-submit { grid-column: 1 / -1; }
        .search-complete .field--case { grid-column: auto; }
        .details { grid-template-columns: 1fr; }
        .source-box { grid-template-columns: 1fr; }
        .trust-strip { grid-template-columns: 1fr; }
        .toolbar { grid-template-columns: 1fr; align-items: stretch; }
        .result-controls { justify-content: stretch; }
        .result-control { flex: 1 1 180px; }
        .consent { grid-template-columns: 1fr; }
        .site-footer { flex-direction: column; }
        .site-footer nav { justify-content: flex-start; }
      }
      @media (max-width: 560px) {
        main { padding: 16px; }
        .site-top { margin: -16px -16px 14px; padding: 14px 16px 12px; }
        .hero { gap: 14px; padding-top: 12px; }
        .hero-copy { gap: 10px; }
        .metric-row { display: none; }
        h1 { font-size: 36px; }
        .subtitle { font-size: 16px; }
        .search-panel { padding: 16px; }
        form { grid-template-columns: 1fr; }
        .advanced-filters__grid { grid-template-columns: 1fr; }
        .field--benefit,
        .field--locality,
        .field--case,
        .advanced-filters,
        .search-submit { grid-column: 1 / -1; }
        .search-complete form { grid-template-columns: 1fr; }
        .search-complete .field--benefit,
        .search-complete .field--locality,
        .search-complete .field--case,
        .search-complete .search-submit { grid-column: 1 / -1; }
        .result-head { display: grid; }
        .date { white-space: normal; }
      }
