.compare-page-shell{--page-shell-x-padding:24px;--page-topbar-content-max:1240px;min-height:100vh;padding:0 var(--page-shell-x-padding) 32px}.compare-page{gap:18px;max-width:1240px;margin:0 auto;padding-top:18px;display:grid}.compare-limit-toast{background:var(--brand-dark);border:1px solid color-mix(in srgb, var(--brand-white) 20%, transparent);border-left:4px solid var(--brand-terracotta);box-shadow:var(--shadow-popover);color:var(--text-inverse);z-index:1300;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:11px;width:100%;max-width:min(440px,100vw - 32px);padding:14px;display:grid;position:fixed;top:88px;right:max(16px,50vw - 620px)}.compare-page-heading{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;padding:10px 0 20px;display:grid}.compare-page-heading h1{letter-spacing:0;font-size:clamp(2rem,4vw,3.35rem);line-height:.98}.compare-heading-actions{justify-content:flex-end;align-items:end;gap:8px;display:flex;position:relative}.compare-add-menu{position:relative}.compare-add-trigger,.compare-clear-button{white-space:nowrap}.compare-add-popover{background:var(--bg-card);border:1px solid var(--line);box-shadow:var(--shadow-soft);z-index:20;border-radius:8px;gap:12px;width:min(420px,100vw - 48px);padding:12px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.compare-add-popover__top{justify-content:space-between;align-items:center;display:flex}.compare-add-search-field{gap:6px;min-width:0;display:grid}.compare-add-search{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;min-height:42px;padding:0 10px;display:grid}.compare-add-search:focus-within{border-color:var(--forest);box-shadow:0 0 0 3px var(--focus-ring)}.compare-add-search input:disabled{cursor:not-allowed}.compare-add-message{color:var(--muted-strong);font-size:.84rem;font-weight:760;line-height:1.45}.compare-add-message--notice{background:var(--brand-pale);border:1px solid var(--brand-sage);color:var(--forest-strong);border-radius:7px;padding:8px 9px}.compare-add-results{gap:8px;display:grid}.compare-add-option-list{grid-template-columns:1fr;gap:8px;max-height:280px;list-style:none;display:grid;overflow:auto}.compare-add-option{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;width:100%;min-height:72px;display:grid;overflow:hidden}.compare-add-option:focus-within{border-color:var(--forest);box-shadow:0 0 0 3px var(--focus-ring)}.compare-add-option__report{color:var(--ink);gap:6px;min-width:0;padding:9px 10px;text-decoration:none;display:grid}.compare-add-option__report:hover{background:var(--forest-soft)}.compare-add-option__report:focus-visible,.compare-add-option__add:focus-visible{outline:none}.compare-add-option__details{gap:3px;min-width:0;display:grid}.compare-add-option__report em{color:var(--forest-strong);white-space:nowrap;align-items:center;gap:4px;font-size:.72rem;font-style:normal;font-weight:860;display:inline-flex}.compare-add-option__add{background:var(--forest);border:1px solid var(--forest);color:#fff;white-space:nowrap;border-radius:999px;justify-content:center;align-self:center;align-items:center;gap:4px;min-width:62px;min-height:32px;margin-right:8px;padding:0 9px;font-size:.72rem;font-weight:860;display:inline-flex}.compare-add-option__add:hover:not(:disabled){background:var(--forest-strong)}.compare-add-option__add:disabled{background:var(--surface);border:1px solid var(--line);color:var(--muted-strong);cursor:default}.compare-empty-state,.compare-guidance{background:var(--surface-muted);border:1px dashed var(--line-strong);color:var(--muted);text-align:center;border-radius:8px;place-items:center;gap:10px;min-height:210px;padding:24px;font-weight:780;line-height:1.45;display:grid}.compare-empty-state p{max-width:420px}.compare-empty-state__actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.compare-empty-state__actions .primary-button{gap:6px}.compare-guidance{background:var(--brand-cream);border-color:var(--brand-terracotta);color:var(--brand-terracotta-strong);min-height:0;padding:12px}.compare-category-panel{background:var(--bg-card);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:8px;gap:14px;min-width:0;padding:16px;display:grid}.compare-category-matrix-shell{border:1px solid var(--line);overscroll-behavior-x:contain;scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin;border-radius:8px;overflow-x:auto}.compare-category-matrix{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%}.compare-category-matrix__category-column{width:160px}.compare-category-matrix th,.compare-category-matrix td{border-bottom:1px solid var(--line)}.compare-category-matrix thead th{background:var(--forest-soft);color:var(--muted-strong);letter-spacing:.025em;text-align:center;text-transform:uppercase;min-width:116px;padding:10px 12px;font-size:.68rem;font-weight:880}.compare-category-matrix thead th:first-child{text-align:left;z-index:4;min-width:160px;position:sticky;left:0}.compare-category-matrix thead th+th,.compare-category-matrix td{border-left:1px solid var(--line)}.compare-category-matrix thead th strong,.compare-category-matrix thead th small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.compare-category-matrix thead th strong{color:var(--ink);letter-spacing:0;text-transform:none;font-size:.8rem;font-weight:880}.compare-category-matrix thead th small{color:var(--muted);margin-top:2px;font-size:.62rem}.compare-category-matrix__summary-row>th{background:var(--brand-white);text-align:left;z-index:3;min-width:160px;padding:0;position:sticky;left:0}.compare-category-matrix__summary-row>th button{color:var(--ink);text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:58px;padding:9px 11px;display:grid}.compare-category-matrix__summary-row>th button:hover,.compare-category-matrix__summary-row>th button:focus-visible,.compare-category-matrix tbody.is-expanded .compare-category-matrix__summary-row>th button{background:var(--forest-soft);outline:none}.compare-category-matrix__summary-row>th button:focus-visible{box-shadow:inset 0 0 0 3px var(--focus-ring)}.compare-category-matrix__summary-row>th button>span{gap:2px;min-width:0;display:grid}.compare-category-matrix__summary-row>th button strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:880;overflow:hidden}.compare-category-matrix__summary-row>th button small{color:var(--muted);font-size:.62rem;font-weight:780}.compare-category-matrix__summary-row>th button svg{color:var(--muted);transition:transform .12s}.compare-category-matrix tbody.is-expanded .compare-category-matrix__summary-row>th button svg{transform:rotate(180deg)}.compare-category-matrix__score{background:var(--brand-white);text-align:center;min-width:116px;padding:10px 12px}.compare-category-matrix__score--strong{background:color-mix(in srgb, var(--result-pro-green) 8%, var(--brand-white))}.compare-category-matrix__score--weak{background:color-mix(in srgb, var(--weakness-red) 8%, var(--brand-white))}.compare-category-matrix__score .score-rating-value{justify-content:center;font-size:.88rem;font-weight:900}.compare-category-matrix__subscore-row>th{background:var(--surface-muted);text-align:left;z-index:2;min-width:160px;padding:8px 11px 8px 18px;position:sticky;left:0}.compare-category-matrix__subscore-row td{background:var(--surface-muted);text-align:center;min-width:116px;padding:8px 10px}.compare-category-matrix__subscore-row .score-rating-value{justify-content:center;font-size:.74rem}.compare-category-matrix tbody:last-child tr:last-child>*{border-bottom:0}.compare-category-matrix__missing{color:var(--muted);font-size:.78rem;font-weight:800}.compare-priority-panel{background:var(--surface-muted);border:1px solid var(--line);border-radius:8px;gap:12px;padding:16px;display:grid}.compare-priority-panel__top{grid-template-columns:minmax(0,1fr) minmax(220px,280px);align-items:start;gap:14px;display:grid}.compare-section-heading--inline{border-bottom:0;padding-bottom:0}.compare-priority-select{gap:6px;min-width:0;display:grid}.compare-priority-select select{background:var(--surface);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:8px;width:100%;min-width:0;min-height:40px;padding:0 10px;font-size:.88rem;font-weight:760}.compare-priority-select select:focus{border-color:var(--forest);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.compare-priority-context{color:var(--muted-strong);font-size:.84rem;font-weight:760;line-height:1.45}.compare-difference-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.compare-difference-card{background:var(--bg-card);border:1px solid var(--line);border-radius:8px;gap:10px;min-width:0;padding:12px;display:grid}.compare-difference-card__header{display:block}.compare-difference-scores{gap:7px;display:grid}.compare-score-details-button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:4px 6px;display:inline-flex}.compare-score-details-button>span[aria-hidden]{color:var(--muted);font-size:.75rem}.compare-score-details-button:hover{background:var(--forest-soft)}.compare-score-details-button:focus-visible{outline:2px solid var(--forest);outline-offset:2px}.compare-difference-scores div.is-leading{background:color-mix(in srgb, var(--result-pro-green) 10%, var(--brand-white));border-color:var(--result-pro-green)}.compare-difference-scores div.is-leading strong{color:var(--result-pro-green)}.compare-difference-scores div.is-trailing{background:var(--weakness-red-soft);border-color:var(--weakness-red)}.compare-difference-scores div.is-trailing strong{color:var(--weakness-red-strong)}.compare-difference-empty{background:color-mix(in srgb, var(--brand-white) 68%, transparent);border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:8px;place-items:center;min-height:120px;padding:18px;font-weight:780;display:grid}.compare-town-overview{gap:10px;display:grid}.compare-town-grid{align-items:stretch;gap:12px;padding-bottom:2px;display:grid;overflow-x:auto}.compare-town-card{background:var(--bg-card);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:8px;gap:14px;min-width:0;padding:14px;display:grid}.compare-town-photo-slot{aspect-ratio:16/9;background:linear-gradient(145deg, color-mix(in srgb, var(--brand-dark) 16%, transparent), color-mix(in srgb, var(--brand-terracotta) 10%, transparent)), linear-gradient(160deg, var(--brand-pale) 0 42%, var(--brand-sage) 42% 68%, var(--brand-cream) 68%);border:1px solid var(--line);border-radius:8px;min-height:150px;padding:12px;display:grid;position:relative;overflow:hidden}.compare-town-photo-slot.has-image{background:var(--brand-dark)}.compare-town-photo-slot:before,.compare-town-photo-slot:after{content:"";position:absolute}.compare-town-photo-slot:before{clip-path:polygon(0 60%,22% 28%,38% 50%,55% 18%,78% 46%,100% 24%,100% 100%,0 100%);background:linear-gradient(135deg,#0000 0 48%,#ffffffb3 49% 55%,#0000 56%),#7f9e86;height:58%;bottom:0;left:0;right:0}.compare-town-photo-slot:after{background:#ffffffa6;border-radius:999px;width:42px;height:42px;top:16px;right:18px}.compare-town-photo-slot.has-image:before{clip-path:none;z-index:1;background:linear-gradient(#0a120f7a,#0000 42%,#0a120fb8);height:auto;inset:0}.compare-town-photo-slot.has-image:after{display:none}.compare-town-photo-slot__image{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.compare-town-photo-credit{color:#fff;opacity:.72;white-space:nowrap;z-index:2;background:#0a120f61;border:1px solid #ffffff1f;border-radius:999px;align-items:center;max-width:calc(100% - 20px);padding:5px 6px;font-size:.58rem;font-weight:860;line-height:1;text-decoration:none;transition:background-color .14s,border-color .14s,opacity .14s;display:inline-flex;position:absolute;top:8px;right:8px;overflow:hidden}.compare-town-photo-credit:hover,.compare-town-photo-credit:focus-visible{opacity:1;background:#0a120fd1;border-color:#ffffff4d}.compare-town-photo-credit:focus-visible{outline-offset:2px;outline:2px solid #fffc}.compare-town-photo-credit__badge{letter-spacing:0;text-transform:uppercase}.compare-town-photo-credit__full{opacity:0;text-overflow:ellipsis;min-width:0;max-width:0;margin-left:0;transition:margin-left .14s,max-width .14s,opacity .14s;display:inline-block;overflow:hidden}.compare-town-photo-credit:hover .compare-town-photo-credit__full,.compare-town-photo-credit:focus-visible .compare-town-photo-credit__full{opacity:1;max-width:220px;margin-left:6px}.compare-town-card__header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.compare-town-card__actions{align-items:center;gap:6px;display:flex}.compare-town-remove{background:var(--surface-muted);border:1px solid var(--line);color:var(--muted-strong);border-radius:7px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.compare-town-card__actions .favorite-toggle{width:30px;height:30px}.compare-town-remove:hover{background:var(--brand-terracotta-soft);border-color:var(--brand-terracotta);color:var(--brand-terracotta-strong)}.compare-town-section{border-top:1px solid var(--line);padding-top:10px}.compare-key-metrics{gap:7px;display:grid}.compare-town-report-link{background:var(--forest);border:1px solid var(--forest);color:#fff;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-self:end;align-items:center;gap:7px;min-height:42px;margin-top:auto;padding:0 11px;font-size:.78rem;font-weight:880;text-decoration:none;display:grid}.compare-town-report-link:hover{background:var(--forest-strong);border-color:var(--forest-strong)}.compare-town-report-link:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);outline:none}.compare-section-heading{border-bottom:1px solid var(--line);grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;padding-bottom:12px;display:grid}
@media (max-width:980px){.compare-page-shell{--page-shell-x-padding:18px;padding:0 var(--page-shell-x-padding) 24px}.compare-page-heading{grid-template-columns:1fr}.compare-town-grid{grid-template-columns:repeat(var(--compare-count,2), minmax(250px, 1fr))}.compare-difference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.compare-town-grid{grid-auto-columns:minmax(280px,86vw);grid-auto-flow:column;grid-template-columns:none!important}.compare-town-photo-slot{width:100%;min-width:0;min-height:0;margin-inline:auto}.compare-town-card__header{grid-template-columns:minmax(0,1fr) 44px}.compare-town-remove{justify-self:end}.compare-category-panel{padding:12px}.compare-category-matrix__category-column{width:112px}.compare-category-matrix thead th:first-child,.compare-category-matrix__summary-row>th,.compare-category-matrix__subscore-row>th{min-width:112px}.compare-category-matrix[data-town-count="3"]{min-width:380px}.compare-category-matrix[data-town-count="4"]{min-width:460px}.compare-category-matrix thead th:not(:first-child),.compare-category-matrix__score,.compare-category-matrix__subscore-row td{min-width:86px}.compare-category-matrix thead th{padding:9px 7px}.compare-category-matrix__summary-row>th button{padding:8px 9px}.compare-category-matrix__score{padding:9px 6px}.compare-category-matrix__score .score-rating-value{font-size:.78rem}.compare-category-matrix__subscore-row>th{padding:8px 8px 8px 13px}.compare-category-matrix__subscore-row td{padding:8px 6px}.compare-priority-panel__top,.compare-difference-grid{grid-template-columns:1fr}.compare-difference-scores{grid-template-columns:repeat(2,minmax(0,1fr))!important}.compare-page-heading{align-items:start}.compare-heading-actions{width:100%}.compare-add-menu{position:static}.compare-add-popover{width:100%;max-width:none;left:0;right:0}.compare-key-metrics div{grid-template-columns:1fr}.compare-key-metrics dd{text-align:left;max-width:100%}}@media (max-width:480px){.compare-page-shell{--page-shell-x-padding:12px;padding:0 var(--page-shell-x-padding) 18px}.compare-category-panel{padding:10px}.compare-category-matrix[data-town-count="3"]{min-width:340px}.compare-category-matrix[data-town-count="4"]{min-width:420px}.compare-category-matrix thead th:not(:first-child),.compare-category-matrix__score,.compare-category-matrix__subscore-row td{min-width:76px}.compare-category-matrix__summary-row>th button strong{font-size:.76rem}.compare-category-matrix__summary-row>th button small{font-size:.57rem}.compare-category-matrix__score .score-rating-value{font-size:.72rem}}
.compare-carousel-controls{display:none}@media (max-width:700px){.compare-town-remove{width:44px;min-width:44px;height:44px;min-height:44px}.compare-town-grid{scroll-snap-type:x mandatory;scroll-padding-inline:0}.compare-town-card{scroll-snap-align:start;scroll-snap-stop:always}.compare-carousel-controls{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:44px minmax(0,1fr) auto 44px;align-items:center;gap:4px;padding:4px;display:grid}.compare-carousel-controls>button{background:var(--surface-muted);border:1px solid var(--line);color:var(--ink);border-radius:7px;place-items:center;width:44px;height:44px;display:grid}.compare-carousel-controls>button:disabled{opacity:.38}.compare-carousel-controls>div{justify-content:center;align-items:center;min-width:0;display:flex}.compare-carousel-controls>div button{background:0 0;border:0;place-items:center;min-width:28px;height:44px;display:grid}.compare-carousel-controls>div button:after{background:var(--line-strong);content:"";border-radius:999px;width:7px;height:7px}.compare-carousel-controls>div button.is-active:after{background:var(--forest);width:18px}}@media (max-width:480px){.compare-carousel-controls>div button{min-width:24px}}@media (hover:none){.compare-town-photo-credit{opacity:1;background:#0a120fb8}.compare-town-photo-credit__full{opacity:1;max-width:min(150px,100vw - 90px);margin-left:6px}}

