
body {
    background: #f5f5f5;
    color-scheme: light;
}

.site-main-pro {
    --pro-black: #000000;
    --pro-yellow: #FFD700;
    --pro-yellow-dark: #FFD700;
    --pro-yellow-light: #FFD700;
    --pro-brown: #FFD700;
    --pro-white: #FEFEFE;
    --pro-grey: #3d3d3d;
    --pro-grey-muted: #525252;
    --pro-grey-subtle: #6b6b6b;
    --pro-sep: rgba(0, 0, 0, 0.1);
    --pro-sep-strong: rgba(0, 0, 0, 0.14);
    --layer-shadow: 0 1px 0 rgba(255, 255, 255, 0.92) inset, 0 8px 28px rgba(0, 0, 0, 0.06);
    --layer-shadow-deep: 0 14px 40px rgba(0, 0, 0, 0.12);
    --gradient-brand: #FFD700;
    --gradient-cta: #FFD700;
    --gradient-accent-bar: #FFD700;
    --primary: #FFD700;
    --primary-dark: #FFD700;
    --primary-light: #FFD700;
    --primary-rgb: 255, 215, 0;
    --primary-glow: rgba(255, 215, 0, 0.22);
    --accent: #FFD700;
    --accent-rgb: 255, 215, 0;
    --surface: #FEFEFE;
    --surface-2: #f5f5f5;
    --surface-3: #ebecef;
    --surface-4: #e0e0e0;
    --surface-card: #f5f5f5;
    --border: var(--pro-sep);
    --border-hover: rgba(255, 215, 0, 0.5);
    --text-primary: #000000;
    --text-muted: var(--pro-grey-muted);
    --text-dim: #6b6b6b;
    --text-rgb: 0, 0, 0;
    --bs-body-color: #1a1a1a;
    --bs-secondary-color: #525252;
    --bs-heading-color: #000000;
    --bs-border-color: var(--pro-sep);
    --bs-link-color: #FFD700;
    --bs-link-hover-color: #FFD700;
    --bs-link-color-rgb: 255, 215, 0;
    --bs-primary: #FFD700;
    --bs-primary-rgb: 255, 215, 0;
    color: #1a1a1a;
    min-height: 42vh;
    padding-bottom: 2rem;
    background: linear-gradient( 180deg, rgba(254, 254, 254, 0.5) 0%, transparent 18%, transparent 82%, rgba(245, 245, 245, 0.6) 100% );
}

.site-main-pro .page-header {
    background: linear-gradient(180deg, #FEFEFE 0%, #f5f5f5 55%, #ececec 100%);
    border-bottom: 1px solid var(--pro-sep-strong);
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.05);
    color: var(--pro-black);
    text-shadow: none;
    padding: clamp(4rem, 8vw, 6rem) 0 clamp(2.5rem, 5vw, 3.5rem);
    margin-bottom: clamp(2rem, 4vw, 3rem);
}

.site-main-pro .page-header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 4px;
    background: var(--pro-yellow);
    opacity: 1;
    pointer-events: none;
    z-index: 2;
}

.site-main-pro .page-header > .container {
    position: relative;
    z-index: 1;
}

.site-main-pro .page-header::before {
    background-image:
        linear-gradient(rgba(0, 0, 0, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, 0.06) 1px, transparent 1px);
    background-size: 32px 32px;
    opacity: 0.45;
}

.site-main-pro .page-header h1,
.site-main-pro .page-header h2,
.site-main-pro .page-header h3 {
    color: var(--pro-black) !important;
    background: none;
    -webkit-text-fill-color: currentColor;
}

.site-main-pro .page-header .text-muted {
    color: var(--pro-grey-muted) !important;
}

.site-main-pro .page-header .breadcrumb-item + .breadcrumb-item::before {
    color: #6b6b6b;
}

.site-main-pro .page-header .breadcrumb-item a {
    color: var(--pro-yellow);
}

.site-main-pro .page-header .breadcrumb-item a:hover {
    color: var(--pro-yellow);
}

.site-main-pro .page-header .breadcrumb-item.active {
    color: #3d3d3d;
}

.site-main-pro .content-section {
    background: transparent !important;
    color: #1a1a1a;
}

.site-main-pro .content-section + .content-section {
    border-top: 1px solid var(--pro-sep);
}

.site-main-pro .content-section:nth-child(even) {
    background: #f5f5f5 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
    border-top-color: var(--pro-sep-strong);
}

.site-main-pro .section-eyebrow {
    color: var(--pro-yellow) !important;
    background: none;
    -webkit-text-fill-color: var(--pro-yellow);
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
}

.site-main-pro .section-title {
    color: var(--pro-black) !important;
}

.site-main-pro .section-title::after {
    background: var(--pro-yellow);
    height: 4px;
    border-radius: 4px;
    box-shadow: 0 2px 12px rgba(255, 215, 0, 0.35);
}

.site-main-pro .section-subtitle {
    color: var(--pro-grey-muted) !important;
}

.site-main-pro .card {
    position: relative;
    overflow: hidden;
    background: #f5f5f5;
    border: 1px solid var(--pro-sep-strong);
    color: #1a1a1a;
    box-shadow: var(--layer-shadow);
}

.site-main-pro .card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--pro-yellow);
    pointer-events: none;
}

.site-main-pro .card-title,
.site-main-pro .card-body h1,
.site-main-pro .card-body h2,
.site-main-pro .card-body h3,
.site-main-pro .card-body h4,
.site-main-pro .card-body h5,
.site-main-pro .card-body h6,
.site-main-pro .card-footer h5,
.site-main-pro .card-footer h6 {
    color: var(--pro-black) !important;
}

.site-main-pro .card .text-muted,
.site-main-pro .card .text-secondary {
    color: var(--pro-grey-muted) !important;
}

.site-main-pro .card .stretched-link,
.site-main-pro .card a:not(.btn):not(.badge) {
    color: var(--pro-yellow);
}

.site-main-pro .card .stretched-link:hover,
.site-main-pro .card a:not(.btn):not(.badge):hover {
    color: var(--pro-yellow);
}

.site-main-pro .card:hover {
    border-color: rgba(255, 215, 0, 0.45);
    background: #fafafa;
    box-shadow: var(--layer-shadow-deep), 0 0 0 1px rgba(255, 215, 0, 0.12);
}

.site-main-pro .text-muted {
    color: var(--pro-grey-muted) !important;
}

.site-main-pro .text-secondary {
    color: var(--pro-grey-muted) !important;
}

.site-main-pro .text-body {
    color: #1a1a1a !important;
}

.site-main-pro .card .text-body {
    color: #1a1a1a !important;
}

.site-main-pro a:not(.nav-link):not(.nav-auth):not(.dropdown-item):not(.btn):not(.stretched-link):not(.blog-related-card):not(.btn-hero-primary):not(.btn-hero-secondary):not(.social-links a):not(.footer a):not(.card a) {
    color: var(--pro-yellow);
}

.site-main-pro a:not(.nav-link):not(.btn):not(.card a):hover {
    color: var(--pro-yellow);
}

.site-main-pro .btn-primary {
    --bs-btn-bg: var(--pro-yellow);
    --bs-btn-border-color: transparent;
    --bs-btn-hover-bg: var(--pro-yellow);
    --bs-btn-hover-border-color: transparent;
    --bs-btn-active-bg: var(--pro-yellow);
    --bs-btn-color: #000000;
    --bs-btn-hover-color: #000000;
    --bs-btn-active-color: #000000;
    color: #000000;
    background: var(--pro-yellow);
    background-image: none;
    border: 1px solid rgba(0, 0, 0, 0.12);
    box-shadow: 0 4px 14px rgba(255, 215, 0, 0.35);
    transition:
        transform 0.2s ease,
        box-shadow 0.25s ease;
}

.site-main-pro .btn-primary:hover,
.site-main-pro .btn-primary:focus,
.site-main-pro .btn-primary:active {
    background: var(--pro-yellow);
    background-image: none;
    color: #000000;
    box-shadow: 0 6px 22px rgba(255, 215, 0, 0.45);
    transform: translateY(-1px);
}

.site-main-pro .btn-primary,
.site-main-pro .btn-success,
.site-main-pro .home-btn-primary,
.site-main-pro .btn-cta,
.site-main-pro .btn-hero-primary,
.site-main-pro [class*="-btn-primary"],
.site-main-pro [class*="-hero-btn-primary"],
.site-main-pro [class*="-action-primary"],
.site-main-pro .product-filter-btn.btn-primary,
.site-main-pro .product-filter-btn.active {
    color: #000000 !important;
}

.site-main-pro .btn-primary:hover,
.site-main-pro .btn-primary:focus,
.site-main-pro .btn-success:hover,
.site-main-pro .btn-success:focus,
.site-main-pro .home-btn-primary:hover,
.site-main-pro .home-btn-primary:focus,
.site-main-pro .btn-cta:hover,
.site-main-pro .btn-cta:focus,
.site-main-pro .btn-hero-primary:hover,
.site-main-pro .btn-hero-primary:focus,
.site-main-pro [class*="-btn-primary"]:hover,
.site-main-pro [class*="-btn-primary"]:focus,
.site-main-pro [class*="-hero-btn-primary"]:hover,
.site-main-pro [class*="-hero-btn-primary"]:focus,
.site-main-pro [class*="-action-primary"]:hover,
.site-main-pro [class*="-action-primary"]:focus,
.site-main-pro .product-filter-btn.btn-primary:hover,
.site-main-pro .product-filter-btn.active:hover {
    color: #000000 !important;
}

.site-main-pro .btn-outline-primary {
    --bs-btn-color: #000000;
    --bs-btn-border-color: var(--pro-yellow);
    --bs-btn-hover-bg: var(--pro-yellow);
    --bs-btn-hover-border-color: var(--pro-yellow);
    --bs-btn-hover-color: #000000;
    color: #000000;
}

.site-main-pro .btn-outline-secondary {
    --bs-btn-color: #2d2d2d;
    --bs-btn-border-color: var(--pro-sep-strong);
    --bs-btn-hover-bg: #e8e8e8;
    --bs-btn-hover-color: #0a0a0a;
}

.site-main-pro .btn-outline-light {
    --bs-btn-color: #f4f4f4;
    --bs-btn-border-color: rgba(255, 255, 255, 0.35);
    --bs-btn-hover-bg: rgba(255, 255, 255, 0.1);
    --bs-btn-hover-border-color: #FFD700;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-active-bg: rgba(255, 255, 255, 0.15);
    --bs-btn-active-border-color: #FFD700;
    --bs-btn-active-color: #ffffff;
    --bs-btn-focus-shadow-rgb: 255, 215, 0;
}

.site-main-pro .form-control,
.site-main-pro .form-select {
    background-color: #FEFEFE;
    border: 1px solid var(--pro-sep-strong);
    color: var(--pro-black);
}

.site-main-pro .form-control:focus,
.site-main-pro .form-select:focus {
    border-color: rgba(255, 215, 0, 0.55);
    box-shadow: 0 0 0 3px rgba(255, 215, 0, 0.15);
    background-color: #FEFEFE;
    color: #000000;
}

.site-main-pro label,
.site-main-pro .col-form-label {
    color: #2d2d2d;
    font-weight: 500;
}

.site-main-pro .table {
    --bs-table-color: #1a1a1a;
    --bs-table-bg: #FEFEFE;
    --bs-table-border-color: var(--pro-sep);
}

.site-main-pro .table-striped > tbody > tr:nth-of-type(odd) > * {
    --bs-table-accent-bg: rgba(0, 0, 0, 0.03);
}

.site-main-pro .home-section {
    border-top: 1px solid var(--pro-sep);
}

.site-main-pro .home-section:nth-child(odd) {
    background: #FEFEFE !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.site-main-pro .home-section:nth-child(even) {
    background: #f5f5f5 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
    border-top-color: var(--pro-sep-strong);
}

.site-main-pro .blog-card-link .card {
    transition:
        transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
        box-shadow 0.35s ease;
}

.site-main-pro .blog-detail-page {
    background: transparent !important;
    padding-top: 1.5rem;
}

.site-main-pro .border-secondary {
    border-color: var(--pro-sep) !important;
}

.site-main-pro .cms-page {
    --cms-p-rgb: 255, 215, 0;
    --cms-s2-rgb: 245, 245, 245;
    --cms-s3-rgb: 235, 236, 240;
}

.site-main-pro .cms-page .cms-about-panel {
    box-shadow: 0 10px 36px rgba(0, 0, 0, 0.08);
}

.site-main-pro .cms-page .cms-featured-media__frame {
    box-shadow:
        0 4px 12px rgba(0, 0, 0, 0.06),
        0 20px 48px rgba(0, 0, 0, 0.08);
}

.site-main-pro .cms-page .cms-featured-media__frame::after {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65), inset 0 -48px 56px rgba(0, 0, 0, 0.06);
}

.site-main-pro .cms-page .cms-section-media__inner {
    box-shadow:
        0 2px 8px rgba(0, 0, 0, 0.06),
        0 16px 40px rgba(0, 0, 0, 0.08);
}

.site-main-pro .cms-page .cms-section-media__inner::after {
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05), inset 0 -35% 32% rgba(0, 0, 0, 0.06);
}

.site-main-pro .cms-page .experience-showcase {
    box-shadow: 0 14px 44px rgba(0, 0, 0, 0.08);
}

.site-main-pro .cms-page .section-labels-grid .section-label-card:hover {
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
}

.site-main-pro .cms-page .stat-cell:hover {
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
}

.site-main-pro .cms-page .cta-card {
    box-shadow:
        0 4px 16px rgba(0, 0, 0, 0.08),
        0 0 0 1px rgba(255, 215, 0, 0.2);
}

.site-main-pro .project-tech-chip {
    background: rgba(255, 215, 0, 0.12);
    border: 1px solid rgba(255, 215, 0, 0.35);
    color: var(--pro-yellow);
}

.site-main-pro .blog-list-page .display-6 {
    color: var(--pro-black) !important;
}

.site-main-pro .badge.bg-primary {
    background-color: var(--pro-yellow) !important;
    background-image: none !important;
    color: #0a0a0a !important;
    border: 1px solid rgba(0, 0, 0, 0.12);
    box-shadow: 0 2px 8px rgba(255, 215, 0, 0.3);
}

@media (prefers-reduced-motion: reduce) {
    .site-main-pro .btn-primary:hover,
    .site-main-pro .btn-primary:focus {
        transform: none;
    }
}

.site-main-pro .blog-list-page .ratio.bg-body-secondary {
    background-color: #ebecef !important;
}

.site-main-pro .accordion-item {
    background-color: #FEFEFE;
    border-color: var(--pro-sep-strong);
}

.site-main-pro .accordion-button {
    background-color: #f5f5f5;
    color: #1a1a1a;
    border-color: var(--pro-sep-strong);
}

.site-main-pro .accordion-button:not(.collapsed) {
    background-color: #FEFEFE;
    color: #000000;
    box-shadow: none;
}

.site-main-pro .accordion-button::after {
    filter: none;
}

.site-main-pro a.home-btn,
.site-main-pro a[class*="-hero-btn"],
.site-main-pro a[class*="-btn-primary"],
.site-main-pro a[class*="-btn-secondary"],
.site-main-pro .btn-primary,
.site-main-pro .btn-secondary,
.site-main-pro .product-filter-btn,
.site-main-pro .product-filter-btn.active,
.site-main-pro .product-filter-btn.btn-primary,
.about-showcase-page a.about-hero-btn,
.about-showcase-page a.about-story-btn {
    background: #FFD700 !important;
    background-image: none !important;
    color: #000000 !important;
    border-color: rgba(0, 0, 0, 0.12) !important;
}

.site-main-pro a.home-btn:hover,
.site-main-pro a.home-btn:focus,
.site-main-pro a[class*="-hero-btn"]:hover,
.site-main-pro a[class*="-hero-btn"]:focus,
.site-main-pro a[class*="-btn-primary"]:hover,
.site-main-pro a[class*="-btn-primary"]:focus,
.site-main-pro a[class*="-btn-secondary"]:hover,
.site-main-pro a[class*="-btn-secondary"]:focus,
.site-main-pro .btn-primary:hover,
.site-main-pro .btn-primary:focus,
.site-main-pro .product-filter-btn:hover,
.site-main-pro .product-filter-btn:focus,
.about-showcase-page a.about-hero-btn:hover,
.about-showcase-page a.about-hero-btn:focus,
.about-showcase-page a.about-story-btn:hover,
.about-showcase-page a.about-story-btn:focus {
    background: #FFD700 !important;
    color: #000000 !important;
}

.site-main-pro .products-hero-visual::before,
.site-main-pro .projects-hero-visual::before,
.site-main-pro .clients-hero-visual::before,
.site-main-pro .facilities-hero-visual::before,
.site-main-pro .blog-hero-visual::before,
.about-showcase-page .about-hero-visual::before {
    display: none !important;
    content: none !important;
}

.home-showcase-page .home-btn,
.home-showcase-page .home-btn-primary,
.home-showcase-page .home-btn-secondary,
.home-showcase-page .hero-actions .home-btn,
.home-showcase-page .hero-actions .home-btn-primary,
.home-showcase-page .hero-actions .home-btn-secondary {
    background: #FFD700 !important;
    background-image: none !important;
    color: #000000 !important;
    border-color: rgba(0, 0, 0, 0.12) !important;
}

.home-showcase-page .home-btn:hover,
.home-showcase-page .home-btn:focus,
.home-showcase-page .hero-actions .home-btn:hover,
.home-showcase-page .hero-actions .home-btn:focus {
    background: #FFD700 !important;
    color: #000000 !important;
}

.contact-page-v2 a.contact-btn-yellow-v2,
.contact-page-v2 a.contact-card-btn-primary-v2,
.contact-page-v2 a.contact-card-btn-secondary-v2 {
    background: #FFD700 !important;
    background-image: none !important;
    color: #000000 !important;
    -webkit-text-fill-color: #000000;
    border-color: rgba(0, 0, 0, 0.12) !important;
}

.contact-page-v2 a.contact-btn-yellow-v2:hover,
.contact-page-v2 a.contact-btn-yellow-v2:focus,
.contact-page-v2 a.contact-card-btn-primary-v2:hover,
.contact-page-v2 a.contact-card-btn-primary-v2:focus,
.contact-page-v2 a.contact-card-btn-secondary-v2:hover,
.contact-page-v2 a.contact-card-btn-secondary-v2:focus {
    background: #FFD700 !important;
    color: #000000 !important;
    -webkit-text-fill-color: #000000;
}

.contact-page-v2 a.contact-btn-dark-v2 {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff;
    border-color: rgba(255, 255, 255, 0.24) !important;
}

.contact-page-v2 a.contact-btn-dark-v2:hover,
.contact-page-v2 a.contact-btn-dark-v2:focus {
    background: #FFD700 !important;
    color: #000000 !important;
    -webkit-text-fill-color: #000000;
    border-color: #FFD700 !important;
}

.cms-story-page a.cms-story-btn-primary,
.cms-story-page a.cms-cta-btn,
.cms-built-page a.cms-cta-btn,
.cms-built-page a.cms-story-btn-primary {
    background: #FFD700 !important;
    background-image: none !important;
    color: #000000 !important;
    -webkit-text-fill-color: #000000;
    border-color: rgba(0, 0, 0, 0.12) !important;
}

.cms-story-page a.cms-story-btn-primary:hover,
.cms-story-page a.cms-story-btn-primary:focus,
.cms-story-page a.cms-cta-btn:hover,
.cms-story-page a.cms-cta-btn:focus,
.cms-built-page a.cms-cta-btn:hover,
.cms-built-page a.cms-cta-btn:focus,
.cms-built-page a.cms-story-btn-primary:hover,
.cms-built-page a.cms-story-btn-primary:focus {
    background: #FFD700 !important;
    color: #000000 !important;
    -webkit-text-fill-color: #000000;
}

.cms-story-page a.cms-story-btn-secondary {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff;
    border-color: rgba(255, 255, 255, 0.24) !important;
}

.cms-story-page a.cms-story-btn-secondary:hover,
.cms-story-page a.cms-story-btn-secondary:focus {
    background: #FFD700 !important;
    color: #000000 !important;
    -webkit-text-fill-color: #000000;
    border-color: #FFD700 !important;
}

.card-pagination-wrap {
    margin-top: clamp(1.5rem, 3vw, 2.5rem);
    padding-top: 0.35rem;
}

.card-pagination-summary {
    margin: 0 0 0.85rem;
    text-align: center;
    color: #5c5c5c;
    font-size: 0.88rem;
    font-weight: 600;
}

.card-pagination {
    gap: 0.35rem;
}

.card-pagination .page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.45rem;
    min-height: 2.45rem;
    padding: 0.45rem 0.72rem;
    border-radius: 999px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    color: #101010 !important;
    background: #ffffff;
    font-weight: 800;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.card-pagination .page-link:hover,
.card-pagination .page-link:focus {
    color: #101010 !important;
    background: rgba(255, 215, 0, 0.22);
    border-color: rgba(255, 215, 0, 0.55);
    transform: translateY(-1px);
}

.card-pagination .page-item.active .page-link {
    color: #000000 !important;
    background: #FFD700 !important;
    border-color: rgba(0, 0, 0, 0.12);
    box-shadow: 0 10px 24px rgba(255, 215, 0, 0.28);
}

.card-pagination .page-item.disabled .page-link {
    color: #9a9a9a !important;
    background: #f3f3f3;
    border-color: rgba(0, 0, 0, 0.08);
    box-shadow: none;
    opacity: 0.85;
}

/* Admin-uploaded hero backgrounds override per-page CSS defaults */
[class$="-hero-bg"].has-custom-hero-bg,
.products-hero-bg.has-custom-hero-bg,
.about-hero-bg.has-custom-hero-bg,
.certificates-compact-hero-bg.has-custom-hero-bg {
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

/* Mobile: lock page in place — no sideways drift or rubber-band past header/footer */
@media (max-width: 991.98px) {
    html,
    body {
        overscroll-behavior: none;
        overscroll-behavior-x: none;
        overscroll-behavior-y: none;
    }

    .site-page-shell,
    .site-main-pro,
    .home-showcase-page,
    .about-showcase-page,
    .cms-story-page,
    .cms-built-page,
    [class$="-page"] {
        max-width: 100%;
        overflow-x: clip;
    }

    .products-hero,
    .projects-hero,
    .clients-hero,
    .facilities-hero,
    .blog-hero,
    .about-hero,
    .home-hero,
    .hero-carousel,
    .cms-story-hero,
    .certificates-compact-hero,
    header[class*="hero"] {
        overflow-x: clip;
        max-width: 100%;
    }

    .container,
    .container-fluid {
        max-width: 100%;
    }

    img,
    video,
    iframe,
    table {
        max-width: 100%;
    }
}
