/* ============================================================ */
/* index.html */
/* ============================================================ */
    @font-face {
        font-family: 'Asphaltic Grain Condensed';
        src: url("../fonts/AsphalticGrainCondensed.woff2") format("woff2");
        font-weight: normal;
        font-style: normal;
        font-display: swap;
    }
    :root { color-scheme: light; }
    *, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; max-width: 100%; }
    body { background: #000; }
    .reflex-page-shell { width: 100%; background: #EAEBE4; }

    /* Faithful port of dawn-theme/sections/header-brand.liquid, self_brand_key="reflex" */
    #ReflexHeader {
        --hb-dark: #000000;
        --hb-brandrow-bg: #000000;
        --hb-cream: #F3F4EF;
        --hb-ink: #232323;
        --hb-badge: #F7412D;
        --hb-accent: #F7412D;
        font-family: 'Public Sans', sans-serif;
    }
    .hb a, .hb-mobile-nav a { text-decoration: none; }
    #ReflexHeader img { display: block; max-width: 100%; }

    .hb-brandrow { background: #000; border-bottom: none; }
    .hb-brandrow__row {
        display: flex !important; align-items: stretch; justify-content: flex-end; gap: 18px;
        max-width: 1320px; margin: 0 auto; padding: 0 24px; min-height: 38px;
    }
    .hb-brandrow__brands {
        display: flex; align-items: stretch; gap: 14px; flex-shrink: 1; min-width: 0;
        overflow-x: auto; scrollbar-width: none;
    }
    .hb-brandrow__brands::-webkit-scrollbar { display: none; }
    .hb-brandrow__parent { display: flex; align-items: center; flex-shrink: 0; }
    .hb-brandrow__parent img { filter: invert(1); }
    .hb-brandrow__divider { flex-shrink: 0; width: 1px; align-self: stretch; margin: 10px 0; background: rgba(255,255,255,.2); }
    .hb-brandrow__label {
        flex-shrink: 0; align-self: center; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
        color: rgba(255,255,255,.7);
    }
    .hb-brandrow__tabs { display: flex; align-items: stretch; gap: 10px; flex-shrink: 0; }
    .hb-brandrow__tab { display: flex; align-items: center; flex-shrink: 0; position: relative; padding: 0 4px; }
    .hb-brandrow__tab img { opacity: .75; transition: opacity .2s ease; width: auto; filter: invert(1); }
    .hb-brandrow__tab:hover img { opacity: 1; }
    .hb-brandrow__tab.is-active {
        background: #F7412D; padding: 0 14px;
    }
    .hb-brandrow__tab.is-active img { opacity: 1; filter: brightness(0); }

    .hb-stripe {
        display: block !important; height: 10px;
        background: #F7412D;
    }

    .hb-mobile-nav {
        position: fixed; inset: 0; background: var(--hb-dark); color: var(--hb-cream);
        z-index: 1000; display: flex; flex-direction: column; padding: 24px 24px;
        transform: translateX(100%); transition: transform .35s ease;
    }
    .hb-mobile-nav.is-open { transform: translateX(0); }
    .hb-mobile-nav__top { display: flex; justify-content: space-between; align-items: center; }
    .hb-mobile-nav__ecom {
        display: flex; flex-wrap: wrap; gap: 20px; margin-top: 40px; padding-bottom: 20px;
        border-bottom: 1px solid rgba(255,255,255,.18);
    }
    .hb-mobile-nav__ecom-item {
        display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600;
        letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.75);
    }
    .hb-mobile-nav__links { margin-top: 36px; display: flex; flex-direction: column; gap: 26px; }
    .hb-mobile-nav__links a { font-family: 'Public Sans', sans-serif; font-size: 22px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; color: var(--hb-cream); }
    .hb-mobile-nav__actions { margin-top: auto; display: flex; flex-direction: column; gap: 14px; }
    .hb-mobile-nav__brands { margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.18); }
    .hb-mobile-nav__brands-label {
        display: block; margin-bottom: 14px; font-size: .68rem; font-weight: 600; letter-spacing: .1em;
        text-transform: uppercase; color: rgba(255,255,255,.4);
    }
    .hb-mobile-nav__brands-row { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
    .hb-mobile-nav__brands-row img { height: 13px; width: auto; filter: invert(1); opacity: .5; }
    .hb-pill {
        font-size: 12px; letter-spacing: .03em; text-transform: uppercase; font-weight: 700;
        border: 1.5px solid rgba(255,255,255,.75); border-radius: 0; padding: 9px 18px;
        background: transparent; color: #fff; transition: background .18s ease, color .18s ease, border-color .3s ease;
        display: inline-block;
    }
    .hb-pill--light { border-color: var(--hb-cream); color: var(--hb-cream); }
    .hb-pill--light:hover { background: var(--hb-cream); color: var(--hb-dark); }
    .hb-icon-btn {
        position: relative; background: none; border: none; color: #fff; display: flex;
        align-items: center; justify-content: center; width: 50px; height: 50px; cursor: pointer;
        transition: color .3s ease;
    }

    @media (max-width: 1180px) {
        .hb-brandrow__row { justify-content: flex-start; }
    }

    /* Hero: "No Biggie" from designer mockup (reflex web elements/) */
    .reflex-hero {
        position: relative;
        overflow: hidden;
        height: 78vh; min-height: 560px; max-height: 820px;
        background: #000 url("../images/beartruck.jpg") no-repeat center 30%;
        background-size: cover;
    }
    .reflex-hero__scrim {
        position: absolute; inset: 0;
        background: linear-gradient(100deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.28) 32%, rgba(0,0,0,0) 55%);
        pointer-events: none;
    }
    .reflex-hero__content {
        position: absolute; left: 50%; top: 0; transform: translateX(-50%);
        width: 100%; max-width: 1320px; padding: 20px 32px 0;
    }
    .reflex-hero__logo { height: 44px; width: auto; margin-bottom: 2px; }
    .reflex-hero__title {
        margin: 0; font-family: 'Asphaltic Grain Condensed', 'Public Sans', sans-serif; font-weight: normal;
        text-transform: uppercase; font-size: clamp(76px, 11.5vw, 148px); line-height: .96;
        letter-spacing: .01em; color: #fff;
    }
    .reflex-hero__subtitle {
        margin: -8px 0 0; font-family: 'Public Sans', sans-serif; font-weight: 500;
        font-size: clamp(23px, 2.6vw, 32px); line-height: 1.35; color: #fff; max-width: 400px;
    }
    @media (max-width: 800px) {
        .reflex-hero { height: 48vh; min-height: 340px; max-height: 440px; }
        .reflex-hero__content { padding-top: 28px; }
        .reflex-hero__logo { display: none; }
        .reflex-hero__subtitle { margin-top: 6px; }
    }
    .reflex-nav {
        background: #000; border-bottom: 1px solid rgba(255,255,255,.08);
        position: sticky; top: 0; z-index: 500;
    }
    .reflex-nav__row {
        max-width: 1320px; margin: 0 auto; padding: 10px 32px; min-height: 68px;
        display: flex; align-items: center; flex-wrap: wrap; gap: 18px 32px;
    }
    .reflex-nav__links { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
    .reflex-nav__links a {
        font-family: 'Open Sans', sans-serif;
        font-size: 14px; font-weight: 600; letter-spacing: .04em;
        text-transform: uppercase; color: #fff; text-decoration: none;
        transition: opacity .15s ease;
    }
    .reflex-nav__links a:hover { opacity: .7; }
    .reflex-nav__login { margin-left: auto; display: flex; align-items: center; gap: 10px; }
    .reflex-nav__login span {
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
        font-size: 11px; font-weight: 600; letter-spacing: .04em;
        text-transform: uppercase; color: #fff; white-space: nowrap;
    }
    .reflex-nav__login form {
        display: flex; align-items: center; border: 1px solid rgba(255,255,255,.2); overflow: hidden;
    }
    .reflex-nav__login input {
        border: none; outline: none; padding: 7px 12px; width: 110px;
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
        font-size: 13px; font-weight: 400; background: #000; color: #fff;
    }
    .reflex-nav__login input::placeholder { color: rgba(255,255,255,.4); }
    .reflex-nav__login input + input { border-left: 1px solid rgba(255,255,255,.15); }
    .reflex-nav__login button {
        border: none; background: rgba(255,255,255,.12); color: #fff; width: 30px; height: 30px;
        display: flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0;
    }
    .reflex-nav__login button:hover { background: rgba(255,255,255,.22); }
    .reflex-nav__login-link {
        display: inline-flex; align-items: center; gap: 7px;
        font-family: 'Open Sans', sans-serif;
        font-size: 12px; font-weight: 700; letter-spacing: .02em; color: #F7412D;
        text-decoration: none; background: transparent; border: 1.5px solid #F7412D;
        padding: 9px 18px; white-space: nowrap;
        transition: background .18s ease, color .18s ease;
    }
    .reflex-nav__login-link:hover { background: #F7412D; color: #fff; }
    .reflex-nav__menu-toggle {
        display: none; background: none; border: none; color: #fff; cursor: pointer;
        width: 32px; height: 32px; align-items: center; justify-content: center; margin-left: auto;
    }
    .reflex-nav__logo { display: none; margin-right: 4px; }
    .reflex-nav__logo img { height: 22px; width: auto; display: block; }
    .reflex-nav__logo--trial {
        display: flex !important; align-items: center; overflow: hidden;
        max-width: 0; opacity: 0; margin-right: -32px; pointer-events: none;
        transition: max-width .3s ease, opacity .25s ease, margin-right .3s ease;
    }
    .reflex-nav__logo--trial img { filter: brightness(0) invert(1); }
    .reflex-nav.is-scrolled .reflex-nav__logo--trial { max-width: 200px; opacity: 1; margin-right: 4px; pointer-events: auto; }
    @media (max-width: 900px) {
        .reflex-nav__logo--trial { max-width: none; opacity: 1; margin-right: 4px; pointer-events: auto; }
    }

    @media (max-width: 900px) {
        .reflex-nav__row { padding: 16px 20px; }
        .reflex-nav__links { display: none; }
        .reflex-nav__login { display: none; }
        .reflex-nav__menu-toggle { display: flex; }
        .hb-brandrow { display: none; }
        .reflex-nav__logo { display: flex; align-items: center; }
    }

    /* offset anchor-linked sections so the sticky nav doesn't cover their top */
    #products, #coatings { scroll-margin-top: 90px; }

    /* Quick Look: white product strip below the secondary nav */
    .reflex-quicklook { background: #fff; padding: 56px 32px 64px; }
    .reflex-quicklook__inner { max-width: 1320px; margin: 0 auto; }
    .reflex-quicklook__head {
        display: flex; align-items: baseline; justify-content: space-between;
        margin-bottom: 40px;
    }
    .reflex-quicklook__title {
        font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 22px;
        letter-spacing: .03em; text-transform: uppercase; color: #1a1a1a;
        margin: 0; text-decoration: underline; text-underline-offset: 6px;
    }
    .reflex-quicklook__all {
        font-family: 'Public Sans', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .08em;
        text-transform: uppercase; color: #8a8a85; text-decoration: none;
    }
    .reflex-quicklook__all:hover { color: #1a1a1a; }
    .reflex-quicklook__grid {
        display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px;
    }
    .reflex-product__image { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; background: #d9d9d4; }
    .reflex-product__row {
        display: flex; align-items: flex-end; justify-content: space-between; gap: 12px;
        margin-top: 14px;
    }
    .reflex-product__name {
        font-family: 'Public Sans', sans-serif; font-size: 16px; font-weight: 500; color: #1a1a1a;
        line-height: 1.3; margin: 0;
    }
    .reflex-product__price {
        font-family: 'Public Sans', sans-serif; font-size: 14px; font-weight: 400; color: #6b6b66;
        margin: 4px 0 0;
    }
    .reflex-product__link {
        flex-shrink: 0; font-family: 'Public Sans', sans-serif; font-size: 11px; font-weight: 600;
        letter-spacing: .06em; text-transform: uppercase; color: #8a8a85; text-decoration: none;
        white-space: nowrap;
    }
    .reflex-product__link:hover { color: #1a1a1a; }
    .reflex-product__buy {
        flex-shrink: 0; font-family: 'Public Sans', sans-serif; font-size: 11px; font-weight: 600;
        letter-spacing: .06em; text-transform: uppercase; color: #fff; background: #1a1a1a;
        border: none; border-radius: 3px; padding: 9px 16px; cursor: pointer; white-space: nowrap;
    }
    .reflex-product__buy:hover { background: #F7412D; }

    @media (max-width: 800px) {
        .reflex-quicklook__grid {
            display: flex; grid-template-columns: unset; gap: 16px; overflow-x: auto;
            scroll-snap-type: x mandatory; scroll-padding-left: 20px; padding: 0 20px 6px;
            margin: 0 -20px; -webkit-overflow-scrolling: touch; scrollbar-width: none;
        }
        .reflex-quicklook__grid::-webkit-scrollbar { display: none; }
        .reflex-quicklook__grid .reflex-product {
            flex: 0 0 82%; scroll-snap-align: start;
        }
    }

    /* Products: filterable grid with headline + tabs */
    .reflex-products { background: #fff; padding: 64px 32px 72px; }
    .reflex-products__inner { max-width: 1320px; margin: 0 auto; }
    .reflex-products__label {
        font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 22px;
        letter-spacing: .03em; text-transform: uppercase; color: #1a1a1a;
        margin: 0 0 48px; text-decoration: underline; text-underline-offset: 6px;
    }
    .reflex-products__head { text-align: center; margin-bottom: 32px; }
    .reflex-products__title {
        font-family: 'Public Sans', sans-serif; font-weight: 700; font-style: italic;
        font-size: clamp(26px, 3.4vw, 44px); color: #1a1a1a; margin: 0;
    }
    .reflex-products__subtitle {
        font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: .1em;
        text-transform: uppercase; color: #1a1a1a; margin: 12px 0 0;
    }
    .reflex-products__tabs {
        display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 48px;
    }
    .reflex-products__tab {
        font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: .06em;
        text-transform: uppercase; padding: 12px 26px; border: 1.5px solid #1a1a1a; background: #fff;
        color: #1a1a1a; cursor: pointer;
    }
    .reflex-products__tab.is-active {
        background: #F7412D; border-color: #F7412D; color: #fff;
    }
    .reflex-products__tab.is-dark {
        background: #1a1a1a; border-color: #1a1a1a; color: #fff;
    }
    .reflex-products__grid {
        display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px;
    }
    .reflex-products__grid .reflex-product__image {
        aspect-ratio: 4 / 3; object-fit: contain; background: #fff; border: 1px solid #eee;
    }
    .reflex-products__grid .reflex-product__login {
        flex-shrink: 0; font-family: 'Public Sans', sans-serif; font-size: 11px; font-weight: 600;
        letter-spacing: .06em; text-transform: uppercase; color: #fff; background: #1a1a1a;
        border: none; padding: 9px 16px; cursor: pointer; white-space: nowrap;
    }

    @media (max-width: 900px) {
        .reflex-products__grid { grid-template-columns: repeat(2, 1fr); }
        .reflex-products__tabs { flex-wrap: wrap; }
    }

    @media (max-width: 800px) {
        .reflex-products__grid {
            display: flex; grid-template-columns: unset; gap: 16px; overflow-x: auto;
            scroll-snap-type: x mandatory; scroll-padding-left: 20px; padding: 0 20px 6px;
            margin: 0 -20px; -webkit-overflow-scrolling: touch; scrollbar-width: none;
        }
        .reflex-products__grid::-webkit-scrollbar { display: none; }
        .reflex-products__grid .reflex-product {
            flex: 0 0 82%; scroll-snap-align: start;
        }
    }

    /* Cold: "Not Even Cold." split panel, mirror of Featured (image left, black right) */
    .reflex-cold { background: #000; }
    .reflex-cold__inner {
        display: flex; flex-direction: row-reverse;
        align-items: stretch; justify-content: flex-start;
    }
    .reflex-cold__inner--forward { flex-direction: row; }
    .reflex-cold__image {
        flex: 0 0 840px;
        width: 840px;
        min-width: 0;
        aspect-ratio: 4318 / 3760;
        background-image: url("https://placehold.co/1400x1200/1a2a33/cccccc?text=Cold+Weather+Bedliner");
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        position: relative;
    }
    .reflex-cold__image-label {
        position: absolute; top: 24px; left: 24px;
        font-family: 'Public Sans', sans-serif; font-size: 18px; font-weight: 700; letter-spacing: .01em;
        color: #fff; text-transform: uppercase;
    }
    .reflex-cold__image-label span { color: #F7412D; }
    .reflex-cold__copy {
        flex: 1 1 auto;
        min-width: 0;
        display: flex; flex-direction: column; justify-content: center; align-items: center;
        text-align: center; padding: 60px 40px; gap: 70px;
    }
    .reflex-cold__top { display: flex; flex-direction: column; align-items: center; }
    .reflex-cold__bottom { display: flex; flex-direction: column; align-items: center; }
    .reflex-cold__logo { height: 70px; width: auto; margin-bottom: 15px; }
    .reflex-cold__kicker {
        font-family: 'Public Sans', sans-serif; font-size: clamp(19px, 2vw, 24px); font-weight: 500;
        color: #fff; margin: 0;
    }
    .reflex-cold__title {
        font-family: 'Asphaltic Grain Condensed', 'Public Sans', sans-serif; font-weight: normal; text-transform: uppercase;
        color: #fff; margin: 0; line-height: .95; font-size: clamp(50px, 6.2vw, 76px);
        letter-spacing: .01em;
    }
    .reflex-cold__sub {
        font-family: 'Public Sans', sans-serif; font-size: clamp(13px, 1.25vw, 15px); font-weight: 700; letter-spacing: .02em;
        text-transform: uppercase; color: #fff; margin: 10px 0 0; line-height: 1.4;
    }
    .reflex-cold__icon { height: 48px; width: auto; margin-top: 20px; }
    .reflex-cold__icon-label {
        font-family: 'Public Sans', sans-serif; font-size: 14px; font-weight: 700; letter-spacing: .04em;
        text-transform: uppercase; color: #fff; margin: 8px 0 0;
    }
    .reflex-cold__icon-sub {
        font-family: 'Public Sans', sans-serif; font-size: 14px; font-weight: 700; letter-spacing: .04em;
        text-transform: uppercase; color: #F7412D; margin: 1px 0 0;
    }
    .reflex-cold__cta {
        margin-top: 15px; font-family: 'Public Sans', sans-serif; font-size: 14px; font-weight: 600;
        letter-spacing: .06em; text-transform: uppercase; color: #fff; text-decoration: none;
        border: 1.5px solid #fff; padding: 10px 25px; display: inline-block;
    }
    .reflex-cold__cta:hover { background: #fff; color: #000; }
    .reflex-cold__made {
        margin-top: 10px; font-family: 'Public Sans', sans-serif; font-size: 11px; font-weight: 500;
        letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.5);
    }

    @media (max-width: 800px) {
        .reflex-cold__inner, .reflex-cold__inner--forward { flex-direction: column-reverse; }
        .reflex-cold__copy { flex: none; padding: 28px 24px; }
        .reflex-cold__image { flex: none; max-width: 100%; width: 100%; }
    }

    /* Coatings: Grip vs Armor comparison */
    .reflex-coatings { background: #fff; padding: 56px 32px 72px; }
    .reflex-coatings__inner { max-width: 1320px; margin: 0 auto; }
    .reflex-coatings__header {
        display: grid; grid-template-columns: 1fr 2fr 1fr; align-items: start;
        margin-bottom: 44px; gap: 16px;
    }
    .reflex-coatings__label-col { grid-column: 1; text-align: left; }
    .reflex-coatings__label {
        font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 22px;
        letter-spacing: .03em; text-transform: uppercase; color: #1a1a1a;
        margin: 0 0 16px;
    }
    .reflex-coatings__apply {
        display: inline-block; font-family: 'Public Sans', sans-serif; font-size: 11px; font-weight: 600;
        letter-spacing: .05em; text-transform: uppercase; color: #fff; background: #F7412D;
        padding: 9px 18px; text-decoration: none;
    }
    .reflex-coatings__apply:hover { background: #1a1a1a; }
    .reflex-coatings__head { grid-column: 2; text-align: center; }
    .reflex-coatings__title {
        font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: clamp(24px, 3vw, 34px);
        color: #1a1a1a; margin: 0;
    }
    .reflex-coatings__subtitle {
        font-family: 'Public Sans', sans-serif; font-weight: 600; font-size: 12px; letter-spacing: .1em;
        text-transform: uppercase; color: #6b6b66; margin: 10px 0 0;
    }
    .reflex-coatings__grid {
        display: grid; grid-template-columns: 1fr 1fr; gap: 48px;
    }
    .reflex-coatings__col-logo { display: block; height: 40px; width: auto; margin: 0 auto 20px; }
    .reflex-coatings__photo { position: relative; }
    .reflex-coatings__photo img {
        width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block;
    }
    .reflex-coatings__caption {
        position: absolute; left: 0; right: 0; bottom: 0; padding: 10px 16px;
        font-family: 'Public Sans', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .04em;
        text-transform: uppercase; color: #fff; text-align: center;
    }
    .reflex-coatings__caption--grip { background: #F7412D; }
    .reflex-coatings__caption--armor { background: rgba(0,0,0,.85); }
    .reflex-coatings__specs { margin-top: 28px; display: flex; flex-direction: column; gap: 18px; }
    .reflex-coatings__spec { display: flex; align-items: center; gap: 14px; }
    .reflex-coatings__spec img { height: 26px; width: 26px; flex-shrink: 0; filter: brightness(0); }
    .reflex-coatings__spec-text { display: flex; flex-direction: column; }
    .reflex-coatings__spec-label {
        font-family: 'Public Sans', sans-serif; font-size: 10px; font-weight: 600; letter-spacing: .08em;
        text-transform: uppercase; color: #8a8a85;
    }
    .reflex-coatings__spec-value {
        font-family: 'Public Sans', sans-serif; font-size: 14px; font-weight: 500; color: #1a1a1a;
    }
    .reflex-coatings__col-cta {
        display: block; text-align: center; margin-top: 24px; font-family: 'Public Sans', sans-serif;
        font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
        color: #1a1a1a; text-decoration: none;
    }
    .reflex-coatings__col-cta:hover { color: #F7412D; }

    @media (max-width: 800px) {
        .reflex-coatings__grid { grid-template-columns: 1fr; gap: 40px; }
        .reflex-coatings__header { grid-template-columns: 1fr; text-align: center; }
        .reflex-coatings__label-col { text-align: center; }
        .reflex-coatings__head { grid-column: 1; }
    }

    /* The Brand: trademark/company info strip */
    .reflex-brand { background: #fbfcfc; padding: 48px 32px 72px; }
    .reflex-brand__inner { max-width: 1320px; margin: 0 auto; }
    .reflex-brand__label {
        font-family: 'Public Sans', sans-serif; font-size: 15px; font-weight: 600; color: #1a1a1a;
        margin: 0 0 28px;
    }
    .reflex-brand__label strong { text-decoration: underline; text-underline-offset: 4px; }
    .reflex-brand__label a {
        color: #1a1a1a; text-decoration: underline; text-underline-offset: 4px;
    }
    .reflex-brand__head { margin-bottom: 40px; }
    .reflex-brand__title {
        font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: clamp(22px, 2.6vw, 32px);
        color: #1a1a1a; margin: 0;
    }
    .reflex-brand__subtitle {
        font-family: 'Public Sans', sans-serif; font-weight: 600; font-size: 12px; letter-spacing: .1em;
        text-transform: uppercase; color: #1a1a1a; margin: 10px 0 0;
    }
    .reflex-brand__grid {
        display: grid; grid-template-columns: 260px 1fr; gap: 48px; align-items: start;
    }
    .reflex-brand__photo { width: 100%; display: block; filter: grayscale(1); }
    .reflex-brand__copy p {
        font-family: 'Public Sans', sans-serif; font-weight: 400; font-size: 15px; line-height: 1.6;
        color: #1a1a1a; margin: 0 0 20px; text-align: justify;
    }
    .reflex-brand__copy p:last-child { margin-bottom: 0; }
    .reflex-brand__copy strong { font-weight: 700; }

    @media (max-width: 800px) {
        .reflex-brand__grid { grid-template-columns: 1fr; }
        .reflex-brand__photo { max-width: 260px; }
    }

    /* Site footer */
    .reflex-siteFooter { background: #000; padding: 56px 32px 28px; }
    .reflex-siteFooter__inner { max-width: 1320px; margin: 0 auto; }
    .reflex-siteFooter__top {
        display: flex; align-items: flex-start; justify-content: space-between; gap: 48px;
        flex-wrap: wrap; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,.12);
    }
    .reflex-siteFooter__badge { flex-shrink: 0; }
    .reflex-siteFooter__badge img { height: 96px; width: auto; display: block; }
    .reflex-siteFooter__cols { display: flex; gap: 64px; flex-wrap: wrap; }
    .reflex-siteFooter__col-title {
        font-family: 'Public Sans', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .08em;
        text-transform: uppercase; color: #fff; margin: 0 0 18px;
    }
    .reflex-siteFooter__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
    .reflex-siteFooter__col a {
        font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 400; color: rgba(255,255,255,.65);
        text-decoration: none;
    }
    .reflex-siteFooter__col a:hover { color: #F7412D; }
    .reflex-siteFooter__bottom {
        display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
        padding-top: 24px;
    }
    .reflex-siteFooter__copy {
        font-family: 'Public Sans', sans-serif; font-size: 11px; color: rgba(255,255,255,.4); margin: 0;
    }
    .reflex-siteFooter__social { display: flex; gap: 16px; }
    .reflex-siteFooter__social a {
        color: rgba(255,255,255,.65); display: flex; align-items: center; justify-content: center;
    }
    .reflex-siteFooter__social a:hover { color: #F7412D; }

    @media (max-width: 800px) {
        .reflex-siteFooter__top { flex-direction: column; gap: 32px; }
        .reflex-siteFooter__cols { gap: 40px; }
        .reflex-siteFooter__bottom { flex-direction: column; align-items: flex-start; }
    }

    /* Business CTA: red banner promoting the applicator program */
    .reflex-business {
        background: #F7412D; padding: 44px 32px; text-align: center;
    }
    .reflex-business__eyebrow {
        font-family: 'Public Sans', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .1em;
        text-transform: uppercase; color: #fff; margin: 0 0 14px;
    }
    .reflex-business__title {
        font-family: 'Public Sans', sans-serif; font-weight: 800; text-transform: uppercase;
        color: #fff; margin: 0 0 28px; line-height: .95; font-size: clamp(32px, 5vw, 58px);
        letter-spacing: .01em;
    }
    .reflex-business__actions {
        display: flex; align-items: center; justify-content: center; gap: 28px; flex-wrap: wrap;
    }
    .reflex-business__link {
        font-family: 'Public Sans', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .06em;
        text-transform: uppercase; color: #fff; text-decoration: none;
    }
    .reflex-business__link--bordered {
        border: 1.5px solid #fff; padding: 11px 22px;
    }
    .reflex-business__link--bordered:hover { background: #fff; color: #F7412D; }
    .reflex-business__link--plain:hover { text-decoration: underline; }
    .reflex-business__link--dark {
        background: #1a1a1a; padding: 11px 22px;
    }
    .reflex-business__link--dark:hover { background: #000; }

    /* Featured: "A Spray System, Simplified." split panel */
    .reflex-featured {
        background: #000;
    }
    .reflex-featured__inner {
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }
    .reflex-featured__copy {
        flex: 1 1 auto;
        min-width: 0;
        display: flex; flex-direction: column; justify-content: center; align-items: center;
        text-align: center; padding: 50px 40px; gap: 10px;
    }
    .reflex-featured__eyebrow {
        font-family: 'Public Sans', sans-serif; font-size: 15px; font-weight: 600; letter-spacing: .1em;
        text-transform: uppercase; color: #fff;
        margin: 0 0 30px;
    }
    .reflex-featured__kicker {
        font-family: 'Public Sans', sans-serif; font-size: 25px; font-weight: 600;
        color: #F7412D; margin: 0;
    }
    .reflex-featured__title {
        font-family: 'Public Sans', sans-serif; font-weight: 600; text-transform: uppercase;
        color: #fff; margin: 5px 0 0; line-height: 1.05; font-size: clamp(19px, 2vw, 24px);
    }
    .reflex-featured__title strong {
        display: block; font-family: 'Asphaltic Grain Condensed', 'Public Sans', sans-serif; font-weight: normal;
        font-size: clamp(46px, 5.5vw, 66px); letter-spacing: .01em;
    }
    .reflex-featured__sub {
        font-family: 'Public Sans', sans-serif; font-size: 14px; font-weight: 500; letter-spacing: .12em;
        text-transform: uppercase; color: #fff; margin: -8px 0 0;
    }
    .reflex-featured__image {
        flex: 0 0 840px;
        width: 840px;
        min-width: 0;
        aspect-ratio: 4318 / 3760;
        background-image: url("../images/RF_Pro6_Col.jpg");
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    @media (max-width: 800px) {
        .reflex-featured__inner { flex-direction: column; }
        .reflex-featured__copy { flex: none; padding: 28px 24px; }
        .reflex-featured__image { flex: none; max-width: 100%; width: 100%; }
    }

/* ============================================================ */
/* coatings.html */
/* ============================================================ */
    @font-face {
        font-family: 'Asphaltic Grain Condensed';
        src: url("../fonts/AsphalticGrainCondensed.woff2") format("woff2");
        font-weight: normal;
        font-style: normal;
        font-display: swap;
    }
    :root { color-scheme: light; }
    *, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; max-width: 100%; }
    body { background: #000; }
    .reflex-page-shell { width: 100%; background: #EAEBE4; }

    #ReflexHeader {
        --hb-dark: #000000; --hb-brandrow-bg: #000000; --hb-cream: #F3F4EF;
        --hb-ink: #232323; --hb-badge: #F7412D; --hb-accent: #F7412D;
        font-family: 'Public Sans', sans-serif;
    }
    .hb a, .hb-mobile-nav a { text-decoration: none; }
    #ReflexHeader img { display: block; max-width: 100%; }
    .hb-brandrow { background: #000; border-bottom: none; }
    .hb-brandrow__row {
        display: flex !important; align-items: stretch; justify-content: flex-end; gap: 18px;
        max-width: 1320px; margin: 0 auto; padding: 0 24px; min-height: 38px;
    }
    .hb-brandrow__brands { display: flex; align-items: stretch; gap: 14px; flex-shrink: 1; min-width: 0; overflow-x: auto; scrollbar-width: none; }
    .hb-brandrow__brands::-webkit-scrollbar { display: none; }
    .hb-brandrow__parent { display: flex; align-items: center; flex-shrink: 0; }
    .hb-brandrow__parent img { filter: invert(1); }
    .hb-brandrow__divider { flex-shrink: 0; width: 1px; align-self: stretch; margin: 10px 0; background: rgba(255,255,255,.2); }
    .hb-brandrow__label {
        flex-shrink: 0; align-self: center; font-size: 11px; font-weight: 600; letter-spacing: .08em;
        text-transform: uppercase; color: rgba(255,255,255,.7);
    }
    .hb-brandrow__tabs { display: flex; align-items: stretch; gap: 10px; flex-shrink: 0; }
    .hb-brandrow__tab { display: flex; align-items: center; flex-shrink: 0; position: relative; padding: 0 4px; }
    .hb-brandrow__tab img { opacity: .75; transition: opacity .2s ease; width: auto; filter: invert(1); }
    .hb-brandrow__tab:hover img { opacity: 1; }
    .hb-brandrow__tab.is-active { background: #F7412D; padding: 0 14px; }
    .hb-brandrow__tab.is-active img { opacity: 1; filter: brightness(0); }
    .hb-mobile-nav {
        position: fixed; inset: 0; background: var(--hb-dark); color: var(--hb-cream);
        z-index: 1000; display: flex; flex-direction: column; padding: 24px 24px;
        transform: translateX(100%); transition: transform .35s ease;
    }
    .hb-mobile-nav.is-open { transform: translateX(0); }
    .hb-mobile-nav__top { display: flex; justify-content: space-between; align-items: center; }
    .hb-mobile-nav__links { margin-top: 36px; display: flex; flex-direction: column; gap: 26px; }
    .hb-mobile-nav__links a { font-family: 'Public Sans', sans-serif; font-size: 22px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; color: var(--hb-cream); }
    .hb-mobile-nav__actions { margin-top: auto; display: flex; flex-direction: column; gap: 14px; }
    .hb-mobile-nav__brands { margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.18); }
    .hb-mobile-nav__brands-label {
        display: block; margin-bottom: 14px; font-size: .68rem; font-weight: 600; letter-spacing: .1em;
        text-transform: uppercase; color: rgba(255,255,255,.4);
    }
    .hb-mobile-nav__brands-row { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
    .hb-mobile-nav__brands-row img { height: 13px; width: auto; filter: invert(1); opacity: .5; }
    .hb-pill {
        font-size: 12px; letter-spacing: .03em; text-transform: uppercase; font-weight: 700;
        border: 1.5px solid rgba(255,255,255,.75); border-radius: 0; padding: 9px 18px;
        background: transparent; color: #fff; transition: background .18s ease, color .18s ease, border-color .3s ease;
        display: inline-block;
    }
    .hb-pill--light { border-color: var(--hb-cream); color: var(--hb-cream); }
    .hb-pill--light:hover { background: var(--hb-cream); color: var(--hb-dark); }
    .hb-icon-btn {
        position: relative; background: none; border: none; color: #fff; display: flex;
        align-items: center; justify-content: center; width: 50px; height: 50px; cursor: pointer;
        transition: color .3s ease;
    }
    @media (max-width: 1180px) { .hb-brandrow__row { justify-content: flex-start; } }

    .reflex-nav { background: #000; border-bottom: 1px solid rgba(255,255,255,.08); position: sticky; top: 0; z-index: 500; }
    .reflex-nav__row { max-width: 1320px; margin: 0 auto; padding: 10px 32px; min-height: 68px; display: flex; align-items: center; flex-wrap: wrap; gap: 18px 32px; }
    .reflex-nav__links { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
    .reflex-nav__links a {
        font-family: 'Open Sans', sans-serif;
        font-size: 14px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #fff;
        text-decoration: none; transition: opacity .15s ease;
    }
    .reflex-nav__links a:hover { opacity: .7; }
    .reflex-nav__login { margin-left: auto; display: flex; align-items: center; gap: 10px; }
    .reflex-nav__login span {
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
        font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #fff; white-space: nowrap;
    }
    .reflex-nav__login form { display: flex; align-items: center; border: 1px solid rgba(255,255,255,.2); overflow: hidden; }
    .reflex-nav__login input {
        border: none; outline: none; padding: 7px 12px; width: 110px;
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
        font-size: 13px; font-weight: 400; background: #000; color: #fff;
    }
    .reflex-nav__login input::placeholder { color: rgba(255,255,255,.4); }
    .reflex-nav__login input + input { border-left: 1px solid rgba(255,255,255,.15); }
    .reflex-nav__login button {
        border: none; background: rgba(255,255,255,.12); color: #fff; width: 30px; height: 30px;
        display: flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0;
    }
    .reflex-nav__login button:hover { background: rgba(255,255,255,.22); }
    .reflex-nav__login-link {
        display: inline-flex; align-items: center; gap: 7px;
        font-family: 'Open Sans', sans-serif;
        font-size: 12px; font-weight: 700; letter-spacing: .02em; color: #F7412D;
        text-decoration: none; background: transparent; border: 1.5px solid #F7412D;
        padding: 9px 18px; white-space: nowrap;
        transition: background .18s ease, color .18s ease;
    }
    .reflex-nav__login-link:hover { background: #F7412D; color: #fff; }
    .reflex-nav__menu-toggle {
        display: none; background: none; border: none; color: #fff; cursor: pointer;
        width: 32px; height: 32px; align-items: center; justify-content: center; margin-left: auto;
    }
    .reflex-nav__logo { display: none; margin-right: 4px; }
    .reflex-nav__logo img { height: 22px; width: auto; display: block; }
    @media (max-width: 900px) {
        .reflex-nav__row { padding: 16px 20px; }
        .reflex-nav__links { display: none; }
        .reflex-nav__login { display: none; }
        .reflex-nav__menu-toggle { display: flex; }
        .hb-brandrow { display: none; }
        .reflex-nav__logo { display: flex; align-items: center; }
    }
    #grip, #armor, #compare, #process { scroll-margin-top: 90px; }

    .reflex-siteFooter { background: #000; padding: 56px 32px 28px; }
    .reflex-siteFooter__inner { max-width: 1320px; margin: 0 auto; }
    .reflex-siteFooter__top {
        display: flex; align-items: flex-start; justify-content: space-between; gap: 48px;
        flex-wrap: wrap; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,.12);
    }
    .reflex-siteFooter__badge { flex-shrink: 0; }
    .reflex-siteFooter__badge img { height: 96px; width: auto; display: block; }
    .reflex-siteFooter__cols { display: flex; gap: 64px; flex-wrap: wrap; }
    .reflex-siteFooter__col-title {
        font-family: 'Public Sans', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .08em;
        text-transform: uppercase; color: #fff; margin: 0 0 18px;
    }
    .reflex-siteFooter__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
    .reflex-siteFooter__col a { font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 400; color: rgba(255,255,255,.65); text-decoration: none; }
    .reflex-siteFooter__col a:hover { color: #F7412D; }
    .reflex-siteFooter__bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding-top: 24px; }
    .reflex-siteFooter__copy { font-family: 'Public Sans', sans-serif; font-size: 11px; color: rgba(255,255,255,.4); margin: 0; }
    .reflex-siteFooter__social { display: flex; gap: 16px; }
    .reflex-siteFooter__social a { color: rgba(255,255,255,.65); display: flex; align-items: center; justify-content: center; }
    .reflex-siteFooter__social a:hover { color: #F7412D; }
    @media (max-width: 800px) {
        .reflex-siteFooter__top { flex-direction: column; gap: 32px; }
        .reflex-siteFooter__cols { gap: 40px; }
        .reflex-siteFooter__bottom { flex-direction: column; align-items: flex-start; }
    }

    /* Shared utility patterns */
    .dealer-btn {
        font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: .06em;
        text-transform: uppercase; text-decoration: none; padding: 15px 30px; display: inline-block;
        border: 1.5px solid transparent; transition: background .15s ease, color .15s ease, border-color .15s ease;
        cursor: pointer;
    }
    .dealer-btn--solid { background: #F7412D; color: #fff; }
    .dealer-btn--solid:hover { background: #fff; color: #F7412D; }
    .dealer-btn--outline { background: transparent; color: #fff; border-color: rgba(255,255,255,.6); }
    .dealer-btn--outline:hover { background: #fff; color: #111; border-color: #fff; }
    .dealer-section { padding: 72px 32px; }
    .dealer-section__inner { max-width: 1320px; margin: 0 auto; }
    .dealer-section__head { margin-bottom: 48px; }
    .dealer-label { font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: #F7412D; margin: 0 0 12px; }
    .dealer-label--light { color: rgba(255,255,255,.55); }
    .dealer-h2 { font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: clamp(28px, 3.4vw, 42px); color: #1a1a1a; margin: 0; line-height: 1.08; }
    .dealer-h2--light { color: #fff; }
    .dealer-lede { font-family: 'Public Sans', sans-serif; font-weight: 400; font-size: 16px; line-height: 1.6; color: #555; max-width: 640px; margin: 16px 0 0; }
    .dealer-lede--light { color: rgba(255,255,255,.7); }

    /* ==== Coatings page: hero ==== */
    .cts-hero {
        position: relative; overflow: hidden; min-height: 460px;
        background: #111 url("https://placehold.co/1800x900/15181c/3a3f46?text=Reflex+Protective+Coatings") no-repeat center;
        background-size: cover; display: flex; align-items: center;
    }
    .cts-hero__scrim { position: absolute; inset: 0; background: linear-gradient(100deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.55) 40%, rgba(0,0,0,.25) 75%); }
    .cts-hero__content { position: relative; max-width: 1320px; margin: 0 auto; padding: 80px 32px; width: 100%; }
    .cts-hero__eyebrow { font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #F7412D; margin: 0 0 14px; }
    .cts-hero__title {
        font-family: 'Asphaltic Grain Condensed', 'Public Sans', sans-serif; font-weight: normal; text-transform: uppercase;
        color: #fff; margin: 0; line-height: .94; font-size: clamp(58px, 7vw, 88px); max-width: 780px;
    }
    .cts-hero__sub { font-family: 'Public Sans', sans-serif; font-weight: 400; font-size: clamp(16px, 1.7vw, 20px); color: rgba(255,255,255,.85); max-width: 620px; margin: 20px 0 0; line-height: 1.5; }
    .cts-hero__actions { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 32px; }

    /* Coating deep-dive sections (Grip / Armor) */
    .cts-coating { background: #EAEBE4; }
    .cts-coating--dark { background: #111; }
    .cts-coating__grid { display: flex; align-items: stretch; gap: 56px; }
    .cts-coating__grid--rev { flex-direction: row-reverse; }
    .cts-coating__media { flex: 0 0 46%; }
    .cts-coating__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .cts-coating__copy { flex: 1; display: flex; flex-direction: column; justify-content: center; min-width: 0; }
    .cts-coating__logo { height: 34px; width: auto; margin-bottom: 18px; }
    .cts-coating__logo--white { filter: brightness(0) invert(1); }
    .cts-coating__title { font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: clamp(26px, 3vw, 36px); color: #1a1a1a; margin: 0 0 16px; line-height: 1.1; }
    .cts-coating__title--light { color: #fff; }
    .cts-coating__text { font-family: 'Public Sans', sans-serif; font-size: 15px; line-height: 1.65; color: #444; margin: 0 0 26px; max-width: 520px; }
    .cts-coating__text--light { color: rgba(255,255,255,.72); }
    .cts-coating__pillars { display: flex; flex-direction: column; gap: 20px; margin-bottom: 28px; }
    .cts-coating__pillar-title { font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: .05em; text-transform: uppercase; color: #F7412D; margin: 0 0 6px; }
    .cts-coating__pillar-text { font-family: 'Public Sans', sans-serif; font-size: 14px; line-height: 1.55; color: #555; margin: 0; max-width: 480px; }
    .cts-coating__pillar-text--light { color: rgba(255,255,255,.65); }
    @media (max-width: 900px) {
        .cts-coating__grid, .cts-coating__grid--rev { flex-direction: column; }
        .cts-coating__media { flex-basis: auto; }
        .cts-coating__media img { aspect-ratio: 16/9; }
    }

    /* Comparison: Grip vs Armor, big-stat split panel (matches become-a-dealer.html #compare) */
    .cts-compare { background: #000; padding-bottom: 72px; }
    .cts-compare__grid {
        position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 0;
        max-width: 1100px; margin: 0 auto; border-radius: 10px; overflow: hidden;
        box-shadow: 0 20px 50px rgba(0,0,0,.5);
    }
    /* book spine: a thin dark seam with shadows falling away from it on both pages */
    .cts-compare__grid::before {
        content: ''; position: absolute; top: 0; bottom: 0; left: 50%; width: 3px;
        background: rgba(0,0,0,.35); transform: translateX(-50%); z-index: 2;
    }
    .cts-compare__side {
        position: relative; background: #1a1a1a; padding: 48px 40px 44px;
        display: flex; flex-direction: column; align-items: center; text-align: center;
    }
    .cts-compare__side::after {
        content: ''; position: absolute; top: 0; bottom: 0; right: 0; width: 40px;
        background: linear-gradient(to left, rgba(0,0,0,.3), transparent); pointer-events: none;
    }
    .cts-compare__side--armor { background: #F7412D; }
    .cts-compare__side--armor::after {
        right: auto; left: 0; background: linear-gradient(to right, rgba(0,0,0,.22), transparent);
    }
    .cts-compare__logo { height: 34px; width: auto; margin-bottom: 28px; filter: brightness(0) invert(1); }
    .cts-compare__stat {
        font-family: 'Asphaltic Grain Condensed', 'Public Sans', sans-serif; font-weight: normal;
        font-size: clamp(38px, 4.4vw, 54px); color: #F7412D; line-height: 1; margin: 0;
    }
    .cts-compare__side--armor .cts-compare__stat { color: #fff; }
    .cts-compare__stat-label {
        font-family: 'Public Sans', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .1em;
        text-transform: uppercase; color: rgba(255,255,255,.5); margin: 6px 0 30px;
    }
    .cts-compare__mini { display: flex; justify-content: center; gap: 28px; margin-bottom: 22px; flex-wrap: wrap; }
    .cts-compare__mini-item { display: flex; flex-direction: column; gap: 2px; }
    .cts-compare__mini-value { font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 18px; color: #fff; }
    .cts-compare__mini-label {
        font-family: 'Public Sans', sans-serif; font-size: 10px; font-weight: 600; letter-spacing: .06em;
        text-transform: uppercase; color: rgba(255,255,255,.45);
    }
    .cts-compare__appearance {
        font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 400; line-height: 1.5;
        color: rgba(255,255,255,.6); max-width: 260px; margin: 0 0 26px;
    }
    .cts-compare__bestfor {
        width: 100%; max-width: 280px; margin: 0 0 24px; padding: 14px 16px;
        background: rgba(255,255,255,.06); border-left: 3px solid #F7412D; text-align: left;
    }
    .cts-compare__side--armor .cts-compare__bestfor { border-left-color: #fff; }
    .cts-compare__bestfor-label {
        display: block; font-family: 'Public Sans', sans-serif; font-size: 10px; font-weight: 800; letter-spacing: .08em;
        text-transform: uppercase; color: #F7412D; margin: 0 0 6px;
    }
    .cts-compare__side--armor .cts-compare__bestfor-label { color: #fff; }
    .cts-compare__bestfor-text {
        font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 400; line-height: 1.55;
        color: rgba(255,255,255,.75); margin: 0;
    }
    .cts-compare__tags { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
    .cts-compare__tag {
        font-family: 'Public Sans', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .03em;
        text-transform: uppercase; color: #fff; border: 1px solid rgba(255,255,255,.25);
        padding: 6px 12px;
    }
    @media (max-width: 700px) {
        .cts-compare__grid { grid-template-columns: 1fr; border-radius: 0; }
        .cts-compare__grid::before { left: 0; right: 0; top: 50%; bottom: auto; width: auto; height: 3px; transform: translateY(-50%); }
        .cts-compare__side::after, .cts-compare__side--armor::after { display: none; }
    }

    /* Process / how it's applied */
    .cts-process { background: #fff; }
    .cts-process__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
    .cts-process__num {
        font-family: 'Asphaltic Grain Condensed', 'Public Sans', sans-serif; font-weight: normal; color: #F7412D;
        font-size: 40px; line-height: 1; margin: 0 0 10px;
    }
    .cts-process__title { font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 17px; text-transform: uppercase; color: #1a1a1a; margin: 0 0 10px; }
    .cts-process__text { font-family: 'Public Sans', sans-serif; font-size: 14px; line-height: 1.6; color: #555; margin: 0; }
    @media (max-width: 900px) { .cts-process__grid { grid-template-columns: 1fr; } }

    /* Safety banner */
    .cts-safety { background: #1a1a1a; padding: 56px 32px; border-top: 3px solid #F7412D; border-bottom: 3px solid #F7412D; }
    .cts-safety__inner { max-width: 1320px; margin: 0 auto; display: flex; gap: 48px; align-items: center; flex-wrap: wrap; }
    .cts-safety__col { flex: 1; min-width: 260px; }
    .cts-safety__eyebrow { font-family: 'Public Sans', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.5); margin: 0 0 10px; }
    .cts-safety__title { font-family: 'Asphaltic Grain Condensed', 'Public Sans', sans-serif; font-weight: normal; text-transform: uppercase; color: #F7412D; margin: 0; line-height: .95; font-size: clamp(30px, 3.6vw, 46px); }
    .cts-safety__text { font-family: 'Public Sans', sans-serif; font-size: 15px; font-weight: 400; color: rgba(255,255,255,.75); margin: 16px 0 0; line-height: 1.6; max-width: 480px; }
    .cts-safety__stats { display: flex; flex-direction: column; gap: 18px; flex: 1; min-width: 260px; }
    .cts-safety__stat { border-left: 2px solid #F7412D; padding-left: 18px; }
    .cts-safety__stat-value { font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 15px; color: #fff; margin: 0 0 2px; }
    .cts-safety__stat-label { font-family: 'Public Sans', sans-serif; font-size: 12px; color: rgba(255,255,255,.55); margin: 0; }

    /* CTA */
    .cts-cta { background: #F7412D; padding: 64px 32px; text-align: center; }
    .cts-cta__title { font-family: 'Asphaltic Grain Condensed', 'Public Sans', sans-serif; font-weight: normal; text-transform: uppercase; color: #fff; margin: 0; line-height: .95; font-size: clamp(32px, 4vw, 50px); }
    .cts-cta__text { font-family: 'Public Sans', sans-serif; font-size: 15px; color: rgba(255,255,255,.9); max-width: 560px; margin: 14px auto 28px; line-height: 1.6; }
    .cts-cta__actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
    .cts-cta .dealer-btn--solid { background: #1a1a1a; }
    .cts-cta .dealer-btn--solid:hover { background: #fff; color: #1a1a1a; }
    .cts-cta .dealer-btn--outline { border-color: rgba(255,255,255,.7); }
    .cts-cta .dealer-btn--outline:hover { background: #fff; color: #F7412D; border-color: #fff; }

/* ============================================================ */
/* systems.html */
/* ============================================================ */
    @font-face {
        font-family: 'Asphaltic Grain Condensed';
        src: url("../fonts/AsphalticGrainCondensed.woff2") format("woff2");
        font-weight: normal;
        font-style: normal;
        font-display: swap;
    }
    :root { color-scheme: light; }
    *, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; max-width: 100%; }
    body { background: #000; }
    .reflex-page-shell { width: 100%; background: #EAEBE4; }

    #ReflexHeader {
        --hb-dark: #000000; --hb-brandrow-bg: #000000; --hb-cream: #F3F4EF;
        --hb-ink: #232323; --hb-badge: #F7412D; --hb-accent: #F7412D;
        font-family: 'Public Sans', sans-serif;
    }
    .hb a, .hb-mobile-nav a { text-decoration: none; }
    #ReflexHeader img { display: block; max-width: 100%; }
    .hb-brandrow { background: #000; border-bottom: none; }
    .hb-brandrow__row {
        display: flex !important; align-items: stretch; justify-content: flex-end; gap: 18px;
        max-width: 1320px; margin: 0 auto; padding: 0 24px; min-height: 38px;
    }
    .hb-brandrow__brands { display: flex; align-items: stretch; gap: 14px; flex-shrink: 1; min-width: 0; overflow-x: auto; scrollbar-width: none; }
    .hb-brandrow__brands::-webkit-scrollbar { display: none; }
    .hb-brandrow__parent { display: flex; align-items: center; flex-shrink: 0; }
    .hb-brandrow__parent img { filter: invert(1); }
    .hb-brandrow__divider { flex-shrink: 0; width: 1px; align-self: stretch; margin: 10px 0; background: rgba(255,255,255,.2); }
    .hb-brandrow__label {
        flex-shrink: 0; align-self: center; font-size: 11px; font-weight: 600; letter-spacing: .08em;
        text-transform: uppercase; color: rgba(255,255,255,.7);
    }
    .hb-brandrow__tabs { display: flex; align-items: stretch; gap: 10px; flex-shrink: 0; }
    .hb-brandrow__tab { display: flex; align-items: center; flex-shrink: 0; position: relative; padding: 0 4px; }
    .hb-brandrow__tab img { opacity: .75; transition: opacity .2s ease; width: auto; filter: invert(1); }
    .hb-brandrow__tab:hover img { opacity: 1; }
    .hb-brandrow__tab.is-active { background: #F7412D; padding: 0 14px; }
    .hb-brandrow__tab.is-active img { opacity: 1; filter: brightness(0); }
    .hb-mobile-nav {
        position: fixed; inset: 0; background: var(--hb-dark); color: var(--hb-cream);
        z-index: 1000; display: flex; flex-direction: column; padding: 24px 24px;
        transform: translateX(100%); transition: transform .35s ease;
    }
    .hb-mobile-nav.is-open { transform: translateX(0); }
    .hb-mobile-nav__top { display: flex; justify-content: space-between; align-items: center; }
    .hb-mobile-nav__links { margin-top: 36px; display: flex; flex-direction: column; gap: 26px; }
    .hb-mobile-nav__links a { font-family: 'Public Sans', sans-serif; font-size: 22px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; color: var(--hb-cream); }
    .hb-mobile-nav__actions { margin-top: auto; display: flex; flex-direction: column; gap: 14px; }
    .hb-mobile-nav__brands { margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.18); }
    .hb-mobile-nav__brands-label {
        display: block; margin-bottom: 14px; font-size: .68rem; font-weight: 600; letter-spacing: .1em;
        text-transform: uppercase; color: rgba(255,255,255,.4);
    }
    .hb-mobile-nav__brands-row { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
    .hb-mobile-nav__brands-row img { height: 13px; width: auto; filter: invert(1); opacity: .5; }
    .hb-pill {
        font-size: 12px; letter-spacing: .03em; text-transform: uppercase; font-weight: 700;
        border: 1.5px solid rgba(255,255,255,.75); border-radius: 0; padding: 9px 18px;
        background: transparent; color: #fff; transition: background .18s ease, color .18s ease, border-color .3s ease;
        display: inline-block;
    }
    .hb-pill--light { border-color: var(--hb-cream); color: var(--hb-cream); }
    .hb-pill--light:hover { background: var(--hb-cream); color: var(--hb-dark); }
    .hb-icon-btn {
        position: relative; background: none; border: none; color: #fff; display: flex;
        align-items: center; justify-content: center; width: 50px; height: 50px; cursor: pointer;
        transition: color .3s ease;
    }
    @media (max-width: 1180px) { .hb-brandrow__row { justify-content: flex-start; } }

    .reflex-nav { background: #000; border-bottom: 1px solid rgba(255,255,255,.08); position: sticky; top: 0; z-index: 500; }
    .reflex-nav__row { max-width: 1320px; margin: 0 auto; padding: 10px 32px; min-height: 68px; display: flex; align-items: center; flex-wrap: wrap; gap: 18px 32px; }
    .reflex-nav__links { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
    .reflex-nav__links a {
        font-family: 'Open Sans', sans-serif;
        font-size: 14px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #fff;
        text-decoration: none; transition: opacity .15s ease;
    }
    .reflex-nav__links a:hover { opacity: .7; }
    .reflex-nav__login { margin-left: auto; display: flex; align-items: center; gap: 10px; }
    .reflex-nav__login span {
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
        font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #fff; white-space: nowrap;
    }
    .reflex-nav__login form { display: flex; align-items: center; border: 1px solid rgba(255,255,255,.2); overflow: hidden; }
    .reflex-nav__login input {
        border: none; outline: none; padding: 7px 12px; width: 110px;
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
        font-size: 13px; font-weight: 400; background: #000; color: #fff;
    }
    .reflex-nav__login input::placeholder { color: rgba(255,255,255,.4); }
    .reflex-nav__login input + input { border-left: 1px solid rgba(255,255,255,.15); }
    .reflex-nav__login button {
        border: none; background: rgba(255,255,255,.12); color: #fff; width: 30px; height: 30px;
        display: flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0;
    }
    .reflex-nav__login button:hover { background: rgba(255,255,255,.22); }
    .reflex-nav__login-link {
        display: inline-flex; align-items: center; gap: 7px;
        font-family: 'Open Sans', sans-serif;
        font-size: 12px; font-weight: 700; letter-spacing: .02em; color: #F7412D;
        text-decoration: none; background: transparent; border: 1.5px solid #F7412D;
        padding: 9px 18px; white-space: nowrap;
        transition: background .18s ease, color .18s ease;
    }
    .reflex-nav__login-link:hover { background: #F7412D; color: #fff; }
    .reflex-nav__menu-toggle {
        display: none; background: none; border: none; color: #fff; cursor: pointer;
        width: 32px; height: 32px; align-items: center; justify-content: center; margin-left: auto;
    }
    .reflex-nav__logo { display: none; margin-right: 4px; }
    .reflex-nav__logo img { height: 22px; width: auto; display: block; }
    @media (max-width: 900px) {
        .reflex-nav__row { padding: 16px 20px; }
        .reflex-nav__links { display: none; }
        .reflex-nav__login { display: none; }
        .reflex-nav__menu-toggle { display: flex; }
        .hb-brandrow { display: none; }
        .reflex-nav__logo { display: flex; align-items: center; }
    }
    #machines, #tech, #history { scroll-margin-top: 90px; }

    .reflex-siteFooter { background: #000; padding: 56px 32px 28px; }
    .reflex-siteFooter__inner { max-width: 1320px; margin: 0 auto; }
    .reflex-siteFooter__top {
        display: flex; align-items: flex-start; justify-content: space-between; gap: 48px;
        flex-wrap: wrap; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,.12);
    }
    .reflex-siteFooter__badge { flex-shrink: 0; }
    .reflex-siteFooter__badge img { height: 96px; width: auto; display: block; }
    .reflex-siteFooter__cols { display: flex; gap: 64px; flex-wrap: wrap; }
    .reflex-siteFooter__col-title {
        font-family: 'Public Sans', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .08em;
        text-transform: uppercase; color: #fff; margin: 0 0 18px;
    }
    .reflex-siteFooter__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
    .reflex-siteFooter__col a { font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 400; color: rgba(255,255,255,.65); text-decoration: none; }
    .reflex-siteFooter__col a:hover { color: #F7412D; }
    .reflex-siteFooter__bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding-top: 24px; }
    .reflex-siteFooter__copy { font-family: 'Public Sans', sans-serif; font-size: 11px; color: rgba(255,255,255,.4); margin: 0; }
    .reflex-siteFooter__social { display: flex; gap: 16px; }
    .reflex-siteFooter__social a { color: rgba(255,255,255,.65); display: flex; align-items: center; justify-content: center; }
    .reflex-siteFooter__social a:hover { color: #F7412D; }
    @media (max-width: 800px) {
        .reflex-siteFooter__top { flex-direction: column; gap: 32px; }
        .reflex-siteFooter__cols { gap: 40px; }
        .reflex-siteFooter__bottom { flex-direction: column; align-items: flex-start; }
    }

    /* Shared utility patterns */
    .dealer-btn {
        font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: .06em;
        text-transform: uppercase; text-decoration: none; padding: 15px 30px; display: inline-block;
        border: 1.5px solid transparent; transition: background .15s ease, color .15s ease, border-color .15s ease;
        cursor: pointer;
    }
    .dealer-btn--solid { background: #F7412D; color: #fff; }
    .dealer-btn--solid:hover { background: #fff; color: #F7412D; }
    .dealer-btn--outline { background: transparent; color: #fff; border-color: rgba(255,255,255,.6); }
    .dealer-btn--outline:hover { background: #fff; color: #111; border-color: #fff; }
    .dealer-section { padding: 72px 32px; }
    .dealer-section__inner { max-width: 1320px; margin: 0 auto; }
    .dealer-section__head { margin-bottom: 48px; }
    .dealer-label { font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: #F7412D; margin: 0 0 12px; }
    .dealer-label--light { color: rgba(255,255,255,.55); }
    .dealer-h2 { font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: clamp(28px, 3.4vw, 42px); color: #1a1a1a; margin: 0; line-height: 1.08; }
    .dealer-h2--light { color: #fff; }
    .dealer-lede { font-family: 'Public Sans', sans-serif; font-weight: 400; font-size: 16px; line-height: 1.6; color: #555; max-width: 640px; margin: 16px 0 0; }
    .dealer-lede--light { color: rgba(255,255,255,.7); }

    /* ==== Systems page: hero ==== */
    .sys-hero {
        position: relative; overflow: hidden; min-height: 480px;
        background: #111 url("https://placehold.co/1800x900/15181c/3a3f46?text=Reflex+Spray+Systems") no-repeat center;
        background-size: cover; display: flex; align-items: center;
    }
    .sys-hero__scrim { position: absolute; inset: 0; background: linear-gradient(100deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.55) 40%, rgba(0,0,0,.25) 75%); }
    .sys-hero__content { position: relative; max-width: 1320px; margin: 0 auto; padding: 80px 32px; width: 100%; }
    .sys-hero__eyebrow { font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #F7412D; margin: 0 0 14px; }
    .sys-hero__title {
        font-family: 'Asphaltic Grain Condensed', 'Public Sans', sans-serif; font-weight: normal; text-transform: uppercase;
        color: #fff; margin: 0; line-height: .94; font-size: clamp(58px, 7vw, 88px); max-width: 780px;
    }
    .sys-hero__sub { font-family: 'Public Sans', sans-serif; font-weight: 400; font-size: clamp(16px, 1.7vw, 20px); color: rgba(255,255,255,.85); max-width: 580px; margin: 20px 0 0; line-height: 1.5; }
    .sys-hero__actions { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 32px; }
    .sys-stat-row { display: flex; gap: 44px; flex-wrap: wrap; margin-top: 48px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.2); }
    .sys-stat__value { font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: clamp(24px, 2.8vw, 32px); color: #fff; margin: 0; }
    .sys-stat__label { font-family: 'Public Sans', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.6); margin: 4px 0 0; }

    /* Machine comparison cards */
    .sys-machines { background: #fff; }
    .sys-machines__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
    .sys-machine { border: 1px solid #e5e5e2; display: flex; flex-direction: column; }
    .sys-machine--highlight { border-color: #F7412D; box-shadow: 0 0 0 1px #F7412D; }
    .sys-machine__image { width: 100%; aspect-ratio: 4/3; object-fit: contain; background: #fff; padding: 20px; display: block; border-bottom: 1px solid #eee; }
    .sys-machine__body { padding: 28px 26px 30px; display: flex; flex-direction: column; flex: 1; }
    .sys-machine__badge {
        align-self: flex-start; font-family: 'Public Sans', sans-serif; font-size: 10px; font-weight: 700;
        letter-spacing: .08em; text-transform: uppercase; color: #fff; background: #F7412D; padding: 4px 10px; margin-bottom: 14px;
    }
    .sys-machine__title-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
    .sys-machine__title { font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 24px; color: #1a1a1a; margin: 0 0 4px; }
    .sys-color-badge { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
    .sys-color-badge__bar {
        display: inline-block; width: 40px; height: 10px; border-radius: 2px;
        background: linear-gradient(90deg, #F7412D 0 20%, #F2A93B 20% 40%, #3FA34D 40% 60%, #3B82C4 60% 80%, #7B4FBF 80% 100%);
    }
    .sys-color-badge__text {
        font-family: 'Public Sans', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .04em;
        text-transform: uppercase; color: #1a1a1a; white-space: nowrap;
    }
    .sys-machine__tag { font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 500; color: #888; margin: 0 0 18px; }
    .sys-machine__desc { font-family: 'Public Sans', sans-serif; font-size: 14px; line-height: 1.6; color: #444; margin: 0 0 22px; }
    .sys-pillars { display: flex; gap: 18px; margin-bottom: 22px; }
    .sys-pillar { flex: 1; text-align: center; }
    .sys-pillar__title { font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #F7412D; margin: 0 0 4px; }
    .sys-pillar__text { font-family: 'Public Sans', sans-serif; font-size: 11px; color: #777; line-height: 1.4; margin: 0; }
    .sys-specs { border-top: 1px solid #eee; padding-top: 18px; margin-bottom: 22px; }
    .sys-specs__row { display: flex; justify-content: space-between; padding: 6px 0; font-family: 'Public Sans', sans-serif; font-size: 13px; }
    .sys-specs__label { color: #888; }
    .sys-specs__value { color: #1a1a1a; font-weight: 600; }
    .sys-machine__list { list-style: none; margin: 0 0 24px; padding: 0; display: flex; flex-direction: column; gap: 8px; flex: 1; }
    .sys-machine__list li { font-family: 'Public Sans', sans-serif; font-size: 13px; color: #444; line-height: 1.4; padding-left: 16px; position: relative; }
    .sys-machine__list li::before { content: '\2013'; position: absolute; left: 0; color: #F7412D; font-weight: 700; }
    .sys-machine__cta {
        font-family: 'Public Sans', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
        text-align: center; text-decoration: none; color: #fff; background: #1a1a1a; padding: 13px; display: block; margin-top: auto;
    }
    .sys-machine__cta:hover { background: #F7412D; }
    @media (max-width: 900px) {
        .sys-machines__grid {
            display: flex; grid-template-columns: unset; gap: 16px; overflow-x: auto;
            scroll-snap-type: x mandatory; scroll-padding-left: 20px; padding: 0 20px 6px;
            margin: 0 -20px; -webkit-overflow-scrolling: touch; scrollbar-width: none;
        }
        .sys-machines__grid::-webkit-scrollbar { display: none; }
        .sys-machines__grid .sys-machine { flex: 0 0 85%; scroll-snap-align: start; }
    }

    /* Technology features */
    .sys-tech { background: #000; }
    .sys-tech__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
    .sys-tech__item { }
    .sys-tech__num {
        font-family: 'Asphaltic Grain Condensed', 'Public Sans', sans-serif; font-weight: normal; color: #F7412D;
        font-size: 44px; line-height: 1; margin: 0 0 10px;
    }
    .sys-tech__title { font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 20px; text-transform: uppercase; color: #fff; margin: 0 0 12px; }
    .sys-tech__text { font-family: 'Public Sans', sans-serif; font-size: 14px; line-height: 1.65; color: rgba(255,255,255,.7); margin: 0 0 20px; }
    .sys-tech__sub { margin-bottom: 16px; }
    .sys-tech__sub-title { font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 12px; letter-spacing: .05em; text-transform: uppercase; color: #F7412D; margin: 0 0 6px; }
    .sys-tech__sub-text { font-family: 'Public Sans', sans-serif; font-size: 13px; line-height: 1.55; color: rgba(255,255,255,.65); margin: 0; }
    @media (max-width: 800px) { .sys-tech__grid { grid-template-columns: 1fr; } }

    /* Warranty banner */
    .sys-warranty { background: #1a1a1a; padding: 56px 32px; text-align: center; border-top: 3px solid #F7412D; border-bottom: 3px solid #F7412D; }
    .sys-warranty__eyebrow { font-family: 'Public Sans', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.5); margin: 0 0 10px; }
    .sys-warranty__title { font-family: 'Asphaltic Grain Condensed', 'Public Sans', sans-serif; font-weight: normal; text-transform: uppercase; color: #F7412D; margin: 0; line-height: .95; font-size: clamp(34px, 4.2vw, 56px); }
    .sys-warranty__text { font-family: 'Public Sans', sans-serif; font-size: 15px; font-weight: 400; color: rgba(255,255,255,.8); max-width: 640px; margin: 16px auto 0; line-height: 1.6; }

    /* Heritage timeline */
    .sys-history { background: #fff; }
    .sys-timeline { position: relative; display: flex; align-items: flex-start; gap: 0; padding-top: 4px; }
    .sys-timeline::before {
        content: ''; position: absolute; top: 11px; left: 0; right: 0; height: 3px;
        background: linear-gradient(90deg, #ececec 0%, #ececec 8%, #f3b2a9 55%, #F7412D 100%);
    }
    .sys-timeline__item {
        position: relative; flex: 1; min-width: 0; padding: 42px 22px 0 0; text-align: left;
    }
    .sys-timeline__item:last-child { padding-right: 0; }
    .sys-timeline__item::before {
        content: ''; position: absolute; left: 0; top: 3px; width: 18px; height: 18px; border-radius: 50%;
        background: #fff; border: 3px solid #F7412D; box-shadow: 0 0 0 5px rgba(247,65,45,.14), 0 3px 8px rgba(0,0,0,.12);
        transition: transform .2s ease; z-index: 1;
    }
    .sys-timeline__item:last-child::before {
        width: 22px; height: 22px; top: 1px; background: #F7412D;
        box-shadow: 0 0 0 6px rgba(247,65,45,.18), 0 3px 10px rgba(247,65,45,.35);
    }
    .sys-timeline__year {
        font-family: 'Public Sans', sans-serif; font-weight: 800; font-size: 22px; letter-spacing: -.01em;
        color: #1a1a1a; margin: 0 0 10px; line-height: 1;
    }
    .sys-timeline__item:last-child .sys-timeline__year { color: #F7412D; }
    .sys-timeline__title {
        font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 15px;
        color: #1a1a1a; margin: 0 0 8px; line-height: 1.3;
    }
    .sys-timeline__text { font-family: 'Public Sans', sans-serif; font-size: 13px; line-height: 1.55; color: #666; margin: 0; }
    @media (max-width: 1000px) {
        .sys-timeline { flex-direction: column; gap: 30px; padding-top: 0; }
        .sys-timeline::before { top: 0; bottom: 0; left: 8px; right: auto; width: 3px; height: auto; background: linear-gradient(180deg, #ececec 0%, #ececec 8%, #f3b2a9 55%, #F7412D 100%); }
        .sys-timeline__item { padding: 0 0 0 34px; }
        .sys-timeline__item::before { left: 0; top: 2px; }
        .sys-timeline__item:last-child::before { left: -2px; }
        .sys-timeline__year { font-size: 20px; }
        .sys-timeline__title { font-size: 17px; }
        .sys-timeline__text { font-size: 14px; max-width: 620px; }
    }

/* ============================================================ */
/* find-an-applicator.html */
/* ============================================================ */
    @font-face {
        font-family: 'Asphaltic Grain Condensed';
        src: url("../fonts/AsphalticGrainCondensed.woff2") format("woff2");
        font-weight: normal;
        font-style: normal;
        font-display: swap;
    }
    :root { color-scheme: light; }
    *, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; max-width: 100%; }
    body { background: #000; }
    .reflex-page-shell { width: 100%; background: #EAEBE4; }

    /* Faithful port of dawn-theme/sections/header-brand.liquid, self_brand_key="reflex" */
    #ReflexHeader {
        --hb-dark: #000000;
        --hb-brandrow-bg: #000000;
        --hb-cream: #F3F4EF;
        --hb-ink: #232323;
        --hb-badge: #F7412D;
        --hb-accent: #F7412D;
        font-family: 'Public Sans', sans-serif;
    }
    .hb a, .hb-mobile-nav a { text-decoration: none; }
    #ReflexHeader img { display: block; max-width: 100%; }

    .hb-brandrow { background: #000; border-bottom: none; }
    .hb-brandrow__row {
        display: flex !important; align-items: stretch; justify-content: flex-end; gap: 18px;
        max-width: 1320px; margin: 0 auto; padding: 0 24px; min-height: 38px;
    }
    .hb-brandrow__brands {
        display: flex; align-items: stretch; gap: 14px; flex-shrink: 1; min-width: 0;
        overflow-x: auto; scrollbar-width: none;
    }
    .hb-brandrow__brands::-webkit-scrollbar { display: none; }
    .hb-brandrow__parent { display: flex; align-items: center; flex-shrink: 0; }
    .hb-brandrow__parent img { filter: invert(1); }
    .hb-brandrow__divider { flex-shrink: 0; width: 1px; align-self: stretch; margin: 10px 0; background: rgba(255,255,255,.2); }
    .hb-brandrow__label {
        flex-shrink: 0; align-self: center; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
        color: rgba(255,255,255,.7);
    }
    .hb-brandrow__tabs { display: flex; align-items: stretch; gap: 10px; flex-shrink: 0; }
    .hb-brandrow__tab { display: flex; align-items: center; flex-shrink: 0; position: relative; padding: 0 4px; }
    .hb-brandrow__tab img { opacity: .75; transition: opacity .2s ease; width: auto; filter: invert(1); }
    .hb-brandrow__tab:hover img { opacity: 1; }
    .hb-brandrow__tab.is-active {
        background: #F7412D; padding: 0 14px;
    }
    .hb-brandrow__tab.is-active img { opacity: 1; filter: brightness(0); }

    .hb-mobile-nav {
        position: fixed; inset: 0; background: var(--hb-dark); color: var(--hb-cream);
        z-index: 1000; display: flex; flex-direction: column; padding: 24px 24px;
        transform: translateX(100%); transition: transform .35s ease;
    }
    .hb-mobile-nav.is-open { transform: translateX(0); }
    .hb-mobile-nav__top { display: flex; justify-content: space-between; align-items: center; }
    .hb-mobile-nav__links { margin-top: 36px; display: flex; flex-direction: column; gap: 26px; }
    .hb-mobile-nav__links a { font-family: 'Public Sans', sans-serif; font-size: 22px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; color: var(--hb-cream); }
    .hb-mobile-nav__actions { margin-top: auto; display: flex; flex-direction: column; gap: 14px; }
    .hb-mobile-nav__brands { margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.18); }
    .hb-mobile-nav__brands-label {
        display: block; margin-bottom: 14px; font-size: .68rem; font-weight: 600; letter-spacing: .1em;
        text-transform: uppercase; color: rgba(255,255,255,.4);
    }
    .hb-mobile-nav__brands-row { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
    .hb-mobile-nav__brands-row img { height: 13px; width: auto; filter: invert(1); opacity: .5; }
    .hb-pill {
        font-size: 12px; letter-spacing: .03em; text-transform: uppercase; font-weight: 700;
        border: 1.5px solid rgba(255,255,255,.75); border-radius: 0; padding: 9px 18px;
        background: transparent; color: #fff; transition: background .18s ease, color .18s ease, border-color .3s ease;
        display: inline-block;
    }
    .hb-pill--light { border-color: var(--hb-cream); color: var(--hb-cream); }
    .hb-pill--light:hover { background: var(--hb-cream); color: var(--hb-dark); }
    .hb-icon-btn {
        position: relative; background: none; border: none; color: #fff; display: flex;
        align-items: center; justify-content: center; width: 50px; height: 50px; cursor: pointer;
        transition: color .3s ease;
    }

    @media (max-width: 1180px) {
        .hb-brandrow__row { justify-content: flex-start; }
    }

    .reflex-nav {
        background: #000; border-bottom: 1px solid rgba(255,255,255,.08);
        position: sticky; top: 0; z-index: 500;
    }
    .reflex-nav__row {
        max-width: 1320px; margin: 0 auto; padding: 10px 32px; min-height: 68px;
        display: flex; align-items: center; flex-wrap: wrap; gap: 18px 32px;
    }
    .reflex-nav__links { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
    .reflex-nav__links a {
        font-family: 'Open Sans', sans-serif;
        font-size: 14px; font-weight: 600; letter-spacing: .04em;
        text-transform: uppercase; color: #fff; text-decoration: none;
        transition: opacity .15s ease;
    }
    .reflex-nav__links a:hover { opacity: .7; }
    .reflex-nav__login { margin-left: auto; display: flex; align-items: center; gap: 10px; }
    .reflex-nav__login span {
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
        font-size: 11px; font-weight: 600; letter-spacing: .04em;
        text-transform: uppercase; color: #fff; white-space: nowrap;
    }
    .reflex-nav__login form {
        display: flex; align-items: center; border: 1px solid rgba(255,255,255,.2); overflow: hidden;
    }
    .reflex-nav__login input {
        border: none; outline: none; padding: 7px 12px; width: 110px;
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
        font-size: 13px; font-weight: 400; background: #000; color: #fff;
    }
    .reflex-nav__login input::placeholder { color: rgba(255,255,255,.4); }
    .reflex-nav__login input + input { border-left: 1px solid rgba(255,255,255,.15); }
    .reflex-nav__login button {
        border: none; background: rgba(255,255,255,.12); color: #fff; width: 30px; height: 30px;
        display: flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0;
    }
    .reflex-nav__login button:hover { background: rgba(255,255,255,.22); }
    .reflex-nav__login-link {
        display: inline-flex; align-items: center; gap: 7px;
        font-family: 'Open Sans', sans-serif;
        font-size: 12px; font-weight: 700; letter-spacing: .02em; color: #F7412D;
        text-decoration: none; background: transparent; border: 1.5px solid #F7412D;
        padding: 9px 18px; white-space: nowrap;
        transition: background .18s ease, color .18s ease;
    }
    .reflex-nav__login-link:hover { background: #F7412D; color: #fff; }
    .reflex-nav__menu-toggle {
        display: none; background: none; border: none; color: #fff; cursor: pointer;
        width: 32px; height: 32px; align-items: center; justify-content: center; margin-left: auto;
    }
    .reflex-nav__logo { display: none; margin-right: 4px; }
    .reflex-nav__logo img { height: 22px; width: auto; display: block; }
    .reflex-nav__logo--trial {
        display: flex !important; align-items: center; overflow: hidden;
        max-width: 0; opacity: 0; margin-right: -32px; pointer-events: none;
        transition: max-width .3s ease, opacity .25s ease, margin-right .3s ease;
    }
    .reflex-nav__logo--trial img { filter: brightness(0) invert(1); }
    .reflex-nav.is-scrolled .reflex-nav__logo--trial { max-width: 200px; opacity: 1; margin-right: 4px; pointer-events: auto; }
    @media (max-width: 900px) {
        .reflex-nav__logo--trial { max-width: none; opacity: 1; margin-right: 4px; pointer-events: auto; }
    }

    @media (max-width: 900px) {
        .reflex-nav__row { padding: 16px 20px; }
        .reflex-nav__links { display: none; }
        .reflex-nav__login { display: none; }
        .reflex-nav__menu-toggle { display: flex; }
        .hb-brandrow { display: none; }
        .reflex-nav__logo { display: flex; align-items: center; }
    }

    /* Site footer (shared) */
    .reflex-siteFooter { background: #000; padding: 56px 32px 28px; }
    .reflex-siteFooter__inner { max-width: 1320px; margin: 0 auto; }
    .reflex-siteFooter__top {
        display: flex; align-items: flex-start; justify-content: space-between; gap: 48px;
        flex-wrap: wrap; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,.12);
    }
    .reflex-siteFooter__badge { flex-shrink: 0; }
    .reflex-siteFooter__badge img { height: 96px; width: auto; display: block; }
    .reflex-siteFooter__cols { display: flex; gap: 64px; flex-wrap: wrap; }
    .reflex-siteFooter__col-title {
        font-family: 'Public Sans', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .08em;
        text-transform: uppercase; color: #fff; margin: 0 0 18px;
    }
    .reflex-siteFooter__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
    .reflex-siteFooter__col a {
        font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 400; color: rgba(255,255,255,.65);
        text-decoration: none;
    }
    .reflex-siteFooter__col a:hover { color: #F7412D; }
    .reflex-siteFooter__bottom {
        display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
        padding-top: 24px;
    }
    .reflex-siteFooter__copy {
        font-family: 'Public Sans', sans-serif; font-size: 11px; color: rgba(255,255,255,.4); margin: 0;
    }
    .reflex-siteFooter__social { display: flex; gap: 16px; }
    .reflex-siteFooter__social a {
        color: rgba(255,255,255,.65); display: flex; align-items: center; justify-content: center;
    }
    .reflex-siteFooter__social a:hover { color: #F7412D; }

    @media (max-width: 800px) {
        .reflex-siteFooter__top { flex-direction: column; gap: 32px; }
        .reflex-siteFooter__cols { gap: 40px; }
        .reflex-siteFooter__bottom { flex-direction: column; align-items: flex-start; }
    }

    /* Shared button/type patterns */
    .dealer-btn {
        font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: .06em;
        text-transform: uppercase; text-decoration: none; padding: 15px 30px; display: inline-block;
        border: 1.5px solid transparent; transition: background .15s ease, color .15s ease, border-color .15s ease;
        cursor: pointer;
    }
    .dealer-btn--solid { background: #F7412D; color: #fff; }
    .dealer-btn--solid:hover { background: #fff; color: #F7412D; }
    .dealer-btn--outline { background: transparent; color: #fff; border-color: rgba(255,255,255,.6); }
    .dealer-btn--outline:hover { background: #fff; color: #111; border-color: #fff; }
    .dealer-label {
        font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: .1em;
        text-transform: uppercase; color: #F7412D; margin: 0 0 12px;
    }
    .dealer-label--light { color: rgba(255,255,255,.55); }

    /* ==== Locate a Dealer: page-specific ==== */

    .locate-hero {
        position: relative; overflow: hidden;
        background: #111 url("https://placehold.co/1800x900/15181c/3a3f46?text=Reflex+Applicator+Shop") no-repeat center;
        background-size: cover;
        padding: 64px 32px 56px;
    }
    .locate-hero__scrim {
        position: absolute; inset: 0;
        background: linear-gradient(180deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.6) 60%, rgba(0,0,0,.85) 100%);
    }
    .locate-hero__inner { position: relative; max-width: 1100px; margin: 0 auto; text-align: center; }
    .locate-hero__logo { height: 36px; width: auto; margin: 0 auto 20px; }
    .locate-hero__title {
        font-family: 'Asphaltic Grain Condensed', 'Public Sans', sans-serif; font-weight: normal;
        text-transform: uppercase; color: #fff; margin: 0; line-height: .95;
        font-size: clamp(50px, 5.5vw, 66px);
    }
    .locate-hero__sub {
        font-family: 'Public Sans', sans-serif; font-weight: 400; font-size: 16px;
        color: rgba(255,255,255,.75); max-width: 480px; margin: 14px auto 0; line-height: 1.5;
    }

    .locate-card {
        position: relative; max-width: 1100px; margin: 40px auto 0; background: #fff;
        display: grid; grid-template-columns: 1fr 1fr; overflow: hidden;
    }
    .locate-card__map {
        position: relative; background: #4a4a4a; min-height: 380px;
    }
    .locate-card__pin {
        position: absolute; top: 46%; left: 52%; width: 34px; height: 34px; border-radius: 50% 50% 50% 0;
        background: #F7412D; transform: rotate(-45deg); box-shadow: 0 0 0 6px rgba(247,65,45,.25);
    }
    .locate-card__form { padding: 36px 34px; display: flex; flex-direction: column; }
    .locate-card__kicker {
        font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 20px; color: #1a1a1a; margin: 0 0 6px;
    }
    .locate-card__note {
        font-family: 'Public Sans', sans-serif; font-size: 13px; color: #777; margin: 0 0 22px; line-height: 1.5;
    }
    .locate-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
    .locate-field label {
        font-family: 'Public Sans', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .04em;
        text-transform: uppercase; color: #888;
    }
    .locate-field__row { display: flex; gap: 8px; }
    .locate-field input {
        font-family: 'Public Sans', sans-serif; font-size: 14px; padding: 11px 14px; border: 1px solid #ddd;
        background: #fafafa; color: #1a1a1a; flex: 1; width: 100%;
    }
    .locate-geo {
        flex-shrink: 0; width: 42px; border: 1px solid #ddd; background: #fafafa; color: #F7412D;
        display: flex; align-items: center; justify-content: center; cursor: pointer;
    }
    .locate-submit {
        margin-top: 6px; width: 100%; font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 600;
        letter-spacing: .06em; text-transform: uppercase; color: #fff; background: #1a1a1a;
        border: none; padding: 14px; cursor: pointer;
    }
    .locate-submit:hover { background: #F7412D; }
    .locate-privacy {
        font-family: 'Public Sans', sans-serif; font-size: 11px; color: #999; margin: 10px 0 0; line-height: 1.5;
    }

    .locate-result {
        margin-top: 20px; padding-top: 20px; border-top: 1px solid #eee;
    }
    .locate-result__eyebrow {
        font-family: 'Public Sans', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .08em;
        text-transform: uppercase; color: #F7412D; margin: 0 0 8px;
    }
    .locate-result__name { font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 18px; color: #1a1a1a; margin: 0; }
    .locate-result__meta {
        font-family: 'Public Sans', sans-serif; font-size: 13px; color: #666; margin: 4px 0 16px; line-height: 1.5;
    }
    .locate-result__actions { display: flex; gap: 10px; flex-wrap: wrap; }
    .locate-result__link {
        font-family: 'Public Sans', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .04em;
        text-transform: uppercase; text-decoration: none; padding: 10px 16px; display: inline-block;
    }
    .locate-result__link--book { background: #F7412D; color: #fff; }
    .locate-result__link--book:hover { background: #1a1a1a; }
    .locate-result__link--dir { border: 1px solid #ddd; color: #1a1a1a; }
    .locate-result__link--dir:hover { border-color: #1a1a1a; }

    @media (max-width: 800px) {
        .locate-hero__logo { display: none; }
        .locate-card {
            grid-template-columns: 1fr; margin: 32px -32px 0;
            width: calc(100% + 64px);
        }
        .locate-card__map { min-height: 280px; }
        .locate-card__form { padding: 28px 20px; }
    }

    /* Sell strip: lock in the appointment */
    .locate-sell {
        background: #1a1a1a; padding: 48px 32px; text-align: center;
        border-top: 3px solid #F7412D; border-bottom: 3px solid #F7412D;
    }
    .locate-sell__title {
        font-family: 'Public Sans', sans-serif; font-weight: 800; font-size: clamp(22px, 2.6vw, 30px);
        text-transform: uppercase; color: #F7412D; margin: 0 0 12px; line-height: 1.1;
    }
    .locate-sell__text {
        font-family: 'Public Sans', sans-serif; font-size: 15px; font-weight: 400; color: rgba(255,255,255,.75);
        max-width: 560px; margin: 0 auto; line-height: 1.6;
    }
    .locate-sell__text strong { font-weight: 700; color: #fff; }

    /* Coatings teaser */
    .locate-teaser { background: #F7412D; padding: 48px 32px; }
    .locate-teaser__inner {
        max-width: 900px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between;
        gap: 24px; flex-wrap: wrap;
    }
    .locate-teaser__title { font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 19px; color: #fff; margin: 0 0 4px; }
    .locate-teaser__text { font-family: 'Public Sans', sans-serif; font-size: 14px; color: rgba(255,255,255,.85); margin: 0; }
    .locate-teaser__link {
        flex-shrink: 0; font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .04em;
        text-transform: uppercase; color: #fff; background: #1a1a1a; padding: 13px 24px; text-decoration: none;
    }
    .locate-teaser__link:hover { background: #000; }

/* ============================================================ */
/* spray-guns.html */
/* ============================================================ */
    @font-face {
        font-family: 'Asphaltic Grain Condensed';
        src: url("../fonts/AsphalticGrainCondensed.woff2") format("woff2");
        font-weight: normal;
        font-style: normal;
        font-display: swap;
    }
    :root { color-scheme: light; }
    *, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; max-width: 100%; }
    body { background: #000; }
    .reflex-page-shell { width: 100%; background: #EAEBE4; }

    #ReflexHeader {
        --hb-dark: #000000; --hb-brandrow-bg: #000000; --hb-cream: #F3F4EF;
        --hb-ink: #232323; --hb-badge: #F7412D; --hb-accent: #F7412D;
        font-family: 'Public Sans', sans-serif;
    }
    .hb a, .hb-mobile-nav a { text-decoration: none; }
    #ReflexHeader img { display: block; max-width: 100%; }
    .hb-brandrow { background: #000; border-bottom: none; }
    .hb-brandrow__row {
        display: flex !important; align-items: stretch; justify-content: flex-end; gap: 18px;
        max-width: 1320px; margin: 0 auto; padding: 0 24px; min-height: 38px;
    }
    .hb-brandrow__brands { display: flex; align-items: stretch; gap: 14px; flex-shrink: 1; min-width: 0; overflow-x: auto; scrollbar-width: none; }
    .hb-brandrow__brands::-webkit-scrollbar { display: none; }
    .hb-brandrow__parent { display: flex; align-items: center; flex-shrink: 0; }
    .hb-brandrow__parent img { filter: invert(1); }
    .hb-brandrow__divider { flex-shrink: 0; width: 1px; align-self: stretch; margin: 10px 0; background: rgba(255,255,255,.2); }
    .hb-brandrow__label {
        flex-shrink: 0; align-self: center; font-size: 11px; font-weight: 600; letter-spacing: .08em;
        text-transform: uppercase; color: rgba(255,255,255,.7);
    }
    .hb-brandrow__tabs { display: flex; align-items: stretch; gap: 10px; flex-shrink: 0; }
    .hb-brandrow__tab { display: flex; align-items: center; flex-shrink: 0; position: relative; padding: 0 4px; }
    .hb-brandrow__tab img { opacity: .75; transition: opacity .2s ease; width: auto; filter: invert(1); }
    .hb-brandrow__tab:hover img { opacity: 1; }
    .hb-brandrow__tab.is-active { background: #F7412D; padding: 0 14px; }
    .hb-brandrow__tab.is-active img { opacity: 1; filter: brightness(0); }
    .hb-mobile-nav {
        position: fixed; inset: 0; background: var(--hb-dark); color: var(--hb-cream);
        z-index: 1000; display: flex; flex-direction: column; padding: 24px 24px;
        transform: translateX(100%); transition: transform .35s ease;
    }
    .hb-mobile-nav.is-open { transform: translateX(0); }
    .hb-mobile-nav__top { display: flex; justify-content: space-between; align-items: center; }
    .hb-mobile-nav__links { margin-top: 36px; display: flex; flex-direction: column; gap: 26px; }
    .hb-mobile-nav__links a { font-family: 'Public Sans', sans-serif; font-size: 22px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; color: var(--hb-cream); }
    .hb-mobile-nav__actions { margin-top: auto; display: flex; flex-direction: column; gap: 14px; }
    .hb-mobile-nav__brands { margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.18); }
    .hb-mobile-nav__brands-label {
        display: block; margin-bottom: 14px; font-size: .68rem; font-weight: 600; letter-spacing: .1em;
        text-transform: uppercase; color: rgba(255,255,255,.4);
    }
    .hb-mobile-nav__brands-row { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
    .hb-mobile-nav__brands-row img { height: 13px; width: auto; filter: invert(1); opacity: .5; }
    .hb-pill {
        font-size: 12px; letter-spacing: .03em; text-transform: uppercase; font-weight: 700;
        border: 1.5px solid rgba(255,255,255,.75); border-radius: 0; padding: 9px 18px;
        background: transparent; color: #fff; transition: background .18s ease, color .18s ease, border-color .3s ease;
        display: inline-block;
    }
    .hb-pill--light { border-color: var(--hb-cream); color: var(--hb-cream); }
    .hb-pill--light:hover { background: var(--hb-cream); color: var(--hb-dark); }
    .hb-icon-btn {
        position: relative; background: none; border: none; color: #fff; display: flex;
        align-items: center; justify-content: center; width: 50px; height: 50px; cursor: pointer;
        transition: color .3s ease;
    }
    @media (max-width: 1180px) { .hb-brandrow__row { justify-content: flex-start; } }

    .reflex-nav { background: #000; border-bottom: 1px solid rgba(255,255,255,.08); position: sticky; top: 0; z-index: 500; }
    .reflex-nav__row { max-width: 1320px; margin: 0 auto; padding: 10px 32px; min-height: 68px; display: flex; align-items: center; flex-wrap: wrap; gap: 18px 32px; }
    .reflex-nav__links { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
    .reflex-nav__links a {
        font-family: 'Open Sans', sans-serif;
        font-size: 14px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #fff;
        text-decoration: none; transition: opacity .15s ease;
    }
    .reflex-nav__links a:hover { opacity: .7; }
    .reflex-nav__login { margin-left: auto; display: flex; align-items: center; gap: 10px; }
    .reflex-nav__login span {
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
        font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #fff; white-space: nowrap;
    }
    .reflex-nav__login form { display: flex; align-items: center; border: 1px solid rgba(255,255,255,.2); overflow: hidden; }
    .reflex-nav__login input {
        border: none; outline: none; padding: 7px 12px; width: 110px;
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
        font-size: 13px; font-weight: 400; background: #000; color: #fff;
    }
    .reflex-nav__login input::placeholder { color: rgba(255,255,255,.4); }
    .reflex-nav__login input + input { border-left: 1px solid rgba(255,255,255,.15); }
    .reflex-nav__login button {
        border: none; background: rgba(255,255,255,.12); color: #fff; width: 30px; height: 30px;
        display: flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0;
    }
    .reflex-nav__login button:hover { background: rgba(255,255,255,.22); }
    .reflex-nav__login-link {
        display: inline-flex; align-items: center; gap: 7px;
        font-family: 'Open Sans', sans-serif;
        font-size: 12px; font-weight: 700; letter-spacing: .02em; color: #F7412D;
        text-decoration: none; background: transparent; border: 1.5px solid #F7412D;
        padding: 9px 18px; white-space: nowrap;
        transition: background .18s ease, color .18s ease;
    }
    .reflex-nav__login-link:hover { background: #F7412D; color: #fff; }
    .reflex-nav__menu-toggle {
        display: none; background: none; border: none; color: #fff; cursor: pointer;
        width: 32px; height: 32px; align-items: center; justify-content: center; margin-left: auto;
    }
    .reflex-nav__logo { display: none; margin-right: 4px; }
    .reflex-nav__logo img { height: 22px; width: auto; display: block; }
    @media (max-width: 900px) {
        .reflex-nav__row { padding: 16px 20px; }
        .reflex-nav__links { display: none; }
        .reflex-nav__login { display: none; }
        .reflex-nav__menu-toggle { display: flex; }
        .hb-brandrow { display: none; }
        .reflex-nav__logo { display: flex; align-items: center; }
    }
    #guns, #upgrades, #parts { scroll-margin-top: 90px; }

    .reflex-siteFooter { background: #000; padding: 56px 32px 28px; }
    .reflex-siteFooter__inner { max-width: 1320px; margin: 0 auto; }
    .reflex-siteFooter__top {
        display: flex; align-items: flex-start; justify-content: space-between; gap: 48px;
        flex-wrap: wrap; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,.12);
    }
    .reflex-siteFooter__badge { flex-shrink: 0; }
    .reflex-siteFooter__badge img { height: 96px; width: auto; display: block; }
    .reflex-siteFooter__cols { display: flex; gap: 64px; flex-wrap: wrap; }
    .reflex-siteFooter__col-title {
        font-family: 'Public Sans', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .08em;
        text-transform: uppercase; color: #fff; margin: 0 0 18px;
    }
    .reflex-siteFooter__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
    .reflex-siteFooter__col a { font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 400; color: rgba(255,255,255,.65); text-decoration: none; }
    .reflex-siteFooter__col a:hover { color: #F7412D; }
    .reflex-siteFooter__bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding-top: 24px; }
    .reflex-siteFooter__copy { font-family: 'Public Sans', sans-serif; font-size: 11px; color: rgba(255,255,255,.4); margin: 0; }
    .reflex-siteFooter__social { display: flex; gap: 16px; }
    .reflex-siteFooter__social a { color: rgba(255,255,255,.65); display: flex; align-items: center; justify-content: center; }
    .reflex-siteFooter__social a:hover { color: #F7412D; }
    @media (max-width: 800px) {
        .reflex-siteFooter__top { flex-direction: column; gap: 32px; }
        .reflex-siteFooter__cols { gap: 40px; }
        .reflex-siteFooter__bottom { flex-direction: column; align-items: flex-start; }
    }

    /* Shared utility patterns */
    .dealer-btn {
        font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: .06em;
        text-transform: uppercase; text-decoration: none; padding: 15px 30px; display: inline-block;
        border: 1.5px solid transparent; transition: background .15s ease, color .15s ease, border-color .15s ease;
        cursor: pointer;
    }
    .dealer-btn--solid { background: #F7412D; color: #fff; }
    .dealer-btn--solid:hover { background: #fff; color: #F7412D; }
    .dealer-btn--outline { background: transparent; color: #fff; border-color: rgba(255,255,255,.6); }
    .dealer-btn--outline:hover { background: #fff; color: #111; border-color: #fff; }
    .dealer-section { padding: 72px 32px; }
    .dealer-section__inner { max-width: 1320px; margin: 0 auto; }
    .dealer-section__head { margin-bottom: 48px; }
    .dealer-label { font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: #F7412D; margin: 0 0 12px; }
    .dealer-label--light { color: rgba(255,255,255,.55); }
    .dealer-h2 { font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: clamp(28px, 3.4vw, 42px); color: #1a1a1a; margin: 0; line-height: 1.08; }
    .dealer-h2--light { color: #fff; }
    .dealer-lede { font-family: 'Public Sans', sans-serif; font-weight: 400; font-size: 16px; line-height: 1.6; color: #555; max-width: 640px; margin: 16px 0 0; }
    .dealer-lede--light { color: rgba(255,255,255,.7); }

    /* ==== Spray Guns page: hero ==== */
    .gun-hero {
        position: relative; overflow: hidden; min-height: 480px;
        background: #111 url("https://placehold.co/1800x900/15181c/3a3f46?text=Reflex+Spray+Guns") no-repeat center;
        background-size: cover; display: flex; align-items: center;
    }
    .gun-hero__scrim { position: absolute; inset: 0; background: linear-gradient(100deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.55) 40%, rgba(0,0,0,.25) 75%); }
    .gun-hero__content { position: relative; max-width: 1320px; margin: 0 auto; padding: 80px 32px; width: 100%; }
    .gun-hero__eyebrow { font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #F7412D; margin: 0 0 14px; }
    .gun-hero__title {
        font-family: 'Asphaltic Grain Condensed', 'Public Sans', sans-serif; font-weight: normal; text-transform: uppercase;
        color: #fff; margin: 0; line-height: .94; font-size: clamp(58px, 7vw, 88px); max-width: 780px;
    }
    .gun-hero__sub { font-family: 'Public Sans', sans-serif; font-weight: 400; font-size: clamp(16px, 1.7vw, 20px); color: rgba(255,255,255,.85); max-width: 600px; margin: 20px 0 0; line-height: 1.5; }
    .gun-hero__actions { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 32px; }
    .gun-stat-row { display: flex; gap: 44px; flex-wrap: wrap; margin-top: 48px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.2); }
    .gun-stat__value { font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: clamp(24px, 2.8vw, 32px); color: #fff; margin: 0; }
    .gun-stat__label { font-family: 'Public Sans', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.6); margin: 4px 0 0; }

    /* Gun comparison cards */
    .gun-guns { background: #fff; }
    .gun-guns__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
    .gun-card { border: 1px solid #e5e5e2; display: flex; flex-direction: column; }
    .gun-card--highlight { border-color: #F7412D; box-shadow: 0 0 0 1px #F7412D; }
    .gun-card__image { width: 100%; aspect-ratio: 4/3; object-fit: contain; background: #fff; padding: 20px; display: block; border-bottom: 1px solid #eee; }
    .gun-card__body { padding: 28px 26px 30px; display: flex; flex-direction: column; flex: 1; }
    .gun-card__badge {
        align-self: flex-start; font-family: 'Public Sans', sans-serif; font-size: 10px; font-weight: 700;
        letter-spacing: .08em; text-transform: uppercase; color: #fff; background: #F7412D; padding: 4px 10px; margin-bottom: 14px;
    }
    .gun-card__title { font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 24px; color: #1a1a1a; margin: 0 0 4px; }
    .gun-card__tag { font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 500; color: #888; margin: 0 0 18px; }
    .gun-card__desc { font-family: 'Public Sans', sans-serif; font-size: 14px; line-height: 1.6; color: #444; margin: 0 0 22px; }
    .gun-card__list { list-style: none; margin: 0 0 24px; padding: 0; display: flex; flex-direction: column; gap: 8px; flex: 1; }
    .gun-card__list li { font-family: 'Public Sans', sans-serif; font-size: 13px; color: #444; line-height: 1.4; padding-left: 16px; position: relative; }
    .gun-card__list li::before { content: '\2013'; position: absolute; left: 0; color: #F7412D; font-weight: 700; }
    .gun-card__cta {
        font-family: 'Public Sans', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
        text-align: center; text-decoration: none; color: #fff; background: #1a1a1a; padding: 13px; display: block; margin-top: auto;
    }
    .gun-card__cta:hover { background: #F7412D; }
    @media (max-width: 900px) {
        .gun-guns__grid {
            display: flex; grid-template-columns: unset; gap: 16px; overflow-x: auto;
            scroll-snap-type: x mandatory; scroll-padding-left: 20px; padding: 0 20px 6px;
            margin: 0 -20px; -webkit-overflow-scrolling: touch; scrollbar-width: none;
        }
        .gun-guns__grid::-webkit-scrollbar { display: none; }
        .gun-guns__grid .gun-card { flex: 0 0 85%; scroll-snap-align: start; }
    }

    /* Upgrades / technology */
    .gun-upgrades { background: #000; }
    .gun-upgrades__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px 48px; }
    .gun-upgrade__num {
        font-family: 'Asphaltic Grain Condensed', 'Public Sans', sans-serif; font-weight: normal; color: #F7412D;
        font-size: 40px; line-height: 1; margin: 0 0 10px;
    }
    .gun-upgrade__title { font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 18px; text-transform: uppercase; color: #fff; margin: 0 0 10px; }
    .gun-upgrade__text { font-family: 'Public Sans', sans-serif; font-size: 14px; line-height: 1.6; color: rgba(255,255,255,.7); margin: 0; }
    @media (max-width: 800px) { .gun-upgrades__grid { grid-template-columns: 1fr; } }

    /* Built in-house banner */
    .gun-madein { background: #1a1a1a; padding: 56px 32px; text-align: center; border-top: 3px solid #F7412D; border-bottom: 3px solid #F7412D; }
    .gun-madein__eyebrow { font-family: 'Public Sans', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.5); margin: 0 0 10px; }
    .gun-madein__title { font-family: 'Asphaltic Grain Condensed', 'Public Sans', sans-serif; font-weight: normal; text-transform: uppercase; color: #F7412D; margin: 0; line-height: .95; font-size: clamp(34px, 4.2vw, 56px); }
    .gun-madein__text { font-family: 'Public Sans', sans-serif; font-size: 15px; font-weight: 400; color: rgba(255,255,255,.8); max-width: 640px; margin: 16px auto 0; line-height: 1.6; }

    /* Parts & accessories */
    .gun-parts { background: #fff; }
    .gun-parts__grid { display: flex; align-items: center; gap: 56px; }
    .gun-parts__media { flex: 0 0 44%; }
    .gun-parts__media img { width: 100%; display: block; border: 1px solid #eee; }
    .gun-parts__copy { flex: 1; }
    .gun-parts__list { list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
    .gun-parts__list li { font-family: 'Public Sans', sans-serif; font-size: 14px; color: #444; line-height: 1.5; padding-left: 18px; position: relative; }
    .gun-parts__list li::before { content: '\2013'; position: absolute; left: 0; color: #F7412D; font-weight: 700; }
    @media (max-width: 900px) {
        .gun-parts__grid { flex-direction: column; }
        .gun-parts__media { flex-basis: auto; }
    }

/* ============================================================ */
/* contact.html */
/* ============================================================ */
    @font-face {
        font-family: 'Asphaltic Grain Condensed';
        src: url("../fonts/AsphalticGrainCondensed.woff2") format("woff2");
        font-weight: normal;
        font-style: normal;
        font-display: swap;
    }
    :root { color-scheme: light; }
    *, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; max-width: 100%; }
    body { background: #000; }
    .reflex-page-shell { width: 100%; background: #EAEBE4; }

    #ReflexHeader {
        --hb-dark: #000000; --hb-brandrow-bg: #000000; --hb-cream: #F3F4EF;
        --hb-ink: #232323; --hb-badge: #F7412D; --hb-accent: #F7412D;
        font-family: 'Public Sans', sans-serif;
    }
    .hb a, .hb-mobile-nav a { text-decoration: none; }
    #ReflexHeader img { display: block; max-width: 100%; }
    .hb-brandrow { background: #000; border-bottom: none; }
    .hb-brandrow__row {
        display: flex !important; align-items: stretch; justify-content: flex-end; gap: 18px;
        max-width: 1320px; margin: 0 auto; padding: 0 24px; min-height: 38px;
    }
    .hb-brandrow__brands { display: flex; align-items: stretch; gap: 14px; flex-shrink: 1; min-width: 0; overflow-x: auto; scrollbar-width: none; }
    .hb-brandrow__brands::-webkit-scrollbar { display: none; }
    .hb-brandrow__parent { display: flex; align-items: center; flex-shrink: 0; }
    .hb-brandrow__parent img { filter: invert(1); }
    .hb-brandrow__divider { flex-shrink: 0; width: 1px; align-self: stretch; margin: 10px 0; background: rgba(255,255,255,.2); }
    .hb-brandrow__label {
        flex-shrink: 0; align-self: center; font-size: 11px; font-weight: 600; letter-spacing: .08em;
        text-transform: uppercase; color: rgba(255,255,255,.7);
    }
    .hb-brandrow__tabs { display: flex; align-items: stretch; gap: 10px; flex-shrink: 0; }
    .hb-brandrow__tab { display: flex; align-items: center; flex-shrink: 0; position: relative; padding: 0 4px; }
    .hb-brandrow__tab img { opacity: .75; transition: opacity .2s ease; width: auto; filter: invert(1); }
    .hb-brandrow__tab:hover img { opacity: 1; }
    .hb-brandrow__tab.is-active { background: #F7412D; padding: 0 14px; }
    .hb-brandrow__tab.is-active img { opacity: 1; filter: brightness(0); }
    .hb-mobile-nav {
        position: fixed; inset: 0; background: var(--hb-dark); color: var(--hb-cream);
        z-index: 1000; display: flex; flex-direction: column; padding: 24px 24px;
        transform: translateX(100%); transition: transform .35s ease;
    }
    .hb-mobile-nav.is-open { transform: translateX(0); }
    .hb-mobile-nav__top { display: flex; justify-content: space-between; align-items: center; }
    .hb-mobile-nav__links { margin-top: 36px; display: flex; flex-direction: column; gap: 26px; }
    .hb-mobile-nav__links a { font-family: 'Public Sans', sans-serif; font-size: 22px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; color: var(--hb-cream); }
    .hb-mobile-nav__actions { margin-top: auto; display: flex; flex-direction: column; gap: 14px; }
    .hb-mobile-nav__brands { margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.18); }
    .hb-mobile-nav__brands-label {
        display: block; margin-bottom: 14px; font-size: .68rem; font-weight: 600; letter-spacing: .1em;
        text-transform: uppercase; color: rgba(255,255,255,.4);
    }
    .hb-mobile-nav__brands-row { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
    .hb-mobile-nav__brands-row img { height: 13px; width: auto; filter: invert(1); opacity: .5; }
    .hb-pill {
        font-size: 12px; letter-spacing: .03em; text-transform: uppercase; font-weight: 700;
        border: 1.5px solid rgba(255,255,255,.75); border-radius: 0; padding: 9px 18px;
        background: transparent; color: #fff; transition: background .18s ease, color .18s ease, border-color .3s ease;
        display: inline-block;
    }
    .hb-pill--light { border-color: var(--hb-cream); color: var(--hb-cream); }
    .hb-pill--light:hover { background: var(--hb-cream); color: var(--hb-dark); }
    .hb-icon-btn {
        position: relative; background: none; border: none; color: #fff; display: flex;
        align-items: center; justify-content: center; width: 50px; height: 50px; cursor: pointer;
        transition: color .3s ease;
    }
    @media (max-width: 1180px) { .hb-brandrow__row { justify-content: flex-start; } }

    .reflex-nav { background: #000; border-bottom: 1px solid rgba(255,255,255,.08); position: sticky; top: 0; z-index: 500; }
    .reflex-nav__row { max-width: 1320px; margin: 0 auto; padding: 10px 32px; min-height: 68px; display: flex; align-items: center; flex-wrap: wrap; gap: 18px 32px; }
    .reflex-nav__links { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
    .reflex-nav__links a {
        font-family: 'Open Sans', sans-serif;
        font-size: 14px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #fff;
        text-decoration: none; transition: opacity .15s ease;
    }
    .reflex-nav__links a:hover { opacity: .7; }
    .reflex-nav__login { margin-left: auto; display: flex; align-items: center; gap: 10px; }
    .reflex-nav__login span {
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
        font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #fff; white-space: nowrap;
    }
    .reflex-nav__login form { display: flex; align-items: center; border: 1px solid rgba(255,255,255,.2); overflow: hidden; }
    .reflex-nav__login input {
        border: none; outline: none; padding: 7px 12px; width: 110px;
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
        font-size: 13px; font-weight: 400; background: #000; color: #fff;
    }
    .reflex-nav__login input::placeholder { color: rgba(255,255,255,.4); }
    .reflex-nav__login input + input { border-left: 1px solid rgba(255,255,255,.15); }
    .reflex-nav__login button {
        border: none; background: rgba(255,255,255,.12); color: #fff; width: 30px; height: 30px;
        display: flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0;
    }
    .reflex-nav__login button:hover { background: rgba(255,255,255,.22); }
    .reflex-nav__login-link {
        display: inline-flex; align-items: center; gap: 7px;
        font-family: 'Open Sans', sans-serif;
        font-size: 12px; font-weight: 700; letter-spacing: .02em; color: #F7412D;
        text-decoration: none; background: transparent; border: 1.5px solid #F7412D;
        padding: 9px 18px; white-space: nowrap;
        transition: background .18s ease, color .18s ease;
    }
    .reflex-nav__login-link:hover { background: #F7412D; color: #fff; }
    .reflex-nav__menu-toggle {
        display: none; background: none; border: none; color: #fff; cursor: pointer;
        width: 32px; height: 32px; align-items: center; justify-content: center; margin-left: auto;
    }
    .reflex-nav__logo { display: none; margin-right: 4px; }
    .reflex-nav__logo img { height: 22px; width: auto; display: block; }
    @media (max-width: 900px) {
        .reflex-nav__row { padding: 16px 20px; }
        .reflex-nav__links { display: none; }
        .reflex-nav__login { display: none; }
        .reflex-nav__menu-toggle { display: flex; }
        .hb-brandrow { display: none; }
        .reflex-nav__logo { display: flex; align-items: center; }
    }

    .reflex-siteFooter { background: #000; padding: 56px 32px 28px; }
    .reflex-siteFooter__inner { max-width: 1320px; margin: 0 auto; }
    .reflex-siteFooter__top {
        display: flex; align-items: flex-start; justify-content: space-between; gap: 48px;
        flex-wrap: wrap; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,.12);
    }
    .reflex-siteFooter__badge { flex-shrink: 0; }
    .reflex-siteFooter__badge img { height: 96px; width: auto; display: block; }
    .reflex-siteFooter__cols { display: flex; gap: 64px; flex-wrap: wrap; }
    .reflex-siteFooter__col-title {
        font-family: 'Public Sans', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .08em;
        text-transform: uppercase; color: #fff; margin: 0 0 18px;
    }
    .reflex-siteFooter__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
    .reflex-siteFooter__col a { font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 400; color: rgba(255,255,255,.65); text-decoration: none; }
    .reflex-siteFooter__col a:hover { color: #F7412D; }
    .reflex-siteFooter__bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding-top: 24px; }
    .reflex-siteFooter__copy { font-family: 'Public Sans', sans-serif; font-size: 11px; color: rgba(255,255,255,.4); margin: 0; }
    .reflex-siteFooter__social { display: flex; gap: 16px; }
    .reflex-siteFooter__social a { color: rgba(255,255,255,.65); display: flex; align-items: center; justify-content: center; }
    .reflex-siteFooter__social a:hover { color: #F7412D; }
    @media (max-width: 800px) {
        .reflex-siteFooter__top { flex-direction: column; gap: 32px; }
        .reflex-siteFooter__cols { gap: 40px; }
        .reflex-siteFooter__bottom { flex-direction: column; align-items: flex-start; }
    }

    /* Shared utility patterns */
    .dealer-btn {
        font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: .06em;
        text-transform: uppercase; text-decoration: none; padding: 15px 30px; display: inline-block;
        border: 1.5px solid transparent; transition: background .15s ease, color .15s ease, border-color .15s ease;
        cursor: pointer;
    }
    .dealer-btn--solid { background: #F7412D; color: #fff; }
    .dealer-btn--solid:hover { background: #fff; color: #F7412D; }
    .dealer-section { padding: 72px 32px; }
    .dealer-section__inner { max-width: 1320px; margin: 0 auto; }
    .dealer-label { font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: #F7412D; margin: 0 0 12px; }
    .dealer-h2 { font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: clamp(28px, 3.4vw, 42px); color: #1a1a1a; margin: 0; line-height: 1.08; }
    .dealer-h2--light { color: #fff; }
    .dealer-lede { font-family: 'Public Sans', sans-serif; font-weight: 400; font-size: 16px; line-height: 1.6; color: #555; max-width: 640px; margin: 16px 0 0; }

    /* ==== Contact page: hero ==== */
    .contact-hero {
        position: relative; overflow: hidden; min-height: 320px;
        background: #111 url("https://placehold.co/1800x700/15181c/3a3f46?text=Contact+Reflex") no-repeat center;
        background-size: cover; display: flex; align-items: center;
    }
    .contact-hero__scrim { position: absolute; inset: 0; background: linear-gradient(100deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.55) 40%, rgba(0,0,0,.25) 75%); }
    .contact-hero__content { position: relative; max-width: 1320px; margin: 0 auto; padding: 64px 32px; width: 100%; }
    .contact-hero__eyebrow { font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #F7412D; margin: 0 0 14px; }
    .contact-hero__title {
        font-family: 'Asphaltic Grain Condensed', 'Public Sans', sans-serif; font-weight: normal; text-transform: uppercase;
        color: #fff; margin: 0; line-height: .94; font-size: clamp(54px, 6vw, 74px); max-width: 780px;
    }
    .contact-hero__sub { font-family: 'Public Sans', sans-serif; font-weight: 400; font-size: clamp(15px, 1.6vw, 18px); color: rgba(255,255,255,.85); max-width: 560px; margin: 18px 0 0; line-height: 1.5; }

    /* Main layout: info column + form column */
    .contact-main { background: #fff; }
    .contact-main__grid { display: flex; gap: 64px; align-items: flex-start; }
    .contact-info { flex: 0 0 340px; }
    .contact-info__block { margin-bottom: 32px; }
    .contact-info__label { font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #F7412D; margin: 0 0 10px; }
    .contact-info__value { font-family: 'Public Sans', sans-serif; font-size: 16px; font-weight: 600; color: #1a1a1a; margin: 0 0 4px; line-height: 1.5; }
    .contact-info__value a { color: inherit; text-decoration: none; }
    .contact-info__value a:hover { color: #F7412D; }
    .contact-info__sub { font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 400; color: #777; margin: 0; }

    .contact-form { flex: 1; min-width: 0; background: #f7f7f4; border: 1px solid #e5e5e2; padding: 40px; }
    .contact-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
    .contact-form__field { display: flex; flex-direction: column; gap: 8px; }
    .contact-form__field--full { grid-column: 1 / -1; }
    .contact-form__field label {
        font-family: 'Public Sans', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .06em;
        text-transform: uppercase; color: #555;
    }
    .contact-form__field input, .contact-form__field select, .contact-form__field textarea {
        font-family: 'Public Sans', sans-serif; font-size: 14px; padding: 12px 14px; border: 1px solid #ddd;
        background: #fff; color: #1a1a1a; width: 100%;
    }
    .contact-form__field textarea { resize: vertical; min-height: 120px; }
    .contact-form__field input:focus, .contact-form__field select:focus, .contact-form__field textarea:focus {
        outline: 2px solid #F7412D; outline-offset: -1px;
    }
    .contact-form__note { font-family: 'Public Sans', sans-serif; font-size: 12px; color: #888; margin: 0 0 22px; }
    @media (max-width: 900px) {
        .contact-main__grid { flex-direction: column; }
        .contact-info { flex-basis: auto; }
        .contact-form { padding: 28px; }
        .contact-form__row { grid-template-columns: 1fr; }
    }

    /* Location strip */
    .contact-map { background: #F7412D; }
    .contact-map__grid { display: flex; align-items: stretch; gap: 0; }
    .contact-map__media { flex: 0 0 48%; }
    .contact-map__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .contact-map__copy { flex: 1; padding: 48px 56px; display: flex; flex-direction: column; justify-content: center; }
    .contact-map__title { font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 22px; color: #fff; margin: 0 0 14px; }
    .contact-map__text { font-family: 'Public Sans', sans-serif; font-size: 14px; line-height: 1.7; color: rgba(255,255,255,.7); margin: 0; }
    @media (max-width: 900px) {
        .contact-map__grid { flex-direction: column; }
        .contact-map__media { flex-basis: auto; aspect-ratio: 16/9; }
        .contact-map__copy { padding: 36px 28px; }
    }

/* ============================================================ */
/* become-a-dealer.html */
/* ============================================================ */
    @font-face {
        font-family: 'Asphaltic Grain Condensed';
        src: url("../fonts/AsphalticGrainCondensed.woff2") format("woff2");
        font-weight: normal;
        font-style: normal;
        font-display: swap;
    }
    :root { color-scheme: light; }
    *, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; max-width: 100%; }
    body { background: #000; }
    .reflex-page-shell { width: 100%; background: #EAEBE4; }

    /* Faithful port of dawn-theme/sections/header-brand.liquid, self_brand_key="reflex" */
    #ReflexHeader {
        --hb-dark: #000000;
        --hb-brandrow-bg: #000000;
        --hb-cream: #F3F4EF;
        --hb-ink: #232323;
        --hb-badge: #F7412D;
        --hb-accent: #F7412D;
        font-family: 'Public Sans', sans-serif;
    }
    .hb a, .hb-mobile-nav a { text-decoration: none; }
    #ReflexHeader img { display: block; max-width: 100%; }

    .hb-brandrow { background: #000; border-bottom: none; }
    .hb-brandrow__row {
        display: flex !important; align-items: stretch; justify-content: flex-end; gap: 18px;
        max-width: 1320px; margin: 0 auto; padding: 0 24px; min-height: 38px;
    }
    .hb-brandrow__brands {
        display: flex; align-items: stretch; gap: 14px; flex-shrink: 1; min-width: 0;
        overflow-x: auto; scrollbar-width: none;
    }
    .hb-brandrow__brands::-webkit-scrollbar { display: none; }
    .hb-brandrow__parent { display: flex; align-items: center; flex-shrink: 0; }
    .hb-brandrow__parent img { filter: invert(1); }
    .hb-brandrow__divider { flex-shrink: 0; width: 1px; align-self: stretch; margin: 10px 0; background: rgba(255,255,255,.2); }
    .hb-brandrow__label {
        flex-shrink: 0; align-self: center; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
        color: rgba(255,255,255,.7);
    }
    .hb-brandrow__tabs { display: flex; align-items: stretch; gap: 10px; flex-shrink: 0; }
    .hb-brandrow__tab { display: flex; align-items: center; flex-shrink: 0; position: relative; padding: 0 4px; }
    .hb-brandrow__tab img { opacity: .75; transition: opacity .2s ease; width: auto; filter: invert(1); }
    .hb-brandrow__tab:hover img { opacity: 1; }
    .hb-brandrow__tab.is-active {
        background: #F7412D; padding: 0 14px;
    }
    .hb-brandrow__tab.is-active img { opacity: 1; filter: brightness(0); }

    .hb-mobile-nav {
        position: fixed; inset: 0; background: var(--hb-dark); color: var(--hb-cream);
        z-index: 1000; display: flex; flex-direction: column; padding: 24px 24px;
        transform: translateX(100%); transition: transform .35s ease;
    }
    .hb-mobile-nav.is-open { transform: translateX(0); }
    .hb-mobile-nav__top { display: flex; justify-content: space-between; align-items: center; }
    .hb-mobile-nav__ecom {
        display: flex; flex-wrap: wrap; gap: 20px; margin-top: 40px; padding-bottom: 20px;
        border-bottom: 1px solid rgba(255,255,255,.18);
    }
    .hb-mobile-nav__ecom-item {
        display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600;
        letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.75);
    }
    .hb-mobile-nav__links { margin-top: 36px; display: flex; flex-direction: column; gap: 26px; }
    .hb-mobile-nav__links a { font-family: 'Public Sans', sans-serif; font-size: 22px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; color: var(--hb-cream); }
    .hb-mobile-nav__actions { margin-top: auto; display: flex; flex-direction: column; gap: 14px; }
    .hb-mobile-nav__brands { margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.18); }
    .hb-mobile-nav__brands-label {
        display: block; margin-bottom: 14px; font-size: .68rem; font-weight: 600; letter-spacing: .1em;
        text-transform: uppercase; color: rgba(255,255,255,.4);
    }
    .hb-mobile-nav__brands-row { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
    .hb-mobile-nav__brands-row img { height: 13px; width: auto; filter: invert(1); opacity: .5; }
    .hb-pill {
        font-size: 12px; letter-spacing: .03em; text-transform: uppercase; font-weight: 700;
        border: 1.5px solid rgba(255,255,255,.75); border-radius: 0; padding: 9px 18px;
        background: transparent; color: #fff; transition: background .18s ease, color .18s ease, border-color .3s ease;
        display: inline-block;
    }
    .hb-pill--light { border-color: var(--hb-cream); color: var(--hb-cream); }
    .hb-pill--light:hover { background: var(--hb-cream); color: var(--hb-dark); }
    .hb-icon-btn {
        position: relative; background: none; border: none; color: #fff; display: flex;
        align-items: center; justify-content: center; width: 50px; height: 50px; cursor: pointer;
        transition: color .3s ease;
    }

    @media (max-width: 1180px) {
        .hb-brandrow__row { justify-content: flex-start; }
    }

    .reflex-nav {
        background: #000; border-bottom: 1px solid rgba(255,255,255,.08);
        position: sticky; top: 0; z-index: 500;
    }
    .reflex-nav__row {
        max-width: 1320px; margin: 0 auto; padding: 10px 32px; min-height: 68px;
        display: flex; align-items: center; flex-wrap: wrap; gap: 18px 32px;
    }
    .reflex-nav__links { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
    .reflex-nav__links a {
        font-family: 'Open Sans', sans-serif;
        font-size: 14px; font-weight: 600; letter-spacing: .04em;
        text-transform: uppercase; color: #fff; text-decoration: none;
        transition: opacity .15s ease;
    }
    .reflex-nav__links a:hover { opacity: .7; }
    .reflex-nav__login { margin-left: auto; display: flex; align-items: center; gap: 10px; }
    .reflex-nav__login span {
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
        font-size: 11px; font-weight: 600; letter-spacing: .04em;
        text-transform: uppercase; color: #fff; white-space: nowrap;
    }
    .reflex-nav__login form {
        display: flex; align-items: center; border: 1px solid rgba(255,255,255,.2); overflow: hidden;
    }
    .reflex-nav__login input {
        border: none; outline: none; padding: 7px 12px; width: 110px;
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
        font-size: 13px; font-weight: 400; background: #000; color: #fff;
    }
    .reflex-nav__login input::placeholder { color: rgba(255,255,255,.4); }
    .reflex-nav__login input + input { border-left: 1px solid rgba(255,255,255,.15); }
    .reflex-nav__login button {
        border: none; background: rgba(255,255,255,.12); color: #fff; width: 30px; height: 30px;
        display: flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0;
    }
    .reflex-nav__login button:hover { background: rgba(255,255,255,.22); }
    .reflex-nav__login-link {
        display: inline-flex; align-items: center; gap: 7px;
        font-family: 'Open Sans', sans-serif;
        font-size: 12px; font-weight: 700; letter-spacing: .02em; color: #F7412D;
        text-decoration: none; background: transparent; border: 1.5px solid #F7412D;
        padding: 9px 18px; white-space: nowrap;
        transition: background .18s ease, color .18s ease;
    }
    .reflex-nav__login-link:hover { background: #F7412D; color: #fff; }
    .reflex-nav__menu-toggle {
        display: none; background: none; border: none; color: #fff; cursor: pointer;
        width: 32px; height: 32px; align-items: center; justify-content: center; margin-left: auto;
    }
    .reflex-nav__logo { display: none; margin-right: 4px; }
    .reflex-nav__logo img { height: 22px; width: auto; display: block; }
    .reflex-nav__logo--trial {
        display: flex !important; align-items: center; overflow: hidden;
        max-width: 0; opacity: 0; margin-right: -32px; pointer-events: none;
        transition: max-width .3s ease, opacity .25s ease, margin-right .3s ease;
    }
    .reflex-nav__logo--trial img { filter: brightness(0) invert(1); }
    .reflex-nav.is-scrolled .reflex-nav__logo--trial { max-width: 200px; opacity: 1; margin-right: 4px; pointer-events: auto; }
    @media (max-width: 900px) {
        .reflex-nav__logo--trial { max-width: none; opacity: 1; margin-right: 4px; pointer-events: auto; }
    }

    @media (max-width: 900px) {
        .reflex-nav__row { padding: 16px 20px; }
        .reflex-nav__links { display: none; }
        .reflex-nav__login { display: none; }
        .reflex-nav__menu-toggle { display: flex; }
        .hb-brandrow { display: none; }
        .reflex-nav__logo { display: flex; align-items: center; }
    }

    /* offset anchor-linked sections so the sticky nav doesn't cover their top */
    #why, #process, #packages, #apply { scroll-margin-top: 90px; }

    /* Site footer (shared) */
    .reflex-siteFooter { background: #000; padding: 56px 32px 28px; }
    .reflex-siteFooter__inner { max-width: 1320px; margin: 0 auto; }
    .reflex-siteFooter__top {
        display: flex; align-items: flex-start; justify-content: space-between; gap: 48px;
        flex-wrap: wrap; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,.12);
    }
    .reflex-siteFooter__badge { flex-shrink: 0; }
    .reflex-siteFooter__badge img { height: 96px; width: auto; display: block; }
    .reflex-siteFooter__cols { display: flex; gap: 64px; flex-wrap: wrap; }
    .reflex-siteFooter__col-title {
        font-family: 'Public Sans', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .08em;
        text-transform: uppercase; color: #fff; margin: 0 0 18px;
    }
    .reflex-siteFooter__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
    .reflex-siteFooter__col a {
        font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 400; color: rgba(255,255,255,.65);
        text-decoration: none;
    }
    .reflex-siteFooter__col a:hover { color: #F7412D; }
    .reflex-siteFooter__bottom {
        display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
        padding-top: 24px;
    }
    .reflex-siteFooter__copy {
        font-family: 'Public Sans', sans-serif; font-size: 11px; color: rgba(255,255,255,.4); margin: 0;
    }
    .reflex-siteFooter__social { display: flex; gap: 16px; }
    .reflex-siteFooter__social a {
        color: rgba(255,255,255,.65); display: flex; align-items: center; justify-content: center;
    }
    .reflex-siteFooter__social a:hover { color: #F7412D; }

    @media (max-width: 800px) {
        .reflex-siteFooter__top { flex-direction: column; gap: 32px; }
        .reflex-siteFooter__cols { gap: 40px; }
        .reflex-siteFooter__bottom { flex-direction: column; align-items: flex-start; }
    }

    /* ==== Become a Dealer: page-specific ==== */

    /* Hero */
    .dealer-hero {
        position: relative; overflow: hidden;
        min-height: 520px;
        background: #111 url("https://placehold.co/1800x1000/15181c/3a3f46?text=Reflex+Applicator+Shop") no-repeat center;
        background-size: cover;
        display: flex; align-items: center;
    }
    .dealer-hero__scrim {
        position: absolute; inset: 0;
        background: linear-gradient(100deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.55) 40%, rgba(0,0,0,.25) 75%);
    }
    .dealer-hero__content { position: relative; max-width: 1320px; margin: 0 auto; padding: 90px 32px; width: 100%; }
    .dealer-hero__logo { height: 40px; width: auto; margin: 0 0 24px; }
    @media (max-width: 800px) {
        .dealer-hero__content { padding-top: 56px; }
        .dealer-hero__logo { display: none; }
    }
    .dealer-hero__eyebrow {
        font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .12em;
        text-transform: uppercase; color: #F7412D; margin: 0 0 14px;
    }
    .dealer-hero__title {
        font-family: 'Asphaltic Grain Condensed', 'Public Sans', sans-serif; font-weight: normal;
        text-transform: uppercase; color: #fff; margin: 0; line-height: .94;
        font-size: clamp(60px, 7.5vw, 96px); max-width: 760px;
    }
    .dealer-hero__sub {
        font-family: 'Public Sans', sans-serif; font-weight: 400; font-size: clamp(16px, 1.7vw, 20px);
        color: rgba(255,255,255,.85); max-width: 560px; margin: 20px 0 0; line-height: 1.5;
    }
    .dealer-hero__sub strong { font-weight: 700; color: #fff; }
    .dealer-hero__brand { color: #F7412D; font-weight: 600; }
    .dealer-hero__product { color: #fff; font-weight: 700; }
    .dealer-hero__actions { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 36px; }
    .dealer-btn {
        font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: .06em;
        text-transform: uppercase; text-decoration: none; padding: 15px 30px; display: inline-block;
        border: 1.5px solid transparent; transition: background .15s ease, color .15s ease, border-color .15s ease;
    }
    .dealer-btn--solid { background: #F7412D; color: #fff; }
    .dealer-btn--solid:hover { background: #fff; color: #F7412D; }
    .dealer-btn--outline { background: transparent; color: #fff; border-color: rgba(255,255,255,.6); }
    .dealer-btn--outline:hover { background: #fff; color: #111; border-color: #fff; }

    .dealer-stat-row {
        display: flex; gap: 48px; flex-wrap: wrap; margin-top: 56px; padding-top: 32px;
        border-top: 1px solid rgba(255,255,255,.2);
    }
    .dealer-stat__value {
        font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: clamp(26px, 3vw, 36px); color: #fff; margin: 0;
    }
    .dealer-stat__label {
        font-family: 'Public Sans', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .08em;
        text-transform: uppercase; color: rgba(255,255,255,.6); margin: 4px 0 0;
    }

    /* Section label pattern reused across the page (matches homepage's underline-free labels) */
    .dealer-section { padding: 72px 32px; }
    .dealer-section__inner { max-width: 1320px; margin: 0 auto; }
    .dealer-label {
        font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: .1em;
        text-transform: uppercase; color: #F7412D; margin: 0 0 12px;
    }
    .dealer-label--light { color: rgba(255,255,255,.55); }
    .dealer-h2 {
        font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: clamp(28px, 3.4vw, 42px);
        color: #1a1a1a; margin: 0; line-height: 1.08;
    }
    .dealer-h2--light { color: #fff; }
    .dealer-lede {
        font-family: 'Public Sans', sans-serif; font-weight: 400; font-size: 16px; line-height: 1.6;
        color: #555; max-width: 640px; margin: 16px 0 0;
    }
    .dealer-lede--light { color: rgba(255,255,255,.7); }
    .dealer-section__head { margin-bottom: 48px; }

    /* Why become a dealer: icon grid */
    .dealer-warranty {
        background: #1a1a1a; padding: 40px 32px; text-align: center;
        border-top: 3px solid #F7412D; border-bottom: 3px solid #F7412D;
    }
    .dealer-warranty__eyebrow {
        font-family: 'Public Sans', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .12em;
        text-transform: uppercase; color: rgba(255,255,255,.5); margin: 0 0 10px;
    }
    .dealer-warranty__title {
        font-family: 'Asphaltic Grain Condensed', 'Public Sans', sans-serif; font-weight: normal;
        text-transform: uppercase; color: #F7412D; margin: 0; line-height: .95;
        font-size: clamp(30px, 3.6vw, 46px);
    }
    .dealer-warranty__text {
        font-family: 'Public Sans', sans-serif; font-size: 14px; font-weight: 400; color: rgba(255,255,255,.75);
        max-width: 560px; margin: 14px auto 0; line-height: 1.6;
    }

    .dealer-why { background: #fff; }
    .dealer-why__grid {
        display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 32px;
    }
    .dealer-why__item { display: flex; flex-direction: row; align-items: flex-start; gap: 18px; }
    .dealer-why__icon {
        width: 48px; height: 48px; border-radius: 50%; background: #1a1a1a;
        display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0;
    }
    .dealer-why__body { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
    .dealer-why__title {
        font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 17px; color: #1a1a1a; margin: 0;
    }
    .dealer-why__text {
        font-family: 'Public Sans', sans-serif; font-weight: 400; font-size: 14px; line-height: 1.6; color: #666; margin: 0;
    }

    @media (max-width: 900px) {
        .dealer-why__grid { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 600px) {
        .dealer-why__grid { grid-template-columns: 1fr; }
    }

    /* Process: 4 numbered steps, black */
    .dealer-process { background: #000; }
    .dealer-process__grid {
        display: grid; grid-template-columns: repeat(4, 1fr); gap: 36px;
    }
    .dealer-process__step { position: relative; padding-top: 8px; }
    .dealer-process__num {
        font-family: 'Asphaltic Grain Condensed', 'Public Sans', sans-serif; font-weight: normal;
        font-size: 56px; color: #F7412D; line-height: 1; margin: 0 0 14px;
    }
    .dealer-process__title {
        font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 16px; letter-spacing: .02em;
        text-transform: uppercase; color: #fff; margin: 0 0 10px;
    }
    .dealer-process__text {
        font-family: 'Public Sans', sans-serif; font-weight: 400; font-size: 14px; line-height: 1.6;
        color: rgba(255,255,255,.65); margin: 0;
    }
    .dealer-process__connector {
        display: none;
    }

    @media (max-width: 900px) {
        .dealer-process__grid { grid-template-columns: 1fr 1fr; gap: 40px 24px; }
    }
    @media (max-width: 560px) {
        .dealer-process__grid { grid-template-columns: 1fr; }
    }

    /* Packages: 3 pricing cards */
    .dealer-packages { background: #fff; }
    .dealer-packages__note {
        font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 500; color: #666;
        margin: 6px 0 0; max-width: 640px; line-height: 1.5;
    }
    .dealer-packages__grid {
        display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px;
    }
    .dealer-package {
        border: 1px solid #e5e5e2; display: flex; flex-direction: column;
    }
    .dealer-package--highlight { border-color: #F7412D; box-shadow: 0 0 0 1px #F7412D; }
    .dealer-package__image { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; background: #d9d9d4; }
    .dealer-package__body { padding: 26px 24px 30px; display: flex; flex-direction: column; flex: 1; }
    .dealer-package__badge {
        align-self: flex-start; font-family: 'Public Sans', sans-serif; font-size: 10px; font-weight: 700;
        letter-spacing: .08em; text-transform: uppercase; color: #fff; background: #F7412D;
        padding: 4px 10px; margin-bottom: 14px;
    }
    .dealer-package__title {
        font-family: 'Public Sans', sans-serif; font-weight: 700; font-size: 19px; color: #1a1a1a; margin: 0 0 16px;
    }
    .dealer-package__list {
        list-style: none; margin: 0 0 24px; padding: 0; display: flex; flex-direction: column; gap: 9px; flex: 1;
    }
    .dealer-package__list li {
        font-family: 'Public Sans', sans-serif; font-size: 13px; color: #444; line-height: 1.4;
        padding-left: 16px; position: relative;
    }
    .dealer-package__list li::before {
        content: '\2013'; position: absolute; left: 0; color: #F7412D; font-weight: 700;
    }
    .dealer-package__cta {
        font-family: 'Public Sans', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .06em;
        text-transform: uppercase; text-align: center; text-decoration: none; color: #fff;
        background: #1a1a1a; padding: 13px; display: block;
    }
    .dealer-package__cta:hover { background: #F7412D; }

    @media (max-width: 900px) {
        .dealer-packages__grid { grid-template-columns: 1fr; max-width: 460px; margin: 0 auto; }
    }

    @media (max-width: 700px) {
        .dealer-packages__grid {
            display: flex; grid-template-columns: unset; gap: 16px; overflow-x: auto;
            scroll-snap-type: x mandatory; scroll-padding-left: 20px; padding: 0 20px 6px;
            margin: 0 -20px; max-width: none; -webkit-overflow-scrolling: touch; scrollbar-width: none;
        }
        .dealer-packages__grid::-webkit-scrollbar { display: none; }
        .dealer-packages__grid .dealer-package { flex: 0 0 82%; scroll-snap-align: start; }
    }

    /* Compare: Grip vs Armor product matrix, contained card on black so it reads as its own module */
    .dealer-compare { background: #000; }
    .dealer-compare__title {
        font-family: 'Asphaltic Grain Condensed', 'Public Sans', sans-serif; font-weight: normal; text-transform: uppercase;
        color: #fff; margin: 0; line-height: .95; font-size: clamp(34px, 4.6vw, 60px);
    }
    .dealer-matrix-card {
        max-width: 1160px; margin: 0 auto; border: 1px solid rgba(255,255,255,.12); background: #111;
        box-shadow: 0 2px 30px rgba(0,0,0,.4);
    }
    .dealer-matrix { width: 100%; border-collapse: collapse; }
    .dealer-matrix col.dealer-matrix__col-label { width: 26%; }
    .dealer-matrix col.dealer-matrix__col-val { width: 37%; }
    .dealer-matrix thead th {
        padding: 28px 26px 22px; text-align: center; border-bottom: 2px solid rgba(255,255,255,.12); vertical-align: bottom;
    }
    .dealer-matrix thead th:first-child { border-right: 1px solid rgba(255,255,255,.12); }
    .dealer-matrix thead th:nth-child(2) { border-right: 1px solid rgba(255,255,255,.12); background: #000; }
    .dealer-matrix thead th:nth-child(3) { background: #F7412D; }
    .dealer-matrix__logo { height: 30px; width: auto; }
    .dealer-matrix__logo--armor { filter: brightness(0) invert(1); }
    .dealer-matrix tbody th {
        font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .05em;
        text-transform: uppercase; color: rgba(255,255,255,.45); text-align: left; padding: 22px 26px;
        border-right: 1px solid rgba(255,255,255,.1); white-space: nowrap;
    }
    .dealer-matrix tbody td {
        font-family: 'Public Sans', sans-serif; font-size: 16px; font-weight: 600; color: #fff;
        text-align: center; padding: 22px 20px; vertical-align: middle; border-right: 1px solid rgba(255,255,255,.1);
    }
    .dealer-matrix tbody td:last-child { border-right: none; }
    .dealer-matrix tbody tr { border-bottom: 1px solid rgba(255,255,255,.08); }
    .dealer-matrix tbody tr:last-child { border-bottom: none; }
    .dealer-matrix tbody tr:nth-child(even) { background: rgba(255,255,255,.02); }
    .dealer-matrix__num { font-size: 26px; font-weight: 700; }
    .dealer-matrix__num--grip { color: #F7412D; }
    .dealer-matrix__sub { display: block; font-family: 'Public Sans', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: rgba(255,255,255,.4); margin-top: 2px; }

    /* Ideal Applications: bigger tags, more breathing room, the row we want to pop */
    .dealer-matrix tr.dealer-matrix__row--apps th,
    .dealer-matrix tr.dealer-matrix__row--apps td { padding-top: 30px; padding-bottom: 30px; }
    .dealer-matrix__tags { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
    .dealer-matrix__tag {
        font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .03em;
        text-transform: uppercase; color: #fff; border: 1.5px solid rgba(255,255,255,.3);
        padding: 9px 16px; white-space: nowrap;
    }
    /* Mobile stacked-card version replaces the table below 700px (tables don't reflow well on phones) */
    .dealer-matrix-mobile { display: none; }
    @media (max-width: 700px) {
        .dealer-matrix-card { display: none; }
        .dealer-matrix-mobile { display: flex; flex-direction: column; gap: 20px; }
        .dealer-matrix-mobile__card {
            background: #111; border: 1px solid rgba(255,255,255,.12); overflow: hidden;
        }
        .dealer-matrix-mobile__head { padding: 20px; text-align: center; background: #000; }
        .dealer-matrix-mobile__card--armor .dealer-matrix-mobile__head { background: #F7412D; }
        .dealer-matrix-mobile__logo { height: 28px; width: auto; filter: brightness(0) invert(1); }
        .dealer-matrix-mobile__row {
            display: flex; justify-content: space-between; align-items: flex-start; gap: 16px;
            padding: 14px 20px; border-top: 1px solid rgba(255,255,255,.08);
        }
        .dealer-matrix-mobile__label {
            font-family: 'Public Sans', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .04em;
            text-transform: uppercase; color: rgba(255,255,255,.45); flex-shrink: 0; width: 38%;
        }
        .dealer-matrix-mobile__value {
            font-family: 'Public Sans', sans-serif; font-size: 14px; font-weight: 600; color: #fff;
            text-align: right; flex: 1;
        }
        .dealer-matrix-mobile__tags { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
        .dealer-matrix-mobile__tag {
            font-family: 'Public Sans', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .02em;
            text-transform: uppercase; color: #fff; border: 1px solid rgba(255,255,255,.3); padding: 5px 10px;
        }
    }

    /* Proven: black split poster panel (reuses homepage's split-panel visual language) */
    .dealer-proven { background: #F7412D; padding: 0; }
    .dealer-proven .dealer-label { color: #fff; }
    .dealer-proven__inner {
        display: flex; align-items: stretch; width: 100%;
    }
    .dealer-proven__copy {
        flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; justify-content: center;
        padding: 56px 48px 56px max(48px, calc((100% - 1320px) / 2 + 32px)); gap: 16px;
    }
    .dealer-proven__title {
        font-family: 'Asphaltic Grain Condensed', 'Public Sans', sans-serif; font-weight: normal; text-transform: uppercase;
        color: #fff; margin: 0; line-height: .95; font-size: clamp(46px, 5.5vw, 68px);
    }
    .dealer-proven__text {
        font-family: 'Public Sans', sans-serif; font-size: 15px; font-weight: 400; line-height: 1.65;
        color: rgba(255,255,255,.75); max-width: 460px; margin: 0;
    }
    .dealer-proven__stats { display: flex; gap: 40px; margin-top: 8px; flex-wrap: wrap; }
    .dealer-proven__image {
        flex: 0 0 620px; width: 620px; min-width: 0; aspect-ratio: 4318 / 3760;
        background: #4a4a4a url("https://placehold.co/1200x1050/5a5a5a/eeeeee?text=Reflex+Applicator+At+Work") no-repeat center;
        background-size: cover;
    }

    @media (max-width: 900px) {
        .dealer-proven__inner { flex-direction: column; }
        .dealer-proven__image { width: 100%; flex: none; }
        .dealer-proven__copy { padding: 40px 28px; }
    }

    /* Testimonials */
    .dealer-testimonials { background: #f5f5f2; }
    .dealer-testimonials__grid {
        display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px;
    }
    .dealer-quote {
        background: #fff; border: 1px solid #e8e8e4; padding: 28px 26px; display: flex; flex-direction: column; gap: 16px;
    }
    .dealer-quote__mark {
        font-family: Georgia, serif; font-size: 42px; line-height: 1; color: #F7412D; font-weight: 700;
    }
    .dealer-quote__text {
        font-family: 'Public Sans', sans-serif; font-size: 14px; line-height: 1.6; color: #333; margin: 0; flex: 1;
    }
    .dealer-quote__name {
        font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 700; color: #1a1a1a; margin: 0;
    }
    .dealer-quote__company {
        font-family: 'Public Sans', sans-serif; font-size: 12px; font-weight: 400; color: #888; margin: 2px 0 0;
    }

    @media (max-width: 900px) {
        .dealer-testimonials__grid { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 600px) {
        .dealer-testimonials__grid {
            display: flex; grid-template-columns: unset; gap: 16px; overflow-x: auto;
            scroll-snap-type: x mandatory; scroll-padding-left: 20px; padding: 0 20px 6px;
            margin: 0 -20px; -webkit-overflow-scrolling: touch; scrollbar-width: none;
        }
        .dealer-testimonials__grid::-webkit-scrollbar { display: none; }
        .dealer-testimonials__grid .dealer-quote { flex: 0 0 82%; scroll-snap-align: start; }
    }

    /* Application form */
    .dealer-apply { background: #111; }
    .dealer-apply__inner { display: grid; grid-template-columns: 1fr 1.3fr; gap: 56px; max-width: 1320px; margin: 0 auto; }
    .dealer-apply__aside .dealer-h2--light { margin-bottom: 16px; }
    .dealer-apply__list { list-style: none; margin: 28px 0 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
    .dealer-apply__list li {
        font-family: 'Public Sans', sans-serif; font-size: 14px; color: rgba(255,255,255,.8);
        padding-left: 20px; position: relative;
    }
    .dealer-apply__list li::before { content: '\2192'; position: absolute; left: 0; color: #F7412D; }
    .dealer-apply__phone {
        margin-top: 32px; font-family: 'Public Sans', sans-serif; font-size: 15px; color: rgba(255,255,255,.6);
    }
    .dealer-apply__phone strong { color: #fff; font-size: 26px; display: block; margin-top: 6px; }

    .dealer-form {
        background: #fff; padding: 40px; border-radius: 8px; border-top: 4px solid #F7412D;
        box-shadow: 0 25px 60px rgba(0,0,0,.3);
    }
    .dealer-form fieldset { border: none; margin: 0 0 28px; padding: 0; }
    .dealer-form legend {
        font-family: 'Public Sans', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .1em;
        text-transform: uppercase; color: #999; margin: 0 0 12px; padding: 0;
    }
    .dealer-form__radios { display: flex; gap: 10px; flex-wrap: wrap; }
    .dealer-form__radio {
        display: flex; align-items: center; gap: 7px; font-family: 'Public Sans', sans-serif; font-size: 13px;
        font-weight: 500; color: #1a1a1a; border: 1.5px solid #e5e5e2; border-radius: 6px; padding: 10px 16px;
        cursor: pointer; transition: border-color .15s ease, background .15s ease;
    }
    .dealer-form__radio:hover { border-color: #ccc; }
    .dealer-form__radio:has(input:checked) { border-color: #F7412D; background: #fdf3f2; }
    .dealer-form__radio input { accent-color: #F7412D; }
    .dealer-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
    .dealer-form__field { display: flex; flex-direction: column; gap: 6px; }
    .dealer-form__field--full { grid-column: 1 / -1; }
    .dealer-form__field label {
        font-family: 'Public Sans', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .04em;
        text-transform: uppercase; color: #888;
    }
    .dealer-form__field input, .dealer-form__field select, .dealer-form__field textarea {
        font-family: 'Public Sans', sans-serif; font-size: 14px; padding: 11px 13px; border: 1.5px solid #e5e5e2;
        border-radius: 5px; background: #fafafa; color: #1a1a1a; transition: border-color .15s ease, background .15s ease;
    }
    .dealer-form__field input:focus, .dealer-form__field select:focus, .dealer-form__field textarea:focus {
        outline: none; border-color: #F7412D; background: #fff;
    }
    .dealer-form__field textarea { resize: vertical; min-height: 80px; }
    .dealer-form__submit {
        flex: 1; font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 600;
        letter-spacing: .06em; text-transform: uppercase; color: #fff; background: #F7412D;
        border: none; border-radius: 5px; padding: 15px; cursor: pointer;
    }
    .dealer-form__submit:hover { background: #1a1a1a; }

    /* Progress indicator: filling connector line + numbered circles that become checkmarks */
    .dealer-form__progress {
        list-style: none; margin: 0 0 32px; padding: 0; display: flex; position: relative;
        counter-reset: none;
    }
    .dealer-form__progress::before {
        content: ''; position: absolute; top: 15px; left: calc(16.66% ); right: calc(16.66%);
        height: 2px; background: #e5e5e2; z-index: 0;
    }
    .dealer-form__progress__fill {
        content: ''; position: absolute; top: 15px; left: calc(16.66%); height: 2px; background: #F7412D;
        z-index: 1; width: 0%; transition: width .4s cubic-bezier(.65,0,.35,1);
    }
    .dealer-form__progress-step {
        flex: 1; display: flex; flex-direction: column; align-items: center; gap: 8px;
        position: relative; z-index: 2;
    }
    .dealer-form__progress-num {
        width: 30px; height: 30px; border-radius: 50%; background: #fff; border: 2px solid #e5e5e2;
        display: flex; align-items: center; justify-content: center; font-family: 'Public Sans', sans-serif;
        font-size: 13px; font-weight: 700; color: #999; transition: all .3s ease; position: relative;
    }
    .dealer-form__progress-label {
        font-family: 'Public Sans', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .03em;
        text-transform: uppercase; color: #999; transition: color .3s ease;
    }
    .dealer-form__progress-step.is-active .dealer-form__progress-num {
        border-color: #F7412D; color: #F7412D; transform: scale(1.1);
        box-shadow: 0 0 0 4px rgba(247,65,45,.12);
    }
    .dealer-form__progress-step.is-active .dealer-form__progress-label { color: #1a1a1a; }
    .dealer-form__progress-step.is-complete .dealer-form__progress-num {
        background: #F7412D; border-color: #F7412D; color: #fff; font-size: 0;
    }
    .dealer-form__progress-step.is-complete .dealer-form__progress-num::after {
        content: ''; width: 9px; height: 5px; border-left: 2px solid #fff; border-bottom: 2px solid #fff;
        transform: rotate(-45deg) translate(1px, -1px);
    }
    .dealer-form__progress-step.is-complete .dealer-form__progress-label { color: #1a1a1a; }

    /* Step panels: slide + fade transition between steps */
    .dealer-form__step { display: none; animation: dealerFormStepIn .35s ease; }
    .dealer-form__step.is-active { display: flex; flex-direction: column; }
    .dealer-form__step.is-active > .dealer-form__nav { margin-top: auto; padding-top: 4px; }
    @keyframes dealerFormStepIn {
        from { opacity: 0; transform: translateX(14px); }
        to { opacity: 1; transform: translateX(0); }
    }
    .dealer-form__nav { display: flex; gap: 12px; margin-top: 4px; }
    .dealer-form__next, .dealer-form__back {
        font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: .06em;
        text-transform: uppercase; border: none; border-radius: 5px; padding: 15px; cursor: pointer;
        transition: background .15s ease, border-color .15s ease;
    }
    .dealer-form__next { flex: 1; background: #F7412D; color: #fff; }
    .dealer-form__next:hover { background: #1a1a1a; }
    .dealer-form__back { background: transparent; color: #1a1a1a; border: 1.5px solid #ddd; padding: 13.5px 20px; }
    .dealer-form__back:hover { border-color: #1a1a1a; }
    .dealer-form__back:hover { border-color: #1a1a1a; }

    @media (max-width: 900px) {
        .dealer-apply__inner { grid-template-columns: 1fr; }
        .dealer-form__row { grid-template-columns: 1fr; }
    }

/* ===== Brand bar v2: slim strip + "Our Brands" slide-out (ported from dawn-theme header-brand selector style) ===== */
.hb-brandbar { background: #141414; position: relative; z-index: 520; font-family: inherit; }
.hb-brandbar__row { display: flex; align-items: stretch; justify-content: flex-end; max-width: 1320px; margin: 0 auto; padding: 0 24px; min-height: 36px; }
.hb-brandbar a { text-decoration: none; }
.hb-brandbar img { display: block; width: auto; max-width: none; flex: none; }
.hb-bs { display: flex; align-items: stretch; justify-content: flex-end; min-width: 0; }
.hb-bs__parent { display: flex; align-items: center; flex: none; align-self: center; padding: 8px 0; }
.hb-bs__parent img, .hb-bs__item img { filter: invert(1); }
.hb-bs__sep { flex: none; align-self: center; width: 1px; height: 14px; margin: 0 14px; background: rgba(255,255,255,.3); }
.hb-bs__btn {
    flex: none; align-self: center; white-space: nowrap; display: inline-flex; align-items: center; gap: 9px; cursor: pointer;
    background: none; border: 1px solid rgba(255,255,255,.4); border-radius: 3px; padding: 7px 11px; margin: 0; line-height: 1;
    font: 600 13px/1 'Open Sans', sans-serif; letter-spacing: 0; text-transform: none; color: rgba(255,255,255,.9);
    transition: background .2s ease, border-color .2s ease;
}
.hb-bs__btn:hover, .hb-bs__btn[aria-expanded="true"] { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.85); }
.hb-bs__btn:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.hb-bs__chev { display: inline-flex; align-items: center; justify-content: center; transition: transform .45s cubic-bezier(.2,.7,.2,1); }
.hb-bs__btn[aria-expanded="true"] .hb-bs__chev { transform: rotate(135deg); }
.hb-bs__btn svg { display: block; }
.hb-bs__rail { overflow: hidden; max-width: 0; opacity: 0; transition: max-width .45s cubic-bezier(.2,.7,.2,1), opacity .3s ease; }
.hb-bs.is-open .hb-bs__rail { max-width: 900px; opacity: 1; }
.hb-bs__list { list-style: none; margin: 0; padding: 0 22px 0 0; display: flex; align-items: stretch; gap: 0; height: 100%; white-space: nowrap; }
.hb-bs__list li { flex: none; display: flex; }
.hb-bs__item { display: flex; align-items: center; height: 100%; padding: 0 16px; transition: background .15s ease; }
.hb-bs__item:hover { background: rgba(255,255,255,.12); }
.hb-bs__item.is-active { background: #F7412D; }
.hb-bs__item.is-active img { filter: brightness(0); }
@media (max-width: 900px) { .hb-brandbar { display: none; } }


/* ================================================================== */
/* POLISH LAYER -- premium finish (depth, light, texture, motion).    */
/* To revert: delete from this banner to the end of the file, and     */
/* remove the <script src="js/polish.js"> tag from each page.         */
/* ================================================================== */

html { scroll-padding-top: 90px; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
::selection { background: #F7412D; color: #fff; }
:focus-visible { outline: 2px solid #F7412D; outline-offset: 3px; }

/* Type finishing */
main :is(h1, h2, h3) { text-wrap: balance; }
main p { text-wrap: pretty; }
.reflex-hero__title, [class*="-hero__title"] { text-shadow: 0 2px 28px rgba(0,0,0,.45); }
.reflex-hero__subtitle, [class*="-hero__sub"] { text-shadow: 0 1px 14px rgba(0,0,0,.5); }
[class*="stat__value"], [class*="__stat-value"] { font-variant-numeric: tabular-nums; }

/* Nav: brushed-black gradient, shadow once scrolled, animated underline */
.reflex-nav { background: linear-gradient(180deg, #151515 0%, #000 100%); box-shadow: 0 1px 0 rgba(255,255,255,.04); transition: box-shadow .35s ease; }
.reflex-nav.is-scrolled { box-shadow: 0 14px 34px -14px rgba(0,0,0,.7), 0 1px 0 rgba(247,65,45,.4); }
.reflex-nav__links a { position: relative; }
.reflex-nav__links a::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: -7px; height: 2px; background: #F7412D;
    transform: scaleX(0); transform-origin: left center; transition: transform .28s cubic-bezier(.2,.7,.2,1);
}
.reflex-nav__links a:hover::after { transform: scaleX(1); }

/* Surfaces: js/polish.js tags each section rx-dark / rx-light / rx-accent */
.rx-surface { position: relative; isolation: isolate; }
.rx-surface::before, .rx-surface::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; }

.rx-dark { box-shadow: inset 0 1px 0 rgba(255,255,255,.055); }
.rx-dark::before {
    background:
        radial-gradient(1100px 520px at 12% -12%, rgba(255,255,255,.075), transparent 62%),
        linear-gradient(180deg, rgba(255,255,255,.03), transparent 22%, rgba(0,0,0,.28));
}
.rx-dark::after {
    opacity: .09; mix-blend-mode: overlay; background-size: 180px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
main > section:first-child.rx-dark::before {
    background:
        radial-gradient(130% 90% at 50% 0%, transparent 55%, rgba(0,0,0,.45)),
        linear-gradient(180deg, transparent 55%, rgba(0,0,0,.55));
}
.reflex-siteFooter.rx-dark { box-shadow: inset 0 1px 0 rgba(247,65,45,.55); }

.rx-light::before {
    background:
        linear-gradient(180deg, rgba(255,255,255,0) 60%, rgba(0,0,0,.035));
}
.rx-light::after {
    opacity: .05; background-size: 180px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Orange sections stay true-to-brand: no overlays on .rx-accent */

/* Cards: layered shadow, lift on hover, orange ring on highlighted ones */
:is(.dealer-package, .gun-card, .sys-machine, .dealer-matrix-card, .locate-card, .dealer-matrix-mobile__card) {
    transition: translate .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease;
    box-shadow: 0 1px 2px rgba(0,0,0,.05), 0 14px 30px -14px rgba(0,0,0,.28);
}
:is(.dealer-package, .gun-card, .sys-machine, .dealer-matrix-card, .locate-card):hover {
    translate: 0 -5px;
    box-shadow: 0 2px 4px rgba(0,0,0,.06), 0 26px 44px -16px rgba(0,0,0,.38);
}
.rx-dark :is(.dealer-package, .gun-card, .sys-machine, .dealer-matrix-card, .locate-card, .dealer-matrix-mobile__card) {
    box-shadow: 0 0 0 1px rgba(255,255,255,.06), 0 18px 40px -14px rgba(0,0,0,.7);
}
.rx-dark :is(.dealer-package, .gun-card, .sys-machine, .dealer-matrix-card, .locate-card):hover {
    box-shadow: 0 0 0 1px rgba(247,65,45,.45), 0 28px 50px -16px rgba(0,0,0,.8), 0 0 40px -12px rgba(247,65,45,.35);
}
:is(.dealer-package--highlight, .gun-card--highlight, .sys-machine--highlight) {
    box-shadow: 0 0 0 1px rgba(247,65,45,.55), 0 24px 50px -18px rgba(247,65,45,.45);
}
.reflex-product { transition: translate .35s cubic-bezier(.2,.7,.2,1); }
.reflex-product:hover { translate: 0 -4px; }
@media (max-width: 900px) {
    :is(.dealer-package, .gun-card, .sys-machine, .dealer-matrix-card, .locate-card, .dealer-matrix-mobile__card) { box-shadow: 0 1px 2px rgba(0,0,0,.06), 0 4px 10px -4px rgba(0,0,0,.2); }
}

/* Image blocks: depth on placeholders, slow zoom on real photos */
:is(.reflex-product__image, .dealer-package__image, .gun-card__image, .sys-machine__image, .reflex-featured__image, .reflex-cold__image, .reflex-coatings__photo, .reflex-brand__photo, .cts-coating__media, .dealer-proven__image, .gun-parts__media, .contact-map__media) {
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.05), inset 0 -60px 70px -50px rgba(0,0,0,.35);
}
:is(.reflex-product__image, .dealer-package__image, .gun-card__image, .sys-machine__image, .reflex-coatings__photo, .reflex-brand__photo, .cts-coating__media, .dealer-proven__image, .gun-parts__media) { overflow: hidden; }
:is(.reflex-product__image, .dealer-package__image, .gun-card__image, .sys-machine__image, .reflex-coatings__photo, .reflex-brand__photo, .cts-coating__media, .dealer-proven__image, .gun-parts__media) img { transition: scale .9s cubic-bezier(.2,.7,.2,1); }
:is(.reflex-product__image, .dealer-package__image, .gun-card__image, .sys-machine__image, .reflex-coatings__photo, .reflex-brand__photo, .cts-coating__media, .dealer-proven__image, .gun-parts__media):hover img { scale: 1.045; }

/* Buttons: sheen sweep, lift, orange glow, press */
:is(.dealer-btn, .reflex-product__buy, .reflex-cold__cta, .reflex-coatings__col-cta, .dealer-package__cta, .gun-card__cta, .sys-machine__cta, .dealer-form__next, .dealer-form__submit, .reflex-business__link, .locate-teaser__link, .reflex-product__login, .reflex-nav__login-link) {
    position: relative; overflow: hidden; isolation: isolate;
    transition: translate .25s ease, box-shadow .3s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
}
:is(.dealer-btn, .reflex-product__buy, .reflex-cold__cta, .reflex-coatings__col-cta, .dealer-package__cta, .gun-card__cta, .sys-machine__cta, .dealer-form__next, .dealer-form__submit, .reflex-business__link, .locate-teaser__link, .reflex-product__login, .reflex-nav__login-link)::after {
    content: ""; position: absolute; top: 0; bottom: 0; left: -80%; width: 50%; z-index: 1; pointer-events: none;
    background: linear-gradient(100deg, transparent, rgba(255,255,255,.38), transparent);
    transform: skewX(-20deg); transition: left .7s cubic-bezier(.2,.7,.2,1);
}
:is(.dealer-btn, .reflex-product__buy, .reflex-cold__cta, .reflex-coatings__col-cta, .dealer-package__cta, .gun-card__cta, .sys-machine__cta, .dealer-form__next, .dealer-form__submit, .reflex-business__link, .locate-teaser__link, .reflex-product__login, .reflex-nav__login-link):hover::after { left: 130%; }
:is(.dealer-btn, .reflex-product__buy, .reflex-cold__cta, .reflex-coatings__col-cta, .dealer-package__cta, .gun-card__cta, .sys-machine__cta, .dealer-form__next, .dealer-form__submit, .reflex-business__link, .locate-teaser__link, .reflex-product__login, .reflex-nav__login-link):hover {
    translate: 0 -1px; box-shadow: 0 10px 22px -8px rgba(247,65,45,.55);
}
:is(.dealer-btn, .reflex-product__buy, .reflex-cold__cta, .reflex-coatings__col-cta, .dealer-package__cta, .gun-card__cta, .sys-machine__cta, .dealer-form__next, .dealer-form__submit, .reflex-business__link, .locate-teaser__link, .reflex-product__login, .reflex-nav__login-link):active { translate: 0 1px; box-shadow: none; }

/* Form fields: orange focus glow */
main :is(input:not([type="radio"]):not([type="checkbox"]), select, textarea) { transition: border-color .2s ease, box-shadow .25s ease, background-color .2s ease; }
main :is(input:not([type="radio"]):not([type="checkbox"]), select, textarea):focus { outline: none; border-color: #F7412D; box-shadow: 0 0 0 3px rgba(247,65,45,.18); }

/* Scroll reveal (class added by js/polish.js, so content is always visible without JS) */
@media (prefers-reduced-motion: no-preference) {
    .rx-js .rx-reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s cubic-bezier(.2,.7,.2,1) var(--rx-d, 0ms), transform .7s cubic-bezier(.2,.7,.2,1) var(--rx-d, 0ms); }
    .rx-js .rx-reveal.is-in { opacity: 1; transform: none; }
}


/* ------------------------------------------------------------------ */
/* v2: stronger finish -- editorial labels, glossy buttons, metallic  */
/* headlines, richer surfaces, living hero.                           */
/* ------------------------------------------------------------------ */


/* Micro-arrows on quiet links */
:is(.reflex-quicklook__all, .reflex-product__link)::after {
    content: "\2192"; display: inline-block; margin-left: 8px; transition: translate .25s cubic-bezier(.2,.7,.2,1);
}
:is(.reflex-quicklook__all, .reflex-product__link):hover::after { translate: 5px 0; }

/* Glossy solid buttons */
:is(.reflex-product__buy, .reflex-products__grid .reflex-product__login) {
    background: linear-gradient(180deg, #3a3a3a 0%, #151515 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 3px 8px -2px rgba(0,0,0,.45);
}
:is(.reflex-product__buy, .reflex-products__grid .reflex-product__login):hover {
    background: linear-gradient(180deg, #ff5d47 0%, #e0361f 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 10px 22px -8px rgba(247,65,45,.6);
}
:is(.reflex-coatings__apply, .reflex-products__tab.is-active, .dealer-btn--solid, .dealer-form__submit, .dealer-form__next) {
    background-image: linear-gradient(180deg, rgba(255,255,255,.26) 0%, rgba(255,255,255,0) 52%, rgba(0,0,0,.14) 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.32), 0 8px 18px -8px rgba(247,65,45,.65);
}
.reflex-products__tab { transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
.reflex-products__tab:not(.is-active):hover { border-color: #F7412D; color: #F7412D; }
.reflex-business__link--dark { background-image: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0) 55%); box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 8px 18px -8px rgba(0,0,0,.5); }

/* Product imagery: lifted off the page */
.reflex-product__image {
    box-shadow: 0 1px 2px rgba(0,0,0,.08), 0 18px 34px -16px rgba(0,0,0,.45);
    transition: box-shadow .4s ease;
}
.reflex-product:hover .reflex-product__image { box-shadow: 0 2px 4px rgba(0,0,0,.1), 0 30px 50px -18px rgba(0,0,0,.55); }

/* Metallic headlines on dark surfaces */
:is(.reflex-hero__title, .reflex-cold__title, .reflex-featured__title strong, [class*="-hero__title"]) {
    background: linear-gradient(180deg, #ffffff 28%, #c3c7cd 100%);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: transparent;
    text-shadow: none; filter: drop-shadow(0 2px 16px rgba(0,0,0,.5));
}

/* Richer dark and light surfaces (stronger than v1) */
.rx-dark::before {
    background:
        radial-gradient(1000px 560px at 10% -15%, rgba(255,255,255,.13), transparent 60%),
        linear-gradient(180deg, rgba(255,255,255,.05), transparent 25%, rgba(0,0,0,.35));
}
.rx-dark::after { opacity: .13; }
.rx-light::before {
    background:
        radial-gradient(800px 380px at 0% 105%, rgba(0,0,0,.05), transparent 66%),
        linear-gradient(180deg, rgba(255,255,255,.6) 0%, rgba(0,0,0,.05) 100%);
}
.rx-dark :is(.dealer-package, .gun-card, .sys-machine, .dealer-matrix-card, .locate-card) { box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 0 0 1px rgba(255,255,255,.06), 0 18px 40px -14px rgba(0,0,0,.7); }
.reflex-business__title { text-shadow: 0 2px 0 rgba(0,0,0,.14); }

/* Footer column titles: orange tick */
.reflex-siteFooter__col-title::after { content: ""; display: block; width: 22px; height: 2px; margin-top: 10px; background: #F7412D; }

/* Living hero: slow push-in on the photo (framing starts identical to before) */
.reflex-hero { background-image: none; }
.reflex-hero__scrim {
    background:
        linear-gradient(100deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.28) 32%, rgba(0,0,0,0) 55%),
        url("../images/beartruck.jpg") center 30% / cover no-repeat;
    transform-origin: 60% 55%;
}


/* ------------------------------------------------------------------ */
/* Header v3: white brand row, Reflex tab highlighted red (no brand bar) */
/* ------------------------------------------------------------------ */
.hb-brandrow { background: #fff; border-bottom: 1px solid rgba(0,0,0,.08); }
.hb-brandrow__row { justify-content: flex-start; min-height: 42px; }
.hb-brandrow__label { color: rgba(0,0,0,.55); }
.hb-brandrow__tabs { gap: 26px; }
.hb-brandrow__tab { padding: 0; }
.hb-brandrow__tab:not(:first-child)::before { content: ''; position: absolute; left: -13px; top: 50%; transform: translateY(-50%); width: 1px; height: 16px; background: rgba(0,0,0,.15); }
.hb-brandrow__tab img { opacity: .55; filter: none; }
.hb-brandrow__tab:hover img { opacity: 1; }
.hb-brandrow__tab.is-active { background: #F7412D; padding: 0 14px; }
.hb-brandrow__tab.is-active img { opacity: 1; filter: brightness(0) invert(1); }
@media (max-width: 900px) { .hb-brandrow { display: none; } }

/* Header v3: black announcement ticker above the brand row (not sticky) */
.hb-ticker { background: #000; color: #fff; display: flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 24px; text-align: center; font-family: 'Public Sans', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.hb-ticker span { transition: opacity .35s ease; }
@media (max-width: 600px) { .hb-ticker { font-size: 10.5px; letter-spacing: .08em; padding: 8px 16px; line-height: 1.35; } }

/* Header v4: white nav (no brand row), Reflex logo shown in its red */
.reflex-nav { background: #fff; border-bottom: 1px solid rgba(0,0,0,.1); }
.reflex-nav.is-scrolled { box-shadow: 0 10px 28px -14px rgba(0,0,0,.28), 0 1px 0 rgba(247,65,45,.35); }
.reflex-nav__links a { color: #232323; }
.reflex-nav__menu-toggle { color: #232323; }
.reflex-nav .reflex-nav__logo--trial { max-width: 220px; opacity: 1; margin-right: 4px; pointer-events: auto; }
.reflex-nav__logo--trial img { filter: none; }

/* Hero call-to-action buttons: small, flat, in the site's existing button style */
.reflex-hero__actions { position: absolute; left: 50%; bottom: 36px; transform: translateX(-50%); display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; width: max-content; max-width: calc(100% - 40px); z-index: 3; }
.reflex-hero__btn { display: inline-block; font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; padding: 13px 24px; border: 1.5px solid; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.reflex-hero__btn--solid { background: #F7412D; border-color: #F7412D; color: #fff; }
.reflex-hero__btn--solid:hover { background: #000; border-color: #000; }
.reflex-hero__btn--outline { background: transparent; border-color: #fff; color: #fff; }
.reflex-hero__btn--outline:hover { background: #fff; color: #000; }
@media (max-width: 800px) {
    .reflex-hero__actions { gap: 10px; bottom: 18px; }
    .reflex-hero__btn { font-size: 11px; padding: 11px 14px; letter-spacing: .06em; }
}

/* Slimmer white nav (was 68px row) */
.reflex-nav__row { min-height: 56px; padding-top: 6px; padding-bottom: 6px; }
@media (max-width: 900px) { .reflex-nav__row { min-height: 56px; padding-top: 8px; padding-bottom: 8px; } }

/* Hero headline block: a little lower and a little further left */
.reflex-hero__content { padding: 50px 32px 0 18px; }
@media (max-width: 800px) { .reflex-hero__content { padding: 44px 32px 0 18px; } }
