/* ==========================================================================
   Griffin Quartz — sitewide v2 layer
   Restyles the legacy components on every public page to match the approved
   v2 design (css/v2.css, preview-home.php). Loaded right after styles.min.css.
   Every rule is scoped under body.v2site, so admin pages are untouched.
   Page-level <style> blocks come later in <head>, so selectors here start with
   `html body.v2site` for specificity, and !important is used only where legacy
   rules or script.js inline styles would otherwise win.
   ========================================================================== */

body.v2site {
    --v2-paper: #FAF9F7;
    --v2-white: #FFFFFF;
    --v2-ink: #151515;
    --v2-black: #000000;
    --v2-deep: #0A0A0A;
    --v2-gray: #6B6660;        /* body copy on light: 5.6:1 on white */
    --v2-line: #D9D4CE;
    --v2-line-soft: #E8E4DF;
    --v2-gold: #FDB913;
    --v2-on-dark: #CFCAC4;     /* body copy on black: ~12:1 */
    --v2-on-dark-2: #9E9891;   /* small labels on black: ~6.9:1 */
    --v2-line-dark: #2A2826;
    --v2-header-h: 76px;
    --v2-pad: clamp(64px, 8vw, 120px);

    /* Legacy tokens re-pointed at the v2 palette (accent stays gold) */
    --color-primary: #000000;
    --color-secondary: #151515;
    --color-gray: #6B6660;
    --color-light: #FAF9F7;
    --color-light-gray: #E8E4DF;
    --container-max: 1200px;

    background: var(--v2-white);
    color: var(--v2-ink);
    font-family: 'Montserrat', Arial, sans-serif;
    font-weight: 400;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
}
html body.v2site [id] { scroll-margin-top: calc(var(--v2-header-h) + 16px); }
html body.v2site ::selection { background: var(--v2-ink); color: var(--v2-white); }

/* ---------- Type ---------- */
html body.v2site h1,
html body.v2site h2,
html body.v2site h3,
html body.v2site h4,
html body.v2site h5 {
    font-family: 'Montserrat', Arial, sans-serif;
    text-shadow: none !important;
    font-style: normal;
}
html body.v2site h1 {
    font-weight: 350 !important;
    letter-spacing: -0.025em;
    line-height: 1.12;
}
html body.v2site h2 {
    font-weight: 400 !important;
    letter-spacing: -0.022em;
    line-height: 1.2;
}
html body.v2site h3 {
    font-weight: 400 !important;
    letter-spacing: -0.01em;
    line-height: 1.3;
}
html body.v2site h4,
html body.v2site h5 {
    font-weight: 500 !important;
    letter-spacing: 0;
}
html body.v2site p { line-height: 1.7; }
html body.v2site strong,
html body.v2site b { font-weight: 600; }

html body.v2site :focus-visible {
    outline: 2px solid var(--v2-ink);
    outline-offset: 3px;
}
html body.v2site .header :focus-visible,
html body.v2site .footer :focus-visible { outline-color: var(--v2-white); }

/* Section titles */
html body.v2site .section-title {
    font-size: clamp(1.75rem, 2.6vw, 2.375rem);
    font-weight: 400 !important;
    letter-spacing: -0.022em;
    line-height: 1.2;
    margin-bottom: 20px;
}
html body.v2site .section-subtitle,
html body.v2site .section-intro {
    font-style: normal;
    color: var(--v2-gray);
}
html body.v2site .section-description {
    color: var(--v2-gray);
    font-size: 1.0625rem;
    line-height: 1.75;
    max-width: 44em;
    margin-left: auto;
    margin-right: auto;
}

/* Eyebrow treatment for the legacy pill badges */
html body.v2site .hero-badge,
html body.v2site .product-badge,
html body.v2site .brand-badge,
html body.v2site .section-badge,
html body.v2site .page-badge {
    display: inline-flex !important;
    align-items: center;
    gap: 12px;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    padding: 0 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase;
    color: var(--v2-gray) !important;
    margin-bottom: 24px;
}
html body.v2site .hero-badge::before,
html body.v2site .product-badge::before,
html body.v2site .brand-badge::before,
html body.v2site .section-badge::before,
html body.v2site .page-badge::before {
    content: "";
    width: 24px;
    height: 1px;
    background: var(--v2-gold);
    flex: none;
}
html body.v2site .hero-badge i,
html body.v2site .product-badge i,
html body.v2site .brand-badge i,
html body.v2site .section-badge i { display: none; }

/* ---------- Buttons ---------- */
html body.v2site .btn,
html body.v2site .btn-link.btn,
html body.v2site .mega-menu-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 0 30px !important;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase;
    line-height: 1.2;
    text-align: center;
    border-width: 1px !important;
    border-style: solid !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    text-decoration: none;
    transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}
html body.v2site .btn-sm,
html body.v2site .btn-card { min-height: 42px; padding: 0 20px !important; font-size: 11px !important; }
html body.v2site .btn-lg { min-height: 56px; padding: 0 36px !important; }
html body.v2site .btn-full,
html body.v2site .btn-block { width: 100%; display: flex; }
/* Icons inside buttons: text-only buttons */
html body.v2site .btn i,
html body.v2site .btn svg { display: none !important; }

/* On light backgrounds: solid ink / thin ink outline */
html body.v2site .btn-primary,
html body.v2site .btn-dark,
html body.v2site .btn:not([class*="btn-"]) {
    background: var(--v2-ink) !important;
    color: var(--v2-white) !important;
    border-color: var(--v2-ink) !important;
}
html body.v2site .btn-primary:hover,
html body.v2site .btn-dark:hover,
html body.v2site .btn:not([class*="btn-"]):hover {
    background: transparent !important;
    color: var(--v2-ink) !important;
    border-color: var(--v2-ink) !important;
}
html body.v2site .btn-outline,
html body.v2site .btn-outline-dark,
html body.v2site .btn-secondary {
    background: transparent !important;
    color: var(--v2-ink) !important;
    border-color: var(--v2-ink) !important;
}
html body.v2site .btn-outline:hover,
html body.v2site .btn-outline-dark:hover,
html body.v2site .btn-secondary:hover {
    background: var(--v2-ink) !important;
    color: var(--v2-white) !important;
}

/* On dark backgrounds: solid white / thin white outline */
html body.v2site :where(.hero, .hero-location, .page-hero, .product-hero, .brand-hero, .material-hero, .service-hero, .gallery-hero, .locations-hero, .calculator-hero, .materials-hero, .brands-hero, .contact-hero, .services-hero, .tool-hero, .visualizer-hero, .blog-hero,
    .cta-section-full, .cta-section, .blog-cta, .final-cta-section, .sale-section, .service-area-section, .service-areas-section, .showroom-section,
    .map-section, .newsletter-section, .category-overlay, .featured-style-content, .luxury-showcase-cta, .split-content.dark, .quote-section, .explore-cta, .dark-section, .section-dark, .bg-dark, .gallery-cta)
    :is(.btn-primary, .btn-dark, .btn:not([class*="btn-"])) {
    background: var(--v2-white) !important;
    color: var(--v2-black) !important;
    border-color: var(--v2-white) !important;
}
html body.v2site :where(.hero, .hero-location, .page-hero, .product-hero, .brand-hero, .material-hero, .service-hero, .gallery-hero, .locations-hero, .calculator-hero, .materials-hero, .brands-hero, .contact-hero, .services-hero, .tool-hero, .visualizer-hero, .blog-hero,
    .cta-section-full, .cta-section, .blog-cta, .final-cta-section, .sale-section, .service-area-section, .service-areas-section, .showroom-section,
    .map-section, .newsletter-section, .category-overlay, .featured-style-content, .luxury-showcase-cta, .split-content.dark, .quote-section, .explore-cta, .dark-section, .section-dark, .bg-dark, .gallery-cta)
    :is(.btn-primary, .btn-dark, .btn:not([class*="btn-"])):hover {
    background: transparent !important;
    color: var(--v2-white) !important;
    border-color: var(--v2-white) !important;
}
html body.v2site :where(.hero, .hero-location, .page-hero, .product-hero, .brand-hero, .material-hero, .service-hero, .gallery-hero, .locations-hero, .calculator-hero, .materials-hero, .brands-hero, .contact-hero, .services-hero, .tool-hero, .visualizer-hero, .blog-hero,
    .cta-section-full, .cta-section, .blog-cta, .final-cta-section, .sale-section, .service-area-section, .service-areas-section, .showroom-section,
    .map-section, .newsletter-section, .category-overlay, .featured-style-content, .luxury-showcase-cta, .split-content.dark, .quote-section, .explore-cta, .dark-section, .section-dark, .bg-dark, .gallery-cta)
    :is(.btn-secondary, .btn-outline, .btn-outline-light, .btn-outline-dark) {
    background: transparent !important;
    color: var(--v2-white) !important;
    border-color: rgba(255, 255, 255, .7) !important;
}
html body.v2site :where(.hero, .hero-location, .page-hero, .product-hero, .brand-hero, .material-hero, .service-hero, .gallery-hero, .locations-hero, .calculator-hero, .materials-hero, .brands-hero, .contact-hero, .services-hero, .tool-hero, .visualizer-hero, .blog-hero,
    .cta-section-full, .cta-section, .blog-cta, .final-cta-section, .sale-section, .service-area-section, .service-areas-section, .showroom-section,
    .map-section, .newsletter-section, .category-overlay, .featured-style-content, .luxury-showcase-cta, .split-content.dark, .quote-section, .explore-cta, .dark-section, .section-dark, .bg-dark, .gallery-cta)
    :is(.btn-secondary, .btn-outline, .btn-outline-light, .btn-outline-dark):hover {
    background: var(--v2-white) !important;
    color: var(--v2-black) !important;
    border-color: var(--v2-white) !important;
}
/* White form panels that sit inside dark sections keep the light-context buttons */
html body.v2site :is(.hero-form, .hero-form-wrapper, .quote-form, .contact-form, .contact-form-wrapper) :is(.btn-primary, .btn-dark, .btn:not([class*="btn-"])) {
    background: var(--v2-ink) !important;
    color: var(--v2-white) !important;
    border-color: var(--v2-ink) !important;
}
html body.v2site :is(.hero-form, .hero-form-wrapper, .quote-form, .contact-form, .contact-form-wrapper) :is(.btn-primary, .btn-dark, .btn:not([class*="btn-"])):hover {
    background: transparent !important;
    color: var(--v2-ink) !important;
}

/* Text links styled as buttons / "Explore →" links */
html body.v2site .btn-link:not(.btn),
html body.v2site .service-link,
html body.v2site .card-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.02em;
    text-transform: none;
    color: inherit;
    padding-bottom: 3px;
    border-bottom: 1px solid currentColor;
}

/* ---------- Header (black) ---------- */
/* script.js writes an inline box-shadow on scroll: keep the bar flat and black. */
html body.v2site header.header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: var(--v2-black) !important;
    background-color: var(--v2-black) !important;
    border-bottom: 1px solid #1C1B1A;
    box-shadow: none !important;
    color: var(--v2-white);
    backdrop-filter: none !important;
}
html body.v2site .header > .container {
    max-width: 1344px;
    height: var(--v2-header-h);
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}
/* Logo file shown untouched: its black background sits on the #000 bar. */
html body.v2site .header .logo {
    display: block;
    flex: none;
    width: 150px;
    margin-left: -10px;
}
html body.v2site .header .logo img {
    width: 150px;
    height: auto;
    filter: none !important;
    mix-blend-mode: normal !important;
}
html body.v2site .header .nav { flex: 1; display: flex; justify-content: flex-end; }
html body.v2site .header .nav-list {
    display: flex;
    align-items: center;
    gap: 28px;
    width: 100%;
    justify-content: flex-end;
}
html body.v2site .header .nav-item { position: relative; }
html body.v2site .header .nav-link {
    display: inline-block;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: var(--v2-white);
    padding: 6px 0;
    white-space: nowrap;
    background-image: linear-gradient(var(--v2-gold), var(--v2-gold));
    background-size: 0 1px;
    background-position: 0 100%;
    background-repeat: no-repeat;
    transition: background-size .3s ease, color .2s ease;
}
html body.v2site .header .nav-link:hover,
html body.v2site .header .dropdown:hover > .nav-link,
html body.v2site .header .dropdown:focus-within > .nav-link { color: var(--v2-white); background-size: 100% 1px; }
html body.v2site .header .dropdown > .nav-link::after {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    margin: 0 0 3px 8px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: rotate(45deg);
    opacity: .7;
}
html body.v2site .header .nav-item-phone { margin-left: 8px; }
html body.v2site .header .phone-link {
    color: var(--v2-white) !important;
    font-weight: 400;
    background-image: none;
}
html body.v2site .header .phone-link:hover { color: var(--v2-on-dark) !important; }
html body.v2site .header .nav-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 18px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    white-space: nowrap;
    color: var(--v2-white);
    border: 1px solid var(--v2-white);
    background: transparent;
    transition: background-color .25s ease, color .25s ease;
}
html body.v2site .header .nav-cta:hover { background: var(--v2-white); color: var(--v2-black); }

/* Dropdowns: clean text-only panels on white, thin rules, no shadow */
html body.v2site .header .dropdown-menu:not(.mobile-dropdown) {
    top: calc(100% + 24px);
    left: -24px;
    min-width: 260px;
    padding: 16px 0;
    background: var(--v2-white);
    border: 1px solid var(--v2-line);
    border-radius: 0;
    box-shadow: none;
    transform: translateY(6px);
}
html body.v2site .header .dropdown-menu:not(.mobile-dropdown)::before {
    /* hover bridge between link and panel */
    content: "";
    position: absolute;
    left: 0; right: 0;
    top: -26px;
    height: 26px;
}
html body.v2site .header .dropdown:hover .dropdown-menu:not(.mobile-dropdown),
html body.v2site .header .dropdown:focus-within .dropdown-menu:not(.mobile-dropdown) {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
html body.v2site .header .dropdown-menu li a {
    display: block;
    padding: 8px 24px;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.01em;
    color: var(--v2-ink);
    background: none;
}
html body.v2site .header .dropdown-menu li a:hover { background: var(--v2-paper); color: var(--v2-ink); }
/* Locations list: two columns */
html body.v2site .header .dropdown-menu:not(.mobile-dropdown):has(> li:nth-child(8)) {
    min-width: 440px;
    columns: 2;
    column-gap: 0;
    column-rule: 1px solid var(--v2-line-soft);
}
html body.v2site .header .dropdown-menu li { break-inside: avoid; }

/* Mega menu */
html body.v2site .header .mega-menu {
    top: calc(100% + 24px);
    width: 860px;
    max-width: calc(100vw - 48px);
    padding: 36px 36px 28px;
    background: var(--v2-white);
    border: 1px solid var(--v2-line);
    border-radius: 0;
    box-shadow: none;
    transform: translateX(-38%) translateY(6px);
}
html body.v2site .header .mega-menu::before {
    content: "";
    position: absolute;
    left: 0; right: 0;
    top: -26px;
    height: 26px;
}
html body.v2site .header .dropdown:hover .mega-menu,
html body.v2site .header .dropdown:focus-within .mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-38%) translateY(0);
}
html body.v2site .header .mega-menu-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 36px;
}
html body.v2site .header .mega-menu-section { padding: 0; border: 0 !important; }
html body.v2site .header .mega-menu-section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 0 14px;
    margin: 0 0 6px;
    border-bottom: 1px solid var(--v2-line);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--v2-gray);
}
html body.v2site .header .mega-menu-item {
    display: block;
    padding: 12px 0;
    border-radius: 0;
    border-bottom: 1px solid var(--v2-line-soft);
    background: none;
}
html body.v2site .header .mega-menu-section-items .mega-menu-item:last-child { border-bottom: 0; }
html body.v2site .header .mega-menu-item:hover { background: none; }
html body.v2site .header .mega-menu-icon { display: none; }
html body.v2site .header .mega-menu-text { display: block; }
html body.v2site .header .mega-menu-text strong {
    display: block;
    font-size: 14px;
    font-weight: 400;
    color: var(--v2-ink);
    transition: color .2s ease;
}
html body.v2site .header .mega-menu-item:hover .mega-menu-text strong {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
    text-decoration-color: var(--v2-gold);
}
html body.v2site .header .mega-menu-text span {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    line-height: 1.5;
    color: var(--v2-gray);
}
html body.v2site .header .mega-menu-footer {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--v2-line);
    text-align: left;
}
html body.v2site .header .mega-menu-cta-btn {
    min-height: 44px;
    padding: 0 22px !important;
    font-size: 11px !important;
    background: var(--v2-ink);
    color: var(--v2-white);
    border-color: var(--v2-ink);
}
html body.v2site .header .mega-menu-cta-btn:hover { background: transparent; color: var(--v2-ink); }

/* Burger: two thin lines */
html body.v2site .header .mobile-menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 7px;
    width: 44px;
    height: 44px;
    margin-right: -10px;
    padding: 0 10px;
    background: none;
    border: 0;
    cursor: pointer;
}
html body.v2site .header .mobile-menu-toggle span {
    display: block;
    width: 100%;
    height: 1px;
    background: var(--v2-white);
    transition: transform .25s ease, opacity .25s ease;
}
html body.v2site .header .mobile-menu-toggle span:nth-child(2) { display: none; }
html body.v2site .header .mobile-menu-toggle.active span:nth-child(1) { transform: translateY(4px) rotate(45deg); }
html body.v2site .header .mobile-menu-toggle.active span:nth-child(3) { transform: translateY(-4px) rotate(-45deg); }

@media (max-width: 1280px) {
    html body.v2site .header .nav-list { gap: 22px; }
    html body.v2site .header .nav-item-phone { display: none; }
}
@media (max-width: 1140px) {
    html body.v2site .header > .container { gap: 20px; }
    html body.v2site .header .logo,
    html body.v2site .header .logo img { width: 128px; }
    html body.v2site .header .nav-list { gap: 18px; }
    html body.v2site .header .nav-link { font-size: 12px; }
}

/* Mobile / tablet: matches script.js (dropdowns toggle on click at <= 1024px) */
@media (max-width: 1024px) {
    body.v2site { --v2-header-h: 64px; }
    html body.v2site .header .logo,
    html body.v2site .header .logo img { width: 128px; }
    html body.v2site .header .mobile-menu-toggle { display: flex; }
    html body.v2site .header .nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        max-height: calc(100vh - var(--v2-header-h));
        max-height: calc(100dvh - var(--v2-header-h));
        overflow-y: auto;
        overscroll-behavior: contain;
        background: var(--v2-black);
        border-top: 1px solid var(--v2-line-dark);
        padding: 8px 24px 32px;
        box-shadow: none;
    }
    html body.v2site .header .nav.active { display: block; }
    html body.v2site .header .nav-list {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }
    html body.v2site .header .nav-item { border-bottom: 1px solid var(--v2-line-dark); }
    html body.v2site .header .nav-link {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 18px 0;
        font-size: 20px;
        font-weight: 300;
        letter-spacing: -0.01em;
        color: var(--v2-white) !important;
        background-image: none;
    }
    html body.v2site .header .nav-link:hover { color: var(--v2-on-dark) !important; }
    html body.v2site .header .dropdown > .nav-link::after { width: 8px; height: 8px; margin: 0 4px 6px 0; }
    html body.v2site .header .dropdown.active > .nav-link::after { transform: rotate(-135deg); margin-bottom: 0; }
    html body.v2site .header .nav-item-phone { display: block; margin: 0; }
    html body.v2site .header .nav-item-cta { border-bottom: 0; padding-top: 28px; }
    html body.v2site .header .nav-cta { display: flex; width: 100%; min-height: 52px; font-size: 12px; background: var(--v2-white); color: var(--v2-black); }

    /* hide desktop panels, use the stacked lists */
    html body.v2site .header .mega-menu { display: none !important; }
    html body.v2site .header .dropdown-menu,
    html body.v2site .header .dropdown-menu:not(.mobile-dropdown) {
        position: static;
        display: none;
        min-width: 0;
        columns: auto;
        opacity: 1;
        visibility: visible;
        transform: none;
        background: none;
        border: 0;
        box-shadow: none;
        padding: 0 0 16px;
    }
    html body.v2site .header .dropdown-menu::before { display: none; }
    html body.v2site .header .dropdown.active .dropdown-menu:not(.mobile-dropdown) { display: block; }
    html body.v2site .header .has-mega-menu .mobile-dropdown { display: none !important; }
    html body.v2site .header .has-mega-menu.active .mobile-dropdown { display: block !important; }
    html body.v2site .header .dropdown-menu li a {
        padding: 9px 0;
        font-size: 15px;
        color: var(--v2-on-dark);
    }
    html body.v2site .header .dropdown-menu li a:hover { background: none; color: var(--v2-white); }
    html body.v2site .header .mobile-dropdown-header {
        padding: 18px 0 6px;
        font-size: 11px;
        font-weight: 500;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: var(--v2-on-dark-2);
    }
    html body.v2site .header .mobile-dropdown-header:first-child { padding-top: 4px; }
}
@media (max-width: 600px) {
    html body.v2site .header > .container { padding: 0 16px; }
    html body.v2site .header .nav { padding: 8px 16px 32px; }
}

/* Announcement bar retired (discount not confirmed) */
html body.v2site .announcement-bar { display: none !important; }

/* ---------- Lead popup: white panel, thin inputs ---------- */
html body.v2site .lead-popup-overlay { background: rgba(0, 0, 0, .72); backdrop-filter: none; }
html body.v2site .lead-popup {
    border-radius: 0 !important;
    box-shadow: none !important;
    background: var(--v2-white);
    border: 0;
}
html body.v2site .lead-popup-close {
    width: 44px;
    height: 44px;
    border-radius: 0;
    background: transparent;
    color: var(--v2-ink);
    font-size: 28px;
    font-weight: 300;
    line-height: 1;
    box-shadow: none;
    border: 0;
}
html body.v2site .lead-popup-close:hover { background: transparent; color: var(--v2-gray); transform: none; }
html body.v2site .lead-popup-content h3 {
    font-size: clamp(1.625rem, 2.4vw, 2rem);
    font-weight: 350 !important;
    letter-spacing: -0.022em;
    color: var(--v2-ink);
}
html body.v2site .lead-popup-content p { color: var(--v2-gray); font-size: 15px; }
html body.v2site .lead-popup-benefits span {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--v2-ink);
    background: none;
    border: 0;
    padding: 0;
}
html body.v2site .lead-popup-benefits svg { display: none; }
html body.v2site .lead-popup-benefits span::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 1px;
    margin-right: 10px;
    vertical-align: middle;
    background: var(--v2-gold);
}
html body.v2site .lead-popup-image img { border-radius: 0 !important; }
html body.v2site .lead-popup-form .input-icon,
html body.v2site .lead-popup-form .phone-prefix { display: none !important; }
html body.v2site .lead-popup-form .form-group { position: relative; margin-bottom: 20px; }
html body.v2site .lead-popup-form input {
    width: 100%;
    height: auto;
    padding: 12px 0 !important;
    font-family: inherit;
    font-size: 16px;
    color: var(--v2-ink);
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--v2-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
html body.v2site .lead-popup-form input::placeholder { color: #8A847D; }
html body.v2site .lead-popup-form input:focus { outline: none; border-bottom-color: var(--v2-ink) !important; }
html body.v2site .lead-popup-form .btn,
html body.v2site .lead-popup-form button[type="submit"] {
    margin-top: 8px;
    background: var(--v2-ink) !important;
    color: var(--v2-white) !important;
    border-color: var(--v2-ink) !important;
}
html body.v2site .lead-popup-form button[type="submit"]:hover { background: transparent !important; color: var(--v2-ink) !important; }

/* ---------- Heroes ---------- */
html body.v2site :is(.hero, .hero-location, .page-hero, .product-hero, .brand-hero, .material-hero, .service-hero, .gallery-hero, .locations-hero, .calculator-hero, .materials-hero, .brands-hero, .contact-hero, .services-hero, .tool-hero, .visualizer-hero) {
    background-color: var(--v2-black);
}
html body.v2site :is(.hero, .hero-location, .page-hero, .product-hero, .brand-hero, .material-hero, .service-hero, .gallery-hero, .locations-hero, .calculator-hero, .materials-hero, .brands-hero, .contact-hero, .services-hero, .tool-hero, .visualizer-hero) h1 {
    font-size: clamp(2.25rem, 4.4vw, 3.75rem) !important;
    line-height: 1.1;
    color: var(--v2-white);
}
html body.v2site :is(.hero, .hero-location, .page-hero, .product-hero, .brand-hero, .material-hero, .service-hero, .gallery-hero, .locations-hero, .calculator-hero, .materials-hero, .brands-hero, .contact-hero, .services-hero, .tool-hero, .visualizer-hero) h1 :is(span, em, strong) {
    color: inherit !important;
    font-weight: inherit !important;
    font-style: normal;
    background: none !important;
    -webkit-text-fill-color: currentColor;
}
html body.v2site :is(.hero, .hero-location, .page-hero, .product-hero, .brand-hero, .material-hero, .service-hero, .gallery-hero, .locations-hero, .calculator-hero, .materials-hero, .brands-hero, .contact-hero, .services-hero, .tool-hero, .visualizer-hero) :is(.hero-badge, .product-badge, .brand-badge) {
    color: var(--v2-on-dark) !important;
}
html body.v2site :is(.hero-headline, .hero-subtitle, .product-tagline, .brand-tagline) {
    font-style: normal !important;
    letter-spacing: -0.005em !important;
    color: var(--v2-gray) !important;
}
html body.v2site :where(.hero, .hero-location, .page-hero, .product-hero, .brand-hero, .material-hero, .service-hero, .gallery-hero, .locations-hero, .calculator-hero, .materials-hero, .brands-hero, .contact-hero, .services-hero, .tool-hero, .visualizer-hero) :is(.hero-headline, .hero-subtitle, .product-tagline, .brand-tagline) {
    font-weight: 400 !important;
    font-size: clamp(1.0625rem, 1.6vw, 1.3125rem) !important;
    opacity: 1 !important;
    color: var(--v2-on-dark) !important;
}
html body.v2site :is(.hero, .hero-location, .page-hero, .product-hero, .brand-hero, .material-hero, .service-hero, .gallery-hero, .locations-hero, .calculator-hero, .materials-hero, .brands-hero, .contact-hero, .services-hero, .tool-hero, .visualizer-hero) :is(.hero-description, .product-description, .hero-content > p) {
    color: var(--v2-on-dark);
    font-size: 17px;
    line-height: 1.75;
    text-shadow: none;
}
html body.v2site :is(.hero, .hero-location, .page-hero, .product-hero, .brand-hero, .material-hero, .service-hero, .gallery-hero, .locations-hero, .calculator-hero, .materials-hero, .brands-hero, .contact-hero, .services-hero, .tool-hero, .visualizer-hero) :is(.hero-description, .product-description) a {
    color: var(--v2-white);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
html body.v2site :is(.hero-cta, .product-cta, .cta-buttons) { gap: 16px 24px; }
/* Heavier, flatter overlays so light-weight type stays readable (AA on image) */
html body.v2site :is(.hero, .hero-location, .page-hero, .material-hero, .service-hero, .gallery-hero, .locations-hero) .hero-overlay {
    background: linear-gradient(90deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.62) 45%, rgba(0,0,0,.45) 100%), linear-gradient(0deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 40%) !important;
}
html body.v2site .hero-location .hero-overlay {
    background: linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.62) 60%, rgba(0,0,0,.8) 100%) !important;
}
html body.v2site :is(.product-hero, .brand-hero) { background: var(--v2-black) !important; }
html body.v2site .product-hero .hero-overlay {
    background: linear-gradient(90deg, rgba(0,0,0,.92) 0%, rgba(0,0,0,.75) 50%, rgba(0,0,0,.5) 100%) !important;
}
html body.v2site .hero-location .hero-content { padding-top: clamp(96px, 11vw, 150px); padding-bottom: clamp(72px, 8vw, 110px); }
html body.v2site .hero-location .hero-badge { justify-content: center; }
html body.v2site :is(.hero-trust, .trust-badge, .hero-feature) {
    font-size: 13px !important;
    letter-spacing: 0.02em;
    color: var(--v2-on-dark) !important;
    background: none;
    border-radius: 0;
}
html body.v2site :is(.hero-trust, .hero-feature) i { color: var(--v2-gold) !important; font-size: 12px; -webkit-text-stroke: 0 !important; }
/* Hero stats: light numerals, gold only as a hairline */
html body.v2site :is(.hero-stat-number, .stat-number) {
    color: var(--v2-white) !important;
    font-weight: 300 !important;
    letter-spacing: -0.02em;
    -webkit-text-fill-color: currentColor;
    background: none !important;
}
html body.v2site :is(.hero-stat-label, .stat-label) {
    font-size: 11px !important;
    font-weight: 500;
    letter-spacing: 0.14em !important;
    text-transform: uppercase;
    color: var(--v2-on-dark-2) !important;
}
html body.v2site .breadcrumb { font-size: 12px; letter-spacing: 0.04em; }
html body.v2site .breadcrumb a { color: var(--v2-on-dark); }
html body.v2site .breadcrumb a:hover { color: var(--v2-white); }

/* ---------- Sections ---------- */
html body.v2site :is(.content-section, .features-section, .faq-section, .process-section, .applications-section, .why-section, .benefits-section,
    .product-details, .related-designs, .gallery-section, .material-section, .care-section, .colors-section, .why-quartz-section, .county-section,
    .why-choose-section, .popular-designs, .all-designs, .why-cambria, .design-categories, .services-section, .materials-section, .brands-section) {
    padding-top: var(--v2-pad);
    padding-bottom: var(--v2-pad);
}
html body.v2site :is(.bg-light, .content-section.bg-light) { background: var(--v2-paper) !important; }
html body.v2site :is(.faq-section, .related-designs) { background: var(--v2-paper); }
html body.v2site :is(.section-header, .faq-header, .related-header, .why-cambria-header, .popular-designs-header, .categories-header, .all-designs-header, .why-choose-header, .county-header, .gallery-section-header) {
    margin-bottom: clamp(40px, 5vw, 64px);
}
html body.v2site :is(.section-header, .faq-header, .related-header, .why-cambria-header, .popular-designs-header, .categories-header, .all-designs-header, .why-choose-header, .county-header, .gallery-section-header) p {
    color: var(--v2-gray);
}

/* Dark bands: flat near-black, no gold gradient strip */
html body.v2site :is(.cta-section-full, .cta-section, .quote-section, .blog-cta, .final-cta-section, .sale-section, .newsletter-section, .map-section, .dark-section, .section-dark, .gallery-cta) {
    background: var(--v2-deep) !important;
    color: var(--v2-white);
}
html body.v2site :is(.cta-section-full, .cta-section, .quote-section, .blog-cta)::before { display: none !important; }
html body.v2site .cta-section-full { padding: var(--v2-pad) 0; }
html body.v2site :is(.cta-section-full, .cta-section, .quote-section, .blog-cta, .final-cta-section, .map-section, .service-area-section, .gallery-cta, .contact-section, .stats-section) :is(h2, h3) { color: var(--v2-white) !important; }
html body.v2site :is(.cta-section-full, .cta-section, .quote-section, .blog-cta, .map-section, .gallery-cta, .contact-section, .service-area-section) :is(h2, h3) :is(span, em, strong) { color: inherit !important; }
html body.v2site :is(.cta-section-full, .cta-section, .quote-section, .blog-cta, .final-cta-section, .map-section, .service-area-section, .gallery-cta) p { color: var(--v2-on-dark) !important; }
/* Legacy black "why" bands become light too (they are light on some pages, black on others) */
html body.v2site .why-section { background: var(--v2-paper) !important; color: var(--v2-ink) !important; }
html body.v2site .why-section :is(h2, h3, .section-title) { color: var(--v2-ink) !important; }
html body.v2site .why-section p { color: var(--v2-gray) !important; }
/* Legacy black process bands become light, alternating with the black CTA band */
html body.v2site .process-section { background: var(--v2-white) !important; color: var(--v2-ink) !important; }
html body.v2site .process-section :is(h2, h3) { color: var(--v2-ink) !important; }
html body.v2site .process-section p { color: var(--v2-gray) !important; }
html body.v2site :is(.cta-section-full, .quote-section, .blog-cta) p a:not(.btn) { color: var(--v2-white) !important; border-bottom: 1px solid rgba(255,255,255,.4); }
html body.v2site .cta-note { font-size: 13px !important; color: var(--v2-on-dark-2) !important; margin-top: 24px; }
/* Section titles over dark bands that use the section-title class */
html body.v2site :is(.map-section, .service-area-section) h2 { color: var(--v2-white) !important; }

/* ---------- Cards: flat, hairline, no lift ---------- */
html body.v2site :is(.feature-card, .benefit-card, .why-card, .care-card, .industry-card, .material-card:not(:has(> img)), .value-card, .climate-card, .mineral-card,
    .why-quartz-card, .maintenance-card, .compare-card, .origin-card, .variety-card, .why-choose-item, .stone-card, .faq-card, .process-card, .process-step) {
    background-color: transparent;
    border: 0 !important;
    border-top: 1px solid var(--v2-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    text-align: left !important;
    position: relative;
    padding: 32px 0 0 !important;
}
html body.v2site :is(.feature-card, .benefit-card, .why-card, .care-card, .industry-card, .material-card:not(:has(> img)), .value-card, .climate-card, .mineral-card,
    .why-quartz-card, .maintenance-card, .compare-card, .origin-card, .variety-card, .why-choose-item, .stone-card, .faq-card, .process-card, .process-step)::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 32px;
    height: 1px;
    background: var(--v2-gold);
}
html body.v2site :is(.feature-card, .benefit-card, .why-card, .care-card, .industry-card, .material-card:not(:has(> img)), .value-card, .climate-card, .mineral-card,
    .why-quartz-card, .maintenance-card, .compare-card, .origin-card, .variety-card, .why-choose-item, .stone-card, .faq-card, .process-card, .process-step):hover {
    transform: none !important;
    box-shadow: none !important;
}
/* Heavy icon glyphs in feature-style cards: removed */
html body.v2site :is(.feature-card, .benefit-card, .why-card, .industry-card, .material-card:not(:has(> img)), .value-card, .climate-card, .mineral-card,
    .why-quartz-card, .compare-card, .origin-card, .variety-card, .why-choose-item, .stone-card) > i.bi,
html body.v2site :is(.feature-card, .benefit-card, .why-card, .care-card, .industry-card, .material-card:not(:has(> img)), .value-card, .climate-card, .mineral-card,
    .why-quartz-card, .compare-card, .origin-card, .variety-card, .why-choose-item, .stone-card, .process-card) > :is(.icon, .feature-icon, .benefit-icon, .why-icon, .card-icon, .material-icon, .value-icon, .climate-icon, .mineral-icon, .why-quartz-icon, .why-choose-icon),
html body.v2site :is(.service-card-icon, .option-icon.decorative) {
    display: none !important;
}
html body.v2site :is(.feature-card, .benefit-card, .why-card, .care-card, .industry-card, .material-card:not(:has(> img)), .value-card, .climate-card, .mineral-card,
    .why-quartz-card, .maintenance-card, .compare-card, .origin-card, .variety-card, .why-choose-item, .stone-card, .faq-card, .process-card, .process-step) h3 {
    font-size: 1.1875rem !important;
    font-weight: 400 !important;
    color: var(--v2-ink);
    margin-bottom: 12px !important;
}
html body.v2site :is(.feature-card, .benefit-card, .why-card, .care-card, .industry-card, .material-card:not(:has(> img)), .value-card, .climate-card, .mineral-card,
    .why-quartz-card, .maintenance-card, .compare-card, .origin-card, .variety-card, .why-choose-item, .stone-card, .faq-card, .process-card, .process-step) p {
    font-size: 15px !important;
    line-height: 1.7 !important;
    color: var(--v2-gray) !important;
}
html body.v2site :is(.feature-card, .benefit-card, .why-card) p strong { color: var(--v2-ink); font-weight: 500; }
html body.v2site :is(.features-grid, .benefits-grid, .why-grid, .why-quartz-grid, .why-cambria-grid, .why-choose-grid, .process-grid, .care-grid) {
    gap: 48px 32px !important;
}
/* Dark variant: process grids on black sections */
html body.v2site :is(.process-section.dark, .dark-section, .section-dark, [class*="process-section"][style*="background"]) :is(.process-card, .process-step) h3 { color: var(--v2-white); }

/* Step numbers: small tracked numerals, no gold discs */
html body.v2site :is(.process-number, .step-number) {
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 0 28px !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.14em;
    line-height: 1 !important;
    color: var(--v2-gray) !important;
    text-align: left;
}
html body.v2site :is(.process-number, .step-number)::before { content: "0"; }
html body.v2site .calc-step-number {
    background: transparent !important;
    color: var(--v2-ink) !important;
    border: 1px solid var(--v2-ink) !important;
    box-shadow: none !important;
    font-weight: 500 !important;
    font-size: 12px !important;
}

/* Media cards: square corners, no shadow, no lift */
html body.v2site :is(.service-detail-card, .location-card, .blog-card, .blog-index-card, .related-card, .application-card, .color-card, .design-card,
    .mini-design-card, .category-card, .popular-card, .kitchen-type-card, .vanity-type-card, .project-type-card, .service-card, .brand-card, .brand-card-compact,
    .featured-style-card, .explore-cta-card, .county-card, .palette-room-card, .luxury-showcase-card, .style-category-card, .error-link-card, .edge-profile-card) {
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}
html body.v2site :is(.service-detail-card, .location-card, .blog-card, .blog-index-card, .related-card, .design-card, .mini-design-card,
    .kitchen-type-card, .vanity-type-card, .service-card, .brand-card, .brand-card-compact, .county-card, .error-link-card) {
    background-color: var(--v2-white);
    border: 1px solid var(--v2-line-soft) !important;
}
html body.v2site :is(.service-detail-card, .location-card, .blog-card, .blog-index-card, .related-card, .design-card, .mini-design-card, .popular-card,
    .kitchen-type-card, .vanity-type-card, .service-card, .brand-card, .brand-card-compact, .county-card, .error-link-card):hover {
    border-color: var(--v2-line) !important;
}
html body.v2site :is(.service-detail-card, .location-card, .blog-card, .blog-index-card, .related-card, .application-card, .color-card, .design-card,
    .mini-design-card, .category-card, .popular-card, .kitchen-type-card, .vanity-type-card, .featured-style-card, .explore-cta-card, .luxury-showcase-card) img {
    border-radius: 0 !important;
}
html body.v2site :is(.service-detail-card, .location-card, .blog-card, .blog-index-card, .related-card, .design-card, .mini-design-card, .popular-card,
    .kitchen-type-card, .vanity-type-card) :is(h3, h4) {
    font-weight: 400 !important;
    color: var(--v2-ink);
}
html body.v2site :is(.service-detail-card, .location-card, .blog-card, .blog-index-card, .design-card, .mini-design-card, .kitchen-type-card, .vanity-type-card, .application-card-content) p {
    color: var(--v2-gray);
}
/* Location cards (locations page) */
html body.v2site .location-card-content h3 i,
html body.v2site .location-card-content :is(.bi-geo-alt, .bi-geo-alt-fill) { display: none; }
html body.v2site .location-card-link,
html body.v2site .location-card-content > span:last-child {
    color: var(--v2-ink) !important;
    font-size: 11px !important;
    font-weight: 500;
    letter-spacing: 0.14em !important;
}
/* Service detail cards on city pages */
html body.v2site .service-detail-card h3 { font-size: 1.25rem !important; }

/* Overlay cards (dark image with caption): keep white text, lighten the weight */
html body.v2site :is(.application-card, .category-card, .color-card, .gallery-item, .featured-style-card, .explore-cta-card, .luxury-showcase-card) :is(h3, h4) {
    font-weight: 400 !important;
}
html body.v2site :is(.application-card, .category-card) :is(a, .card-link, .application-link) { color: var(--v2-white); }

/* Tags and small badges: hairline rectangles */
html body.v2site :is(.style-tag, .feature-tag, .room-style-tag, .price-tag, .card-badge, .design-card-badge, .popular-badge, .estimate-badge) {
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase;
}
html body.v2site :is(.style-tag, .feature-tag, .room-style-tag) {
    background: transparent !important;
    border: 1px solid var(--v2-line) !important;
    color: var(--v2-gray) !important;
    padding: 6px 12px !important;
}
html body.v2site :is(.card-badge, .design-card-badge, .popular-badge) {
    background: var(--v2-black) !important;
    color: var(--v2-white) !important;
    padding: 5px 10px !important;
}

/* Neighborhood / nearby / area tiles: hairline boxes */
html body.v2site :is(.neighborhood-item, .nearby-location-card, .area-item) {
    background: transparent !important;
    border: 1px solid var(--v2-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    transition: border-color .25s ease, background-color .25s ease;
}
html body.v2site :is(.neighborhood-item, .nearby-location-card, .area-item):hover {
    border-color: var(--v2-ink) !important;
    background: var(--v2-white) !important;
}
html body.v2site :is(.neighborhood-item, .nearby-location-card, .area-item) :is(h3, h4, strong) {
    font-weight: 400 !important;
    color: var(--v2-ink);
}
html body.v2site :is(.neighborhood-item, .nearby-location-card, .area-item) :is(p, span) { color: var(--v2-gray); }
html body.v2site :is(.neighborhoods-grid, .nearby-locations-grid) { gap: 16px !important; }

/* ---------- FAQ / accordions: hairline rows ---------- */
html body.v2site :is(.faq-container, .faq-accordion, .faq-grid, .accordion) { border-top: 1px solid var(--v2-line); }
html body.v2site :is(.accordion-item, .faq-item) {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--v2-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    overflow: hidden;
}
html body.v2site :is(.accordion-item, .faq-item):hover { box-shadow: none !important; transform: none !important; }
html body.v2site :is(.accordion-header, .faq-question) {
    background: transparent !important;
    padding: 24px 0 !important;
    border: 0 !important;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 17px !important;
    font-weight: 400 !important;
    letter-spacing: -0.005em;
    color: var(--v2-ink) !important;
    gap: 24px;
    text-align: left;
}
html body.v2site :is(.accordion-header, .faq-question) :is(h3, h4, span, .faq-question-text) {
    font-size: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
    margin: 0 !important;
}
html body.v2site :is(.accordion-header, .faq-question):hover { color: var(--v2-gray) !important; background: transparent !important; }
html body.v2site :is(.accordion-icon, .faq-icon, .faq-toggle, .faq-toggle-icon) {
    color: var(--v2-ink) !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: 14px !important;
    -webkit-text-stroke: 0 !important;
}
html body.v2site :is(.faq-question, .faq-item) > i.bi-question-circle,
html body.v2site :is(.faq-question) i:is(.bi-question-circle, .bi-question-circle-fill) { display: none; }
html body.v2site :is(.accordion-content, .faq-answer, .faq-answer-content) {
    background: transparent !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    color: var(--v2-gray);
}
html body.v2site :is(.accordion-content, .faq-answer, .faq-answer-content) p {
    color: var(--v2-gray);
    font-size: 16px;
    line-height: 1.75;
    max-width: 46em;
}

/* ---------- Checklists: thin gold dashes instead of filled circles ---------- */
html body.v2site :is(.bi-check-circle-fill, .bi-check-circle, .bi-check2-circle, .bi-check-lg, .bi-check2, .bi-patch-check-fill)::before {
    content: "" !important;
    display: inline-block;
    width: 14px;
    height: 1px;
    background: var(--v2-gold);
    vertical-align: middle;
    -webkit-text-stroke: 0;
}
html body.v2site :is(.bi-check-circle-fill, .bi-check-circle, .bi-check2-circle, .bi-check-lg, .bi-check2, .bi-patch-check-fill) {
    font-size: 14px !important;
    width: 14px;
    flex: none;
    line-height: 1.7 !important;
    margin-top: 0 !important;
    -webkit-text-stroke: 0 !important;
    color: var(--v2-gold);
}
/* Remaining decorative glyphs: thin, small, never chunky */
html body.v2site .location-page .bi { -webkit-text-stroke: 0; }
html body.v2site :is(.content-section, .product-details, .applications-section, .benefits-section) .bi:not(.bi-star-fill):not(.bi-check-circle-fill):not(.bi-check-circle):not(.bi-chevron-down):not(.bi-plus):not(.bi-dash):not(.bi-arrow-right) {
    -webkit-text-stroke: 0 !important;
}

/* ---------- Media & gallery ---------- */
html body.v2site :is(.map-image, .gallery-item, .gallery-item img, .split-image img, .content-image img, .benefits-image img, .featured-style-image img, .map-image img, .main-swatch, .main-swatch img, .product-gallery img) {
    border-radius: 0 !important;
    box-shadow: none !important;
}
html body.v2site :is(.featured-style-card, .split-content.dark) {
    border-radius: 0 !important;
    box-shadow: none !important;
    background: var(--v2-deep) !important;
}
html body.v2site .featured-style-content :is(h2, h3) { color: var(--v2-white) !important; }
html body.v2site .featured-style-content p,
html body.v2site .featured-style-content li { color: var(--v2-on-dark) !important; }
html body.v2site :is(.gallery-tab, .filter-btn, .style-nav-item, .category-btn, .tool-btn) {
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase;
}
html body.v2site .gallery-tab { background: transparent !important; color: var(--v2-ink) !important; border: 1px solid var(--v2-line) !important; }
html body.v2site .gallery-tab.active { background: var(--v2-ink) !important; color: var(--v2-white) !important; border-color: var(--v2-ink) !important; }
html body.v2site .style-nav { box-shadow: none !important; border-bottom: 1px solid var(--v2-line); background: var(--v2-white) !important; }
html body.v2site .style-nav-item i { display: none; }
html body.v2site .style-nav-item { background: transparent !important; color: var(--v2-gray) !important; }
html body.v2site .style-nav-item:hover,
html body.v2site .style-nav-item.active { color: var(--v2-ink) !important; }
html body.v2site .style-nav-list { max-width: 1200px; margin: 0 auto !important; justify-content: center; gap: 4px; }
html body.v2site .style-nav-item a {
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase;
    padding: 18px 14px !important;
    color: var(--v2-gray) !important;
    border-bottom: 1px solid transparent !important;
    white-space: nowrap;
}
html body.v2site .style-nav-item a:hover { color: var(--v2-ink) !important; }
html body.v2site .style-nav-item a.active { color: var(--v2-ink) !important; border-bottom-color: #FDB913 !important; }
@media (max-width: 1024px) {
    html body.v2site .style-nav-list { justify-content: flex-start; padding: 0 16px !important; }
    html body.v2site .style-nav-item a { padding: 16px 12px !important; letter-spacing: 0.14em !important; }
}

/* ---------- Cambria product pages ---------- */
html body.v2site .product-hero-container { padding-top: clamp(56px, 7vw, 96px); padding-bottom: clamp(56px, 7vw, 96px); }
html body.v2site .product-feature-mini { font-size: 14px; color: var(--v2-on-dark) !important; }
html body.v2site .swatch-label {
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 14px 24px !important;
    min-width: 200px;
}
html body.v2site .swatch-label h3 { font-weight: 400 !important; }
html body.v2site :is(.product-specs, .product-applications) h2 { font-size: clamp(1.625rem, 2.4vw, 2rem) !important; }
html body.v2site .specs-table tr { border-bottom: 1px solid var(--v2-line-soft); }
html body.v2site .specs-table td:first-child { font-weight: 500; color: var(--v2-ink); }
html body.v2site .specs-table td:last-child { color: var(--v2-gray); }
html body.v2site .applications-list li { color: var(--v2-gray); }
html body.v2site .applications-list li strong { color: var(--v2-ink); font-weight: 500; }
html body.v2site :is(.comparison-box, .comparison-note, .product-note, .info-box, .note-box, .tip-box) {
    border-radius: 0 !important;
    box-shadow: none !important;
}
html body.v2site :is(.related-card-content, .mini-design-card-content) h3 { font-size: 15px !important; }
html body.v2site :is(.color-swatch, .chip-color, .color-chip) { border-radius: 0 !important; box-shadow: none !important; }

/* ---------- Forms ---------- */
html body.v2site :is(.quote-form, .contact-form, .contact-form-wrapper, .hero-form, .hero-form-wrapper, .samples-form-card, .estimator-card) {
    border-radius: 0 !important;
    box-shadow: none !important;
}
html body.v2site :is(.hero-form, .hero-form-wrapper) { padding: 36px !important; }
html body.v2site :is(.hero-form, .hero-form-wrapper) h3 {
    color: var(--v2-ink) !important;
    font-size: 1.5rem !important;
    font-weight: 350 !important;
    letter-spacing: -0.02em;
}
html body.v2site :is(.form-group, .quote-form, .contact-form, .hero-form, .hero-form-wrapper) label {
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--v2-gray) !important;
}
html body.v2site :is(.form-group, .quote-form, .contact-form, .hero-form, .hero-form-wrapper, .contact-form-wrapper) :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 16px !important;
    color: var(--v2-ink);
    background-color: var(--v2-white);
    border: 1px solid var(--v2-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transition: border-color .2s ease;
}
html body.v2site :is(.form-group, .quote-form, .contact-form, .hero-form, .hero-form-wrapper, .contact-form-wrapper) :is(input, select, textarea):focus {
    outline: none;
    border-color: var(--v2-ink) !important;
}
html body.v2site :is(.form-subtitle, .form-note) a { color: var(--v2-ink) !important; border-bottom: 1px solid var(--v2-gold); }
html body.v2site .quote-section .quote-form { padding: clamp(28px, 4vw, 44px) !important; }
html body.v2site .quote-section .quote-container > p a,
html body.v2site .quote-section > .container > p a { color: var(--v2-white) !important; }

/* ---------- Blog ---------- */
html body.v2site .blog-hero-overlay { background: linear-gradient(0deg, rgba(0,0,0,.8) 0%, rgba(0,0,0,.62) 60%, rgba(0,0,0,.58) 100%) !important; }
html body.v2site .blog-hero h1 { font-size: clamp(2rem, 3.8vw, 3.25rem) !important; font-weight: 400 !important; color: var(--v2-white); }
html body.v2site .blog-meta {
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase;
    color: var(--v2-gray) !important;
}
html body.v2site .blog-hero .blog-meta { color: var(--v2-on-dark) !important; }
html body.v2site .blog-share-btn {
    border-radius: 0 !important;
    background: transparent !important;
    border: 1px solid rgba(255,255,255,.45) !important;
    box-shadow: none !important;
}
html body.v2site .blog-share-btn:hover { border-color: var(--v2-white) !important; }
html body.v2site .blog-share-label { font-size: 11px; letter-spacing: 0.14em; }
html body.v2site .blog-body { padding-top: clamp(56px, 7vw, 96px); padding-bottom: clamp(56px, 7vw, 96px); }
html body.v2site .blog-content { color: var(--v2-ink); font-size: 17px; line-height: 1.8; }
html body.v2site .blog-content p,
html body.v2site .blog-content li { color: #3A3733; }
html body.v2site .blog-content h2 {
    font-size: clamp(1.5rem, 2.4vw, 2rem) !important;
    font-weight: 400 !important;
    margin-top: 64px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid var(--v2-line) !important;
    color: var(--v2-ink);
}
html body.v2site .blog-content h3 { font-size: 1.25rem !important; font-weight: 400 !important; margin-top: 40px !important; }
html body.v2site .blog-content a:not(.btn) {
    color: var(--v2-ink) !important;
    text-decoration: underline;
    text-decoration-color: var(--v2-gold);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    font-weight: 500;
}
html body.v2site .blog-content a:not(.btn):hover { text-decoration-color: var(--v2-ink); }
html body.v2site .blog-content table { border-radius: 0 !important; box-shadow: none !important; border-collapse: collapse; }
html body.v2site .blog-content th {
    background: transparent !important;
    color: var(--v2-ink) !important;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--v2-ink) !important;
}
html body.v2site .blog-content td { border-bottom: 1px solid var(--v2-line-soft) !important; }
html body.v2site .blog-content blockquote { border-left: 1px solid var(--v2-gold) !important; background: transparent !important; border-radius: 0 !important; font-style: normal; }
html body.v2site :is(.blog-content img, .blog-hero-image img) { border-radius: 0 !important; box-shadow: none !important; }
html body.v2site .blog-cta {
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: clamp(40px, 5vw, 64px) !important;
}
html body.v2site .blog-cta :is(h2, h3) { border: 0 !important; margin-top: 0 !important; padding: 0 !important; }
html body.v2site .blog-cta a:not(.btn) { color: var(--v2-white) !important; text-decoration-color: rgba(255,255,255,.5); }
html body.v2site .blog-author-bio {
    background: transparent !important;
    border-top: 1px solid var(--v2-line);
    border-bottom: 1px solid var(--v2-line);
    border-radius: 0 !important;
    padding: 32px 0 !important;
}
html body.v2site .blog-author-bio > div:first-child {
    background: var(--v2-black) !important;
}
html body.v2site .blog-author-bio > div:first-child span { color: var(--v2-white) !important; font-weight: 400 !important; }
html body.v2site .blog-related-posts > div > a {
    border-radius: 0 !important;
    border-color: var(--v2-line-soft) !important;
}
html body.v2site .blog-related-posts > div > a > span:first-child { display: none !important; }
html body.v2site .blog-related-posts > div > a:hover { border-color: var(--v2-ink) !important; }
html body.v2site .blog-related-posts > div > a div > span:first-child { font-weight: 500 !important; }
html body.v2site :is(.blog-faq, .blog-faq-item) { border-radius: 0 !important; box-shadow: none !important; }
html body.v2site .blog-faq { margin-top: 64px; }
html body.v2site .blog-faq > h2 { margin-bottom: 8px !important; }
html body.v2site .blog-faq .faq-item { padding: 24px 0 !important; overflow: visible; }
html body.v2site .blog-faq .faq-item h3 { font-size: 1.125rem !important; margin: 0 0 10px !important; }
html body.v2site .blog-faq .faq-item p { color: var(--v2-gray); font-size: 16px; line-height: 1.75; margin: 0; }
html body.v2site .blog-breadcrumb a { color: var(--v2-ink); }

/* ---------- Quote calculator ---------- */
html body.v2site :is(.calculator-form, .calculator-result, .result-card, .calc-panel, .calculator-container) {
    border-radius: 0 !important;
    box-shadow: none !important;
}
html body.v2site :is(.calculator-form, .result-card) { border: 1px solid var(--v2-line-soft) !important; }
html body.v2site :is(.option-card, .grade-option, .edge-option, .addon-option, .project-type-card, .dimension-row, .input-with-unit, .total-sqft, .estimate-display, .breakdown-section, .estimate-breakdown, .estimate-note, .add-section-btn) {
    border-radius: 0 !important;
    box-shadow: none !important;
}
html body.v2site :is(.grade-price, .addon-price, .edge-price) { color: var(--v2-ink) !important; }
html body.v2site :is(.estimate-low, .estimate-high, .estimate-range, .estimate-values, .estimate-separator) { color: var(--v2-white) !important; font-weight: 400 !important; opacity: 1 !important; }
html body.v2site .estimate-label { color: var(--v2-on-dark) !important; font-size: 11px !important; font-weight: 500 !important; letter-spacing: 0.14em; text-transform: uppercase; }
html body.v2site .estimate-display,
html body.v2site .total-sqft,
html body.v2site .breakdown-total { background: var(--v2-deep) !important; }
html body.v2site :is(.total-sqft, .breakdown-total) :is(span, strong, div) { color: var(--v2-white) !important; }
html body.v2site .estimate-note { background: var(--v2-paper) !important; border: 1px solid var(--v2-line) !important; }
html body.v2site .estimate-note i { color: var(--v2-gray) !important; }
html body.v2site :is(.option-content, .grade-content, .edge-content, .addon-content) {
    border-width: 1px !important;
    border-color: var(--v2-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
html body.v2site :is(.option-card, .grade-option, .edge-option, .addon-option) input:checked + :is(.option-content, .grade-content, .edge-content, .addon-content) {
    border-color: var(--v2-ink) !important;
    background: var(--v2-paper) !important;
}
html body.v2site :is(.option-content, .addon-content) i { color: var(--v2-gray) !important; -webkit-text-stroke: 0 !important; }
html body.v2site :is(.option-card, .addon-option) input:checked + :is(.option-content, .addon-content) i { color: var(--v2-ink) !important; }
html body.v2site :is(.edge-visual) { border-radius: 0 !important; }
html body.v2site .calc-step .step-number {
    display: inline-flex !important; align-items: center; justify-content: center;
    width: 28px !important; height: 28px !important; margin: 0 !important;
    border: 1px solid var(--v2-ink) !important; border-radius: 50% !important;
    color: var(--v2-ink) !important; font-size: 12px !important; letter-spacing: 0 !important;
}
html body.v2site .calc-step .step-number::before { content: none; }
html body.v2site .breakdown-section-header .section-badge::before { display: none; }
html body.v2site .option-icon i,
html body.v2site .addon-content > i { -webkit-text-stroke: 0 !important; color: var(--v2-gray) !important; }

/* ---------- Brands marquee / misc ---------- */
html body.v2site :is(.trust-badges-section, .partners-section) { background: var(--v2-paper); }
html body.v2site .content-text a:not(.btn),
html body.v2site .content-section p a:not(.btn) {
    color: var(--v2-ink);
    text-decoration: underline;
    text-decoration-color: var(--v2-gold);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

/* ---------- Footer (black) ---------- */
html body.v2site .footer {
    background: var(--v2-black) !important;
    color: var(--v2-on-dark-2);
    border-top: 1px solid #1C1B1A;
    padding: clamp(64px, 7vw, 96px) 0 32px;
    font-size: 14px;
    line-height: 1.8;
}
html body.v2site .footer .container { max-width: 1248px; padding: 0 24px; }
html body.v2site .footer-grid {
    grid-template-columns: minmax(0, 3.4fr) repeat(3, minmax(0, 2.6fr));
    gap: 48px 24px;
    margin-bottom: 0;
    text-align: left;
}
/* Logo file shown untouched on #000 */
html body.v2site .footer-logo { display: block; width: 150px; margin: -18px 0 20px -10px; }
html body.v2site .footer-logo img { width: 150px; height: auto; filter: none !important; mix-blend-mode: normal !important; }
html body.v2site .footer-col h4 {
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--v2-white);
    margin-bottom: 18px;
}
html body.v2site .footer-col p { font-size: 14px; line-height: 1.8; margin-bottom: 4px; color: var(--v2-on-dark); }
html body.v2site .footer-col p strong { font-weight: 500; color: var(--v2-on-dark-2); }
html body.v2site .footer-col a { color: var(--v2-on-dark); transition: color .2s ease; }
html body.v2site .footer-col a:hover { color: var(--v2-white); }
html body.v2site .footer-col ul li { margin-bottom: 4px; }
html body.v2site .footer .service-areas { display: block; }
html body.v2site .footer .service-areas li { margin-bottom: 4px !important; }
html body.v2site .footer-hours { margin-top: 16px; }
html body.v2site .footer-cta { margin-top: 24px !important; }
html body.v2site .footer .btn,
html body.v2site .footer .btn-primary {
    min-height: 44px;
    padding: 0 20px !important;
    font-size: 11px !important;
    background: transparent !important;
    color: var(--v2-white) !important;
    border-color: rgba(255,255,255,.7) !important;
}
html body.v2site .footer .btn:hover { background: var(--v2-white) !important; color: var(--v2-black) !important; border-color: var(--v2-white) !important; }
html body.v2site .footer-bottom {
    margin-top: 64px;
    padding-top: 24px;
    border-top: 1px solid var(--v2-line-dark);
    text-align: left;
}
html body.v2site .footer-bottom p { font-size: 12px; opacity: 1; color: var(--v2-on-dark-2); margin-bottom: 6px; }
html body.v2site .footer-areas { max-width: 60em; margin: 0 !important; font-size: 12px !important; }

@media (max-width: 960px) {
    html body.v2site .footer-grid { grid-template-columns: 1fr 1fr; }
    html body.v2site .footer-col-brand { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
    html body.v2site .footer-grid { grid-template-columns: 1fr; gap: 40px; text-align: left; }
    html body.v2site .footer .service-areas { justify-content: flex-start; }
    html body.v2site .footer .container { padding: 0 16px; }
}

/* ---------- Small screens ---------- */
@media (max-width: 600px) {
    body.v2site { --v2-pad: 64px; }
    html body.v2site .btn { width: 100%; }
    html body.v2site .footer .btn,
    html body.v2site .btn-sm { width: auto; }
    html body.v2site :is(.hero, .hero-location, .page-hero, .product-hero, .brand-hero, .material-hero, .service-hero, .gallery-hero, .locations-hero, .calculator-hero, .materials-hero, .brands-hero, .contact-hero, .services-hero, .tool-hero, .visualizer-hero) h1 {
        font-size: 2rem !important;
        line-height: 1.16;
    }
    html body.v2site .section-title { font-size: 1.75rem; }
    html body.v2site :is(.hero-form, .hero-form-wrapper) { padding: 24px !important; }
}

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

/* Quote calculator: keep the form inside the viewport on phones */
@media (max-width: 1024px) {
    html body.v2site .calculator-wrapper { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
    html body.v2site .calculator-form { padding: 24px 16px !important; }
    html body.v2site :is(.option-cards, .edge-options, .addon-options) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    html body.v2site .dimension-row { padding: 16px !important; }
    html body.v2site .dimension-inputs { gap: 12px !important; }
    html body.v2site .dimension-inputs .input-group { flex: 1 1 0; min-width: 0; }
    html body.v2site .remove-section-btn { flex: none; padding: 8px 0 !important; }
    html body.v2site .input-with-unit { min-width: 0; }
    html body.v2site .input-with-unit input { flex: 1 1 0; min-width: 48px; width: auto; }
    html body.v2site .input-with-unit .unit { flex: none; padding: 0 8px; }
}

/* Lead popup inputs: hairline underline fields (ID selector outranks the generic form rules) */
html body.v2site #leadPopupForm input {
    padding: 12px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--v2-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
}
html body.v2site #leadPopupForm input:focus { border-bottom-color: var(--v2-ink) !important; }
html body.v2site .lead-popup-image,
html body.v2site .lead-popup-image img { border-radius: 0 !important; }
html body.v2site .lead-popup-image img { width: 100%; max-height: 240px; object-fit: cover; }
html body.v2site .lead-popup-form-wrapper { padding-bottom: 28px; }

/* Inline links in FAQ answers and body copy: ink with a thin gold underline (gold text fails AA on white) */
html body.v2site :is(.faq-answer, .faq-answer-content, .accordion-content, .section-description, .content-text, .benefits-content, .split-content:not(.dark)) a:not(.btn) {
    color: var(--v2-ink) !important;
    text-decoration: underline;
    text-decoration-color: var(--v2-gold);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
html body.v2site .option-card .price,
html body.v2site :is(.area-item, .area-item a) { color: var(--v2-ink) !important; }
html body.v2site :is(.hero-form, .hero-form-wrapper) h3 { font-weight: 400 !important; }
html body.v2site :is(.stats-section, .contact-section) :is(.stat-number, .stat-value, h2) { color: var(--v2-white) !important; }

/* Overlay material cards (image + caption) */
html body.v2site .material-card:has(> img) { border-radius: 0 !important; box-shadow: none !important; transform: none !important; }
html body.v2site .material-card:has(> img) .card-overlay { background: linear-gradient(0deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.55) 60%, rgba(0,0,0,.25) 100%) !important; }
html body.v2site .material-card:has(> img) :is(h3, p) { color: var(--v2-white) !important; }
html body.v2site .material-card:has(> img) p { color: var(--v2-on-dark) !important; }
html body.v2site .material-card:has(> img) .feature-tag { color: var(--v2-on-dark) !important; border-color: rgba(255,255,255,.35) !important; }
html body.v2site .btn-card {
    display: inline-flex; align-items: center; gap: 8px;
    min-height: 40px; padding: 0 18px !important;
    background: var(--v2-white) !important; color: var(--v2-black) !important;
    border: 1px solid var(--v2-white) !important; border-radius: 0 !important; box-shadow: none !important;
    font-size: 11px !important; font-weight: 500 !important; letter-spacing: 0.14em; text-transform: uppercase;
}
html body.v2site .btn-card:hover { background: transparent !important; color: var(--v2-white) !important; transform: none !important; }
html body.v2site .btn-card i { display: none; }

/* Black "popular varieties" band (quartzite, marble, granite pages) */
html body.v2site .popular-section { background: var(--v2-deep) !important; }
html body.v2site .popular-section :is(h2, h3, h4) { color: var(--v2-white) !important; }
html body.v2site .popular-section .section-subtitle { color: var(--v2-on-dark) !important; }
html body.v2site .popular-card {
    background: transparent !important;
    border: 1px solid var(--v2-line-dark) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}
html body.v2site .popular-card:hover { border-color: rgba(255,255,255,.5) !important; }
html body.v2site .popular-card h4 { font-weight: 400 !important; }
html body.v2site .popular-card p { color: var(--v2-on-dark) !important; }

/* Inline gold links written into page copy: ink + gold underline on light sections */
html body.v2site :is(p, li, td) > a[style*="color-accent"]:not(:is(.cta-section-full, .cta-section, .quote-section, .blog-cta, .contact-section, .hero, .hero-location, .page-hero, .product-hero) *),
html body.v2site :is(p, li, td) > a[style*="FDB913"]:not(:is(.cta-section-full, .cta-section, .quote-section, .blog-cta, .contact-section, .hero, .hero-location, .page-hero, .product-hero) *) {
    color: var(--v2-ink) !important;
    text-decoration: underline;
    text-decoration-color: var(--v2-gold);
    text-underline-offset: 3px;
}
html body.v2site :is(.brand-card-link, .brand-origin, .tool-section-title) { color: var(--v2-ink) !important; }
html body.v2site .error-page .error-code { color: var(--v2-ink) !important; font-weight: 300 !important; }
html body.v2site .error-page a:not(.btn):not(.error-link-card) { color: var(--v2-ink) !important; text-decoration: underline; text-decoration-color: var(--v2-gold); }
/* Form panels inside black contact bands keep dark headings */
html body.v2site .contact-section :is(form, .contact-form, .contact-form-wrapper, .quote-form, [class*="form-card"], [class*="form-wrapper"]) :is(h2, h3) { color: var(--v2-ink) !important; }
/* Wide tables in articles scroll inside themselves on phones */
@media (max-width: 700px) {
    html body.v2site .blog-content table { display: block; max-width: 100%; overflow-x: auto; }
}

/* Quartz brands page components */
html body.v2site .style-categories-section { background: var(--v2-deep) !important; }
html body.v2site .style-categories-section .section-title { color: var(--v2-white) !important; }
html body.v2site .style-categories-section :is(.section-subtitle, .section-description) { color: var(--v2-on-dark) !important; }
html body.v2site .style-category-card .card-content :is(h3, p, span) { color: var(--v2-white) !important; }
html body.v2site .style-category-card .card-content p { color: var(--v2-on-dark) !important; }
html body.v2site :is(.hero-form-card, .showroom-cta-box) { border-radius: 0 !important; box-shadow: none !important; }
html body.v2site .showroom-cta-box { border: 1px solid var(--v2-line) !important; }
html body.v2site .showroom-cta-box i { color: var(--v2-gray) !important; }
html body.v2site :is(.btn-submit, .btn-hero-primary) {
    min-height: 52px;
    background: var(--v2-ink) !important;
    color: var(--v2-white) !important;
    border: 1px solid var(--v2-ink) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}
html body.v2site :is(.btn-submit, .btn-hero-primary):hover { background: transparent !important; color: var(--v2-ink) !important; }
html body.v2site .hero-form-card .form-phone a,
html body.v2site .hero-form-card p a { color: var(--v2-ink) !important; border-bottom: 1px solid var(--v2-gold); }
html body.v2site .btn-hero-primary {
    background: transparent !important;
    color: var(--v2-white) !important;
    border-color: rgba(255,255,255,.7) !important;
    padding: 0 28px !important;
    display: inline-flex; align-items: center;
}
html body.v2site .btn-hero-primary:hover { background: var(--v2-white) !important; color: var(--v2-black) !important; }
html body.v2site .btn-hero-primary i { display: none; }

/* Icon-style application cards (commercial sub-pages): same flat treatment as feature cards */
html body.v2site .application-card:not(:has(img)) {
    background-color: transparent;
    border: 0 !important;
    border-top: 1px solid var(--v2-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    text-align: left !important;
    position: relative;
    padding: 32px 0 0 !important;
}
html body.v2site .application-card:not(:has(img))::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 32px;
    height: 1px;
    background: var(--v2-gold);
}
html body.v2site .application-card:not(:has(img)) > i.bi { display: none !important; }
html body.v2site .application-card:not(:has(img)) h4 { font-weight: 400 !important; font-size: 1.125rem !important; color: var(--v2-ink); }
html body.v2site .application-card:not(:has(img)) p { color: var(--v2-gray) !important; font-size: 15px !important; }
html body.v2site .applications-section .applications-grid { gap: 48px 32px; }
