/*=========================================================
  RICHARDSON ASSOCIATES
  MAIN STYLESHEET
=========================================================*/

@import url("base/reset.css");
@import url("base/variables.css");
@import url("base/base.css");
@import url("base/helpers.css");
@import url("base/animations.css");
@import url("layout/grid.css");
@import url("layout/header.css");
@import url("layout/footer.css");
@import url("layout/sections.css");
@import url("components/navigation.css");
@import url("components/buttons.css");
@import url("components/hero.css");
@import url("components/manufacturer-card.css");
@import url("components/project-cta.css");

/*=========================================================
  HOMEPAGE MOCKUP REDESIGN
=========================================================*/

:root{
    --ra-navy:#06284f;
    --ra-deep:#031f3f;
    --ra-red:#df2027;
    --ra-blue:#004b9b;
}

.icon-defs{ position:absolute; width:0; height:0; overflow:hidden; }
svg{ width:1.25rem; height:1.25rem; stroke:currentColor; stroke-width:1.8; fill:none; stroke-linecap:round; stroke-linejoin:round; }
body{ color:#0b1736; background:#ffffff; }
body p{ color:#111827; }

.skip-link{
    position:absolute;
    left:16px;
    top:12px;
    z-index:2000;
    transform:translateY(-160%);
    padding:10px 14px;
    background:#ffffff;
    color:#06284f;
    font-weight:800;
    box-shadow:0 4px 14px rgba(0,0,0,.18);
}

.skip-link:focus{
    transform:translateY(0);
}

.site-header{ position:sticky; height:112px; background:#03274f; border-bottom:1px solid rgba(255,255,255,.12); box-shadow:none; }
.site-header__inner{ gap:28px; }
.site-logo{ padding:0; background:transparent; box-shadow:none; }
.site-logo img{ width:245px; height:auto; max-height:82px; object-fit:contain; }
.site-nav{ margin-left:auto; }
.site-nav__list{ gap:34px; padding:0; margin:0; }
.site-nav__link{ height:112px; color:#ffffff; font-size:.78rem; font-weight:800; letter-spacing:0; }
.site-nav__link::after{ bottom:31px; height:3px; background:#2b76ff; }
.site-nav__link:hover,
.site-nav__link.is-active{ color:#ffffff; }
.site-actions{ align-items:center; gap:22px; }
.site-phone{ display:inline-flex; align-items:center; gap:8px; color:#ffffff; border:1px solid rgba(255,255,255,.85); min-height:48px; padding:0 18px; font-size:.92rem; font-weight:800; white-space:nowrap; }
.site-phone svg{ width:18px; height:18px; color:#ffffff; stroke-width:2.4; }

.button{ min-height:54px; border-radius:0; padding:0 28px; text-transform:uppercase; font-size:.78rem; font-weight:800; letter-spacing:0; }
.button--primary{ background:var(--ra-red); color:#ffffff; box-shadow:none; }
.button--primary:hover{ background:#bb171e; color:#ffffff; transform:none; box-shadow:none; }
.header-support{ min-height:56px; padding-inline:24px; }
.site-header .header-support{ background:transparent; border:1px solid rgba(255,255,255,.85); }
.site-header .header-support:hover{ background:#ffffff; color:#03274f; }
.site-header .menu-toggle span{ background:#ffffff; }

.hero{ min-height:510px; padding:0; align-items:stretch; }
.hero__background img{ object-fit:cover; image-rendering:auto; }
.hero__overlay{ background:linear-gradient(90deg, rgba(4,28,58,.94) 0%, rgba(4,28,58,.78) 34%, rgba(4,28,58,.24) 68%, rgba(4,28,58,.04) 100%); }
.hero__inner{ position:relative; z-index:3; min-height:510px; display:flex; align-items:center; }
.hero__content{ width:min(620px, 56vw); max-width:620px; padding:32px 0 44px; }
.hero__eyebrow{ gap:16px; margin-bottom:18px; font-size:.96rem; font-weight:900; letter-spacing:0; }
.hero__eyebrow::after{ width:64px; height:3px; background:var(--ra-red); }
.hero__title{ max-width:620px; color:#ffffff; font-size:clamp(2.85rem, 5vw, 4.55rem); line-height:1.12; letter-spacing:-.02em; font-weight:900; }
.hero__lead{ max-width:680px; margin:22px 0 34px; color:#ffffff; font-size:1.18rem; line-height:1.55; }
.hero__actions{ gap:18px; }
.hero .button--secondary{ color:#ffffff; border:2px solid rgba(255,255,255,.82); background:rgba(0,0,0,.1); }
.hero .button--secondary:hover{ background:#ffffff; color:var(--ra-navy); transform:none; }

.proof-strip{ padding:0; background:linear-gradient(90deg, #002e5f, #06234a); color:#ffffff; border-top:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(0,0,0,.15); }
.proof-grid{ min-height:104px; display:grid; grid-template-columns:repeat(4, 1fr); align-items:center; }
.proof-item{ display:flex; align-items:center; gap:20px; min-height:64px; padding:16px 30px; border-right:1px solid rgba(255,255,255,.35); }
.proof-item:first-child{ padding-left:0; }
.proof-item:last-child{ border-right:0; }
.proof-item svg{ flex:0 0 auto; width:48px; height:48px; color:#ffffff; stroke-width:1.6; }
.nc-outline-img{ display:block; object-fit:contain; flex:0 0 auto; }
.proof-item .nc-outline-img{ width:62px; height:38px; filter:brightness(0) invert(1); }
.proof-item p{ margin:0; color:#ffffff; font-size:.9rem; line-height:1.45; font-weight:700; }
.proof-item strong{ display:block; font-size:.76rem; text-transform:uppercase; color:#dce8f7; }

.intro-section,
.manufacturers-section,
.solutions-section,
.industries-section,
.resources-updates{ padding-block:42px; }
.intro-grid{ display:grid; grid-template-columns:1fr 1.58fr; gap:62px; align-items:center; }
.section-eyebrow{ margin-bottom:12px; color:var(--ra-red); font-weight:900; letter-spacing:0; font-size:.96rem; }
.intro-copy h2{ max-width:12ch; margin-bottom:20px; color:#071b3d; font-size:2.55rem; line-height:1.1; font-weight:900; letter-spacing:-.01em; }
.intro-copy p{ font-size:1rem; line-height:1.58; margin-bottom:18px; }
.text-link{ display:inline-flex; align-items:center; gap:10px; color:#0050ad; font-size:.86rem; font-weight:900; text-transform:uppercase; }
.text-link svg{ width:18px; height:18px; stroke-width:2.3; }
.text-link:hover{ color:var(--ra-red); }
.intro-image img{ width:100%; aspect-ratio:16 / 8; object-fit:cover; border:0; }

.compact-heading{ text-align:center; margin-bottom:16px; }
.compact-heading h2,
.section-title-row h2{ display:inline-block; position:relative; margin:0; color:#071b3d; text-transform:uppercase; font-size:1.28rem; line-height:1.2; font-weight:900; letter-spacing:0; }
.compact-heading h2::after,
.section-title-row h2::after{ content:""; position:absolute; left:50%; bottom:-8px; width:48px; height:3px; background:var(--ra-red); transform:translateX(-50%); }
.mock-grid-3{ grid-template-columns:repeat(3, 1fr); gap:22px; }
.mock-card{ min-height:236px; padding:30px 28px 26px; border:1px solid #cbd3df; border-radius:0; box-shadow:none; justify-content:flex-start; }
.mock-card:hover{ transform:none; box-shadow:0 10px 24px rgba(8,43,89,.08); }
.manufacturer-logo{ width:210px; height:68px; object-fit:contain; margin:0 auto 18px; }
.mock-card p{ margin-bottom:24px; font-size:.91rem; line-height:1.5; }
.future-card{ align-items:center; text-align:center; }
.future-card > svg{ width:68px; height:68px; margin-bottom:12px; color:#071b3d; }
.future-card h3{ margin:0 0 12px; color:#071b3d; font-size:1.18rem; text-transform:uppercase; font-weight:900; letter-spacing:0; }

.solution-grid{ display:grid; grid-template-columns:repeat(7, 1fr); border:1px solid #cdd5df; background:#ffffff; }
.solution-grid a,
.industry-grid a{ min-height:136px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:13px; text-align:center; color:#071b3d; font-size:.84rem; font-weight:900; line-height:1.18; text-transform:uppercase; }
.solution-grid a{ padding:18px 14px; border-right:1px solid #cdd5df; }
.solution-grid a:last-child{ border-right:0; }
.solution-grid a:hover,
.industry-grid a:hover{ color:#0050ad; background:#f7f9fc; }
.solution-grid svg,
.industry-grid svg{ width:48px; height:48px; stroke-width:1.7; }
.center-action{ display:flex; justify-content:center; margin-top:16px; }
.button--outline-dark{ min-width:270px; min-height:44px; background:#ffffff; color:#004b9b; border:2px solid #1e63b3; }
.button--outline-dark:hover{ background:#004b9b; color:#ffffff; transform:none; }
.industries-section{ padding-top:0; }
.industries-panel{ padding:24px 24px 34px; background:#f3f6fa; }
.industry-grid{ display:grid; grid-template-columns:repeat(7, 1fr); gap:8px; }
.industry-grid a{ min-height:118px; padding:14px 8px; }

.resources-updates{ padding-top:0; }
.resources-layout{ display:grid; grid-template-columns:1.18fr .92fr; gap:38px; }
.featured-resources{ padding-right:24px; border-right:1px solid #cfd7e3; }
.section-title-row{ margin-bottom:22px; }
.section-title-row h2::after{ left:0; transform:none; }
.resource-cards{ display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; }
.resource-card{ border:1px solid #d0d7e1; background:#ffffff; }
.resource-card img{ width:100%; aspect-ratio:4 / 3; object-fit:cover; }
.resource-card div{ padding:18px 16px 20px; }
.resource-card h3{ min-height:58px; margin:0 0 22px; color:#111827; font-size:1rem; line-height:1.3; font-weight:900; letter-spacing:0; }
.resources-more{ margin-top:24px; }
.update-item{ display:grid; grid-template-columns:134px 1fr; gap:16px; padding:0 0 13px; margin-bottom:13px; border-bottom:1px solid #cfd7e3; }
.update-item img{ width:134px; height:82px; object-fit:cover; }
.update-item h3{ margin:5px 0 0; color:#111827; font-size:1rem; line-height:1.2; font-weight:900; letter-spacing:0; }
.update-item time{ display:block; margin-top:4px; color:#5d6675; font-size:.86rem; line-height:1.1; }
.tag{ display:inline-block; padding:2px 8px; color:#ffffff; font-size:.72rem; line-height:1.25; text-transform:uppercase; font-weight:900; }
.tag-red{ background:var(--ra-red); }
.tag-blue{ background:#1f65b7; }
.tag-green{ background:#2b8f4b; }

.project-band{ padding:0; background:linear-gradient(90deg, rgba(2,31,62,.98), rgba(2,31,62,.9)), url("../images/products/substation-equipment.jpeg") center/cover; color:#ffffff; }
.project-band__inner{ min-height:164px; display:grid; grid-template-columns:88px minmax(0, 1fr) minmax(220px,auto); gap:30px; align-items:center; padding-block:28px; }
.project-band__icon{ width:88px; height:88px; display:flex; align-items:center; justify-content:center; border:3px solid #d7e3f4; border-radius:50%; color:#06284f; background:#ffffff; box-shadow:inset 0 0 0 3px #ffffff; }
.project-band__icon svg{ width:48px; height:48px; }
.project-band h2{ margin:0 0 6px; color:#ffffff; font-size:2rem; line-height:1.1; font-weight:900; letter-spacing:0; }
.project-band p{ max-width:780px; margin:0; color:#ffffff; font-size:1rem; line-height:1.45; }
.project-band .button{ justify-self:end; max-width:100%; white-space:normal; text-align:center; }

.site-footer{ margin:0; background:#03284f; color:#ffffff; }
.site-footer .footer-grid{ display:grid; grid-template-columns:1.35fr .75fr 1.05fr .85fr 1.35fr; gap:42px; padding-block:48px 38px; }
.footer-logo-img{ width:190px; height:auto; margin-bottom:24px; filter:none; }
.site-footer p,
.site-footer a,
.site-footer li,
.site-footer span{ color:#ffffff; }
.footer-brand p{ max-width:260px; margin-bottom:24px; color:#ffffff; font-size:.98rem; line-height:1.55; }
.site-footer h2{ margin:0 0 18px; color:#ffffff; font-size:1rem; text-transform:uppercase; font-weight:900; letter-spacing:0; }
.site-footer ul{ list-style:none; margin:0; padding:0; }
.site-footer li{ margin-bottom:8px; line-height:1.25; font-size:.95rem; }
.site-footer a:hover{ color:#bcd7fb; }
.social-links{ display:flex; gap:18px; align-items:center; }
.social-links a{ display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; color:#ffffff; font-size:1.35rem; font-weight:900; }
.social-links svg{ width:26px; height:26px; }
.contact-list li{ display:grid; grid-template-columns:24px 1fr; gap:12px; align-items:start; margin-bottom:16px; }
.contact-list svg{ width:21px; height:21px; margin-top:1px; }
.contact-list a,
.contact-list span{ min-width:0; overflow-wrap:anywhere; line-height:1.35; }
.served-nc{ display:flex; gap:12px; align-items:center; justify-content:flex-end; margin-top:20px; color:#ffffff; font-size:.92rem; line-height:1.2; }
.served-nc svg{ width:84px; height:42px; }
.served-nc .nc-outline-img{ width:92px; height:46px; filter:brightness(0) invert(1); }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.35); padding:16px 0 18px; text-align:center; }
.footer-bottom p{ margin:0; color:rgba(255,255,255,.74); font-size:.9rem; }

@media (max-width:1240px){
    .site-header{ height:auto; }
    .site-header__inner{ min-height:96px; flex-wrap:wrap; justify-content:center; padding-block:10px 14px; }
    .site-logo{ margin-right:auto; }
    .site-logo img{ width:210px; }
    .site-nav{ order:3; width:100%; justify-content:center; margin:0; }
    .site-nav__link{ height:40px; }
    .site-nav__link::after{ bottom:0; }
    .proof-grid,
    .solution-grid,
    .industry-grid{ grid-template-columns:repeat(2, 1fr); }
    .proof-item:nth-child(2),
    .proof-item:last-child{ border-right:0; }
    .solution-grid a{ border-right:1px solid #cdd5df; border-bottom:1px solid #cdd5df; }
    .solution-grid a:nth-child(2n){ border-right:0; }
    .resources-layout,
    .intro-grid{ grid-template-columns:1fr; }
    .featured-resources{ padding-right:0; border-right:0; }
    .project-band__inner{ grid-template-columns:88px 1fr; padding-block:28px; }
    .project-band .button{ grid-column:2; justify-self:start; }
    .site-footer .footer-grid{ grid-template-columns:repeat(2, 1fr); }
}

@media (max-width:820px){
    .site-header__inner{ justify-content:space-between; }
    .site-nav,
    .site-phone,
    .header-support{ display:none; }
    .site-header.nav-open .site-nav{
        display:block;
        order:3;
        width:100%;
        margin:0;
        padding:10px 0 8px;
    }
    .site-header.nav-open .site-nav__list{
        display:grid;
        grid-template-columns:1fr;
        gap:0;
        width:100%;
        border-top:1px solid rgba(255,255,255,.18);
        padding-top:8px;
    }
    .site-header.nav-open .site-nav__link{
        height:auto;
        min-height:44px;
        justify-content:center;
        padding:12px 10px;
    }
    .site-header.nav-open .site-nav__link::after{
        display:none;
    }
    .menu-toggle{ display:flex; }
    .hero,
    .hero__inner{ min-height:560px; }
    .hero__content{ width:100%; text-align:center; }
    .hero__eyebrow{ justify-content:center; text-align:center; }
    .hero__eyebrow::after{ display:none; }
    .hero__title{ font-size:2.65rem; }
    .hero__lead{ font-size:1rem; }
    .proof-grid,
    .mock-grid-3,
    .resource-cards,
    .site-footer .footer-grid{ grid-template-columns:1fr; }
    .proof-item{ border-right:0; border-bottom:1px solid rgba(255,255,255,.28); padding-inline:0; }
    .proof-item:last-child{ border-bottom:0; }
    .intro-copy h2{ max-width:16ch; font-size:2rem; }
    .solution-grid,
    .industry-grid{ grid-template-columns:repeat(2, 1fr); }
    .resource-card h3{ min-height:0; }
    .update-item{ grid-template-columns:110px 1fr; }
    .update-item img{ width:110px; height:78px; }
    .project-band__inner{ grid-template-columns:1fr; text-align:left; }
    .project-band .button{ grid-column:auto; }
    .served-nc{ justify-content:flex-start; }
    .nc-map{ min-height:300px; }
    .nc-map > .nc-outline-img,
    .service-map-section .nc-map > .nc-outline-img{ width:100%; height:100%; }
    .nc-map span{ font-size:.74rem; }
}

@media (max-width:520px){
    .container,
    .container-wide{ width:min(calc(100% - 32px), var(--container-xl)); }
    .site-logo img{ width:172px; }
    .hero,
    .hero__inner{ min-height:620px; }
    .hero__actions,
    .hero__actions .button,
    .center-action .button,
    .project-band .button{ width:100%; }
    .solution-grid,
    .industry-grid{ grid-template-columns:1fr; }
    .nc-map{ min-height:270px; }
    .nc-map span{ font-size:.68rem; }
    .nc-map span:nth-of-type(1){ left:24%; top:42%; }
    .nc-map span:nth-of-type(2){ left:42%; top:60%; }
    .nc-map span:nth-of-type(3){ left:51%; top:35%; }
    .nc-map span:nth-of-type(4){ left:62%; top:45%; }
    .nc-map span:nth-of-type(5){ left:78%; top:43%; }
    .nc-map span:nth-of-type(6){ left:73%; top:73%; }
    .solution-grid a{ border-right:0; }
    .project-band h2{ font-size:1.55rem; }
}


/*=========================================================
  INNER PAGE MOCKUP REDESIGNS
=========================================================*/

.inner-page .site-header{ background:#03274f; border-bottom:1px solid rgba(255,255,255,.12); box-shadow:none; }
.inner-page .site-logo img{ filter:none; }
.inner-page .site-nav__link{ color:#ffffff; }
.inner-page .site-nav__link::after{ background:#2b76ff; }
.inner-page .site-phone{ color:#ffffff; border:1px solid rgba(255,255,255,.85); min-height:48px; padding:0 18px; }
.inner-page .site-phone svg{ color:#ffffff; }
.inner-page .header-support{ background:transparent; border:1px solid rgba(255,255,255,.85); }
.inner-page .header-support:hover{ background:#ffffff; color:#03274f; }
.inner-page .menu-toggle span{ background:#ffffff; }
.inner-page main{ background:#ffffff; }
.inner-page section{ padding-block:42px; }
.inner-page h1,.inner-page h2,.inner-page h3{ color:#071b3d; letter-spacing:0; }
.inner-page .site-footer h2,
.site-footer h2,
.site-footer .footer-grid h2{ color:#ffffff; }
.inner-page .site-footer a,
.inner-page .site-footer li,
.inner-page .site-footer p,
.inner-page .site-footer span{ color:#ffffff; }
.site-footer .served-nc .nc-outline-img{ filter:none; }
.inner-page p{ color:#0b1736; }
.blue-eyebrow{ display:block; color:#5274a9; text-transform:uppercase; font-weight:900; font-size:1.05rem; margin-bottom:8px; }
.centered-page-heading{ text-align:center; padding:54px 0 26px; }
.centered-page-heading h1{ max-width:980px; margin:0 auto 10px; font-size:clamp(2.5rem,4vw,4rem); line-height:1.04; font-weight:900; }
.centered-page-heading p{ max-width:700px; margin:0 auto; color:#4d5668; font-size:1.15rem; }
.button--navy{ background:#05264d; color:#ffffff; border:1px solid #05264d; }
.button--navy:hover{ background:#0b3b76; color:#ffffff; transform:none; }
.button--outline-light{ background:transparent; color:#ffffff; border:1px solid rgba(255,255,255,.9); }
.button--outline-light:hover{ background:#ffffff; color:#05264d; transform:none; }
.manufacturer-showcase{ padding-top:0; }
.showcase-stack{ display:grid; gap:28px; }
.showcase-card{ position:relative; display:grid; grid-template-columns:1.05fr .95fr; align-items:stretch; min-height:310px; overflow:hidden; border:1px solid #d7dde7; border-radius:8px; background:#ffffff; box-shadow:0 14px 38px rgba(8,43,89,.12); }
.showcase-copy{ position:relative; z-index:2; padding:50px 56px; background:linear-gradient(105deg,#fff 0%,#fff 72%,rgba(255,255,255,.82) 72.3%,rgba(255,255,255,.82) 100%); }
.showcase-logo{ width:260px; height:94px; object-fit:contain; object-position:left center; margin-bottom:18px; }
.showcase-copy p{ max-width:520px; font-size:1.02rem; line-height:1.55; margin-bottom:26px; }
.showcase-image{ width:100%; height:100%; object-fit:cover; }
.mini-feature-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:28px; }
.mini-feature-row span{ display:flex; align-items:center; gap:10px; min-height:48px; padding-right:14px; border-right:1px solid #cfd7e3; color:#071b3d; font-size:.86rem; font-weight:700; line-height:1.2; }
.mini-feature-row span:last-child{ border-right:0; }
.mini-feature-row svg{ width:32px; height:32px; color:#082b59; }
.future-showcase{ grid-template-columns:.95fr 1.05fr; min-height:230px; }
.future-copy{ display:grid; grid-template-columns:110px 1fr; column-gap:24px; align-items:center; }
.future-copy > svg{ grid-row:1 / span 3; width:88px; height:88px; padding:18px; border-radius:50%; background:#eef3fa; color:#05264d; }
.future-copy h2{ margin:0; font-size:1.7rem; text-transform:uppercase; }
.future-copy p{ margin:0; }
.future-copy .button{ justify-self:start; margin-top:14px; }
.blueprint-panel{ display:flex; align-items:center; justify-content:center; background:linear-gradient(90deg,rgba(255,255,255,.72),rgba(231,239,250,.94)); color:#94abc8; }
.blueprint-panel svg{ width:260px; height:180px; stroke-width:.8; }
.future-partner-image{ width:100%; height:100%; min-height:260px; object-fit:cover; object-position:center; }
.subpage-hero,.split-hero,.contact-hero{ padding:0; min-height:320px; background:linear-gradient(90deg,rgba(3,31,63,.96),rgba(3,31,63,.64),rgba(3,31,63,.1)),url("../images/hero/substation-hero-generated.png") center/cover; color:#ffffff; }
.subpage-hero__inner,.split-hero__inner,.contact-hero__inner{ min-height:320px; display:flex; align-items:center; }
.subpage-hero h1,.split-hero h1,.contact-hero h1{ max-width:680px; margin:0 0 20px; color:#ffffff; font-size:clamp(2.4rem,4.5vw,4.1rem); line-height:1.08; font-weight:900; }
.subpage-hero p,.split-hero p,.contact-hero p{ max-width:620px; color:#ffffff; font-size:1.12rem; line-height:1.55; }
.product-hero{ background:linear-gradient(90deg,rgba(3,31,63,.96),rgba(3,31,63,.68),rgba(3,31,63,.08)),url("../images/hero/substation-hero-generated.png") center/cover; }
.resource-hero{ background:linear-gradient(90deg,rgba(3,31,63,.98),rgba(3,31,63,.72),rgba(3,31,63,.2)),url("../images/hero/substation-hero-generated.png") center/cover; min-height:380px; }
.resource-hero .subpage-hero__inner{ min-height:380px; }
.about-hero,.contact-hero{ background:linear-gradient(90deg,#ffffff 0%,rgba(255,255,255,.96) 42%,rgba(255,255,255,.48) 62%,rgba(255,255,255,0) 100%),url("../images/hero/substation-hero-generated.png") center/cover; }
.about-hero h1,.about-hero p,.contact-hero h1,.contact-hero p{ color:#071b3d; }
.about-hero .hero__eyebrow,.contact-hero .hero__eyebrow{ color:#071b3d; }
.about-hero .hero__eyebrow::after,.contact-hero .hero__eyebrow::after{ background:#df2027; }
.product-categories{ padding-top:48px; }
.product-category-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:34px; }
.category-card{ overflow:hidden; background:#ffffff; border:1px solid #d2d9e4; border-radius:4px; box-shadow:0 8px 22px rgba(8,43,89,.08); }
.category-card img{ width:100%; aspect-ratio:4 / 2.15; object-fit:cover; }
.category-card div{ padding:24px 26px 28px; }
.category-card div > svg{ float:left; width:48px; height:48px; margin-right:18px; color:#082b59; }
.category-card h3{ min-height:58px; margin:0 0 10px; font-size:1.28rem; line-height:1.12; text-transform:uppercase; font-weight:900; }
.category-card p{ clear:both; min-height:74px; margin:10px 0 18px; font-size:.9rem; line-height:1.45; color:#263247; }
.howard-capabilities{ padding-top:8px; }
.capability-intro{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px; align-items:end; margin-bottom:24px; }
.capability-intro h2{ max-width:720px; margin:0 0 12px; font-size:1.9rem; line-height:1.14; font-weight:900; }
.capability-intro p{ max-width:820px; margin:0; font-size:.98rem; line-height:1.55; color:#263247; }
.capability-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.capability-grid article{ min-width:0; padding:24px; border:1px solid #d2d9e4; background:#ffffff; box-shadow:0 8px 22px rgba(8,43,89,.07); }
.capability-grid article > svg{ width:42px; height:42px; margin-bottom:16px; color:#082b59; }
.capability-grid h3{ min-height:60px; margin:0 0 12px; color:#071b3d; font-size:1.08rem; line-height:1.18; text-transform:uppercase; font-weight:900; }
.capability-grid p{ margin:0 0 16px; color:#263247; font-size:.9rem; line-height:1.48; }
.capability-grid ul{ list-style:none; margin:0; padding:0; }
.capability-grid li{ position:relative; padding-left:18px; margin-bottom:8px; color:#344154; font-size:.82rem; line-height:1.3; font-weight:700; }
.capability-grid li::before{ content:""; position:absolute; left:0; top:.55em; width:7px; height:7px; border-radius:50%; background:#df2027; }
.capability-support{ display:grid; grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(120px,.55fr)); gap:18px; align-items:center; margin-top:20px; padding:24px 28px; background:#f3f6fa; border:1px solid #d2d9e4; }
.capability-support h3{ margin:0 0 6px; font-size:1.2rem; font-weight:900; }
.capability-support p{ margin:0; color:#263247; font-size:.92rem; line-height:1.45; }
.capability-support span{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-height:76px; color:#071b3d; text-align:center; text-transform:uppercase; font-size:.74rem; line-height:1.2; font-weight:900; border-left:1px solid #cfd7e3; }
.capability-support svg{ width:34px; height:34px; color:#0b4fb3; }
.capability-modal{ position:fixed; inset:0; z-index:3000; display:none; padding:34px; overflow:auto; }
.capability-modal:target,
.capability-modal.is-open{ display:block; }
body.modal-open{ overflow:hidden; }
.capability-modal__backdrop{ position:fixed; inset:0; display:block; background:rgba(3,18,38,.72); }
.capability-modal__panel{ position:relative; z-index:1; width:min(1180px,100%); margin:0 auto; padding:34px; background:#ffffff; border:1px solid #d2d9e4; box-shadow:0 24px 70px rgba(0,0,0,.32); }
.capability-modal__header{ display:grid; grid-template-columns:minmax(0,1fr) 44px; gap:24px; align-items:start; margin-bottom:24px; }
.capability-modal__header h2{ max-width:780px; margin:0 0 10px; color:#071b3d; font-size:2rem; line-height:1.12; font-weight:900; }
.capability-modal__header p{ max-width:860px; margin:0; color:#263247; font-size:1rem; line-height:1.5; }
.capability-modal__close{ width:44px; height:44px; display:grid; place-items:center; background:#05264d; color:#ffffff; font-size:2rem; line-height:1; font-weight:700; }
.capability-modal__close:hover{ background:#df2027; color:#ffffff; }
.capability-modal .capability-grid{ grid-template-columns:repeat(2,1fr); }
.capability-modal .capability-grid h3{ min-height:0; }
.capability-modal__actions{ display:flex; flex-wrap:wrap; gap:18px; align-items:center; justify-content:space-between; margin-top:22px; }
.support-ribbon{ padding:0; }
.support-ribbon__inner,.support-ribbon.slim{ display:grid; grid-template-columns:1.7fr repeat(3,.65fr) auto; gap:24px; align-items:center; padding:26px 34px; border-radius:4px; background:#05264d; color:#ffffff; }
.support-ribbon h2,.support-ribbon p{ color:#ffffff; margin:0; }
.support-ribbon h2{ font-size:1.35rem; }
.support-ribbon span{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-height:70px; color:#ffffff; text-align:center; text-transform:uppercase; font-size:.75rem; font-weight:900; border-left:1px solid rgba(255,255,255,.22); }
.support-ribbon span svg{ width:34px; height:34px; }
.split-panels{ display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.list-panel,.download-list,.side-card,.message-card,.location-card,.connect-grid article,.team-grid article{ border:1px solid #d3dae5; background:#ffffff; }
.list-panel article{ display:grid; grid-template-columns:260px 1fr auto; gap:24px; align-items:center; padding:26px; border-bottom:1px solid #d3dae5; }
.list-panel article:last-child{ border-bottom:0; }
.list-panel img{ width:230px; height:80px; object-fit:contain; }
.download-list a{ display:grid; grid-template-columns:34px 1fr; gap:14px; align-items:center; padding:18px 20px; border-bottom:1px solid #d3dae5; color:#071b3d; }
.download-list a:last-child{ border-bottom:0; }
.download-list strong{ display:block; }
.light-cta{ padding:0; background:linear-gradient(90deg,#eef3fa,#ffffff),url("../images/products/substation-equipment.jpeg") center/cover; }
.light-cta .project-band__inner{ min-height:118px; }
.light-cta h2,.light-cta p{ color:#071b3d; }
.mission-grid{ display:grid; grid-template-columns:1fr 1.15fr; gap:58px; }
.mission-card{ display:grid; grid-template-columns:92px 1fr; gap:26px; align-items:center; margin-bottom:28px; }
.mission-card svg{ width:80px; height:80px; padding:18px; border-radius:50%; background:#eef3fa; color:#0b4fb3; }
.value-row,.number-grid,.service-icons{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.value-row span,.number-grid span,.service-icons span{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; padding:18px; border-right:1px solid #d7dde7; font-size:.82rem; line-height:1.35; }
.value-row svg,.number-grid svg,.service-icons svg{ width:42px; height:42px; color:#0b4fb3; }
.number-grid .nc-outline-img,.service-icons .nc-outline-img{ width:58px; height:38px; }
.number-grid strong{ display:block; color:#0b2c64; font-size:2.4rem; line-height:1; }
.map-panel{ display:grid; grid-template-columns:.75fr 1.25fr; gap:30px; align-items:center; padding:34px; background:#f3f6fa; border:1px solid #d7dde7; border-radius:5px; }
.check-list{ list-style:none; margin:18px 0 0; padding:0; }
.check-list li{ position:relative; padding-left:28px; margin-bottom:11px; line-height:1.4; }
.check-list li::before{ content:"✓"; position:absolute; left:0; top:0; width:18px; height:18px; border-radius:50%; background:#2769d8; color:#fff; display:grid; place-items:center; font-size:.75rem; font-weight:900; }
.nc-map{ position:relative; min-height:285px; display:grid; place-items:center; color:#0b4fb3; overflow:hidden; }
.nc-map > svg{ width:100%; height:100%; opacity:.12; stroke-width:.8; }
.nc-map > .nc-outline-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:fill; opacity:.13; }
.about-mission .number-grid .nc-outline-img{ opacity:1; }
.service-map-section .nc-map > .nc-outline-img{ width:100%; height:100%; opacity:.2; }
.nc-map span{ position:absolute; color:#071b3d; font-size:.82rem; font-weight:800; transform:translateX(-50%); padding-top:16px; text-align:center; text-shadow:0 1px 0 #ffffff; }
.nc-map span::before{ content:""; position:absolute; left:50%; top:0; width:10px; height:10px; border-radius:50%; background:#df2027; border:2px solid #ffffff; box-shadow:0 2px 7px rgba(7,27,61,.25); transform:translate(-50%, -50%); }
.nc-map span:nth-of-type(1){ left:24%; top:42%; }
.nc-map span:nth-of-type(2){ left:42%; top:60%; }
.nc-map span:nth-of-type(3){ left:51%; top:35%; }
.nc-map span:nth-of-type(4){ left:62%; top:45%; }
.nc-map span:nth-of-type(5){ left:78%; top:43%; }
.nc-map span:nth-of-type(6){ left:73%; top:73%; }
.about-card-grid{ display:grid; grid-template-columns:1fr 1fr 1.7fr; gap:22px; margin-bottom:28px; }
.dark-partner-card{ padding:34px; background:#05264d; color:#ffffff; border-radius:5px; }
.dark-partner-card h3,.dark-partner-card p{ color:#ffffff; }
.about-bottom-grid{ display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.compact-icons{ grid-template-columns:repeat(6,1fr); }
.why-panel{ display:grid; grid-template-columns:1fr; overflow:hidden; border:1px solid #d7dde7; }
.why-panel > div{ padding:24px; }
.why-panel img{ width:100%; height:245px; object-fit:cover; object-position:center; }
.resource-search{ display:grid; grid-template-columns:1fr 58px; width:min(640px,100%); margin-top:28px; background:#ffffff; border-radius:3px; overflow:hidden; }
.resource-search input{ border:0; min-height:58px; padding:0 20px; font:inherit; }
.resource-search button{ border:0; background:#ffffff; color:#071b3d; border-left:1px solid #d7dde7; }
.resource-shell{ display:grid; grid-template-columns:1fr 300px; gap:42px; align-items:start; }
.topic-grid{ display:grid; grid-template-columns:repeat(8,1fr); gap:10px; margin:32px 0 50px; }
.topic-grid a{ min-height:112px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:10px; background:#ffffff; border:1px solid #d7dde7; box-shadow:0 5px 12px rgba(8,43,89,.07); text-align:center; text-transform:uppercase; color:#071b3d; font-size:.72rem; font-weight:900; }
.topic-grid a.is-active{ background:#05264d; border-color:#05264d; color:#ffffff; }
.topic-grid svg{ width:42px; height:42px; }
.section-link-heading{ display:flex; justify-content:space-between; align-items:center; gap:20px; margin:28px 0 20px; }
.resource-card-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:36px; }
.resource-empty{ grid-column:1 / -1; padding:24px; border:1px solid #d7dde7; background:#f7f9fc; color:#4d5668; }
.resource-card p{ font-size:.88rem; line-height:1.45; margin-bottom:18px; }
.resource-card time{ display:block; margin:0 0 18px; color:#596374; font-size:.85rem; }
.resource-sidebar{ display:grid; gap:22px; }
.side-card{ padding:24px; background:#f7f9fc; }
.side-card h2{ font-size:1rem; text-transform:uppercase; margin:0 0 18px; }
.side-card ul{ list-style:none; margin:0; padding:0; }
.side-card li{ display:flex; justify-content:space-between; padding:12px 0; border-bottom:1px solid #d8e0eb; line-height:1.2; }
.download-list.compact{ border:0; }
.download-list.compact a{ grid-template-columns:1fr; padding:14px 0; background:#fff; }
.webinar{ display:grid; grid-template-columns:54px 1fr auto; gap:12px; align-items:center; padding:14px 0; border-bottom:1px solid #d8e0eb; }
.webinar time{ border:1px solid #c7d2e1; padding:8px; text-align:center; text-transform:uppercase; font-size:.72rem; }
.webinar p{ margin:0; font-size:.82rem; }
.webinar a{ color:#0b4fb3; text-transform:uppercase; font-weight:900; font-size:.72rem; }
.resource-hero-actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.simple-resources .resource-shell{ grid-template-columns:1fr 340px; }
.literature-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-bottom:36px; }
.literature-card{ display:grid; grid-template-columns:54px 1fr; gap:18px; padding:24px; border:1px solid #d3dae5; background:#ffffff; box-shadow:0 8px 22px rgba(8,43,89,.06); }
.literature-card > svg{ width:54px; height:54px; padding:10px; background:#edf3fb; color:#082b59; }
.literature-card h3{ margin:10px 0 10px; color:#071b3d; font-size:1.1rem; line-height:1.25; }
.literature-card p{ margin:0 0 18px; line-height:1.55; }
.catalog-section{ margin:8px 0 38px; padding:28px; border:1px solid #d3dae5; background:#f7f9fc; }
.catalog-section .section-link-heading{ margin-top:0; }
.catalog-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.catalog-link{ display:grid; grid-template-columns:76px minmax(0,1fr) auto; gap:16px; align-items:center; min-width:0; padding:14px 16px; border:1px solid #d3dae5; background:#ffffff; color:#071b3d; }
.catalog-link img{ width:76px; height:98px; object-fit:cover; object-position:center top; border:1px solid #d3dae5; background:#ffffff; box-shadow:0 4px 10px rgba(8,43,89,.08); }
.catalog-link span{ min-width:0; font-size:.84rem; line-height:1.35; color:#4d5668; }
.catalog-link strong{ display:block; margin-bottom:4px; color:#071b3d; font-size:.95rem; line-height:1.25; overflow-wrap:anywhere; }
.catalog-link em{ color:#0b4fb3; font-size:.72rem; font-style:normal; font-weight:900; text-transform:uppercase; white-space:nowrap; }
.catalog-more{ margin-top:14px; }
.catalog-more summary{ cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 16px; border:1px solid #cbd5e1; background:#ffffff; color:#071b3d; font-size:.82rem; font-weight:900; text-transform:uppercase; }
.catalog-more summary::after{ content:"+"; color:#0b4fb3; font-size:1.1rem; line-height:1; }
.catalog-more[open] summary::after{ content:"-"; }
.catalog-grid--compact{ margin-top:12px; }
.support-note-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:34px; }
.support-note-grid article{ padding:22px; border:1px solid #d3dae5; background:#f7f9fc; }
.support-note-grid h3{ margin:0 0 10px; color:#071b3d; font-size:1rem; }
.support-note-grid p{ margin:0; line-height:1.55; }
.resource-contact-card p{ margin-bottom:18px; }
.contact-hero{ min-height:390px; }
.contact-hero__inner{ min-height:390px; display:flex; align-items:center; }
.contact-quick{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; width:min(100%,940px); margin-top:34px; }
.contact-quick span{ display:grid; grid-template-columns:28px minmax(0,1fr); gap:2px 12px; align-items:start; min-width:0; padding:0 18px 0 0; border-right:1px solid #d3dae5; font-size:.76rem; line-height:1.25; }
.contact-quick span svg{ grid-row:1 / span 2; margin-top:2px; }
.contact-quick strong{ display:block; min-width:0; margin-bottom:3px; font-size:.78rem; line-height:1.2; overflow-wrap:anywhere; }
.contact-quick small{ display:block; min-width:0; color:inherit; font-size:.72rem; line-height:1.2; opacity:.86; }
.contact-layout{ display:grid; grid-template-columns:1fr .62fr; gap:36px; }
.location-grid{ display:grid; grid-template-columns:310px 1fr; gap:10px; margin-bottom:28px; }
.location-card h2{ display:flex; align-items:center; gap:12px; margin:0; padding:20px 24px; background:#05264d; color:#ffffff; font-size:1rem; text-transform:uppercase; }
.contact-list.dark{ padding:26px 24px; margin:0; }
.contact-list.dark li,.contact-list.dark a,.contact-list.dark span{ color:#071b3d; }
.contact-list.dark a{ font-size:.9rem; }
.map-box{ min-height:306px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; border:1px solid #d3dae5; background:#eef3ea; }
.map-box > svg{ position:absolute; width:74%; height:74%; opacity:.12; color:#1b6e35; }
.map-box > .nc-outline-img{ position:absolute; width:78%; height:74%; opacity:.14; }
.map-box div{ position:relative; z-index:1; padding:22px 26px; background:#ffffff; box-shadow:0 8px 22px rgba(8,43,89,.15); border-radius:4px; }
.connect-grid{ display:grid; grid-template-columns:repeat(4,1fr); }
.connect-grid article{ min-width:0; padding:26px; border-right:0; }
.connect-grid article > svg{ width:44px; height:44px; padding:10px; border-radius:50%; background:#edf3fb; color:#0b4fb3; }
.connect-grid h3{ font-size:1rem; margin:18px 0 4px; }
.connect-grid strong{ display:block; max-width:100%; font-size:.78rem; line-height:1.25; overflow-wrap:anywhere; }
.connect-grid p{ margin:8px 0 0; font-size:.88rem; line-height:1.45; }
.connect-grid .text-link{ margin-top:14px; font-size:.75rem; }
.message-card{ padding:28px 34px; }
.form-notice{ display:none; margin:0 0 18px; padding:14px 16px; border-left:4px solid #2b8f4b; background:#eef8f1; color:#0f5132; font-size:.92rem; line-height:1.4; font-weight:800; }
.form-notice.is-visible{ display:block; }
.contact-form{ display:grid; gap:16px; }
.form-honeypot{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.contact-form label{ display:grid; gap:6px; color:#071b3d; font-size:.84rem; font-weight:700; }
.contact-form div{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.contact-form input,.contact-form select,.contact-form textarea{ width:100%; border:1px solid #c8d2df; border-radius:3px; min-height:46px; padding:10px 12px; font:inherit; }
.contact-form textarea{ min-height:150px; resize:vertical; }
.team-service-grid{ display:grid; grid-template-columns:1fr; gap:46px; border-top:1px solid #d7dde7; padding-top:28px; }
.team-grid{ display:grid; grid-template-columns:repeat(3,minmax(220px,1fr)); gap:24px; }
.team-grid article{ padding-bottom:18px; }
.team-grid img{ width:100%; aspect-ratio:4 / 3; object-fit:cover; object-position:center top; }
.team-grid h3{ margin:14px 14px 0; font-size:1rem; }
.team-grid p,.team-grid a{ min-width:0; margin:4px 14px; font-size:.72rem; line-height:1.25; display:flex; gap:6px; align-items:center; overflow-wrap:anywhere; }
.team-grid svg{ width:14px; height:14px; }
.contact-map{ min-height:315px; background:#f3f6fa; }
.service-icons{ grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:20px; }
.service-icons span{ align-items:flex-start; text-align:left; border-right:0; }
.service-icons strong{ display:block; color:#071b3d; }
@media (max-width:1240px){
    .product-category-grid,.resource-card-grid,.capability-grid,.literature-grid,.support-note-grid{ grid-template-columns:repeat(2,1fr); }
    .capability-intro,.capability-support{ grid-template-columns:1fr; }
    .capability-intro .button{ justify-self:start; }
    .capability-support span{ align-items:flex-start; text-align:left; border-left:0; border-top:1px solid #cfd7e3; padding-top:16px; }
    .topic-grid{ grid-template-columns:repeat(4,1fr); }
    .showcase-card,.future-showcase,.mission-grid,.map-panel,.contact-layout,.team-service-grid,.resource-shell{ grid-template-columns:1fr; }
    .showcase-copy{ background:#ffffff; }
    .showcase-image{ aspect-ratio:16/6; }
    .support-ribbon__inner{ grid-template-columns:1fr 1fr; }
    .split-panels,.about-bottom-grid{ grid-template-columns:1fr; }
    .contact-quick{ grid-template-columns:1fr; }
    .contact-quick span{ border-right:0; }
}
@media (max-width:820px){
    .inner-page .site-logo img{ filter:none; }
    .centered-page-heading h1,.subpage-hero h1,.split-hero h1,.contact-hero h1{ font-size:2.35rem; }
    .subpage-hero__inner,.split-hero__inner,.contact-hero__inner{ min-height:440px; }
    .simple-resources .resource-shell{ grid-template-columns:1fr; }
    .mini-feature-row,.product-category-grid,.capability-grid,.resource-card-grid,.topic-grid,.literature-grid,.catalog-grid,.support-note-grid,.value-row,.number-grid,.about-card-grid,.location-grid,.connect-grid,.team-grid,.service-icons,.contact-form div{ grid-template-columns:1fr; }
    .capability-intro h2{ font-size:1.75rem; }
    .capability-grid h3{ min-height:0; }
    .capability-modal{ padding:18px; }
    .capability-modal__panel{ padding:24px; }
    .capability-modal__header{ grid-template-columns:1fr 40px; gap:14px; }
    .capability-modal__header h2{ font-size:1.55rem; }
    .capability-modal .capability-grid{ grid-template-columns:1fr; }
    .capability-modal__actions .button,
    .capability-modal__actions .text-link{ width:100%; justify-content:center; }
    .support-ribbon__inner,.support-ribbon.slim{ grid-template-columns:1fr; text-align:left; }
    .support-ribbon span{ align-items:flex-start; border-left:0; }
    .list-panel article{ grid-template-columns:1fr; }
    .why-panel{ grid-template-columns:1fr; }
    .contact-hero,.about-hero{ background:linear-gradient(rgba(255,255,255,.94),rgba(255,255,255,.86)),url("../images/hero/substation-hero-generated.png") center/cover; }
}
@media (max-width:520px){
    .showcase-copy,.message-card{ padding:24px; }
    .category-card div{ padding:20px; }
    .showcase-logo{ width:210px; }
    .resource-shell{ gap:22px; }
    .catalog-section{ padding:20px; }
    .catalog-link{ grid-template-columns:1fr; gap:8px; }
    .catalog-link img{ width:100%; height:auto; aspect-ratio:16 / 10; object-fit:cover; }
    .catalog-link em{ white-space:normal; }
}

.team-service-grid > *, .contact-layout > *, .resource-shell > *, .split-panels > *{ min-width:0; }
.section-link-heading{ flex-wrap:wrap; }

.subpage-hero__inner,.split-hero__inner,.contact-hero__inner{ flex-direction:column; justify-content:center; align-items:flex-start; }
@media (max-width:820px){ .compact-icons, .industry-grid.compact-icons{ grid-template-columns:1fr; } }

@media (max-width:820px){ .inner-page .site-logo img{ filter:none; } }

/*=========================================================
  UNIFIED SUBPAGE HERO TREATMENT
=========================================================*/

.manufacturers-page .page-heading,
.about-page .about-hero,
.contact-page .contact-hero{
    min-height:360px;
    padding:0;
    background:
        linear-gradient(
            90deg,
            rgba(3,31,63,.98) 0%,
            rgba(3,31,63,.78) 44%,
            rgba(3,31,63,.28) 76%,
            rgba(3,31,63,.08) 100%
        ),
        url("../images/hero/substation-hero-generated.png") center/cover;
    color:#ffffff;
    text-align:left;
}

.manufacturers-page .page-heading .container,
.about-page .split-hero__inner,
.contact-page .contact-hero__inner{
    min-height:360px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    box-sizing:border-box;
    padding-block:52px;
}

.manufacturers-page .blue-eyebrow,
.about-page .hero__eyebrow,
.contact-page .hero__eyebrow{
    display:flex;
    align-items:center;
    gap:16px;
    color:#ffffff;
    margin-bottom:18px;
}

.manufacturers-page .blue-eyebrow::after{
    content:"";
    width:52px;
    height:3px;
    background:var(--ra-red);
}

.manufacturers-page .page-heading h1,
.about-page .about-hero h1,
.contact-page .contact-hero h1{
    max-width:720px;
    margin:0 0 18px;
    color:#ffffff;
}

.manufacturers-page .page-heading p,
.about-page .about-hero p,
.contact-page .contact-hero p{
    max-width:660px;
    margin-inline:0;
    color:#ffffff;
}

.about-page .about-hero .button--navy{
    background:transparent;
    border-color:rgba(255,255,255,.9);
    color:#ffffff;
}

.about-page .about-hero .button--navy:hover{
    background:#ffffff;
    color:#05264d;
}

.contact-page .contact-quick span{
    color:#ffffff;
    border-right-color:rgba(255,255,255,.28);
}

.contact-page .contact-quick strong{
    color:#ffffff;
}

.manufacturer-showcase{
    padding-top:42px;
}

@media (max-width:820px){
    .manufacturers-page .page-heading,
    .about-page .about-hero,
    .contact-page .contact-hero{
        min-height:440px;
        background:
            linear-gradient(rgba(3,31,63,.9),rgba(3,31,63,.74)),
            url("../images/hero/substation-hero-generated.png") center/cover;
    }

    .manufacturers-page .page-heading .container,
    .about-page .split-hero__inner,
    .contact-page .contact-hero__inner{
        min-height:440px;
    }

    .manufacturers-page .page-heading h1,
    .about-page .about-hero h1,
    .contact-page .contact-hero h1{
        font-size:2.35rem;
    }

    .contact-page .contact-quick span{
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.22);
        padding:0 0 16px;
    }

    .contact-page .contact-quick span:last-child{
        border-bottom:0;
    }
}

/* Final contact/about hero and project banner polish */
.about-page .split-hero__inner,
.contact-page .contact-hero__inner{
    padding-top:72px;
    padding-bottom:56px;
}

.project-band__inner{
    grid-template-columns:88px minmax(0,1fr) minmax(220px,auto);
    gap:30px;
    padding-block:30px;
}

.project-band .button{
    grid-column:auto;
    justify-self:end;
    min-width:min(330px,100%);
}

.project-band h2,
.project-band p,
.inner-page .project-band h2,
.inner-page .project-band p{
    color:#ffffff;
}

.light-cta .project-band__inner{
    min-height:132px;
}

@media (max-width:1240px){
    .project-band__inner{
        grid-template-columns:72px minmax(0,1fr);
        gap:22px;
    }

    .project-band .button{
        grid-column:2;
        justify-self:start;
        min-width:min(330px,100%);
    }
}

@media (max-width:820px){
    .about-page .split-hero__inner,
    .contact-page .contact-hero__inner{
        padding-top:76px;
        padding-bottom:64px;
    }

    .project-band__inner{
        grid-template-columns:1fr;
        gap:18px;
        padding-block:32px;
        text-align:left;
    }

    .project-band .button{
        grid-column:auto;
        justify-self:stretch;
        width:100%;
        min-width:0;
    }

    .project-band__icon{
        width:76px;
        height:76px;
    }
}

/* Final map/photo polish */
@media (max-width:820px){
    .nc-map{ min-height:300px; }
    .nc-map > .nc-outline-img,
    .service-map-section .nc-map > .nc-outline-img{
        width:100%;
        height:100%;
    }
    .nc-map span{ font-size:.74rem; }
}

@media (max-width:520px){
    .nc-map{ min-height:270px; }
    .nc-map span{ font-size:.68rem; }
    .nc-map span:nth-of-type(1){ left:24%; top:42%; }
    .nc-map span:nth-of-type(2){ left:42%; top:60%; }
    .nc-map span:nth-of-type(3){ left:51%; top:35%; }
    .nc-map span:nth-of-type(4){ left:62%; top:45%; }
    .nc-map span:nth-of-type(5){ left:78%; top:43%; }
    .nc-map span:nth-of-type(6){ left:73%; top:73%; }
}

/* Mobile image portability */
@media (max-width:820px){
    .hero__background img{
        object-position:58% center;
    }

    .manufacturers-page .page-heading,
    .about-page .about-hero,
    .contact-page .contact-hero,
    .subpage-hero,
    .split-hero,
    .contact-hero,
    .product-hero,
    .resource-hero{
        background-position:60% center;
    }

    .intro-image img,
    .category-card img,
    .resource-card img,
    .showcase-image,
    .future-partner-image,
    .why-panel img{
        height:auto;
        min-height:0;
    }

    .intro-image img{
        aspect-ratio:4 / 3;
        object-position:center;
    }

    .showcase-image{
        aspect-ratio:4 / 3;
        object-position:center;
    }

    .category-card img,
    .resource-card img{
        aspect-ratio:16 / 10;
        object-position:center;
    }

    .future-partner-image,
    .why-panel img{
        aspect-ratio:16 / 10;
        object-fit:cover;
        object-position:center;
    }
}

@media (max-width:520px){
    .hero__background img{
        object-position:62% center;
    }

    .manufacturers-page .page-heading,
    .about-page .about-hero,
    .contact-page .contact-hero,
    .subpage-hero,
    .split-hero,
    .contact-hero,
    .product-hero,
    .resource-hero{
        background-position:64% center;
    }

    .category-card img,
    .resource-card img,
    .showcase-image,
    .future-partner-image,
    .why-panel img{
        aspect-ratio:4 / 3;
    }

    .team-grid img{
        aspect-ratio:4 / 3;
        object-position:center top;
    }
}

/* Final mobile navigation override */
@media (max-width:900px){
    body .site-header.nav-open .site-nav{
        display:block;
        flex-basis:100%;
        width:100%;
        height:auto;
        margin:0;
        order:3;
    }

    body .site-header.nav-open .site-nav__list{
        display:grid;
        grid-template-columns:1fr;
        gap:0;
        width:100%;
        padding:10px 0 8px;
        border-top:1px solid rgba(255,255,255,.18);
    }

    body .site-header.nav-open .site-nav__link{
        height:auto;
        min-height:46px;
        padding:12px;
        color:#ffffff;
    }

    body .site-header.nav-open .site-nav__link::after{
        display:none;
    }
}
