#main.classic-home { --nh-home-text: var(--blue-dark); --nh-home-text-secondary: var(--blue-dark); }
/* One focused module and accompanying copy per homepage section. */
#main.classic-home .homepage-section { display: block; padding: clamp(38px, 6vw, 84px) clamp(18px, 5vw, 72px); box-sizing: border-box; }
#main.classic-home .homepage-section-layout { display: grid; grid-template-columns: minmax(0, 570px) minmax(0, 1fr); align-items: center; gap: clamp(28px, 5vw, 76px); width: min(100%, 1240px); margin: 0 auto; }
#main.classic-home .homepage-section-module { width: 100%; min-width: 0; box-sizing: border-box; }
#main.classic-home .homepage-section-copy { min-width: 0; text-align: left; }
#main.classic-home .homepage-section-kicker { margin: 0 0 14px; font: 700 12px/1.4 "Segoe UI",sans-serif; text-transform: uppercase; letter-spacing: 1.6px; color: var(--nh-home-text); }
#main.classic-home .homepage-section-copy h2 { margin: 0; font-size: clamp(2rem, 3.5vw, 3.6rem); line-height: 1.08; letter-spacing: -.6px; color: var(--nh-home-text); text-align: left; overflow-wrap: anywhere; }
#main.classic-home .homepage-section-copy > p:not(.homepage-section-kicker) { margin: 20px 0; font-size: clamp(1rem, 1.5vw, 1.3rem); line-height: 1.65; color: var(--nh-home-text); text-align: left; }
#main.classic-home .homepage-section-link { display: block; width: fit-content; margin-top: 14px; color: var(--nh-home-text); font-size: 1rem; font-weight: 700; line-height: 1.5; }
#main.classic-home .homepage-section-module > .nh-hero { width: 100%; max-width: none; margin: 0; grid-area: auto; }
#main.classic-home .homepage-carousel { border-radius: 28px; padding: clamp(16px, 2vw, 24px); border: 1px solid #ffffffdf; background: var(--nh-card-bg); box-shadow: 0 24px 65px #183d6829; }
#main.classic-home .homepage-carousel #poll-list.homepage-carousel-list,
#main.classic-home .homepage-carousel #stat-list.homepage-carousel-list { display: block !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; min-width: 0; }
#main.classic-home .homepage-carousel-list > .item { box-sizing: border-box; width: 100% !important; max-width: none !important; min-width: 0; margin: 0 !important; padding: 20px !important; flex: none !important; transform: none; }
#main.classic-home .homepage-carousel-list .question { display: block; text-align: left; font-size: 1.3rem; line-height: 1.4; margin-bottom: 18px; }
#main.classic-home .homepage-carousel-list .is-closing { opacity: 0; }
.homepage-carousel-nav { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 18px; padding-top: 14px; border-top: 1px solid #cddde9; }
.homepage-carousel-nav[hidden] { display: none; }
.homepage-carousel-position { margin-right: auto; color: var(--nh-home-text-secondary); font: 600 13px/1.4 "Segoe UI",sans-serif; }
.homepage-carousel-nav button { min-width: 44px; min-height: 44px; border: 1px solid #cddde9; border-radius: 10px; background: #fff; color: var(--nh-home-text); font-size: 20px; cursor: pointer; }
.homepage-carousel-nav button:disabled { opacity: .4; cursor: default; }
.homepage-carousel:focus-visible, .homepage-carousel-nav button:focus-visible { outline: 3px solid #619bd0; outline-offset: 4px; }
#main.classic-home .homepage-budget-module, #main.classic-home .homepage-about-module { padding: clamp(20px, 2.5vw, 30px); border: 1px solid #ffffffdf; border-radius: 28px; background: var(--nh-card-bg); box-shadow: 0 24px 65px #183d6829; }
#main.classic-home .homepage-budget-module .homepage-budget-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; width: 100%; }
#main.classic-home .homepage-budget-module .homepage-budget-stat-card { min-width: 0; padding: 14px; }
#main.classic-home .homepage-budget-stat-card strong { font-size: clamp(1.15rem,2vw,1.8rem); overflow-wrap: anywhere; }
.homepage-about-module > div { position: relative; padding: 18px 0 18px 44px; }
.homepage-about-module > div + div { border-top: 1px solid #d5e4ee; }
.homepage-about-module > div > span { position: absolute; top: 20px; left: 0; color: var(--blue-dark); font-weight: 800; }
#main.classic-home .homepage-about-module h3 { margin: 0 0 8px; color: var(--nh-home-text); font-size: 1.1rem; text-align: left; }
#main.classic-home .homepage-about-module div p { margin: 0; color: var(--nh-home-text-secondary); font-size: 1rem; line-height: 1.5; text-align: left; }
#main.classic-home .homepage-participation .homepage-participation-cta {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin-top: 18px;
    padding: 13px 18px;
    border-radius: 12px;
    background: var(--blue-dark);
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-weight: 700;
}
.homepage-participation-cta:hover { filter: brightness(.95); }
.homepage-participation-cta:focus-visible { outline: 3px solid #7861ce; outline-offset: 3px; }
@media(min-width:901px) {
    #main.classic-home .homepage-section-layout.is-reversed { grid-template-columns: minmax(0,1fr) minmax(0,570px); }
    #main.classic-home .homepage-section-layout.is-reversed > .homepage-section-module { grid-column: 2; grid-row: 1; }
    #main.classic-home .homepage-section-layout.is-reversed > .homepage-section-copy { grid-column: 1; grid-row: 1; }
}
@media(max-width:900px) {
    #main.classic-home .homepage-section-layout { grid-template-columns: minmax(0,1fr); width: min(100%,620px); gap: 30px; }
    #main.classic-home .homepage-section-layout > .homepage-section-copy { grid-column: 1; grid-row: 1; }
    #main.classic-home .homepage-section-layout > .homepage-section-module { grid-column: 1; grid-row: 2; }
    #main.classic-home .landing .landing-copy { grid-column: 1; grid-row: 1; }
    #main.classic-home .landing .homepage-participation { grid-column: 1; grid-row: 2; justify-self: center; }
    #main.classic-home .homepage-section-copy h2 { font-size: clamp(2rem,6vw,3rem); }
    #main.classic-home .homepage-section { padding: 38px 18px; }
}


/* Give supporting copy a consistent light surface over section photography. */
#main.classic-home .landing-copy,
#main.classic-home .homepage-section-copy {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding: clamp(22px, 2.5vw, 34px);
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 28px;
    background: var(--nh-card-bg);
    box-shadow: 0 18px 44px rgba(24,61,104,.12);
    backdrop-filter: none;
    text-shadow: none;
}
#main.classic-home .landing-copy > h1 {
    font-size: clamp(1.8rem, 4.1vw, 4.2rem);
    letter-spacing: clamp(2px, .5vw, 7px);
    line-height: 1.1;
    text-shadow: none;
    overflow-wrap: anywhere;
}
#main.classic-home .landing-copy > .share,
#main.classic-home .landing-copy > .share > span {
    color: var(--nh-home-text);
    text-shadow: none;
}

/* Use the established site palette and diagonal card surface throughout the homepage. */
#main.classic-home .homepage-carousel-list > .item {
    background: var(--nh-card-bg) !important;
}
#main.classic-home .homepage-budget-stat-card :is(span,strong,small) {
    color: var(--blue-dark);
}

/* Match the individual poll/stat surfaces inside the concerns gallery. */
#main.classic-home .nh-hero-concerns .nh-hero-issue {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 20px;
    border: var(--nh-card-border);
    border-radius: var(--nh-card-radius);
    background: var(--nh-card-bg);
    box-shadow: var(--nh-card-shadow);
    color: var(--nh-card-text);
    overflow-wrap: anywhere;
}

/* Budget highlights use the same single-card carousel as polls and stats. */
#main.classic-home .homepage-budget-slides { width:100%; min-width:0; }
#main.classic-home .homepage-budget-slide { box-sizing:border-box; min-width:0; overflow:hidden; border:var(--nh-card-border); border-radius:var(--nh-card-radius); background:var(--nh-card-bg); box-shadow:var(--nh-card-shadow); color:var(--nh-card-text); }
.homepage-budget-slide[hidden], [data-budget-chart-year][hidden] { display:none !important; }
.homepage-budget-slide h3 { margin:0 0 20px; color:var(--blue-dark); font-size:1.5rem; text-align:left; }
.homepage-budget-year { display:flex; align-items:center; gap:12px; margin-bottom:20px; font-weight:700; }
.homepage-budget-year select { font:inherit; color:var(--blue-dark); background:#fff; border:1px solid var(--blue-medium); border-radius:10px; padding:8px 12px; }
.homepage-budget-bar-row { margin:0 0 18px; }
.homepage-budget-bar-row > div:first-child { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:7px; font-size:.9rem; overflow-wrap:anywhere; }
.homepage-budget-bar-row strong { white-space:nowrap; }
.homepage-budget-bar-track { height:10px; background:var(--blue-medium); border-radius:999px; overflow:hidden; }
.homepage-budget-bar-fill { display:block; height:100%; background:var(--blue-dark); border-radius:inherit; }
.homepage-budget-bar-fill.is-revenue { background:var(--green-dark); }
.homepage-budget-slide .homepage-budget-note { font-size:.8rem; line-height:1.5; text-align:left; margin-top:20px; }

/* Survey slides use the card structure and type scale of budget highlights. */
#main.classic-home .featured-industrial-future h3 { color: var(--nh-home-text); margin: 0 0 20px; font-size: 1.5rem; line-height: 1.4; text-align: left; }
#main.classic-home .featured-industrial-future .item > p { color: var(--nh-home-text); line-height: 1.65; text-align: left; }
#main.classic-home .featured-industrial-future .homepage-carousel-list { display: block; width: 100%; min-width: 0; margin: 0; padding: 0; }
#main.classic-home .homepage-industrial-slide { border: var(--nh-card-border); border-radius: var(--nh-card-radius); box-shadow: var(--nh-card-shadow); color: var(--nh-card-text); overflow-wrap: anywhere; }

/* Reveal section photography without moving or resetting its content. */
#main.classic-home > .has-background-reveal {
    position: relative;
    padding-top: max(72px, 6vw) !important;
}
#main.classic-home .homepage-background-content {
    opacity: 1;
    transition: opacity 1s ease-in-out;
}
#main.classic-home .is-background-revealed > .homepage-background-content {
    opacity: 0;
    pointer-events: none;
}
#main.classic-home .has-background-reveal > .homepage-background-button {
    position: absolute;
    top: 14px;
    right: 18px;
    z-index: 5;
    display: grid;
    place-items: center;
    box-sizing: border-box;
    width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 10px;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 50%;
    background: var(--nh-card-bg, #fff);
    box-shadow: 0 4px 14px rgba(24,61,104,.15);
    color: var(--blue-dark);
    font: 600 13px/1.4 "Segoe UI", sans-serif;
    cursor: pointer;
}
#main.classic-home .homepage-background-button:hover { filter: brightness(.96); }
#main.classic-home .homepage-background-button:focus-visible { outline: 3px solid #7861ce; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
    #main.classic-home .homepage-background-content { transition: none; }
}
