/* === GLOBAL RESET & UTILITIES === */
:root {
    /* Mapping Design Tokens to Legacy names if needed (or just use tokens directly) */
    --max-width: 1440px;
    --spacing-container: 40px;

    /* Legacy Compatibility Layer */
    --primary-blue: var(--accent);
    --primary-blue-hover: var(--accent-hover);
    --secondary-accent: var(--primary);
    --text-main: var(--text-primary);
    --text-secondary: var(--text-secondary);
    --white: #FFFFFF;
    --bg-page: var(--bg-main);
    --bg-primary: var(--bg-main);
    --border-color: rgba(15, 23, 42, 0.08);
    --border-radius-md: var(--radius-md);
    --border-radius-lg: var(--radius-lg);
    --radius-xl: 32px;
    --shadow-md: var(--shadow-card);

    --fs-h1: clamp(28px, 4.5vw, 46px);
    --fs-h2: clamp(22px, 3.2vw, 42px);
    --fs-h3: clamp(18px, 2.2vw, 28px);

    --lh-tight: 1.4;
    --lh-normal: 1.3;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-body);
    color: var(--text-primary);
    background-color: var(--bg-main);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    line-height: 1.6;
}

h1,
h2,
h3 {
    font-family: var(--font-heading);
    font-weight: 700;
    line-height: var(--lh-tight);
    color: var(--primary);
}

h1 {
    font-size: var(--fs-h1);
}

h2 {
    font-size: var(--fs-h2);
}

h3 {
    font-size: var(--fs-h3);
    line-height: var(--lh-normal);
}

a {
    text-decoration: none;
    color: inherit;
    transition: var(--transition-fast);
}

button {
    border: none;
    background: none;
    font-family: inherit;
    cursor: pointer;
    transition: var(--transition-fast);
	text-transform: uppercase;
}

.container {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 var(--spacing-container);
}

/* ===== HEADER ===== */
.top-bar {
    background-color: var(--primary);
    color: var(--text-inverse);
    padding: 10px 0;
    font-size: 13px;
    font-weight: 500;
}

.top-bar-content {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
}

.top-bar-link {
    background: rgba(255, 255, 255, 0.1);
    padding: 4px 12px;
    border-radius: var(--radius-full);
    font-size: 12px;
    font-weight: 600;
}

.top-bar-link:hover {
    background: rgba(255, 255, 255, 0.2);
}

.main-header-content {
    padding-bottom: 24px;
    background: var(--bg-card);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.header-top {
    display: flex;
    justify-content: space-between;
    padding-top: 12px;
    padding-bottom: 12px;
    font-size: 13px;
    color: var(--text-secondary);
}

.header-top-nav,
.header-top-actions {
    display: flex;
    gap: 24px;
    align-items: center;
}

.location-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--primary);
    font-weight: 600;
}

.header-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 16px;
}

.header-left {
    display: flex;
    align-items: center;
    gap: 40px;
}

.logo {
    display: block;
}

.btn-catalog {
    background-color: var(--primary);
    color: var(--text-inverse);
    padding: 12px 24px;
    border-radius: var(--radius-md);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    box-shadow: var(--shadow-sm);
}

.btn-catalog:hover {
    background-color: var(--accent);
    transform: translateY(-1px);
    box-shadow: var(--shadow-hover);
}



/* ===== PREMIUM HEADER 2026 ===== */
.header-industrial {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: #1361d6;
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    /* Subtle separator */
    height: 80px;
    display: flex;
    align-items: center;
}

.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    width: 100%;
}

/* 1. Logo */
.logo-tech {
    display: flex;
    align-items: center;
    text-decoration: none;
    transition: transform 0.2s;
}

.logo-tech:hover {
    transform: scale(1.02);
}

.logo-tech svg {
    height: 32px;
    width: auto;
}

/* 2. Main Nav */
.nav-industrial {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.nav-industrial>a {
    display: inline-block;
    padding: 8px 16px;
    margin: 0;
}

.nav-link {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    position: relative;
    padding: 8px 20px;
    transition: color 0.2s;
    white-space: nowrap;
    display: inline-block;
}

.nav-link:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0%;
    height: 2px;
    background: var(--accent);
    transition: width 0.3s ease;
}

.nav-link:hover {
    color: var(--accent);
}

.nav-link:hover:after {
    width: 100%;
}

/* HOT MARKER for Promotions */
.nav-link[href*="special-offers"] {
    position: relative;
    padding-right: 12px;
}

.nav-link[href*="special-offers"]::before {
    content: '';
    position: absolute;
    top: 6px;
    right: 0;
    width: 6px;
    height: 6px;
    background-color: var(--secondary-accent);
    border-radius: 50%;
    box-shadow: 0 0 8px var(--secondary-accent);
}

/* UTILITY: Orange Text */
.text-orange {
    color: var(--secondary-accent) !important;
}

/* 3. Actions */
.header-actions {
    display: flex;
    align-items: center;
    gap: 24px;
}

.phone-link {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
}

/* ORANGE ACCENTS STRATEGY */
.stat-num {
    color: var(--secondary-accent);
}

.cta-badge {
    background: var(--secondary-accent-light) !important;
    color: var(--text-primary);
    border: 1px solid var(--secondary-accent-light);
}

.cta-badge svg {
    color: var(--secondary-accent);
}

.trust-badge svg {
    color: var(--secondary-accent);
}

.btn-address-program {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--accent);
    color: white;
    padding: 12px 24px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
    transition: all 0.2s;
    box-shadow: 0 4px 10px rgba(37, 99, 235, 0.2);
	text-transform: uppercase;
}

.btn-address-program:hover {
    background: var(--primary);
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(37, 99, 235, 0.3);
}

.menu-toggle-tech {
    display: none;
    /* Desktop hidden */
    background: none;
    border: none;
    font-size: 28px;
    color:#fff;
    cursor: pointer;
}

/* ===== ЭТАП 1: MOBILE HEADER RESPONSIVE ===== */

/* Tablet (1024px and below) */
@media (max-width: 1024px) {
    .header-industrial {
        height: 70px;
        padding: 0 20px;
    }

    .header-container {
        gap: 12px;
    }

    .nav-industrial {
        display: none;
    }

    .phone-link {
        display: none;
    }

    .menu-toggle-tech {
        display: block;
        font-size: 24px;
        padding: 8px;
    }

    .btn-address-program {
        padding: 10px 16px;
        font-size: 13px;
    }

    .btn-address-program span {
        display: none;
    }

    .header-actions {
        gap: 12px;
    }
}



/* Extra Small (480px and below) */


/* ===== MOBILE MENU SIDEBAR ===== */

.mobile-menu-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    z-index: 999;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.mobile-menu-overlay.active {
    display: block;
    opacity: 1;
}

.mobile-menu-sidebar {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    max-width: 320px;
    height: 100vh;
    background: white;
    z-index: 1001;
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    box-shadow: -10px 0 40px rgba(0, 0, 0, 0.15);
}

.mobile-menu-sidebar.active {
    display: block;
    transform: translateX(0);
}

.mobile-menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid #E2E8F0;
    background: white;
    position: sticky;
    top: 0;
    z-index: 10;
}

.mobile-menu-header h2 {
    font-size: 18px;
    font-weight: 700;
    color: var(--primary);
}

.mobile-menu-close {
    background: none;
    border: none;
    font-size: 24px;
    color: var(--text-primary);
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition-fast);
}

.mobile-menu-close:hover {
    color: var(--accent);
}

.mobile-menu-content {
    padding: 20px 0;
}

.mobile-menu-section {
    border-bottom: 1px solid #E2E8F0;
    padding: 20px 0;
}

.mobile-menu-section:last-child {
    border-bottom: none;
}

.mobile-menu-section-title {
    font-size: 12px;
    font-weight: 700;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 0 20px;
    margin-bottom: 12px;
}

.mobile-menu-list {
    list-style: none;
}

.mobile-menu-item {
    margin: 0;
}

.mobile-menu-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    color: var(--text-primary);
    text-decoration: none;
    font-weight: 500;
    font-size: 15px;
    transition: var(--transition-fast);
    border-left: 4px solid transparent;
}

.mobile-menu-link:hover {
    background: rgba(35, 113, 183, 0.05);
    color: var(--accent);
    border-left-color: var(--accent);
}

.mobile-menu-link svg {
    font-size: 20px;
    flex-shrink: 0;
}

.mobile-contact-block {
    padding: 20px;
    background: rgba(35, 113, 183, 0.05);
    border-radius: 12px;
    margin: 20px;
}

.mobile-contact-label {
    font-size: 12px;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.mobile-contact-phone {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 700;
    color: var(--accent);
    text-decoration: none;
}

.mobile-contact-phone svg {
    font-size: 20px;
}

.mobile-contact-address {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 16px;
    font-size: 13px;
    color: var(--text-secondary);
    line-height: 1.5;
}

.mobile-contact-address svg {
    font-size: 18px;
    color: var(--accent);
    flex-shrink: 0;
    margin-top: 2px;
}

.mobile-social-links {
    display: flex;
    gap: 12px;
    padding: 20px;
    justify-content: center;
}

.mobile-social-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(35, 113, 183, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent);
    font-size: 20px;
    transition: var(--transition-fast);
}

.mobile-social-btn:hover {
    background: var(--accent);
    color: white;
    transform: translateY(-2px);
}

/* ===== HERO SECTION (NEW GRAFIKS STYLE) ===== */
.hero-section {
    padding: 80px 0;
	    padding-top: 120px;
    background: linear-gradient(180deg, var(--bg-main) 0%, #FFFFFF 100%);
    position: relative;
    overflow: hidden;
}

.hero-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

/* Hero Content */
.hero-content {
    display: flex;
    flex-direction: column;
    gap: 32px;
    position: relative;
    z-index: 2;
}

.trust-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(37, 99, 235, 0.1);
    color: var(--accent);
    padding: 8px 16px;
    border-radius: var(--radius-full);
    font-size: 14px;
    font-weight: 600;
    width: fit-content;
}

.hero-title {
    font-family: var(--font-heading);
    font-size: var(--fs-h1);
    line-height: var(--lh-tight);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--primary);
}

.hero-title .text-accent {
    color: var(--accent);
    background: linear-gradient(90deg, var(--accent) 0%, #60A5FA 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.hero-subtitle {
    font-size: 18px;
    color: var(--text-secondary);
    max-width: 610px;
    line-height: 1.6;
}

.hero-actions {
    display: flex;
    gap: 16px;
    margin-top: 8px;
}

.btn-primary-lg {
    background: var(--primary);
    color: var(--text-inverse);
    padding: 16px 32px;
    border-radius: var(--radius-md);
    font-weight: 700;
    font-size: 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: var(--shadow-card);
}

.btn-primary-lg:hover {
    background: var(--accent);
    transform: translateY(-2px);
    box-shadow: var(--shadow-hover);
}

.btn-secondary-lg {
    background: white;
    color: var(--text-primary);
    border: 1px solid #E2E8F0;
    padding: 16px 32px;
    border-radius: var(--radius-md);
    font-weight: 600;
    font-size: 16px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.btn-secondary-lg:hover {
    border-color: var(--accent);
    color: var(--accent);
    background: #FaFaFa;
}

.btn-primary-red {
    background: var(--secondary-accent);
    color: white;
    padding: 16px 32px;
    border-radius: var(--radius-md);
    font-weight: 700;
    font-size: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    border: none;
    cursor: pointer;
    gap: 10px;
    box-shadow: var(--shadow-card);
}

.btn-primary-red:hover {
    background: var(--secondary-accent-light);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(249, 115, 22, 0.3);
}

.highlight-tag {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    background: #FFF7ED;
    border: 1px solid #FFEDD5;
    border-radius: 100px;
    color: var(--secondary-accent);
    font-weight: 700;
    font-size: 14px;
}

/* Hero Numbers */
.hero-stats {
    display: flex;
    align-items: center;
    gap: 32px;
    margin-top: 16px;
}

.stat-item {
    display: flex;
    flex-direction: column;
}

.stat-num {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 800;
    color: var(--primary);
}

.stat-label {
    font-size: 12px;
    color: var(--text-muted);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.stat-divider {
    width: 1px;
    height: 40px;
    background: #E2E8F0;
}

/* Right Visual */
.hero-visual {
    position: relative;
}

.visual-card-wrapper {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: visible;
    display: flex;
    justify-content: flex-end;
}

/* Video Container */
.video-container {
    position: relative;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    transition: transform 0.5s ease;
}

.visual-card-wrapper:hover .video-container {
    transform: scale(1.01);
}

.play-btn-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    transition: transform 0.3s;
    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.3));
}

.video-container:hover .play-btn-overlay {
    transform: translate(-50%, -50%) scale(1.1);
}

/* Dynamic Info Block (New) */
.dynamic-info-block {
    position: absolute;
    bottom: 40px;
    right: -20px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(0, 0, 0, 0.05);
    padding: 16px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    gap: 16px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    text-decoration: none;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    max-width: 320px;
    animation: float 6s ease-in-out infinite;
}

.dynamic-info-block:hover {
    transform: translateY(-5px);
}

.info-img img {
    width: 60px;
    height: 60px;
    border-radius: 12px;
    object-fit: cover;
}

.info-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.info-badge {
    font-size: 10px;
    font-weight: 800;
    color: var(--secondary-accent);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.info-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--text-primary);
}

.info-subtitle {
    font-size: 12px;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    gap: 4px;
}


/* Tablet (1024px and below) */
@media (max-width: 1024px) {
    .hero-section {
        padding: 60px 0 40px;
    }

    .hero-wrapper {
        gap: 32px;
    }

    .hero-title {
        font-size: 42px;
        line-height: 1.2;
    }

    .hero-subtitle {
        font-size: 16px;
    }

    .hero-stats {
        gap: 24px;
    }

    .trust-badge {
        font-size: 13px;
        padding: 6px 14px;
    }
}


/* Hero Mobile Responsive */
@media (max-width: 992px) {
    .hero-wrapper {
        grid-template-columns: 1fr;
        gap: 40px;
        text-align: center;
    }

    .hero-content {
        align-items: center;
    }

    .hero-title {
        font-size: 36px;
    }

    .hero-actions {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
    }

    .btn-primary-lg,
    .btn-secondary-lg {
        justify-content: center;
    }

    .hero-stats {
        justify-content: center;
        flex-wrap: wrap;
    }

    .visual-card-wrapper {
        justify-content: center;
    }

    .dynamic-info-block {
        right: 0;
        bottom: 20px;
        position: relative;
        margin-top: 20px;
        max-width: 100%;
    }
}

/* Mobile Hero Fixes (< 768px) */
@media (max-width: 768px) {
    .hero-section {
        padding: 100px 0 30px;
        overflow-x: hidden;
    }

    .hero-wrapper {
        grid-template-columns: 1fr;
        gap: 24px;
        width: 100%;
        /* removed padding here, handled by container */
    }

    .hero-content {
        width: 100%;
        max-width: 100%;
        align-items: center;
        text-align: center;
    }

    .hero-title {
        font-size: 28px;
        line-height: 1.2;
        word-wrap: break-word;
        overflow-wrap: break-word;
        max-width: 100%;
    }

    .hero-actions {
        width: 100%;
        max-width: 100%;
        flex-direction: column;
        gap: 12px;
        align-items: stretch;
    }

    .btn-primary-lg,
    .btn-secondary-lg {
        width: 100%;
        max-width: 100%;
        padding: 14px 20px;
        font-size: 15px;
        justify-content: center;
        white-space: normal;
        text-align: center;
        height: auto;
    }

    /* Ensure visual card doesn't overflow */
    .visual-card-wrapper {
        width: 100%;
        height: auto;
        aspect-ratio: 16/9;
        margin-top: 20px;
        display: flex;
        flex-direction: column;
    }
}

/* Cleanup Floating Cards */
.float-card,
.tech-card,
.status-card {
    display: none;
}

/* .status-card removed */

.icon-box {
    width: 48px;
    height: 48px;
    background: var(--primary);
    color: white;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.float-label {
    font-size: 12px;
    color: var(--text-muted);
}

/* Old float card styles removed */
/* Cleaned up float styles */

@keyframes float {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

/* Social Proof Ticker */
.partners-ticker {
    margin-top: 60px;
    border-top: 1px solid #E2E8F0;
    padding-top: 24px;
    display: flex;
    align-items: center;
    gap: 40px;
}

.ticker-label {
    font-size: 14px;
    color: var(--text-muted);
    font-weight: 600;
    white-space: nowrap;
}

.ticker-wrapper {
    display: flex;
    gap: 40px;
    opacity: 0.5;
    filter: grayscale(100%);
}

.partner-logo {
    font-weight: 800;
    font-size: 20px;
    color: var(--text-secondary);
    letter-spacing: -0.02em;
}


.section-bento {
    padding: 100px 0;
    background: var(--bg-main);
}

.section-header-industrial {
    margin-bottom: 60px;
    position: relative;
    padding-left: 24px;
    border-left: 4px solid var(--accent);
}

.section-header-industrial h2 {
    font-family: var(--font-heading);
    font-size: var(--fs-h2);
    line-height: var(--lh-tight);
    font-weight: 700;
    margin-bottom: 12px;
    color: var(--primary);
}

.section-header-industrial p {
    font-size: 18px;
    color: var(--text-secondary);
}

/* Bento Grid fixes */
.bento-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: minmax(300px, auto);
    gap: 24px;
}

.bento-card {
    background: var(--bg-card);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    padding: 32px;
    position: relative;
    border: 1px solid rgba(0, 0, 0, 0.05);
    overflow: hidden;
    transition: var(--transition-smooth);
    display: flex;
    flex-direction: column;
}

.bento-card:hover {
    box-shadow: var(--shadow-hover);
    transform: translateY(-4px);
}

/* 1. Metrics (Top Left - Wide) */
.card-metrics {
    grid-column: 1 / span 1;
    grid-row: 1 / span 2;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 32px;
}

.card-header h3 {
    font-size: 24px;
    font-weight: 700;
}

.custom-advantages-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.custom-advantages-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 15px;
    line-height: 1.4;
    color: var(--text-main);
    font-weight: 500;
}

.custom-advantages-list .adv-icon {
    color: var(--accent);
    font-size: 24px;
    flex-shrink: 0;
    margin-top: -2px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.metrics-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.metric-item {
    display: flex;
    flex-direction: column;
}

.metric-val {
    font-size: 32px;
    font-weight: 800;
    color: var(--accent);
    font-family: var(--font-heading);
}

.metric-desc {
    font-size: 13px;
    color: var(--text-muted);
    font-weight: 600;
}

/* 2. Owner (Tall Left - Adjusted to Row 2) */
.card-owner {
    grid-column: 1 / span 1;
    grid-row: 2;
    background: #F1F5F9;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
}

.icon-stamp {
    width: 48px;
    height: 48px;
    background: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary);
    font-size: 24px;
    margin-bottom: 16px;
    box-shadow: var(--shadow-sm);
    z-index: 2;
}

.owner-visual-container {
    flex-grow: 1;
    width: 100%;
    margin: 16px 0;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    max-height: 200px;
    box-shadow: var(--shadow-sm);
    border: 1px solid rgba(255, 255, 255, 0.5);
}

.owner-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.card-owner:hover .owner-img {
    transform: scale(1.05);
}

.card-owner .card-content-bottom {
    position: relative;
    z-index: 2;
}

.owner-visual-abstract {
    position: absolute;
    bottom: -20px;
    right: -20px;
    width: 150px;
    height: 150px;
    background: radial-gradient(circle, rgba(96, 165, 250, 0.1) 0%, transparent 70%);
    z-index: 1;
}

.card-content-bottom {
    position: relative;
    z-index: 1;
}

.card-content-bottom p {
    color: rgba(255, 255, 255, 0.7);
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.5;
}

/* 3. Lead Gen (Bento Form) */
.card-form {
    grid-column: 4 / span 1;
    grid-row: 1 / span 2;
    background: white;
    color: var(--text-main);
    border: 1px solid #E2E8F0;
}

.form-header-compact h3 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 4px;
    color: var(--text-main);
}

.form-header-compact p {
    font-size: 13px;
    color: var(--text-secondary);
    margin-bottom: 24px;
}

.bento-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.input-industrial {
    width: 100%;
    padding: 14px;
    border: 1px solid #E2E8F0;
    border-radius: var(--radius-sm);
    background: white;
    font-family: inherit;
    font-size: 14px;
    transition: all 0.2s;
}

.input-industrial:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
    outline: none;
}

.btn-accent-block {
    width: 100%;
    background: var(--accent);
    color: white;
    padding: 14px;
    border-radius: var(--radius-sm);
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 8px;
}

.btn-accent-block:hover {
    background: var(--accent-hover);
}

.privacy-mini {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 11px;
    color: var(--text-muted);
    line-height: 1.3;
}

/* 4. Tech Monitoring (Right) */
.card-tech {
    grid-column: 4 / span 1;
    grid-row: 1;
    background: #0B1120;
    /* Deep monitoring bg */
    color: white;
}

.tech-overlay {
    z-index: 2;
}

.monitor-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 10px;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #10B981;
    border: 1px solid rgba(16, 185, 129, 0.3);
    padding: 4px 8px;
    border-radius: 4px;
    margin-bottom: 12px;
}

.dot-live {
    width: 6px;
    height: 6px;
    background: #10B981;
    border-radius: 50%;
    box-shadow: 0 0 8px #10B981;
}

.dashboard-ui-mockup {
    position: absolute;
    bottom: -20px;
    right: -20px;
    width: 150px;
    height: 100px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.05);
    transform: rotate(-10deg);
}

.dash-row {
    height: 8px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    margin-bottom: 8px;
    overflow: hidden;
}

.dash-bar {
    height: 100%;
    background: var(--accent);
}

/* 5. Inventory Formats (Wide Bottom) POINTER TO CATALOG */
.card-formats {
    grid-column: 2 / span 2;
    grid-row: 1 / span 2;
    background: white;
    display: flex;
    flex-direction: column;
}

.formats-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 24px;
}

.formats-header h3 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 4px;
    color: var(--primary);
}

.formats-sub {
    font-size: 14px;
    color: var(--text-secondary);
}

.formats-grid-tech {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* 2 Cols on typical desktop to fill space nicely, or 4? 4 is better for wide */
    gap: 20px;
    flex-grow: 1;
}

/* Make it responsive right here for 4 cols on wide */
@media (min-width: 1200px) {
    .formats-grid-tech {
        grid-template-columns: repeat(3, 1fr);
    }
}

.format-item-tech {
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    min-height: 140px;
    /* Ensure height for image */
}

/* Image Background Support */
.format-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
    transition: transform 0.5s ease;
    /* Placeholder fallback color if no image */
    background-color: #F8FAFC;
}

.fmt-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Dark overlay for readability */
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.8) 100%);
    z-index: 1;
    transition: opacity 0.3s ease;
}

.format-item-tech:hover .format-bg {
    transform: scale(1.1);
}

.format-item-tech:hover .fmt-overlay {
    opacity: 0.85;
    /* Slightly show image through on hover if present */
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.9) 100%);
}

/* Content wrapper ensuring z-index above bg */
.fmt-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
}

.format-item-tech:hover {
    box-shadow: 0 10px 30px rgba(35, 113, 183, 0.15);
    border-color: var(--accent);
    transform: translateY(-4px);
}

.fmt-icon-box {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: #EFF6FF;
    color: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-bottom: 12px;
    transition: background 0.3s;
}

.format-item-tech:hover .fmt-icon-box {
    background: var(--accent);
    color: white;
}

.fmt-info {
    display: flex;
    flex-direction: column;
}

.fmt-name {
    font-weight: 700;
    font-size: 15px;
    color: white;
    margin-bottom: 2px;
}

.fmt-meta {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.7);
}

.fmt-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    font-size: 10px;
    font-weight: 800;
    color: var(--secondary-accent);
    /* Orange Text */
    background: var(--secondary-accent-light);
    /* Light Orange Bg */
    padding: 2px 6px;
    border-radius: 4px;
    z-index: 3;
}

/* Text Readability Fixes */
.step-num {
    font-family: var(--font-heading);
    font-size: 32px;
    font-weight: 800;
    color: var(--text-muted);
    /* Darker than CBD5E1 */
    opacity: 0.3;
    /* Subtle but visible */
}

.active .step-num {
    color: var(--accent);
    opacity: 1;
}

/* Tech Card Visibility */
.card-tech h3 {
    position: relative;
    z-index: 5;
    color: #000;
}

/* Responsive Bento */
@media (max-width: 1024px) {
    .bento-wrapper {
        grid-template-columns: 1fr 1fr;
    }

    .card-metrics {
        grid-column: span 2;
    }

    .card-form {
        grid-column: span 2;
    }

    .card-formats {
        grid-column: span 2;
    }
}

@media (max-width: 768px) {
    .bento-wrapper {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .metric-desc {
        text-align: center;
    }

    .bento-card {
        padding: 24px;
        min-height: auto;
    }

    .metrics-grid {
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }

    .metric-val {
        font-size: 24px;
    }

    .owner-visual-container {
        height: 180px;
    }

    /* Full Screen Cards on Mobile */
    .bento-card.card-owner,
    .bento-card.card-tech {
        width: 210%;
    }
}


/* ===== MAP SHOWCASE (2026 INDUSTRIAL) ===== */
.section-map-teaser {
    padding: 100px 0;
    background: var(--bg-main);
    overflow: hidden;
}

.map-showcase-wrapper {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 48px;
    align-items: center;
    background: white;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-hover);
    padding: 12px;
}

/* Left Controls */
.map-controls-panel {
    padding: 32px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.panel-header {
    margin-bottom: 32px;
}

.live-dot-container {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.live-ping {
    width: 10px;
    height: 10px;
    background: #EF4444;
    border-radius: 50%;
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7);
    animation: pulse-red 2s infinite;
}

.live-status {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #EF4444;
    text-transform: uppercase;
}

@keyframes pulse-red {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7);
    }

    70% {
        transform: scale(1);
        box-shadow: 0 0 0 10px rgba(239, 68, 68, 0);
    }

    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(239, 68, 68, 0);
    }
}

.panel-header h2 {
    font-family: var(--font-heading);
    font-size: var(--fs-h2);
    line-height: var(--lh-tight);
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 8px;
}

.panel-header p {
    color: var(--text-secondary);
    font-size: 16px;
}

.map-filters-ui {
    margin-bottom: 40px;
    background: #F8FAFC;
    padding: 24px;
    border-radius: var(--radius-md);
    border: 1px solid #E2E8F0;
}

.filter-group-header {
    font-size: 12px;
    font-weight: 700;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 12px;
}

.filter-toggles {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.toggle-btn {
    cursor: pointer;
}

.toggle-visual {
    padding: 8px 16px;
    border-radius: var(--radius-full);
    font-size: 13px;
    font-weight: 600;
    color: var(--text-secondary);
    background: white;
    border: 1px solid #CBD5E1;
    transition: all 0.2s;
    display: inline-block;
}

.toggle-btn input {
    display: none;
}

.toggle-btn input:checked+.toggle-visual {
    background: var(--primary);
    color: white;
    border-color: var(--primary);
    box-shadow: 0 2px 4px rgba(15, 23, 42, 0.1);
}

.dropdown-mockup {
    background: white;
    border: 1px solid #CBD5E1;
    border-radius: var(--radius-sm);
    padding: 12px 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--text-primary);
    font-weight: 500;
    font-size: 14px;
    cursor: pointer;
}

.width-full {
    width: 100%;
}

.btn-primary-tech-lg {
    background: var(--accent);
    color: white;
    padding: 18px 32px;
    border-radius: var(--radius-md);
    font-weight: 700;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: var(--transition-fast);
}

.btn-primary-tech-lg:hover {
    background: var(--accent-hover);
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(37, 99, 235, 0.25);
}

.map-subtext {
    font-size: 13px;
    color: var(--text-muted);
    text-align: center;
    margin-top: 12px;
}

.today-date {
    color: var(--success);
    font-weight: 600;
}

.mt-4 {
    margin-top: 16px;
}

/* Right Visual */
.map-visual-container {
    position: relative;
    height: 500px;
    border-radius: 16px;
    overflow: hidden;
    background: #0F172A;
}

.map-bg {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0.6;
    transform: scale(1.1);
    transition: transform 10s ease-out;
}

.map-showcase-wrapper:hover .map-bg {
    transform: scale(1.0);
}

.map-overlay-layer {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, transparent 40%, rgba(15, 23, 42, 0.8) 100%);
    pointer-events: none;
}

.map-pin {
    position: absolute;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pin-head {
    width: 12px;
    height: 12px;
    background: var(--accent);
    border: 2px solid white;
    border-radius: 50%;
    position: relative;
    z-index: 2;
}

.pin-pulse {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(37, 99, 235, 0.5);
    border-radius: 50%;
    animation: pin-pulse 2s infinite;
}

.pin-2 .pin-pulse {
    animation-delay: 0.5s;
    background: rgba(16, 185, 129, 0.5);
}

.pin-2 .pin-head {
    background: var(--success);
}

.pin-3 .pin-pulse {
    animation-delay: 1.0s;
}

@keyframes pin-pulse {
    0% {
        transform: scale(0.5);
        opacity: 1;
    }

    100% {
        transform: scale(3);
        opacity: 0;
    }
}

.map-stat-card {
    position: absolute;
    bottom: 32px;
    left: 32px;
    background: rgba(255, 255, 255, 0.9);
    padding: 12px 20px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 16px;
    backdrop-filter: blur(8px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    transform: translateY(20px);
    opacity: 0;
    animation: slideUpFade 0.6s 0.5s forwards;
}

.stat-icon-box {
    width: 40px;
    height: 40px;
    background: var(--primary);
    color: white;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}

.stat-val {
    font-weight: 800;
    font-size: 18px;
    color: var(--primary);
    line-height: 1;
}

.stat-lbl {
    font-size: 11px;
    color: var(--text-muted);
}

@keyframes slideUpFade {
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@media (max-width: 1024px) {
    .map-showcase-wrapper {
        grid-template-columns: 1fr;
    }

    .map-controls-panel {
        padding-bottom: 0;
    }

    .map-visual-container {
        height: 300px;
    }
}


/* Responsive Map Teaser */
@media (max-width: 1024px) {
    .map-showcase-wrapper {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 24px;
    }

    .map-visual-container {
        height: 400px;
    }
}

@media (max-width: 768px) {
    .section-map-teaser {
        padding: 60px 0;
    }

    .map-showcase-wrapper {
        padding: 0;
        box-shadow: none;
        background: transparent;
        gap: 24px;
    }

    .map-controls-panel {
        padding: 0;
    }

    .map-visual-container {
        height: 300px;
        border-radius: 12px;
    }

    .map-stat-card {
        bottom: 16px;
        right: 16px;
        left: 16px;
        width: auto;
    }
}


/* ===== SPECIAL OFFERS (2026 TECH STYLE) ===== */
.section-offers {
    padding: 100px 0;
    background: linear-gradient(180deg, var(--bg-main) 0%, #FFFFFF 100%);
    position: relative;
}

.offers-grid-tech {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
}

.offer-card-tech {
    border-radius: 24px;
    position: relative;
    overflow: hidden;
    min-height: 480px;
    transition: var(--transition-smooth);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.offer-card-tech:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-hover);
}

/* Card 1: Promo Glass */
.card-promo-glass {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    padding: 48px;
    box-shadow: var(--shadow-card);
}

.card-glow {
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(37, 99, 235, 0.05) 0%, transparent 60%);
    opacity: 0.5;
    pointer-events: none;
}

.offer-content-tech {

    z-index: 2;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
}

.offer-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(90deg, #EFF6FF 0%, #DBEAFE 100%);
    color: var(--accent);
    padding: 8px 16px;
    border-radius: var(--radius-full);
    font-size: 14px;
    font-weight: 700;
    width: fit-content;
    margin-bottom: 24px;
}

.badge-purple {
    background: linear-gradient(90deg, #F3E8FF 0%, #E9D5FF 100%);
    color: #9333EA;
}

.offer-content-tech h3 {
    font-family: var(--font-heading);
    font-size: 36px;
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 24px;
}

.text-gradient {
    background: var(--accent);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.offer-features {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 32px;
}

.offer-features li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 16px;
    color: var(--text-primary);
    font-weight: 500;
}

.offer-features svg {
    color: var(--accent);
    font-size: 20px;
}

.price-block {
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: 24px;
}

.old-price {
    font-size: 18px;
    color: var(--text-muted);
    text-decoration: line-through;
    font-weight: 500;
}

.btn-primary-tech {
    background: var(--primary);
    color: white;
    padding: 16px 32px;
    border-radius: var(--radius-md);
    font-weight: 700;
    font-size: 16px;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.2);
    transition: var(--transition-fast);
}

.btn-primary-tech:hover {
    background: var(--accent);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(37, 99, 235, 0.3);
}

/* Card 2: Mall Exclusive (Image Bg) */
.card-mall-glass {
    position: relative;
    background: #000;
    color: white;
}

.offer-bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    z-index: 0;
    transition: transform 0.5s ease;
}

.card-mall-glass:hover .offer-bg-image {
    transform: scale(1.05);
}

.offer-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.offer-content-tech.dark-mode {
    padding: 48px;
    justify-content: flex-end;
}

.text-white {
    color: white;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8);
}

.offer-content-tech.dark-mode h3,
.offer-content-tech.dark-mode .offer-desc,
.offer-content-tech.dark-mode .m-stat {
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8);
}

.offer-desc {
    color: rgba(255, 255, 255, 0.8);
    font-size: 16px;
    margin-bottom: 32px;
    max-width: 90%;
}

.mall-stats {
    display: flex;
    gap: 32px;
    margin-bottom: 32px;
}

.m-stat {
    display: flex;
    flex-direction: column;
}

.m-val {
    font-size: 34px;
    font-weight: 700;
    color: white;
}

.m-label {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
}

.m-divider {
    width: 1px;
    background: rgba(255, 255, 255, 0.2);
}

.btn-blur-tech {
    background: rgb(3 63 148);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: white;
    padding: 14px 28px;
    border-radius: var(--radius-md);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 12px;
    width: fit-content;
}

.btn-blur-tech:hover {
    background: white;
    color: var(--primary);
}

/* 3D Shapes (Abstract) */
.offer-visual-3d {
    position: absolute;
    right: -40px;
    bottom: -40px;
    width: 200px;
    height: 200px;
    opacity: 0.1;
    background: var(--accent);
    filter: blur(60px);
    border-radius: 50%;
}

/* Responsive Special Offers */
@media (max-width: 1024px) {
    .offers-grid-tech {
        gap: 24px;
    }
}

@media (max-width: 768px) {
    .section-offers {
        padding: 60px 0;
    }

    .offers-grid-tech {
        grid-template-columns: 1fr;
    }

    .offer-card-tech {
        min-height: auto;
    }

    .card-promo-glass,
    .offer-content-tech.dark-mode {
        padding: 30px;


    }

    .offer-content-tech h3 {
        padding-top: 10px;
        font-size: 24px;
        line-height: 35px;
        color: #033f94;
    }

    .c-step:hover,
    .c-step.active {
        gap: 5vw;
        align-items: baseline;
    }

    .price-block {

        flex-direction: column;
    }
}


/* ===== RELIABILITY GRID (2026 INDUSTRIAL) ===== */
.section-industrial {
    padding: 100px 0;
    background: var(--bg-main);
}

.reliability-grid {
    display: grid;
    grid-template-columns: 1fr 1.5fr 0.5fr;
    grid-template-rows: auto auto;
    gap: 24px;
}

.rel-card {
    background: white;
    border: 1px solid #E2E8F0;
    border-radius: var(--radius-lg);
    padding: 32px;
    transition: var(--transition-smooth);
    position: relative;
    overflow: hidden;
}

.rel-card:hover {
    box-shadow: var(--shadow-hover);
    transform: translateY(-4px);
    border-color: var(--accent);
}

/* 1. Official (Left Tall) */
.card-official {
    grid-column: 1;
    grid-row: 1 / span 2;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%);
}

.rel-icon-box {
    width: 56px;
    height: 56px;
    background: #DCFCE7;
    /* Success Light */
    color: var(--success);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    margin-bottom: 24px;
}

.rel-icon-box.blue {
    background: #EFF6FF;
    color: var(--accent);
}

.card-official h3 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 16px;
    color: var(--primary);
}

.card-official p {
    color: var(--text-secondary);
    line-height: 1.6;
    margin-bottom: 32px;
}

.doc-preview-visual {
    position: relative;
    height: 200px;
    background: #E2E8F0;
    border-radius: 12px;
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.doc-page {
    width: 60%;
    height: 80%;
    background: white;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    border-radius: 4px;
}

.doc-stamp {
    position: absolute;
    bottom: 20px;
    right: 20px;
    border: 2px solid var(--success);
    color: var(--success);
    font-weight: 700;
    font-size: 14px;
    padding: 4px 8px;
    transform: rotate(-15deg);
    border-radius: 4px;
    text-transform: uppercase;
    background: rgba(255, 255, 255, 0.8);
}

/* 2. Cycle (Top Right Wide) */
.card-cycle {
    grid-column: 2 / span 2;
    grid-row: 1;
}

.rel-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 32px;
}

.rel-header .rel-icon-box {
    margin-bottom: 0;
    width: 48px;
    height: 48px;
    font-size: 24px;
}

.rel-header h3 {
    font-size: 24px;
    font-weight: 700;
}

.cycle-steps-tech {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.c-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
    opacity: 0.5;
    transition: opacity 0.3s;
}

.c-step:hover,
.c-step.active {
    opacity: 1;
}

.step-num {
    font-family: var(--font-heading);
    font-size: 32px;
    font-weight: 800;
    color: #CBD5E1;
}

.active .step-num {
    color: var(--accent);
}

.step-txt {
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
}

.c-line {
    flex: 1;
    height: 2px;
    background: #E2E8F0;
    margin: 0 20px;
    position: relative;
    top: -10px;
}

/* 3. Stats (Bottom Specific) */
.rel-stat-group {
    grid-column: 2 / span 2;
    grid-row: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.stat-mini {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.stat-big {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 800;
    color: var(--primary);
    line-height: 1;
    margin-bottom: 8px;
}

.stat-lbl {
    font-size: 14px;
    color: var(--text-secondary);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

@media (max-width: 1024px) {
    .reliability-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .card-official,
    .card-cycle,
    .rel-stat-group {
        grid-column: 1;
        grid-row: auto;
    }

    .cycle-steps-tech {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }

    .c-line {
        display: none;
    }

    .c-step {
        flex-direction: row;
        opacity: 1;
    }
}

/* ===== CTA MANAGER (2026 INDUSTRIAL) ===== */
.section-cta-industrial {
    padding: 100px 0;
    background: white;
}

.cta-industrial-wrapper {
    background: var(--primary);
    border-radius: var(--radius-lg);
    overflow: hidden;
    position: relative;
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    color: white;
    box-shadow: var(--shadow-hover);
}

.cta-industrial-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 70% 30%, rgba(37, 99, 235, 0.2) 0%, transparent 60%);
    pointer-events: none;
}

/* Left: Content */
.cta-content-side {
    padding: 60px;
    z-index: 2;
    position: relative;
}

.cta-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.1);
    color: #60A5FA;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 24px;
}

.cta-content-side h2 {
    font-family: var(--font-heading);
    font-size: 40px;
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 24px;
    color: white;
}

.cta-desc {
    font-size: 18px;
    color: #94A3B8;
    margin-bottom: 40px;
    max-width: 90%;
    line-height: 1.6;
}

.cta-advantages-list {
    display: flex;
    gap: 32px;
    margin-bottom: 48px;
}

.cta-adv-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cta-icon-circle {
    width: 32px;
    height: 32px;
    background: rgba(37, 99, 235, 0.2);
    color: #60A5FA;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}

.cta-adv-item span {
    font-weight: 600;
    font-size: 14px;
    color: white;
}

/* Manager Profile Mini */
.manager-profile-row {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-top: 32px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.manager-avatar-sm {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(255, 255, 255, 0.2);
}

.manager-info h4 {
    font-size: 16px;
    font-weight: 700;
    color: white;
}

.manager-info p {
    font-size: 13px;
    color: #94A3B8;
}

/* Right: Form */
.cta-form-side {
    background: white;
    padding: 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.industrial-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.form-label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: #212121;
    margin-bottom: 8px;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.input-field {
    width: 100%;
    padding: 16px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: var(--radius-sm);
    font-size: 15px;
    color: var(--text-primary);
    transition: all 0.2s;
}

.input-field:focus {
    background: white;
    border-color: var(--accent);
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.1);
    outline: none;
}

.btn-cta-submit {
    width: 100%;
    background: var(--accent);
    color: white;
    padding: 18px;
    border-radius: var(--radius-sm);
    font-weight: 700;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: var(--transition-fast);
    margin-top: 10px;
    cursor: pointer;
    border: none;
}

.btn-cta-submit:hover {
    background: var(--accent-hover);
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(37, 99, 235, 0.2);
}

.privacy-notice {
    text-align: center;
    font-size: 12px;
    color: var(--text-muted);
    margin-top: 16px;
}

@media (max-width: 1024px) {
    .cta-industrial-wrapper {
        grid-template-columns: 1fr;
    }

    .cta-advantages-list {
        flex-direction: column;
        gap: 16px;
    }

    .form-row {
        grid-template-columns: 1fr;
    }
}

/* ===== FOOTER (2026 INDUSTRIAL) ===== */
.footer-industrial {
    background-color: var(--bg-dark);
    color: var(--text-inverse);
    padding: 80px 0 24px;
    margin-top: 0;
    position: relative;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.footer-top {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.5fr;
    gap: 60px;
    margin-bottom: 80px;
}

@media (max-width: 768px) {
    .section-cta-industrial {
        padding: 60px 0;
    }

    .cta-content-side,
    .cta-form-side {
        padding: 30px;
    }

    .cta-content-side h2 {
        font-size: 28px;
    }

    .cta-desc {
        font-size: 16px;
        margin-bottom: 24px;
    }

    .cta-advantages-list {
        margin-bottom: 32px;
    }
}

/* Brand Column */
.footer-logo-tech {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    margin-bottom: 24px;
}

.logo-box {
    width: 48px;
    height: 48px;
    background: var(--accent);
    color: white;
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
}

.logo-text {
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 800;
    color: white;
    letter-spacing: -0.02em;
}

.brand-mission {
    color: var(--text-muted);
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 32px;
    max-width: 320px;
}

.tech-badges {
    display: flex;
    gap: 12px;
}

.badge-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(255, 255, 255, 0.05);
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    color: white;
    font-weight: 600;
}

.badge-item svg {
    color: var(--success);
}

/* Nav Columns */
.footer-nav-col h4 {
    font-size: 14px;
    text-transform: uppercase;
    color: var(--text-muted);
    letter-spacing: 0.05em;
    font-weight: 700;
    margin-bottom: 24px;
}

.footer-nav-col ul {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.footer-nav-col a {
    color: #E2E8F0;
    text-decoration: none;
    font-size: 15px;
    transition: color 0.15s;
    font-weight: 500;
}

.footer-nav-col a:hover {
    color: var(--accent);
}

/* Contact Column */
.footer-contact-col h4 {
    font-size: 14px;
    text-transform: uppercase;
    color: var(--text-muted);
    letter-spacing: 0.05em;
    font-weight: 700;
    margin-bottom: 24px;
}

.contact-big {
    display: block;
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 700;
    color: white;
    text-decoration: none;
    margin-bottom: 8px;
    letter-spacing: -0.01em;
}

.contact-link {
    display: block;
    color: var(--accent);
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    margin-bottom: 24px;
}

.address-block {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: var(--text-muted);
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 32px;
}

.address-block svg {
    font-size: 20px;
    margin-top: 2px;
    color: var(--text-secondary);
}

.social-row-tech {
    display: flex;
    gap: 12px;
}

.soc-btn {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 20px;
    transition: all 0.2s;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.soc-btn:hover {
    background: var(--accent);
    border-color: var(--accent);
    transform: translateY(-2px);
}

/* ===== FOOTER — TWO PHONES LAYOUT ===== */
.footer-phone-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 20px;
}

.footer-phone-label {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255,255,255,0.35);
}

.footer-phone-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.social-row-inline {
    display: flex;
    gap: 8px;
    margin-top: 0;
}

.soc-btn-sm {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    font-size: 16px;
}

/* Footer Bottom */
.footer-bottom-tech {
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    padding-top: 32px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    color: var(--text-secondary);
}

.bottom-links {
    display: flex;
    gap: 32px;
}

.bottom-links a {
    color: var(--text-secondary);
    text-decoration: none;
    transition: color 0.15s;
}

.bottom-links a:hover {
    color: white;
}

.made-by {
    font-weight: 500;
}

.text-white {
    color: white;
}

/* ===== ЭТАП 2: MOBILE FOOTER ===== */

@media (max-width: 1024px) {
    .footer-top {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }

    .footer-brand-col {
        grid-column: 1 / -1;
    }

    .footer-industrial {
        padding: 60px 0 20px;
    }
}



.about-icon {
    font-size: 48px;
    color: var(--primary-blue);
    margin-bottom: 16px;
    display: flex;
}

.about-card h3 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 12px;
    color: var(--text-main);
}

.about-card p {
    font-size: 15px;
    color: #717171;
    line-height: 1.5;
}

.about-stats-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.stat-card {
    text-align: center;
    padding: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.stat-card h3 {
    font-size: 36px;
    color: var(--primary-blue);
    margin-bottom: 4px;
}

.stat-card p {
    font-size: 14px;
    margin: 0;
}

/* Full Service Card */
.about-full-service {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.service-desc {
    max-width: 400px;
    margin-bottom: 40px;
}

.process-steps {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 40px;
}

.step-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    text-align: center;
    position: relative;
    z-index: 2;
}

.step-icon {
    width: 56px;
    height: 56px;
    background: #E3F2FD;
    border-radius: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--primary-blue);
    font-size: 24px;
}

.step-item span {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-main);
}

.step-line {
    flex: 1;
    height: 2px;
    background: #E0E0E0;
    margin: 0 10px;
    margin-bottom: 24px;
    /* Align with icon center approx */
}

.link-arrow {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--primary-blue);
    font-weight: 600;
    text-decoration: none;
    margin-top: auto;
    width: fit-content;
}

.link-arrow:hover {
    gap: 12px;
    /* Slide arrow */
}

/* Responsive About */
@media (max-width: 900px) {
    .about-grid {
        grid-template-columns: 1fr;
    }

    .process-steps {
        gap: 8px;
    }

    .step-line {
        display: none;
        /* Hide lines on mobile/tablet tight fit */
    }
}



.offer-card {
    min-height: 380px;
}

.offer-visual {
    width: 50%;
    height: 50%;
}

.teaser-block {
    flex-direction: column;
    min-height: auto;
}

.teaser-content {
    max-width: 100%;
    padding: 40px;
}

.teaser-image-wrapper {
    position: relative;
    width: 100%;
    height: 300px;
    clip-path: none;
    /* Remove clip on mobile vertical stack */
}


.header-main {
    gap: 20px;
}

.hero-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
}

.card-blue-promo {
    grid-column: 1 / 3;
    grid-row: 1;
}

.card-building {
    grid-column: 2 / 2;
    grid-row: 1;
    min-height: 400px;
}

.card-small:nth-of-type(3) {
    grid-column: 1;
    grid-row: 3;
}

.card-small:nth-of-type(4) {
    grid-column: 2;
    grid-row: 3;
}


/* ===== MODERN ABOUT COMPONENT ===== */
.about-modern-section {
    padding: 80px 0 100px;
    background-color: #ffffff;
}
.about-modern-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 210px;
	    MARGIN-TOP: 5VW;
}
.about-modern-text-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.about-modern-bottom {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-bottom: 60px;
	margin-top: 10px;
}

.about-modern-block {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Updated Typography to match Policy and Presentation more accurately */
.about-modern-title-main {
    font-size: 40px;
    font-weight: 800;
    text-transform: uppercase;
    line-height: 1.2;
    margin: 0;
}

.about-modern-title {
    font-size: 26px;
    font-weight: 800;
    text-transform: uppercase;
    line-height: 1.3;
    margin: 0;
}

.about-modern-block p {
    font-size: 18px;
    line-height: 1.7;
    margin: 0;
    font-weight: 400;
}

.about-modern-visual {
    width: 470px; /* Made the whale bigger */
    flex-shrink: 0;
    margin-top: -30px; /* Slight optical adjustment based on screenshot */
}
.about-modern-visual img {
    width: 100%;
    height: auto;
    display: block;
}

.about-modern-metrics {
    background: #F8F9FB;
    border-radius: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30px 40px;
    margin-bottom: 50px;
}
.am-metric {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 4px;
}
.am-metric-val {
    font-size: 24px;
    font-weight: 800;
    color: #FF5722;
    text-transform: uppercase;
}
.am-metric-lbl {
    font-size: 14px;
    font-weight: 600;
    color: #888888;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.am-metric-divider {
    width: 1px;
    height: 60px;
    background: #DCDCDC;
}
.about-modern-cta-row {
    display: flex;
    justify-content: flex-start;
}
.am-btn-presentation {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: #FF5722;
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 16px 36px;
    border-radius: 4px;
    text-decoration: none;
    transition: background 0.2s, transform 0.2s;
}
.am-btn-presentation:hover {
    background: #E64A19;
    color: #FFFFFF;
    transform: translateY(-2px);
}
@media (max-width: 1024px) {
    .about-modern-top {
        flex-direction: column-reverse;
		gap: 20px;
    }
	
	
	
    .about-modern-visual {
        width: 100%;
        max-width: 500px;
        margin: 0 auto 40px;
    }
    .about-modern-title-main {
        font-size: 32px;
    }
    .about-modern-title {
        font-size: 22px;
    }
    .about-modern-block p {
        font-size: 16px;
    }
    .about-modern-metrics {
        flex-wrap: wrap;
        gap: 20px;
        justify-content: center;
    }
    .am-metric-divider {
        display: none;
    }
    .am-metric {
        width: 45%;
    }
}
@media (max-width: 600px) {
    .am-metric {
        width: 100%;
    }
	.about-modern-bottom {
  
    margin-top: 20px;
}
}
/* ===== NEWS PAGE ===== */
.news-hero-section {
    padding: 80px 0 60px;
    background: #F8F9FB;
}

.news-hero-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-bottom: 60px;
    align-items: center;
}

.news-hero-title h1 {
    font-size: var(--fs-h1);
    font-weight: 800;
    line-height: var(--lh-tight);
    color: #212121;
    letter-spacing: -0.02em;
}

.news-hero-desc p {
    font-size: 18px;
    line-height: 1.6;
    color: #717171;
    max-width: 480px;
}

/* Filters */
.news-filters {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.filter-btn {
    padding: 12px 24px;
    border-radius: 100px;
    background: #FFFFFF;
    border: 1px solid #E0E0E0;
    font-weight: 600;
    color: #757575;
    cursor: pointer;
    transition: all 0.2s ease;
}

.filter-btn:hover {
    border-color: #2371B7;
    color: #2371B7;
}

.filter-btn.active {
    background: #2371B7;
    border-color: #2371B7;
    color: white;
}

/* News Grid */
.news-grid-section {
    padding: 60px 0 100px;
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /* 3 ������� ��� �� ��������� */
    gap: 32px;
}

.news-card {
    display: flex;
    flex-direction: column;
    gap: 20px;
    cursor: pointer;
}

.news-image {
    border-radius: 20px;
    /* ���������� ����� */
    overflow: hidden;
    height: 240px;
    position: relative;
    background: #E0E0E0;
}

.news-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.news-zoom-hover:hover img {
    transform: scale(1.05);
    /* ������ ���� */
}

.news-content {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.news-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
}

.news-category {
    font-weight: 600;
    color: #2371B7;
}

.news-date {
    color: #9E9E9E;
}

.news-content h3 {
    font-size: var(--fs-h3);
    font-weight: 700;
    color: #212121;
    line-height: var(--lh-normal);
    transition: color 0.2s;
}

.news-card:hover h3 {
    color: #2371B7;
}

/* Newsletter */
.newsletter-section {
    padding-bottom: 100px;
}

.newsletter-box {
    background: #E3F2FD;
    /* ������-�������/����������� ��� */
    background: linear-gradient(135deg, #E3F2FD 0%, #E8F5E9 100%);
    border-radius: 32px;
    padding: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.newsletter-content h2 {
    font-size: var(--fs-h2);
    font-weight: 700;
    color: #212121;
    margin-bottom: 16px;
}

.newsletter-content p {
    color: #546E7A;
    font-size: 16px;
    max-width: 450px;
}

.newsletter-form {
    display: flex;
    align-items: center;
    background: white;
    padding: 8px 8px 8px 24px;
    border-radius: 100px;
    width: 100%;
    max-width: 450px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
}

.newsletter-form input {
    flex: 1;
    border: none;
    outline: none;
    font-family: inherit;
    font-size: 15px;
    color: #212121;
}

.btn-circle-arrow {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #A5D6A7;
    /* ����������� ������ ��� �� ��������� */
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #1B5E20;
    transition: background 0.2s;
}

.btn-circle-arrow:hover {
    background: #81C784;
}

/* Responsive News */
@media (max-width: 1024px) {
    .news-grid {
        grid-template-columns: 1fr 1fr;
    }

    .news-hero-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .newsletter-box {
        flex-direction: column;
        align-items: flex-start;
        padding: 40px;
    }

    .newsletter-form {
        width: 100%;
        max-width: 100%;
    }
}

@media (max-width: 640px) {
    .news-grid {
        grid-template-columns: 1fr;
    }

    .news-hero-title h1 {
        font-size: var(--fs-h1);
    }
}

/* ===== ARTICLE DETAIL PAGE ===== */
.article-page {
    padding: 60px 0 100px;
}

.article-container {
    margin: 0 auto;
}

.back-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #757575;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 40px;
    transition: color 0.2s;
}

.back-link:hover {
    color: #2371B7;
}

/* Header */
.article-header {
    margin-bottom: 40px;
}

.article-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
    font-size: 14px;
}

.dot-sep {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #E0E0E0;
}

.article-header h1 {
    font-size: var(--fs-h1);
    line-height: var(--lh-tight);
    font-weight: 800;
    color: #212121;
    margin-bottom: 24px;
}

.article-lead {
    font-size: 20px;
    line-height: 1.6;
    color: #546E7A;
}

/* Hero Image */
.article-hero-image {
    margin-bottom: 60px;
    border-radius: 24px;
    overflow: hidden;
    background: #F5F5F5;
}

.article-hero-image img {
    width: 100%;
    height: auto;
    display: block;
}

.article-hero-image figcaption {
    padding: 12px 0 0;
    font-size: 13px;
    color: #9E9E9E;
    text-align: center;
}

/* Body */
.article-body {
    font-size: 18px;
    line-height: 1.7;
    color: #424242;
    margin-bottom: 60px;
}

.article-body p {
    margin-bottom: 24px;
}

.article-body h2 {
    font-size: 28px;
    font-weight: 700;
    margin: 48px 0 24px;
    color: #212121;
}

.article-body h3 {
    font-size: 24px;
    font-weight: 700;
    margin: 40px 0 20px;
    color: #212121;
}

.article-body ul {
    margin-bottom: 24px;
    padding-left: 20px;
}

.article-body li {
    margin-bottom: 12px;
    position: relative;
    list-style: none;
    /* Кастомные буллеты */
}

.article-body li::before {
    content: '' •'';
    color: #2371B7;
    font-weight: bold;
    display: inline-block;
    width: 1em;
    margin-left: -1em;
}

.article-body blockquote {
    border-left: 4px solid #2371B7;
    padding-left: 24px;
    margin: 40px 0;
    font-size: 20px;
    font-style: italic;
    color: #37474F;
}

.body-image {
    width: 100%;
    border-radius: 16px;
    margin: 40px 0;
}

/* Share Footer */
.article-footer {
    border-top: 1px solid #EEEEEE;
    padding-top: 32px;
    display: flex;
    align-items: center;
    gap: 16px;
    font-weight: 600;
    color: #212121;
}

.share-links {
    display: flex;
    gap: 12px;
}

.share-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #F5F5F5;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #757575;
    transition: all 0.2s;
}

.share-btn:hover {
    background: #2371B7;
    color: white;
}

.share-btn.vk:hover {
    background: #0077FF;
}

.share-btn.tg:hover {
    background: #2AABEE;
}

.share-btn.wa:hover {
    background: #25D366;
}

/* Read More */
.read-more-section {
    padding: 60px 0 100px;
    background: #F8F9FB;
}

.read-more-section h2 {
    font-size: 32px;
    margin-bottom: 40px;
}



/* ===== CONSTRUCT LANDING (MTS REF STYLE) ===== */

/* Hero Section */
.construct-hero-section {
    padding: 60px 0;
}

.construct-hero-card {
    background: linear-gradient(135deg, #448AFF 0%, #2979FF 100%);
    /* Bright Blue like Ref */
    border-radius: 40px;
    padding: 60px 80px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: white;
    position: relative;
    overflow: hidden;
    min-height: 500px;
}

.hero-card-content {
    max-width: 500px;
    z-index: 2;
}

.hero-card-content h1 {
    font-size: 44px;
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 32px;
}

.hero-bullets {
    list-style: none;
    margin-bottom: 40px;
}

.hero-bullets li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 12px;
    font-weight: 500;
    font-size: 16px;
}

.hero-bullets li::before {
    content: '' •'';
    /* Bullet */
    color: #FF5252;
    /* Accent Red */
    position: absolute;
    left: 0;
    font-weight: bold;
    font-size: 20px;
    line-height: 1;
}

.hero-card-visual {
    position: absolute;
    right: 0;
    top: 0;
    width: 55%;
    height: 100%;
}

.hero-3d-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left center;
}

.hero-tabs {
    margin-top: 40px;
    display: flex;
    gap: 12px;
}

.hero-tab {
    background: rgba(255, 255, 255, 0.2);
    color: white;
    padding: 8px 16px;
    border-radius: 100px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
}

.hero-tab:hover,
.hero-tab.active {
    background: white;
    color: #2979FF;
}

/* Float Elements */
.float-badge {
    position: absolute;
    background: white;
    color: #212121;
    padding: 12px 20px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    z-index: 3;
}

.fb-1 {
    bottom: 20%;
    right: 20%;
    animation: floatAnim 3s ease-in-out infinite;
}

@keyframes floatAnim {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}


/* Formats Section */
.formats-section {
    padding: 60px 0;
}

.section-top-row {
    margin-bottom: 40px;
}

.section-top-row h2 {
    font-size: 32px;
    font-weight: 800;
}

.formats-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.format-card {
    background: #FFFFFF;
    border-radius: 32px;
    padding: 40px;
    display: flex;
    justify-content: space-between;
    gap: 24px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.03);
    border: 1px solid #F0F0F0;
    min-height: 380px;
}

.format-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.format-number {
    font-size: 60px;
    font-weight: 900;
    color: #E0E0E0;
    line-height: 1;
    margin-bottom: 16px;
}

.format-content h3 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 20px;
}

.format-list {
    list-style: none;
    margin-bottom: auto;
}

.format-list li {
    font-size: 14px;
    color: #616161;
    margin-bottom: 8px;
    position: relative;
    padding-left: 16px;
}

.format-list li::before {
    content: '' -'';
    position: absolute;
    left: 0;
    color: #BDBDBD;
}

.btn-sm-gray {
    background: #F5F5F5;
    color: #424242;
    padding: 10px 20px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    text-align: center;
    width: fit-content;
    transition: all 0.2s;
}

.btn-sm-gray:hover {
    background: #E0E0E0;
}

.format-image {
    width: 45%;
    border-radius: 20px;
    overflow: hidden;
}

.format-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* Process Steps */
.process-steps-section {
    padding: 60px 0 100px;
    background: #FAFAFA;
}

.process-tabs {
    display: flex;
    gap: 12px;
    margin: 30px 0 50px;
}

.process-tab {
    padding: 10px 24px;
    border-radius: 100px;
    border: 1px solid #E0E0E0;
    background: transparent;
    font-weight: 600;
    cursor: pointer;
}

.process-tab.active {
    background: #FF5252;
    color: white;
    border-color: #FF5252;
}

.steps-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.step-card {
    background: white;
    border-radius: 24px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.step-num {
    background: #212121;
    color: white;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    margin-bottom: 16px;
}

.step-card h3 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 8px;
}

.step-card p {
    font-size: 13px;
    color: #757575;
    margin-bottom: 20px;
    line-height: 1.4;
    min-height: 36px;
}

.step-visual {
    height: 240px;
    background: #F5F5F5;
    border-radius: 16px;
    overflow: hidden;
    margin-top: auto;
}

.step-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.step-visual.v-center {
    display: flex;
    align-items: center;
    justify-content: center;
}


/* CTA Banner */
.cta-banner-section {
    padding-bottom: 100px;
}

.cta-banner-box {
    background: linear-gradient(135deg, #ECEFF1 0%, #CFD8DC 100%);
    border-radius: 32px;
    padding: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.cta-visual {
    width: 40%;
}

.cta-visual img {
    width: 100%;
    border-radius: 16px;
    transform: rotate(-2deg);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

/* Construct Responsive */
@media (max-width: 1024px) {
    .construct-hero-card {
        flex-direction: column;
        padding: 40px;
        text-align: left;
        align-items: flex-start;
    }

    .hero-card-visual {
        position: relative;
        width: 100%;
        height: 300px;
        margin-top: 40px;
        border-radius: 20px;
        overflow: hidden;
    }

    .hero-card-content {
        max-width: 100%;
    }

    .formats-grid {
        grid-template-columns: 1fr;
    }

    .steps-grid {
        grid-template-columns: 1fr 1fr;
    }

    .cta-banner-box {
        flex-direction: column;
        gap: 40px;
    }

    .cta-visual {
        width: 100%;
    }
}

@media (max-width: 640px) {
    .steps-grid {
        grid-template-columns: 1fr;
    }

    .hero-card-content h1 {
        font-size: 32px;
    }

    .format-card {
        flex-direction: column-reverse;
    }

    .format-image {
        width: 100%;
        height: 200px;
    }
}

/* ===== NEW BILLBOARD HERO SECTION ===== */
.billboard-hero-section {
    position: relative;
    background: linear-gradient(135deg, #E3F2FD 0%, #E1F5FE 50%, #F8BBD0 100%);
    padding: 80px 0 100px;
    /* Стандартные отступы */
    overflow: hidden;
}

.hero-flex-wrapper {
    display: flex;
    align-items: center;
    /* Вертикальное выравнивание по центру */
    justify-content: space-between;
    position: relative;
    z-index: 2;
    margin-bottom: 80px;
    min-height: 500px;
    /* Минимальная высота для контента */
}

.hero-left-content {
    flex: 0 0 55%;
    /* Занимает 55% ширины контейнера */
    padding-right: 40px;
}

.breadcrumbs {
    font-size: 14px;
    color: #546E7A;
    margin-bottom: 32px;
    font-weight: 500;
}

.breadcrumbs a {
    color: #546E7A;
    text-decoration: none;
    transition: color 0.2s;
}

.breadcrumbs a:hover {
    color: #0277BD;
}

.breadcrumbs .sep {
    margin: 0 8px;
    color: #B0BEC5;
}

.hero-left-content h1 {
    font-size: var(--fs-h1);
    font-weight: 800;
    line-height: var(--lh-tight);
    color: #0D47A1;
    margin-bottom: 24px;
    letter-spacing: -0.02em;
}

.hero-desc {
    font-size: 18px;
    line-height: 1.6;
    color: #455A64;
    margin-bottom: 48px;
    max-width: 90%;
    /* Ограничиваем длину строки для читаемости, но не блок */
}

.hero-right-visual {
    flex: 0 0 45%;
    /* Оставшиеся 45% */
    display: flex;
    justify-content: flex-end;
    position: relative;
    height: 100%;
}

.sphere-container {
    width: 100%;
    /* Растягиваем на всю ширину правой колонки */
    height: 600px;
    /* Фиксированная высота для визуализации */
    position: absolute;
    right: -120px;
    /* Небольшой сдвиг вправо */
    top: -100px;
    z-index: 1;
    pointer-events: none;
}

.sphere-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    box-shadow: -40px 40px 80px rgba(13, 71, 161, 0.2);
    /* Глубокая тень */
}


/* Glass Cards */
.hero-cards-container {
    display: flex;
    gap: 24px;
    position: relative;
    z-index: 3;
}

.glass-feature-card {
    flex: 1;
    background: rgba(255, 255, 255, 0.6);
    /* Более прозрачный */
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 32px;
    padding: 40px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.glass-feature-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
    /* Эффект парения */
    background: rgba(255, 255, 255, 0.8);
}

.card-icon-box {
    width: 56px;
    height: 56px;
    background: #0277BD;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    color: white;
    margin-bottom: 24px;
    box-shadow: 0 8px 16px rgba(2, 119, 189, 0.25);
}

.glass-feature-card h3 {
    font-size: 20px;
    font-weight: 800;
    color: #263238;
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.glass-feature-card p {
    font-size: 16px;
    line-height: 1.5;
    color: #546E7A;
}

/* Responsive */
@media (max-width: 1024px) {
    .billboard-hero-section {
        padding: 100px 0;
        display: block;
        min-height: auto;
    }

    .hero-flex-wrapper {
        flex-direction: column;
        text-align: center;
        margin-bottom: 40px;
    }

    .hero-left-content {
        padding-right: 0;
        margin-bottom: 40px;
        align-items: center;
        display: flex;
        flex-direction: column;
    }

    .hero-right-visual {
        display: none;
        /* Скрываем огромную сферу на мобилке или делаем меньше */
    }

    .hero-cards-container {
        flex-direction: column;
        gap: 16px;
    }
}

/* ===== WHY CHOOSE US (Bento Grid) ===== */
.why-us-section {
    padding: 100px 0;
    background: #FFFFFF;
}

.section-title {
    font-size: 48px;
    font-weight: 800;
    margin-bottom: 50px;
    color: #212121;
    letter-spacing: -0.02em;
}

.why-us-grid {
    display: grid;
    grid-template-columns: 350px 1fr;
    /* Фиксированная ширина левой карточки */
    gap: 24px;
    min-height: 520px;
}

/* Left Large Card */
.why-card-large {
    border-radius: 24px;
    overflow: hidden;
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.why-card-large::before {
    content: '' '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 60%);
}

.aspect-overlay {
    position: relative;
    z-index: 2;
    padding: 32px;
    color: white;
}

.aspect-overlay h3 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 12px;
    line-height: 1.2;
}

.aspect-overlay p {
    font-size: 15px;
    line-height: 1.5;
    opacity: 0.9;
}

/* Right Column */
.why-right-col {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.why-row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    flex: 1;
}

.why-row-3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px;
    flex: 1;
}

/* Bento Card Style */
.bento-card {
    background: #F8F9FB;
    /* Светлый фон */
    border-radius: 24px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    transition: transform 0.2s;
}

.bento-card:hover {
    transform: translateY(-4px);
    background: #F0F2F5;
}

.bento-icon {
    font-size: 40px;
    color: #2371B7;
    margin-bottom: 20px;
}

.bento-card h4 {
    font-size: 18px;
    font-weight: 700;
    color: #212121;
    margin-bottom: 10px;
}

.bento-card p {
    font-size: 14px;
    line-height: 1.5;
    color: #616161;
}

/* Responsive */
@media (max-width: 1024px) {
    .why-us-grid {
        grid-template-columns: 1fr;
    }

    .why-card-large {
        height: 300px;
    }

    .why-us-grid {
        min-height: auto;
    }
}

/* ===== CTA MANAGER SECTION ===== */
.cta-manager-section {
    padding-bottom: 100px;
}

.cta-dark-card {
    background: #1C1C1E;
    /* Более глубокий черный/серый */
    border-radius: 40px;
    padding: 80px 80px 0;
    color: white;
    position: relative;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
}

.cta-grid-wrapper {
    display: grid;
    grid-template-columns: 1.1fr 0.8fr 1.1fr;
    /* Center narrower */
    gap: 60px;
    align-items: flex-end;
}

/* Left Col */
.cta-col-left {
    padding-bottom: 80px;
}

.cta-col-left h2 {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 24px;
    letter-spacing: -0.02em;
}

.cta-subtitle {
    font-size: 18px;
    color: #9E9E9E;
    margin-bottom: 48px;
    line-height: 1.5;
}

.cta-contacts-block {
    margin-bottom: 48px;
}

.work-hours {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #757575;
    margin-bottom: 12px;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.05em;
}

.work-hours::before {
    content: '' '';
    width: 8px;
    height: 8px;
    background: #4CAF50;
    border-radius: 50%;
    display: inline-block;
}

.cta-phone {
    font-size: 36px;
    font-weight: 700;
    color: #FFFFFF;
    text-decoration: none;
    transition: color 0.2s;
}

.cta-phone:hover {
    color: #448AFF;
}

.cta-messengers p {
    font-size: 14px;
    margin-bottom: 16px;
    color: #757575;
}

.msg-icons {
    display: flex;
    gap: 16px;
}

.msg-btn {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #2C2C2E;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: white;
    transition: all 0.2s;
    border: 1px solid #3A3A3C;
}

.msg-btn:hover {
    background: #448AFF;
    border-color: #448AFF;
    transform: translateY(-4px);
}

/* Center Col (Image) */
.cta-col-center {
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 1;
    margin-bottom: -5px;
    /* Fix gap at bottom */
}

.cta-col-center img {
    width: 140%;
    max-width: 420px;
    display: block;
    filter: drop-shadow(0 0 20px rgba(0, 0, 0, 0.5));
}

/* Right Col (Form) */
.cta-col-right {
    padding-bottom: 80px;
}

.cta-col-right h3 {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 32px;
    line-height: 1.2;
}

.cta-bullet-list {
    list-style: none;
    margin-bottom: 40px;
}

.cta-bullet-list li {
    font-size: 15px;
    color: #BDBDBD;
    margin-bottom: 14px;
    position: relative;
    padding-left: 24px;
}

.cta-bullet-list li::before {
    content: '\2022';
    color: #448AFF;
    position: absolute;
    left: 0;
    top: -1px;
    font-weight: bold;
    font-size: 20px;
}

.cta-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 400px;
}

.cta-input {
    width: 100%;
    height: 60px;
    /* Taller input */
    padding: 0 24px;
    border-radius: 16px;
    /* Match button */
    border: 1px solid transparent;
    background: #FFFFFF;
    color: #212121;
    font-size: 16px;
    font-weight: 500;
    outline: none;
    transition: border 0.2s, box-shadow 0.2s;
}

.cta-input:focus {
    border-color: #448AFF;
    box-shadow: 0 0 0 4px rgba(68, 138, 255, 0.2);
}

.cta-form .btn-primary {
    height: 60px;
    /* Same height */
    border-radius: 16px;
    /* Same radius */
    font-size: 16px;
    font-weight: 700;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #2979FF;
    /* Bright blue CTA */
    color: white;
    border: none;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
}

.cta-form .btn-primary:hover {
    background: #2962FF;
    transform: translateY(-2px);
}

.privacy-check {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    font-size: 13px;
    color: #616161;
    cursor: pointer;
    margin-top: 8px;
    line-height: 1.4;
}

.privacy-check input {
    margin-top: 3px;
    accent-color: #448AFF;
}

/* Responsive */
@media (max-width: 1200px) {
    .cta-dark-card {
        padding: 60px 40px 0;
    }

    .cta-grid-wrapper {
        gap: 20px;
    }
}

@media (max-width: 1024px) {
    .cta-grid-wrapper {
        grid-template-columns: 1fr;
        gap: 60px;
        align-items: flex-start;
    }

    .cta-col-center {
        display: none;
    }

    .cta-col-left,
    .cta-col-right {
        padding-bottom: 0;
        text-align: left;
    }

    .cta-dark-card {
        padding: 60px 40px 60px;
        /* Bottom padding return */
    }

    .cta-form {
        max-width: 100%;
    }
}

/* ===== FORMATS ECOSYSTEM SECTION ===== */
.formats-ecosystem-section {
    padding: 100px 0;
}

.ecosystem-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    /* Левая колонка чуть шире */
    gap: 24px;
    min-height: 560px;
}

/* Base Card Style */
.eco-card {
    border-radius: 32px;
    padding: 40px;
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease;
}

.eco-card:hover {
    transform: translateY(-5px);
}

/* Large Card (Left) */
.eco-card-large {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.bg-primary-gradient {
    background: linear-gradient(135deg, #0277BD 0%, #01579B 100%);
    color: white;
}

.eco-card-content {
    position: relative;
    z-index: 2;
    max-width: 90%;
}

.eco-card-content h3 {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 12px;
    line-height: 1.1;
}

.eco-subtitle {
    font-size: 16px;
    opacity: 0.9;
    margin-bottom: 32px;
    line-height: 1.4;
    max-width: 400px;
}

.eco-features-list {
    list-style: none;
    margin-bottom: 40px;
}

.eco-features-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    font-size: 15px;
    font-weight: 500;
}

.eco-icon-circle {
    width: 32px;
    height: 32px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

.btn-glossy-white {
    display: inline-block;
    background: white;
    color: #01579B;
    padding: 16px 32px;
    border-radius: 16px;
    font-weight: 700;
    text-decoration: none;
    font-size: 15px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: all 0.2s;
}

.btn-glossy-white:hover {
    background: #F5F5F5;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.eco-visual-large {
    position: absolute;
    bottom: -40px;
    right: -40px;
    width: 350px;
    height: 350px;
    border-radius: 50%;
    /* Circle shape */
    overflow: hidden;
    border: 8px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
}

.eco-visual-large img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Right Grid (Small Cards) */
.eco-right-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 24px;
}

.eco-card-small {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 32px;
    min-height: 240px;
}

.eco-small-content h4 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 8px;
    line-height: 1.2;
}

.eco-small-content p {
    font-size: 14px;
    opacity: 0.8;
    line-height: 1.4;
}

/* Pastel Backgrounds */
.bg-green-soft {
    background: #E8F5E9;
    color: #1B5E20;
}

.bg-purple-soft {
    background: #F3E5F5;
    color: #4A148C;
}

.bg-orange-soft {
    background: #FFF3E0;
    color: #E65100;
}

.bg-blue-soft {
    background: #E3F2FD;
    color: #0D47A1;
}

.bg-green-soft:hover {
    background: #dcedc8;
}

.bg-purple-soft:hover {
    background: #e1bee7;
}

.bg-orange-soft:hover {
    background: #ffe0b2;
}

.bg-blue-soft:hover {
    background: #bbdefb;
}


/* 3D Icons */
.eco-small-visual {
    align-self: flex-end;
    margin-top: auto;
}

.eco-3d-icon {
    font-size: 72px;
    filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.1));
    transition: transform 0.3s;
}

.eco-card:hover .eco-3d-icon {
    transform: scale(1.1) rotate(5deg);
}

.icon-green {
    color: #43A047;
}

.icon-purple {
    color: #8E24AA;
}

.icon-orange {
    color: #FB8C00;
}

.icon-blue {
    color: #1E88E5;
}

/* Responsive */
@media (max-width: 1024px) {
    .ecosystem-grid {
        grid-template-columns: 1fr;
    }

    .eco-right-grid {
        min-height: auto;
    }

    .eco-card-large {
        min-height: 450px;
    }

    .eco-visual-large {
        width: 250px;
        height: 250px;
        bottom: -20px;
        right: -20px;
    }
}

@media (max-width: 640px) {
    .eco-right-grid {
        grid-template-columns: 1fr;
    }

    .eco-card-large .eco-visual-large {
        width: 200px;
        height: 200px;
    }
}

/* ===== PORTFOLIO GALLERY SECTION ===== */
.portfolio-gallery-section {
    padding: 100px 0;
    overflow: hidden;
}

.gallery-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
}

.slider-nav-btns {
    display: flex;
    gap: 12px;
}

.nav-btn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid #E0E0E0;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #212121;
    cursor: pointer;
    transition: all 0.2s;
}

.nav-btn:hover {
    background: #212121;
    color: white;
    border-color: #212121;
}

.gallery-slider-container {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 20px;
    scrollbar-width: none;
    -ms-overflow-style: none;
    cursor: grab;
}

.gallery-slider-container::-webkit-scrollbar {
    display: none;
}

.gallery-slide {
    flex: 0 0 400px;
    /* Fixed width */
    height: 500px;
    border-radius: 32px;
    overflow: hidden;
    position: relative;
    scroll-snap-align: start;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.gallery-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.gallery-slide:hover img {
    transform: scale(1.05);
    /* Zoom effect */
}

.slide-caption {
    position: absolute;
    bottom: 24px;
    left: 24px;
    right: 24px;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 20px;
    border-radius: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
    color: #212121;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.slide-tag {
    font-size: 12px;
    background: #212121;
    color: white;
    padding: 6px 12px;
    border-radius: 100px;
    font-weight: 500;
}

/* ===== ЭТАП 3: MOBILE GALLERY & SLIDER ===== */

/* Responsive */
@media (max-width: 1024px) {
    .gallery-slide {
        flex: 0 0 350px;
        height: 450px;
    }

    .gallery-header {
        flex-direction: column;
        gap: 20px;
    }

    .slider-nav-btns {
        justify-content: flex-start;
    }
}



/* ===== FORMATS SHOWCASE PAGE ===== */
.format-showcase {
    padding: 100px 0;
    min-height: 85vh;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}

/* Backgrounds - Subtle White/Blue */
.section-billboard {
    background: #FFFFFF;
}

.section-city {
    background: #F4F9FD;
}

.section-digital {
    background: #FFFFFF;
}

.section-facades {
    background: #F4F9FD;
}

.showcase-grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 80px;
    align-items: center;
    width: 100%;
}

/* Reverse grid helper */
.reverse-grid {
    grid-template-columns: 1.1fr 0.9fr;
}

.reverse-grid .showcase-visual {
    order: 2;
}

.reverse-grid .showcase-info {
    order: 1;
}

/* VISUAL SIDE */
.showcase-visual {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 500px;
}

.floating-img {
    width: 100%;
    max-width: 500px;
    height: auto;
    object-fit: contain;
    position: relative;
    z-index: 2;
    filter: drop-shadow(0 30px 60px rgba(0, 0, 0, 0.15));
    border-radius: 20px;
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 1s ease, transform 1s ease;
}

/* Animation trigger class */
.floating-img.visible {
    opacity: 1;
    transform: translateY(0);
}

.visual-blob {
    position: absolute;
    width: 350px;
    height: 350px;
    border-radius: 50%;
    filter: blur(80px);
    z-index: 1;
    opacity: 0.4;
}

/* Corporate Colors Only */
.blob-blue {
    background: #2371B7;
}

.blob-light-blue {
    background: #4FC3F7;
}

.blob-dark-blue {
    background: #1565C0;
}

/* INFO SIDE (Bento) */
.showcase-info {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Bento Cards Common */
.info-header-card,
.stat-box,
.feat-box {
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(35, 113, 183, 0.1);
    border-radius: 24px;
    padding: 32px;
    box-shadow: 0 10px 40px rgba(35, 113, 183, 0.05);
}

.bg-glass-blue {
    background: linear-gradient(135deg, rgba(237, 246, 255, 0.8), rgba(255, 255, 255, 0.9));
}

.bg-glass-light {
    background: rgba(255, 255, 255, 0.8);
}

.bg-glass-dark {
    background: linear-gradient(135deg, rgba(240, 244, 248, 0.8), rgba(255, 255, 255, 0.9));
}

.info-header-card {
    padding: 40px;
}

.info-header-card h2 {
    font-size: 42px;
    font-weight: 800;
    margin-bottom: 16px;
    color: #212121;
    line-height: 1.1;
    letter-spacing: -0.02em;
}

.info-header-card p {
    font-size: 18px;
    line-height: 1.5;
    color: #616161;
    max-width: 90%;
}

/* Stats Row */
.info-stats-row {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 20px;
}

.stat-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.stat-val {
    font-size: 20px;
    font-weight: 800;
    color: #2371B7;
    /* Corporate Blue */
    margin-bottom: 4px;
    line-height: 1;
    letter-spacing: -0.02em;
}

.stat-label {
    font-size: 12px;
    color: #757575;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.05em;
}

/* Features Row */
.info-features-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}

.feat-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 24px;
    transition: transform 0.2s;
}

.feat-box:hover {
    background: white;
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(35, 113, 183, 0.1);
}

.feat-box svg {
    font-size: 36px;
    margin-bottom: 12px;
    color: #2371B7;
    /* Corporate Blue for all icons */
}

.feat-title {
    font-weight: 700;
    font-size: 16px;
    color: #212121;
}

/* Actions */
.showcase-actions {
    display: flex;
    gap: 16px;
    margin-top: 10px;
}

/* Ensure btn-primary/secondary are correct */
.btn-primary {
    background: #2371B7;
    /* Fallback if missing */
    color: white;
}

.btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 32px;
    border-radius: 12px;
    border: 2px solid #2371B7;
    /* Corporate Blue Border */
    background: transparent;
    color: #2371B7;
    font-weight: 700;
    font-size: 15px;
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
}

.btn-secondary:hover {
    background: #2371B7;
    color: white;
}

/* Responsive Showcase */
@media (max-width: 1024px) {

    .showcase-grid,
    .reverse-grid {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .reverse-grid .showcase-visual {
        order: 0;
    }

    .reverse-grid .showcase-info {
        order: 1;
    }

    .showcase-visual {
        height: 350px;
    }

    .floating-img {
        max-width: 90%;
    }

    .format-showcase {
        min-height: auto;
        padding: 60px 0;
    }
}

/* ===== MOBILE & RESPONSIVE FIXES (FINAL) ===== */

/* Mobile Menu Button - Hidden by default on Desktop */
.mobile-menu-btn {
    display: none;
    background: transparent;
    border: none;
    font-size: 24px;
    color: var(--text-primary);
    cursor: pointer;
    padding: 8px;
}

@media (max-width: 1024px) {
    /* Tablet & Mobile Adjustments */

    .container {
        padding: 0 20px;
    }

    /* Header Tablet */
    .header-top {
        display: none;
        /* Hide top bar details on smaller screens */
    }

    .main-nav {
        display: none;
        /* Hide main nav links, assume mobile menu handles this */
    }

    .btn-catalog {
        display: none;
        /* Simplify header */
    }

    .mobile-menu-btn {
        display: block;
        /* Show hamburger */
    }

    /* Hero Tablet */
    .hero-title {
        font-size: clamp(32px, 4.5vw, 72px);
        line-height: 1.1;
    }

    /* Bento Grids Tablet - 1 Column or 2 Column adaptation */
    .bento-wrapper {
        display: flex;
        flex-direction: column;
    }

    .card-metrics {
        grid-column: span 2;
    }

    .card-form {
        grid-column: span 2;
    }

    .card-formats {
        grid-column: span 2;
    }

    .card-clients {
        grid-column: span 2;
    }

    .reliability-grid {
        grid-template-columns: 1fr;
    }

    .card-official,
    .card-cycle,
    .rel-stat-group {
        grid-column: span 1;
        grid-row: auto;
    }
}


.hero-container-box {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    margin-bottom: 60px;
}

.hero-box-content h1 {
    font-family: var(--font-heading);
    font-size: var(--fs-h1);
    font-weight: 800;
    line-height: var(--lh-tight);
    color: var(--primary);
    margin-bottom: 24px;
}

.hero-box-content p {
    font-size: 18px;
    color: var(--text-secondary);
    margin-bottom: 32px;
    max-width: 500px;
}

/* Hero Visual 3D */
.hero-visual-3d {
    height: 500px;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

.hero-visual-3d img {
    width: 100%;
    height: 80%;
    object-fit: cover;
}

/* Floating Stats Bar */
.floating-stats-bar {
    display: flex;
    justify-content: space-between;
    background: #FFFFFF;
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.08);
    /* Soft shadow */
    border-radius: 20px;
    padding: 30px;
    margin-top: -60px;
    /* Overlap effect */
    position: relative;
    z-index: 10;
}

.stat-item {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 1;
}

.stat-icon-circle {
    width: 56px;
    /* Larger */
    height: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
}

.stat-icon-circle.red-bg {
    background: rgba(220, 38, 38, 0.1);
    color: #DC2626;
}

.stat-icon-circle.blue-bg {
    background: rgba(37, 99, 235, 0.1);
    color: #2563EB;
}

.stat-icon-circle.yellow-bg {
    background: rgba(202, 138, 4, 0.1);
    color: #CA8A04;
}

.stat-text {
    display: flex;
    flex-direction: column;
}

.stat-text strong {
    font-family: var(--font-heading);
    font-size: 18px;
    color: var(--primary);
    margin-bottom: 4px;
}

.stat-text span {
    font-size: 13px;
    color: var(--text-muted);
}

.stat-sep {
    width: 1px;
    background: #E2E8F0;
    margin: 0 30px;
}

/* Zigzag History Section */
.history-zigzag-section {
    padding: 100px 0;
    background: #FFFFFF;
}

.history-container-card {
    display: flex;
    flex-direction: column;
    gap: 100px;
    position: relative;
}

.history-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.history-row.reverse-layout {
    direction: rtl;
    /* Visual swap */
}

.history-row.reverse-layout>* {
    direction: ltr;
    /* Reset content */
}

.history-image img {
    width: 100%;
    border-radius: 24px;
    box-shadow: var(--shadow-card);
    transition: transform 0.3s ease;
}

.history-image img:hover {
    transform: scale(1.02);
}

.history-content {
    position: relative;
}

.year-label {
    display: inline-block;
    padding: 8px 16px;
    background: var(--primary);
    color: white;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 14px;
    border-radius: 100px;
    margin-bottom: 24px;
}

.history-content h3 {
    font-family: var(--font-heading);
    font-size: var(--fs-h2);
    margin-bottom: 20px;
    color: var(--primary);
    font-weight: 800;
}

.history-content p {
    font-size: 16px;
    color: var(--text-secondary);
    line-height: 1.6;
}

/* About Grid Adjustments (if not covered) */
.about-card.about-feature {
    background: #FFFFFF;
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: var(--shadow-card);
    border-radius: 24px;
    padding: 32px;
}

.about-card h3 {
    font-family: var(--font-heading);
    font-weight: 700;
    margin-bottom: 12px;
}

/* Mobile Adjustments for About Page */
@media (max-width: 1024px) {
    .about-hero-new {
        padding-top: 100px;
        padding-bottom: 60px;
    }

    .hero-container-box {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .hero-box-content h1 {
        font-size: 32px;
    }

    .hero-visual-3d {
        height: 300px;
    }

    .floating-stats-bar {
        flex-direction: column;
        gap: 24px;
        margin-top: 30px;
        padding: 24px;
    }

    .stat-sep {
        display: none;
    }

    .history-row {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .history-row.reverse-layout {
        direction: ltr;
        /* Reset visual swap on mobile */
    }
}

/* Hero V2 (Clean Split) */
.hero-v2-split {
    padding-top: 140px;
    padding-bottom: 80px;
    background: #FFFFFF;
    position: relative;
    overflow: hidden;
}

.hero-v2-content h1 {
    font-family: var(--font-heading);
    font-size: var(--fs-h1);
    font-weight: 800;
    line-height: var(--lh-tight);
    color: var(--primary);
    margin-bottom: 24px;
}

/* Wide Principles Card */
.principles-wide-wrapper {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.card-principle-wide {
    background: #FFFFFF;
    border-radius: 24px;
    padding: 48px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    /* Soft shadow like reference */
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.principle-header {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    margin-bottom: 24px;
}

.principle-icon-box {
    width: 64px;
    height: 64px;
    background: #EFF6FF;
    /* Light blue bg */
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    color: #3B82F6;
    /* Blue icon */
    flex-shrink: 0;
}

.principle-header h3 {
    font-family: var(--font-heading);
    font-size: var(--fs-h3);
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 8px;
}

.principle-desc {
    font-size: 16px;
    color: var(--text-secondary);
    line-height: 1.6;
    max-width: 800px;
}

.principle-stats-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 24px;
}

.stat-simple {
    text-align: center;
    padding: 24px;
}

.stat-simple h3 {
    font-family: var(--font-heading);
    font-size: var(--fs-h2);
    font-weight: 800;
    color: #3B82F6;
    /* Blue Numbers */
    margin-bottom: 8px;
}

.stat-simple p {
    font-size: 14px;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
}

@media (max-width: 1024px) {
    .hero-v2-content h1 {
        font-size: var(--fs-h1);
    }

    .card-principle-wide {
        padding: 24px;
    }

    .principle-header {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 768px) {
    .principle-stats-row {
        display: flex;
        gap: 10px;
        flex-direction: row;
    }

    .stat-simple p {
        font-size: 12px;

    }

    .stat-simple {
        padding: 12px;
    }
}

/* ===== OFFERS PAGE STYLES ===== */

/* Spotlight Section (Hot Deal Hero) */
.spotlight-section {
    padding-top: 140px;
    padding-bottom: 100px;
    background: linear-gradient(180deg, var(--bg-main) 0%, var(--bg-secondary) 100%);
    position: relative;
    overflow: hidden;
}

.spotlight-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.spotlight-visual {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.15);
}

.spotlight-visual img {
    width: 100%;
    height: 600px;
    object-fit: cover;
    display: block;
}

/* Neon Badge */
.neon-badge {
    position: absolute;
    top: 24px;
    left: 24px;
    background: var(--accent);
    color: white;
    padding: 12px 24px;
    border-radius: var(--radius-full);
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 0 30px rgba(35, 113, 183, 0.6), 0 0 60px rgba(35, 113, 183, 0.3);
    animation: neon-pulse 2s ease-in-out infinite;
}

@keyframes neon-pulse {

    0%,
    100% {
        box-shadow: 0 0 30px rgba(35, 113, 183, 0.6), 0 0 60px rgba(35, 113, 183, 0.3);
    }

    50% {
        box-shadow: 0 0 40px rgba(35, 113, 183, 0.8), 0 0 80px rgba(35, 113, 183, 0.5);
    }
}

.neon-badge svg {
    font-size: 20px;
}

/* Spotlight Content */
.spotlight-content {
    padding: 40px 0;
}

.spotlight-tag {
    display: inline-block;
    background: rgba(35, 113, 183, 0.1);
    color: var(--accent);
    padding: 8px 16px;
    border-radius: var(--radius-full);
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 24px;
}

.spotlight-content h1 {
    font-family: var(--font-heading);
    font-size: var(--fs-h1);
    font-weight: 800;
    line-height: var(--lh-tight);
    color: var(--primary);
    margin-bottom: 24px;
}

.spotlight-desc {
    font-size: 18px;
    color: var(--text-secondary);
    line-height: 1.7;
    margin-bottom: 40px;
    max-width: 600px;
}

.spotlight-features {
    display: flex;
    gap: 32px;
    margin-bottom: 40px;
    flex-wrap: wrap;
}

.feature-item {
    display: flex;
    align-items: center;
    gap: 16px;
}

.feature-item svg {
    font-size: 48px;
    color: var(--accent);
}

.feature-item strong {
    display: block;
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 700;
    color: var(--primary);
}

.feature-item span {
    display: block;
    font-size: 13px;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.spotlight-actions {
    display: flex;
    gap: 16px;
    align-items: center;
}

.btn-spotlight-primary {
    background: var(--accent);
    color: white;
    padding: 18px 36px;
    border-radius: var(--radius-lg);
    font-weight: 700;
    font-size: 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    transition: var(--transition-fast);
    box-shadow: 0 4px 20px rgba(35, 113, 183, 0.3);
}

.btn-spotlight-primary:hover {
    background: var(--accent-hover);
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(35, 113, 183, 0.4);
}

.btn-spotlight-secondary {
    color: var(--accent);
    font-weight: 600;
    font-size: 16px;
    text-decoration: underline;
    text-underline-offset: 4px;
}

/* Offers Grid */
.offers-grid-section {
    padding: 100px 0;
    background: var(--bg-main);
}

.offers-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
    gap: 32px;
    margin-top: 60px;
}

.offer-card {
    background: var(--bg-card);
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
}

.offer-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
}

.offer-image {
    position: relative;
    height: 240px;
    overflow: hidden;
}

.offer-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.offer-card:hover .offer-image img {
    transform: scale(1.05);
}

.offer-badge {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--accent);
    color: white;
    padding: 8px 16px;
    border-radius: var(--radius-full);
    font-weight: 700;
    font-size: 14px;
}

.offer-badge.hot {
    background: linear-gradient(135deg, #FF6B6B 0%, #FF4757 100%);
    animation: badge-pulse 2s ease-in-out infinite;
}

@keyframes badge-pulse {

    0%,
    100% {
        box-shadow: 0 4px 12px rgba(255, 71, 87, 0.4);
    }

    50% {
        box-shadow: 0 4px 20px rgba(255, 71, 87, 0.6);
    }
}

.offer-content {
    padding: 32px;
}

.offer-content h3 {
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 12px;
}

.offer-content p {
    font-size: 15px;
    color: var(--text-secondary);
    line-height: 1.6;
    margin-bottom: 24px;
    min-height: 48px;
}

.offer-pricing {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}

.price-old {
    font-size: 18px;
    color: var(--text-muted);
    text-decoration: line-through;
    font-weight: 500;
}

.price-new {
    font-family: var(--font-heading);
    font-size: 32px;
    font-weight: 800;
    color: var(--accent);
}

.btn-offer-book {
    width: 100%;
    background: var(--accent);
    color: white;
    padding: 16px 24px;
    border-radius: var(--radius-md);
    font-weight: 600;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: var(--transition-fast);
}

.btn-offer-book:hover {
    background: var(--accent-hover);
    transform: translateY(-2px);
}

@media (max-width: 1024px) {
    .spotlight-wrapper {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .spotlight-visual img {
        height: 500px;
    }

    .spotlight-content {
        text-align: center;
        padding: 0;
    }

    .spotlight-content h1 {
        font-size: 42px;
    }

    .spotlight-desc {
        max-width: 700px;
        margin: 0 auto 40px;
    }

    .spotlight-features {
        justify-content: center;
    }

    .spotlight-actions {
        justify-content: center;
    }

    .offers-grid {
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    }
}

@media (max-width: 768px) {
    .spotlight-section {
        padding-top: 100px;
        padding-bottom: 60px;
    }

    .spotlight-wrapper {
        gap: 32px;
    }

    .spotlight-visual img {
        height: 280px;
    }

    .spotlight-content h1 {
        font-size: 28px;
    }

    .spotlight-desc {
        font-size: 16px;
    }

    .spotlight-features {
        gap: 20px;
    }

    .feature-item {
        width: 100%;
        justify-content: center;
    }

    .spotlight-actions {
        flex-direction: column;
        width: 100%;
        gap: 16px;
    }

    .btn-spotlight-primary {
        width: 100%;
        justify-content: center;
    }

    .offers-grid-section {
        padding: 60px 0;
    }

    .offers-grid {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-top: 40px;
    }
}


/* ===== SURFACES CATALOG PAGE ===== */

/* Catalog Hero Section */
.catalog-hero-section {
    padding-top: 140px;
    padding-bottom: 60px;
    background: var(--bg-main);
}

/* Breadcrumbs */
.breadcrumbs {
    margin-bottom: 32px;
}

.breadcrumbs ol {
    display: flex;
    align-items: center;
    gap: 12px;
    list-style: none;
    font-size: 14px;
    color: var(--text-muted);
}

.breadcrumbs li:not(:last-child)::after {
    content: '/';
    margin-left: 12px;
    color: var(--text-muted);
}

.breadcrumbs a {
    color: var(--text-secondary);
    transition: var(--transition-fast);
}

.breadcrumbs a:hover {
    color: var(--accent);
}

.breadcrumbs li:last-child span {
    color: var(--primary);
    font-weight: 600;
}

/* Catalog Header */
.catalog-header h1 {
    font-family: var(--font-heading);
    font-size: 56px;
    font-weight: 800;
    line-height: 1.1;
    color: var(--primary);
    margin-bottom: 24px;
}

.seo-intro {
    font-size: 18px;
    color: var(--text-secondary);
    line-height: 1.7;
    max-width: 900px;
}

/* Catalog Grid Section */
.catalog-grid-section {
    padding: 80px 0 100px;
    background: var(--bg-secondary);
}

/* Bento Grid Layout */
.catalog-bento-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

/* Featured Card (Spans 2 columns) */
.surface-card.featured {
    grid-column: span 2;
    grid-row: span 2;
}

/* Surface Card */
.surface-card {
    background: var(--bg-card);
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    position: relative;
}

.surface-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
    border-color: var(--accent);
}

/* Surface Visual */
.surface-visual {
    position: relative;
    height: 280px;
    overflow: hidden;
}

.surface-card.featured .surface-visual {
    height: 100%;
    min-height: 400px;
}

.surface-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.surface-card:hover .surface-visual img {
    transform: scale(1.05);
}

/* Surface Badge */
.surface-badge {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--primary);
    color: white;
    padding: 8px 16px;
    border-radius: var(--radius-full);
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.surface-badge.premium {
    background: linear-gradient(135deg, #A855F7 0%, #9333EA 100%);
}

.surface-badge.exclusive {
    background: linear-gradient(135deg, #F59E0B 0%, #D97706 100%);
}

/* Surface Content */
.surface-content {
    padding: 32px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.surface-content h2,
.surface-content h3 {
    font-family: var(--font-heading);
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 12px;
}

.surface-content h2 {
    font-size: 32px;
}

.surface-content h3 {
    font-size: 24px;
}

.surface-content p {
    font-size: 15px;
    color: var(--text-secondary);
    line-height: 1.6;
    margin-bottom: 20px;
}

/* Surface Specs */
.surface-specs {
    list-style: none;
    margin-bottom: 24px;
}

.surface-specs li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    color: var(--text-secondary);
    margin-bottom: 12px;
}

.surface-specs svg {
    font-size: 20px;
    color: var(--accent);
}

/* Details Button */
.btn-surface-details {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--accent);
    font-weight: 600;
    font-size: 15px;
    margin-top: auto;
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.3s ease;
}

.surface-card:hover .btn-surface-details {
    opacity: 1;
    transform: translateY(0);
}

.btn-surface-details svg {
    font-size: 18px;
    transition: transform 0.3s ease;
}

.btn-surface-details:hover svg {
    transform: translateX(4px);
}

/* Responsive */
@media (max-width: 1024px) {
    .catalog-header h1 {
        font-size: 42px;
    }

    .catalog-bento-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }

    .surface-card.featured {
        grid-column: span 2;
        grid-row: span 1;
    }

    .surface-card.featured .surface-visual {
        min-height: 300px;
    }
}

@media (max-width: 768px) {
    .catalog-hero-section {
        padding-top: 100px;
        padding-bottom: 40px;
    }

    .catalog-header h1 {
        font-size: 32px;
        margin-bottom: 16px;
    }

    .seo-intro {
        font-size: 16px;
    }

    .catalog-grid-section {
        padding: 40px 0 60px;
    }

    .catalog-bento-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .surface-card.featured {
        grid-column: span 1;
        grid-row: auto;
    }

    .surface-card.featured .surface-visual {
        min-height: 240px;
        height: 240px;
    }

    .surface-visual {
        height: 220px;
    }

    .surface-content {
        padding: 24px;
    }

    /* Always show details button on mobile */
    .btn-surface-details {
        opacity: 1;
        transform: translateY(0);
    }
}


/* ===== SINGLE SURFACE PRODUCT PAGE ===== */

/* Product Hero Section */
.product-hero-section {
    padding-top: 140px;
    padding-bottom: 80px;
    background: var(--bg-main);
}

.product-hero-grid {
    display: grid;
    grid-template-columns: 60% 40%;
    gap: 48px;
    margin-top: 40px;
}

/* Product Gallery */
.product-gallery {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.gallery-main {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
}

.gallery-main-image {
    width: 100%;
    height: 600px;
    object-fit: cover;
    display: block;
}

.surface-type-badge {
    position: absolute;
    top: 24px;
    left: 24px;
    background: var(--bg-card);
    padding: 12px 24px;
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    font-size: 14px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.surface-type-badge.digital {
    background: linear-gradient(135deg, #3B82F6 0%, #2563EB 100%);
    color: white;
}

.surface-type-badge svg {
    font-size: 20px;
}

.gallery-thumbs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.gallery-thumbs .thumb {
    width: 100%;
    height: 100px;
    object-fit: cover;
    border-radius: var(--radius-md);
    cursor: pointer;
    border: 2px solid transparent;
    transition: var(--transition-fast);
}

.gallery-thumbs .thumb:hover,
.gallery-thumbs .thumb.active {
    border-color: var(--accent);
}

/* Sticky Info Panel (Glassmorphism) */
.product-info-panel {
    position: sticky;
    top: 120px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: var(--radius-lg);
    padding: 40px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
    height: fit-content;
}

.panel-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 32px;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    flex-direction: column;
}

.panel-header h1 {
    font-family: var(--font-heading);
    font-size: 32px;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 12px;
    line-height: 1.2;
}

.product-address {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    color: var(--text-secondary);
}

.product-address svg {
    font-size: 18px;
    color: var(--accent);
}

.btn-share {
    width: 48px;
    height: 48px;
    border-radius: var(--radius-md);
    background: var(--bg-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition-fast);
}

.btn-share:hover {
    background: var(--accent);
    color: white;
}

.btn-share svg {
    font-size: 20px;
}

/* Key Metrics Grid */
.key-metrics-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 32px;
}

.metric-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background: var(--bg-secondary);
    border-radius: var(--radius-md);
}

.metric-icon {
    width: 48px;
    height: 48px;
    border-radius: var(--radius-md);
    background: var(--accent);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.metric-icon svg {
    font-size: 24px;
}

.metric-data {
    display: flex;
    flex-direction: column;
}

.metric-value {
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 700;
    color: var(--primary);
}

.metric-label {
    font-size: 12px;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Pricing Block */
.pricing-block {
    background: linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);
    padding: 24px;
    border-radius: var(--radius-md);
    margin-bottom: 24px;
}

.price-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.price-label {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 600;
}

.price-value {
    font-family: var(--font-heading);
    font-size: 36px;
    font-weight: 800;
    color: white;
}

.price-period {
    font-size: 16px;
    font-weight: 500;
    opacity: 0.8;
}

.price-note {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.5;
}

/* CTA Buttons */
.cta-buttons-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 24px;
}

.btn-add-to-cart,
.btn-download-pdf {
    width: 100%;
    padding: 16px 24px;
    border-radius: var(--radius-md);
    font-weight: 700;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    transition: var(--transition-fast);
}

.btn-add-to-cart {
    background: var(--primary);
    color: white;
}

.btn-add-to-cart:hover {
    background: #B91C1C;
    transform: translateY(-2px);
}

.btn-download-pdf {
    background: var(--bg-secondary);
    color: var(--primary);
    border: 2px solid rgba(0, 0, 0, 0.08);
}

.btn-download-pdf:hover {
    border-color: var(--accent);
    color: var(--accent);
}

.btn-add-to-cart svg,
.btn-download-pdf svg {
    font-size: 20px;
}

/* Quick Contact */
.quick-contact {
    padding-top: 24px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.contact-label {
    font-size: 13px;
    color: var(--text-muted);
    margin-bottom: 8px;
}

.contact-phone {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 18px;
    font-weight: 700;
    color: var(--accent);
}

.contact-phone svg {
    font-size: 20px;
}

/* Map Section */
.map-section {
    padding: 80px 0;
    background: var(--bg-secondary);
}

.map-container {
    margin-top: 40px;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
}

.map-placeholder {
    height: 500px;
    background: linear-gradient(135deg, #E5E7EB 0%, #D1D5DB 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

.map-placeholder svg {
    font-size: 80px;
    color: var(--accent);
}

.map-placeholder p {
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 700;
    color: var(--primary);
}

.map-placeholder span {
    font-size: 16px;
    color: var(--text-secondary);
}

/* Tech Specs Section */
.tech-specs-section {
    padding: 80px 0;
    background: var(--bg-main);
}

.specs-bento-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 40px;
}

.spec-card {
    background: var(--bg-card);
    padding: 32px;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    transition: var(--transition-fast);
}

.spec-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
}

.spec-icon {
    width: 64px;
    height: 64px;
    border-radius: var(--radius-md);
    background: rgba(35, 113, 183, 0.1);
    color: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.spec-icon svg {
    font-size: 32px;
}

.spec-card h3 {
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 12px;
}

.spec-value {
    font-family: var(--font-heading);
    font-size: 28px;
    font-weight: 800;
    color: var(--accent);
    display: block;
    margin-bottom: 8px;
}

.spec-detail {
    font-size: 14px;
    color: var(--text-secondary);
}

/* Related Surfaces */
.related-surfaces-section {
    padding: 80px 0;
    background: var(--bg-secondary);
}

.related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-top: 40px;
}

/* ===== ЭТАП 3: MOBILE PRODUCT PAGE ===== */

/* Responsive */
@media (max-width: 1024px) {
    .product-hero-grid {
        grid-template-columns: 1fr;
    }

    .product-info-panel {
        position: relative;
        top: 0;
    }

    .gallery-main-image {
        height: 400px;
    }

    .specs-bento-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .related-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .product-hero-section {
        padding-top: 100px;
        padding-bottom: 40px;
    }

    .gallery-main-image {
        height: 240px;
    }

    .gallery-thumbs {
        gap: 8px;
    }

    .gallery-thumbs .thumb {
        height: 60px;
    }

    .product-info-panel {
        padding: 24px;
    }

    .panel-header h1 {
        font-size: 24px;
        margin-bottom: 8px;
    }

    .key-metrics-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .specs-bento-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .related-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .surface-type-badge {
        padding: 8px 16px;
        font-size: 13px;
        top: 16px;
        left: 16px;
    }



    .btn-share-link {
        align-self: flex-start;
    }

    .lead-paragraph {
        font-size: 16px;
    }

    .main-surface-photo {
        height: 300px;
    }

    .dashboard-bento-grid,
    .related-surfaces-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-card.featured,
    .dashboard-card.wide {
        grid-column: span 1;
    }

    .metric-big {
        font-size: 36px;
    }

    .dashboard-card.featured .metric-big {
        font-size: 48px;
    }
}

/* ===== SERVICE LANDING PAGE (Mediafacade) ===== */

/* Service Hero Section */
.service-hero-section {
    position: relative;
    min-height: 700px;
    display: flex;
    align-items: center;
    padding-top: 120px;
    padding-bottom: 80px;
    overflow: hidden;
}

.hero-video-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.hero-bg-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.5) 100%);
}

.hero-content-service {
    position: relative;
    z-index: 1;
    max-width: 800px;
}

.service-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(35, 113, 183, 0.2);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(35, 113, 183, 0.3);
    padding: 10px 20px;
    border-radius: var(--radius-full);
    color: white;
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 24px;
}

.service-badge svg {
    font-size: 18px;
    color: var(--accent);
}

.hero-content-service h1 {
    font-family: var(--font-heading);
    font-size: 56px;
    font-weight: 800;
    line-height: 1.1;
    color: white;
    margin-bottom: 20px;
}

.sub-headline {
    font-size: 20px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 40px;
}

.hero-stats-row {
    display: flex;
    gap: 48px;
    margin-bottom: 40px;
}

.stat-item-hero {
    display: flex;
    flex-direction: column;
}

.stat-number {
    font-family: var(--font-heading);
    font-size: 36px;
    font-weight: 800;
    color: var(--accent);
}

.stat-label {
    font-size: 12px;
    color: rgb(102 102 102 / 80%);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.hero-cta-buttons {
    display: flex;
    gap: 16px;
}

.btn-hero-primary,
.btn-hero-secondary {
    padding: 18px 32px;
    border-radius: var(--radius-md);
    font-weight: 700;
    font-size: 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: var(--transition-fast);
}

.btn-hero-primary {
    background: var(--accent);
    color: white;
}

.btn-hero-primary:hover {
    background: var(--accent-hover);
    transform: translateY(-2px);
}

.btn-hero-secondary {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 2px solid rgba(255, 255, 255, 0.3);
    color: white;
}

.btn-hero-secondary:hover {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.5);
}

.btn-hero-primary svg,
.btn-hero-secondary svg {
    font-size: 20px;
}

/* Tech Specs Service Section */
.tech-specs-service-section {
    padding: 80px 0;
    background: var(--bg-secondary);
}

.tech-bento-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 40px;
}

.tech-card {
    background: var(--bg-card);
    padding: 32px;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    transition: var(--transition-fast);
}

.tech-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
}

.tech-card.featured {
    grid-column: span 2;
    grid-row: span 2;
}

.tech-card.wide {
    grid-column: span 2;
}

.tech-card.highlighted {
    background: linear-gradient(135deg, rgba(35, 113, 183, 0.05) 0%, rgba(35, 113, 183, 0.1) 100%);
    border-color: var(--accent);
}

.tech-icon {
    width: 64px;
    height: 64px;
    border-radius: var(--radius-md);
    background: rgba(35, 113, 183, 0.1);
    color: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.tech-icon svg {
    font-size: 32px;
}

.tech-card h3 {
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 12px;
}

.tech-value {
    font-family: var(--font-heading);
    font-size: 32px;
    font-weight: 800;
    color: var(--accent);
    display: block;
    margin-bottom: 12px;
}

.tech-desc {
    font-size: 14px;
    color: var(--text-secondary);
    line-height: 1.6;
    margin-bottom: 16px;
}

.tech-list {
    list-style: none;
    margin-top: 16px;
}

.tech-list li {
    font-size: 14px;
    color: var(--text-secondary);
    padding-left: 20px;
    position: relative;
    margin-bottom: 8px;
}

.tech-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--accent);
    font-weight: 700;
}

/* Locations Map Section */
.locations-map-section {
    padding: 80px 0;
    background: var(--bg-main);
}

.locations-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 48px;
    margin-top: 40px;
}

.map-visual-block {
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
}

.map-placeholder.large {
    height: 600px;
}

.locations-list-block h3 {
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 24px;
}

.location-item {
    background: var(--bg-card);
    padding: 24px;
    border-radius: var(--radius-md);
    border: 1px solid rgba(0, 0, 0, 0.05);
    margin-bottom: 16px;
    transition: var(--transition-fast);
}

.location-item:hover {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.location-header {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.location-header svg {
    font-size: 24px;
    color: var(--accent);
    flex-shrink: 0;
}

.location-header h4 {
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 4px;
}

.location-header p {
    font-size: 14px;
    color: var(--text-secondary);
}

.location-meta {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
}

.meta-tag {
    padding: 4px 12px;
    background: rgba(35, 113, 183, 0.1);
    color: var(--accent);
    border-radius: var(--radius-full);
    font-size: 12px;
    font-weight: 600;
}

.btn-show-on-map {
    width: 100%;
    padding: 10px;
    background: var(--bg-secondary);
    border-radius: var(--radius-md);
    font-weight: 600;
    font-size: 14px;
    color: var(--primary);
    transition: var(--transition-fast);
}

.btn-show-on-map:hover {
    background: var(--accent);
    color: white;
}

.btn-view-all-locations {
    display: block;
    margin-top: 24px;
    text-align: center;
    color: var(--accent);
    font-weight: 600;
    font-size: 16px;
}

/* Why Mediafacade Section */
.why-mediafacade-section {
    padding: 80px 0;
    background: var(--bg-secondary);
}

.benefits-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-top: 40px;
}

.benefit-card {
    background: var(--bg-card);
    padding: 32px;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    transition: var(--transition-fast);
}

.benefit-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
}

.benefit-icon {
    width: 64px;
    height: 64px;
    border-radius: var(--radius-md);
    background: rgba(35, 113, 183, 0.1);
    color: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.benefit-icon svg {
    font-size: 32px;
}

.benefit-card h3 {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 12px;
}

.benefit-card p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--text-secondary);
}

/* Case Studies Section */
.case-studies-section {
    padding: 80px 0;
    background: var(--bg-main);
}

.cases-slider {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-top: 40px;
}

.case-card {
    background: var(--bg-card);
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    transition: var(--transition-fast);
}

.case-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
}

.case-visual {
    position: relative;
    height: 240px;
    overflow: hidden;
}

.case-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.case-card:hover .case-visual img {
    transform: scale(1.05);
}

.case-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    background: var(--accent);
    color: white;
    padding: 8px 16px;
    border-radius: var(--radius-full);
    font-size: 12px;
    font-weight: 700;
}

.case-content {
    padding: 24px;
}

.case-content h3 {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 12px;
}

.case-content p {
    font-size: 14px;
    line-height: 1.6;
    color: var(--text-secondary);
    margin-bottom: 20px;
}

.case-stats {
    display: flex;
    gap: 24px;
}

.case-stat {
    display: flex;
    flex-direction: column;
}

.stat-num {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 800;
    color: var(--accent);
}

.stat-lbl {
    font-size: 12px;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Sticky CTA Panel */
.sticky-cta-panel {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--bg-card);
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
    z-index: 100;
    padding: 20px 0;
}

.sticky-cta-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.sticky-cta-text {
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 700;
    color: var(--primary);
}

.sticky-cta-buttons {
    display: flex;
    gap: 12px;
}

.btn-sticky-primary,
.btn-sticky-secondary {
    padding: 12px 24px;
    border-radius: var(--radius-md);
    font-weight: 600;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: var(--transition-fast);
}

.btn-sticky-primary {
    background: var(--accent);
    color: white;
}

.btn-sticky-primary:hover {
    background: var(--accent-hover);
}

.btn-sticky-secondary {
    background: var(--bg-secondary);
    color: var(--primary);
    border: 2px solid rgba(0, 0, 0, 0.08);
}

.btn-sticky-secondary:hover {
    border-color: var(--accent);
    color: var(--accent);
}

.btn-sticky-primary svg,
.btn-sticky-secondary svg {
    font-size: 18px;
}

/* Responsive */
@media (max-width: 1024px) {
    .hero-content-service h1 {
        font-size: 42px;
    }

    .hero-stats-row {
        gap: 32px;
    }

    .tech-bento-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .tech-card.featured,
    .tech-card.wide {
        grid-column: span 2;
    }

    .locations-grid {
        grid-template-columns: 1fr;
    }

    .benefits-grid,
    .cases-slider {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ===== CONTACTS PAGE ===== */

.contacts-hero-section {
    padding-top: 140px;
    padding-bottom: 60px;
    background: var(--bg-main);
}

.contacts-hero-content h1 {
    font-family: var(--font-heading);
    font-size: 56px;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 16px;
}

.hero-subtitle {
    font-size: 18px;
    color: var(--text-secondary);
}

/* ===== CONTACTS SPLIT LAYOUT ===== */
.contacts-split-section {
    padding: 80px 0;
    background: var(--bg-secondary);
}

.contacts-split-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}

.contacts-info-column {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.contacts-map-column {
    position: sticky;
    top: 120px;
    height: fit-content;
}

.map-wrapper-large {
    width: 100%;
    height: 600px;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
}

@media (max-width: 1024px) {
    .contacts-split-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .contacts-map-column {
        position: static;
        order: -1;
        margin-bottom: 40px;
    }

    .map-wrapper-large {
        height: 400px;
    }
}

@media (max-width: 768px) {
    .contacts-hero-section {
        padding-top: 100px;
        padding-bottom: 40px;
    }

    .contacts-hero-content h1 {
        font-size: 32px;
    }

    .hero-subtitle {
        font-size: 16px;
    }

    .contacts-split-section {
        padding: 40px 0 60px;
    }

    .map-wrapper-large {
        height: 300px;
    }

    .contact-card {
        padding: 24px !important;
    }

    .contact-phone-big {
        font-size: 24px !important;
    }

    .messengers-row {
        flex-wrap: wrap;
    }

    .messenger-btn {
        flex: 1 1 100%;
    }

    .stat-label {
        font-size: 10px;

    }
}

.contacts-grid-section {
    padding: 80px 0;
    background: var(--bg-secondary);
}

.contacts-bento-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.contact-card {
    background: var(--bg-card);
    padding: 32px;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

.contact-card.featured {
    grid-column: span 2;
}

.contact-icon {
    width: 64px;
    height: 64px;
    border-radius: var(--radius-md);
    background: rgba(35, 113, 183, 0.1);
    color: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.contact-icon svg {
    font-size: 32px;
}

.contact-card h3 {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 20px;
}

.contact-details {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.contact-address,
.contact-hours {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 15px;
    color: var(--text-secondary);
    line-height: 1.6;
}

.contact-address svg,
.contact-hours svg {
    font-size: 20px;
    color: var(--accent);
    flex-shrink: 0;
}

.contact-phone-big {
    font-family: var(--font-heading);
    font-size: 32px;
    font-weight: 800;
    color: var(--accent);
    margin-bottom: 16px;
}

.contact-email {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    color: var(--text-secondary);
}

.contact-email svg {
    font-size: 20px;
    color: var(--accent);
}

.messengers-row {
    display: flex;
    gap: 12px;
    margin-top: 8px;
}

.messenger-btn.telegram {
    flex: 1;
    padding: 12px 16px;
    background: #0088cc;
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: 600;
    font-size: 14px;
    color: white;
    transition: var(--transition-fast);
}


.messenger-btn.whatsapp {
    flex: 1;
    padding: 12px 16px;
    background: #25D366;
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: 600;
    font-size: 14px;
    color: white;
    transition: var(--transition-fast);
}



.messenger-btn svg {
    font-size: 20px;
}

.company-name {
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 8px;
}

.inn-kpp {
    font-size: 14px;
    color: var(--text-secondary);
    margin-bottom: 16px;
}

.btn-download-requisites {
    width: 100%;
    padding: 14px 20px;
    background: var(--accent);
    color: white;
    border-radius: var(--radius-md);
    font-weight: 600;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: var(--transition-fast);
}

.btn-download-requisites:hover {
    background: var(--accent-hover);
}

.btn-download-requisites svg {
    font-size: 18px;
}

/* Callback Form Section */
.callback-form-section {
    padding: 80px 0;
    background: var(--bg-main);
}

.form-wrapper {
    max-width: 700px;
    margin: 0 auto;
    background: var(--bg-card);
    padding: 48px;
    border-radius: var(--radius-lg);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
}

.form-header {
    text-align: center;
    margin-bottom: 40px;
}

.form-header h2 {
    font-family: var(--font-heading);
    font-size: 32px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 12px;
}

.form-header p {
    font-size: 15px;
    color: var(--text-secondary);
}

.callback-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.form-group {
    display: flex;
    flex-direction: column;
}

.form-group label {
    font-size: 14px;
    font-weight: 600;
    color: var(--primary);
    margin-bottom: 8px;
}

.form-group input,
.form-group textarea {
    padding: 14px 16px;
    border: 2px solid rgba(0, 0, 0, 0.1);
    border-radius: var(--radius-md);
    font-size: 15px;
    font-family: var(--font-body);
    transition: var(--transition-fast);
}

.form-group input:focus,
.form-group textarea:focus {
    outline: none;
    border-color: var(--accent);
}

.form-group textarea {
    resize: vertical;
}

.form-footer {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 12px;
}

.checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13px;
    color: var(--text-secondary);
}

.checkbox-label input[type="checkbox"] {
    margin-top: 2px;
}

.checkbox-label a {
    color: var(--accent);
    text-decoration: underline;
}

.btn-submit-form {
    padding: 16px 32px;
    background: var(--accent);
    color: white;
    border-radius: var(--radius-md);
    font-weight: 700;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: var(--transition-fast);
}

.btn-submit-form:hover {
    background: var(--accent-hover);
    transform: translateY(-2px);
}

.btn-submit-form svg {
    font-size: 20px;
}

/* Office Map Section */
.office-map-section {
    padding: 80px 0;
    background: var(--bg-secondary);
}

.map-container-large {
    margin-top: 40px;
}

/* ===== THANK YOU PAGE ===== */

.thank-you-section {
    min-height: 70vh;
    display: flex;
    align-items: center;
    padding: 100px 0;
    background: var(--bg-main);
}

.thank-you-content {
    text-align: center;
    max-width: 600px;
    margin: 0 auto;
}

.success-icon {
    width: 100px;
    height: 100px;
    margin: 0 auto 32px;
    color: #10B981;
}

.success-icon svg {
    font-size: 100px;
}

.thank-you-content h1 {
    font-family: var(--font-heading);
    font-size: 42px;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 16px;
}

.thank-you-message {
    font-size: 18px;
    color: var(--text-secondary);
    line-height: 1.6;
    margin-bottom: 40px;
}

.thank-you-actions {
    display: flex;
    gap: 16px;
    justify-content: center;
    margin-bottom: 40px;
}

.btn-back-home,
.btn-view-surfaces {
    padding: 16px 32px;
    border-radius: var(--radius-md);
    font-weight: 700;
    font-size: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: var(--transition-fast);
}

.btn-back-home {
    background: var(--accent);
    color: white;
}

.btn-back-home:hover {
    background: var(--accent-hover);
}

.btn-view-surfaces {
    background: var(--bg-secondary);
    color: var(--primary);
    border: 2px solid rgba(0, 0, 0, 0.1);
}

.btn-view-surfaces:hover {
    border-color: var(--accent);
    color: var(--accent);
}

.quick-contact-box {
    padding-top: 32px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.quick-contact-box p {
    font-size: 14px;
    color: var(--text-muted);
    margin-bottom: 12px;
}

.contact-phone-urgent {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 24px;
    font-weight: 700;
    color: var(--accent);
}

.contact-phone-urgent svg {
    font-size: 28px;
}

/* ===== 404 PAGE ===== */

.error-404-section {
    min-height: 70vh;
    display: flex;
    align-items: center;
    padding: 100px 0;
    background: var(--bg-main);
}

.error-404-content {
    text-align: center;
    max-width: 700px;
    margin: 0 auto;
}

.empty-billboard {
    margin-bottom: 48px;
}

.billboard-frame {
    position: relative;
    max-width: 500px;
    margin: 0 auto;
}

.billboard-screen {
    position: relative;
    height: 300px;
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(20px);
    border: 2px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.error-code {
    font-family: var(--font-heading);
    font-size: 120px;
    font-weight: 800;
    color: rgba(35, 113, 183, 0.3);
    z-index: 1;
}

.fog-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.1) 100%);
    animation: fogMove 8s ease-in-out infinite;
}

@keyframes fogMove {

    0%,
    100% {
        opacity: 0.3;
    }

    50% {
        opacity: 0.6;
    }
}

.error-404-content h1 {
    font-family: var(--font-heading);
    font-size: 42px;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 16px;
}

.error-message {
    font-size: 18px;
    color: var(--text-secondary);
    margin-bottom: 40px;
}

.error-actions {
    display: flex;
    gap: 16px;
    justify-content: center;
    margin-bottom: 48px;
}

.btn-back-home-404,
.btn-view-catalog {
    padding: 16px 32px;
    border-radius: var(--radius-md);
    font-weight: 700;
    font-size: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: var(--transition-fast);
}

.btn-back-home-404 {
    background: var(--accent);
    color: white;
}

.btn-back-home-404:hover {
    background: var(--accent-hover);
}

.btn-view-catalog {
    background: var(--bg-secondary);
    color: var(--primary);
    border: 2px solid rgba(0, 0, 0, 0.1);
}

.btn-view-catalog:hover {
    border-color: var(--accent);
    color: var(--accent);
}

.helpful-links {
    padding-top: 32px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.helpful-links p {
    font-size: 14px;
    color: var(--text-muted);
    margin-bottom: 16px;
}

.helpful-links ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.helpful-links a {
    color: var(--accent);
    font-weight: 600;
}

.helpful-links a:hover {
    text-decoration: underline;
}

/* ===== LEGAL PAGES ===== */

.legal-page {
    padding: 140px 0 80px;
    background: var(--bg-main);
}

.legal-content {
    max-width: 800px;
    margin: 0 auto;
}

.prose {
    color: var(--text-secondary);
    line-height: 1.8;
}

.prose h1 {
    font-family: var(--font-heading);
    font-size: 42px;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 16px;
}

.legal-date {
    font-size: 14px;
    color: var(--text-muted);
    margin-bottom: 40px;
}

.prose h2 {
    font-family: var(--font-heading);
    font-size: 28px;
    font-weight: 700;
    color: var(--primary);
    margin-top: 40px;
    margin-bottom: 16px;
}

.prose h3 {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 700;
    color: var(--primary);
    margin-top: 24px;
    margin-bottom: 12px;
}

.prose p {
    margin-bottom: 16px;
}

.prose ul,
.prose ol {
    margin-bottom: 20px;
    padding-left: 24px;
}

.prose li {
    margin-bottom: 8px;
}

.prose strong {
    color: var(--primary);
    font-weight: 700;
}

.legal-footer {
    margin-top: 60px;
    padding-top: 32px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.btn-back-simple {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--accent);
    font-weight: 600;
}

.btn-back-simple:hover {
    text-decoration: underline;
}

/* Responsive */
@media (max-width: 1024px) {
    .contacts-bento-grid {
        grid-template-columns: 1fr;
    }

    .contact-card.featured {
        grid-column: span 1;
    }

    .form-row {
        grid-template-columns: 1fr;
    }
}




/* ===== CONVERSION LAYER (MODALS) ===== */

/* Backdrop */
.modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.modal-backdrop.active {
    opacity: 1;
    pointer-events: auto;
}

/* Modal Panel (Light Mode) */
.modal-panel {
    background: #FFFFFF;
    border: none;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    border-radius: 24px;
    padding: 40px;
    width: 100%;
    max-width: 480px;
    position: relative;
    transform: scale(0.95) translateY(20px);
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.modal-backdrop.active .modal-panel {
    transform: scale(1) translateY(0);
}

/* Close Button */
.modal-close {
    position: absolute;
    top: 24px;
    right: 24px;
    background: transparent;
    border: none;
    color: #94A3B8;
    font-size: 24px;
    cursor: pointer;
    transition: color 0.2s, background 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
}

.modal-close:hover {
    color: #1E293B;
    background: #F1F5F9;
}

/* Modal Content */
.modal-title {
    font-family: var(--font-heading);
    font-size: 28px;
    font-weight: 800;
    color: #1E293B;
    margin-bottom: 24px;
    text-align: center;
}

/* Form Styles */
.modal-form-group {
    margin-bottom: 16px;
}

.modal-input {
    width: 100%;
    padding: 14px 16px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    color: #1E293B;
    font-family: var(--font-body);
    font-size: 15px;
    transition: border-color 0.2s, background 0.2s;
}

.modal-input:focus {
    outline: none;
    border-color: var(--accent);
    background: #FFFFFF;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.modal-textarea {
    width: 100%;
    padding: 14px 16px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    color: #1E293B;
    font-family: var(--font-body);
    font-size: 15px;
    resize: vertical;
    min-height: 100px;
    transition: border-color 0.2s, background 0.2s;
}

.modal-textarea:focus {
    outline: none;
    border-color: var(--accent);
    background: #FFFFFF;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

/* Toggle Switch (Light) */
.modal-toggle-wrapper {
    display: flex;
    background: #F1F5F9;
    border-radius: 12px;
    padding: 4px;
    margin-bottom: 24px;
    position: relative;
    border: 1px solid #E2E8F0;
}

.toggle-option {
    flex: 1;
    text-align: center;
    padding: 10px;
    font-size: 13px;
    font-weight: 600;
    color: #64748B;
    cursor: pointer;
    z-index: 1;
    transition: color 0.3s;
}

.toggle-option.active {
    color: var(--accent);
}

.toggle-bg {
    position: absolute;
    top: 4px;
    left: 4px;
    width: calc(50% - 4px);
    height: calc(100% - 8px);
    background: #FFFFFF;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.modal-toggle-wrapper.state-right .toggle-bg {
    transform: translateX(100%);
}

/* Submit Button */
.btn-modal-submit {
    width: 100%;
    padding: 16px;
    background: var(--accent);
    color: white;
    border: none;
    border-radius: 12px;
    font-weight: 700;
    font-size: 16px;
    cursor: pointer;
    transition: background 0.2s, transform 0.1s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-shadow: 0 4px 6px rgba(37, 99, 235, 0.2);
}

.btn-modal-submit:hover {
    background: var(--accent-hover);
    transform: translateY(-1px);
    box-shadow: 0 6px 10px rgba(37, 99, 235, 0.25);
}

.modal-privacy {
    font-size: 12px;
    color: #94A3B8;
    text-align: center;
    margin-top: 16px;
    line-height: 1.4;
}

.modal-privacy a {
    color: var(--accent);
    text-decoration: none;
    font-weight: 500;
}

/* Lightbox Modal */
.lightbox-modal {
    background: rgba(0, 0, 0, 0.9);
}

.lightbox-content {
    max-width: 90vw;
    max-height: 90vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.lightbox-img {
    max-width: 100%;
    max-height: 90vh;
    border-radius: 4px;
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.5);
}

.lightbox-close {
    position: absolute;
    top: 30px;
    right: 30px;
    color: white;
    font-size: 40px;
    cursor: pointer;
    background: none;
    border: none;
    z-index: 10001;
    opacity: 0.7;
    transition: opacity 0.2s;
}

.lightbox-close:hover {
    opacity: 1;
}

@media (max-width: 640px) {
    .modal-panel {
        padding: 32px 24px;
        width: 90%;
    }

    .modal-title {
        font-size: 24px;
    }
}

/* ===== UTILITY CLASSES (Generated by Code Review) ===== */
.text-purple-accent {
    color: #A855F7;
}

.divider-gray-vertical {
    width: 1px;
    background: #E5E7EB;
    margin: 20px 0;
}

/* ===== PAGE: ABOUT ===== */

.page-hero {
    position: relative;
    padding: 120px 0;
    color: white;
    overflow: hidden;
}

.page-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    z-index: 0;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(15, 23, 42, 0.7);
    /* Dark Mesh */
    backdrop-filter: blur(4px);
    z-index: 1;
}

.page-hero-content {
    position: relative;
    z-index: 2;
    max-width: 800px;
}

.page-title {
    font-family: var(--font-heading);
    font-size: 56px;
    font-weight: 800;
    margin: 24px 0;
    line-height: 1.1;
}

.page-subtitle {
    font-size: 20px;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.6;
}

/* History / Timeline */
.section-history {
    padding: 100px 0;
    background: white;
}

.section-header {
    margin-bottom: 60px;
}

.section-header h2 {
    font-family: var(--font-heading);
    font-size: 40px;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 16px;
}

.timeline-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 40px;
    position: relative;
}

.timeline-grid::before {
    content: '';
    position: absolute;
    top: 24px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #E2E8F0;
    z-index: 0;
}

.timeline-item {
    position: relative;
    z-index: 1;
    padding-top: 48px;
}

.timeline-year {
    display: inline-block;
    font-family: var(--font-heading);
    font-size: 32px;
    font-weight: 800;
    color: var(--accent);
    background: white;
    padding-right: 16px;
    margin-bottom: 16px;
}

.timeline-desc {
    color: var(--text-secondary);
    font-size: 16px;
    line-height: 1.5;
}

/* Team Section */
.section-team {
    padding: 100px 0;
    background: var(--bg-main);
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 32px;
}

.team-card {
    background: white;
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid #E2E8F0;
    transition: var(--transition-smooth);
}

.team-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-hover);
}

.team-img {
    height: 320px;
    overflow: hidden;
}

.team-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}

.team-card:hover .team-img img {
    transform: scale(1.05);
}

.team-info {
    padding: 24px;
}

.team-info h3 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 8px;
    color: var(--primary);
}

.team-role {
    font-size: 14px;
    color: var(--secondary-accent);
    /* Orange role */
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Numbers Strip */
.section-numbers-strip {
    background: var(--primary);
    padding: 60px 0;
    color: white;
}

.numbers-flex {
    display: flex;
    justify-content: space-around;
    align-items: center;
}

.num-block {
    text-align: center;
}

.nb-val {
    display: block;
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 800;
    margin-bottom: 8px;
}

.nb-label {
    font-size: 14px;
    opacity: 0.7;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.num-divider {
    width: 1px;
    height: 60px;
    background: rgba(255, 255, 255, 0.1);
}






/* ===== ЭТАП 4: MOBILE FORMS & INTERACTIVE ELEMENTS ===== */

@media (max-width: 1024px) {

    /* Form Containers */
    .bento-form {
        grid-column: 1 / -1;
        gap: 14px;
    }

    .card-form {
        grid-column: 1 / -1;
        padding: 28px 24px;
    }

    .form-header-compact h3 {
        font-size: 18px;
    }

    .form-header-compact p {
        font-size: 12px;
        margin-bottom: 16px;
    }

    /* Form Groups */
    .form-group {
        margin-bottom: 16px;
    }

    .form-group label {
        display: block;
        font-size: 13px;
        font-weight: 600;
        margin-bottom: 8px;
        color: var(--text-primary);
    }

    /* Input Fields */
    .input-industrial,
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="date"],
    input[type="number"],
    textarea,
    select {
        width: 100%;
        padding: 12px;
        font-size: 14px;
        border: 1px solid #E2E8F0;
        border-radius: var(--radius-sm);
        background: white;
        transition: all 0.2s;
        min-height: 44px;
    }

    .input-industrial:focus,
    input[type="text"]:focus,
    input[type="email"]:focus,
    input[type="tel"]:focus,
    input[type="date"]:focus,
    input[type="number"]:focus,
    textarea:focus,
    select:focus {
        border-color: var(--accent);
        box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
        outline: none;
    }

    textarea {
        min-height: 120px;
        resize: vertical;
    }

    /* Textarea */
    .textarea-industrial {
        padding: 12px;
        min-height: 120px;
    }

    /* Select */
    select {
        cursor: pointer;
        appearance: none;
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
        background-repeat: no-repeat;
        background-position: right 12px center;
        background-size: 20px;
        padding-right: 40px;
    }

    /* Checkbox & Radio */
    input[type="checkbox"],
    input[type="radio"] {
        width: 20px;
        height: 20px;
        cursor: pointer;
        margin-right: 8px;
    }

    .checkbox-group,
    .radio-group {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .checkbox-group label,
    .radio-group label {
        display: flex;
        align-items: center;
        cursor: pointer;
        font-size: 14px;
        font-weight: 400;
        margin-bottom: 0;
    }

    .checkbox-group input,
    .radio-group input {
        flex-shrink: 0;
    }

    /* Submit Button */
    .btn-accent-block {
        width: 100%;
        padding: 14px;
        font-size: 14px;
        min-height: 44px;
        border: none;
        border-radius: var(--radius-sm);
        font-weight: 700;
        cursor: pointer;
        transition: all 0.2s;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
    }

    .btn-accent-block:active {
        transform: translateY(1px);
        opacity: 0.95;
    }

    /* Form Validation */
    .form-error {
        color: #EF4444;
        font-size: 12px;
        margin-top: 4px;
        display: block;
    }

    .form-success {
        color: #10B981;
        font-size: 12px;
        margin-top: 4px;
        display: block;
    }

    input.error,
    textarea.error,
    select.error {
        border-color: #EF4444 !important;
        background-color: rgba(239, 68, 68, 0.05);
    }

    input.success,
    textarea.success,
    select.success {
        border-color: #10B981 !important;
        background-color: rgba(16, 185, 129, 0.05);
    }

    /* Help Text */
    .form-help {
        font-size: 12px;
        color: var(--text-muted);
        margin-top: 4px;
        display: block;
    }

    /* Privacy Mini */
    .privacy-mini {
        font-size: 11px;
        gap: 6px;
    }

    /* Modal Windows */
    .modal-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 999;
        align-items: center;
        justify-content: center;
        padding: 16px;
    }

    .modal-overlay.active {
        display: flex;
    }

    .modal-window {
        background: white;
        border-radius: var(--radius-lg);
        max-width: 500px;
        width: 100%;
        max-height: 90vh;
        overflow-y: auto;
        box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    }

    .modal-header {
        padding: 20px;
        border-bottom: 1px solid #E2E8F0;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .modal-header h2 {
        margin: 0;
        font-size: 18px;
    }

    .modal-close {
        background: none;
        border: none;
        font-size: 24px;
        cursor: pointer;
        color: var(--text-muted);
        padding: 0;
        width: 32px;
        height: 32px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .modal-body {
        padding: 20px;
    }

    .modal-footer {
        padding: 16px 20px;
        border-top: 1px solid #E2E8F0;
        display: flex;
        gap: 12px;
        justify-content: flex-end;
    }

    /* Accordion */
    .accordion {
        border: 1px solid #E2E8F0;
        border-radius: var(--radius-md);
        overflow: hidden;
    }

    .accordion-item {
        border-bottom: 1px solid #E2E8F0;
    }

    .accordion-item:last-child {
        border-bottom: none;
    }

    .accordion-header {
        width: 100%;
        padding: 16px;
        background: white;
        border: none;
        cursor: pointer;
        font-size: 14px;
        font-weight: 600;
        text-align: left;
        display: flex;
        align-items: center;
        justify-content: space-between;
        transition: all 0.2s;
    }

    .accordion-header:hover {
        background: #F8FAFC;
    }

    .accordion-header.active {
        background: var(--accent);
        color: white;
    }

    .accordion-header::after {
        content: '';
        width: 20px;
        height: 20px;
        border: solid currentColor;
        border-width: 0 2px 2px 0;
        display: inline-block;
        padding: 2px;
        transform: rotate(-45deg);
        transition: transform 0.2s;
    }

    .accordion-header.active::after {
        transform: rotate(45deg);
    }

    .accordion-body {
        display: none;
        padding: 16px;
        background: #F8FAFC;
        max-height: 500px;
        overflow-y: auto;
    }

    .accordion-body.active {
        display: block;
    }

    /* Dropdown Menu */
    .dropdown {
        position: relative;
        display: inline-block;
        width: 100%;
    }

    .dropdown-toggle {
        width: 100%;
        padding: 12px;
        background: white;
        border: 1px solid #E2E8F0;
        border-radius: var(--radius-sm);
        cursor: pointer;
        font-size: 14px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        transition: all 0.2s;
    }

    .dropdown-toggle:hover {
        border-color: var(--accent);
    }

    .dropdown-menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: white;
        border: 1px solid #E2E8F0;
        border-top: none;
        border-radius: 0 0 var(--radius-sm) var(--radius-sm);
        z-index: 100;
        max-height: 300px;
        overflow-y: auto;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    }

    .dropdown-menu.active {
        display: block;
    }

    .dropdown-item {
        padding: 12px;
        border-bottom: 1px solid #E2E8F0;
        cursor: pointer;
        font-size: 14px;
        transition: background 0.2s;
    }

    .dropdown-item:last-child {
        border-bottom: none;
    }

    .dropdown-item:hover {
        background: #F8FAFC;
    }

    /* Tabs */
    .tabs-container {
        border-bottom: 2px solid #E2E8F0;
    }

    .tabs-header {
        display: flex;
        gap: 0;
        overflow-x: auto;
    }

    .tab-button {
        padding: 14px 16px;
        background: none;
        border: none;
        cursor: pointer;
        font-size: 14px;
        font-weight: 600;
        color: var(--text-muted);
        border-bottom: 2px solid transparent;
        margin-bottom: -2px;
        transition: all 0.2s;
        white-space: nowrap;
    }

    .tab-button:hover {
        color: var(--text-primary);
    }

    .tab-button.active {
        color: var(--accent);
        border-bottom-color: var(--accent);
    }

    .tab-content {
        display: none;
        padding: 16px 0;
    }

    .tab-content.active {
        display: block;
    }

    /* Toggle Switch */
    .toggle-switch {
        display: inline-flex;
        align-items: center;
        gap: 12px;
        cursor: pointer;
    }

    .toggle-switch input {
        display: none;
    }

    .toggle-slider {
        width: 48px;
        height: 28px;
        background: #D1D5DB;
        border-radius: 14px;
        position: relative;
        transition: background 0.2s;
    }

    .toggle-slider::after {
        content: '';
        position: absolute;
        width: 24px;
        height: 24px;
        background: white;
        border-radius: 50%;
        top: 2px;
        left: 2px;
        transition: left 0.2s;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }

    .toggle-switch input:checked+.toggle-slider {
        background: var(--accent);
    }

    .toggle-switch input:checked+.toggle-slider::after {
        left: 22px;
    }
}


/* ===== ЭТАП 5: MOBILE GALLERY & MEDIA ===== */

@media (max-width: 1024px) {

    /* Gallery Container */
    .gallery-container {
        grid-gap: 12px;
        padding: 16px;
    }

    .gallery-grid {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 12px;
    }

    .gallery-item {
        aspect-ratio: 1;
        overflow: hidden;
        border-radius: var(--radius-md);
    }

    .gallery-item img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.3s ease;
    }

    .gallery-item:hover img {
        transform: scale(1.05);
    }

    /* Image Wrapper */
    .image-wrapper {
        position: relative;
        overflow: hidden;
        border-radius: var(--radius-md);
    }

    .image-wrapper img {
        width: 100%;
        height: auto;
        display: block;
    }

    /* Lazy Load Placeholder */
    img.lazy {
        background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
        background-size: 200% 100%;
        animation: loading 1.5s infinite;
    }

    @keyframes loading {
        0% {
            background-position: 200% 0;
        }

        100% {
            background-position: -200% 0;
        }
    }

    img.lazy[src] {
        animation: none;
        background: transparent;
    }

    /* Picture Element */
    picture {
        display: block;
        width: 100%;
    }

    picture img {
        width: 100%;
        height: auto;
    }

    /* Figure & Figcaption */
    figure {
        margin: 0;
        padding: 0;
    }

    figcaption {
        padding: 8px;
        background: rgba(0, 0, 0, 0.7);
        color: white;
        font-size: 12px;
        text-align: center;
    }

    /* Video Container */
    .video-container {
        position: relative;
        width: 100%;
        aspect-ratio: 16 / 9;
        border-radius: var(--radius-md);
        overflow: hidden;
        background: #000;
    }

    .video-container img,
    .video-container iframe {
        width: 100%;
        height: 100%;
        display: block;
    }

    .video-container iframe {
        border: none;
    }

    /* Play Button Overlay */
    .play-btn-overlay {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 60px;
        height: 60px;
        background: rgba(255, 255, 255, 0.9);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        transform: translate(-50%, -50%);
        cursor: pointer;
        transition: all 0.2s;
        font-size: 24px;
    }

    .play-btn-overlay:hover {
        background: white;
        transform: translate(-50%, -50%) scale(1.1);
    }

    /* Embed Video Container (YouTube, Vimeo) */
    .embed-responsive {
        position: relative;
        display: block;
        height: 0;
        padding: 0;
        overflow: hidden;
    }

    .embed-responsive.embed-responsive-16by9 {
        padding-bottom: 56.25%;
    }

    .embed-responsive.embed-responsive-4by3 {
        padding-bottom: 75%;
    }

    .embed-responsive-item {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: 0;
    }

    /* Lightbox/Modal Gallery */
    .lightbox-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.95);
        z-index: 9999;
        align-items: center;
        justify-content: center;
        padding: 16px;
    }

    .lightbox-overlay.active {
        display: flex;
    }

    .lightbox-content {
        position: relative;
        max-width: 90vw;
        max-height: 90vh;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .lightbox-image {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
        border-radius: var(--radius-lg);
    }

    .lightbox-close {
        position: absolute;
        top: 16px;
        right: 16px;
        background: rgba(255, 255, 255, 0.2);
        border: none;
        color: white;
        font-size: 28px;
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        border-radius: 50%;
        backdrop-filter: blur(8px);
        transition: all 0.2s;
        z-index: 10;
    }

    .lightbox-close:hover {
        background: rgba(255, 255, 255, 0.3);
    }

    .lightbox-prev,
    .lightbox-next {
        position: absolute;
        top: 50%;
        background: rgba(255, 255, 255, 0.2);
        border: none;
        color: white;
        font-size: 24px;
        width: 44px;
        height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        border-radius: 50%;
        backdrop-filter: blur(8px);
        transition: all 0.2s;
        z-index: 10;
    }

    .lightbox-prev:hover,
    .lightbox-next:hover {
        background: rgba(255, 255, 255, 0.3);
        transform: scale(1.1);
    }

    .lightbox-prev {
        left: 16px;
        transform: translateY(-50%);
    }

    .lightbox-next {
        right: 16px;
        transform: translateY(-50%);
    }

    /* Image Grid */
    .image-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
        gap: 12px;
    }

    .image-grid-item {
        position: relative;
        aspect-ratio: 1;
        overflow: hidden;
        border-radius: var(--radius-md);
        cursor: pointer;
        group: 'group';
    }

    .image-grid-item img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.3s ease;
    }

    .image-grid-item:hover img {
        transform: scale(1.1);
    }

    .image-grid-overlay {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.4);
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .image-grid-item:hover .image-grid-overlay {
        opacity: 1;
    }

    /* Before/After Image Comparison */
    .image-comparison {
        position: relative;
        display: inline-block;
        width: 100%;
        max-width: 100%;
        overflow: hidden;
        border-radius: var(--radius-md);
    }

    .image-comparison-img {
        display: block;
        width: 100%;
        height: auto;
    }

    .image-comparison-before {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        overflow: hidden;
    }

    .image-comparison-before img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .image-comparison-handle {
        position: absolute;
        top: 0;
        left: 50%;
        width: 4px;
        height: 100%;
        background: white;
        cursor: ew-resize;
        transform: translateX(-50%);
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    }

    /* Image Carousel */
    .image-carousel {
        position: relative;
        width: 100%;
        overflow: hidden;
        border-radius: var(--radius-md);
    }

    .carousel-container {
        display: flex;
        width: 100%;
        transition: transform 0.3s ease;
        scroll-behavior: smooth;
    }

    .carousel-item {
        flex: 0 0 100%;
        width: 100%;
    }

    .carousel-item img {
        width: 100%;
        height: auto;
        display: block;
    }

    .carousel-controls {
        position: absolute;
        bottom: 12px;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        gap: 6px;
        z-index: 10;
    }

    .carousel-dot {
        width: 8px;
        height: 8px;
        background: rgba(255, 255, 255, 0.5);
        border-radius: 50%;
        cursor: pointer;
        transition: background 0.2s;
    }

    .carousel-dot.active {
        background: white;
    }

    .carousel-nav {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        background: rgba(0, 0, 0, 0.5);
        border: none;
        color: white;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.2s;
        z-index: 10;
    }

    .carousel-nav:hover {
        background: rgba(0, 0, 0, 0.7);
    }

    .carousel-prev {
        left: 8px;
    }

    .carousel-next {
        right: 8px;
    }

    /* Responsive Images */
    img {
        max-width: 100%;
        height: auto;
        display: block;
    }

    img[srcset] {
        width: 100%;
    }

    /* Dynamic Info Block on Mobile */
    .dynamic-info-block {
        position: static;
        background: rgba(255, 255, 255, 0.95);
        padding: 12px;
        margin-top: 12px;
        gap: 12px;
        max-width: 100%;
        animation: none;
    }

    /* Video Thumbnail */
    .video-thumbnail {
        position: relative;
        display: block;
        width: 100%;
        aspect-ratio: 16 / 9;
        overflow: hidden;
        background: #000;
        border-radius: var(--radius-md);
    }

    .video-thumbnail img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .video-duration {
        position: absolute;
        bottom: 8px;
        right: 8px;
        background: rgba(0, 0, 0, 0.7);
        color: white;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 11px;
        font-weight: 600;
    }
}



/* ===== ЭТАП 6: MOBILE TABLES & DATA ===== */

@media (max-width: 1024px) {

    /* Table Base Styles */
    table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 24px;
        background: white;
        border-radius: var(--radius-md);
        overflow: hidden;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    }

    thead {
        background: var(--accent);
        color: white;
    }

    thead th {
        padding: 12px;
        font-size: 13px;
        font-weight: 700;
        text-align: left;
        border: none;
    }

    tbody tr {
        border-bottom: 1px solid #E2E8F0;
        transition: background 0.2s;
    }

    tbody tr:hover {
        background: #F8FAFC;
    }

    tbody tr:last-child {
        border-bottom: none;
    }

    td {
        padding: 12px;
        font-size: 13px;
        color: var(--text-primary);
        border: none;
    }

    /* Striped Table */
    tbody tr:nth-child(odd) {
        background: #F8FAFC;
    }

    tbody tr:nth-child(odd):hover {
        background: #F1F5F9;
    }

    /* Spec Table (Product Specifications) */
    .specs-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .specs-table tr {
        border-bottom: 1px solid #E2E8F0;
    }

    .specs-table td {
        padding: 12px;
        font-size: 13px;
    }

    .specs-table td:first-child {
        font-weight: 600;
        width: 40%;
        background: #F8FAFC;
        color: var(--text-primary);
    }

    .specs-table td:last-child {
        color: var(--accent);
        font-weight: 600;
    }

    /* Comparison Table */
    .comparison-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
        overflow-x: auto;
    }

    .comparison-table thead th {
        padding: 12px;
        text-align: center;
        font-size: 12px;
        font-weight: 700;
    }

    .comparison-table tbody td {
        padding: 12px;
        text-align: center;
        font-size: 12px;
        border: 1px solid #E2E8F0;
    }

    .comparison-table td:first-child {
        text-align: left;
        background: #F8FAFC;
        font-weight: 600;
        width: 40%;
    }

    .comparison-table .checkmark {
        color: #10B981;
        font-size: 16px;
    }

    .comparison-table .cross {
        color: #EF4444;
        font-size: 16px;
    }

    /* Pricing Table */
    .pricing-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .pricing-table thead th {
        padding: 14px;
        text-align: center;
        font-size: 13px;
        font-weight: 700;
        background: var(--accent);
        color: white;
    }

    .pricing-table tbody td {
        padding: 12px;
        text-align: center;
        font-size: 12px;
        border: 1px solid #E2E8F0;
    }

    .pricing-table td:first-child {
        text-align: left;
        font-weight: 600;
        background: #F8FAFC;
        width: 35%;
    }

    .pricing-table .price {
        font-size: 14px;
        font-weight: 700;
        color: var(--accent);
    }

    /* Feature Comparison */
    .feature-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .feature-table tr {
        border-bottom: 1px solid #E2E8F0;
    }

    .feature-table td {
        padding: 12px;
        font-size: 12px;
    }

    .feature-table .feature-name {
        font-weight: 600;
        width: 40%;
        background: #F8FAFC;
    }

    .feature-table .feature-value {
        text-align: center;
    }

    /* Horizontal Scrollable Tables */
    .table-responsive {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        margin-bottom: 20px;
        border-radius: var(--radius-md);
        border: 1px solid #E2E8F0;
    }

    .table-responsive table {
        margin-bottom: 0;
        box-shadow: none;
        border-radius: 0;
    }

    /* Definition List */
    dl {
        margin-bottom: 20px;
    }

    dt {
        font-weight: 600;
        margin-top: 12px;
        margin-bottom: 4px;
        color: var(--text-primary);
        font-size: 13px;
    }

    dt:first-child {
        margin-top: 0;
    }

    dd {
        margin: 0;
        margin-bottom: 12px;
        margin-left: 0;
        padding-left: 0;
        color: var(--text-secondary);
        font-size: 12px;
        line-height: 1.6;
    }

    /* Two Column Definition List */
    .dl-2col {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }

    .dl-2col dt {
        margin-top: 0;
    }

    /* Data Attributes */
    [data-label] {
        display: block;
    }

    /* Color-coded rows */
    .table-success {
        background: rgba(16, 185, 129, 0.05);
    }

    .table-danger {
        background: rgba(239, 68, 68, 0.05);
    }

    .table-warning {
        background: rgba(245, 158, 11, 0.05);
    }

    .table-info {
        background: rgba(59, 130, 246, 0.05);
    }
}



/* ===== ЭТАП 7: MOBILE OPTIMIZATION & TOUCH INTERACTIONS ===== */

@media (max-width: 1024px) {

    /* Reduce animations for better performance */
    * {
        animation-duration: 0.3s !important;
        animation-delay: 0s !important;
    }

    /* Touch-friendly interactions */
    button,
    a,
    input[type="button"],
    input[type="submit"],
    input[type="reset"],
    .btn,
    .button {
        min-height: 44px;
        min-width: 44px;
        -webkit-tap-highlight-color: transparent;
        -webkit-touch-callout: none;
    }

    /* Active state for touch */
    button:active,
    a:active,
    input:active,
    .btn:active,
    .button:active {
        transform: translateY(1px);
        opacity: 0.9;
    }

    /* Focus states */
    input:focus,
    textarea:focus,
    select:focus {
        outline: 2px solid var(--accent);
        outline-offset: 2px;
    }

    /* Remove focus outline on click (not keyboard) */
    button:focus:not(:focus-visible),
    a:focus:not(:focus-visible),
    input:focus:not(:focus-visible) {
        outline: none;
    }

    /* Visible focus on keyboard */
    button:focus-visible,
    a:focus-visible,
    input:focus-visible {
        outline: 2px solid var(--accent);
        outline-offset: 2px;
    }

    /* Remove text selection on double-tap */
    input,
    button {
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    /* Smooth scrolling */
    html {
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
    }

    /* Prevent zoom on input focus (iOS) */
    input,
    textarea,
    select {
        font-size: 16px;
    }

    /* Optimize link click area */
    a {
        position: relative;
    }

    a::before {
        content: '';
        position: absolute;
        top: -8px;
        left: -8px;
        right: -8px;
        bottom: -8px;
        z-index: -1;
    }

    /* Transition optimization */
    a,
    button,
    input,
    textarea,
    select {
        transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    }

    /* Disable transitions for animations */
    .no-transition {
        transition: none !important;
    }

    /* Hardware acceleration */
    .accelerate {
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
        will-change: transform;
    }

    /* Backface visibility for performance */
    .backface-hidden {
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
    }

    /* Active pseudo-class optimization */
    .active {
        color: var(--accent);
    }

    /* Disabled state */
    input:disabled,
    button:disabled,
    textarea:disabled,
    select:disabled {
        opacity: 0.6;
        cursor: not-allowed;
    }

    /* Loading state */
    .loading {
        opacity: 0.7;
        pointer-events: none;
    }

    .loading::after {
        content: '';
        display: inline-block;
        width: 12px;
        height: 12px;
        border: 2px solid rgba(255, 255, 255, 0.3);
        border-top-color: white;
        border-radius: 50%;
        animation: spin 0.6s linear infinite;
    }

    @keyframes spin {
        to {
            transform: rotate(360deg);
        }
    }

    /* Hover states optimization */
    @media (hover: hover) {

        button:hover,
        a:hover,
        .btn:hover {
            transform: translateY(-2px);
        }
    }

    /* No hover on touch devices */
    @media (hover: none) {

        button:hover,
        a:hover,
        .btn:hover {
            transform: none;
        }

        button:active,
        a:active,
        .btn:active {
            transform: translateY(1px);
        }
    }

    /* Landscape mode optimization */
    @media (orientation: landscape) {
        body {
            max-height: 100vh;
            overflow-y: auto;
        }

        header.header-industrial {
            height: 50px;
        }

        .hero-section {
            padding: 20px;
            min-height: auto;
        }

        h1 {
            font-size: 24px;
            margin-bottom: 12px;
        }

        .container {
            padding: 16px;
        }

        /* Hide non-critical elements in landscape */
        .landscape-hide {
            display: none;
        }
    }

    /* Safe area support (notch, etc.) */
    @supports (padding: max(0px)) {
        body {

            padding-top: max(12px, env(safe-area-inset-top));
            padding-bottom: max(12px, env(safe-area-inset-bottom));
        }

        header.header-industrial {
            padding-left: max(16px, env(safe-area-inset-left));
            padding-right: max(16px, env(safe-area-inset-right));
        }

        .container {
            padding-left: max(16px, env(safe-area-inset-left));
            padding-right: max(16px, env(safe-area-inset-right));
        }

        .mobile-menu-sidebar {
            left: 0;
            max-width: calc(100% - env(safe-area-inset-right));
        }

        .mobile-menu-close {
            margin-right: env(safe-area-inset-right);
        }
    }

    /* Prevent layout shift on scrollbar appearance */
    html {
        scrollbar-gutter: stable;
    }

    /* Optimize form elements */
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    textarea {
        -webkit-appearance: none;
        appearance: none;
        -webkit-border-radius: 0;
        border-radius: var(--radius-sm);
    }

    /* Remove iOS input styling */
    input {
        -webkit-appearance: none;
        -webkit-border-radius: 0;
    }

    button {
        -webkit-appearance: none;
        border: none;
    }

    /* Accessibility improvements */
    .sr-only {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border-width: 0;
    }

    /* Focus visible ring */
    .focus-ring:focus-visible {
        outline: 2px solid var(--accent);
        outline-offset: 2px;
    }

    /* Cursor optimization */
    button {
        cursor: pointer;
    }

    a {
        cursor: pointer;
    }

    input[disabled],
    button[disabled] {
        cursor: not-allowed;
    }
}





/* Prefer Reduced Motion */
@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    /* Disable animations completely */
    html {
        scroll-behavior: auto;
    }

    /* Keep only essential transitions */
    button,
    a,
    input {
        transition: none;
    }
}

/* High Contrast Mode */
@media (prefers-contrast: more) {
    body {
        color: #000;
        background: #fff;
    }

    a {
        text-decoration: underline;
    }

    button {
        border: 2px solid currentColor;
    }

    input,
    textarea,
    select {
        border-width: 2px;
    }
}

/* Dark Mode Support */
@media (prefers-color-scheme: dark) {
    /* Dark mode would be handled by CSS variables if available */
    /* This is a placeholder for future dark mode implementation */
}

/* Pointer Event Support */
@media (pointer: coarse) {

    /* Touch devices - increase touch targets */
    button,
    a,
    input[type="button"],
    input[type="submit"] {
        min-height: 44px;
        min-width: 44px;
    }

    /* Increase spacing between clickable elements */
    button+button,
    a+a {
        margin-left: 8px;
    }
}

@media (pointer: fine) {

    /* Mouse devices - normal hover states */
    button:hover,
    a:hover {
        transform: translateY(-2px);
    }

    /* Show focus outline on keyboard */
    button:focus-visible,
    a:focus-visible,
    input:focus-visible {
        outline: 2px solid var(--accent);
        outline-offset: 2px;
    }
}

/* ===== RESPONSIVE FIXES (HEADER/FOOTER) ===== */
@media (max-width: 1024px) {
    .footer-top {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }
}

@media (max-width: 768px) {

    /* Fix Footer Overflow */
    .footer-top {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .footer-industrial {
        padding: 60px 0 24px;
        overflow-x: hidden;
    }

    /* Fix Header Layout */
    .header-industrial {
        width: 100%;
        max-width: 100vw;
        padding: 0 16px;
    }

    .header-container {
        width: 100%;
        justify-content: space-between;
    }

    /* Ensure body doesn't overflow horizontally */
    body {
        overflow-x: hidden;
        width: 100%;
    }
}

/* ==========================================================================
   SINGLE SURFACE PAGE STYLES
   ========================================================================== */

/* 1. SS HERO SECTION */
.ss-hero-section {
    position: relative;
    padding: 180px 0 100px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: #fff;
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.ss-hero-section .breadcrumbs {
    margin-bottom: 40px;
}

.ss-hero-section .breadcrumbs a,
.ss-hero-section .breadcrumbs span {
    color: rgba(255, 255, 255, 0.8);
}

.ss-hero-section .breadcrumbs a:hover {
    color: #fff;
}



.ss-hero-content h1 {
    font-size: 52px;
    line-height: 1.1;
    font-weight: 800;
    margin-bottom: 40px;
    letter-spacing: -0.02em;
    color: #fff;
}

.ss-hero-content.has-hero-desc h1 {
    margin-bottom: 16px;
}

.ss-hero-desc {
    font-size: 20px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.82);
    margin-bottom: 36px;
    max-width: 640px;
}

.ss-hero-stats {
    display: flex;
    gap: 40px;
    margin-bottom: 50px;
    flex-wrap: wrap;
}

.ss-stat-item {
    display: flex;
    align-items: center;
    gap: 16px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 16px 24px;
    border-radius: var(--radius-md);
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.ss-stat-item svg {
    font-size: 32px;
    color: var(--accent);
}

.ss-stat-text {
    display: flex;
    flex-direction: column;
}

.ss-stat-text .ss-val {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
}

.ss-stat-text .ss-lbl {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7);
}

/* 2. SS BENEFITS SECTION */
.ss-benefits-section {
    padding: 100px 0;
    background: var(--bg-primary);
}

.ss-benefits-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 50px;
}

.ss-benefit-card {
    background: #fff;
    padding: 40px;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--border-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ss-benefit-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-md);
}

.ss-benefit-icon {
    width: 64px;
    height: 64px;
    background: rgba(255, 110, 52, 0.1);
    /* accent with opacity */
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
}

.ss-benefit-icon svg {
    font-size: 32px;
    color: var(--accent);
}

.ss-benefit-card h3 {
    font-size: 24px;
    margin-bottom: 16px;
    color: var(--text-primary);
}

.ss-benefit-card p {
    color: var(--text-secondary);
    line-height: 1.6;
}

/* 3. SS AUDIENCE SECTION */
.ss-audience-section {
    padding: 120px 0;
    background: linear-gradient(180deg, #f5f7fb 0%, #fff 100%);
}

.ss-audience-panel {
    position: relative;
    border-radius: 36px;
    border: 1px solid rgba(11, 37, 92, 0.15);
    background: #fff;
    padding: 56px 64px;
    box-shadow: 0 30px 80px rgba(5, 23, 58, 0.08);
    overflow: hidden;
}

.ss-audience-panel::after {
    content: '';
    position: absolute;
    top: 0;
    left: 48px;
    width: calc(100% - 96px);
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, #0f6efe 0%, #62d2ff 100%);
    pointer-events: none;
}

.ss-audience-head {
    margin-bottom: 48px;
}

.ss-audience-head h2 {
    font-size: clamp(38px, 6vw, 56px);
    line-height: 1.05;
    margin-bottom: 12px;
    color: var(--text-primary);
}

.ss-audience-description {
    font-size: 20px;
    color: var(--text-secondary);
    line-height: 1.7;
    max-width: 760px;
}

.ss-audience-grid {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.ss-audience-item {
    padding-top: 24px;
    border-top: 1px solid rgba(11, 37, 92, 0.12);
}

.ss-audience-item:first-child {
    border-top: none;
    padding-top: 0;
}

.ss-audience-item-label {
    font-size: 18px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #0f2b58;
    font-weight: 600;
    margin-bottom: 8px;
}

.ss-audience-item-text {
    font-size: 19px;
    line-height: 1.7;
    color: var(--text-primary);
}

.ss-audience-footnote {
    margin-top: 40px;
    padding-top: 24px;
    border-top: 1px dashed rgba(11, 37, 92, 0.25);
    font-size: 16px;
    color: var(--text-secondary);
    line-height: 1.6;
}

@media (max-width: 992px) {
    .ss-audience-panel {
        padding: 44px;
    }
}

@media (max-width: 600px) {
    .ss-audience-section {
        padding: 80px 0;
    }

    .ss-audience-panel {
        padding: 32px 24px;
    }

    .ss-audience-head h2 {
        font-size: 32px;
    }

    .ss-audience-description,
    .ss-audience-item-text {
        font-size: 18px;
    }
}



/* 4. SS GALLERY SECTION */
.ss-gallery-section {
    padding: 100px 0;
    background: var(--bg-primary);
}

.ss-gallery-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 30px;
}

.ss-gallery-header .section-title {
    margin-bottom: 8px;
}

.ss-slider-nav {
    display: flex;
    gap: 16px;
}

.ss-nav-btn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid var(--border-color);
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    color: var(--text-primary);
    font-size: 24px;
}

.ss-nav-btn:hover {
    background: var(--accent);
    color: #fff;
    border-color: var(--accent);
}

@media (max-width: 768px) {
    .ss-gallery-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }
}

.ss-gallery-slider {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    padding-bottom: 30px;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    margin-top: 50px;
}

.ss-gallery-slider::-webkit-scrollbar {
    height: 6px;
}

.ss-gallery-slider::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.05);
    border-radius: 4px;
}

.ss-gallery-slider::-webkit-scrollbar-thumb {
    background: var(--accent);
    border-radius: 4px;
}

.ss-gallery-item {
    flex: 0 0 85vw;
    scroll-snap-align: start;
    border-radius: var(--radius-lg);
    overflow: hidden;
    position: relative;
    padding-bottom: 60%;
}

@media (min-width: 768px) {
    .ss-gallery-item {
        flex: 0 0 calc(50% - 12px);
        padding-bottom: 33%;
    }
}

.ss-gallery-item img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.ss-gallery-item:hover img {
    transform: scale(1.05);
}

/* 5. SS MAP BRIDGE */
.ss-map-bridge {
    padding: 100px 0;
    background: #fff;
}

.ss-map-box {
    background: linear-gradient(135deg, var(--bg-primary) 0%, rgba(255, 110, 52, 0.05) 100%);
    border-radius: var(--radius-xl);
    padding: 80px 60px;
    position: relative;
    overflow: hidden;
    border: 1px solid var(--border-color);
}

.ss-map-box::after {
    content: "";
    /* needs actual img if available, or just keeping the existing code */
    position: absolute;
    right: -10%;
    top: -50%;
    width: 600px;
    height: 600px;
    background: url("../img/map-mockup.png") center/contain no-repeat;
    opacity: 0.15;
    pointer-events: none;
}

.ss-map-content {
    max-width: 600px;
    position: relative;
    z-index: 2;
}

.ss-map-content h2 {
    font-size: 40px;
    margin-bottom: 24px;
}

.ss-map-content p {
    font-size: 18px;
    color: var(--text-secondary);
    margin-bottom: 40px;
    line-height: 1.6;
}

/* SS RESPONSIVE STYLES */
@media (max-width: 1024px) {
    .ss-hero-section {
        padding: 140px 0 80px;
        min-height: 60vh;
    }

    .ss-hero-content h1 {
        font-size: 48px;
    }

}

@media (max-width: 768px) {
    .ss-hero-section {
        padding: 120px 0 60px;
    }

    .ss-hero-content h1 {
        font-size: 36px;
    }

    .ss-hero-desc {
        font-size: 18px;
        margin-bottom: 28px;
    }

    .ss-hero-stats {
        flex-direction: column;
        gap: 20px;
    }

    .ss-benefits-grid {
        grid-template-columns: 1fr;
    }

    .ss-map-box {
        padding: 40px 24px;
    }
}

/* 6. SS OTHER SURFACES SLIDER */
.other-surfaces-slider {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    padding-bottom: 30px;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    margin-top: 50px;
}

.other-surfaces-slider::-webkit-scrollbar {
    height: 6px;
}

.other-surfaces-slider::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.05);
    border-radius: 4px;
}

.other-surfaces-slider::-webkit-scrollbar-thumb {
    background: var(--accent);
    border-radius: 4px;
}

.other-surfaces-slider .surface-card {
    flex: 0 0 350px;
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
}



@media (max-width: 768px) {
    .other-surfaces-slider .surface-card {
        flex: 0 0 85vw;
    }
}

/* =========================================
   STANDARD PAGE CONTENT (Gutenberg)
   ========================================= */
.page-content-wrapper h2 {
    font-size: 32px;
    font-weight: 700;
    margin-top: 40px;
    margin-bottom: 24px;
    color: var(--heading-color);
}

.page-content-wrapper h3 {
    font-size: 24px;
    font-weight: 700;
    margin-top: 32px;
    margin-bottom: 20px;
    color: var(--heading-color);
}

.page-content-wrapper p {
    margin-bottom: 20px;
}

.page-content-wrapper ul,
.page-content-wrapper ol {
    margin-bottom: 24px;
    padding-left: 20px;
}

.page-content-wrapper li {
    margin-bottom: 10px;
}

.page-content-wrapper img {
    max-width: 100%;
    height: auto;
    border-radius: var(--radius-md);
    margin: 32px 0;
}

.page-content-wrapper blockquote {
    border-left: 4px solid var(--accent);
    padding-left: 20px;
    font-style: italic;
    margin: 32px 0;
    color: var(--text-color);
    opacity: 0.8;
}

/* =========================================
   COOKIE NOTICE
   ========================================= */
.cookie-notice {
    position: fixed;
    bottom: 20px;
    left: 20px;
    right: 20px;
    max-width: 1200px;
    margin: 0 auto;
    background: #111;
    color: #fff;
    padding: 20px 30px;
    border-radius: var(--radius-md);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    z-index: 9999;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.cookie-content p {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
}

.cookie-content a {
    color: var(--accent);
    text-decoration: underline;
}

.btn-cookie {
    background: var(--accent);
    color: #fff;
    border: none;
    padding: 10px 24px;
    border-radius: var(--radius-sm);
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.btn-cookie:hover {
    background: #e05e2b;
}

@media (max-width: 768px) {
    .cookie-notice {
        flex-direction: column;
        text-align: center;
        gap: 15px;
        bottom: 10px;
        left: 10px;
        right: 10px;
        padding: 15px;
    }

    .btn-cookie {
        width: 100%;
    }
}

/* --- Client Requested Overrides --- */
button,
input[type="submit"],
input[type="button"],
.btn,
[class*="btn-"],
[class*="-btn"] {
    text-transform: uppercase !important;
    font-weight: 700 !important;
}

