/* Stitch comparison design, implemented locally without a runtime CSS CDN. */
:root {
    --bg:#f8f9fc;
    --surface:#fff;
    --surface-alt:#f1f5f9;
    --text:#172237;
    --text-soft:#647268;
    --brand:#006b4c;
    --brand-strong:#00563e;
    --line:#dce3e4;
    --line-strong:#bbc9c5;
    --radius-sm:4px;
    --radius-md:6px;
    --radius-lg:8px;
    --shadow-soft:0 1px 3px #142b2010;
}

html {
    scroll-behavior:smooth;
    scroll-padding-top:100px;
}

body {
    font-family:Inter,'Segoe UI',sans-serif;
    font-size:14px;
    line-height:1.5;
    background:var(--bg);
    color:var(--text);
}

[hidden] {
    display:none!important;
}

button,input,select {
    font:inherit;
}

button,a,input,select,summary {
    -webkit-tap-highlight-color:transparent;
}

input,select {
    accent-color:var(--brand);
}

a {
    color:var(--brand);
}

.container {
    max-width:1400px;
    padding:0 32px;
}

.site-header {
    position:sticky;
    background:#fff;
    backdrop-filter:none;
    border-bottom:1px solid var(--line);
    box-shadow:0 1px 2px #142b2006;
}

.site-header .container {
    min-height:76px;
    gap:28px;
}

.logo {
    display:flex;
    gap:9px;
    align-items:center;
    font-size:21px;
    letter-spacing:-.7px;
    font-weight:800;
    color:var(--brand);
    white-space:nowrap;
}

.logo-mark {
    width:36px;
    height:36px;
    border-radius:3px;
    background:var(--brand);
    color:#fff;
    display:grid;
    place-items:center;
}

.logo-mark svg {
    width:25px;
    height:25px;
}

.brand-copy {
    display:grid;
    gap:1px;
}

.brand-copy small {
    font-size:9px;
    letter-spacing:1.1px;
    font-weight:500;
    color:#63796c;
}

.logo-light,.logo-dot {
    color:inherit;
    font-weight:inherit;
}

.main-nav {
    gap:22px;
    margin-left:auto;
    align-items:center;
}

.main-nav a {
    padding:26px 0 22px;
    border-radius:0;
    font-size:12px;
    color:#4c5d53;
    font-weight:600;
    border-bottom:3px solid transparent;
}

.main-nav a svg {
    display:none;
}

.main-nav a.active {
    background:none;
    color:var(--brand);
    border-color:var(--brand);
}

.main-nav a:hover {
    background:none;
    color:var(--brand);
}

.header-action {
    font-size:12px;
    white-space:nowrap;
}

.site-main {
    padding:20px 0 60px;
    min-height:calc(100vh - 220px);
}

.btn {
    border-radius:4px;
    font-size:13px;
    min-height:42px;
    box-shadow:none;
    font-weight:700;
    display:inline-flex;
    gap:8px;
    justify-content:center;
    align-items:center;
    line-height:1.3;
    text-decoration:none;
    padding:11px 16px;
    cursor:pointer;
}

.btn-primary {
    background:#ef6c0b;
    border:1px solid #ef6c0b;
    color:#fff;
}

.btn-primary:hover {
    background:#d75b00;
    border-color:#d75b00;
    color:#fff;
    transform:none;
}

.btn-secondary {
    background:#fff;
    border:1px solid var(--line-strong);
    color:var(--brand);
}

.btn-secondary:hover {
    background:#edf6f1;
    transform:none;
}

.btn-sm {
    min-height:36px;
    font-size:12px;
    padding:8px 12px;
}

svg.icon {
    width:20px;
    height:20px;
    flex-shrink:0;
    vertical-align:middle;
}

.comparison-search {
    display:grid;
    grid-template-columns:1.1fr 1.35fr .85fr 1fr auto;
    gap:8px;
    padding:7px;
    background:#edf4f0;
    border:1px solid var(--line-strong);
    border-radius:5px;
    margin-bottom:0;
}

.search-segment {
    display:flex;
    gap:10px;
    align-items:center;
    background:#fff;
    padding:9px 12px;
    border:1px solid #c3cec8;
    border-radius:2px;
    min-width:0;
}

.search-segment>svg {
    color:#688074;
    flex-shrink:0;
}

.search-segment>div {
    min-width:0;
    flex:1;
}

.search-segment label {
    display:block;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.45px;
    color:#6d7b72;
    margin-bottom:2px;
}

.search-segment input,.search-segment select {
    width:100%;
    min-width:0;
    font-size:12px;
    font-weight:600;
    color:var(--text);
    border:0;
    border-radius:0;
    background:#fff;
    padding:0;
    min-height:22px;
}

.search-segment:focus-within {
    outline:2px solid #00845e;
    outline-offset:1px;
}

.search-segment input:focus,.search-segment select:focus {
    outline:none;
    box-shadow:none;
}

.comparison-search>.btn {
    padding:10px 18px;
    font-size:12px;
}

.comparison-heading {
    padding:22px 0 20px;
    border-bottom:1px solid var(--line);
    margin-bottom:24px;
}

.breadcrumbs {
    display:flex;
    gap:10px;
    color:#708076;
    font-size:10px;
    margin-bottom:10px;
}

.breadcrumbs a {
    color:#708076;
}

.comparison-heading h1 {
    font-size:20px;
    letter-spacing:-.5px;
    line-height:1.3;
    margin:0 0 5px;
}

.comparison-heading>p {
    font-size:12px;
    color:#708076;
}

.comparison-workspace {
    display:grid;
    grid-template-columns:265px minmax(0,1fr);
    gap:24px;
    align-items:start;
}

.comparison-sidebar {
    border:1px solid var(--line-strong);
    border-radius:4px;
    background:#fff;
    padding:18px;
    box-shadow:var(--shadow-soft);
}

.sidebar-title {
    display:flex;
    align-items:center;
    gap:10px;
    list-style:none;
    cursor:pointer;
    padding-bottom:17px;
    font-weight:750;
    font-size:15px;
}

.sidebar-title::-webkit-details-marker {
    display:none;
}

.sidebar-title>svg {
    color:var(--brand);
    background:#edf2ff;
    padding:5px;
    box-sizing:content-box;
}

.sidebar-title small {
    display:block;
    color:#718077;
    font-size:11px;
    font-weight:400;
    margin-top:2px;
}

.filter-chevron {
    margin-left:auto;
}

.comparison-sidebar .choice-fieldset {
    border:0;
    border-top:1px solid var(--line);
    padding:16px 0;
    margin:0;
    min-width:0;
}

.comparison-sidebar legend,.search-step-title {
    font-size:12px;
    font-weight:700;
    float:left;
    width:100%;
    padding:0;
    margin:0 0 10px;
    display:block;
}

.comparison-sidebar legend+* {
    clear:both;
}

.comparison-sidebar .waste-type-btn {
    display:flex;
    gap:8px;
    align-items:center;
    padding:8px 7px;
    margin:2px 0;
    border:1px solid transparent;
    border-radius:3px;
    background:#fff;
    min-height:34px;
    font-size:12px;
    font-weight:400;
    box-shadow:none;
    width:100%;
}

.comparison-sidebar .waste-type-btn:hover {
    background:#f4f7f5;
}

.comparison-sidebar .waste-type-btn.selected {
    background:#edf2ff;
    border-color:#bdd0c6;
    color:var(--text);
    font-weight:600;
}

.waste-type-btn input {
    width:15px;
    height:15px;
    flex-shrink:0;
}

.comparison-sidebar .form-hint {
    font-size:10px;
    color:#728075;
    line-height:1.5;
}

.comparison-sidebar .form-group {
    margin-bottom:13px;
}

.comparison-sidebar .form-label {
    font-size:11px;
}

.comparison-sidebar .volume-options {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:5px;
    clear:both;
}

.comparison-sidebar .volume-btn {
    display:flex;
    position:relative;
    min-width:0;
    min-height:38px;
    padding:8px 3px;
    align-items:center;
    justify-content:center;
    border:1px solid var(--line-strong);
    border-radius:3px;
    background:#fff;
    box-shadow:none;
}

.comparison-sidebar .volume-btn strong {
    font-size:11px;
}

.comparison-sidebar .volume-btn.selected {
    border-color:var(--brand);
    background:#d3f5e5;
    color:var(--brand);
}

.comparison-sidebar .volume-btn .choice-radio {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    opacity:0;
    cursor:pointer;
}

.comparison-sidebar .volume-btn:focus-within {
    outline:2px solid var(--brand);
    outline-offset:2px;
}

.comparison-sidebar .choice-intro {
    display:none;
}

.comparison-sidebar .volume-explanation {
    margin:9px 0 14px;
}

.form-input,.form-select {
    border:1px solid var(--line-strong);
    border-radius:4px;
    min-height:38px;
    background:#fff;
    font-size:13px;
    box-shadow:none;
}

.form-input:focus,.form-select:focus {
    border-color:var(--brand);
    box-shadow:0 0 0 3px #007a4e12;
}

.comparison-sidebar .form-input,.comparison-sidebar .form-select {
    font-size:12px;
    padding:8px;
    min-height:36px;
}

.more-waste summary,.search-conditions summary,.volume-helper summary {
    color:var(--brand);
    font-size:11px;
    font-weight:600;
    cursor:pointer;
    padding:8px 0;
}

.comparison-sidebar .search-grid {
    display:block;
}

.comparison-sidebar .volume-helper {
    padding:0;
    background:none;
    border:0;
    border-top:1px solid var(--line);
    border-radius:0;
    margin-top:12px;
}

.comparison-sidebar .volume-helper-inputs {
    grid-template-columns:1fr;
    gap:6px;
}

.comparison-sidebar .search-conditions {
    border:0;
    border-top:1px solid var(--line);
    padding:5px 0 0;
    margin:0;
}

.filter-reset {
    font-size:11px;
    display:block;
    padding:12px 0 6px;
    text-align:center;
}

.sidebar-trust {
    background:#edf2ff;
    padding:12px;
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--brand);
    font-size:11px;
    margin-top:12px;
}

.comparison-content {
    min-width:0;
}

.comparison-welcome {
    display:grid;
    grid-template-columns:1.1fr 1fr;
    min-height:340px;
    background:#fff;
    border:1px solid var(--line-strong);
    border-radius:5px;
    overflow:hidden;
    margin-bottom:24px;
}

.welcome-copy {
    padding:36px 28px;
    align-self:center;
}

.eyebrow,.section-eyebrow {
    font-size:9px;
    letter-spacing:1.1px;
    font-weight:700;
    color:var(--brand);
}

.welcome-copy h2 {
    font-size:32px;
    line-height:1.2;
    letter-spacing:-1.1px;
    margin:14px 0;
}

.welcome-copy>p {
    font-size:13px;
    line-height:1.8;
    color:#6d7b72;
    margin-bottom:22px;
}

.comparison-welcome>img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:45% center;
}

.welcome-checks {
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    font-size:10px;
    color:#597466;
    margin-top:22px;
}

.welcome-checks svg {
    width:14px;
    height:14px;
}

.comparison-guide {
    background:#fff;
    border:1px solid var(--line-strong);
    border-radius:4px;
    margin-top:24px;
    padding:22px;
}

.guide-heading {
    display:flex;
    gap:12px;
    align-items:center;
    border-bottom:1px solid var(--line);
    padding-bottom:16px;
    margin-bottom:18px;
}

.guide-heading>svg {
    color:var(--brand);
    width:24px;
    height:24px;
}

.guide-heading h2 {
    font-size:16px;
    margin:0;
    letter-spacing:-.3px;
}

.guide-heading p {
    font-size:11px;
    color:#728075;
    margin-top:3px;
}

.guide-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.guide-grid article {
    background:#f5f7fc;
    border:1px solid #e1e6ef;
    padding:15px;
}

.guide-grid article>span {
    font-size:10px;
    font-weight:800;
    color:var(--brand);
}

.guide-grid h3 {
    font-size:12px;
    margin:8px 0;
    line-height:1.4;
}

.guide-grid p {
    font-size:11px;
    line-height:1.8;
    color:#66746d;
}

.guide-bottom {
    display:flex;
    align-items:center;
    gap:7px;
    border-top:1px solid var(--line);
    margin-top:18px;
    padding-top:14px;
    font-size:10px;
    color:#718077;
}

.guide-bottom a {
    margin-left:auto;
    font-weight:600;
    display:flex;
    align-items:center;
    gap:5px;
}

.guide-bottom svg {
    width:16px;
    height:16px;
}

.card {
    border:1px solid var(--line);
    border-radius:5px;
    box-shadow:var(--shadow-soft);
    background:#fff;
}

.live-search-panel {
    margin:0 0 18px;
    padding:16px;
}

.live-search-head {
    font-size:13px;
}

.live-status-text {
    font-size:12px;
}

.live-progress-bar {
    height:4px;
    background:#e4ede8;
}

.live-progress-fill {
    background:var(--brand);
}

.results-toolbar {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    padding:0;
    margin-bottom:14px;
}

.results-count {
    font-size:16px;
}

.card-meta {
    font-size:10px;
}

.inline-favorite-form {
    display:flex;
    gap:6px;
    align-items:center;
}

.inline-favorite-form .form-input {
    width:145px;
    font-size:11px;
    min-height:34px;
}

.inline-favorite-form .btn {
    font-size:10px;
    min-height:34px;
}

.offer-filters {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    border:1px solid var(--line);
    border-radius:4px;
    background:#fff;
    padding:12px;
    margin-bottom:10px;
}

.offer-filters legend {
    font-size:11px;
    font-weight:600;
    padding:0 5px;
}

.offer-filters label {
    flex:1;
    min-width:115px;
    display:grid;
    gap:4px;
    font-size:10px;
    color:#65796d;
}

.offer-filters .form-select,.offer-filters .form-input {
    font-size:11px;
    min-height:32px;
    padding:6px;
    max-width:100%;
}

.offer-filters .offer-complete-filter {
    display:flex;
    align-items:center;
    min-width:210px;
    font-size:11px;
}

.offer-controls {
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    margin:14px 0;
}

.view-toggle {
    display:flex;
    gap:2px;
    background:#fff;
    border:1px solid var(--line-strong);
    padding:3px;
    border-radius:3px;
}

.view-toggle button {
    min-height:32px;
    border:0;
    background:#fff;
    padding:5px 10px;
    cursor:pointer;
    color:#607366;
    font-size:11px;
}

.view-toggle button[aria-pressed=true] {
    background:#edf2ff;
    color:var(--brand);
    font-weight:700;
}

.offer-sort {
    display:flex;
    align-items:center;
    gap:8px;
    font-size:11px;
}

.offer-sort select {
    font-size:11px;
    min-height:34px;
    border:1px solid var(--line-strong);
    border-radius:3px;
    padding:5px;
}

.offers-summary {
    font-size:11px;
    color:#5e7365;
    margin:8px 0;
}

.results-disclaimer {
    font-size:10px;
    color:#76847a;
    line-height:1.6;
    margin-bottom:18px;
}

.offer-results[data-view=list] .results-scroll {
    overflow:visible;
    border:0;
    background:none;
    box-shadow:none;
}

.offer-results[data-view=list] .results-table {
    display:block;
    border:0;
    background:none;
    min-width:0;
}

.offer-results[data-view=list] thead {
    position:absolute;
    width:1px;
    height:1px;
    clip-path:inset(50%);
    overflow:hidden;
}

.offer-results[data-view=list] tbody {
    display:flex;
    flex-direction:column;
    gap:16px;
}

.offer-results[data-view=list] tr {
    display:grid;
    position:relative;
    grid-template-columns:1fr 1.05fr .9fr;
    grid-template-areas:'provider terms price' 'details details action';
    align-items:start;
    gap:12px 20px;
    border:1px solid var(--line-strong);
    background:#fff;
    border-radius:4px;
    padding:24px 20px 18px;
    box-shadow:var(--shadow-soft);
}

.offer-results[data-view=list] tr.offer-complete {
    border-color:#359373;
}

.offer-results[data-view=list] td {
    display:block;
    border:0;
    padding:0;
    min-width:0;
    font-size:12px;
    background:none;
}

.offer-results[data-view=list] td::before {
    display:none;
}

.offer-results[data-view=list] td:nth-child(1) {
    grid-area:provider;
    align-self:center;
    font-size:15px;
}

.offer-results[data-view=list] td:nth-child(2) {
    grid-area:price;
    text-align:right;
    border-left:1px solid var(--line);
    padding-left:16px;
}

.offer-results[data-view=list] td:nth-child(2)>strong {
    font-size:31px;
    letter-spacing:-1.2px;
    line-height:1.4;
    white-space:nowrap;
}

.offer-results[data-view=list] td:nth-child(3) {
    grid-area:terms;
    line-height:1.9;
}

.offer-results[data-view=list] td:nth-child(4) {
    grid-area:details;
    border-top:1px solid #eef1ef;
    padding-top:9px;
}

.offer-results[data-view=list] td:nth-child(5) {
    grid-area:action;
    align-self:start;
    text-align:right;
}

.offer-results[data-view=list] td:nth-child(5) .btn {
    width:100%;
    background:#ef6c0b;
    border-color:#ef6c0b;
    color:#fff;
    min-height:40px;
}

.offer-results[data-view=list] tr:has(td[colspan]) {
    display:block;
    padding:30px;
    text-align:center;
}

.offer-results[data-view=list] tr td[colspan] {
    font-size:13px;
}

.badge {
    border-radius:3px;
    white-space:normal;
    font-size:9px;
    padding:4px 6px;
    line-height:1.5;
}

.badge-top {
    background:var(--brand);
    color:#fff;
    font-size:9px;
    margin-top:9px;
    max-width:210px;
    display:inline-block;
}

.badge-complete {
    background:#e5f5ec;
    color:#087047;
}

.badge-incomplete {
    background:#fff3df;
    color:#8d5a14;
}

.offer-details {
    font-size:11px;
    margin-top:5px;
}

.offer-details summary {
    color:var(--brand);
    font-weight:600;
    cursor:pointer;
}

.offer-details[open] {
    padding-bottom:8px;
}

.offer-costs {
    max-width:420px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:4px 16px;
    margin:12px 0;
    font-size:11px;
}

.offer-issues {
    padding-left:16px;
    font-size:11px;
    color:#966116;
    margin:10px 0;
}

.offer-terms-title {
    font-weight:700;
    color:var(--brand);
    font-size:14px;
}

.results-table {
    font-size:12px;
    width:100%;
    border-collapse:collapse;
}

.results-table th {
    font-size:10px;
    background:#f1f5f7;
}

.results-table td,.results-table th {
    padding:14px;
    text-align:left;
    border-bottom:1px solid var(--line);
}

.results-scroll {
    overflow:auto;
    border:1px solid var(--line);
    border-radius:4px;
}

.offer-results[data-view=table] .results-table {
    min-width:760px;
}

.price-history-panel {
    padding:16px;
    margin-top:20px;
}

.price-history-panel h2 {
    font-size:14px;
}

.price-history-panel .form-hint {
    font-size:11px;
}

.search-empty-state {
    padding:44px 24px;
    border:1px solid var(--line-strong);
    border-radius:4px;
    background:#fff;
    margin:0;
}

.search-empty-state h3 {
    font-size:19px;
}

.search-empty-state p {
    font-size:13px;
    margin:12px 0 20px;
}

.subpage-heading {
    margin-bottom:26px;
}

.subpage-heading h1 {
    font-size:28px;
    letter-spacing:-.7px;
}

.provider-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.provider-card {
    padding:22px;
    border:1px solid var(--line-strong);
    border-radius:5px;
    background:#fff;
    display:flex;
    flex-direction:column;
    box-shadow:var(--shadow-soft);
}

.provider-card h2 {
    font-size:18px;
    margin:0 0 8px;
}

.provider-initial {
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    background:#edf5f1;
    border:1px solid #d5e6dc;
    border-radius:4px;
    font-size:16px;
    font-weight:800;
    color:var(--brand);
    margin-bottom:15px;
}

.provider-desc {
    font-size:12px;
    color:#68786e;
    margin-bottom:12px;
}

.provider-card .provider-waste-types {
    font-size:12px;
    margin-top:auto;
    margin-bottom:18px;
}

.provider-card .provider-waste-types ul {
    padding-left:20px;
    line-height:1.8;
    margin-top:10px;
}

.provider-card .btn {
    align-self:start;
}

.trust-strip {
    background:#edf2fb;
    border-block:1px solid #dce4f0;
}

.trust-strip .container {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    padding-top:22px;
    padding-bottom:22px;
}

.trust-strip .container>div {
    display:flex;
    gap:12px;
    align-items:center;
}

.trust-strip svg {
    color:var(--brand);
    width:24px;
    height:24px;
}

.trust-strip strong {
    display:block;
    font-size:12px;
}

.trust-strip small {
    font-size:10px;
    color:#748077;
}

.site-footer {
    background:#f0f3fa;
    border:0;
    text-align:left;
    padding:28px 0;
}

.site-footer .container {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    flex-wrap:wrap;
}

.footer-brand {
    color:var(--text);
    font-size:16px;
    font-weight:750;
}

.site-footer p,.site-footer span {
    font-size:10px;
    color:#768177;
}

.error-summary {
    margin-top:16px;
}

.btn:focus-visible,a:focus-visible,summary:focus-visible {
    outline:3px solid #00996a;
    outline-offset:4px;
}

.btn:disabled {
    opacity:.65;
    cursor:wait;
}

@media(min-width:1500px) {
    .comparison-workspace {
        grid-template-columns:285px minmax(0,1fr);
    }
}

@media(max-width:1150px) {
    .container {
        padding-inline:22px;
    }
    .main-nav {
        gap:14px;
    }
    .header-action {
        display:none;
    }
    .comparison-search {
        grid-template-columns:1fr 1.3fr .8fr 1fr;
    }
    .comparison-search>.btn {
        grid-column:1/-1;
        min-height:38px;
    }
    .comparison-workspace {
        grid-template-columns:240px minmax(0,1fr);
        gap:18px;
    }
    .welcome-copy {
        padding:24px;
    }
    .welcome-copy h2 {
        font-size:26px;
    }
    .offer-results[data-view=list] tr {
        gap:12px;
        padding:20px 16px;
        grid-template-columns:1fr 1fr;
        grid-template-areas:'provider price' 'terms action' 'details details';
    }
    .guide-grid {
        grid-template-columns:1fr;
    }
    .guide-grid article {
        padding:14px;
    }
    .guide-grid h3 {
        display:inline;
        margin-left:8px;
    }
    .guide-grid p {
        margin-top:6px;
    }
}

@media(max-width:900px) {
    .comparison-workspace {
        grid-template-columns:1fr;
    }
    .comparison-sidebar {
        padding:14px 18px;
    }
    .sidebar-title {
        padding-bottom:0;
    }
    #search-filters[open] .sidebar-title {
        padding-bottom:14px;
    }
    .sidebar-content {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:25px;
    }
    .comparison-welcome {
        min-height:310px;
    }
    .comparison-heading {
        padding:18px 0;
    }
    .site-header .container {
        gap:15px;
    }
    .logo {
        font-size:18px;
    }
    .brand-copy small {
        font-size:8px;
    }
    .main-nav a {
        font-size:11px;
        padding-block:22px 18px;
    }
    .main-nav {
        gap:12px;
    }
    .filter-reset {
        display:inline-block;
    }
    .sidebar-trust {
        max-width:280px;
    }
    .provider-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .guide-grid {
        grid-template-columns:repeat(3,1fr);
    }
    .guide-grid h3 {
        display:block;
        margin-left:0;
    }
}

@media(max-width:600px) {
    html {
        scroll-padding-top:130px;
    }
    .container {
        padding-inline:16px;
    }
    .site-header .container {
        min-height:0;
        flex-wrap:wrap;
        padding-top:12px;
        gap:4px;
    }
    .logo {
        font-size:19px;
    }
    .logo-mark {
        width:32px;
        height:32px;
    }
    .brand-copy small {
        font-size:8px;
    }
    .main-nav {
        margin-left:0;
        width:100%;
        gap:0;
        justify-content:space-between;
    }
    .main-nav a {
        padding:11px 0 9px;
        font-size:11px;
    }
    .site-main {
        padding-top:14px;
    }
    .comparison-search {
        grid-template-columns:1fr 1fr;
        gap:6px;
        padding:6px;
    }
    .search-segment {
        padding:8px;
        gap:5px;
    }
    .search-segment input,.search-segment select {
        font-size:11px;
    }
    .search-segment label {
        font-size:8px;
    }
    .search-segment>svg {
        width:15px;
        height:15px;
    }
    .comparison-heading h1 {
        font-size:18px;
        line-height:1.4;
    }
    .comparison-heading>p {
        font-size:11px;
    }
    .sidebar-content {
        display:block;
    }
    .comparison-sidebar .volume-options {
        grid-template-columns:repeat(5,1fr);
    }
    .comparison-welcome {
        grid-template-columns:1fr;
        position:relative;
    }
    .welcome-copy {
        padding:27px 22px;
    }
    .welcome-copy h2 {
        font-size:29px;
    }
    .comparison-welcome>img {
        max-height:170px;
        object-position:center 62%;
    }
    .welcome-checks {
        margin-top:18px;
    }
    .comparison-guide {
        padding:17px;
    }
    .guide-grid {
        grid-template-columns:1fr;
        gap:10px;
    }
    .guide-grid h3 {
        display:inline;
        margin-left:8px;
    }
    .guide-bottom {
        flex-wrap:wrap;
    }
    .guide-bottom a {
        margin:6px 0 0;
    }
    .guide-heading {
        align-items:start;
    }
    .guide-heading h2 {
        font-size:14px;
    }
    .offer-results[data-view=list] tr {
        grid-template-columns:1fr;
        grid-template-areas:'provider' 'terms' 'price' 'action' 'details';
        padding:18px;
        gap:13px;
    }
    .offer-results[data-view=list] td:nth-child(2) {
        border-left:0;
        border-top:1px solid var(--line);
        padding:12px 0 0;
        text-align:left;
    }
    .offer-results[data-view=list] td:nth-child(3) {
        background:#f4f7fa;
        padding:10px 12px;
        font-size:12px;
    }
    .offer-results[data-view=list] td:nth-child(2)>strong {
        font-size:32px;
    }
    .offer-results[data-view=list] td:nth-child(4) {
        padding-top:12px;
    }
    .offer-controls {
        align-items:stretch;
        flex-wrap:wrap;
    }
    .offer-sort {
        margin-left:auto;
        flex:1;
        justify-content:flex-end;
    }
    .offer-sort>span {
        display:none;
    }
    .offer-sort select {
        max-width:100%;
        width:100%;
    }
    .view-toggle {
        flex:1;
        white-space:nowrap;
    }
    .offer-filters {
        gap:10px;
    }
    .offer-filters label {
        min-width:calc(50% - 10px);
    }
    .offer-filters .offer-complete-filter {
        min-width:100%;
    }
    .offer-results[data-view=table] .results-table {
        display:table;
    }
    .offer-results[data-view=table] .results-table thead {
        display:table-header-group;
    }
    .offer-results[data-view=table] .results-table tbody {
        display:table-row-group;
    }
    .offer-results[data-view=table] .results-table tr {
        display:table-row;
    }
    .offer-results[data-view=table] .results-table td,.offer-results[data-view=table] .results-table th {
        display:table-cell;
        min-width:140px;
    }
    .offer-results[data-view=table] td:before {
        display:none;
    }
    .inline-favorite-form {
        width:100%;
        flex-wrap:wrap;
    }
    .inline-favorite-form .form-input {
        flex:1;
    }
    .provider-grid {
        grid-template-columns:1fr;
    }
    .trust-strip .container {
        grid-template-columns:1fr;
        gap:18px;
    }
    .site-footer .container {
        display:block;
    }
    .site-footer p {
        margin:8px 0;
    }
    .price-history-head {
        display:block;
    }
    .price-history-head button {
        margin-top:12px;
    }
    .subpage-heading h1 {
        font-size:24px;
    }
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto;
    }
    *,*:before,*:after {
        animation:none!important;
        transition:none!important;
    }
}

@font-face {
    font-family:Inter;
    src:url('fonts/inter-variable.ttf') format('truetype');
    font-weight:100 900;
    font-display:swap;
}

.ui-icon {
    flex-shrink:0;
}

.comparison-search .ui-icon {
    width:19px;
    height:19px;
}

.comparison-sidebar .search-step-title {
    color:var(--text);
}

/* Neutralize the previous landing page's two-column form spacing. */
.comparison-sidebar .size-step {
    padding:0;
    border:0;
    min-width:0;
}

.comparison-sidebar .volume-helper {
    margin-bottom:0;
}

.site-header .container {
    padding-block:0;
    flex-direction:row;
}

.site-footer {
    margin-top:0;
}

.offer-results .offer-filters {
    margin-top:0;
}

@media(max-width:600px) {
    .site-header .container {
        padding-top:12px;
    }
    .site-footer .container {
        display:block;
    }
    .comparison-sidebar .size-step {
        padding-top:0;
    }
}

@media(min-width:901px) {
    .comparison-sidebar {
        position:sticky;
        top:94px;
        max-height:calc(100vh - 116px);
        overflow-y:auto;
        scrollbar-width:thin;
    }
}
