
/* ==========================================================
   GUIDE ABOUT HUB
   ========================================================== */

.ah-wrap {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ah-kicker {
    display: block;
    margin-bottom: 7px;
    color: #a9791e;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}


/* ==========================================================
   SHARED SOURCE CITATION
   Small, horizontal source tags -- the standard way every
   About Hub data section cites its sources, site-wide. Sits
   at the end of the data posting it belongs to.
   ========================================================== */

.ah-source-tag-row {
    margin: 10px 0;
    padding: 8px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 16px;
    border-top: 1px solid #ede9df;
    border-bottom: 1px solid #ede9df;
}

.ah-source-tag {
    color: #8a9195;
    font-size: 7.5px;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
    white-space: nowrap;
}

.ah-source-tag a {
    display: inline;
    color: #174d87;
    font-size: 7.5px;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
    text-decoration: none;
}

.ah-source-tag a:hover {
    text-decoration: underline;
}

.ah-source-checked-line {
    margin: 0;
    color: #9aa0a5;
    font-size: 8.5px;
}

@media (max-width: 760px) {

    .ah-source-tag-row {
        gap: 5px 10px;
    }

}


/* HERO */

.ah-hero {
    padding: 58px 0 44px;
    background:
        linear-gradient(
            135deg,
            #f4efe5,
            #fbfaf7
        );
    border-bottom: 1px solid #e4ded4;
}

.ah-hero h1 {
    max-width: 800px;
    margin: 0;
    color: #102d49;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 46px;
    line-height: 1.04;
}

.ah-hero p {
    max-width: 760px;
    margin: 14px 0 0;
    color: #5e6871;
    font-size: 14px;
    line-height: 1.6;
}


/* PRIMARY PILLS */

.ah-pill-band {
    position: sticky;
    top: 0;
    z-index: 20;
    border-bottom: 1px solid #e3e3e0;
    background: rgba(255,255,255,.97);
    backdrop-filter: blur(8px);
}

.ah-pills {
    padding: 10px 0;
    display: flex;
    gap: 6px;
    overflow-x: auto;
}

.ah-pill {
    min-height: 34px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    border: 1px solid transparent;
    border-radius: 999px;
    color: #173c68;
    font-size: 9px;
    font-weight: 800;
    white-space: nowrap;
    text-decoration: none;
}

.ah-pill:hover {
    background: #f5f1e9;
}

.ah-pill.is-active {
    border-color: #153e71;
    background: #153e71;
    color: white;
}


/* PARTNERS */

.ah-partners {
    padding: 20px 0;
    background: #fff;
}

/* .ah-wrap's own 20px side gutter is meant for a section with no
   padding of its own -- but .ah-partners always sits directly
   inside <main>, which already insets 22px, so the two stack into
   a double gutter and the strip renders narrower than the category
   bar right above it (which only gets <main>'s padding). Widen
   just this one .ah-wrap to fill .ah-partners exactly. */
.ah-partners .ah-wrap {
    width: 100%;
    margin: 0;
}

.ah-partner-heading {
    margin-bottom: 8px;
    color: #907442;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .13em;
}

.ah-partner-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 9px;
}

.ah-partner {
    min-height: 88px;
    padding: 14px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border: 1px solid #e5ded2;
    border-radius: 10px;
    background: #faf9f6;
}

.ah-partner.premier {
    background:
        linear-gradient(
            135deg,
            #fffaf0,
            #faf6ec
        );
    border-color: #ddc38e;
}

.ah-partner small,
.ah-mid-partner small {
    margin-bottom: 5px;
    color: #a67616;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .12em;
}

.ah-partner strong {
    color: #173451;
    font-family: Georgia, serif;
    font-size: 14px;
}

.ah-partner span {
    margin-top: 4px;
    color: #747a7e;
    font-size: 9px;
}


/* SUBNAV */

.ah-subnav {
    border-top: 1px solid #ece8e2;
    border-bottom: 1px solid #e7e2dc;
    background: #fbfaf8;
}

.ah-subnav .ah-wrap {
    padding: 9px 0;
    display: flex;
    gap: 6px;
    overflow-x: auto;
}

.ah-subtab {
    padding: 7px 10px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #63707e;
    font-size: 9px;
    font-weight: 700;
}

.ah-subtab.is-active {
    background: #eee8dc;
    color: #153d6b;
}


/* EDITORIAL */

.ah-editorial {
    padding: 34px 0 44px;
}

.ah-editorial-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 34px;
    align-items: start;
}

.ah-chapter {
    display: block;
    margin-bottom: 8px;
    color: #9a792e;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .12em;
}

.ah-editorial h2,
.ah-data-page h2,
.ah-data-page h1 {
    margin: 0 0 16px;
    color: #102d49;
    font-family: Georgia, serif;
    font-size: 32px;
}

.ah-editorial h3 {
    margin: 26px 0 8px;
    color: #183a5a;
    font-family: Georgia, serif;
    font-size: 20px;
}

.ah-editorial article > p {
    max-width: 760px;
    color: #4d565e;
    font-family: Georgia, serif;
    font-size: 15px;
    line-height: 1.75;
}

.ah-editorial .ah-lead {
    font-size: 17px;
    line-height: 1.72;
}


/* IMAGE PLACEHOLDERS */

.ah-photo {
    margin: 24px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 12px;
    background:
        linear-gradient(
            135deg,
            #cfc8bb,
            #e9e4db
        );
    color: #756e63;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.hero-photo {
    height: 360px;
}

.split-photo {
    height: 300px;
}

.wide-photo {
    height: 330px;
}

.sports-photo {
    height: 260px;
    margin: 0;
}


/* MID PARTNER */

.ah-mid-partner {
    margin: 30px 0;
    padding: 15px;
    display: flex;
    gap: 18px;
    align-items: center;
    border-top: 1px solid #dfca9a;
    border-bottom: 1px solid #dfca9a;
    background: #fffaf1;
}

.ah-mid-partner small {
    flex: 0 0 auto;
}

.ah-mid-partner strong {
    display: block;
    color: #173451;
    font-family: Georgia, serif;
    font-size: 14px;
}

.ah-mid-partner span {
    display: block;
    margin-top: 3px;
    color: #77736b;
    font-size: 9px;
}


/* PAGE NAV */

.ah-page-nav {
    margin-top: 34px;
    padding-top: 16px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    border-top: 1px solid #e7e2da;
}

.ah-page-nav div {
    color: #7a8085;
    font-size: 9px;
}

.ah-page-nav a {
    justify-self: end;
    padding: 9px 13px;
    border-radius: 7px;
    background: #153d71;
    color: white;
    font-size: 9px;
    font-weight: 800;
    text-decoration: none;
}

.ah-page-nav a.secondary {
    justify-self: start;
    border: 1px solid #d7dce2;
    background: white;
    color: #153d71;
}


/* RAIL */

.ah-rail {
    position: sticky;
    top: 72px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ah-rail-card {
    padding: 17px;
    border: 1px solid #e4dfd7;
    border-radius: 11px;
    background: #fff;
}

.ah-rail-card h3 {
    margin: 0 0 8px;
    color: #153451;
    font-family: Georgia, serif;
    font-size: 17px;
}

.ah-rail-card p {
    margin: 0;
    color: #6d7379;
    font-size: 10px;
    line-height: 1.5;
}

.ah-rail-card a {
    display: block;
    padding: 8px 0;
    border-top: 1px solid #eee9e2;
    color: #164b8b;
    font-size: 10px;
    font-weight: 700;
    text-decoration: none;
}


/* MOVING TOPIC SEARCH RAIL */

.ah-moving-topic-rail {
    margin-bottom: 4px;
}

.ah-topic-search {
    margin: 4px 0 2px;
}

.ah-topic-search input {
    box-sizing: border-box;
    width: 100%;
    padding: 9px 11px;
    border: 1px solid #d7dce2;
    border-radius: 7px;
    background: #fbfaf8;
    color: #173451;
    font-family: inherit;
    font-size: 11px;
}

.ah-topic-search input:focus {
    border-color: #153d70;
    background: #fff;
    outline: none;
}

.ah-topic-search input::placeholder {
    color: #9aa3ab;
}

.ah-topic-search-empty {
    display: none;
    margin-top: 10px !important;
}


/* HISTORY */

.ah-timeline {
    margin: 26px 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.ah-timeline div {
    min-height: 92px;
    padding: 15px;
    border-left: 3px solid #c99739;
    background: #f8f6f1;
}

.ah-timeline small {
    display: block;
    margin-bottom: 7px;
    color: #9b742a;
    font-size: 8px;
}

.ah-timeline strong {
    color: #173651;
    font-family: Georgia, serif;
}


/* DATA PAGES */

.ah-data-page {
    padding: 32px 0 46px;
    background: #fafafa;
}

.ah-data-intro,
.ah-news-tools {
    margin-bottom: 18px;
    display: flex;
    justify-content: space-between;
    gap: 30px;
    align-items: flex-end;
}

.ah-source-note {
    max-width: 400px;
    color: #70777e;
    font-size: 9px;
    line-height: 1.5;
}

.ah-stat-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.ah-stat-card,
.ah-chart,
.ah-table-card,
.ah-module-card,
.ah-release {
    border: 1px solid #e2e3e4;
    border-radius: 11px;
    background: white;
}

.ah-stat-card {
    min-height: 115px;
    padding: 14px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.ah-stat-card small {
    color: #60748d;
    font-size: 8px;
    font-weight: 800;
}

.ah-stat-card strong {
    color: #12325a;
    font-family: Georgia, serif;
    font-size: 28px;
}

.ah-stat-card span {
    color: #969b9f;
    font-size: 8px;
}

.ah-chart-grid {
    margin-top: 11px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.ah-chart {
    min-height: 280px;
    padding: 15px;
}

.ah-chart h3,
.ah-table-card h3,
.ah-module-card h3,
.ah-release h3,
.ah-sports-intro h3 {
    margin: 0 0 10px;
    color: #163855;
    font-family: Georgia, serif;
    font-size: 17px;
}

.ah-chart-placeholder {
    height: 210px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    background:
        repeating-linear-gradient(
            to top,
            #fff,
            #fff 41px,
            #edf0f2 42px
        );
    color: #9aa0a5;
    font-size: 9px;
}

.ah-donut-placeholder {
    width: 185px;
    height: 185px;
    margin: 16px auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 34px solid #d8dfe5;
    border-top-color: #c29540;
    border-right-color: #6687a8;
    border-radius: 50%;
    color: #777f86;
    font-size: 9px;
}

.ah-source-box {
    margin-top: 11px;
    padding: 12px 15px;
    display: flex;
    gap: 14px;
    border-left: 3px solid #b8862f;
    background: #f4f1ea;
    color: #666e74;
    font-size: 9px;
}

.ah-source-box strong {
    flex: 0 0 auto;
    color: #324b64;
}


/* BUSINESS */

.ah-business-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(260px, .7fr);
    gap: 10px;
}

.ah-table-card {
    padding: 15px;
}

.ah-table-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.ah-table-heading span {
    color: #8a9095;
    font-size: 8px;
}

.ah-table-head {
    margin-top: 12px;
    padding: 8px 6px;
    display: grid;
    grid-template-columns: 1.5fr 1fr .8fr .8fr .6fr;
    gap: 6px;
    border-top: 1px solid #e7e9eb;
    border-bottom: 1px solid #e7e9eb;
    color: #455e77;
    font-size: 8px;
    font-weight: 800;
}

.ah-empty-data {
    padding: 38px 10px;
    color: #91979c;
    font-size: 9px;
    text-align: center;
}


/* MODULE CARDS */

.ah-education-grid,
.ah-travel-grid,
.ah-sports-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.ah-module-card {
    min-height: 160px;
    padding: 18px;
}

.ah-module-card.featured {
    background: #fffaf0;
    border-color: #e0c895;
}

.ah-module-card small {
    display: block;
    margin-bottom: 8px;
    color: #a07320;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .09em;
}

.ah-module-card p {
    color: #697178;
    font-size: 10px;
    line-height: 1.55;
}


/* NEWS */

.ah-news-search {
    display: flex;
}

.ah-news-search input {
    min-width: 260px;
    padding: 9px 11px;
    border: 1px solid #d9dde1;
    border-radius: 7px 0 0 7px;
}

.ah-news-search button {
    padding: 0 15px;
    border: 0;
    border-radius: 0 7px 7px 0;
    background: #153d71;
    color: white;
    font-size: 9px;
    font-weight: 800;
}

.ah-news-preview {
    margin-top: 12px;
}

.ah-news-grid {
    margin-top: 10px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.ah-news-grid.large {
    margin-top: 0;
}

.ah-story-card {
    overflow: hidden;
    border: 1px solid #e2e4e6;
    border-radius: 10px;
    background: white;
}

.ah-story-image {
    height: 125px;
    background:
        linear-gradient(
            135deg,
            #d9d4ca,
            #efede8
        );
}

.ah-story-card > div:last-child {
    padding: 12px;
}

.ah-story-card small {
    color: #a77920;
    font-size: 7px;
    font-weight: 800;
}

.ah-story-card h4 {
    margin: 5px 0;
    color: #173a62;
    font-family: Georgia, serif;
    font-size: 14px;
}

.ah-story-card p {
    margin: 0;
    color: #72787d;
    font-size: 9px;
    line-height: 1.45;
}

.ah-release {
    margin-top: 18px;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    gap: 30px;
    align-items: center;
}

.ah-release p {
    max-width: 550px;
    color: #6c7379;
    font-size: 10px;
}

.ah-release-flow {
    display: flex;
    align-items: center;
    gap: 7px;
}

.ah-release-flow span {
    padding: 7px 9px;
    border-radius: 6px;
    background: #f2eee6;
    color: #455a70;
    font-size: 8px;
    font-weight: 700;
}

.ah-release-flow b {
    color: #b78a32;
}


/* SPORTS */

.ah-sports-intro {
    margin-bottom: 12px;
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 22px;
    align-items: center;
}

.ah-sports-intro p {
    color: #626a71;
    font-family: Georgia, serif;
    line-height: 1.65;
}


/* STANDARD */

.ah-standard {
    padding: 22px 0;
    border-top: 1px solid #dedbd5;
    background: #112d49;
    color: white;
}

.ah-standard .ah-wrap {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    align-items: center;
}

.ah-standard .ah-kicker {
    color: #d8b86d;
}

.ah-standard strong {
    font-family: Georgia, serif;
    font-size: 16px;
}

.ah-standard p {
    max-width: 580px;
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 9px;
    line-height: 1.55;
}


/* RESPONSIVE */

@media (max-width: 900px) {

    .ah-editorial-grid,
    .ah-business-grid,
    .ah-sports-intro {
        grid-template-columns: 1fr;
    }

    .ah-rail {
        position: static;
    }

    .ah-partner-grid,
    .ah-stat-row,
    .ah-news-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ah-moving-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 650px) {

    .ah-hero h1 {
        font-size: 36px;
    }

    .ah-partner-grid,
    .ah-stat-row,
    .ah-chart-grid,
    .ah-education-grid,
    .ah-travel-grid,
    .ah-sports-grid,
    .ah-news-grid,
    .ah-timeline {
        grid-template-columns: 1fr;
    }

    .ah-data-intro,
    .ah-news-tools,
    .ah-release,
    .ah-standard .ah-wrap {
        align-items: flex-start;
        flex-direction: column;
    }

    .ah-news-search {
        width: 100%;
    }

    .ah-news-search input {
        min-width: 0;
        flex: 1;
    }

    .ah-release-flow {
        flex-wrap: wrap;
    }

    .ah-page-nav {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .ah-page-nav div {
        display: none;
    }
}



/* ==========================================================
   ABOUT HUB V2
   Global navigation remains controlled by base.html.
   About pills are secondary navigation only.
   ========================================================== */

.ah-pill-band {
    position: relative;
    top: auto;
    z-index: 1;
}


/* ==========================================================
   NEWS & FEATURES — 18 STORIES PER PAGE
   ========================================================== */

.ah-news-page {
    padding-top: 34px;
}

.ah-news-intro {
    max-width: 610px;
    margin: 7px 0 0;
    color: #6a737b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 13px;
    line-height: 1.55;
}

.ah-news-page-meta {
    margin: 4px 0 13px;
    padding-bottom: 9px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #dedfe0;
}

.ah-news-page-meta span {
    color: #8d6d2d;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .12em;
}

.ah-news-page-meta a {
    color: #164a82;
    font-size: 9px;
    font-weight: 700;
    text-decoration: none;
}

.ah-news-grid.ah-news-six {
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.ah-news-six .ah-story-card {
    min-height: 300px;
}

.ah-news-six .ah-story-image {
    height: 160px;
}

.ah-story-content {
    padding: 14px !important;
}

.ah-story-content h3 {
    margin: 5px 0 7px;
    color: #163a60;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 16px;
    line-height: 1.22;
}

.ah-story-content p {
    min-height: 42px;
    margin-bottom: 10px;
}

.ah-story-content a {
    color: #164f8d;
    font-size: 9px;
    font-weight: 800;
    text-decoration: none;
}


/* PREMIUM NEWS BANNER */

.ah-news-premium-banner {
    min-height: 128px;
    margin: 26px 0;
    padding: 26px 34px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    border-top: 2px solid #d7bc7f;
    border-bottom: 2px solid #d7bc7f;
    box-shadow: 0 2px 14px rgba(151, 113, 39, .1);
    background:
        linear-gradient(
            90deg,
            #fffaf0,
            #f6efe1
        );
}

.ah-news-premium-banner small {
    display: block;
    margin-bottom: 6px;
    color: #a57619;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
}

.ah-news-premium-banner strong,
.ah-news-premium-name {
    display: block;
    color: #173754;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
    line-height: 1.2;
}

.ah-news-premium-name {
    text-decoration: none;
}

.ah-news-premium-name:hover {
    color: var(--guide-gold, #c98a19);
    text-decoration: underline;
}

.ah-news-premium-banner span {
    display: block;
    margin-top: 6px;
    color: #5c5a54;
    font-size: 15px;
}

.ah-banner-mark {
    padding: 14px 20px;
    border: 1px solid #d4bd88;
    border-radius: 6px;
    color: #987127;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
}


/* MORE STORIES */

.ah-more-stories {
    margin-top: 4px;
    padding: 22px 0 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.ah-more-stories small {
    display: block;
    margin-bottom: 4px;
    color: #a27626;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .12em;
}

.ah-more-stories strong {
    color: #173754;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
}

.ah-more-stories > a {
    padding: 10px 16px;
    border-radius: 7px;
    background: #153e71;
    color: white;
    font-size: 9px;
    font-weight: 800;
    text-decoration: none;
}


/* ==========================================================
   EXPLORE NEXT — EVERY ABOUT PAGE
   ========================================================== */

.ah-explore-next {
    padding: 34px 0 38px;
    border-top: 1px solid #e2ded6;
    background: #f7f4ee;
}

.ah-explore-heading {
    margin-bottom: 18px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 35px;
}

.ah-explore-heading h2 {
    margin: 0;
    color: #153552;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
}

.ah-explore-heading p {
    max-width: 425px;
    margin: 0;
    color: #6f7579;
    font-size: 9px;
    line-height: 1.55;
}

.ah-explore-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}

.ah-explore-link {
    min-height: 72px;
    padding: 13px 14px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 9px;
    align-items: center;
    border: 1px solid #dedad2;
    border-radius: 9px;
    background: white;
    color: #173754;
    text-decoration: none;
    transition:
        transform .15s ease,
        border-color .15s ease;
}

.ah-explore-link:hover {
    transform: translateY(-1px);
    border-color: #bfa268;
}

.ah-explore-link > span {
    color: #b28a3d;
    font-size: 8px;
    font-weight: 800;
}

.ah-explore-link strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 12px;
}

.ah-explore-link b {
    color: #285c91;
    font-size: 12px;
}

.ah-explore-link.is-current {
    border-color: #173f70;
    background: #173f70;
    color: white;
}

.ah-explore-link.is-current > span,
.ah-explore-link.is-current b {
    color: #dfc17d;
}


/* RESPONSIVE V2 */

@media (max-width: 900px) {

    .ah-news-grid.ah-news-six,
    .ah-explore-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media (max-width: 650px) {

    .ah-news-grid.ah-news-six,
    .ah-explore-grid {
        grid-template-columns: 1fr;
    }

    .ah-explore-heading,
    .ah-more-stories {
        align-items: flex-start;
        flex-direction: column;
    }

}


/* ==========================================================
   ABOUT HUB — HOMEPAGE HEADER + UNIVERSAL RIGHT RAIL
   ========================================================== */


/* Use homepage hero system without introducing
   a competing About-specific header treatment. */

.ah-about-hero {
    margin-bottom: 0;
}


/* ABOUT SECTION PILLS */

.ah-pill-band {
    border-top: 0;
    border-bottom: 1px solid #e1ddd5;
    background: #fff;
}

.ah-pills {
    padding-top: 12px;
    padding-bottom: 12px;
}


/* ==========================================================
   UNIVERSAL ABOUT CONTENT LAYOUT
   ========================================================== */

.ah-universal-layout {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        280px;
    gap: 34px;
    align-items: start;
}

.ah-universal-main {
    min-width: 0;
}


/* The outer universal layout now controls width. */

.ah-universal-main .ah-wrap {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}


/* About and History previously had their own
   internal right rails. The universal rail replaces them. */

.ah-universal-main .ah-editorial-grid {
    display: block;
}

.ah-universal-main .ah-rail {
    display: none;
}


/* ==========================================================
   UNIVERSAL EXPLORE NEXT RAIL
   ========================================================== */

.ah-about-explore-rail {
    position: sticky;
    top: 24px;
    padding-top: 34px;
    padding-bottom: 40px;
}

.ah-explore-card {
    overflow: hidden;
}

.ah-explore-card h3 {
    margin-bottom: 5px;
}

.ah-explore-intro {
    margin-bottom: 13px !important;
}

.ah-explore-rail-links {
    margin-top: 12px;
    border-top: 1px solid #e9e5de;
}

.ah-explore-rail-links a {
    min-height: 42px;
    padding: 0 2px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border-bottom: 1px solid #ece8e1;
    color: #153d70;
    font-size: 10px;
    font-weight: 700;
    text-decoration: none;
}

.ah-explore-rail-links a:hover {
    color: #a87518;
}

.ah-explore-rail-links a b {
    color: #ba8730;
    font-size: 11px;
}

.ah-explore-rail-links a.is-current {
    margin-left: -17px;
    margin-right: -17px;
    padding-left: 17px;
    padding-right: 17px;
    background: #153d70;
    color: #fff;
}

.ah-explore-rail-links a.is-current b {
    color: #e5c57d;
}


/* Keep long data and news content usable
   inside the narrower primary column. */

.ah-universal-main .ah-data-page,
.ah-universal-main .ah-editorial {
    width: 100%;
}

.ah-universal-main .ah-news-grid.ah-news-six {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* _about_news.html's heading+search row (.ah-news-tools) assumes it
   owns the full page width once the viewport passes 901px, switching
   to a fixed-width nowrap heading beside a 280-360px search box. That
   math never accounted for the universal rail: even at this layout's
   own max width (1180px total, so at most ~866px for the main
   column), a nowrap heading plus a 280px+ search column doesn't fit,
   so the search box overflowed rightward into the rail. Force the
   stacked (sub-901px) treatment whenever the rail is actually
   present, regardless of viewport width. */

.ah-universal-main .ah-news-tools {
    display: block !important;
}

.ah-universal-main .ah-news-tools h2 {
    width: auto !important;
    max-width: none !important;
    white-space: normal !important;
}

.ah-universal-main .ah-news-search {
    width: 100%;
    margin-top: 16px;
}


/* RESPONSIVE */

@media (max-width: 950px) {

    .ah-universal-layout {
        grid-template-columns: 1fr;
    }

    .ah-about-explore-rail {
        position: static;
        padding-top: 0;
    }

    .ah-explore-rail-links {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0 14px;
    }

    .ah-explore-rail-links a.is-current {
        margin-left: 0;
        margin-right: 0;
        padding-left: 10px;
        padding-right: 10px;
        border-radius: 5px;
    }

}

@media (max-width: 650px) {

    .ah-explore-rail-links {
        grid-template-columns: 1fr;
    }

    .ah-universal-main .ah-news-grid.ah-news-six {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================
   ABOUT SECTION NAVIGATION
   Card appearance comes from the shared site-wide
   experience-grid / experience-card component.
   ========================================================== */

.ah-about-nav {
    padding: 22px 0;
    border-bottom: 1px solid #e2ddd5;
    background: #faf8f3;
}

.about-section-nav {
    margin: 0;
}

/* Eight About choices rather than the homepage's twelve. */
.about-section-nav.experience-grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
}

.about-section-nav .experience-card {
    min-width: 0;
}

.about-section-nav .experience-card strong {
    text-align: center;
}


/* Active About card stays recognizable without
   introducing a new navigation design. */

.about-section-nav .experience-card.active {
    border-color: #c99531;
    box-shadow:
        inset 0 0 0 1px #c99531,
        0 5px 16px rgba(27, 47, 73, .06);
}


/* RESPONSIVE */

@media (max-width: 1100px) {

    .about-section-nav.experience-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

}

@media (max-width: 650px) {

    .about-section-nav.experience-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* ==========================================================
   ABOUT NAVIGATION — MATCH HOMEPAGE CATEGORY BROWSER
   ========================================================== */

.ah-about-category-section {
    margin-top: 0;
    padding: 30px 0 28px;
    background: #faf7f1;
}

.ah-about-categories {
    width: 100%;
    margin-top: 0;
}

.ah-about-categories .marketplace-section-heading {
    margin-bottom: 18px;
}

.ah-about-categories .marketplace-section-heading h2 {
    margin: 0;
    color: #0d2745;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 36px;
    line-height: 1.05;
}

.ah-about-categories .marketplace-section-heading p {
    margin: 7px 0 0;
    color: #687485;
    font-size: 15px;
}


/* Exact one-row category-card treatment */

.about-section-nav.experience-grid {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 6px;
    margin: 0;
}

.about-section-nav .experience-card {
    min-width: 0;
    min-height: 94px;
    padding: 13px 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;

    border: 1px solid #ddd8cf;
    border-radius: 9px;

    background: #fff;
    box-shadow:
        0 1px 2px rgba(20, 35, 50, .03);

    color: #0b2747;
    text-align: center;
    text-decoration: none;

    transition:
        transform .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}

.about-section-nav .experience-card:hover {
    transform: translateY(-1px);
    border-color: #c9b98e;
    box-shadow:
        0 5px 14px rgba(20, 35, 50, .06);
}

.about-section-nav .experience-icon {
    display: block;
    color: #d18a08;
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
}

.about-section-nav .experience-card strong {
    display: block;
    color: #0b2747;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.15;
    text-align: center;
}


/* Current section:
   keep the same white-card language instead of
   turning it into a completely different blue button. */

.about-section-nav .experience-card.active {
    background: #fff;
    border-color: #c48b23;
    box-shadow:
        inset 0 0 0 1px #c48b23,
        0 3px 12px rgba(20, 35, 50, .05);
}

.about-section-nav .experience-card.active .experience-icon {
    color: #b8750d;
}

.about-section-nav .experience-card.active strong {
    color: #0b2747;
}


/* Remove older About navigation framing */

.ah-about-nav,
.ah-pill-band {
    display: none !important;
}


/* Responsive */

@media (max-width: 1000px) {

    .about-section-nav.experience-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
    }

}

@media (max-width: 600px) {

    .about-section-nav.experience-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* ==========================================================
   ABOUT HUB — GLOBAL NAVIGATION CORRECTION
   Top navigation now uses the site's shared category browser.
   About-specific navigation lives only in Explore Next.
   ========================================================== */

.ah-about-category-section,
.ah-about-nav,
.ah-pill-band {
    display: none !important;
}



/* ==========================================================
   ABOUT HUB — GLOBAL NAVIGATION CORRECTION
   Top navigation now uses the site's shared category browser.
   About-specific navigation lives only in Explore Next.
   ========================================================== */

.ah-about-category-section,
.ah-about-nav,
.ah-pill-band {
    display: none !important;
}



/* ==========================================================
   ABOUT HUB — GLOBAL NAVIGATION CORRECTION
   Top navigation now uses the site's shared category browser.
   About-specific navigation lives only in Explore Next.
   ========================================================== */

.ah-about-category-section,
.ah-about-nav,
.ah-pill-band {
    display: none !important;
}



/* ==========================================================
   ABOUT — FEATURED PARTNER AD
   Located directly below Explore Next
   ========================================================== */

.ah-featured-ad {
    margin-top: 14px;
    overflow: hidden;
    border: 1px solid #dfd5c3;
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 4px 16px rgba(17, 45, 73, .04);
}

/* PREMIER tier: warm gold treatment, matching the top-of-page and
   mid-article "PREMIER PARTNER" placements (about_top_premier,
   about_mid_premier). Used for the rail's about_rail_premier slot,
   directly below the "About [Market]" explore card. */
.ah-featured-ad.premier {
    border-color: #ddc38e;
    background:
        linear-gradient(
            165deg,
            #fffaf0,
            #ffffff 55%
        );
    box-shadow: 0 4px 16px rgba(166, 118, 22, .08);
}

.ah-featured-ad-media {
    position: relative;
    min-height: 145px;
    display: flex;
    align-items: flex-start;
    padding: 12px;
    background:
        linear-gradient(
            135deg,
            #d8d0c3,
            #eee9df
        );
}

.ah-featured-ad-media span {
    padding: 5px 8px;
    border-radius: 4px;
    background: #c78916;
    color: #fff;
    font-size: 7px;
    font-weight: 900;
    letter-spacing: .12em;
}

.ah-featured-ad-body {
    padding: 16px;
}

.ah-featured-ad-body small {
    display: block;
    margin-bottom: 5px;
    color: #a27a2c;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .13em;
}

.ah-featured-ad-body h3 {
    margin: 0 0 7px;
    color: #153552;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
    line-height: 1.15;
}

.ah-featured-ad-body p {
    margin: 0 0 12px;
    color: #6d7479;
    font-size: 9px;
    line-height: 1.5;
}

.ah-featured-ad-body a {
    color: #164d87;
    font-size: 9px;
    font-weight: 800;
    text-decoration: none;
}

.ah-featured-ad-body a:hover {
    text-decoration: underline;
}


/* ==========================================================
   DYNAMIC ABOUT RAIL AD
   ========================================================== */

.ah-featured-ad-media.has-image {
    position: relative;
    height: 160px;
    min-height: 160px;
    padding: 0;
    overflow: hidden;
}

.ah-featured-ad-media.has-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* A business with only a logo on file still gets an image here
   instead of a blank card -- but a logo filled/cropped like a photo
   (object-fit: cover) looks stretched, so it's letterboxed instead,
   matching .partner-media.image-logo elsewhere on the site. */
.ah-featured-ad-media.has-image.logo-fit {
    padding: 18px;
    box-sizing: border-box;
    background: #f4f0eb;
}

.ah-featured-ad-media.has-image.logo-fit img {
    object-fit: contain;
}

.ah-featured-ad-media.has-image span {
    position: absolute;
    top: 11px;
    left: 11px;
    z-index: 2;
}



/* ==========================================================
   FULL DYNAMIC ABOUT AD INVENTORY
   ========================================================== */

.ah-ad-link {
    color: inherit;
    text-decoration: none;
}

.ah-ad-link:hover {
    border-color: #c8a45f;
    box-shadow: 0 5px 15px rgba(17,45,73,.06);
}

.ah-dynamic-mid-ad a {
    display: inline-block;
    margin-top: 7px;
    color: #164d87;
    font-size: 8px;
    font-weight: 800;
    text-decoration: none;
}

.ah-news-ad-cta {
    display: inline-block;
    margin-top: 12px;
    color: #164d87;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.ah-news-banner-image {
    width: 220px;
    height: 100px;
    flex: 0 0 220px;
    border-radius: 8px;
    object-fit: cover;
}

@media (max-width: 700px) {

    .ah-news-banner-image {
        width: 100%;
        flex-basis: 100%;
        height: 140px;
    }

}



/* ==========================================================
   DATABASE-DRIVEN EDITORIAL CONTENT
   ========================================================== */

.ah-db-editorial-article {
    max-width: 790px;
}

.ah-editorial-subtitle {
    max-width: 720px;
    margin: -7px 0 20px;
    color: #6d747b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
    line-height: 1.55;
}

.ah-editorial-blocks > p {
    color: #4d565e;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 15px;
    line-height: 1.78;
}

.ah-editorial-blocks > p.ah-lead {
    font-size: 17px;
    line-height: 1.72;
}

.ah-editorial-blocks h3 {
    margin: 28px 0 9px;
    color: #183a5a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
}


/* EDITORIAL IMAGE */

.ah-editorial-figure {
    margin: 27px 0;
}

.ah-editorial-figure img {
    width: 100%;
    max-height: 470px;
    display: block;
    object-fit: cover;
    border-radius: 11px;
}

.ah-editorial-figure figcaption {
    padding: 8px 3px 0;
    color: #747a7f;
    font-size: 9px;
    line-height: 1.45;
}

.ah-editorial-figure figcaption strong,
.ah-editorial-figure figcaption span,
.ah-editorial-figure figcaption small {
    display: block;
}


/* PULL QUOTE */

.ah-pull-quote {
    margin: 30px 0;
    padding: 8px 0 8px 23px;
    border-left: 3px solid #c79535;
    color: #173754;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    line-height: 1.4;
}

.ah-pull-quote cite {
    display: block;
    margin-top: 9px;
    color: #7d8388;
    font-family: Arial, sans-serif;
    font-size: 9px;
    font-style: normal;
}


/* QUICK FACT */

.ah-quick-fact {
    margin: 24px 0;
    padding: 17px 19px;
    border: 1px solid #dfd8cb;
    border-radius: 10px;
    background: #faf7f0;
}

.ah-quick-fact small {
    display: block;
    margin-bottom: 5px;
    color: #9c7428;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .11em;
}

.ah-quick-fact strong {
    color: #173754;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
}


/* CALLOUT */

.ah-editorial-callout {
    margin: 25px 0;
    padding: 18px 20px;
    border-radius: 10px;
    background: #f1f4f6;
}

.ah-editorial-callout strong {
    display: block;
    margin-bottom: 6px;
    color: #173754;
    font-family: Georgia, "Times New Roman", serif;
}

.ah-editorial-callout p {
    margin: 0;
    color: #626b72;
    font-size: 11px;
    line-height: 1.6;
}


/* TIMELINE BLOCK */

.ah-editorial-timeline {
    margin: 27px 0;
    padding: 18px 20px;
    border-left: 3px solid #c79535;
    background: #f8f6f1;
}

.ah-editorial-timeline h3 {
    margin-top: 0;
}

.ah-editorial-timeline p {
    margin-bottom: 0;
    color: #59636b;
    font-size: 11px;
    line-height: 1.6;
}


/* SOURCES */

.ah-editorial-sources {
    margin-top: 32px;
    padding-top: 17px;
    border-top: 1px solid #e4dfd7;
}

.ah-editorial-sources ol {
    margin: 8px 0 0;
    padding-left: 19px;
}

.ah-editorial-sources li {
    margin: 5px 0;
    color: #747a80;
    font-size: 9px;
    line-height: 1.5;
}

.ah-editorial-sources a {
    color: #174d87;
    text-decoration: none;
}


/* STAGING ONLY — EMPTY EDITORIAL DRAFT */

.ah-editorial-draft-note {
    margin: 24px 0;
    padding: 20px;
    border: 1px dashed #d5c9b4;
    border-radius: 10px;
    background: #faf8f4;
    color: #7b7770;
    font-size: 10px;
    line-height: 1.55;
}



/* ==========================================================
   DEMOGRAPHICS / STRUCTURED ABOUT DATA
   ========================================================== */

.ah-data-page {
    padding: 4px 0 44px;
}

.ah-data-header {
    max-width: 760px;
    margin-bottom: 25px;
}

.ah-data-header h2 {
    margin: 5px 0 9px;
    color: #173754;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 32px;
}

.ah-data-header p {
    max-width: 680px;
    margin: 0;
    color: #66717a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 15px;
    line-height: 1.65;
}

.ah-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 30px;
}

/* Home & Moving's Local Services grid holds 5 category cards, not
   a fixed 3 -- let it wrap by available width instead of forcing
   3 fixed columns. */
.ah-moving-services-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.ah-moving-crosssell {
    margin-top: 4px;
}

.ah-moving-crosssell a {
    color: #174d87;
    font-weight: 700;
}

.ah-stat-card {
    padding: 18px;
    border: 1px solid #e1ddd5;
    border-radius: 11px;
    background: #fff;
}

.ah-stat-card small {
    display: block;
    margin-bottom: 7px;
    color: #8c7445;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.ah-stat-card strong {
    display: block;
    color: #173754;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
}

.ah-stat-card span {
    display: block;
    margin-top: 5px;
    color: #7c8389;
    font-size: 9px;
}

.ah-data-section {
    margin: 28px 0;
    padding: 23px;
    border: 1px solid #e3dfd7;
    border-radius: 12px;
    background: #fff;
}

/* The intro heading already carries its own margin-bottom --
   stacking this section's full 28px margin-top on top of that
   leaves a noticeably larger gap under the page title than
   between any other two stacked sections below it. */
.ah-data-intro + .ah-data-section {
    margin-top: 0;
}

.ah-data-section h3,
.ah-data-panel h3,
.ah-source-panel h3 {
    margin: 5px 0 15px;
    color: #173754;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
}

/* ==========================================================
   WEATHER
   ========================================================== */

.ah-weather-current {
    display: flex;
    align-items: center;
    gap: 18px;
}

.ah-weather-current-icon {
    width: 72px;
    height: 72px;
    border-radius: 10px;
}

.ah-weather-current-temp {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 40px;
    color: #173754;
    line-height: 1;
}

.ah-weather-current-desc {
    font-weight: 700;
    color: #33415a;
    margin: 4px 0 2px;
}

.ah-weather-forecast-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 10px;
}

.ah-weather-forecast-day {
    padding: 12px 8px;
    border: 1px solid #e3dfd7;
    border-radius: 10px;
    background: #f9f8f5;
    text-align: center;
}

.ah-weather-forecast-day img {
    width: 40px;
    height: 40px;
    margin-bottom: 4px;
}

.ah-weather-forecast-temp {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    color: #173754;
    margin: 2px 0;
}

.ah-weather-chart {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 6px;
    align-items: end;
}

.ah-weather-chart-col {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.ah-weather-chart-bars {
    width: 100%;
    max-width: 28px;
    display: flex;
    flex-direction: column-reverse;
    border-radius: 4px;
    overflow: hidden;
}

.ah-weather-bar-low {
    background: #d7e3ee;
}

.ah-weather-bar-high {
    background: #b8862f;
}

.ah-weather-chart-label {
    margin-top: 6px;
    font-size: 11px;
    text-align: center;
    line-height: 1.3;
}

.ah-weather-chart-label strong {
    display: block;
    color: #173754;
}

.ah-weather-chart-month {
    margin-top: 2px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .03em;
    color: #818a94;
    text-transform: uppercase;
}

.ah-weather-records-table-wrap {
    overflow-x: auto;
}

.ah-weather-records-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.ah-weather-records-table th,
.ah-weather-records-table td {
    padding: 9px 12px;
    text-align: left;
    border-bottom: 1px solid #e3dfd7;
    white-space: nowrap;
}

.ah-weather-records-table th {
    color: #818a94;
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}

@media (max-width: 720px) {

    .ah-weather-forecast-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .ah-weather-chart-label {
        font-size: 9px;
    }

}


/* ==========================================================
   NAPA VALLEY AVAs
   ========================================================== */

.ah-ava-map {
    width: 100%;
    height: 560px;
    border-radius: 16px;
    border: 1px solid var(--guide-border, #e5e0d7);
}

/* Leaflet renders each AVA polygon as an SVG <path>. Hovering
   lifts it: a stronger stroke/fill (set via JS setStyle, since
   Leaflet manages those as SVG presentation attributes) plus a
   drop-shadow here for the visual "rising off the map" effect the
   flat SVG fill alone can't give it. */
.ah-ava-region-hover {
    filter: drop-shadow(0 6px 10px rgba(20, 20, 25, .45));
    cursor: pointer;
    transition: filter .15s ease;
}

.ah-ava-key {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.ah-ava-key-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--guide-border, #e5e0d7);
    border-radius: 10px;
    text-decoration: none;
    color: inherit;
    transition: transform .12s ease, box-shadow .12s ease;
}

.ah-ava-key-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(20, 20, 25, .12);
}

.ah-ava-key-swatch {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    border-radius: 5px;
    border: 1px solid rgba(0, 0, 0, .15);
}

.ah-ava-detail-grid {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 32px;
    align-items: start;
}

.ah-ava-facts {
    position: sticky;
    top: 20px;
    padding: 18px;
    border: 1px solid var(--guide-border, #e5e0d7);
    border-radius: 14px;
    background: #fbf9f5;
}

.ah-ava-facts-swatch {
    display: block;
    width: 100%;
    height: 8px;
    border-radius: 4px;
    margin-bottom: 14px;
}

.ah-ava-facts h3 {
    margin: 0 0 12px;
    font-family: Georgia, serif;
    font-size: 19px;
}

.ah-ava-facts dl {
    margin: 0;
}

.ah-ava-facts dt {
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: #818a94;
    margin-top: 14px;
}

.ah-ava-facts dt:first-child {
    margin-top: 0;
}

.ah-ava-facts dd {
    margin: 3px 0 0;
    font-size: 14px;
    line-height: 1.4;
}

.ah-ava-writeup p {
    margin: 0 0 16px;
    line-height: 1.7;
    font-size: 15.5px;
}

.ah-ava-winery-list {
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px 20px;
}

.ah-ava-winery-list li {
    padding: 6px 0;
    border-bottom: 1px solid #efece5;
    font-size: 14px;
}

.ah-ava-winery-list a {
    color: inherit;
    text-decoration: none;
}

.ah-ava-winery-list a:hover {
    color: var(--guide-gold, #c98a19);
}

.ah-ava-winery-list span {
    color: #9199a4;
}

@media (max-width: 900px) {

    .ah-ava-detail-grid {
        grid-template-columns: 1fr;
    }

    .ah-ava-facts {
        position: static;
    }

    .ah-ava-winery-list {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media (max-width: 640px) {

    .ah-ava-map {
        height: 400px;
    }

    .ah-ava-key {
        grid-template-columns: repeat(2, 1fr);
    }

    .ah-ava-winery-list {
        grid-template-columns: 1fr;
    }

}


.ah-population-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.ah-population-grid article {
    padding: 17px;
    border-radius: 9px;
    background: #f4f6f7;
}

.ah-population-grid article.current {
    background: #f6f0e4;
}

.ah-population-grid small {
    display: block;
    color: #747d84;
    font-size: 9px;
}

.ah-population-grid strong {
    display: block;
    margin-top: 4px;
    color: #173754;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
}

.ah-data-two-column {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin: 28px 0;
}

.ah-data-panel {
    padding: 22px;
    border: 1px solid #e3dfd7;
    border-radius: 12px;
    background: #fff;
}

.ah-bar-row {
    margin: 13px 0;
}

.ah-bar-row > div:first-child {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 5px;
    color: #59646d;
    font-size: 10px;
}

.ah-bar-row strong {
    color: #173754;
}

.ah-bar-track {
    height: 8px;
    overflow: hidden;
    border-radius: 99px;
    background: #eceff1;
}

.ah-bar-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #b79351;
}

.ah-data-row {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 9px 0;
    border-bottom: 1px solid #edf0f1;
    color: #626c74;
    font-size: 10px;
}

.ah-data-row:last-child {
    border-bottom: 0;
}

.ah-data-row strong {
    color: #173754;
    text-align: right;
}

.ah-data-context {
    color: #737c83;
    font-size: 10px;
    line-height: 1.65;
}

.ah-income-feature {
    margin: 12px 0;
    padding: 14px 15px;
    border-radius: 9px;
    background: #f6f4ef;
}

.ah-income-feature small {
    display: block;
    color: #927331;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .08em;
}

.ah-income-feature strong {
    display: block;
    margin-top: 4px;
    color: #173754;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
}

.ah-source-panel {
    margin-top: 29px;
    padding: 19px 21px;
    border-top: 1px solid #ded9d0;
    background: #faf8f4;
}

.ah-source-panel p {
    margin: 4px 0;
    color: #757b80;
    font-size: 9px;
    line-height: 1.55;
}

.ah-source-panel a {
    display: inline-block;
    margin-top: 8px;
    color: #174d87;
    font-size: 9px;
    font-weight: 700;
    text-decoration: none;
}

@media (max-width: 760px) {

    .ah-stat-grid,
    .ah-population-grid,
    .ah-data-two-column {
        grid-template-columns: 1fr;
    }

}



/* ==========================================================
   GLOBAL MARKET HIERARCHY
   ========================================================== */

.ah-market-breadcrumb {
    margin-bottom: 16px;
}

.ah-market-breadcrumb a {
    color: #174d87;
    font-size: 10px;
    font-weight: 700;
    text-decoration: none;
}

.ah-child-markets {
    margin: 30px 0;
    padding: 23px;
    border: 1px solid #e2ddd4;
    border-radius: 12px;
    background: #fff;
}

.ah-child-markets h3 {
    margin: 5px 0 7px;
    color: #173754;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
}

.ah-child-markets > p {
    margin: 0 0 17px;
    max-width: 650px;
    color: #707980;
    font-size: 10px;
    line-height: 1.6;
}

.ah-child-market-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 9px;
}

.ah-child-market-card {
    padding: 14px 15px;
    border: 1px solid #e4e6e7;
    border-radius: 9px;
    background: #fafafa;
    color: inherit;
    text-decoration: none;
    transition:
        transform .15s ease,
        box-shadow .15s ease;
}

.ah-child-market-card:hover {
    transform: translateY(-1px);
    box-shadow:
        0 4px 13px rgba(20, 42, 62, .08);
}

.ah-child-market-card strong {
    display: block;
    margin-bottom: 5px;
    color: #173754;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 15px;
}

.ah-child-market-card span {
    color: #82672e;
    font-size: 9px;
    font-weight: 700;
}

@media (max-width: 760px) {

    .ah-child-market-grid {
        grid-template-columns: 1fr;
    }

}



/* ==========================================================
   BUSINESS & ECONOMY
   ========================================================== */

.ah-regional-context {
    margin-bottom: 20px;
    padding: 16px 18px;
    border-left: 3px solid #b79351;
    background: #f8f4ec;
}

.ah-regional-context p {
    margin: 5px 0 0;
    color: #68727a;
    font-size: 10px;
    line-height: 1.65;
}

.ah-business-snapshot {
    margin-bottom: 28px;
}

.ah-economy-total {
    display: inline-flex;
    flex-direction: column;
    min-width: 210px;
    margin: 5px 0 20px;
    padding: 16px 18px;
    border-radius: 10px;
    background: #f6f3ed;
}

.ah-economy-total small {
    color: #8d7138;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .08em;
}

.ah-economy-total strong {
    margin-top: 4px;
    color: #173754;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
}

.ah-economy-total span {
    margin-top: 3px;
    color: #737c83;
    font-size: 9px;
}

.ah-industry-list {
    margin-top: 4px;
}

.ah-industry-row {
    padding: 11px 0;
    border-bottom: 1px solid #edf0f1;
}

.ah-industry-row:last-child {
    border-bottom: 0;
}

.ah-industry-label {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 5px;
    color: #5d6870;
    font-size: 10px;
}

.ah-industry-label strong {
    color: #173754;
}

.ah-industry-row small {
    display: block;
    margin-top: 4px;
    color: #8b9196;
    font-size: 8px;
}

.ah-economy-trend {
    display: grid;
    gap: 8px;
}

.ah-economy-trend-row {
    display: grid;
    grid-template-columns: 100px 1fr 45px;
    align-items: center;
    gap: 10px;
    color: #626c74;
    font-size: 9px;
}

.ah-economy-trend-row strong {
    color: #173754;
    text-align: right;
}

@media (max-width: 760px) {

    .ah-economy-trend-row {
        grid-template-columns: 80px 1fr 40px;
    }

}



/* ==========================================================
   REGIONAL DATA DISCLOSURE
   ========================================================== */

.ah-regional-warning {
    margin: 0 0 30px;
    padding: 22px 24px;
    border: 1px solid #d8c69d;
    border-left: 5px solid #b79351;
    border-radius: 10px;
    background: #fbf7ee;
}

.ah-regional-warning h2 {
    margin: 7px 0 8px;
    color: #173754;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
}

.ah-regional-warning p {
    max-width: 760px;
    margin: 6px 0 0;
    color: #5f686f;
    font-size: 10px;
    line-height: 1.7;
}

.ah-regional-badge {
    display: inline-block;
    padding: 5px 9px;
    border-radius: 4px;
    background: #173754;
    color: #fff;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .09em;
}

.ah-regional-section-note {
    margin: -4px 0 18px;
    color: #6f777d;
    font-size: 9px;
    line-height: 1.6;
}


/* ==========================================================
   BUSINESS & ECONOMY — COMPACT SOURCE PANELS
   ========================================================== */

.ah-business-source-panel {
    width: min(100%, 520px);
    margin: 14px 0 0;
    padding: 11px 14px;
    border-radius: 8px;
}

.ah-business-source-panel .ah-kicker {
    font-size: 7px;
    letter-spacing: .08em;
}

.ah-business-source-panel h3 {
    margin: 3px 0 5px;
    font-size: 14px;
    line-height: 1.2;
}

.ah-business-source-panel p {
    margin: 3px 0;
    font-size: 8.5px;
    line-height: 1.45;
}

.ah-business-source-panel a {
    display: inline-block;
    margin-top: 4px;
    font-size: 8.5px;
}



/* ==========================================================
   BUSINESS & ECONOMY — COMPACT SOURCE PANELS
   ========================================================== */

.ah-business-source-panel {
    width: min(100%, 520px);
    margin: 14px 0 0;
    padding: 11px 14px;
    border-radius: 8px;
}

.ah-business-source-panel .ah-kicker {
    font-size: 7px;
    letter-spacing: .08em;
}

.ah-business-source-panel h3 {
    margin: 3px 0 5px;
    font-size: 14px;
    line-height: 1.2;
}

.ah-business-source-panel p {
    margin: 3px 0;
    font-size: 8.5px;
    line-height: 1.45;
}

.ah-business-source-panel a {
    display: inline-block;
    margin-top: 4px;
    font-size: 8.5px;
}



/* ==========================================================
   BUSINESS SOURCES — BOTTOM HORIZONTAL FOOTNOTES
   ========================================================== */

.ah-business-source-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.ah-business-source-row .ah-business-source-panel {
    width: 100%;
    margin: 0;
    padding: 9px 12px;
    border-radius: 7px;
}

.ah-business-source-row .ah-business-source-panel .ah-kicker {
    font-size: 6px;
    letter-spacing: .09em;
}

.ah-business-source-row .ah-business-source-panel h3 {
    margin: 2px 0 3px;
    font-size: 12px;
    line-height: 1.15;
}

.ah-business-source-row .ah-business-source-panel p {
    margin: 2px 0;
    font-size: 7.5px;
    line-height: 1.35;
}

.ah-business-source-row .ah-business-source-panel a {
    margin-top: 2px;
    font-size: 7.5px;
}

@media (max-width: 760px) {

    .ah-business-source-row {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================
   BUSINESS & ECONOMY — PRINCIPAL EMPLOYERS
   ========================================================== */

.ah-employers-section {
    margin-top: 26px;
}

.ah-employer-table-wrap {
    margin-top: 14px;
    overflow: hidden;
    border: 1px solid #e5e7e8;
    border-radius: 10px;
    background: #fff;
}

.ah-employer-table-head,
.ah-employer-row,
.ah-employer-total {
    display: grid;
    grid-template-columns:
        minmax(220px, 1fr)
        110px
        150px;
    align-items: center;
    gap: 16px;
}

.ah-employer-table-head {
    padding: 9px 15px;
    background: #f6f3ed;
    color: #8d7138;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.ah-employer-row {
    padding: 10px 15px;
    border-top: 1px solid #eef0f1;
    color: #657078;
    font-size: 9px;
}

.ah-employer-row strong {
    color: #253e52;
    font-size: 9.5px;
    font-weight: 700;
}

.ah-employer-row span:nth-child(2),
.ah-employer-row span:nth-child(3),
.ah-employer-total span {
    text-align: right;
}

/* When no employer in the list has a reported headcount, columns 2
   and 3 hold Location/Industry text rather than numbers -- reads
   better left-aligned. */
.ah-employer-row-text span:nth-child(2),
.ah-employer-row-text span:nth-child(3) {
    text-align: left;
}

.ah-employer-total {
    padding: 10px 15px;
    border-top: 1px solid #d8c69d;
    background: #fbf8f1;
    color: #173754;
    font-size: 9px;
}

.ah-employer-total strong {
    font-weight: 800;
}

.ah-employer-note {
    margin: 8px 0 0;
    color: #8a9195;
    font-size: 8px;
    line-height: 1.5;
}

@media (max-width: 760px) {

    .ah-employer-table-head,
    .ah-employer-row,
    .ah-employer-total {
        grid-template-columns:
            minmax(150px, 1fr)
            80px
            95px;
        gap: 8px;
    }

}


/* ==========================================================
   EDUCATION
   ========================================================== */

.ah-education-section {
    margin-top: 28px;
}

.ah-school-table-wrap {
    margin-top: 14px;
    overflow: hidden;
    border: 1px solid #e5e7e8;
    border-radius: 10px;
    background: #fff;
}

.ah-school-table-head,
.ah-school-row {
    display: grid;
    grid-template-columns:
        minmax(200px, 1.4fr)
        minmax(150px, 1fr)
        110px;
    gap: 14px;
    align-items: center;
}

.ah-school-table-head {
    padding: 9px 14px;
    background: #f6f3ed;
    color: #8d7138;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.ah-school-row {
    padding: 11px 14px;
    border-top: 1px solid #eef0f1;
    color: #657078;
    font-size: 9px;
}

.ah-school-row strong {
    display: block;
    color: #253e52;
    font-size: 9.5px;
}

.ah-school-row small {
    display: block;
    margin-top: 3px;
    color: #8a9195;
    font-size: 7.5px;
    line-height: 1.4;
}

.ah-school-row .ah-number {
    text-align: right;
    color: #173754;
    font-weight: 700;
}

.ah-school-row strong a {
    color: inherit;
    text-decoration: none;
}

.ah-school-row strong a:hover {
    text-decoration: underline;
}

.ah-higher-education-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
}

.ah-education-card {
    padding: 16px;
    border: 1px solid #e7e9ea;
    border-radius: 10px;
    background: #fff;
}

.ah-education-card > small {
    color: #9a7c40;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.ah-education-card h3 {
    margin: 5px 0 7px;
    color: #173754;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 15px;
    line-height: 1.2;
}

.ah-education-card p {
    margin: 4px 0;
    color: #69737a;
    font-size: 8.5px;
    line-height: 1.5;
}

.ah-education-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 12px;
    color: #747d83;
    font-size: 8px;
}

.ah-college-stat {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-top: 12px;
}

.ah-college-stat strong {
    color: #173754;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
}

.ah-college-stat span {
    color: #7a8287;
    font-size: 8px;
}

.ah-education-description {
    max-width: 760px;
    color: #626c73;
    font-size: 9.5px;
    line-height: 1.7;
}

.ah-education-highlight {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 12px 0 14px;
    padding: 10px 14px;
    border-radius: 8px;
    background: #f6f3ed;
}

.ah-education-highlight strong {
    color: #173754;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
}

.ah-education-highlight span {
    max-width: 170px;
    color: #687179;
    font-size: 8px;
    line-height: 1.4;
}

.ah-pathway-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.ah-pathway-grid span {
    padding: 6px 9px;
    border: 1px solid #e3e6e8;
    border-radius: 999px;
    background: #fff;
    color: #59666e;
    font-size: 8px;
}

.ah-education-note {
    margin-top: 9px;
    color: #858d92;
    font-size: 7.5px;
    line-height: 1.5;
}


/* Education section footnotes (regional-fallback note) */

@media (max-width: 700px) {

    .ah-school-table-head {
        display: none;
    }

    .ah-school-row {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .ah-school-row .ah-number {
        text-align: left;
    }

    .ah-higher-education-grid {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================
   EDUCATION — REGIONAL DATA FOOTNOTE
   ========================================================== */

.ah-education-regional-footnote {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 14px 0 10px;
    padding: 9px 12px;
    border-top: 1px solid #ddd5c7;
    border-bottom: 1px solid #eee9df;
    color: #737b81;
}

.ah-education-regional-footnote > span {
    flex: 0 0 auto;
    padding-top: 1px;
    color: #98783b;
    font-size: 6.5px;
    font-weight: 800;
    letter-spacing: .09em;
    white-space: nowrap;
}

.ah-education-regional-footnote p {
    margin: 0;
    max-width: 900px;
    color: #737b81;
    font-size: 7.5px;
    line-height: 1.45;
}

.ah-education-regional-footnote strong {
    color: #59636a;
    font-weight: 700;
}

@media (max-width: 700px) {

    .ah-education-regional-footnote {
        display: block;
    }

    .ah-education-regional-footnote > span {
        display: block;
        margin-bottom: 4px;
    }

}


/* ==========================================================
   TRAVEL — FINAL COMPACT REGIONAL FOOTNOTE
   ========================================================== */

.ah-travel-page .ah-travel-regional-footnote {
    display: flex !important;
    align-items: baseline !important;
    gap: 7px !important;

    margin: 8px 0 5px !important;
    padding: 5px 0 !important;

    border: 0 !important;
    border-top: 1px solid #eee9df !important;

    background: transparent !important;
}

.ah-travel-page .ah-travel-regional-label {
    flex: 0 0 auto;

    margin: 0 !important;
    padding: 0 !important;

    color: #98783b !important;

    font-size: 7px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: .06em !important;

    white-space: nowrap;
}

.ah-travel-page .ah-travel-regional-copy {
    margin: 0 !important;
    padding: 0 !important;

    max-width: none !important;

    color: #858b90 !important;

    font-size: 7px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
}

.ah-travel-page .ah-travel-regional-copy strong {
    color: #737b81 !important;
    font-size: inherit !important;
    font-weight: 700 !important;
}


@media (max-width: 700px) {

    .ah-travel-page .ah-travel-regional-footnote {
        display: block !important;
    }

    .ah-travel-page .ah-travel-regional-label {
        display: block;
        margin-bottom: 2px !important;
    }

}


/* ==========================================================
   TRAVEL LISTINGS — PREMIUM EDITORIAL TREATMENT
   ========================================================== */


/* Shared card personality */

.ah-travel-page .ah-travel-listing-card,
.ah-travel-page .ah-transit-card {
    position: relative;

    border: 1px solid #e2ded5;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fdfbf7 100%
        );

    box-shadow:
        0 4px 14px rgba(23, 55, 84, .045);

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}


.ah-travel-page .ah-travel-listing-card:hover,
.ah-travel-page .ah-transit-card:hover {
    transform: translateY(-2px);

    border-color: #cfbd95;

    box-shadow:
        0 9px 24px rgba(23, 55, 84, .09);
}


/* ==========================================================
   TYPOGRAPHY
   ========================================================== */

.ah-travel-page .ah-airport-card h3,
.ah-travel-page .ah-transit-card h3,
.ah-travel-page .ah-rail-card h3,
.ah-travel-page .ah-road-feature h3 {
    margin-top: 5px;

    color: #173754;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 17px;
    font-weight: 600;
    line-height: 1.16;

    letter-spacing: -.015em;
}


.ah-travel-page .ah-airport-card p,
.ah-travel-page .ah-transit-card p,
.ah-travel-page .ah-rail-card p,
.ah-travel-page .ah-road-feature p {
    color: #626d75;

    font-size: 10px;
    line-height: 1.65;
}


/* ==========================================================
   VISUAL CATEGORY BADGES
   ========================================================== */

.ah-listing-topline {
    display: flex;
    align-items: center;
    gap: 8px;

    margin-bottom: 5px;
}


.ah-category-visual {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 40px;
    height: 24px;

    padding: 0 8px;

    border-radius: 6px;

    background: #173754;

    color: #fff;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 7px;
    font-weight: 800;

    letter-spacing: .11em;
}


/* ==========================================================
   AIRPORT CODE — MAKE IT A VISUAL ELEMENT
   ========================================================== */

.ah-travel-page .ah-airport-code {
    display: flex;
    align-items: center;
    justify-content: center;

    min-width: 52px;
    height: 52px;

    padding: 0;

    border-radius: 10px;

    background:
        linear-gradient(
            145deg,
            #173754,
            #285b82
        );

    color: #fff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 15px;
    font-weight: 700;

    letter-spacing: .07em;

    box-shadow:
        0 5px 12px rgba(23, 55, 84, .14);
}


.ah-travel-page .ah-airport-card-head {
    align-items: center;
    gap: 13px;
}


.ah-travel-page .ah-airport-card-head small {
    font-size: 8.5px;
    line-height: 1.4;
}


.ah-travel-page .ah-airport-stat {
    margin-top: 15px;

    padding-top: 11px;

    border-top: 1px solid #eeeae2;
}


.ah-travel-page .ah-airport-stat strong {
    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 13px;
    font-weight: 600;
}


.ah-travel-page .ah-airport-stat span {
    margin-top: 3px;

    font-size: 8.5px;
    line-height: 1.45;
}


/* ==========================================================
   TRANSIT CARDS
   ========================================================== */

.ah-travel-page .ah-transit-card {
    padding: 17px 18px;
}


.ah-travel-page .ah-transit-local {
    border-color: #d7c69e;

    background:
        linear-gradient(
            180deg,
            #fffdf8 0%,
            #faf6ed 100%
        );
}


.ah-travel-page .ah-transit-card small {
    display: block;

    margin-top: 7px;

    color: #81898e;

    font-size: 8.5px;
    line-height: 1.45;
}


/* ==========================================================
   LINKS ON LISTINGS
   ========================================================== */

.ah-listing-action {
    display: inline-flex;
    align-items: center;

    margin-top: 12px;

    color: #8b6a2f;

    font-size: 8.5px;
    font-weight: 800;

    line-height: 1.2;
    letter-spacing: .025em;

    text-decoration: none;

    transition:
        color .15s ease,
        transform .15s ease;
}


.ah-listing-action:hover {
    color: #173754;

    transform: translateX(2px);

    text-decoration: none;
}


.ah-section-listing-action {
    margin-top: 10px;
}


/* ==========================================================
   RAIL
   ========================================================== */

.ah-travel-page .ah-rail-card {
    padding: 22px;

    border-color: #e1ddd4;
}


.ah-travel-page .ah-rail-route {
    padding: 14px 16px;

    border-radius: 9px;

    background: #f7f4ee;
}


.ah-travel-page .ah-rail-route small {
    font-size: 7px;
}


.ah-travel-page .ah-rail-route strong {
    margin-top: 3px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 10px;
    font-weight: 600;
}


/* ==========================================================
   HIGHWAY
   ========================================================== */

.ah-travel-page .ah-road-feature {
    padding: 22px;

    border: 1px solid #e1ddd4;

    background:
        linear-gradient(
            135deg,
            #f8f5ef 0%,
            #fff 100%
        );
}


.ah-travel-page .ah-road-shield {
    box-shadow:
        0 5px 14px rgba(23, 55, 84, .08);
}


/* ==========================================================
   TOLL CARDS
   ========================================================== */

.ah-travel-page .ah-toll-grid article {
    position: relative;

    padding: 17px 18px;

    border: 1px solid #e3ded4;

    background:
        linear-gradient(
            180deg,
            #faf7f1 0%,
            #fff 100%
        );

    box-shadow:
        0 4px 12px rgba(23, 55, 84, .04);
}


.ah-travel-page .ah-toll-grid strong {
    margin-top: 7px;

    font-size: 27px;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 700px) {

    .ah-travel-page .ah-airport-code {
        min-width: 46px;
        height: 46px;

        font-size: 13px;
    }

    .ah-travel-page .ah-airport-card h3,
    .ah-travel-page .ah-transit-card h3,
    .ah-travel-page .ah-rail-card h3,
    .ah-travel-page .ah-road-feature h3 {
        font-size: 16px;
    }

}


/* ==========================================================
   TRAVEL — PREMIUM INTERACTIVE LISTINGS
   ========================================================== */


/* Shared listing cards */

.ah-travel-page .ah-travel-card,
.ah-travel-page .ah-transit-card {
    position: relative;

    border: 1px solid #e3dfd6;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fcfaf6 100%
        );

    box-shadow:
        0 5px 18px rgba(23, 55, 84, .055);

    transition:
        transform .20s ease,
        box-shadow .20s ease,
        border-color .20s ease;
}


.ah-travel-page .ah-travel-card:hover,
.ah-travel-page .ah-transit-card:hover {
    transform: translateY(-3px);

    border-color: #ccb889;

    box-shadow:
        0 12px 28px rgba(23, 55, 84, .11);
}


/* ==========================================================
   LISTING TITLES
   ========================================================== */

.ah-travel-page .ah-airport-card h3,
.ah-travel-page .ah-transit-card h3,
.ah-travel-page .ah-rail-card h3,
.ah-travel-page .ah-road-feature h3 {
    color: #163956;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 18px;
    font-weight: 600;
    line-height: 1.15;

    letter-spacing: -.015em;
}


.ah-travel-page .ah-airport-card p,
.ah-travel-page .ah-transit-card p,
.ah-travel-page .ah-rail-card p,
.ah-travel-page .ah-road-feature p {
    color: #5f6b74;

    font-size: 10px;
    line-height: 1.65;
}


/* ==========================================================
   AIRPORT VISUAL
   ========================================================== */

.ah-travel-page .ah-airport-code {
    display: flex;
    align-items: center;
    justify-content: center;

    min-width: 58px;
    height: 58px;

    padding: 0;

    border-radius: 12px;

    background:
        linear-gradient(
            145deg,
            #153a59,
            #2e6388
        );

    color: #fff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 16px;
    font-weight: 700;

    letter-spacing: .08em;

    box-shadow:
        0 7px 16px rgba(23, 55, 84, .18);
}


.ah-travel-page .ah-airport-card-head {
    align-items: center;
    gap: 14px;
}


.ah-travel-page .ah-airport-card-head small {
    color: #8a9195;
    font-size: 8.5px;
}


.ah-travel-page .ah-airport-stat {
    margin-top: 15px;
    padding-top: 12px;

    border-top: 1px solid #ede8de;
}


.ah-travel-page .ah-airport-stat strong {
    color: #173754;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 14px;
    font-weight: 600;
}


.ah-travel-page .ah-airport-stat span {
    margin-top: 3px;

    font-size: 8.5px;
}


/* ==========================================================
   BUS / RAIL VISUALS
   ========================================================== */

.ah-travel-card-heading {
    display: flex;
    align-items: center;
    gap: 9px;

    margin-bottom: 6px;
}


.ah-travel-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 44px;
    height: 25px;

    padding: 0 9px;

    border-radius: 6px;

    background: #173754;

    color: #fff;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 7px;
    font-weight: 800;

    letter-spacing: .11em;
}


.ah-travel-page .ah-transit-card {
    padding: 18px 19px;
}


.ah-travel-page .ah-transit-local {
    border-color: #d5c28f;

    background:
        linear-gradient(
            180deg,
            #fffdf8 0%,
            #f9f4e9 100%
        );
}


.ah-travel-page .ah-transit-card small {
    display: block;

    margin-top: 8px;

    color: #7c868c;

    font-size: 8.5px;
    line-height: 1.5;
}


/* ==========================================================
   CLICKABLE ACTIONS
   ========================================================== */

.ah-travel-card-link {
    display: inline-flex;
    align-items: center;

    margin-top: 13px;

    color: #997638;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: .015em;
    line-height: 1.2;

    text-decoration: none;

    transition:
        color .15s ease,
        transform .15s ease;
}


.ah-travel-card-link:hover {
    color: #173754;

    transform: translateX(3px);

    text-decoration: none;
}


/* ==========================================================
   RAIL
   ========================================================== */

.ah-travel-page .ah-rail-card {
    padding: 22px 24px;
}


.ah-travel-page .ah-rail-route {
    padding: 15px 17px;

    border: 1px solid #eee8dc;
    border-radius: 10px;

    background: #f7f4ed;
}


.ah-travel-page .ah-rail-route small {
    font-size: 7px;
}


.ah-travel-page .ah-rail-route strong {
    margin-top: 3px;

    color: #294760;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 10px;
    font-weight: 600;
}


/* ==========================================================
   HIGHWAY
   ========================================================== */

.ah-travel-page .ah-road-feature {
    padding: 22px 24px;

    border: 1px solid #dfdbd1;

    background:
        linear-gradient(
            135deg,
            #f7f4ed 0%,
            #ffffff 100%
        );

    box-shadow:
        0 5px 18px rgba(23, 55, 84, .045);
}


.ah-travel-page .ah-road-shield {
    background: #fff;

    box-shadow:
        0 6px 15px rgba(23, 55, 84, .10);
}


/* ==========================================================
   TOLLS
   ========================================================== */

.ah-travel-page .ah-toll-grid article {
    padding: 18px 20px;

    border: 1px solid #e1dcd2;

    background:
        linear-gradient(
            180deg,
            #faf7f0 0%,
            #ffffff 100%
        );

    box-shadow:
        0 5px 15px rgba(23, 55, 84, .045);

    transition:
        transform .18s ease,
        box-shadow .18s ease;
}


.ah-travel-page .ah-toll-grid article:hover {
    transform: translateY(-2px);

    box-shadow:
        0 9px 22px rgba(23, 55, 84, .08);
}


.ah-travel-page .ah-toll-grid strong {
    margin-top: 7px;

    color: #173754;

    font-size: 29px;
}


/* ==========================================================
   LOCAL AIRPORT
   ========================================================== */

.ah-travel-page .ah-local-airport {
    border-color: #ddcfad;

    background:
        linear-gradient(
            135deg,
            #f8f3e9 0%,
            #fff 100%
        );

    box-shadow:
        0 5px 16px rgba(23, 55, 84, .045);
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 700px) {

    .ah-travel-page .ah-airport-code {
        min-width: 48px;
        height: 48px;

        font-size: 14px;
    }

    .ah-travel-page .ah-airport-card h3,
    .ah-travel-page .ah-transit-card h3,
    .ah-travel-page .ah-rail-card h3,
    .ah-travel-page .ah-road-feature h3 {
        font-size: 16px;
    }

}


/* ==========================================================
   TRAVEL & TRANSPORTATION
   FINAL VISUAL CONSISTENCY PASS

   Goal:
   - Match the visual language of Getting Around Napa Valley
   - Preserve existing page structure
   - Improve readability
   - Keep cards editorial rather than dashboard-like
   ========================================================== */


/* ==========================================================
   ALL TRAVEL SECTION HEADINGS
   ========================================================== */

.ah-travel-page .ah-travel-section {
    margin-top: 18px;
}

.ah-travel-page .ah-travel-section > .ah-kicker {
    display: block;

    margin-bottom: 4px;

    color: #a47d34;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    font-size: 7px;
    font-weight: 800;
    line-height: 1;

    letter-spacing: .11em;
}

.ah-travel-page .ah-travel-section > h2 {
    margin: 0 0 5px;

    color: #173754;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 20px;
    font-weight: 600;
    line-height: 1.12;

    letter-spacing: -.02em;
}

.ah-travel-page .ah-data-context {
    margin: 3px 0 12px;

    color: #68737b;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    font-size: 9px;
    line-height: 1.5;
}


/* ==========================================================
   AIRPORTS
   Make these read like listings rather than giant code bars
   ========================================================== */

.ah-travel-page .ah-airport-grid {
    display: grid !important;

    grid-template-columns: 1fr !important;

    gap: 8px !important;

    margin-top: 12px !important;
}


.ah-travel-page .ah-airport-card {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        145px !important;

    grid-template-areas:
        "airport-head airport-stat"
        "airport-copy airport-link" !important;

    gap: 7px 18px !important;

    align-items: center !important;

    margin: 0 !important;

    padding: 13px 15px !important;

    border: 1px solid #e5e0d7 !important;
    border-radius: 9px !important;

    background: #fff !important;

    box-shadow:
        0 2px 8px rgba(23, 55, 84, .035) !important;
}


.ah-travel-page .ah-airport-card:hover {
    transform: translateY(-1px) !important;

    border-color: #d3c49f !important;

    box-shadow:
        0 6px 16px rgba(23, 55, 84, .07) !important;
}


.ah-travel-page .ah-airport-card-head {
    grid-area: airport-head;

    display: flex !important;
    align-items: center !important;

    gap: 11px !important;

    margin: 0 !important;
}


/* Important:
   override the earlier large blue strip treatment */

.ah-travel-page .ah-airport-card-head > span,
.ah-travel-page .ah-airport-code {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;

    height: 34px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 6px !important;

    background: #173f60 !important;

    color: #fff !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif !important;

    font-size: 8px !important;
    font-weight: 800 !important;

    line-height: 1 !important;
    letter-spacing: .08em !important;

    box-shadow: none !important;
}


.ah-travel-page .ah-airport-card h3 {
    margin: 0 0 2px !important;

    color: #173754 !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 14px !important;
    font-weight: 600 !important;

    line-height: 1.15 !important;
}


.ah-travel-page .ah-airport-card-head small {
    display: block;

    color: #7c858b !important;

    font-size: 8px !important;
    line-height: 1.3 !important;
}


.ah-travel-page .ah-airport-stat {
    grid-area: airport-stat;

    display: flex !important;
    flex-direction: column !important;

    align-items: flex-end !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
}


.ah-travel-page .ah-airport-stat strong {
    color: #173754 !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 13px !important;
    font-weight: 600 !important;
}


.ah-travel-page .ah-airport-stat span {
    margin-top: 2px !important;

    color: #7b858b !important;

    font-size: 7.5px !important;
    line-height: 1.35 !important;

    text-align: right;
}


.ah-travel-page .ah-airport-card > p {
    grid-area: airport-copy;

    margin: 2px 0 0 !important;

    color: #667179 !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif !important;

    font-size: 8.5px !important;
    line-height: 1.5 !important;
}


.ah-travel-page .ah-airport-card > .ah-travel-card-link {
    grid-area: airport-link;

    justify-self: end;

    margin: 0 !important;

    white-space: nowrap;
}


/* ==========================================================
   LOCAL NAPA COUNTY AIRPORT
   Bring it into same visual family
   ========================================================== */

.ah-travel-page .ah-local-airport {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        180px !important;

    gap: 20px !important;

    margin: 11px 0 8px !important;

    padding: 14px 16px !important;

    border: 1px solid #dfd7c6 !important;
    border-radius: 9px !important;

    background:
        linear-gradient(
            135deg,
            #fbf8f1 0%,
            #fff 100%
        ) !important;

    box-shadow: none !important;
}


.ah-travel-page .ah-local-airport h3 {
    margin: 3px 0 5px !important;

    font-size: 15px !important;
}


.ah-travel-page .ah-local-airport p {
    max-width: 620px;

    font-size: 8.5px !important;
    line-height: 1.5 !important;
}


.ah-travel-page .ah-airport-type {
    padding-left: 15px !important;

    border-left:
        1px solid #e1dbcf !important;
}


.ah-travel-page .ah-airport-type strong {
    font-size: 9px !important;
}


.ah-travel-page .ah-airport-type span {
    font-size: 7.5px !important;
    line-height: 1.4 !important;
}


/* ==========================================================
   GETTING AROUND
   Keep what works — just polish typography
   ========================================================== */

.ah-travel-page .ah-transit-grid {
    gap: 7px !important;
}


.ah-travel-page .ah-transit-card {
    padding: 12px 14px !important;

    border-radius: 8px !important;

    box-shadow: none !important;
}


.ah-travel-page .ah-transit-card:hover {
    transform: translateY(-1px) !important;

    box-shadow:
        0 5px 13px rgba(23, 55, 84, .055) !important;
}


.ah-travel-page .ah-transit-card h3 {
    margin: 3px 0 4px !important;

    font-size: 13px !important;
}


.ah-travel-page .ah-transit-card p {
    margin: 4px 0 !important;

    font-size: 8.5px !important;
    line-height: 1.5 !important;
}


.ah-travel-page .ah-transit-card small {
    font-size: 7.5px !important;
}


/* Text underneath the Getting Around cards */

.ah-travel-page .ah-regional-transit-note,
.ah-travel-page .ah-travel-note {
    margin: 8px 0 0 !important;

    color: #6e7880 !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif !important;

    font-size: 8.5px !important;
    font-weight: 400 !important;

    line-height: 1.55 !important;
}


.ah-travel-page .ah-regional-transit-note strong {
    color: #59666f !important;

    font-size: inherit !important;
}


/* ==========================================================
   TRAIN & INTERCITY
   Preserve layout — improve type below and inside
   ========================================================== */

.ah-travel-page .ah-rail-card {
    margin-top: 10px !important;

    padding: 15px 16px !important;

    border-radius: 9px !important;

    box-shadow: none !important;
}


.ah-travel-page .ah-rail-card h3 {
    margin: 3px 0 5px !important;

    font-size: 14px !important;
}


.ah-travel-page .ah-rail-card p {
    margin: 5px 0 !important;

    font-size: 8.5px !important;
    line-height: 1.5 !important;
}


.ah-travel-page .ah-rail-route {
    padding: 11px 13px !important;

    border-radius: 7px !important;

    background: #f8f5ef !important;
}


.ah-travel-page .ah-rail-route strong {
    font-size: 8.5px !important;
}


/* ==========================================================
   HIGHWAYS
   Convert text blocks into same clean card system
   ========================================================== */

.ah-travel-page .ah-road-feature {
    grid-template-columns:
        58px
        minmax(0, 1fr) !important;

    gap: 14px !important;

    margin-top: 10px !important;

    padding: 14px 16px !important;

    border: 1px solid #e3dfd6 !important;
    border-radius: 9px !important;

    background: #fff !important;

    box-shadow: none !important;
}


.ah-travel-page .ah-road-shield {
    width: 48px !important;
    height: 53px !important;

    border-width: 2px !important;
    border-radius: 17px 17px 13px 13px !important;

    font-size: 17px !important;

    box-shadow: none !important;
}


.ah-travel-page .ah-road-feature h3 {
    margin: 3px 0 4px !important;

    font-size: 14px !important;
}


.ah-travel-page .ah-road-feature p,
.ah-travel-page .ah-road-feature small {
    font-size: 8.5px !important;
    line-height: 1.5 !important;
}


.ah-travel-page .ah-road-note-grid {
    display: grid !important;

    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;

    gap: 8px !important;

    margin-top: 8px !important;
}


.ah-travel-page .ah-road-note-grid article {
    min-height: 92px;

    padding: 12px 13px !important;

    border: 1px solid #e5e1d8 !important;
    border-radius: 8px !important;

    background: #fff !important;
}


.ah-travel-page .ah-road-note-grid h3 {
    margin: 0 0 5px !important;

    color: #173754 !important;

    font-size: 12px !important;
}


.ah-travel-page .ah-road-note-grid p {
    margin: 0 !important;

    color: #69747b !important;

    font-size: 8px !important;
    line-height: 1.5 !important;
}


/* ==========================================================
   TOLLS
   Make these editorial statistic cards
   ========================================================== */

.ah-travel-page .ah-toll-grid {
    display: grid !important;

    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;

    gap: 8px !important;

    max-width: none !important;

    margin-top: 10px !important;
}


.ah-travel-page .ah-toll-grid article {
    position: relative;

    min-height: 90px;

    padding: 13px 15px !important;

    border: 1px solid #e3dfd5 !important;
    border-radius: 8px !important;

    background:
        linear-gradient(
            135deg,
            #fbf8f1 0%,
            #fff 100%
        ) !important;

    box-shadow: none !important;
}


.ah-travel-page .ah-toll-grid article::before {
    content: "TOLL";

    display: inline-flex;

    margin-bottom: 6px;
    padding: 3px 6px;

    border-radius: 4px;

    background: #173f60;

    color: #fff;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    font-size: 6px;
    font-weight: 800;

    letter-spacing: .08em;
}


.ah-travel-page .ah-toll-grid small {
    display: block;

    color: #8d7138 !important;

    font-size: 6.5px !important;
}


.ah-travel-page .ah-toll-grid strong {
    display: block;

    margin: 3px 0 1px !important;

    color: #173754 !important;

    font-size: 23px !important;
}


.ah-travel-page .ah-toll-grid span {
    color: #727d84 !important;

    font-size: 7.5px !important;
}


/* ==========================================================
   LINKS
   Same treatment everywhere
   ========================================================== */

.ah-travel-page .ah-travel-card-link {
    color: #9b742e !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif !important;

    font-size: 7.5px !important;
    font-weight: 800 !important;

    text-decoration: none !important;
}


.ah-travel-page .ah-travel-card-link:hover {
    color: #173754 !important;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 760px) {

    .ah-travel-page .ah-airport-card {
        grid-template-columns: 1fr !important;

        grid-template-areas:
            "airport-head"
            "airport-stat"
            "airport-copy"
            "airport-link" !important;
    }

    .ah-travel-page .ah-airport-stat {
        align-items: flex-start !important;
    }

    .ah-travel-page .ah-airport-stat span {
        text-align: left;
    }

    .ah-travel-page .ah-airport-card > .ah-travel-card-link {
        justify-self: start;
    }

    .ah-travel-page .ah-local-airport {
        grid-template-columns: 1fr !important;
    }

    .ah-travel-page .ah-airport-type {
        padding: 9px 0 0 !important;

        border-left: 0 !important;
        border-top:
            1px solid #e1dbcf !important;
    }

    .ah-travel-page .ah-road-note-grid,
    .ah-travel-page .ah-toll-grid {
        grid-template-columns: 1fr !important;
    }

}


/* ==========================================================
   TRAVEL — LOCAL AIRPORT TYPOGRAPHY
   ========================================================== */

.ah-travel-page .ah-local-airport {
    align-items: center !important;

    padding: 15px 17px !important;

    border-radius: 9px !important;
}


/* Main airport name */

.ah-travel-page .ah-local-airport h3 {
    margin: 3px 0 5px !important;

    color: #173754 !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;

    line-height: 1.15 !important;
    letter-spacing: -.015em !important;
}


/* Local Airport kicker */

.ah-travel-page .ah-local-airport .ah-travel-label {
    color: #9a7839 !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 8px !important;
    font-weight: 700 !important;

    letter-spacing: .045em !important;
}


/* General Aviation title on right */

.ah-travel-page .ah-airport-type strong {
    color: #173754 !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 12px !important;
    font-weight: 600 !important;

    line-height: 1.2 !important;
}


/* Supporting copy remains readable sans-serif */

.ah-travel-page .ah-local-airport p,
.ah-travel-page .ah-airport-type span {
    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif !important;

    color: #69747b !important;
}



/* ==========================================================
   TRAVEL — HIGHWAYS & ROAD ACCESS
   ========================================================== */

.ah-travel-page .ah-road-feature {
    position: relative;

    display: grid !important;

    grid-template-columns:
        54px
        minmax(0, 1fr) !important;

    align-items: start !important;

    gap: 15px !important;

    padding: 15px 17px !important;

    border: 1px solid #e3dfd6 !important;
    border-radius: 9px !important;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fcfaf6 100%
        ) !important;

    box-shadow: none !important;
}


/* Highway shield becomes a smaller visual marker */

.ah-travel-page .ah-road-shield {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 45px !important;
    height: 45px !important;

    border: 0 !important;
    border-radius: 8px !important;

    background: #173f60 !important;

    color: #fff !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 16px !important;
    font-weight: 700 !important;

    box-shadow: none !important;
}


/* PRIMARY CORRIDOR */

.ah-travel-page .ah-road-feature .ah-travel-label {
    color: #98783b !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 8px !important;
    font-weight: 700 !important;

    letter-spacing: .04em !important;
}


/* Highway 29 */

.ah-travel-page .ah-road-feature h3 {
    margin: 3px 0 5px !important;

    color: #173754 !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;

    line-height: 1.15 !important;
}


/* Highway explanatory text */

.ah-travel-page .ah-road-feature p,
.ah-travel-page .ah-road-feature small {
    color: #68737b !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif !important;

    font-size: 8.5px !important;
    line-height: 1.55 !important;
}


/* Three road information cards */

.ah-travel-page .ah-road-note-grid {
    gap: 8px !important;

    margin-top: 8px !important;
}


.ah-travel-page .ah-road-note-grid article {
    min-height: 82px !important;

    padding: 12px 13px !important;

    border: 1px solid #e6e2da !important;
    border-radius: 8px !important;

    background: #fff !important;
}


.ah-travel-page .ah-road-note-grid h3 {
    margin: 0 0 5px !important;

    color: #173754 !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 12px !important;
    font-weight: 600 !important;
}


.ah-travel-page .ah-road-note-grid p {
    margin: 0 !important;

    color: #69747b !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif !important;

    font-size: 8px !important;
    line-height: 1.5 !important;
}



/* ==========================================================
   TRAVEL — BAY AREA TOLLS
   ========================================================== */

.ah-travel-page .ah-toll-grid article {
    min-height: 76px !important;

    padding: 12px 14px !important;

    border-radius: 8px !important;

    box-shadow: none !important;
}


.ah-travel-page .ah-toll-grid article::before {
    margin-bottom: 4px !important;

    padding: 2px 5px !important;

    font-size: 5.5px !important;
}


/* Reduce price emphasis */

.ah-travel-page .ah-toll-grid strong {
    margin: 3px 0 1px !important;

    color: #173754 !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 17px !important;
    font-weight: 600 !important;

    line-height: 1.1 !important;
}


.ah-travel-page .ah-toll-grid small {
    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 7px !important;
    font-weight: 600 !important;
}


.ah-travel-page .ah-toll-grid span {
    font-size: 7.5px !important;
    line-height: 1.35 !important;
}



/* ==========================================================
   TRAVEL — PREMIUM PARTNER BANNERS
   ========================================================== */

.ah-travel-premium-banner {
    display: grid;

    grid-template-columns:
        105px
        minmax(0, 1fr);

    align-items: stretch;

    margin: 14px 0;

    overflow: hidden;

    border: 1px solid #d8c595;
    border-radius: 9px;

    background:
        linear-gradient(
            90deg,
            #f7f1e5 0%,
            #fffdf9 45%,
            #ffffff 100%
        );
}


.ah-travel-premium-label {
    display: flex;

    align-items: center;
    justify-content: center;

    padding: 12px;

    background: #173f60;

    color: #fff;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    font-size: 6.5px;
    font-weight: 800;

    line-height: 1.25;
    letter-spacing: .09em;

    text-align: center;
}


.ah-travel-premium-content {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 11px 15px;
}


.ah-travel-premium-content > div {
    display: flex;
    flex-direction: column;
}


.ah-travel-premium-content strong {
    color: #173754;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 13px;
    font-weight: 600;

    line-height: 1.2;
}


.ah-travel-premium-content span {
    margin-top: 3px;

    color: #727b81;

    font-size: 7.5px;
    line-height: 1.4;
}


.ah-travel-premium-content a {
    flex: 0 0 auto;

    color: #97732f;

    font-size: 7.5px;
    font-weight: 800;

    text-decoration: none;

    white-space: nowrap;
}


.ah-travel-premium-content a:hover {
    color: #173754;
}


@media (max-width: 700px) {

    .ah-travel-premium-banner {
        grid-template-columns: 1fr;
    }

    .ah-travel-premium-label {
        justify-content: flex-start;

        padding: 6px 11px;
    }

    .ah-travel-premium-content {
        padding: 10px 12px;
    }

}



/* ==========================================================
   NEWS & FEATURES — REAL ARTICLE FEED
   ========================================================== */

.ah-news-real-story {
    display: flex;
    flex-direction: column;

    min-height: 330px;

    border: 1px solid #e3e0da;

    background: #fff;

    box-shadow:
        0 4px 15px rgba(23, 55, 84, .045);

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}


.ah-news-real-story:hover {
    transform: translateY(-2px);

    border-color: #d3c49f;

    box-shadow:
        0 9px 23px rgba(23, 55, 84, .09);
}


.ah-story-image-real {
    overflow: hidden;
}


.ah-story-image-real img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}


.ah-story-image-placeholder {
    display: flex;

    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #ddd7cc,
            #f3f0e9
        );
}


.ah-story-image-placeholder span {
    color: rgba(23, 55, 84, .42);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: .17em;
}


.ah-story-eyebrow {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 8px;
}


.ah-story-eyebrow small {
    color: #9a7839;

    font-size: 7px;
    font-weight: 800;

    letter-spacing: .1em;

    text-transform: uppercase;
}


.ah-story-eyebrow > span {
    padding: 3px 6px;

    border-radius: 4px;

    background: #f3efe6;

    color: #7c6a49;

    font-size: 6.5px;
    font-weight: 800;

    letter-spacing: .05em;
}


.ah-story-subtitle {
    margin: -2px 0 7px;

    color: #667179;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 10px;
    line-height: 1.4;
}


.ah-story-meta {
    display: flex;
    flex-wrap: wrap;

    gap: 4px 9px;

    margin-bottom: 7px;

    color: #92989c;

    font-size: 7px;
    line-height: 1.35;
}


.ah-story-meta span + span::before {
    content: "•";

    margin-right: 9px;

    color: #c0b5a2;
}


.ah-news-real-story .ah-story-content p {
    color: #657078;

    font-size: 9px;
    line-height: 1.55;
}


.ah-story-guide-label {
    display: inline-block;

    color: #967132;

    font-size: 8px;
    font-weight: 800;
}


.ah-news-pagination {
    display: flex;

    align-items: center;
    justify-content: space-between;

    margin-top: 18px;
    padding-top: 13px;

    border-top: 1px solid #e2ded6;
}


.ah-news-pagination a {
    color: #174c81;

    font-size: 9px;
    font-weight: 800;

    text-decoration: none;
}


.ah-news-empty {
    margin: 12px 0 22px;

    padding: 34px 30px;

    border: 1px solid #e4e0d8;
    border-radius: 10px;

    background:
        linear-gradient(
            135deg,
            #faf7f0,
            #fff
        );

    text-align: center;
}


.ah-news-empty h3 {
    margin: 5px 0 6px;

    color: #173754;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 19px;
    font-weight: 600;
}


.ah-news-empty p {
    max-width: 480px;

    margin:
        0
        auto
        10px;

    color: #68737b;

    font-size: 9px;
    line-height: 1.55;
}


.ah-news-empty a {
    color: #967132;

    font-size: 8px;
    font-weight: 800;

    text-decoration: none;
}


.ah-news-regional-note {
    display: flex;

    align-items: baseline;

    gap: 6px;

    margin: 10px 0 4px;
    padding-top: 5px;

    border-top: 1px solid #eee9df;

    color: #858b90;

    font-size: 7px;
    line-height: 1.4;
}


.ah-news-regional-note > span {
    flex: 0 0 auto;

    color: #98783b;

    font-size: 7px;
    font-weight: 800;

    letter-spacing: .05em;
}


.ah-news-regional-note p {
    margin: 0;
}


.ah-news-regional-note strong {
    color: #737b81;

    font-size: inherit;
}


@media (max-width: 650px) {

    .ah-story-meta span + span::before {
        display: none;
    }

    .ah-news-regional-note {
        display: block;
    }

    .ah-news-regional-note > span {
        display: block;

        margin-bottom: 2px;
    }

}



/* ==========================================================
   NEWS & FEATURES — 4 STORIES PER ROW
   4 ROWS / 16 STORIES PER PAGE
   ========================================================== */

.ah-news-grid.ah-news-four {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 12px;

    margin-top: 12px;
}


.ah-news-four + .ah-news-four {
    margin-top: 12px;
}


/* Slightly tighter cards for four-column editorial layout */

.ah-news-four .ah-story-card {
    min-width: 0;
    min-height: 285px;
}


.ah-news-four .ah-story-image {
    height: 135px;
}


.ah-news-four .ah-story-content {
    padding: 12px !important;
}


.ah-news-four .ah-story-content h3 {
    margin: 5px 0 6px;

    font-size: 14px;
    line-height: 1.2;
}


.ah-news-four .ah-story-subtitle {
    font-size: 9px;
}


.ah-news-four .ah-story-content p {
    min-height: 0;

    font-size: 8.5px;
    line-height: 1.5;
}


.ah-news-four .ah-story-meta {
    font-size: 6.8px;
}


/* Premier banner becomes the visual break
   after every two rows */

.ah-news-four + .ah-news-premium-banner {
    margin-top: 20px;
}


.ah-news-premium-banner + .ah-news-four {
    margin-top: 20px;
}


/* ==========================================================
   RESPONSIVE NEWS GRID
   ========================================================== */

@media (max-width: 1050px) {

    .ah-news-grid.ah-news-four {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 650px) {

    .ah-news-grid.ah-news-four {
        grid-template-columns: 1fr;
    }

    .ah-news-four .ah-story-image {
        height: 190px;
    }

}



/* ==========================================================
   NEWS — MORE STORIES BUTTON
   ========================================================== */

.ah-news-pagination {
    margin-top: 22px !important;
}


.ah-news-pagination .ah-news-more {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 125px;

    padding: 10px 15px;

    border-radius: 7px;

    background: #173f60;

    color: #fff !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    font-size: 9px;
    font-weight: 800;

    text-decoration: none;

    transition:
        transform .16s ease,
        background .16s ease;
}


.ah-news-pagination .ah-news-more:hover {
    transform: translateY(-1px);

    background: #24577e;
}


/* ==========================================================
   NEWS ARCHIVE — PAGE 6+
   ========================================================== */

.ah-news-archive {
    margin-top: 10px;

    border-top: 1px solid #ddd9d1;
}


.ah-news-headline-row {
    display: grid;

    grid-template-columns:
        145px
        minmax(0, 1fr);

    gap: 18px;

    align-items: center;

    padding: 10px 3px;

    border-bottom:
        1px solid #e8e4dc;
}


.ah-news-headline-meta {
    display: flex;
    flex-direction: column;

    gap: 3px;
}


.ah-news-headline-meta span {
    color: #9a7839;

    font-size: 7px;
    font-weight: 800;

    letter-spacing: .08em;

    text-transform: uppercase;
}


.ah-news-headline-meta time {
    color: #90979b;

    font-size: 7px;
}


.ah-news-headline-row h3 {
    margin: 0;

    color: #173754;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 13px;
    font-weight: 600;

    line-height: 1.25;
}


.ah-news-headline-row h3 a {
    color: inherit;

    text-decoration: none;
}


.ah-news-headline-row h3 a:hover {
    color: #98722f;
}


/* Sponsor separates headline 15 from 16 */

.ah-news-archive
+ .ah-news-premium-banner {
    margin-top: 18px;
    margin-bottom: 18px;
}


@media (max-width: 650px) {

    .ah-news-headline-row {
        grid-template-columns: 1fr;

        gap: 4px;
    }

    .ah-news-headline-meta {
        flex-direction: row;

        gap: 10px;
    }

}



/* ==========================================================
   CLICK FOR MORE -- links from the Business & Economy
   employer table to the full Top/Major/Biggest Employers
   directory page.
   ========================================================== */

.ah-employer-more-link {
    display: inline-block;
    margin-top: 10px;
    color: #174d87;
    font-size: 9.5px;
    font-weight: 700;
    text-decoration: none;
}

.ah-employer-more-link:hover {
    text-decoration: underline;
}

/* Housing page: local-services stat cards double as links (Real
   Estate / Home & Moving categories) -- reset default anchor
   underline/color so they read as cards, not text links. */
a.ah-stat-card {
    text-decoration: none;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}

a.ah-stat-card:hover {
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    transform: translateY(-1px);
}


/* ==========================================================
   TOP, MAJOR & BIGGEST EMPLOYERS DIRECTORY PAGE
   ========================================================== */

.ah-employer-directory-intro {
    margin-bottom: 14px;
}

.ah-employer-directory-intro h1 {
    margin: 0 0 4px;
}

.ah-employer-lead {
    max-width: 760px;
    margin: 6px 0 0;
    color: #4d565e;
    font-size: 12px;
    line-height: 1.6;
}

.ah-employer-list-section {
    margin-top: 18px;
}

.ah-employer-list-heading {
    margin-bottom: 8px;
    padding-bottom: 8px;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    border-bottom: 2px solid #d8c69d;
}

.ah-employer-list-heading h2 {
    margin: 0;
    color: #102d49;
    font-family: Georgia, serif;
    font-size: 19px;
}

.ah-employer-list-heading span {
    color: #8d7138;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.ah-employer-rank-list,
.ah-employer-plain-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ah-employer-rank-row {
    padding: 11px 0;
    display: flex;
    gap: 12px;
    border-top: 1px solid #eef0f1;
}

.ah-employer-rank-row:first-child {
    border-top: none;
}

.ah-employer-rank-num {
    flex: 0 0 auto;
    width: 26px;
    color: #b8862f;
    font-family: Georgia, serif;
    font-size: 17px;
    font-weight: 700;
    text-align: right;
}

.ah-employer-rank-main {
    flex: 1 1 auto;
    min-width: 0;
}

.ah-employer-rank-name-line {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 6px 14px;
}

.ah-employer-rank-name {
    color: #163855;
    font-size: 13px;
    font-weight: 700;
}

.ah-employer-rank-name a {
    color: #163855;
    text-decoration: none;
}

.ah-employer-rank-name a:hover {
    text-decoration: underline;
}

.ah-employer-rank-count {
    flex: 0 0 auto;
    color: #173754;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.ah-employer-rank-est {
    margin-left: 4px;
    color: #a9791e;
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}

.ah-employer-rank-meta,
.ah-employer-plain-meta {
    margin-top: 3px;
    color: #757b80;
    font-size: 9.5px;
    line-height: 1.5;
}

.ah-employer-rank-note,
.ah-employer-plain-note {
    margin-top: 3px;
    color: #8a9195;
    font-size: 9px;
    line-height: 1.5;
}

.ah-employer-plain-row {
    padding: 9px 0;
    border-top: 1px solid #eef0f1;
}

.ah-employer-plain-row:first-child {
    border-top: none;
}

.ah-employer-plain-name {
    color: #163855;
    font-size: 12px;
    font-weight: 700;
}

.ah-employer-plain-name a {
    color: #163855;
    text-decoration: none;
}

.ah-employer-plain-name a:hover {
    text-decoration: underline;
}

.ah-employer-directory-sources p {
    max-width: 900px;
}

@media (max-width: 760px) {

    .ah-employer-rank-name-line {
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
    }

}


/* ==========================================================
   HOME & MOVING HUB
   ========================================================== */

.ah-moving-compare-teaser {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 28px;
    padding: 24px 26px;
    border-radius: 12px;
    background: linear-gradient(135deg, #173754 0%, #24506f 100%);
}

.ah-moving-compare-copy .ah-kicker {
    color: #d7b877;
}

.ah-moving-compare-copy h2 {
    margin: 4px 0 8px;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
}

.ah-moving-compare-copy p {
    max-width: 480px;
    margin: 0;
    color: #cdd9e2;
    font-size: 11px;
    line-height: 1.6;
}

.ah-moving-compare-cta {
    flex-shrink: 0;
    padding: 12px 20px;
    border-radius: 8px;
    background: #d7b877;
    color: #173754;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .03em;
    text-decoration: none;
    white-space: nowrap;
    transition: transform .15s ease;
}

.ah-moving-compare-cta:hover {
    transform: translateY(-1px);
}

.ah-moving-directory-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    margin-top: 6px;
}

.ah-moving-directory-group h4 {
    margin: 0 0 10px;
    color: #8c7445;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ah-moving-directory-group ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ah-moving-directory-group li {
    padding: 9px 0;
    border-bottom: 1px solid #edf0f1;
}

.ah-moving-directory-group li:last-child {
    border-bottom: 0;
}

.ah-moving-directory-group li a {
    display: block;
    color: #174d87;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.ah-moving-directory-group li a:hover {
    text-decoration: underline;
}

.ah-moving-directory-group li span {
    display: block;
    margin-top: 3px;
    color: #737c83;
    font-size: 9.5px;
    line-height: 1.5;
}

.ah-moving-checklist {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-top: 6px;
}

.ah-moving-checklist-phase {
    padding: 15px;
    border-radius: 9px;
    background: #f6f6f4;
}

.ah-moving-checklist-phase h4 {
    margin: 0 0 9px;
    color: #173754;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .03em;
}

.ah-moving-checklist-phase ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ah-moving-checklist-phase li {
    position: relative;
    margin-bottom: 8px;
    padding-left: 14px;
    color: #59646d;
    font-size: 10px;
    line-height: 1.5;
}

.ah-moving-checklist-phase li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 5px;
    width: 6px;
    height: 6px;
    border-radius: 2px;
    background: #b79351;
}

.ah-moving-guide-block {
    margin-bottom: 22px;
}

.ah-moving-guide-block:last-child {
    margin-bottom: 0;
}

.ah-moving-guide-block h4 {
    margin: 0 0 7px;
    color: #173754;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 16px;
}

.ah-moving-guide-block p {
    margin: 0;
    max-width: 700px;
    color: #66717a;
    font-size: 11.5px;
    line-height: 1.7;
}

.ah-moving-guide-block p a {
    color: #164b8b;
    text-decoration: underline;
    text-decoration-color: #c9d3db;
    text-underline-offset: 2px;
}

.ah-moving-guide-block p a:hover {
    color: #a87518;
}


/* MOVING EDITORIAL: TEASER + READ MORE EXPAND */

.ah-moving-editorial .ah-lead {
    max-width: 700px;
    margin: 0 0 16px;
    color: #4d565e;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 14.5px;
    line-height: 1.75;
}

.ah-guide-expand summary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 15px;
    border: 1px solid #153d70;
    border-radius: 8px;
    color: #153d70;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .03em;
    list-style: none;
    cursor: pointer;
}

.ah-guide-expand summary::-webkit-details-marker {
    display: none;
}

.ah-guide-expand summary:hover {
    background: #f4f7fb;
}

.ah-guide-expand[open] summary {
    margin-bottom: 20px;
    background: #153d70;
    color: #fff;
}

.ah-guide-expand-body {
    padding-top: 4px;
}

@media (max-width: 760px) {

    .ah-moving-compare-teaser {
        flex-direction: column;
        align-items: flex-start;
    }

    .ah-moving-directory-grid,
    .ah-moving-checklist {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================
   CITY COMPARISON TOOL
   ========================================================== */

.ah-compare-picker {
    margin-bottom: 24px;
    padding: 22px 24px;
    border: 1px solid #e3dfd7;
    border-radius: 12px;
    background: #fff;
}

.ah-compare-picker h2 {
    margin: 4px 0 10px;
    color: #173754;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
}

.ah-compare-picker-intro {
    max-width: 560px;
    margin: 0 0 18px;
    color: #707980;
    font-size: 11px;
    line-height: 1.6;
}

.ah-compare-picker-form {
    display: flex;
    align-items: flex-end;
    gap: 16px;
    flex-wrap: wrap;
}

.ah-compare-picker-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 180px;
}

.ah-compare-picker-field label {
    color: #8c7445;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.ah-compare-picker-fixed {
    padding: 10px 12px;
    border: 1px solid #e1ddd5;
    border-radius: 8px;
    background: #f6f6f4;
    color: #173754;
    font-size: 12px;
    font-weight: 700;
}

.ah-compare-picker-field select,
.ah-compare-picker-field input[type="text"] {
    padding: 10px 12px;
    border: 1px solid #ccc5b8;
    border-radius: 8px;
    background: #fff;
    color: #173754;
    font-size: 12px;
    font-weight: 700;
    font-family: inherit;
}

.ah-compare-picker-field input[type="text"]::placeholder {
    color: #a7ada2;
    font-weight: 400;
}

.ah-compare-picker-form button {
    padding: 10px 18px;
    border: 0;
    border-radius: 8px;
    background: #173754;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .02em;
    cursor: pointer;
    transition: background .15s ease;
}

.ah-compare-picker-form button:hover {
    background: #24506f;
}

.ah-compare-suggestion {
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-items: flex-start;
}

.ah-compare-suggestion p.ah-regional-section-note {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: #33393f;
}

.ah-compare-suggestion p.ah-regional-section-note strong {
    color: #173754;
}

.ah-compare-suggestion-note {
    font-size: 12px !important;
    color: #6f777d !important;
}

.ah-compare-suggestion-form button {
    padding: 10px 18px;
    border: 0;
    border-radius: 8px;
    background: #173754;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .02em;
    cursor: pointer;
    transition: background .15s ease;
}

.ah-compare-suggestion-form button:hover {
    background: #24506f;
}

.ah-compare-suggestion-form {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    width: 100%;
}

.ah-compare-choice {
    border: 1px solid #e3ddcf;
    border-radius: 10px;
    padding: 14px 16px 12px;
    margin: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: #fbf9f4;
}

.ah-compare-choice legend {
    padding: 0 6px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
    color: #173754;
}

.ah-compare-choice-option {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-size: 14px;
    color: #33393f;
    cursor: pointer;
}

.ah-compare-choice-option input[type="radio"] {
    accent-color: #173754;
    margin: 0;
    flex-shrink: 0;
    transform: translateY(1px);
}

.ah-compare-choice-pop {
    color: #6f777d;
    font-size: 12px;
}

.ah-compare-choice-other {
    flex-wrap: wrap;
    padding-top: 4px;
    margin-top: 2px;
    border-top: 1px dashed #e3ddcf;
}

.ah-compare-choice-other-input {
    flex: 1 1 200px;
    min-width: 160px;
    padding: 6px 10px;
    border: 1px solid #c9c2ae;
    border-radius: 6px;
    font-size: 13px;
    color: #33393f;
    background: #fff;
}

.ah-compare-choice-other-input:focus {
    outline: 2px solid #173754;
    outline-offset: 1px;
}

.ah-compare-picker-vs {
    margin-bottom: 12px;
    color: #a9791e;
    font-size: 10px;
    font-weight: 800;
}

.ah-compare-headline {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 28px;
}

.ah-compare-headline-card {
    flex: 1;
    padding: 20px;
    border: 1px solid #e1ddd5;
    border-radius: 11px;
    background: #fff;
    text-align: center;
}

.ah-compare-headline-card small {
    display: block;
    margin-bottom: 8px;
    color: #8c7445;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ah-compare-headline-card strong {
    display: block;
    color: #173754;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
}

.ah-compare-headline-card span {
    display: block;
    margin-top: 5px;
    color: #7c8389;
    font-size: 9px;
}

.ah-compare-headline-vs {
    flex-shrink: 0;
    color: #a9791e;
    font-size: 11px;
    font-weight: 800;
}

.ah-compare-table {
    margin-top: 4px;
}

.ah-compare-table-head,
.ah-compare-table-row {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr;
    gap: 12px;
    align-items: center;
}

.ah-compare-table-head {
    padding-bottom: 8px;
    border-bottom: 1px solid #ccc5b8;
    color: #8c7445;
    font-size: 8.5px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ah-compare-table-head span:nth-child(2),
.ah-compare-table-head span:nth-child(3),
.ah-compare-row-value {
    text-align: center;
}

.ah-compare-table-row {
    padding: 11px 0;
    border-bottom: 1px solid #edf0f1;
}

.ah-compare-table-row:last-child {
    border-bottom: 0;
}

.ah-compare-row-label {
    color: #59646d;
    font-size: 10.5px;
}

.ah-compare-row-value {
    color: #173754;
    font-size: 12px;
    font-weight: 700;
}

.ah-compare-row-value b {
    margin-right: 3px;
    color: #a9791e;
}

.ah-compare-row-value.is-winner {
    color: #7a5c1e;
}

.ah-compare-row-value small {
    display: block;
    margin-top: 2px;
    color: #9aa0a5;
    font-size: 8.5px;
    font-weight: 400;
    text-transform: none;
}

.ah-compare-footnote {
    margin: 20px 0 0;
    color: #9aa0a5;
    font-size: 9px;
    line-height: 1.6;
}

@media (max-width: 760px) {

    .ah-compare-picker-form {
        flex-direction: column;
        align-items: stretch;
    }

    .ah-compare-headline {
        flex-direction: column;
    }

    .ah-compare-table-head,
    .ah-compare-table-row {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .ah-compare-table-head span:nth-child(2),
    .ah-compare-table-head span:nth-child(3) {
        display: none;
    }

    .ah-compare-row-value {
        text-align: left;
    }

}


/* ==========================================================
   SCHOOL DISTRICTS (Education & Family)
   ========================================================== */

.ah-district-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.ah-district-card {
    padding: 16px 18px;
    border: 1px solid var(--guide-border, #e5e0d7);
    border-radius: 12px;
    background: #fbf9f5;
}

.ah-district-card h3 {
    margin: 0 0 12px;
    font-family: Georgia, serif;
    font-size: 17px;
    color: var(--guide-navy, #061a3a);
}

.ah-district-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 10px;
}

.ah-district-stats div {
    display: flex;
    flex-direction: column;
}

.ah-district-stats strong {
    font-family: Georgia, serif;
    font-size: 19px;
    color: var(--guide-navy, #061a3a);
}

.ah-district-stats span {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: #8c8478;
    margin-top: 2px;
}

.ah-district-schools summary {
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    color: var(--guide-gold, #c98a19);
    padding-top: 8px;
    border-top: 1px solid #efece5;
}

.ah-district-schools ul {
    list-style: none;
    margin: 10px 0 0;
    padding: 0;
}

.ah-district-schools li {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px;
    padding: 6px 0;
    border-bottom: 1px solid #efece5;
    font-size: 13px;
}

.ah-district-school-name {
    font-weight: 600;
    flex: 1 1 auto;
    min-width: 140px;
}

.ah-district-school-level {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: #fff;
    background: var(--guide-navy, #061a3a);
    padding: 2px 7px;
    border-radius: 999px;
}

@media (max-width: 700px) {

    .ah-district-grid {
        grid-template-columns: 1fr;
    }

    .ah-district-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px 16px;
    }

}

.ah-district-links {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 18px;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid #efece5;
}

.ah-district-links a {
    font-size: 12px;
    font-weight: 700;
    color: var(--guide-gold, #c98a19);
    text-decoration: none;
}


/* ==========================================================
   HIGHER ED / TRADE / PRIVATE SCHOOLS (Education & Family)
   ========================================================== */

.ah-edu-list {
    display: flex;
    flex-direction: column;
}

.ah-edu-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid #efece5;
}

.ah-edu-row:last-child {
    border-bottom: none;
}

.ah-edu-row > div:first-child {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.ah-edu-row strong,
.ah-edu-linked-name,
.ah-edu-plain-name {
    font-family: Georgia, serif;
    font-size: 15px;
    color: var(--guide-navy, #061a3a);
}

/* Private-schools section only: a school with a business listing to
   link to is the more actionable row, so it's the one that stands
   out -- bold for the link, normal weight for plain text without
   one. Higher Ed / Trade Schools rows are always plain <strong> (no
   link/no-link distinction there) and keep the browser's normal bold
   weight. */
.ah-edu-plain-name {
    font-weight: 400;
}

.ah-edu-linked-name {
    font-weight: 700;
    text-decoration: none;
}

.ah-edu-linked-name:hover {
    color: var(--guide-gold, #c98a19);
}

.ah-edu-row .muted {
    font-size: 12px;
}

.ah-edu-row > a {
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 700;
    color: var(--guide-gold, #c98a19);
    text-decoration: none;
    white-space: nowrap;
}

@media (max-width: 700px) {

    .ah-edu-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

}
