.journey-entry {
  --journey-ink: var(--text-strong, #202832);
  --journey-accent: var(--accent,#2448e8);
  --journey-accent-hover: var(--accent-hover,#1734b7);
  --journey-accent-wash: var(--accent-wash,#eef1ff);
  position: fixed; z-index: 30;
  inset: max(1.5rem, env(safe-area-inset-top)) auto auto 1.5rem;
  box-sizing: border-box; width: min(32rem, calc(100% - 3rem));
  max-height: calc(100svh - 3rem); overflow-y: auto; overscroll-behavior: contain;
  scrollbar-gutter: stable; padding: clamp(1.125rem, 2.5vw, 2rem);
  background: var(--surface-0, #faf9f5); color: var(--journey-ink);
  border: 1px solid var(--border-subtle, #d8dcd8); border-radius: var(--radius-lg, 14px);
  box-shadow: var(--shadow-raised); font: 1rem/1.5 var(--font-sans, system-ui, sans-serif);
}
.journey-entry[data-stage]:not([data-stage="home"])::before{content:"";position:sticky;display:block;top:calc(clamp(1.125rem,2.5vw,2rem)*-1);z-index:2;height:3px;width:var(--journey-progress,0);margin:calc(clamp(1.125rem,2.5vw,2rem)*-1) 0 1rem;background:var(--journey-accent);transition:width var(--duration-fast,120ms)}
.journey-entry[hidden], .criteria-overlay[hidden] { display: none !important; }
.journey-entry[data-stage="recap"] { max-height:calc(100svh - 3rem); }
body:has(.journey-entry:not([hidden])) .road-runtime-status { display:none; }
.journey-brand { display:flex; align-items:center; gap:.6rem; font-weight:650; letter-spacing:-.02em; }
.journey-brand img { flex-shrink:0; }
.journey-entry h1 { font-family:var(--font-sans,"Onest",system-ui,sans-serif);font-weight:700;font-size:clamp(1.75rem,2.6vw,2.25rem);line-height:1.08;letter-spacing:-.025em;margin:1.25rem 0 .75rem;max-width:19ch;text-wrap:balance; }
.journey-entry p { margin:.65rem 0; }
.journey-intro { color:var(--text-body,#2c3145);text-wrap:pretty; }
.journey-reassurance { font-size:.875rem;font-weight:600;color:var(--journey-accent); }
.journey-status:empty { display:none; }
.journey-status { font-size:.875rem; }
.journey-entry__actions { display:grid; gap:.25rem;margin:1rem 0; }
.journey-entry button {
  font:inherit;text-align:start;min-height:44px;padding:.65rem .4rem;
  color:inherit;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm,4px);
  cursor:pointer;transition:background-color var(--duration-fast,120ms),border-color var(--duration-fast,120ms);
}
.journey-entry button:hover:not(:disabled) { background:var(--surface-1,#eef2ed);border-color:var(--border-subtle,#dfdcd2); }
.journey-entry button:disabled { cursor:not-allowed;opacity:.6; }
.journey-entry .journey-choice { display:grid;grid-template-columns:1.5rem 1fr 1rem;align-items:center;gap:.6rem;border:0;border-bottom:1px solid var(--border-subtle,#dfdcd2);border-radius:0;padding:.9rem 0; }
.journey-choice strong { display:block;font-weight:650;line-height:1.35; }
.journey-choice__number { align-self:start;color:var(--journey-accent);font-size:.8rem;line-height:1.8;font-variant-numeric:tabular-nums; }
.journey-choice__description { display:block;color:var(--text-body,#2c3145);font-size:.875rem;margin-top:.25rem;line-height:1.4; }
.journey-choice__arrow { color:var(--journey-accent); }
.journey-entry .journey-primary { background:var(--journey-accent);color:#fff;padding:.7rem 1rem;text-align:center;font-weight:600; }
.journey-entry .journey-primary:hover:not(:disabled) { background:var(--journey-accent-hover);color:#fff;border-color:var(--journey-accent-hover); }
.journey-entry :focus-visible { outline:3px solid var(--journey-accent);outline-offset:3px; }
.journey-entry a { color:inherit;text-underline-offset:.2em; }
.journey-method { margin-top:.75rem;font-size:.875rem; }
.journey-method summary { cursor:pointer;min-height:44px;align-content:center;font-weight:600; }
.journey-entry footer { display:flex;flex-wrap:wrap;gap:.4rem 1rem;border-top:1px solid var(--border-subtle,#dfdcd2);padding-top:.5rem;font-size:.8125rem; }
.journey-entry footer a { display:inline-flex;align-items:center;min-height:44px; }
.journey-version { display:block;width:100%;color:var(--text-muted,#5b6075); }
.journey-entry form { display:grid;gap:.65rem;margin-top:1rem; }
.journey-entry form label { font-weight:600; }
.journey-entry input:not([type=radio]):not([type=checkbox]), .journey-entry select { box-sizing:border-box;width:100%;min-width:0;min-height:44px;font:inherit;color:var(--journey-ink);background:var(--surface-raised,#fff);padding:.65rem;border:1px solid var(--border-strong,#9ba49f);border-radius:var(--radius-sm,4px); }
.journey-entry .journey-note { color:var(--text-body,#2c3145);font-size:.875rem;line-height:1.5; }
.journey-entry fieldset { min-width:0;margin:0;padding:.65rem;border:1px solid var(--border-strong,#b9b6ad);border-radius:var(--radius-sm,4px); }
.journey-address-option { display:flex;align-items:flex-start;gap:.65rem;padding:.65rem 0; }
.journey-address-option input { width:20px;height:20px;flex-shrink:0;accent-color:var(--journey-accent); }
.journey-address-option small { display:block;font-weight:400;color:var(--text-body,#2c3145); }
.journey-saved-locations { list-style:none;padding:0; }
.journey-saved-locations li { display:grid;border-left:3px solid var(--journey-accent);padding:.5rem .75rem;margin:.75rem 0; }
.journey-saved-locations li>span { font-size:.8125rem;color:var(--text-body,#2c3145); }
.journey-area-modes{display:grid;grid-template-columns:1fr;gap:.5rem;margin-block:1rem}
.journey-area-modes button{min-height:48px;text-align:center}
.journey-area-modes .journey-area-national{grid-column:1/-1;border:1.5px solid var(--journey-accent);border-radius:.8rem;color:var(--journey-accent);font-weight:600;min-height:48px}
.journey-area-saved{display:grid;border-left:3px solid var(--journey-accent);padding:.7rem .8rem;margin-block:1rem}
.journey-area-saved span{font-size:.8125rem;color:var(--text-body,#2c3145)}
.journey-mobility>p:first-child{padding:.75rem;background:color-mix(in srgb,var(--journey-accent) 8%,transparent);border-radius:var(--radius-sm,4px)}
.journey-map-key{margin:.75rem 0;padding:.55rem .75rem;border:1px solid var(--border-subtle,#dfdcd2);border-radius:var(--radius-sm,4px);background:color-mix(in srgb,var(--surface-raised,#fff) 94%,var(--journey-accent) 6%)}
.journey-map-key p{margin:.25rem 0;font-size:.8125rem;color:var(--text-body,#2c3145)}
.journey-entry .journey-map-toggle{min-height:2.5rem;padding:.35rem 0;border:0;background:transparent;color:var(--journey-accent);font-size:.8125rem;text-decoration:underline;text-underline-offset:.2em;text-align:left}
.journey-entry .journey-map-toggle:hover:not(:disabled){background:transparent;color:var(--journey-accent)}
.journey-air-legend{display:grid;gap:.28rem;margin:.45rem 0 .1rem;padding:0;list-style:none;font-size:.8125rem;color:var(--text-body,#2c3145)}
.journey-air-legend[hidden]{display:none}
.journey-air-legend li{display:flex;align-items:center;gap:.5rem}
.journey-air-legend li::before{content:"";width:.8rem;height:.8rem;flex:0 0 .8rem;border-radius:50%;background:var(--air-swatch);border:1px solid color-mix(in srgb,var(--air-swatch),#20233a 24%)}
.journey-air-legend [data-air-band="very-limited"]{--air-swatch:#8c6b59}.journey-air-legend [data-air-band="limited"]{--air-swatch:#9b7d66}.journey-air-legend [data-air-band="balanced"]{--air-swatch:#6e9182}.journey-air-legend [data-air-band="favorable"]{--air-swatch:#4d8587}.journey-air-legend [data-air-band="very-favorable"]{--air-swatch:#116b47}.journey-air-legend [data-air-band="unknown"]{--air-swatch:#9ca3aa}
@media (max-width:600px) {
  .journey-entry { inset:auto .75rem max(.75rem,env(safe-area-inset-bottom));width:calc(100% - 1.5rem);max-height:80svh;padding:1.125rem; }
  .journey-entry[data-stage="recap"] { max-height:52svh; }
  .journey-entry h1 { margin-top:.8rem;font-size:1.7rem; }
  .journey-entry .journey-choice { padding:.65rem 0; }
  .journey-entry__actions { margin:.75rem 0; }
}
@media (prefers-reduced-motion:reduce) { .journey-entry button,.journey-entry::before { transition:none; } }
@media (forced-colors:active) { .journey-entry .journey-primary { border:1px solid ButtonText; } }

.journey-property-option { display:flex;align-items:center;gap:.6rem;min-height:44px; }
.journey-property-option input { width:20px;height:20px;accent-color:var(--journey-accent); }

.journey-more-address summary { min-height:44px;align-content:center;cursor:pointer;font-weight:600;color:var(--journey-accent); }

/* One bounded native dialog, not another dashboard or map. */
.exploration-collection { box-sizing:border-box;width:min(32rem,calc(100% - 1.5rem));max-height:min(80svh,80%);padding:clamp(.75rem,4vw,1.5rem);overflow-wrap:anywhere;border:1px solid var(--border-subtle,#dfdcd2);border-radius:var(--radius-lg,16px);background:var(--surface-raised,#faf8f2);color:var(--text-1,#172333);font-family:var(--font-sans,"Onest",system-ui,sans-serif); }
.exploration-collection::backdrop { background:rgb(20 30 40 / .32); }
.exploration-collection h2 { font-size:1.65rem;margin:0 0 .75rem; }
.exploration-collection p { line-height:1.5;font-size:.95rem; }
.exploration-collection button { font:inherit;min-height:44px;padding:.65rem .8rem;border:1px solid var(--border-subtle,#dfdcd2);border-radius:var(--radius-sm,6px);background:transparent;color:inherit;cursor:pointer;text-align:left; }
.exploration-collection button:hover:not(:disabled) { background:rgb(36 72 232 / .08); }
.exploration-collection :focus-visible { outline:3px solid var(--accent,#2448e8);outline-offset:3px; }
.exploration-collection .collection-primary { background:var(--accent,#2448e8);color:white; }
.exploration-collection button:disabled { opacity:.6;cursor:default; }
.collection-list { list-style:none;padding:0; }
.collection-list li { padding:1rem 0;border-bottom:1px solid var(--border-subtle,#dfdcd2); }
.collection-list li p { margin:.35rem 0 .6rem; }
.collection-actions { display:grid;gap:.65rem;margin:1rem 0; }

.exploration-collection form {display:grid;gap:.8rem;margin:1rem 0;}
.exploration-collection input {font:inherit;box-sizing:border-box;width:100%;min-height:44px;padding:.6rem;border:1px solid var(--border-subtle,#dfdcd2);border-radius:6px;}

.exploration-collection p {overflow-wrap:anywhere;}
.exploration-collection .identity-reports {display:block;box-sizing:border-box;min-height:44px;padding:.65rem 0;color:inherit;text-underline-offset:.2em;}

@font-face{font-family:"PMV Google Sans";src:url("/vendor/identity/google-sans-500.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
.identity-providers{display:grid;gap:10px;margin-block:16px}
.exploration-collection .identity-provider{box-sizing:border-box;min-width:0;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:44px;padding:10px 12px;background:#fff;color:#1f1f1f;border:1px solid #747775;font-size:14px;line-height:20px}
.exploration-collection .identity-provider-google{font-family:"PMV Google Sans",Arial,sans-serif;font-weight:500}
.identity-provider img{width:20px;height:20px;object-fit:contain;flex-shrink:0}

/* Reading stays inside the bounded existing map overlay, not another dashboard. */
.care-reading h2{font-family:var(--font-sans,"Onest",system-ui,sans-serif);font-size:1.6rem;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:.75rem 0}
.care-reading h3{font-size:1rem;line-height:1.4;margin:.25rem 0}
.care-findings{list-style:none;padding:0;margin:1rem 0}.care-findings li{padding:.8rem 0;border-top:1px solid var(--border-subtle,#d8dcd8)}
.care-findings small{font-size:.8125rem;font-weight:600;color:var(--journey-accent)}
.care-caution{border-left:3px solid var(--journey-accent);padding:.25rem 0 .25rem 1rem;margin:1.25rem 0}
.care-reading p,.care-calculation>p{overflow-wrap:anywhere}.care-reading>p:last-child{font-size:.8125rem;color:var(--text-body,#2c3145)}
.search-zone-list{display:grid;gap:.75rem;margin:1rem 0}
.search-zone-card{padding:1rem;border:1px solid color-mix(in srgb,var(--journey-accent,var(--accent,#2448e8)) 24%,transparent);border-radius:var(--radius-lg,16px);background:color-mix(in srgb,var(--surface-raised,#fff) 95%,var(--journey-accent,var(--accent,#2448e8)));box-shadow:0 .45rem 1.2rem rgb(22 28 72 / .08)}
.search-zone-card h3{margin:0 0 .25rem}.search-zone-card p{margin:.2rem 0 .65rem}.search-zone-card ul{padding-left:1.2rem}
.journey-entry fieldset label:not(.journey-property-option){display:block;margin:.75rem 0 .3rem}
@media(prefers-color-scheme:dark){.journey-entry{--surface-0:#181d25;--surface-1:#242b35;--surface-raised:#202731;--journey-ink:#f0f2f5;--text-body:#d2d7df;--text-muted:#b3bac5;--border-subtle:#47505e;--border-strong:#778291;--journey-accent:var(--accent,#2448e8);--journey-accent-hover:var(--accent-hover,#1734b7)}.journey-entry .journey-primary{background:var(--accent,#2448e8);color:white}.journey-entry select{color-scheme:dark}}

.journey-report{border-top:1px solid var(--border-subtle,#dfdcd2);margin-top:1.5rem;padding-top:1rem}
.journey-report h3{font-size:1.125rem;margin:.25rem 0}.journey-report nav{display:grid;gap:.25rem}
.journey-report a{display:inline-flex;align-items:center;min-height:44px;padding:.35rem 0;overflow-wrap:anywhere}
.journey-report button{width:100%}.journey-report [hidden]{display:none!important}

.comparison-table{width:100%;table-layout:fixed;border-collapse:collapse;margin-block:1rem;font-size:1rem;line-height:1.4}
.comparison-table caption{text-align:start;font-weight:600;padding-block:.75rem}
.comparison-table th,.comparison-table td{text-align:start;vertical-align:top;padding:.65rem .35rem;border-bottom:1px solid var(--border-subtle,#d8dcd8);overflow-wrap:anywhere}
.comparison-table thead th{font-weight:600}.comparison-table th:first-child{width:40%}
.comparison-table tbody th{font-weight:500}.comparison-table th span{display:block;font-weight:400;margin-top:.4rem}
.comparison-detail{border-top:1px solid var(--border-subtle,#d8dcd8);padding-block:.5rem}
.comparison-detail summary{cursor:pointer;min-height:44px;padding-block:.6rem;box-sizing:border-box}
.comparison-detail summary:focus-visible{outline:3px solid var(--journey-accent,var(--accent,#2448e8));outline-offset:3px}


/* Simplified public flow: warm terracotta, restrained hierarchy, no permanent navigation clutter. */
.journey-simple{--journey-accent:var(--accent,#2448e8);--journey-accent-hover:var(--accent-hover,#1734b7);--journey-accent-wash:var(--accent-wash,#eef1ff);background:var(--surface-0,#fffef8);border-color:var(--border-subtle,#dfdcd2);box-shadow:0 18px 55px rgb(16 20 38 / .16)}
.journey-simple h1{max-width:22ch}
.journey-simple .journey-entry__actions{gap:.55rem}
.simple-continue,.simple-discover{width:100%;font-size:1.05rem}
.simple-addresses{list-style:none;padding:0;margin:.7rem 0}.simple-addresses li{padding:.45rem 0;border-bottom:1px solid var(--border-subtle,#dfdcd2)}
.simple-map-key{display:flex;align-items:center;gap:.55rem;font-weight:650}.simple-map-key::before{content:"";width:1rem;height:1rem;border-radius:.25rem;background:#48d58b;border:1px solid #15915b}
.journey-simple[data-stage="recap"]{width:min(25rem,calc(100% - 3rem));padding:1rem 1.15rem}
.journey-simple[data-stage="recap"] h1{font-size:1.65rem;margin:.7rem 0 .35rem}
.journey-simple[data-stage="recap"] .journey-intro{font-size:.9rem}

/* Address discovery: generous rhythm and soft, deliberate controls. */
.journey-simple[data-stage="location"]{padding:clamp(1.5rem,3vw,2.25rem)}
.journey-simple[data-stage="location"] .journey-intro{max-width:38ch;font-size:1.05rem;line-height:1.6}
.journey-simple[data-stage="location"] form{gap:.8rem;margin-top:1.6rem}
.journey-simple[data-stage="location"] form>p:empty,.journey-simple[data-stage="location"] .journey-address-results:empty{display:none}
.journey-simple[data-stage="location"] input[type="search"]{min-height:50px;padding:.8rem 1rem;border-radius:.8rem}
.journey-simple[data-stage="location"] button{border-radius:.8rem;padding:.78rem 1rem}
.journey-simple[data-stage="location"] form>.journey-primary,.journey-simple[data-stage="location"] .journey-entry__actions>.journey-primary{width:100%;min-height:50px;text-align:center}
.journey-simple[data-stage="location"] .journey-entry__actions{gap:.75rem;margin:1rem 0 .25rem}
.journey-simple[data-stage="location"] .journey-saved-locations{margin:1.4rem 0}
.journey-simple[data-stage="location"] .journey-saved-locations li{gap:.25rem;padding:1rem 1.1rem;border-left:0;border:1px solid var(--border-subtle,#dfdcd2);border-radius:.9rem;background:#fff}
.journey-simple[data-stage="location"] .journey-saved-locations button{justify-self:start;min-height:44px;margin:.35rem 0 -.35rem;padding:.45rem 0;border:0;border-radius:0;color:var(--journey-accent);text-decoration:underline;text-underline-offset:.2em}
.journey-simple[data-stage="location"] .journey-saved-locations button:hover:not(:disabled){background:transparent;color:var(--journey-accent-hover)}
@media(max-width:600px){.journey-simple[data-stage="location"]{padding:1.25rem}.journey-simple[data-stage="location"] form{margin-top:1.25rem}}

/* Landing: one document scroll, an action-first introduction and the existing map as factual proof. */
html:has(.landing-home:not([hidden])),body:has(.landing-home:not([hidden])){height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:auto;background:var(--surface-0,#fffef8)}
body:has(.landing-home:not([hidden])) #map{position:fixed;inset:0;height:100svh}
.landing-home{--surface-0:#fffef8;--surface-1:#f4f2ea;--surface-raised:#fff;--border-subtle:#dfdcd2;--border-strong:#b9b6ad;--text-strong:#101426;--text-body:#2c3145;--text-muted:#5b6075;--text-1:#101426;position:relative;z-index:35;min-height:100%;pointer-events:none;color:var(--text-strong);font:1rem/1.5 var(--font-sans,"Onest",system-ui,sans-serif);color-scheme:light}
.landing-home[hidden]{display:none!important}
body:has(.landing-home:not([hidden])) .criteria-overlay,body:has(.landing-home:not([hidden])) .road-runtime-status{display:none!important}
.landing-above-fold{display:grid;grid-template-columns:minmax(28rem,36rem) minmax(24rem,1fr);gap:1.25rem;box-sizing:border-box;min-height:100svh;padding:1.25rem}
.landing-panel{pointer-events:auto;align-self:center;box-sizing:border-box;width:100%;padding:clamp(1.45rem,2.6vw,2.25rem);background:var(--surface-0,#fffef8);border:1px solid var(--border-subtle,#dfdcd2);border-radius:var(--radius-lg,14px);box-shadow:0 18px 55px rgb(16 20 38 / .14);animation:landing-enter .42s var(--ease,cubic-bezier(.2,0,0,1)) both}
.landing-brand{display:inline-flex;align-items:center;gap:.55rem;min-height:2rem;color:var(--text-strong,#101426);text-decoration:none;font-size:1rem;font-weight:680;letter-spacing:-.02em}
.landing-brand img{flex-shrink:0;border-radius:6px}
.landing-home h1{margin:1rem 0 .5rem;font-size:clamp(1.75rem,2.4vw,2.25rem);font-weight:700;line-height:1.08;letter-spacing:-.03em;text-wrap:balance}
.landing-lead{margin:0;font-size:1.05rem;font-weight:500;line-height:1.4;color:var(--text-body,#2c3145);text-wrap:pretty}
.landing-entries{display:grid;gap:.55rem;margin-top:1.15rem}
.landing-entry{box-sizing:border-box;margin:0;color:inherit;text-decoration:none}
.landing-entry--address{padding:.95rem 1rem 1rem;border:1px solid rgb(36 72 232 / .24);border-left:3px solid var(--accent,#2448e8);border-radius:var(--radius-md,8px);background:var(--surface-raised,#fff)}
.landing-entry h2{margin:0;font-size:1.08rem;font-weight:680;line-height:1.25;letter-spacing:-.015em}
.landing-entry p{margin:.25rem 0 0;font-size:.875rem;color:var(--text-body,#2c3145);line-height:1.4}
.landing-entry__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;margin-top:.7rem}
.landing-entry__row input{box-sizing:border-box;min-width:0;min-height:48px;padding:.65rem .8rem;font:inherit;color:var(--text-strong,#101426);background:#fff;border:1px solid var(--border-strong,#b9b6ad);border-radius:var(--radius-md,8px);scroll-margin-block:1rem}
.landing-entry__row input::placeholder{color:var(--text-muted,#5b6075)}
.landing-cta{box-sizing:border-box;min-height:48px;padding:.65rem 1rem;font:inherit;font-weight:650;color:var(--accent-contrast,#fff);background:var(--accent,#2448e8);border:1px solid var(--accent,#2448e8);border-radius:var(--radius-md,8px);cursor:pointer;white-space:nowrap;transition:background-color var(--duration-fast,120ms) var(--ease,cubic-bezier(.2,0,0,1)),transform var(--duration-fast,120ms) var(--ease,cubic-bezier(.2,0,0,1))}
.landing-cta:hover{background:var(--accent-hover,#1734b7);border-color:var(--accent-hover,#1734b7);transform:translateY(-1px)}
.landing-alternatives-label{margin:.35rem 0 -.05rem;font-size:.75rem;font-weight:650;letter-spacing:.055em;text-transform:uppercase;color:var(--text-muted,#5b6075)}
.landing-entry--link{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:.8rem;padding:.55rem .15rem;border-bottom:1px solid var(--border-subtle,#dfdcd2);transition:color var(--duration-fast,120ms) var(--ease,cubic-bezier(.2,0,0,1))}
.landing-entry--link strong{display:block;font-size:.92rem;font-weight:650;line-height:1.3}
.landing-entry--link small{display:block;margin-top:.08rem;color:var(--text-muted,#5b6075);font-size:.76rem;line-height:1.35}
.landing-entry__arrow{flex:0 0 auto;color:var(--accent,#2448e8);font-size:1.2rem;transition:transform var(--duration-fast,120ms) var(--ease,cubic-bezier(.2,0,0,1))}
.landing-entry--link:hover{color:var(--accent-hover,#1734b7)}.landing-entry--link:hover .landing-entry__arrow{transform:translateX(.2rem)}
.landing-map-proof{pointer-events:auto;display:grid;grid-template-rows:auto minmax(18rem,1fr);min-height:calc(100svh - 2.5rem);overflow:hidden;border:1px solid rgb(255 255 255 / .78);border-radius:var(--radius-lg,14px);background:transparent;box-shadow:0 18px 55px rgb(16 20 38 / .14);animation:landing-enter .5s .08s var(--ease,cubic-bezier(.2,0,0,1)) both}
.landing-map-proof__intro{padding:1.15rem 1.35rem 1rem;background:var(--surface-0,#fffef8)}
.landing-eyebrow{margin:0;color:var(--accent-hover,#1734b7);font-size:.75rem;font-weight:700;letter-spacing:.075em;text-transform:uppercase}
.landing-map-proof h2{max-width:29ch;margin:.3rem 0 .55rem;font-size:clamp(1.2rem,2vw,1.55rem);font-weight:680;line-height:1.22;letter-spacing:-.025em;text-wrap:balance}
.landing-map-proof__copy{display:grid;max-width:48rem;gap:.35rem;color:var(--text-body,#2c3145);font-size:.88rem;line-height:1.45;text-wrap:pretty}
.landing-map-proof__copy p{margin:0}
.landing-map-proof__viewport{position:relative;min-height:18rem;box-shadow:inset 0 1px 0 rgb(16 20 38 / .1),inset 0 -1px 0 rgb(16 20 38 / .1)}
.landing-map-proof__legend{position:absolute;right:.75rem;bottom:.75rem;margin:0;padding:.38rem .55rem;border:1px solid rgb(16 20 38 / .12);border-radius:999px;background:rgb(255 254 248 / .94);box-shadow:0 4px 15px rgb(16 20 38 / .12);color:var(--text-body,#2c3145);font-size:.72rem;font-weight:650;line-height:1.25}
.landing-map-proof__legend span{display:inline-block;width:.7rem;height:.7rem;margin-right:.3rem;border-radius:.16rem;background:#6675d1;vertical-align:-.08rem}
.landing-map-proof__legend[data-state="LOADING"] span{border:2px solid #9aa5df;border-top-color:#2448e8;border-radius:50%;background:transparent;animation:landing-map-loading .8s linear infinite}
.landing-map-proof__legend[data-state="EMPTY"] span,.landing-map-proof__legend[data-state="ERROR"] span{background:#8d5b4c}
.landing-map-proof__actions{display:flex;align-items:center;gap:.6rem 1rem;margin-top:.8rem}
.landing-map-proof__primary{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:.45rem;padding:.7rem 1rem;border:1px solid var(--accent,#2448e8);border-radius:var(--radius-md,8px);background:var(--accent,#2448e8);color:var(--accent-contrast,#fff);font-size:.9rem;font-weight:680;text-decoration:none;transition:background-color var(--duration-fast,120ms) var(--ease,cubic-bezier(.2,0,0,1)),transform var(--duration-fast,120ms) var(--ease,cubic-bezier(.2,0,0,1))}
.landing-map-proof__primary:hover{border-color:var(--accent-hover,#1734b7);background:var(--accent-hover,#1734b7);transform:translateY(-1px)}
.landing-map-proof__primary span{transition:transform var(--duration-fast,120ms) var(--ease,cubic-bezier(.2,0,0,1))}.landing-map-proof__primary:hover span{transform:translateX(.2rem)}
.landing-map-proof__secondary{display:inline-flex;min-height:44px;align-items:center;color:var(--accent-hover,#1734b7);font-size:.86rem;font-weight:650;text-underline-offset:.2em}
.landing-details{pointer-events:auto;padding:clamp(3rem,7vw,6rem) max(1.25rem,calc((100vw - 76rem)/2));background:var(--surface-0,#fffef8);border-top:1px solid var(--border-subtle,#dfdcd2)}
.landing-cases>h2{max-width:42rem;margin:.4rem 0 1.8rem;font-size:clamp(1.65rem,3vw,2.45rem);font-weight:700;line-height:1.1;letter-spacing:-.03em}
.landing-cases__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--border-subtle,#dfdcd2)}
.landing-cases article{padding:1.35rem 1.2rem 1.45rem;border-left:1px solid var(--border-subtle,#dfdcd2)}
.landing-cases article:first-child{padding-left:0;border-left:0}
.landing-cases h3{margin:0;font-size:1rem;font-weight:680;line-height:1.3}
.landing-cases article p{margin:.35rem 0 0;font-size:.875rem;line-height:1.5;color:var(--text-body,#2c3145);text-wrap:pretty}
.landing-trust-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(16rem,1fr);gap:2rem;align-items:end;margin-top:2.25rem}
.landing-trust{margin:0;padding:1rem 1.1rem;font-size:.875rem;line-height:1.55;color:var(--text-body,#2c3145);background:var(--accent-wash,#eef1ff);border-radius:var(--radius-md,8px);text-wrap:pretty}
.landing-trust strong{color:var(--text-strong,#101426);font-weight:680}
.landing-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.25rem 1.1rem;font-size:.8125rem}
.landing-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--text-body,#2c3145);text-underline-offset:.2em}
.landing-home :focus-visible{outline:3px solid var(--accent,#2448e8);outline-offset:3px}
.landing-home--fallback{display:grid;min-height:100svh;place-items:center;pointer-events:auto;background:var(--surface-0,#fffef8)}.landing-fallback-links{display:grid;gap:1rem}.landing-fallback-links a{color:var(--text-strong,#101426);font-size:1.4rem}
@keyframes landing-enter{from{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:none}}
@media(max-width:980px){
 .landing-above-fold{grid-template-columns:minmax(25rem,33rem) minmax(18rem,1fr)}
 .landing-entry__row{grid-template-columns:1fr}
 .landing-cta{width:100%}
 .landing-cases__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .landing-cases article:nth-child(3){border-left:0}.landing-cases article:nth-child(n+3){border-top:1px solid var(--border-subtle,#dfdcd2)}
}
@media(max-width:760px){
 .landing-above-fold{display:block;min-height:0;padding:0}
 .landing-panel{padding:max(1rem,env(safe-area-inset-top)) 1rem 1.1rem;border:0;border-radius:0;box-shadow:0 1px 0 var(--border-subtle,#dfdcd2);animation-duration:.32s}
 .landing-brand{min-height:1.75rem;font-size:.92rem}.landing-brand img{width:24px;height:24px}
 .landing-home h1{margin:.72rem 0 .42rem;font-size:clamp(1.6rem,7.3vw,1.78rem)}
 .landing-lead{font-size:.98rem;line-height:1.35}
 .landing-entries{gap:.42rem;margin-top:.85rem}
 .landing-entry--address{padding:.78rem .82rem .82rem}
 .landing-entry h2{font-size:1rem}.landing-entry p{font-size:.82rem}
 .landing-entry__row{grid-template-columns:1fr;gap:.42rem;margin-top:.6rem}
 .landing-entry--link{min-height:54px;padding:.42rem .12rem}
 .landing-entry--link strong{font-size:.86rem}.landing-entry--link small{font-size:.72rem}
 .landing-map-proof{grid-template-rows:auto minmax(22rem,54svh);min-height:0;border-inline:0;border-radius:0;box-shadow:none;animation:none}
 .landing-map-proof__intro{padding:1.25rem 1rem 1rem}
 .landing-map-proof h2{max-width:none;font-size:1.3rem}
 .landing-map-proof__copy{gap:.42rem;font-size:.86rem}
 .landing-map-proof__viewport{min-height:22rem}
 .landing-map-proof__legend{right:.65rem;bottom:.65rem}
 .landing-map-proof__actions{display:grid;gap:.3rem;margin-top:.75rem}
 .landing-map-proof__primary{width:100%}
 .landing-map-proof__secondary{justify-content:center}
 .landing-details{padding:3rem 1rem max(2rem,env(safe-area-inset-bottom))}
 .landing-cases>h2{margin-bottom:1.2rem;font-size:1.7rem}
 .landing-cases__grid{grid-template-columns:1fr}
 .landing-cases article,.landing-cases article:first-child{padding:1rem 0;border-left:0;border-top:1px solid var(--border-subtle,#dfdcd2)}
 .landing-cases article:first-child{border-top:0}.landing-cases article:nth-child(3){border-top:1px solid var(--border-subtle,#dfdcd2)}
 .landing-trust-row{grid-template-columns:1fr;gap:.85rem;margin-top:1.5rem}
 .landing-links{justify-content:flex-start}
}
@media(max-width:360px){.landing-entry--link small{display:none}.landing-map-proof{grid-template-rows:auto minmax(20rem,50svh)}.landing-map-proof__viewport{min-height:20rem}}
@keyframes landing-map-loading{to{transform:rotate(1turn)}}
@media(prefers-reduced-motion:reduce){.landing-panel,.landing-map-proof,.landing-map-proof__legend[data-state="LOADING"] span{animation:none!important}.landing-entry--link,.landing-entry__arrow,.landing-cta,.landing-map-proof__primary,.landing-map-proof__primary span{transition:none!important;transform:none!important}}
@media(max-width:600px){.journey-simple[data-stage="recap"]{width:calc(100% - 1.5rem);max-height:42svh}}
@media(prefers-color-scheme:dark){.journey-simple{--surface-0:var(--surface-0,#fffef8);--surface-1:var(--accent-wash,#eef1ff);--surface-raised:#fff;--journey-ink:var(--text-strong,#101426);--text-body:var(--text-body,#2c3145);--text-muted:var(--text-muted,#5b6075);--border-subtle:var(--border-subtle,#dfdcd2);--border-strong:var(--border-strong,#b9b6ad);--journey-accent:var(--accent,#2448e8);--journey-accent-hover:var(--accent-hover,#1734b7);color-scheme:light}.journey-simple .journey-primary{background:var(--journey-accent)}}

/* Known-address result: map-led workspace with one scalable, compact criteria rail. */
.journey-simple[data-stage="recap"][data-use-case="KNOWN_ADDRESS"]{
  inset:0 0 0 auto;width:25vw;min-width:20rem;max-width:25rem;max-height:100svh;height:100svh;
  padding:0;background:var(--surface-0,#fffef8);border:0;border-left:1px solid var(--border-subtle,#dfdcd2);border-radius:0;box-shadow:-12px 0 34px rgb(31 37 36/.1);
}
.journey-simple[data-stage="recap"][data-use-case="KNOWN_ADDRESS"]::before,
.journey-simple[data-stage="recap"][data-use-case="KNOWN_ADDRESS"]>.journey-brand,
.journey-simple[data-stage="recap"][data-use-case="KNOWN_ADDRESS"]>#journey-title,
.journey-simple[data-stage="recap"][data-use-case="KNOWN_ADDRESS"]>.journey-intro,
.journey-simple[data-stage="recap"][data-use-case="KNOWN_ADDRESS"]>.journey-status,
.journey-simple[data-stage="recap"][data-use-case="KNOWN_ADDRESS"]>.journey-entry__actions{display:none}
.address-dashboard{box-sizing:border-box;min-height:100%;padding:1.15rem 1.1rem 1.8rem;font:500 .8125rem/1.4 var(--font-sans,system-ui,sans-serif)}
.address-dashboard__header{display:grid;grid-template-columns:1fr auto;gap:.2rem .65rem;align-items:start;padding-bottom:.9rem;border-bottom:1px solid var(--border-subtle,#dfdcd2)}
.address-dashboard__eyebrow{grid-column:1;margin:0!important;color:var(--accent-hover,#1734b7);font-size:.68rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.address-dashboard__title{grid-column:1;margin:.15rem 0 0!important;font:650 1rem/1.3 var(--font-sans,system-ui,sans-serif)!important;letter-spacing:-.015em!important;overflow-wrap:anywhere}
.journey-entry .address-dashboard__edit{grid-column:2;grid-row:1/3;min-height:36px;padding:.35rem .45rem;color:var(--accent-hover,#1734b7);font-size:.72rem;text-decoration:underline;text-underline-offset:.18em}
.address-dashboard__intro{margin:.8rem 0!important;color:#716e69;font-size:.73rem;line-height:1.45}
.address-dashboard__criteria{display:grid;border-block:1px solid var(--border-subtle,#dfdcd2)}
.address-criterion{display:grid;gap:.7rem;padding:1rem 0;border-top:1px solid var(--border-subtle,#dfdcd2)}.address-criterion[hidden]{display:none}.address-criterion:first-child{border-top:0}
.address-criterion__top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.18rem .65rem;align-items:center}.address-criterion h2{margin:0;font:700 .82rem/1.25 var(--font-sans,system-ui,sans-serif);letter-spacing:.025em;text-transform:uppercase}.address-criterion__route-progress{grid-column:1;display:inline-flex;align-items:center;gap:.32rem;color:var(--accent-hover,#1734b7);font-size:.72rem;font-weight:700;letter-spacing:.005em;white-space:nowrap}.address-criterion__route-progress[hidden]{display:none}.address-criterion__route-thread{width:1.35rem;height:.6rem;background:radial-gradient(circle,var(--accent,#2448e8) 1.3px,transparent 1.6px) 0 50%/6px 6px repeat-x;animation:address-route-thread .9s linear infinite}@keyframes address-route-thread{to{background-position:6px 50%}}@media(prefers-reduced-motion:reduce){.address-criterion__route-thread{animation:none}}.address-criterion__remove{grid-column:2;grid-row:1/3}
.address-criterion__remove{border:0;background:transparent;color:var(--text-body,#2c3145);text-decoration:underline;text-underline-offset:.15em;cursor:pointer;font:650 .72rem/1.2 var(--font-sans,system-ui,sans-serif)}
.address-criterion__place{display:flex;width:100%;min-height:44px;align-items:center;justify-content:space-between;gap:1rem;margin:0;padding:.5rem .65rem;border:1px solid var(--border-subtle,#dfdcd2);border-radius:.45rem;background:#fff;color:var(--text-strong,#101426);text-align:left;cursor:pointer;font:650 .8rem/1.35 var(--font-sans,system-ui,sans-serif)}.address-criterion__place[hidden]{display:none}.address-criterion__place:hover{border-color:var(--accent,#2448e8);background:var(--accent-wash,#eef1ff)}.address-criterion__place-label{min-width:0;overflow-wrap:anywhere}.address-criterion__route-icon{width:1.15rem;height:1.15rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.address-criterion__route-lid{stroke-width:2}.address-criterion__place[aria-pressed="true"]{border-color:var(--accent,#2448e8);background:var(--accent-wash,#eef1ff);color:var(--accent-hover,#1734b7)}.address-criterion__place:focus-visible{outline:3px solid var(--accent,#2448e8);outline-offset:2px}.address-criterion__place:disabled{cursor:progress;opacity:.55}
.address-route__poi-marker{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#fff;border:2px solid var(--accent,#2448e8);box-shadow:0 1px 3px rgb(16 20 38 / .3);pointer-events:none}.address-route__poi-marker svg{width:1.2rem;height:1.2rem;fill:none;stroke:var(--accent,#2448e8);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.address-dashboard__removed{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.8rem;padding:.65rem .75rem;border:1px dashed rgb(36 72 232 / .35);border-radius:.7rem;color:var(--text-body,#2c3145);font-size:.78rem}.address-dashboard__removed select{max-width:11rem;border:1px solid rgb(36 72 232 / .35);border-radius:.45rem;background:#fff;padding:.35rem}
.address-criterion__value{margin:0!important;color:#26362f;font-size:1rem;font-weight:720;letter-spacing:-.02em}.address-criterion__value--unknown{color:#77736e;font-size:.82rem;font-weight:600;letter-spacing:0}
.address-criterion__method{margin:0!important;color:#77736e;font-size:.7rem;line-height:1.5}
.address-school__controls{display:grid;gap:.65rem;margin-top:.75rem}.journey-entry .address-school__group{display:flex;flex-wrap:wrap;gap:.25rem;padding:0;border:0}.address-school__group legend{width:100%;margin-bottom:.22rem;color:#77736e;font-size:.68rem;font-weight:650}
.journey-entry .address-dashboard__choice{position:relative;display:block!important;margin:0!important;font-weight:650}.address-dashboard__choice input{position:absolute;opacity:0;pointer-events:none}.address-dashboard__choice span{display:grid;place-items:center;box-sizing:border-box;min-height:36px;padding:.35rem .48rem;border:1px solid var(--border-strong,#b9b6ad);border-radius:.3rem;background:#fff;color:#4f504d;font-size:.71rem;cursor:pointer}.address-dashboard__choice input:checked+span{border-color:var(--accent,#2448e8);background:var(--accent-wash,#eef1ff);color:var(--accent-hover,#1734b7)}.address-dashboard__choice input:focus-visible+span{outline:3px solid var(--accent,#2448e8);outline-offset:2px}
.address-school__quality{display:grid!important;grid-template-columns:1fr 4.75rem;align-items:center;gap:.75rem;margin:0!important;color:#77736e;font-size:.68rem}.journey-entry .address-school__quality select{min-height:36px;padding:.3rem .45rem;font-size:.75rem}
.address-school__results{display:grid;margin-top:.15rem;border-top:1px solid var(--border-subtle,#dfdcd2)}.address-school__result{display:grid;gap:.45rem;margin:0!important;padding:.65rem 0;border-top:1px solid var(--border-subtle,#dfdcd2)}.address-school__result:first-child{border-top:0}.address-school__summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:baseline;margin:0!important}.address-school__level{color:#686965}.address-school__distance{color:#26362f;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:760px){
 .journey-simple[data-stage="recap"][data-use-case="KNOWN_ADDRESS"]{inset:auto 0 0;width:100%;min-width:0;max-width:none;height:46svh;max-height:46svh;border-left:0;border-top:1px solid var(--border-subtle,#dfdcd2);border-radius:.8rem .8rem 0 0;box-shadow:0 -10px 32px rgb(31 37 36/.13)}
 .journey-simple[data-stage="recap"][data-use-case="KNOWN_ADDRESS"]::after{content:"";position:sticky;top:0;display:block;width:2.5rem;height:.22rem;margin:.45rem auto -.15rem;border-radius:1rem;background:#b8b2aa}
 .address-dashboard{padding:.8rem 1rem max(1.35rem,env(safe-area-inset-bottom));font-size:.8rem}.address-dashboard__header{position:sticky;top:.3rem;z-index:2;background:var(--surface-0,#fffef8)}.address-dashboard__intro{margin:.65rem 0!important}.address-criterion{gap:.6rem;padding:.85rem 0}
}


/* Known-address criteria hierarchy: title, outcome, then optional preferences. */
.address-dashboard__section-title{margin:1rem 0 .45rem!important;color:var(--text-strong,#101426);font:750 .75rem/1.2 var(--font-sans,system-ui,sans-serif)!important;letter-spacing:.08em;text-transform:uppercase}
.address-dashboard__criteria{border-top:2px solid var(--border-strong,#b9b6ad);border-bottom:2px solid var(--border-strong,#b9b6ad)}
.address-criterion{gap:.62rem;padding:1.15rem 0;border-top:2px solid var(--border-subtle,#dfdcd2)}
.address-criterion h2{font:750 .94rem/1.25 var(--font-sans,system-ui,sans-serif);letter-spacing:-.01em;text-transform:none}
.address-criterion__top{align-items:start;gap:.25rem .65rem}
.address-criterion__remove{min-height:44px;padding:.3rem 0;color:var(--text-body,#2c3145)}
.address-criterion__result-label,.address-school__section-label{margin:0!important;color:#716b65;font-size:.68rem;font-weight:750;letter-spacing:.075em;line-height:1.25;text-transform:uppercase}
.address-criterion__value{font-size:1.08rem;line-height:1.25}
.address-criterion__value--unknown{font-size:.82rem;line-height:1.45}
.address-criterion__place{min-height:48px;padding:.55rem .7rem;border-color:var(--border-subtle,#dfdcd2);border-radius:.5rem;background:#fff}
.address-criterion__place-copy{display:grid;gap:.05rem;min-width:0}
.address-criterion__route-kicker{color:var(--text-muted,#5b6075);font-size:.66rem;font-weight:700;letter-spacing:.055em;line-height:1.2;text-transform:uppercase}
.address-criterion__place-label{font-size:.82rem}
.address-school__controls{gap:.8rem;margin-top:.15rem;padding:.85rem .8rem .8rem;border:1px solid var(--border-subtle,#dfdcd2);border-left:3px solid var(--accent,#2448e8);border-radius:.55rem;background:var(--surface-1,#f4f2ea)}
.journey-entry .address-school__group{gap:.4rem}
.address-school__group legend{margin-bottom:.38rem;color:#5d5752;font-size:.73rem;font-weight:750}
.address-dashboard__choice span{min-height:44px;padding:.4rem .62rem;border-radius:.4rem;font-size:.75rem}
.address-school__quality{min-height:44px;padding-top:.1rem;color:#5d5752;font-size:.73rem;font-weight:700}
.journey-entry .address-school__quality select{min-height:44px;background:#fff;font-size:.8rem}
.address-school__results-section{display:grid;gap:.5rem;margin-top:.15rem}
.address-school__results{margin-top:0;border-top:1px solid var(--border-subtle,#dfdcd2)}
.address-school__result{gap:.55rem;padding:.75rem 0}
.address-school__level{color:#514c47;font-weight:700}
.address-school__distance{font-size:.86rem}
.address-criterion__calculation-progress{display:inline-flex;align-items:center;gap:.32rem;color:var(--accent-hover,#1734b7);font-size:.72rem;font-weight:700;letter-spacing:.005em;line-height:1.3;white-space:nowrap}
.address-school__distance.address-criterion__calculation-progress{grid-column:1/-1;justify-self:start;white-space:normal}
@media(max-width:760px){
 .address-dashboard__section-title{margin:.8rem 0 .4rem!important}
 .address-dashboard__header{padding-bottom:.8rem;border-bottom:2px solid var(--border-subtle,#dfdcd2)}
 .address-criterion{padding:1rem 0}
 .address-school__controls{padding:.8rem .75rem}
}

/* Criterion editors: plain-language summary above the collapsed sources and limits. */
.criterion-measure{margin:.9rem 0 .6rem}
.criterion-measure__title{margin:0 0 .3rem;font-size:.75rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted,#5b6075)}
.criterion-measure__text{margin:0;font-size:.875rem;line-height:1.5;color:var(--text-body,#2c3145);text-wrap:pretty}
