:root {
    --core-darkness: #000000;
    --envelope-white: #ffffff;
    --abyssal-blue: #0b1b3d;
    --submerged-navy: #152c5b;
    --hydro-cyan: #00a3ff;
    --glacial-blue: #e6f4ff;
    --atmosphere-slate: #152c5b;
    --boundary-tint: #1e3a75;
    --max-span-width: 1200px;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}

body {
    background-color: var(--envelope-white);
    color: var(--core-darkness);
    line-height: 1.6;
    overflow-x: hidden;
}

.site-bounded-frame {
    width: 100%;
    max-width: var(--max-span-width);
    margin: 0 auto;
    padding: 0 20px;
}

.mini-constrained-frame {
    max-width: 900px;
}

.alert-top-indicator {
    background-color: var(--core-darkness);
    color: var(--envelope-white);
    font-size: 12px;
    font-weight: 700;
    padding: 8px 0;
    letter-spacing: 0.05em;
    border-bottom: 2px solid var(--boundary-tint);
}

.alert-layout-flex {
    display: table;
    width: 100%;
}

.alert-layout-flex span {
    display: table-cell;
    vertical-align: middle;
}

.system-status-pill {
    text-align: right;
    color: var(--hydro-cyan);
}

.navigation-primary-bar {
    background-color: var(--abyssal-blue);
    border-bottom: 4px solid var(--hydro-cyan);
    position: sticky;
    top: 0;
    z-index: 1000;
    padding: 15px 0;
}

.navigation-layout-flex {
    display: table;
    width: 100%;
}

.identity-brand-logo, 
.navigation-links-block, 
.telephony-action-trigger {
    display: table-cell;
    vertical-align: middle;
}

.identity-brand-logo a {
    color: var(--envelope-white);
    font-size: 24px;
    font-weight: 900;
    text-decoration: none;
    letter-spacing: -0.02em;
}

.identity-brand-logo span {
    color: var(--hydro-cyan);
}

.navigation-links-block {
    text-align: center;
}

.navigation-links-block a {
    color: var(--envelope-white);
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    margin: 0 15px;
    transition: color 0.2s;
}

.navigation-links-block a:hover {
    color: var(--hydro-cyan);
}

.communication-hotline {
    cursor: pointer;
}

.telephony-action-trigger {
    text-align: right;
    color: var(--envelope-white);
}

.telephony-action-trigger small {
    display: block;
    font-size: 11px;
    color: var(--hydro-cyan);
    text-transform: uppercase;
    font-weight: 700;
}

.telephony-action-trigger span {
    font-size: 18px;
    font-weight: 800;
}

.navigation-toggle-widget {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
}

.navigation-toggle-widget span {
    display: block;
    width: 25px;
    height: 3px;
    background-color: var(--envelope-white);
    margin: 5px 0;
    transition: 0.3s;
}

.hero-impact-zone {
    background: linear-gradient(135deg, rgba(11, 27, 61, 0.95), rgba(21, 44, 91, 0.9)), url('../assets/pittsburgh-flood-mitigation-hero.png') no-repeat center center;
    background-size: cover;
    padding: 80px 0;
    color: var(--envelope-white);
    border-bottom: 8px solid var(--core-darkness);
}

.hero-layout-grid {
    display: table;
    width: 100%;
}

.hero-typography-block, 
.lead-capture-card-container {
    display: table-cell;
    width: 50%;
    vertical-align: middle;
}

.hero-typography-block {
    padding-right: 50px;
}

.geography-context-badge {
    display: inline-block;
    background-color: var(--hydro-cyan);
    color: var(--core-darkness);
    font-size: 11px;
    font-weight: 800;
    padding: 4px 10px;
    text-transform: uppercase;
    margin-bottom: 20px;
    letter-spacing: 0.05em;
}

.hero-typography-block h1 {
    font-size: 42px;
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 25px;
}

.hero-typography-block h1 span {
    color: var(--hydro-cyan);
}

.hero-typography-block p {
    font-size: 16px;
    color: var(--glacial-blue);
    margin-bottom: 30px;
}

.verification-checks-list {
    margin-top: 20px;
}

.verification-row-item {
    font-weight: 600;
    margin-bottom: 10px;
    color: var(--envelope-white);
}

.lead-capture-card-container {
    background-color: var(--abyssal-blue);
    color: var(--envelope-white);
    border-radius: 0;
    box-shadow: 0 20px 40px rgba(0,0,0,0.5);
    border: 4px solid var(--hydro-cyan);
}

.lead-card-header {
    background-color: var(--core-darkness);
    padding: 25px;
    border-bottom: 2px solid var(--boundary-tint);
    text-align: center;
}

.lead-card-header h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--hydro-cyan);
}

.lead-card-header p {
    font-size: 13px;
    color: var(--glacial-blue);
    margin-top: 5px;
}

.lead-card-body {
    padding: 35px 25px;
}

.notification-amber-panel {
    background-color: var(--core-darkness);
    color: var(--envelope-white);
    padding: 15px;
    text-align: center;
    font-size: 14px;
    margin-bottom: 25px;
    border: 2px solid var(--hydro-cyan);
}

.notification-amber-panel strong {
    color: var(--hydro-cyan);
}

.call-to-action-button-massive {
    display: block;
    width: 100%;
    background-color: var(--hydro-cyan);
    color: var(--core-darkness);
    border: none;
    padding: 20px;
    font-size: 18px;
    font-weight: 900;
    cursor: pointer;
    transition: background-color 0.2s;
    text-align: center;
}

.call-to-action-button-massive:hover {
    background-color: var(--core-darkness);
    color: var(--envelope-white);
    outline: 3px solid var(--hydro-cyan);
}

.regulatory-subtext-guarantee {
    display: block;
    text-align: center;
    font-size: 11px;
    color: var(--glacial-blue);
    margin-top: 15px;
    font-weight: 600;
}

.matrix-indicators-section {
    padding: 80px 0;
    background-color: var(--glacial-blue);
    border-bottom: 4px solid var(--submerged-navy);
}

.section-center-headline {
    font-size: 32px;
    font-weight: 900;
    text-align: center;
    color: var(--abyssal-blue);
    margin-bottom: 15px;
    text-transform: uppercase;
}

.section-center-subtext {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 50px auto;
    color: var(--core-darkness);
    font-size: 16px;
    font-weight: 600;
}

.matrix-layout-grid {
    display: table;
    width: 100%;
    table-layout: fixed;
}

.matrix-informational-box {
    display: table-cell;
    background-color: var(--envelope-white);
    color: var(--core-darkness);
    padding: 40px 30px;
    border: 3px solid var(--abyssal-blue);
    position: relative;
}

.matrix-informational-box:nth-child(2) {
    border-left: none;
    border-right: none;
    background-color: var(--abyssal-blue);
    color: var(--envelope-white);
}

.numerical-index-holder {
    font-size: 48px;
    font-weight: 900;
    color: var(--submerged-navy);
    line-height: 1;
    margin-bottom: 15px;
}

.matrix-informational-box:nth-child(2) .numerical-index-holder {
    color: var(--hydro-cyan);
}

.matrix-informational-box h3 {
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 15px;
}

.matrix-informational-box:not(:nth-child(2)) h3 {
    color: var(--abyssal-blue);
}

.matrix-informational-box p {
    font-size: 14px;
    margin-bottom: 25px;
    color: var(--core-darkness);
    font-weight: 600;
}

.matrix-informational-box:nth-child(2) p {
    color: var(--envelope-white);
}

.informational-box-anchor {
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    color: var(--hydro-cyan);
    text-transform: uppercase;
}

.matrix-informational-box:not(:nth-child(2)) .informational-box-anchor {
    color: var(--submerged-navy);
}

.editorial-longread-container {
    padding: 80px 0;
    background-color: var(--envelope-white);
}

.textual-narrative-article {
    max-width: 800px;
    margin: 0 auto;
}

.textual-narrative-article h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--core-darkness);
    margin-bottom: 20px;
    border-left: 6px solid var(--hydro-cyan);
    padding-left: 15px;
}

.textual-narrative-article h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--submerged-navy);
    margin: 40px 0 20px 0;
}

.textual-narrative-article p {
    font-size: 16px;
    margin-bottom: 25px;
    color: var(--core-darkness);
    text-align: justify;
}

.media-content-frame {
    margin: 35px 0;
    background-color: var(--glacial-blue);
    padding: 15px;
    border: 2px solid var(--submerged-navy);
}

.responsive-fluid-graphic {
    width: 100%;
    height: auto;
    display: block;
}

.media-caption-text {
    display: block;
    font-size: 12px;
    color: var(--core-darkness);
    margin-top: 10px;
    font-style: italic;
    font-weight: 700;
}

.layout-split-sidebar {
    display: table;
    width: 100%;
    background: none;
    border: none;
    padding: 0;
}

.responsive-fluid-graphic-side {
    display: table-cell;
    width: 100%;
    height: auto;
    padding-right: 25px;
    vertical-align: top;
}

.layout-split-sidebar p {
    display: table-cell;
    width: 60%;
    vertical-align: top;
}

.testimonials-reviews-section {
    background-color: var(--abyssal-blue);
    color: var(--envelope-white);
    padding: 80px 0;
    border-top: 4px solid var(--hydro-cyan);
}

.testimonials-reviews-section .section-center-headline {
    color: var(--envelope-white);
}

.reviews-wrapper-layout {
    margin-top: 40px;
}

.review-card-item {
    background-color: var(--core-darkness);
    padding: 30px;
    margin-bottom: 20px;
    border: 2px solid var(--hydro-cyan);
}

.review-rating-stars {
    color: var(--hydro-cyan);
    font-size: 18px;
    margin-bottom: 10px;
}

.review-card-item h4 {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--hydro-cyan);
}

.review-card-item p {
    font-size: 14px;
    color: var(--envelope-white);
    font-style: italic;
}

.frequently-asked-questions-accordion {
    padding: 80px 0;
    background-color: var(--core-darkness);
    color: var(--envelope-white);
}

.frequently-asked-questions-accordion .section-center-headline {
    color: var(--envelope-white);
}

.accordion-wrapper-layout {
    margin-top: 40px;
}

.accordion-card-node {
    display: table;
    width: 100%;
    background-color: var(--abyssal-blue);
    padding: 25px;
    margin-bottom: 15px;
    border: 2px solid var(--hydro-cyan);
}

.accordion-question-badge {
    display: table-cell;
    width: 40px;
    font-size: 24px;
    font-weight: 900;
    color: var(--hydro-cyan);
    vertical-align: top;
}

.accordion-text-content {
    display: table-cell;
    vertical-align: top;
}

.accordion-text-content h4 {
    font-size: 16px;
    font-weight: 700;
    color: var(--envelope-white);
    margin-bottom: 10px;
}

.accordion-text-content p {
    font-size: 14px;
    color: var(--glacial-blue);
}

.footer-industrial-platform {
    background-color: var(--core-darkness);
    color: var(--glacial-blue);
    padding: 60px 0 120px 0;
    font-size: 12px;
    border-top: 4px solid var(--hydro-cyan);
}

.footer-meta-navigation {
    text-align: center;
    margin-bottom: 30px;
}

.footer-meta-navigation a {
    color: var(--envelope-white);
    text-decoration: none;
    margin: 0 10px;
    font-weight: 600;
}

.footer-meta-navigation a:hover {
    color: var(--hydro-cyan);
}

.footer-legal-notice-block p {
    margin-bottom: 15px;
    text-align: justify;
    line-height: 1.5;
}

.footer-fineprint-disclosure {
    font-size: 11px;
    opacity: 0.8;
}

.footer-copyright-line {
    text-align: center;
    margin-top: 30px;
    font-weight: 700;
    color: var(--hydro-cyan);
}

.sticky-footer-call-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: var(--hydro-cyan);
    color: var(--core-darkness);
    padding: 15px 0;
    z-index: 2000;
    box-shadow: 0 -5px 20px rgba(0,0,0,0.4);
    display: none;
}

.sticky-bar-flex-layout {
    display: table;
    margin: 0 auto;
}

.sticky-pulse-icon, 
.sticky-typography-layout {
    display: table-cell;
    vertical-align: middle;
}

.sticky-pulse-icon {
    font-size: 24px;
    padding-right: 15px;
}

.sticky-typography-layout small {
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.05em;
}

.sticky-typography-layout strong {
    font-size: 20px;
    font-weight: 900;
}

@media (max-width: 768px) {
    .alert-layout-flex span {
        display: block;
        text-align: center;
    }
    .system-status-pill {
        display: none !important;
    }
    .navigation-layout-flex {
        position: relative;
        display: block;
    }
    .navigation-links-block {
        display: none;
        text-align: left;
        padding-top: 20px;
    }
    .navigation-links-block.active {
        display: block;
    }
    .navigation-links-block a {
        display: block;
        padding: 10px 0;
        margin: 0;
        border-bottom: 1px solid var(--boundary-tint);
    }
    .telephony-action-trigger {
        display: none !important;
    }
    .navigation-toggle-widget {
        display: block;
        position: absolute;
        right: 20px;
        top: 0;
    }
    .navigation-toggle-widget.active span:nth-child(1) {
        transform: rotate(-45deg) translate(-5px, 6px);
    }
    .navigation-toggle-widget.active span:nth-child(2) {
        opacity: 0;
    }
    .navigation-toggle-widget.active span:nth-child(3) {
        transform: rotate(45deg) translate(-5px, -6px);
    }
    .hero-layout-grid, 
    .hero-typography-block, 
    .lead-capture-card-container, 
    .matrix-layout-grid, 
    .matrix-informational-box,
    .layout-split-sidebar,
    .responsive-fluid-graphic-side,
    .layout-split-sidebar p {
        display: block;
        width: 100%;
        padding-right: 0;
        padding-left: 0;
    }
    .lead-capture-card-container {
        margin-top: 40px;
    }
    .matrix-informational-box {
        border: 3px solid var(--abyssal-blue) !important;
        margin-bottom: 15px;
    }
    .hero-typography-block h1 {
        font-size: 30px;
    }
    .responsive-fluid-graphic-side {
        margin-bottom: 20px;
    }
    .sticky-footer-call-bar {
        display: block;
    }
}

/* Выравнивание списков по сетке основного текста */
.textual-narrative-article ul {
    padding-left: 20px;
    margin-bottom: 25px;
    list-style-position: outside;
}

.textual-narrative-article li {
    margin-bottom: 10px;
    line-height: 1.6;
}

.breadcrumb-navigation {
    display: block;
    margin-top: 20px;
    margin-bottom: 30px;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-muted, #868e96);
}

.breadcrumb-navigation a {
    color: var(--text-muted, #868e96);
    text-decoration: none;
    transition: color 0.2s ease;
}

.breadcrumb-navigation a:hover {
    color: #4dabf7;
}

.breadcrumb-navigation .breadcrumb-separator {
    color: #4dabf7;
    margin-left: 5px;
    margin-right: 5px;
}

.breadcrumb-navigation .breadcrumb-current {
    color: #4dabf7;
}