/* site palette */
html:root {
    --bg: #FAF7F1;
    --surface: #FFFFFF;
    --surface-alt: #F3E9E6;
    --text: #312818;
    --text-muted: #6D6455;
    --border: #E4DFD8;
    --primary: #593228;
    --primary-hover: #40241D;
    --on-primary: #FFFFFF;
    --primary-text: #593228;
    --accent: #F1BF66;
    --on-accent: #111111;
    --accent-text: #92620D;
    --dark-band: #381F19;
    --on-dark: #FFFFFF;
    --on-dark-muted: #C3BEB6;
    --brand-btn-bg: #FFFFFF;
    --brand-btn-text: #381F19;
    --section-alt-bg: linear-gradient(177deg, #F3E9E6 0%, #F7F1ED 100%);
    --dark-band-bg: linear-gradient(121deg, #381F19 0%, #462720 100%);
    --brand-band-bg: #593228;
    --hero-bg: linear-gradient(121deg, #381F19 0%, #462720 100%);
}

html:root {
    --bs-primary: #593228;
    --bs-primary-rgb: 89, 50, 40;
    --bs-link-color: #593228;
    --bs-link-color-rgb: 89, 50, 40;
    --bs-link-hover-color: #40241D;
    --mdb-primary: #593228;
    --mdb-primary-rgb: 89, 50, 40;
}

.btn-primary {
    --bs-btn-bg: var(--primary);
    --bs-btn-border-color: var(--primary);
    --bs-btn-color: var(--on-primary);
    --bs-btn-hover-bg: var(--primary-hover);
    --bs-btn-hover-border-color: var(--primary-hover);
    --bs-btn-hover-color: var(--on-primary);
    --bs-btn-active-bg: var(--primary-hover);
    --bs-btn-active-border-color: var(--primary-hover);
    --bs-btn-active-color: var(--on-primary);
    background-color: var(--primary);
    border-color: var(--primary);
    color: var(--on-primary);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
    color: var(--on-primary);
}

.btn-outline-primary {
    --bs-btn-color: var(--primary-text);
    --bs-btn-border-color: var(--primary);
    --bs-btn-hover-bg: var(--primary);
    --bs-btn-hover-border-color: var(--primary);
    --bs-btn-hover-color: var(--on-primary);
    color: var(--primary-text);
    border-color: var(--primary);
}

.btn-outline-primary:hover {
    background-color: var(--primary);
    color: var(--on-primary);
}

/* Responsive route visualization and navigation fixes */
.workflow-route-map {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 10px;
    margin: 28px 0 8px;
}

.workflow-route-map__stage {
    position: relative;
    padding: 14px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
    font-weight: 700;
    text-align: center;
}

.workflow-route-map__stage:not(:last-child)::after {
    content: '→';
    position: absolute;
    right: -10px;
    top: 50%;
    z-index: 2;
    transform: translate(50%, -50%);
    color: var(--accent-text);
}

@media (max-width: 991.98px) {
    .atlas-collapse.show {
        display: block !important;
        width: 100%;
        padding: 14px 0 20px;
    }

    .atlas-collapse .navbar-nav {
        align-items: stretch !important;
    }

    .atlas-collapse .nav-link,
    .atlas-collapse .atlas-header-btn {
        width: 100%;
        text-align: center;
    }

    .workflow-route-map {
        grid-template-columns: 1fr;
    }

    .workflow-route-map__stage:not(:last-child)::after {
        content: '↓';
        right: 50%;
        top: auto;
        bottom: -10px;
        transform: translate(50%, 50%);
    }
}

.text-primary,
.link-primary {
    color: var(--primary-text) !important;
}

.bg-primary,
.text-bg-primary,
.badge.bg-primary {
    color: var(--on-primary) !important;
}

/* /site palette */

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    font-family: 'Blinker', sans-serif;
    background-color: var(--bg);
    color: var(--text);
    margin: 0;
    padding: 0;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

.text-muted {
    color: var(--text-muted) !important;
}

.cny-section {
    background-color: var(--bg);
    padding-top: 64px;
    padding-bottom: 64px;
}

.cny-section-alt {
    background: var(--section-alt-bg, var(--surface-alt));
    padding-top: 64px;
    padding-bottom: 64px;
}

.cny-section-dark {
    background: var(--dark-band-bg, var(--dark-band));
    color: var(--on-dark);
    padding-top: 64px;
    padding-bottom: 64px;
}

.cny-section-brand {
    background: var(--brand-band-bg, var(--primary));
    color: var(--on-primary);
    padding-top: 64px;
    padding-bottom: 64px;
}

@media (min-width: 992px) {

    .cny-section,
    .cny-section-alt,
    .cny-section-dark,
    .cny-section-brand {
        padding-top: 104px;
        padding-bottom: 104px;
    }
}

.cny-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--primary);
    color: var(--on-primary);
    border: none;
    border-radius: 4px;
    padding: 12px 24px;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.cny-btn:hover,
.cny-btn:focus {
    background-color: var(--primary-hover);
    color: var(--on-primary);
}

.cny-btn-alt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--primary-text);
    border: none;
    border-bottom: 2px solid var(--accent);
    border-radius: 0;
    padding: 6px 0;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none;
    cursor: pointer;
    transition: color 0.2s ease, border-color 0.2s ease;
}

.cny-btn-alt:hover,
.cny-btn-alt:focus {
    color: var(--primary-hover);
    border-bottom-color: var(--accent-text);
}

.cny-btn-card {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.2);
    color: #FFFFFF;
    border: none;
    border-radius: 4px;
    padding: 8px 16px;
    font-weight: 600;
    font-size: 13px;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.cny-btn-card:hover,
.cny-btn-card:focus {
    background-color: var(--accent);
    color: var(--on-accent);
}

.cny-section-brand .cny-btn {
    background-color: var(--brand-btn-bg);
    color: var(--brand-btn-text);
}

.cny-section-brand .cny-btn:hover,
.cny-section-brand .cny-btn:focus {
    background-color: var(--bg);
    color: var(--brand-btn-text);
}

.cny-section-brand .cny-btn-alt {
    color: var(--on-primary);
    border-bottom: 2px solid var(--accent);
}

.cny-section-brand .cny-btn-alt:hover,
.cny-section-brand .cny-btn-alt:focus {
    color: var(--accent);
}

.cny-card {
    position: relative;
    background: var(--surface);
    color: var(--text);
    border: none;
    border-radius: 12px;
    box-shadow: none;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.cny-card-overlay {
    position: relative;
    aspect-ratio: 1 / 1;
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 24px;
    color: #FFFFFF;
}

.cny-card-overlay::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, rgba(56, 31, 25, 0.20) 0%, rgba(56, 31, 25, 0.90) 100%);
    z-index: 1;
    transition: background 0.25s ease;
}

.cny-card-overlay:hover::before {
    background: linear-gradient(180deg, rgba(56, 31, 25, 0.15) 0%, rgba(56, 31, 25, 0.75) 100%);
}

.cny-card-overlay>* {
    position: relative;
    z-index: 2;
}

.cny-media {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    flex-grow: 0;
    flex-shrink: 0;
    border-radius: 12px;
    border: none;
    overflow: hidden;
}

.cny-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cny-eyebrow {
    font-size: 12px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--accent-text);
    display: block;
    margin-bottom: 8px;
}

.cny-title {
    font-size: 28px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--text);
    margin-bottom: 12px;
}

@media (min-width: 992px) {
    .cny-title {
        font-size: 40px;
    }
}

.cny-title span.accent-lead {
    color: var(--accent-text);
    font-weight: 800;
}

.cny-accent-line {
    width: 48px;
    height: 3px;
    background-color: var(--accent);
    margin: 12px 0 20px 0;
    display: block;
}

.cny-badge {
    display: inline-block;
    background-color: var(--primary);
    color: #FFFFFF;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 700;
    border-radius: 2px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.cny-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    color: var(--primary);
}

.cny-icon svg {
    width: 24px;
    height: 24px;
    stroke-width: 1.75;
}

.cny-on-dark {
    color: var(--on-dark);
}

.cny-section-dark,
.cny-on-dark {
    color: var(--on-dark);
}

.cny-section-dark h1,
.cny-section-dark h2,
.cny-section-dark h3,
.cny-section-dark h4,
.cny-section-dark .cny-title,
.cny-on-dark h1,
.cny-on-dark h2,
.cny-on-dark h3,
.cny-on-dark h4,
.cny-on-dark .cny-title {
    color: var(--on-dark);
}

.cny-section-dark .cny-eyebrow,
.cny-on-dark .cny-eyebrow {
    color: var(--accent);
}

.cny-section-dark p,
.cny-on-dark p {
    color: var(--on-dark);
}

.cny-section-dark .text-muted,
.cny-on-dark .text-muted {
    color: var(--on-dark-muted) !important;
}

.cny-section-dark .cny-btn-alt,
.cny-on-dark .cny-btn-alt {
    color: var(--on-dark);
    border-bottom: 2px solid var(--accent);
}

.cny-section-dark .cny-card,
.cny-on-dark .cny-card {
    background: var(--surface);
    color: var(--text);
}

.cny-section-dark .cny-card h1,
.cny-section-dark .cny-card h2,
.cny-section-dark .cny-card h3,
.cny-section-dark .cny-card h4,
.cny-section-dark .cny-card .cny-title,
.cny-on-dark .cny-card h1,
.cny-on-dark .cny-card h2,
.cny-on-dark .cny-card h3,
.cny-on-dark .cny-card h4,
.cny-on-dark .cny-card .cny-title {
    color: var(--text);
}

.cny-section-dark .cny-card p,
.cny-on-dark .cny-card p {
    color: var(--text);
}

.cny-section-dark .cny-card .text-muted,
.cny-on-dark .cny-card .text-muted {
    color: var(--text-muted) !important;
}

.cny-overlap-card-wrap {
    position: relative;
    display: flex;
    flex-direction: column;
}

@media (min-width: 992px) {
    .cny-overlap-card-wrap {
        flex-direction: row;
        align-items: center;
    }

    .cny-overlap-card-text {
        margin-left: -80px;
        z-index: 3;
    }
}

.cny-overlap-card-text {
    background: var(--surface);
    padding: 32px;
    border-radius: 12px;
    position: relative;
}

@media (min-width: 992px) {
    .cny-overlap-card-text {
        padding: 48px;
    }
}

.cny-corner-bracket {
    position: relative;
}

.cny-corner-bracket::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 16px;
    height: 16px;
    border-top: 2px solid var(--accent);
    border-left: 2px solid var(--accent);
}

.cny-corner-bracket::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 16px;
    height: 16px;
    border-bottom: 2px solid var(--accent);
    border-right: 2px solid var(--accent);
}

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

@media (min-width: 576px) {
    .cny-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 992px) {
    .cny-stats-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.cny-stat-box {
    border-top: 1px solid rgba(241, 191, 102, 0.4);
    padding-top: 16px;
}

.cny-stat-box .cny-stat-val {
    font-size: 40px;
    font-weight: 800;
    line-height: 1.1;
    color: var(--accent);
}

.cny-stat-box .cny-stat-lbl {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: var(--on-dark-muted);
    text-transform: uppercase;
    margin-top: 8px;
}

.cny-partner-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 48px;
}

.cny-partner-logo {
    opacity: 0.4;
    color: var(--primary-text);
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

/* ===== site_header_and_main_navigation ===== */
.atlas-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    background-color: var(--bg);
    border-bottom: 1px solid var(--border);
}

.atlas-header .atlas-navbar {
    min-height: 80px;
}

.atlas-header .atlas-brand {
    text-decoration: none;
}

.atlas-header .atlas-logo {
    max-width: 42px;
    max-height: 42px;
    width: 42px;
    height: 42px;
    object-fit: contain;
    display: block;
}

.atlas-header .atlas-brand-text {
    font-family: var(--font_family_headings, 'Blinker', sans-serif);
    font-size: 22px;
    font-weight: 900;
    line-height: 1.2;
    color: var(--text);
    letter-spacing: -0.01em;
}

.atlas-header .atlas-brand-accent {
    color: var(--accent-text);
}

.atlas-header .atlas-toggler {
    background-color: transparent;
    color: var(--text);
    border-radius: 4px;
    line-height: 1;
}

.atlas-header .atlas-toggler:focus {
    outline: 2px solid var(--primary);
    box-shadow: none;
}

.atlas-header .atlas-toggler-svg {
    display: block;
    color: var(--text);
}

.atlas-header .atlas-nav-link {
    font-family: var(--font_family_base, 'Blinker', sans-serif);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
    color: var(--text);
    padding: 8px 14px;
    position: relative;
    transition: color 0.2s ease;
}

.atlas-header .atlas-nav-link:hover,
.atlas-header .atlas-nav-link:focus {
    color: var(--primary);
}

.atlas-header .atlas-header-btn {
    background-color: var(--primary);
    color: var(--on-primary);
    border: none;
    border-radius: 4px;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1.2;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.atlas-header .atlas-header-btn:hover,
.atlas-header .atlas-header-btn:focus {
    background-color: var(--primary-hover);
    color: var(--on-primary);
}

@media (max-width: 991.98px) {
    .atlas-header .atlas-collapse {
        background-color: var(--bg);
        border-top: 1px solid var(--border);
        padding: 16px 0 20px 0;
        margin-top: 8px;
    }

    .atlas-header .atlas-brand-text {
        font-size: 19px;
    }

    .atlas-header .atlas-nav-link {
        padding: 10px 0;
        font-size: 15px;
        border-bottom: 1px solid rgba(228, 223, 216, 0.5);
        display: block;
    }

    .atlas-header .atlas-header-btn {
        width: 100%;
        padding: 12px 20px;
    }
}

/* ===== map_where_the_image_goes_during_a_shoot ===== */
.sra-hero-section {
    background: var(--hero-bg, linear-gradient(121deg, #381F19 0%, #462720 100%));
    padding-top: 80px;
    padding-bottom: 80px;
    position: relative;
    overflow: hidden;
}

.sra-hero-section .sra-eyebrow-accent {
    color: var(--accent, #F1BF66);
    margin-bottom: 12px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.sra-hero-section .sra-title {
    color: var(--on-dark, #FFFFFF);
    font-size: 48px;
    line-height: 1.15;
    font-weight: 800;
    margin-bottom: 0;
    letter-spacing: -0.02em;
    overflow-wrap: anywhere;
}

.sra-hero-section .sra-accent-letter {
    color: var(--accent, #F1BF66);
    font-weight: 800;
}

.sra-hero-section .sra-accent-bar {
    width: 48px;
    height: 3px;
    background-color: var(--accent, #F1BF66);
    margin-top: 14px;
    margin-bottom: 22px;
}

.sra-hero-section .sra-lead-text {
    color: var(--on-dark-muted, #C3BEB6);
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 32px;
    max-width: 540px;
    overflow-wrap: anywhere;
}

.sra-hero-section .sra-actions-group {
    margin-bottom: 36px;
}

.sra-hero-section .sra-primary-btn {
    background-color: var(--primary, #593228);
    color: var(--on-primary, #FFFFFF);
    padding: 14px 28px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-radius: 4px;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.sra-hero-section .sra-primary-btn:hover,
.sra-hero-section .sra-primary-btn:focus {
    background-color: var(--primary-hover, #40241D);
    color: var(--on-primary, #FFFFFF);
}

.sra-hero-section .sra-secondary-btn {
    background-color: transparent;
    color: var(--on-dark, #FFFFFF);
    border: 1px solid rgba(255, 255, 255, 0.4);
    padding: 13px 26px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-radius: 4px;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.sra-hero-section .sra-secondary-btn:hover,
.sra-hero-section .sra-secondary-btn:focus {
    background-color: rgba(255, 255, 255, 0.12);
    border-color: var(--accent, #F1BF66);
    color: var(--accent, #F1BF66);
}

.sra-hero-section .sra-feature-points {
    padding-top: 18px;
    border-top: 1px solid rgba(228, 223, 216, 0.2);
}

.sra-hero-section .sra-point-dot {
    width: 6px;
    height: 6px;
    background-color: var(--accent, #F1BF66);
    border-radius: 50%;
    display: inline-block;
}

.sra-hero-section .sra-point-text {
    font-size: 13px;
    font-weight: 600;
    color: var(--on-dark-muted, #C3BEB6);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.sra-hero-section .sra-visual-wrapper {
    padding: 12px;
}

.sra-hero-section .sra-bracket {
    position: absolute;
    width: 24px;
    height: 24px;
    pointer-events: none;
    z-index: 2;
}

.sra-hero-section .sra-bracket-top {
    top: 0;
    left: 0;
    border-top: 2px solid var(--accent, #F1BF66);
    border-left: 2px solid var(--accent, #F1BF66);
}

.sra-hero-section .sra-bracket-bottom {
    bottom: 0;
    right: 0;
    border-bottom: 2px solid var(--accent, #F1BF66);
    border-right: 2px solid var(--accent, #F1BF66);
}

.sra-hero-section .sra-featured-card {
    border-radius: 12px;
    aspect-ratio: 1 / 1;
    width: 100%;
    background-color: var(--dark-band, #381F19);
}

.sra-hero-section .sra-card-media-link {
    width: 100%;
    height: 100%;
}

.sra-hero-section .sra-card-image {
    object-fit: cover;
    display: block;
    transition: opacity 0.3s ease;
}

.sra-hero-section .sra-card-overlay {
    background: linear-gradient(180deg, rgba(56, 31, 25, 0.15) 0%, rgba(56, 31, 25, 0.92) 100%);
    transition: background 0.3s ease;
}

.sra-hero-section .sra-featured-card:hover .sra-card-overlay {
    background: linear-gradient(180deg, rgba(56, 31, 25, 0.10) 0%, rgba(56, 31, 25, 0.78) 100%);
}

.sra-hero-section .sra-card-badge {
    background-color: var(--accent, #F1BF66);
    color: #111111;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 8px;
    border-radius: 2px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.sra-hero-section .sra-meta-dot {
    color: var(--on-dark-muted, #C3BEB6);
    font-size: 12px;
}

.sra-hero-section .sra-card-meta {
    font-size: 13px;
    font-weight: 600;
    color: var(--on-dark-muted, #C3BEB6);
}

.sra-hero-section .sra-card-title {
    font-size: 24px;
    line-height: 1.25;
    font-weight: 700;
    color: var(--on-dark, #FFFFFF);
    margin: 0;
    overflow-wrap: anywhere;
}

.sra-hero-section .sra-title-anchor {
    color: var(--on-dark, #FFFFFF);
    text-decoration: none;
    transition: color 0.2s ease;
}

.sra-hero-section .sra-title-anchor:hover,
.sra-hero-section .sra-title-anchor:focus {
    color: var(--accent, #F1BF66);
}

.sra-hero-section .sra-card-path {
    font-size: 12px;
    font-weight: 600;
    color: var(--on-dark-muted, #C3BEB6);
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.sra-hero-section .sra-card-inline-btn {
    color: var(--accent, #F1BF66);
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: color 0.2s ease;
}

.sra-hero-section .sra-card-inline-btn:hover,
.sra-hero-section .sra-card-inline-btn:focus {
    color: #FFFFFF;
}

@media (max-width: 767.98px) {
    .sra-hero-section {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .sra-hero-section .sra-title {
        font-size: 18px !important;
        line-height: 1.25 !important;
        hyphens: auto;
    }

    .sra-hero-section .sra-card-title {
        font-size: 14px !important;
        line-height: 1.3 !important;
        hyphens: auto;
    }

    .sra-hero-section .sra-lead-text {
        font-size: 15px;
        margin-bottom: 24px;
    }

    .sra-hero-section .sra-actions-group {
        flex-direction: column;
        align-items: stretch !important;
        gap: 12px;
    }

    .sra-hero-section .sra-primary-btn,
    .sra-hero-section .sra-secondary-btn {
        width: 100%;
        text-align: center;
    }

    .sra-hero-section .sra-visual-wrapper {
        margin-top: 16px;
    }
}

/* ===== featured_workflow_case_the_missing_approval_crisis ===== */
.sra-case-section {
    position: relative;
    overflow: hidden;
}

.sra-case-section .sra-eyebrow {
    color: var(--accent);
    letter-spacing: 0.12em;
    font-size: 12px;
    font-weight: 700;
}

.sra-case-section .sra-title {
    font-size: 38px;
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -0.01em;
}

.sra-case-section .sra-accent-lead {
    color: var(--accent);
}

.sra-case-section .sra-accent-bar {
    display: block;
    width: 48px;
    height: 3px;
    background-color: var(--accent);
    border-radius: 2px;
}

.sra-case-section .sra-lead {
    font-size: 17px;
    line-height: 1.6;
    opacity: 0.92;
}

.sra-case-section .sra-breakdown-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.sra-case-section .sra-breakdown-item {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 16px;
    background-color: rgba(255, 255, 255, 0.05);
    border-radius: 8px;
    border-left: 3px solid transparent;
    transition: background-color 0.2s ease, border-color 0.2s ease;
    cursor: pointer;
}

.sra-case-section .sra-breakdown-item:hover,
.sra-case-section .sra-breakdown-item.active {
    background-color: rgba(255, 255, 255, 0.12);
    border-left-color: var(--accent);
}

.sra-case-section .sra-step-badge {
    font-size: 13px;
    font-weight: 800;
    color: var(--accent);
    background-color: rgba(241, 191, 102, 0.16);
    padding: 4px 8px;
    border-radius: 4px;
    line-height: 1;
    letter-spacing: 0.05em;
}

.sra-case-section .sra-step-title {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
}

.sra-case-section .sra-step-desc {
    font-size: 14px;
    line-height: 1.5;
    color: var(--on-dark-muted);
}

.sra-case-section .sra-btn-primary {
    background-color: #FFFFFF;
    color: #381F19;
    padding: 12px 24px;
    font-weight: 700;
    border-radius: 4px;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 0.06em;
    display: inline-block;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.sra-case-section .sra-btn-primary:hover {
    background-color: var(--accent);
    color: #111111;
}

.sra-case-section .sra-btn-secondary {
    background-color: transparent;
    border: 1px solid rgba(255, 255, 255, 0.4);
    color: #FFFFFF;
    padding: 11px 22px;
    font-weight: 600;
    border-radius: 4px;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 0.06em;
    display: inline-block;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.sra-case-section .sra-btn-secondary:hover {
    background-color: rgba(255, 255, 255, 0.15);
    border-color: #FFFFFF;
    color: #FFFFFF;
}

.sra-case-section .sra-card-wrapper {
    padding: 12px;
}

.sra-case-section .sra-bracket-top {
    position: absolute;
    top: 0;
    left: 0;
    width: 24px;
    height: 24px;
    border-top: 2px solid var(--accent);
    border-left: 2px solid var(--accent);
    pointer-events: none;
}

.sra-case-section .sra-bracket-bottom {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 24px;
    height: 24px;
    border-bottom: 2px solid var(--accent);
    border-right: 2px solid var(--accent);
    pointer-events: none;
}

.sra-case-section .sra-case-card {
    aspect-ratio: 1 / 1;
    border-radius: 12px;
    width: 100%;
    max-width: 540px;
    margin: 0 auto;
    border: none;
}

.sra-case-section .sra-case-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sra-case-section .sra-card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(56, 31, 25, 0.2) 0%, rgba(56, 31, 25, 0.92) 100%);
    color: #FFFFFF;
}

.sra-case-section .sra-status-badge {
    background-color: var(--accent);
    color: #111111;
    font-size: 11px;
    font-weight: 700;
    border-radius: 2px;
    padding: 3px 8px;
    letter-spacing: 0.08em;
}

.sra-case-section .sra-meta-pill {
    font-size: 11px;
    color: var(--on-dark-muted);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.sra-case-section .sra-overlay-heading {
    font-size: 22px;
    line-height: 1.25;
    font-weight: 700;
}

.sra-case-section .sra-overlay-text {
    font-size: 14px;
    line-height: 1.5;
    color: var(--on-dark-muted);
}

.sra-case-section .sra-impact-val {
    font-size: 20px;
    font-weight: 800;
    color: var(--accent);
    line-height: 1.2;
}

.sra-case-section .sra-impact-lbl {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--on-dark-muted);
    letter-spacing: 0.05em;
}

@media (max-width: 767.98px) {
    .sra-case-section .sra-title {
        font-size: 16px;
        hyphens: auto;
    }

    .sra-case-section .sra-step-title {
        font-size: 14px;
        hyphens: auto;
    }

    .sra-case-section .sra-overlay-heading {
        font-size: 14px;
        hyphens: auto;
    }

    .sra-case-section .sra-lead {
        font-size: 14px;
    }

    .sra-case-section .sra-case-card {
        aspect-ratio: auto;
        min-height: 380px;
    }

    .sra-case-section .sra-action-group {
        flex-direction: column;
        align-items: stretch;
    }

    .sra-case-section .sra-action-group a {
        text-align: center;
        width: 100%;
    }
}

/* ===== core_route_architecture_capture_to_handoff ===== */
.sra-route-arch {
    padding-top: 104px;
    padding-bottom: 104px;
}

.sra-route-arch .sra-route-arch__header {
    margin-bottom: 48px;
}

.sra-route-arch .sra-route-arch__eyebrow {
    display: inline-block;
    color: var(--primary);
    margin-bottom: 8px;
}

.sra-route-arch .sra-route-arch__title {
    color: var(--text);
    margin-bottom: 0;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.sra-route-arch .sra-route-arch__title-accent {
    color: var(--accent-text);
    font-weight: 800;
}

.sra-route-arch .sra-route-arch__accent-line {
    width: 48px;
    height: 3px;
    background: var(--accent);
    margin: 12px 0 16px 0;
    display: block;
}

.sra-route-arch .sra-route-arch__lead {
    max-width: 680px;
    color: var(--text-muted);
    margin-bottom: 0;
    font-size: 17px;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.sra-route-arch .sra-route-card {
    position: relative;
    height: 100%;
    min-height: 390px;
    display: flex;
    flex-direction: column;
    border-radius: 12px;
    overflow: hidden;
    background-color: var(--dark-band);
}

.sra-route-arch .sra-route-card__media-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.sra-route-arch .sra-route-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.sra-route-arch .sra-route-card:hover .sra-route-card__img {
    transform: scale(1.04);
}

.sra-route-arch .sra-route-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(56, 31, 25, 0.20) 0%, rgba(56, 31, 25, 0.92) 100%);
    z-index: 2;
    pointer-events: none;
    transition: background 0.3s ease;
}

.sra-route-arch .sra-route-card:hover .sra-route-card__overlay {
    background: linear-gradient(180deg, rgba(56, 31, 25, 0.15) 0%, rgba(56, 31, 25, 0.82) 100%);
}

.sra-route-arch .sra-route-card__content {
    position: relative;
    z-index: 3;
    padding: 24px;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.sra-route-arch .sra-route-card__badge {
    background: var(--primary);
    color: var(--on-primary);
}

.sra-route-arch .sra-route-card__author {
    font-size: 13px;
    color: var(--on-dark-muted);
    font-weight: 500;
}

.sra-route-arch .sra-route-card__title {
    color: var(--on-dark);
    font-size: 20px;
    line-height: 1.3;
    margin-top: 8px;
    margin-bottom: 10px;
    overflow-wrap: anywhere;
}

.sra-route-arch .sra-route-card__title-link {
    color: var(--on-dark);
    text-decoration: none;
    transition: color 0.2s ease;
}

.sra-route-arch .sra-route-card__title-link:hover {
    color: var(--accent);
}

.sra-route-arch .sra-route-card__summary {
    color: var(--on-dark-muted);
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 0;
    overflow-wrap: anywhere;
}

.sra-route-arch .sra-route-card__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 10px 16px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--on-primary);
    background: var(--primary);
    border-radius: 4px;
    text-decoration: none;
    border: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.sra-route-arch .sra-route-card__btn:hover {
    background: var(--primary-hover);
    color: var(--on-primary);
}

.sra-route-arch .sra-route-card__btn .cny-icon {
    width: 16px;
    height: 16px;
    stroke-width: 2;
}

.sra-route-arch .sra-route-arch__footer-cta {
    margin-top: 48px;
    padding: 32px;
    background: var(--surface);
    border-radius: 12px;
    border-left: 4px solid var(--accent);
}

.sra-route-arch .sra-route-arch__footer-heading {
    color: var(--text);
    font-size: 20px;
    margin-bottom: 4px;
    overflow-wrap: anywhere;
}

.sra-route-arch .sra-route-arch__footer-sub {
    color: var(--text-muted);
    font-size: 15px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.sra-route-arch .sra-route-arch__index-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--primary);
    background: transparent;
    border: 1px solid var(--primary);
    border-radius: 4px;
    text-decoration: none;
    white-space: normal;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.sra-route-arch .sra-route-arch__index-link:hover {
    background: var(--primary);
    color: var(--on-primary);
}

.sra-route-arch .sra-route-arch__index-link .cny-icon {
    width: 18px;
    height: 18px;
}

@media (max-width: 767px) {
    .sra-route-arch {
        padding-top: 64px;
        padding-bottom: 64px;
    }

    .sra-route-arch .sra-route-arch__title {
        font-size: 16px;
        hyphens: auto;
    }

    .sra-route-arch .sra-route-card__title {
        font-size: 14px;
        hyphens: auto;
    }

    .sra-route-arch .sra-route-arch__footer-heading {
        font-size: 14px;
        hyphens: auto;
    }

    .sra-route-arch .sra-route-arch__grid {
        row-gap: 20px;
    }

    .sra-route-arch .sra-route-card {
        min-height: 360px;
    }

    .sra-route-arch .sra-route-arch__footer-cta {
        padding: 20px;
    }
}

/* ===== technical_processing_workflows_and_modern_standards ===== */
.sra-pipeline-block {
    padding-top: 104px;
    padding-bottom: 104px;
    color: var(--text);
    font-family: 'Blinker', sans-serif;
}

.sra-pipeline-block .sra-pipeline-header .cny-title {
    font-weight: 700;
    line-height: 1.2;
    color: #312818;
    margin-bottom: 0;
}

.sra-pipeline-block .sra-pipeline-header .cny-title span {
    color: #92620D;
    font-weight: 800;
}

.sra-pipeline-block .sra-accent-line {
    width: 48px;
    height: 3px;
    background: #F1BF66;
    margin: 12px 0 0 0;
    display: block;
}

.sra-pipeline-block .sra-lead-text {
    font-size: 17px;
    line-height: 1.6;
    color: var(--text-muted);
    max-width: 680px;
}

.sra-pipeline-block .sra-pipeline-card {
    position: relative;
    display: flex;
    flex-direction: column;
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    background-color: var(--dark-band);
}

.sra-pipeline-block .sra-card-media-link {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.sra-pipeline-block .sra-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sra-pipeline-block .sra-card-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(180deg, rgba(56, 31, 25, 0.20) 0%, rgba(56, 31, 25, 0.90) 100%);
    transition: background 0.3s ease;
    pointer-events: none;
}

.sra-pipeline-block .sra-pipeline-card:hover .sra-card-overlay {
    background: linear-gradient(180deg, rgba(56, 31, 25, 0.15) 0%, rgba(56, 31, 25, 0.78) 100%);
}

.sra-pipeline-block .sra-card-top,
.sra-pipeline-block .sra-card-bottom {
    pointer-events: auto;
    position: relative;
    z-index: 3;
}

.sra-pipeline-block .sra-stage-meta {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--on-dark-muted);
}

.sra-pipeline-block .sra-card-title {
    font-size: 19px;
    font-weight: 700;
    line-height: 1.25;
    margin-top: 0;
}

.sra-pipeline-block .sra-title-link {
    color: #FFFFFF;
    text-decoration: none;
    overflow-wrap: anywhere;
    transition: color 0.2s ease;
}

.sra-pipeline-block .sra-title-link:hover,
.sra-pipeline-block .sra-title-link:focus {
    color: var(--accent);
}

.sra-pipeline-block .sra-card-desc {
    font-size: 13px;
    line-height: 1.45;
    color: var(--on-dark-muted);
    margin-bottom: 0;
    overflow-wrap: anywhere;
}

.sra-pipeline-block .sra-action-button {
    display: inline-block;
    background: rgba(255, 255, 255, 0.18);
    color: #FFFFFF;
    padding: 8px 16px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.25s ease, color 0.25s ease;
}

.sra-pipeline-block .sra-action-button:hover,
.sra-pipeline-block .sra-action-button:focus {
    background: #F1BF66;
    color: #111111;
}

.sra-pipeline-block .sra-bracket-mark {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-right: 2px solid #F1BF66;
    border-bottom: 2px solid #F1BF66;
}

.sra-pipeline-block .sra-pipeline-footer {
    border-top: 1px solid var(--border);
}

.sra-pipeline-block .sra-footer-note {
    font-size: 15px;
    font-weight: 600;
    color: var(--text);
}

.sra-pipeline-block .sra-ghost-link {
    color: #593228;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    border-bottom: 2px solid #F1BF66;
    padding-bottom: 2px;
    transition: color 0.2s ease;
}

.sra-pipeline-block .sra-ghost-link:hover,
.sra-pipeline-block .sra-ghost-link:focus {
    color: #40241D;
}

@media (max-width: 767px) {
    .sra-pipeline-block {
        padding-top: 64px;
        padding-bottom: 64px;
    }

    .sra-pipeline-block .sra-pipeline-header .cny-title {
        font-size: 26px;
    }

    .sra-pipeline-block .sra-card-title {
        font-size: 17px;
    }

    .sra-pipeline-block .sra-pipeline-card {
        aspect-ratio: auto;
        min-height: 380px;
    }
}

/* ===== studio_equipment_and_digital_tech_gear_benchmarks ===== */
.sra-gear-benchmarks {
    position: relative;
    color: var(--text);
}

.sra-gear-benchmarks .sra-eyebrow {
    color: var(--primary);
}

.sra-gear-benchmarks .sra-section-title {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--text);
    letter-spacing: -0.01em;
}

.sra-gear-benchmarks .sra-title-accent {
    color: var(--accent-text);
    font-weight: 800;
}

.sra-gear-benchmarks .sra-accent-line {
    width: 48px;
    height: 3px;
    background-color: var(--accent);
    margin-top: 12px;
}

.sra-gear-benchmarks .sra-section-desc {
    font-size: 16px;
    line-height: 1.6;
    color: var(--text-muted);
    max-width: 680px;
}

.sra-gear-benchmarks .sra-filter-chips {
    background-color: var(--surface-alt);
    padding: 4px;
    border-radius: 4px;
}

.sra-gear-benchmarks .sra-chip {
    background: transparent;
    border: none;
    color: var(--text);
    font-size: 13px;
    font-weight: 600;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.sra-gear-benchmarks .sra-chip:hover {
    background-color: rgba(89, 50, 40, 0.08);
    color: var(--primary);
}

.sra-gear-benchmarks .sra-chip.active {
    background-color: var(--primary);
    color: var(--on-primary);
}

.sra-gear-benchmarks .sra-media-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 12px;
    overflow: hidden;
    border: none;
    box-shadow: none;
}

.sra-gear-benchmarks .sra-card-media-link {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.sra-gear-benchmarks .sra-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.sra-gear-benchmarks .sra-media-card:hover .sra-card-img {
    transform: scale(1.03);
}

.sra-gear-benchmarks .sra-card-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 24px;
    background: linear-gradient(180deg, rgba(56, 31, 25, 0.20) 0%, rgba(56, 31, 25, 0.90) 100%);
    color: var(--on-dark);
    transition: background 0.3s ease;
}

.sra-gear-benchmarks .sra-media-card:hover .sra-card-overlay {
    background: linear-gradient(180deg, rgba(56, 31, 25, 0.15) 0%, rgba(56, 31, 25, 0.75) 100%);
}

.sra-gear-benchmarks .sra-badge {
    background-color: var(--accent);
    color: var(--on-accent);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding: 4px 8px;
    border-radius: 2px;
}

.sra-gear-benchmarks .sra-card-date {
    font-size: 12px;
    color: var(--on-dark-muted);
    font-weight: 500;
}

.sra-gear-benchmarks .sra-card-heading {
    font-size: 20px;
    line-height: 1.3;
    font-weight: 700;
    margin-bottom: 8px;
}

.sra-gear-benchmarks .sra-card-title-link {
    color: var(--on-dark);
    text-decoration: none;
    transition: color 0.2s ease;
}

.sra-gear-benchmarks .sra-card-title-link:hover {
    color: var(--accent);
}

.sra-gear-benchmarks .sra-card-summary {
    font-size: 13px;
    line-height: 1.5;
    color: var(--on-dark-muted);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.sra-gear-benchmarks .sra-author-meta {
    font-size: 12px;
    font-weight: 600;
    color: var(--on-dark);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.sra-gear-benchmarks .sra-card-btn {
    position: relative;
    z-index: 3;
    background-color: rgba(255, 255, 255, 0.2);
    color: var(--on-dark);
    font-size: 13px;
    font-weight: 600;
    padding: 8px 16px;
    border-radius: 4px;
    text-decoration: none;
    border: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.sra-gear-benchmarks .sra-card-btn:hover {
    background-color: var(--accent);
    color: var(--on-accent);
}

.sra-gear-benchmarks .sra-overview-box {
    background-color: var(--surface-alt);
    border-radius: 12px;
    max-width: 880px;
    margin: 0 auto;
}

.sra-gear-benchmarks .sra-box-icon {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background-color: var(--primary);
    color: var(--on-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}

.sra-gear-benchmarks .sra-icon-svg {
    width: 24px;
    height: 24px;
}

.sra-gear-benchmarks .sra-box-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--text);
}

.sra-gear-benchmarks .sra-box-desc {
    font-size: 14px;
    line-height: 1.5;
    color: var(--text-muted);
}

.sra-gear-benchmarks .sra-all-benchmarks-link {
    padding: 10px 20px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-radius: 4px;
    background-color: transparent;
    color: var(--primary);
    border: 1px solid var(--primary);
    text-decoration: none;
    transition: all 0.2s ease;
}

.sra-gear-benchmarks .sra-all-benchmarks-link:hover {
    background-color: var(--primary);
    color: var(--on-primary);
}

@media (max-width: 767px) {
    .sra-gear-benchmarks .sra-section-title {
        font-size: 26px;
    }

    .sra-gear-benchmarks .sra-card-heading {
        font-size: 16px;
    }

    .sra-gear-benchmarks .sra-media-card {
        aspect-ratio: auto;
        min-height: 340px;
    }

    .sra-gear-benchmarks .sra-card-overlay {
        padding: 16px;
    }

    .sra-gear-benchmarks .sra-filter-chips {
        width: 100%;
        justify-content: flex-start;
    }

    .sra-gear-benchmarks .sra-overview-box {
        flex-direction: column;
        text-align: center;
    }
}

/* ===== work_scope_what_is_included_vs_what_is_not ===== */
.scope-boundaries {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.scope-boundaries .scope-accent-word {
    color: var(--accent-text);
    font-weight: 800;
}

.scope-boundaries .scope-accent-bar {
    width: 48px;
    height: 3px;
    background-color: var(--accent);
}

.scope-boundaries .scope-lead {
    max-width: 720px;
    font-size: 1.05rem;
    line-height: 1.6;
    color: var(--text-muted);
}

.scope-boundaries .scope-panel {
    position: relative;
    background-color: var(--surface);
    border-radius: 12px;
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.scope-boundaries .scope-corner-tl,
.scope-boundaries .scope-corner-br {
    position: absolute;
    width: 16px;
    height: 16px;
    pointer-events: none;
}

.scope-boundaries .scope-corner-tl {
    top: 12px;
    left: 12px;
    border-top: 2px solid var(--accent);
    border-left: 2px solid var(--accent);
}

.scope-boundaries .scope-corner-br {
    bottom: 12px;
    right: 12px;
    border-bottom: 2px solid var(--accent);
    border-right: 2px solid var(--accent);
}

.scope-boundaries .scope-badge-included {
    background-color: var(--primary);
    color: var(--on-primary);
}

.scope-boundaries .scope-badge-excluded {
    background-color: var(--dark-band);
    color: var(--on-dark);
}

.scope-boundaries .scope-panel-title {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--text);
    line-height: 1.3;
}

.scope-boundaries .scope-panel-intro {
    font-size: 0.95rem;
    color: var(--text-muted);
    line-height: 1.5;
}

.scope-boundaries .scope-status-indicator {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.scope-boundaries .scope-status-valid {
    color: var(--primary-text);
}

.scope-boundaries .scope-status-void {
    color: var(--text-muted);
}

.scope-boundaries .scope-icon-inline {
    width: 14px;
    height: 14px;
}

.scope-boundaries .scope-icon-box {
    width: 32px;
    height: 32px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
}

.scope-boundaries .scope-icon-box-check {
    background-color: var(--surface-alt);
    color: var(--primary);
}

.scope-boundaries .scope-icon-box-cross {
    background-color: rgba(56, 31, 25, 0.08);
    color: var(--primary-hover);
}

.scope-boundaries .scope-svg {
    width: 18px;
    height: 18px;
}

.scope-boundaries .scope-item-heading {
    font-size: 1rem;
    font-weight: 700;
    color: var(--text);
    line-height: 1.3;
}

.scope-boundaries .scope-item-detail {
    font-size: 0.9rem;
    color: var(--text-muted);
    line-height: 1.5;
}

@media (max-width: 767px) {
    .scope-boundaries {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }

    .scope-boundaries .cny-title {
        font-size: 1.75rem;
        hyphens: auto;
    }

    .scope-boundaries .scope-panel-title {
        font-size: 1.2rem;
    }

    .scope-boundaries .scope-panel {
        padding: 1.5rem !important;
    }

    .scope-boundaries .scope-corner-tl,
    .scope-boundaries .scope-corner-br {
        width: 12px;
        height: 12px;
    }
}

/* ===== operational_geography_and_remote_collaboration ===== */
.geography-block {
    padding-top: 104px;
    padding-bottom: 104px;
    position: relative;
    overflow: hidden;
}

.geography-block__eyebrow {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: var(--primary-text);
    text-transform: uppercase;
}

.geography-block__title {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--text);
}

.geography-block__title-accent {
    color: var(--accent-text);
    font-weight: 800;
}

.geography-block__accent-line {
    width: 48px;
    height: 3px;
    background-color: var(--accent);
}

.geography-block__intro {
    font-size: 18px;
    line-height: 1.6;
    color: var(--text);
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}

.geography-block__card {
    position: relative;
    background-color: var(--surface);
    padding: 36px 28px;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.geography-block__corner-bracket {
    position: absolute;
    width: 16px;
    height: 16px;
    pointer-events: none;
}

.geography-block__corner-bracket--tl {
    top: 12px;
    left: 12px;
    border-top: 2px solid var(--accent);
    border-left: 2px solid var(--accent);
}

.geography-block__corner-bracket--br {
    bottom: 12px;
    right: 12px;
    border-bottom: 2px solid var(--accent);
    border-right: 2px solid var(--accent);
}

.geography-block__card-icon {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--primary);
    background-color: var(--surface-alt);
    border-radius: 4px;
}

.geography-block__svg {
    width: 24px;
    height: 24px;
}

.geography-block__badge {
    background-color: var(--primary);
    color: var(--on-primary);
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 700;
    border-radius: 2px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.geography-block__card-heading {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--text);
}

.geography-block__card-text {
    font-size: 15px;
    line-height: 1.6;
    color: var(--text);
}

.geography-block__hubs-panel {
    background-color: var(--surface-alt);
    border-radius: 12px;
}

.geography-block__hubs-label {
    font-size: 14px;
    font-weight: 700;
    color: var(--text);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.geography-block__hubs-sub {
    font-size: 13px;
    color: var(--text);
    opacity: 0.85;
}

.geography-block__hub-chip {
    display: inline-flex;
    align-items: center;
    background-color: var(--surface);
    color: var(--text);
    font-size: 13px;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 4px;
}

.geography-block__action-btn {
    display: inline-block;
    background-color: var(--primary);
    color: var(--on-primary);
    padding: 12px 28px;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-radius: 4px;
    text-decoration: none;
    transition: background-color 0.2s ease;
}

.geography-block__action-btn:hover,
.geography-block__action-btn:focus {
    background-color: var(--primary-hover);
    color: var(--on-primary);
}

@media (max-width: 767px) {
    .geography-block {
        padding-top: 64px;
        padding-bottom: 64px;
    }

    .geography-block__title {
        font-size: 26px;
        hyphens: auto;
    }

    .geography-block__card-heading {
        font-size: 18px;
    }

    .geography-block__intro {
        font-size: 16px;
    }

    .geography-block__card {
        padding: 24px 20px;
    }
}

/* ===== beginner_glossary_of_digital_tech_terminology ===== */
.glossary-terms-section {
    padding-top: 80px;
    padding-bottom: 80px;
    position: relative;
    overflow: hidden;
}

.glossary-terms-section .glossary-terms-container {
    max-width: 1200px;
    padding-left: 20px;
    padding-right: 20px;
}

.glossary-terms-section .glossary-header-block {
    margin-bottom: 36px;
    text-align: center;
}

.glossary-terms-section .glossary-eyebrow {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--primary-text);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-size: 12px;
}

.glossary-terms-section .glossary-heading {
    color: var(--text);
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
    margin-bottom: 0;
    word-break: break-word;
    hyphens: auto;
}

.glossary-terms-section .glossary-title-accent {
    color: var(--accent-text);
    font-weight: 800;
}

.glossary-terms-section .glossary-accent-line {
    width: 48px;
    height: 3px;
    background-color: var(--accent);
    margin: 14px auto 18px auto;
}

.glossary-terms-section .glossary-lead-text {
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
    color: var(--text-muted);
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 0;
}

.glossary-terms-section .glossary-filter-btn {
    background-color: var(--surface);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    cursor: pointer;
}

.glossary-terms-section .glossary-filter-btn:hover {
    background-color: var(--surface-alt);
    color: var(--primary-text);
    border-color: var(--primary);
}

.glossary-terms-section .glossary-filter-btn.active {
    background-color: var(--primary);
    color: var(--on-primary);
    border-color: var(--primary);
}

.glossary-terms-section .glossary-card {
    background-color: var(--surface);
    border: none;
    border-radius: 12px;
    padding: 28px 24px;
    position: relative;
    display: flex;
    flex-direction: column;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.glossary-terms-section .glossary-card::before {
    content: "";
    position: absolute;
    top: 12px;
    left: 12px;
    width: 14px;
    height: 14px;
    border-top: 2px solid var(--accent);
    border-left: 2px solid var(--accent);
    pointer-events: none;
}

.glossary-terms-section .glossary-card::after {
    content: "";
    position: absolute;
    bottom: 12px;
    right: 12px;
    width: 14px;
    height: 14px;
    border-bottom: 2px solid var(--accent);
    border-right: 2px solid var(--accent);
    pointer-events: none;
}

.glossary-terms-section .glossary-icon-box {
    width: 42px;
    height: 42px;
    border-radius: 4px;
    background-color: var(--surface-alt);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-text);
}

.glossary-terms-section .glossary-icon {
    width: 22px;
    height: 22px;
}

.glossary-terms-section .glossary-badge {
    background-color: var(--primary);
    color: var(--on-primary);
    font-size: 11px;
    font-weight: 700;
    padding: 4px 8px;
    border-radius: 2px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.glossary-terms-section .glossary-term-title {
    font-size: 22px;
    line-height: 1.3;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 12px;
    word-break: break-word;
    hyphens: auto;
}

.glossary-terms-section .glossary-term-desc {
    font-size: 15px;
    line-height: 1.6;
    color: var(--text);
    margin-bottom: 0;
}

.glossary-terms-section .glossary-card-footer {
    border-top: 1px dashed var(--border);
}

.glossary-terms-section .glossary-meta-code {
    font-size: 11px;
    font-weight: 700;
    color: var(--text-muted);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.glossary-terms-section .glossary-cta-btn {
    display: inline-block;
    background-color: var(--primary);
    color: var(--on-primary);
    padding: 12px 28px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.glossary-terms-section .glossary-cta-btn:hover {
    background-color: var(--primary-hover);
    color: var(--on-primary);
}

.glossary-terms-section .glossary-col.is-hidden {
    display: none !important;
}

@media (max-width: 767px) {
    .glossary-terms-section {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .glossary-terms-section .glossary-heading {
        font-size: 16px;
    }

    .glossary-terms-section .glossary-term-title {
        font-size: 14px;
    }

    .glossary-terms-section .glossary-card {
        padding: 22px 18px;
    }

    .glossary-terms-section .glossary-lead-text {
        font-size: 14px;
    }

    .glossary-terms-section .glossary-filter-btn {
        font-size: 12px;
        padding: 6px 12px;
    }
}

/* ===== stay_informed_on_studio_architecture ===== */
.newsletter-stage-section {
    box-sizing: border-box;
    overflow-wrap: anywhere;
}

.newsletter-stage-section .newsletter-panel {
    background: rgba(43, 23, 18, 0.65);
    border: 1px solid rgba(228, 223, 216, 0.15);
    border-radius: 12px;
    padding: 40px 32px;
    max-width: 1040px;
}

@media (max-width: 767px) {
    .newsletter-stage-section .newsletter-panel {
        padding: 28px 18px;
    }
}

.newsletter-stage-section .newsletter-bracket-tl,
.newsletter-stage-section .newsletter-bracket-br {
    position: absolute;
    width: 16px;
    height: 16px;
    border-color: var(--accent, #F1BF66);
    pointer-events: none;
}

.newsletter-stage-section .newsletter-bracket-tl {
    top: 10px;
    left: 10px;
    border-top: 2px solid var(--accent, #F1BF66);
    border-left: 2px solid var(--accent, #F1BF66);
}

.newsletter-stage-section .newsletter-bracket-br {
    bottom: 10px;
    right: 10px;
    border-bottom: 2px solid var(--accent, #F1BF66);
    border-right: 2px solid var(--accent, #F1BF66);
}

.newsletter-stage-section .newsletter-eyebrow {
    color: var(--accent, #F1BF66);
    letter-spacing: 0.12em;
    font-size: 12px;
}

.newsletter-stage-section .newsletter-heading {
    color: var(--on-dark, #FFFFFF);
    font-size: 32px;
    font-weight: 700;
    line-height: 1.25;
}

@media (max-width: 767px) {
    .newsletter-stage-section .newsletter-heading {
        font-size: 16px;
        hyphens: auto;
    }
}

.newsletter-stage-section .newsletter-title-accent {
    color: var(--accent, #F1BF66);
    font-weight: 800;
}

.newsletter-stage-section .newsletter-accent-line {
    width: 48px;
    height: 3px;
    background: var(--accent, #F1BF66);
    display: block;
}

.newsletter-stage-section .newsletter-desc {
    color: var(--on-dark-muted, #C3BEB6);
    font-size: 16px;
    line-height: 1.6;
}

.newsletter-stage-section .newsletter-label {
    color: var(--on-dark, #FFFFFF);
    font-size: 14px;
}

.newsletter-stage-section .newsletter-input-wrap {
    position: relative;
    width: 100%;
}

.newsletter-stage-section .newsletter-input-icon {
    left: 14px;
    width: 22px;
    height: 22px;
    color: var(--text-muted, #6D6455);
    z-index: 2;
    pointer-events: none;
}

.newsletter-stage-section .newsletter-heroicon {
    width: 18px;
    height: 18px;
}

.newsletter-stage-section .newsletter-input {
    background-color: var(--surface, #FFFFFF);
    color: var(--text, #312818);
    border: 1px solid var(--border, #E4DFD8);
    border-radius: 4px;
    padding: 12px 16px 12px 44px;
    font-size: 15px;
    line-height: 1.5;
    height: 48px;
    box-shadow: none;
}

.newsletter-stage-section .newsletter-input::placeholder {
    color: #797165;
    opacity: 1;
}

.newsletter-stage-section .newsletter-input:focus {
    outline: 2px solid var(--accent, #F1BF66);
    outline-offset: 1px;
    border-color: var(--primary, #593228);
    background-color: #FFFFFF;
    color: var(--text, #312818);
}

.newsletter-stage-section .newsletter-checkbox {
    width: 18px;
    height: 18px;
    border: 1px solid var(--border, #E4DFD8);
    border-radius: 3px;
    background-color: var(--surface, #FFFFFF);
    cursor: pointer;
}

.newsletter-stage-section .newsletter-checkbox:checked {
    background-color: var(--primary, #593228);
    border-color: var(--primary, #593228);
}

.newsletter-stage-section .newsletter-check-label {
    color: var(--on-dark-muted, #C3BEB6);
    font-size: 13px;
    line-height: 1.45;
    cursor: pointer;
}

.newsletter-stage-section .newsletter-policy-link {
    color: var(--accent, #F1BF66);
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.15s ease;
}

.newsletter-stage-section .newsletter-policy-link:hover,
.newsletter-stage-section .newsletter-policy-link:focus {
    color: #FFFFFF;
}

.newsletter-stage-section .newsletter-submit-btn {
    background: var(--primary, #593228);
    color: var(--on-primary, #FFFFFF);
    border: none;
    border-radius: 4px;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    height: 48px;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.newsletter-stage-section .newsletter-submit-btn:hover,
.newsletter-stage-section .newsletter-submit-btn:focus {
    background: var(--primary-hover, #40241D);
    color: #FFFFFF;
}

.newsletter-stage-section .newsletter-btn-icon {
    width: 18px;
    height: 18px;
}

.newsletter-stage-section .newsletter-error-message {
    display: none;
    color: #FFA39E;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 600;
}

/* ===== site_footer_and_compliance ===== */
.sra-footer {
    background: var(--dark-band-bg, linear-gradient(121deg, #381F19 0%, #462720 100%));
    color: var(--on-dark, #FFFFFF);
    padding-top: 80px;
    padding-bottom: 40px;
    border-top: 1px solid rgba(228, 223, 216, 0.15);
    overflow: hidden;
}

.sra-footer__top {
    margin-bottom: 48px;
}

.sra-footer__brand {
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: var(--on-dark, #FFFFFF);
    line-height: 1.2;
    margin-bottom: 12px;
}

.sra-footer__brand-dot {
    color: var(--accent, #F1BF66);
}

.sra-footer__decor-line {
    width: 48px;
    height: 3px;
    background: var(--accent, #F1BF66);
    margin-bottom: 16px;
}

.sra-footer__summary {
    font-size: 14px;
    line-height: 1.6;
    color: var(--on-dark-muted, #C3BEB6);
    margin-bottom: 16px;
    max-width: 340px;
    overflow-wrap: anywhere;
}

.sra-footer__boundary-note {
    font-size: 12px;
    line-height: 1.5;
    color: var(--on-dark-muted, #C3BEB6);
    padding: 12px 14px;
    background: rgba(0, 0, 0, 0.18);
    border-left: 2px solid var(--accent, #F1BF66);
    border-radius: 2px;
    max-width: 340px;
    overflow-wrap: anywhere;
}

.sra-footer__heading {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--on-dark, #FFFFFF);
    margin-bottom: 18px;
    display: inline-block;
    position: relative;
}

.sra-footer__heading::after {
    content: '';
    display: block;
    width: 24px;
    height: 2px;
    background: var(--accent, #F1BF66);
    margin-top: 6px;
}

.sra-footer__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sra-footer__item {
    line-height: 1.4;
}

.sra-footer__link {
    font-size: 14px;
    color: var(--on-dark-muted, #C3BEB6);
    text-decoration: none;
    transition: color 0.2s ease, padding-left 0.2s ease;
    display: inline-block;
    overflow-wrap: anywhere;
}

.sra-footer__link:hover,
.sra-footer__link:focus {
    color: var(--accent, #F1BF66);
    padding-left: 4px;
}

.sra-footer__contact-panel {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.sra-footer__contact-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--on-dark-muted, #C3BEB6);
}

.sra-footer__contact-icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    color: var(--accent, #F1BF66);
    margin-top: 2px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.sra-footer__contact-icon svg {
    width: 100%;
    height: 100%;
}

.sra-footer__contact-text {
    overflow-wrap: anywhere;
    color: var(--on-dark-muted, #C3BEB6);
}

.sra-footer__contact-link {
    color: var(--on-dark-muted, #C3BEB6);
    text-decoration: none;
    overflow-wrap: anywhere;
    transition: color 0.2s ease;
}

.sra-footer__contact-link:hover,
.sra-footer__contact-link:focus {
    color: var(--accent, #F1BF66);
}

.sra-footer__divider {
    width: 100%;
    height: 1px;
    background: rgba(228, 223, 216, 0.15);
    margin-bottom: 28px;
}

.sra-footer__copyright {
    font-size: 13px;
    color: var(--on-dark-muted, #C3BEB6);
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.sra-footer__legal-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
}

.sra-footer__legal-item {
    position: relative;
}

.sra-footer__legal-item:not(:last-child)::after {
    content: '•';
    color: rgba(195, 190, 182, 0.4);
    margin-left: 16px;
}

.sra-footer__legal-link {
    font-size: 13px;
    color: var(--on-dark-muted, #C3BEB6);
    text-decoration: none;
    transition: color 0.2s ease;
    overflow-wrap: anywhere;
}

.sra-footer__legal-link:hover,
.sra-footer__legal-link:focus {
    color: var(--accent, #F1BF66);
}

@media (max-width: 767px) {
    .sra-footer {
        padding-top: 56px;
        padding-bottom: 32px;
    }

    .sra-footer__brand {
        font-size: 20px;
    }

    .sra-footer__summary,
    .sra-footer__boundary-note {
        max-width: 100%;
    }

    .sra-footer__legal-links {
        gap: 12px;
    }

    .sra-footer__legal-item:not(:last-child)::after {
        margin-left: 12px;
    }
}

.cat-hero-section {
    background: var(--hero-bg, linear-gradient(121deg, #381F19 0%, #462720 100%));
    padding-top: 72px;
    padding-bottom: 72px;
    position: relative;
    overflow: hidden;
}

.cat-hero-section .cat-eyebrow-accent {
    color: var(--accent, #F1BF66);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.cat-hero-section .cat-hero-title {
    color: var(--on-dark, #FFFFFF);
    font-size: 44px;
    line-height: 1.15;
    font-weight: 800;
    margin-bottom: 0;
    letter-spacing: -0.02em;
    overflow-wrap: anywhere;
}

.cat-hero-section .cat-accent-letter {
    color: var(--accent, #F1BF66);
    font-weight: 800;
}

.cat-hero-section .cat-accent-bar {
    width: 48px;
    height: 3px;
    background-color: var(--accent, #F1BF66);
    margin-top: 14px;
    margin-bottom: 20px;
}

.cat-hero-section .cat-lead-text {
    color: var(--on-dark-muted, #C3BEB6);
    font-size: 17px;
    line-height: 1.6;
    margin-bottom: 24px;
    max-width: 580px;
    overflow-wrap: anywhere;
}

.cat-hero-section .cat-hero-meta {
    padding-top: 16px;
    border-top: 1px solid rgba(228, 223, 216, 0.2);
}

.cat-hero-section .cat-meta-sep {
    color: rgba(195, 190, 182, 0.5);
    font-size: 12px;
}

.cat-hero-section .cat-meta-item {
    color: var(--on-dark-muted, #C3BEB6);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.cat-hero-section .cat-hero-metric-card {
    position: relative;
    background: rgba(0, 0, 0, 0.25);
    border-radius: 12px;
    padding: 36px 32px;
}

.cat-hero-section .cat-metric-bracket-top {
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    border-top: 2px solid var(--accent, #F1BF66);
    border-left: 2px solid var(--accent, #F1BF66);
}

.cat-hero-section .cat-metric-bracket-bottom {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 20px;
    height: 20px;
    border-bottom: 2px solid var(--accent, #F1BF66);
    border-right: 2px solid var(--accent, #F1BF66);
}

.cat-hero-section .cat-metric-item {
    padding: 8px 0;
}

.cat-hero-section .cat-metric-number {
    font-size: 44px;
    line-height: 1.1;
    font-weight: 800;
    color: var(--accent, #F1BF66);
    margin-bottom: 6px;
}

.cat-hero-section .cat-metric-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--on-dark-muted, #C3BEB6);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.cat-hero-section .cat-metric-divider {
    width: 100%;
    height: 1px;
    background: rgba(228, 223, 216, 0.15);
    margin: 18px 0;
}

.cat-intro-section {
    padding-top: 80px;
    padding-bottom: 80px;
}

.cat-intro-section .cat-section-heading {
    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
    color: var(--text, #312818);
    margin-bottom: 0;
    overflow-wrap: anywhere;
}

.cat-intro-section .cat-accent-letter {
    color: var(--accent-text, #92620D);
    font-weight: 800;
}

.cat-intro-section .cat-accent-bar {
    width: 48px;
    height: 3px;
    background-color: var(--accent, #F1BF66);
    margin-top: 12px;
    margin-bottom: 18px;
}

.cat-intro-section .cat-body-lead {
    font-size: 16px;
    line-height: 1.6;
    color: var(--text-muted, #6D6455);
    margin-bottom: 0;
    overflow-wrap: anywhere;
}

.cat-intro-section .cat-spec-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.cat-intro-section .cat-spec-card {
    background-color: var(--surface, #FFFFFF);
    border-radius: 8px;
    padding: 24px;
}

.cat-intro-section .cat-spec-icon-row {
    color: var(--primary, #593228);
}

.cat-intro-section .cat-spec-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--text, #312818);
}

.cat-intro-section .cat-spec-desc {
    font-size: 14px;
    line-height: 1.5;
    color: var(--text-muted, #6D6455);
    overflow-wrap: anywhere;
}

.cat-listing-section {
    padding-top: 80px;
    padding-bottom: 80px;
    background: var(--section-alt-bg, linear-gradient(177deg, #F3E9E6 0%, #F7F1ED 100%));
}

.cat-listing-section .cat-section-heading {
    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
    color: var(--text, #312818);
    overflow-wrap: anywhere;
}

.cat-listing-section .cat-accent-letter {
    color: var(--accent-text, #92620D);
    font-weight: 800;
}

.cat-listing-section .cat-accent-bar {
    width: 48px;
    height: 3px;
    background-color: var(--accent, #F1BF66);
    margin-top: 12px;
    margin-bottom: 0;
}

.cat-listing-section .cat-catalog-intro {
    font-size: 15px;
    line-height: 1.6;
    color: var(--text-muted, #6D6455);
    overflow-wrap: anywhere;
}

.cat-listing-section .cat-filter-toolbar {
    padding: 16px 20px;
    background-color: var(--surface, #FFFFFF);
    border-radius: 8px;
}

.cat-listing-section .cat-search-icon {
    top: 50%;
    left: 14px;
    transform: translateY(-50%);
    color: var(--text-muted, #6D6455);
    pointer-events: none;
}

.cat-listing-section .cat-search-input {
    padding-left: 42px;
    height: 42px;
    font-size: 14px;
    background-color: var(--bg, #FAF7F1);
    border: 1px solid var(--border, #E4DFD8);
    border-radius: 4px;
    color: var(--text, #312818);
}

.cat-listing-section .cat-search-input::placeholder {
    color: var(--text-muted, #6D6455);
    opacity: 0.85;
}

.cat-listing-section .cat-search-input:focus {
    border-color: var(--primary, #593228);
    box-shadow: 0 0 0 2px rgba(89, 50, 40, 0.2);
    outline: none;
}

.cat-listing-section .cat-filter-btn {
    background-color: transparent;
    border: 1px solid var(--border, #E4DFD8);
    color: var(--text, #312818);
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 16px;
    letter-spacing: 0.03em;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.cat-listing-section .cat-filter-btn:hover,
.cat-listing-section .cat-filter-btn:focus {
    background-color: var(--primary, #593228);
    color: var(--on-primary, #FFFFFF);
    border-color: var(--primary, #593228);
}

.cat-listing-section .cat-filter-btn.is-active {
    background-color: var(--primary, #593228);
    color: var(--on-primary, #FFFFFF);
    border-color: var(--primary, #593228);
}

.cat-listing-section .cat-row-card {
    background-color: var(--surface, #FFFFFF);
    border-radius: 12px;
    overflow: hidden;
    transition: background-color 0.2s ease;
}

.cat-listing-section .cat-card-media-wrapper {
    aspect-ratio: 3 / 4;
    width: 100%;
    overflow: hidden;
    background-color: var(--dark-band, #381F19);
}

.cat-listing-section .cat-card-image {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block;
}

.cat-listing-section .cat-card-inline-meta {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-muted, #6D6455);
}

.cat-listing-section .cat-card-sku {
    color: var(--accent-text, #92620D);
}

.cat-listing-section .cat-meta-sep {
    color: var(--border, #E4DFD8);
}

.cat-listing-section .cat-card-title {
    font-size: 22px;
    line-height: 1.25;
    font-weight: 700;
    margin-bottom: 0;
    overflow-wrap: anywhere;
}

.cat-listing-section .cat-card-title-link {
    color: var(--text, #312818);
    text-decoration: none;
    transition: color 0.2s ease;
}

.cat-listing-section .cat-card-title-link:hover,
.cat-listing-section .cat-card-title-link:focus {
    color: var(--accent-text, #92620D);
}

.cat-listing-section .cat-card-excerpt {
    font-size: 15px;
    line-height: 1.55;
    color: var(--text-muted, #6D6455);
    overflow-wrap: anywhere;
}

.cat-listing-section .cat-card-footer {
    border-top: 1px solid var(--border, #E4DFD8);
}

.cat-listing-section .cat-spec-indicator {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-muted, #6D6455);
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.cat-listing-section .cat-card-action-link {
    color: var(--primary, #593228);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
    transition: color 0.2s ease, transform 0.2s ease;
}

.cat-listing-section .cat-card-action-link:hover,
.cat-listing-section .cat-card-action-link:focus {
    color: var(--primary-hover, #40241D);
    transform: translateX(2px);
}

.cat-listing-section .cat-empty-msg {
    font-size: 15px;
    color: var(--text-muted, #6D6455);
}

.cat-form-section {
    padding-top: 80px;
    padding-bottom: 80px;
}

.cat-form-section .cat-form-card {
    background-color: var(--surface, #FFFFFF);
    border-radius: 12px;
}

.cat-form-section .cat-form-bracket-top {
    position: absolute;
    top: 0;
    left: 0;
    width: 24px;
    height: 24px;
    border-top: 2px solid var(--accent, #F1BF66);
    border-left: 2px solid var(--accent, #F1BF66);
}

.cat-form-section .cat-form-bracket-bottom {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 24px;
    height: 24px;
    border-bottom: 2px solid var(--accent, #F1BF66);
    border-right: 2px solid var(--accent, #F1BF66);
}

.cat-form-section .cat-form-title {
    font-size: 32px;
    line-height: 1.25;
    font-weight: 700;
    color: var(--text, #312818);
    overflow-wrap: anywhere;
}

.cat-form-section .cat-accent-letter {
    color: var(--accent-text, #92620D);
    font-weight: 800;
}

.cat-form-section .cat-accent-bar {
    width: 48px;
    height: 3px;
    background-color: var(--accent, #F1BF66);
    margin-top: 12px;
    margin-bottom: 0;
}

.cat-form-section .cat-form-subtext {
    font-size: 15px;
    line-height: 1.6;
    color: var(--text-muted, #6D6455);
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
    overflow-wrap: anywhere;
}

.cat-form-section .cat-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--text, #312818);
    margin-bottom: 6px;
}

.cat-form-section .cat-input {
    background-color: var(--bg, #FAF7F1);
    border: 1px solid var(--border, #E4DFD8);
    border-radius: 4px;
    padding: 10px 14px;
    font-size: 14px;
    color: var(--text, #312818);
}

.cat-form-section .cat-input::placeholder {
    color: var(--text-muted, #6D6455);
    opacity: 0.85;
}

.cat-form-section .cat-input:focus {
    border-color: var(--primary, #593228);
    box-shadow: 0 0 0 2px rgba(89, 50, 40, 0.2);
    outline: none;
}

.cat-form-section .cat-textarea {
    resize: vertical;
    min-height: 90px;
}

.cat-form-section .cat-consent-check {
    padding-left: 1.8em;
}

.cat-form-section .cat-checkbox {
    border-color: var(--border, #E4DFD8);
    margin-top: 0.25em;
}

.cat-form-section .cat-checkbox:checked {
    background-color: var(--primary, #593228);
    border-color: var(--primary, #593228);
}

.cat-form-section .cat-consent-label {
    font-size: 13px;
    line-height: 1.5;
    color: var(--text-muted, #6D6455);
}

.cat-form-section .cat-privacy-link {
    color: var(--primary, #593228);
    text-decoration: underline;
    font-weight: 600;
}

.cat-form-section .cat-privacy-link:hover,
.cat-form-section .cat-privacy-link:focus {
    color: var(--primary-hover, #40241D);
}

.cat-form-section .cat-consent-alert {
    font-size: 13px;
    color: #A9261C;
    font-weight: 600;
}

.cat-form-section .cat-submit-btn {
    background-color: var(--primary, #593228);
    color: var(--on-primary, #FFFFFF);
    border: none;
    border-radius: 4px;
    padding: 12px 28px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.cat-form-section .cat-submit-btn:hover,
.cat-form-section .cat-submit-btn:focus {
    background-color: var(--primary-hover, #40241D);
    color: var(--on-primary, #FFFFFF);
}

@media (max-width: 767.98px) {
    .cat-hero-section {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .cat-hero-section .cat-hero-title {
        font-size: 18px !important;
        line-height: 1.25 !important;
        hyphens: auto;
    }

    .cat-hero-section .cat-lead-text {
        font-size: 14px;
        margin-bottom: 20px;
    }

    .cat-hero-section .cat-hero-metric-card {
        padding: 24px 20px;
        margin-top: 12px;
    }

    .cat-hero-section .cat-metric-number {
        font-size: 32px;
    }

    .cat-intro-section,
    .cat-listing-section,
    .cat-form-section {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .cat-intro-section .cat-section-heading,
    .cat-listing-section .cat-section-heading,
    .cat-form-section .cat-form-title {
        font-size: 16px !important;
        line-height: 1.3 !important;
        hyphens: auto;
    }

    .cat-intro-section .cat-spec-grid {
        grid-template-columns: 1fr;
    }

    .cat-listing-section .cat-card-media-wrapper {
        aspect-ratio: 16 / 9;
        width: 100%;
    }

    .cat-listing-section .cat-card-title {
        font-size: 14px !important;
        line-height: 1.3 !important;
        hyphens: auto;
    }

    .cat-listing-section .cat-filter-chips {
        justify-content: flex-start !important;
    }

    .cat-listing-section .cat-filter-btn {
        font-size: 12px;
        padding: 6px 12px;
    }

    .cat-form-section .cat-form-card {
        padding: 24px 16px !important;
    }

    .cat-form-section .cat-submit-btn {
        width: 100%;
    }
}


/* ===== PAGE: about ===== */
.session-about { background-color: var(--bg); color: var(--text); font-family: 'Blinker', sans-serif; }
.session-about__mission, .session-about__methodology, .session-about__inquiries { padding-top: 80px; padding-bottom: 80px; position: relative; }
.session-about__title { font-weight: 700; color: var(--text); line-height: 1.2; letter-spacing: -0.01em; margin-bottom: 0; }
.session-about__title-accent { color: var(--accent-text); font-weight: 800; }
.session-about__accent-bar { width: 48px; height: 3px; background-color: var(--accent); margin-top: 12px; display: block; }
.session-about__lead { max-width: 780px; font-size: 18px; line-height: 1.6; color: var(--text-muted); }
.session-about__feature-box { background-color: var(--surface); padding: 36px 28px; border-radius: 12px; position: relative; border: none; box-shadow: none; display: flex; flex-direction: column; }
.session-about__corner-tl { position: absolute; top: 12px; left: 12px; width: 16px; height: 16px; border-top: 2px solid var(--accent); border-left: 2px solid var(--accent); pointer-events: none; }
.session-about__corner-br { position: absolute; bottom: 12px; right: 12px; width: 16px; height: 16px; border-bottom: 2px solid var(--accent); border-right: 2px solid var(--accent); pointer-events: none; }
.session-about__icon-wrap { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; color: var(--primary); }
.session-about__svg { width: 32px; height: 32px; }
.session-about__feature-title { font-size: 20px; font-weight: 700; color: var(--text); margin-bottom: 12px; line-height: 1.3; }
.session-about__feature-text { font-size: 15px; line-height: 1.6; color: var(--text-muted); margin-bottom: 0; }
.session-about__stats-band { background: var(--dark-band-bg); border-radius: 12px; padding: 40px 24px; color: var(--on-dark); }
.session-about__stat-item { border-top: 1px solid rgba(241, 191, 102, 0.4); padding-top: 16px; }
.session-about__stat-num { display: block; font-size: 40px; font-weight: 800; color: var(--accent); line-height: 1.1; margin-bottom: 6px; }
.session-about__stat-lbl { display: block; font-size: 13px; font-weight: 600; color: var(--on-dark-muted); text-transform: uppercase; letter-spacing: 0.05em; }
.session-about__overlap-media { aspect-ratio: 1 / 1; width: 100%; border-radius: 12px; overflow: hidden; background-color: var(--surface-alt); position: relative; }
.session-about__media-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.session-about__overlap-card { background-color: var(--surface); border-radius: 12px; padding: 40px; position: relative; border: none; box-shadow: none; }
.session-about__badge { background-color: var(--primary); color: var(--on-primary); }
.session-about__card-title { font-size: 24px; font-weight: 700; color: var(--text); margin-bottom: 14px; line-height: 1.25; }
.session-about__card-text { font-size: 15px; line-height: 1.6; color: var(--text-muted); margin-bottom: 20px; }
.session-about__checklist span { font-size: 15px; color: var(--text); }
.session-about__check-icon { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background-color: var(--accent); color: var(--on-accent); flex-shrink: 0; }
.session-about__check-svg { width: 14px; height: 14px; }
.session-about__action-btn { display: inline-block; text-decoration: none; }
.session-about__contact-meta { display: flex; flex-direction: column; justify-content: center; }
.session-about__contact-desc { font-size: 16px; line-height: 1.6; color: var(--text-muted); }
.session-about__channel-icon { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; color: var(--primary); flex-shrink: 0; }
.session-about__channel-label { font-size: 12px; font-weight: 700; text-transform: uppercase; color: var(--text-muted); letter-spacing: 0.06em; }
.session-about__channel-val { font-size: 16px; font-weight: 700; color: var(--primary-text); text-decoration: none; word-break: break-all; }
.session-about__channel-val:hover { color: var(--primary-hover); text-decoration: underline; }
.session-about__links-title { font-size: 13px; font-weight: 700; text-transform: uppercase; color: var(--text); letter-spacing: 0.05em; }
.session-about__ref-link { color: var(--primary-text); font-weight: 600; text-decoration: none; font-size: 14px; }
.session-about__ref-link:hover { color: var(--primary-hover); text-decoration: underline; }
.session-about__form-card { background-color: var(--surface); padding: 40px; border-radius: 12px; position: relative; border: none; box-shadow: none; }
.session-about__form-title { font-size: 24px; font-weight: 700; color: var(--text); line-height: 1.25; }
.session-about__form-desc { font-size: 14px; line-height: 1.5; color: var(--text-muted); }
.session-about__label { font-size: 13px; font-weight: 600; color: var(--text); margin-bottom: 6px; display: block; }
.session-about__input, .session-about__textarea { background-color: var(--surface); border: 1px solid var(--border); border-radius: 4px; padding: 10px 14px; color: var(--text); font-size: 14px; width: 100%; transition: border-color 0.2s ease; }
.session-about__input:focus, .session-about__textarea:focus { border-color: var(--primary); outline: none; box-shadow: none; }
.session-about__input::placeholder, .session-about__textarea::placeholder { color: var(--text-muted); opacity: 0.75; }
.session-about__consent-group { display: flex; align-items: flex-start; gap: 8px; }
.session-about__checkbox { margin-top: 3px; cursor: pointer; flex-shrink: 0; }
.session-about__consent-label { font-size: 13px; line-height: 1.5; color: var(--text-muted); }
.session-about__consent-link { color: var(--primary-text); text-decoration: underline; }
.session-about__consent-link:hover { color: var(--primary-hover); }
.session-about__submit-btn { width: 100%; text-align: center; border: none; cursor: pointer; }
@media (max-width: 767px) {
  .session-about__mission, .session-about__methodology, .session-about__inquiries { padding-top: 56px; padding-bottom: 56px; }
  .session-about__title { font-size: 26px; }
  .session-about__lead { font-size: 16px; }
  .session-about__overlap-card, .session-about__form-card, .session-about__feature-box { padding: 24px 20px; }
  .session-about__stat-num { font-size: 32px; }
}

/* ===== PAGE: capture_one ===== */
.c1-architecture-section { padding-top: 64px; padding-bottom: 64px; }
.c1-route-section { padding-top: 64px; padding-bottom: 64px; }
.c1-signature-section { padding-top: 64px; padding-bottom: 64px; }
.c1-stats-section { padding-top: 48px; padding-bottom: 48px; background: var(--dark-band-bg); }
.c1-disclaimer-section { padding-top: 48px; padding-bottom: 64px; }

@media (min-width: 992px) {
  .c1-architecture-section { padding-top: 104px; padding-bottom: 104px; }
  .c1-route-section { padding-top: 104px; padding-bottom: 104px; }
  .c1-signature-section { padding-top: 104px; padding-bottom: 104px; }
  .c1-stats-section { padding-top: 80px; padding-bottom: 80px; }
  .c1-disclaimer-section { padding-top: 64px; padding-bottom: 80px; }
}

.c1-section-heading { color: var(--text); font-weight: 700; margin-top: 8px; margin-bottom: 16px; overflow-wrap: anywhere; }
.c1-section-heading span { color: var(--accent-text); font-weight: 800; }
.c1-accent-bar { width: 48px; height: 3px; background: var(--accent); margin: 8px 0 20px 0; }
.c1-lead-text { font-size: 19px; line-height: 1.5; color: var(--text); font-weight: 400; }
.c1-body-text { font-size: 16px; line-height: 1.6; color: var(--text-muted); }
.c1-subtitle-text { max-width: 680px; font-size: 16px; color: var(--text-muted); line-height: 1.5; }

.c1-topology-card {
  background: var(--surface);
  border-radius: 12px;
  padding: 24px;
  border: 1px solid var(--border);
}
.c1-topology-header {
  border-bottom: 1px solid var(--border);
  padding-bottom: 12px;
  margin-bottom: 16px;
}
.c1-topology-code { font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--primary-text); }
.c1-folder-tree { display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.c1-tree-item { display: flex; align-items: center; gap: 8px; color: var(--text); flex-wrap: wrap; }
.c1-tree-item.is-child { padding-left: 20px; }
.c1-tree-item.is-db { padding-left: 20px; color: var(--primary-text); font-weight: 600; }
.c1-tree-item .cny-icon { width: 18px; height: 18px; stroke-width: 1.75; color: var(--primary-text); flex-shrink: 0; }
.c1-tree-note { font-size: 12px; color: var(--text-muted); margin-left: 4px; }

.c1-route-nav { border-bottom: 1px solid var(--border); padding-bottom: 16px; }
.c1-route-tab {
  background: var(--surface);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 10px 18px;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.c1-route-tab .c1-tab-num { color: var(--accent-text); font-weight: 800; font-size: 12px; }
.c1-route-tab:hover {
  background: var(--surface-alt);
  color: var(--primary-text);
  border-color: var(--primary);
}
.c1-route-tab.active {
  background: var(--primary);
  color: var(--on-primary);
  border-color: var(--primary);
}
.c1-route-tab.active .c1-tab-num { color: var(--accent); }

.c1-stage-card {
  background: var(--surface);
  border-radius: 12px;
  padding: 32px;
  border: 1px solid var(--border);
}
.c1-stage-title { font-size: 24px; font-weight: 700; color: var(--text); }
.c1-tag-state { font-size: 13px; font-weight: 600; color: var(--text-muted); }
.c1-stage-description { font-size: 16px; color: var(--text-muted); line-height: 1.6; }

.c1-metric-box {
  background: var(--surface-alt);
  padding: 14px 16px;
  border-radius: 6px;
  border-left: 3px solid var(--accent);
}
.c1-metric-label { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-muted); margin-bottom: 4px; }
.c1-metric-val { font-size: 14px; color: var(--text); overflow-wrap: anywhere; }

.c1-stage-sidebar {
  background: var(--surface);
  border-radius: 12px;
  padding: 32px;
  border: 1px solid var(--border);
}
.c1-sidebar-heading { font-size: 18px; font-weight: 700; color: var(--text); }
.c1-checklist { color: var(--text); font-size: 14px; line-height: 1.5; }
.c1-checklist .cny-icon { width: 18px; height: 18px; color: var(--accent-text); flex-shrink: 0; margin-top: 2px; }
.c1-action-meta { font-size: 13px; text-transform: uppercase; color: var(--text-muted); font-weight: 600; }
.c1-action-step { font-size: 14px; color: var(--primary-text); }

.c1-signature-media-wrap {
  width: 100%;
  max-width: 540px;
  aspect-ratio: 1 / 1;
  border-radius: 12px;
  overflow: hidden;
  margin: 0 auto;
}
.c1-signature-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c1-signature-card {
  background: var(--surface);
  border-radius: 12px;
  padding: 32px;
  border: 1px solid var(--border);
}
@media (min-width: 992px) {
  .c1-signature-card { margin-left: -40px; padding: 48px; position: relative; z-index: 2; }
}
.c1-feature-icon-wrap {
  width: 40px;
  height: 40px;
  border-radius: 6px;
  background: var(--surface-alt);
  color: var(--primary-text);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.c1-feature-icon-wrap .cny-icon { width: 22px; height: 22px; }
.c1-feature-title { font-size: 17px; font-weight: 700; color: var(--text); margin-bottom: 4px; }
.c1-feature-desc { font-size: 14px; color: var(--text-muted); line-height: 1.5; }

.c1-stat-item {
  padding-top: 16px;
  border-top: 1px solid rgba(241, 191, 102, 0.4);
}
.c1-stat-value { display: block; font-size: 38px; font-weight: 800; color: var(--accent); line-height: 1.1; margin-bottom: 8px; }
.c1-stat-label { font-size: 13px; font-weight: 600; color: var(--on-dark-muted); text-transform: uppercase; letter-spacing: 0.05em; display: block; }

.c1-disclaimer-card {
  background: var(--surface);
  border-radius: 12px;
  padding: 32px;
  border: 1px solid var(--border);
}
.c1-disclaimer-badge-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--surface-alt);
  color: var(--primary);
}
.c1-disclaimer-badge-icon .cny-icon { width: 32px; height: 32px; }
.c1-disclaimer-title { font-size: 20px; font-weight: 700; color: var(--text); margin-bottom: 8px; }
.c1-disclaimer-text { font-size: 14px; color: var(--text-muted); line-height: 1.6; }
.c1-text-link {
  color: var(--primary-text);
  font-weight: 700;
  font-size: 14px;
  text-decoration: underline;
  text-underline-offset: 4px;
  transition: color 0.2s ease;
}
.c1-text-link:hover { color: var(--primary-hover); }

@media (max-width: 767px) {
  .c1-section-heading { font-size: 24px; }
  .c1-lead-text { font-size: 16px; }
  .c1-stage-card, .c1-stage-sidebar, .c1-signature-card, .c1-disclaimer-card { padding: 20px; }
  .c1-signature-card { margin-left: 0; }
  .c1-route-nav { justify-content: flex-start; }
  .c1-route-tab { width: 100%; justify-content: flex-start; }
}

/* ===== PAGE: contact ===== */
.cny-contact-channels { padding-top: 5rem; padding-bottom: 5rem; }
.cny-contact-inquiry { padding-top: 5rem; padding-bottom: 5rem; }
.cny-contact-card { background: var(--surface); padding: 2rem 1.5rem; border-radius: 12px; height: 100%; display: flex; flex-direction: column; align-items: flex-start; }
.cny-contact-icon-box { width: 48px; height: 48px; background: var(--surface-alt); border-radius: 4px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 1.25rem; color: var(--primary); }
.cny-contact-svg { width: 24px; height: 24px; }
.cny-contact-card-title { font-size: 1.25rem; font-weight: 700; color: var(--text); margin-top: 0.5rem; margin-bottom: 0.5rem; line-height: 1.25; overflow-wrap: anywhere; }
.cny-contact-card-text { font-size: 0.95rem; color: var(--text-muted); line-height: 1.5; margin-bottom: 1.25rem; flex-grow: 1; }
.cny-contact-link { display: inline-flex; align-items: center; gap: 0.35rem; color: var(--primary-text); font-weight: 700; font-size: 0.95rem; text-decoration: none; overflow-wrap: anywhere; border-bottom: 1px solid var(--border); padding-bottom: 2px; }
.cny-contact-link:hover { color: var(--primary-hover); border-bottom-color: var(--accent); }
.cny-contact-link-label { color: var(--text-muted); font-weight: 600; }
.cny-contact-address-text { color: var(--text); font-weight: 600; font-size: 0.95rem; line-height: 1.5; overflow-wrap: anywhere; }
.cny-title-accent { color: var(--accent-text); font-weight: 800; }
.cny-accent-line { width: 48px; height: 3px; background: var(--accent); display: block; margin-top: 12px; }
.cny-contact-intro-text { color: var(--text-muted); font-size: 1.05rem; line-height: 1.6; }
.cny-contact-protocol-list { margin-top: 2rem; display: flex; flex-direction: column; gap: 1.5rem; }
.cny-protocol-item { display: flex; align-items: flex-start; gap: 1rem; }
.cny-protocol-icon-holder { width: 40px; height: 40px; min-width: 40px; background: var(--surface-alt); border-radius: 4px; display: inline-flex; align-items: center; justify-content: center; color: var(--primary); }
.cny-protocol-svg { width: 20px; height: 20px; }
.cny-protocol-title { font-size: 1.1rem; font-weight: 700; color: var(--text); margin-bottom: 0.25rem; line-height: 1.25; }
.cny-protocol-desc { font-size: 0.9rem; color: var(--text-muted); line-height: 1.5; margin: 0; }
.cny-form-wrapper { background: var(--surface); padding: 2.5rem; border-radius: 12px; }
.cny-form-group { display: flex; flex-direction: column; gap: 0.5rem; }
.cny-form-label { font-size: 0.9rem; font-weight: 700; color: var(--text); text-transform: uppercase; letter-spacing: 0.04em; }
.cny-required { color: var(--primary-text); }
.cny-input, .cny-textarea { width: 100%; background: var(--surface); border: 1px solid var(--border); border-radius: 4px; padding: 12px 16px; color: var(--text); font-family: inherit; font-size: 0.95rem; transition: border-color 0.2s ease, outline 0.2s ease; }
.cny-input:focus, .cny-textarea:focus { outline: 2px solid var(--primary); border-color: var(--primary); }
.cny-input::placeholder, .cny-textarea::placeholder { color: var(--text-muted); opacity: 0.8; }
.cny-textarea { resize: vertical; min-height: 120px; }
.cny-consent-wrapper { display: flex; align-items: flex-start; gap: 0.75rem; margin-top: 0.5rem; margin-bottom: 0.5rem; }
.cny-checkbox { width: 18px; height: 18px; min-width: 18px; margin-top: 0.2rem; cursor: pointer; accent-color: var(--primary); }
.cny-consent-label { font-size: 0.85rem; color: var(--text-muted); line-height: 1.4; }
.cny-consent-link { color: var(--primary-text); text-decoration: underline; font-weight: 600; }
.cny-consent-link:hover { color: var(--primary-hover); }
@media (max-width: 767px) {
  .cny-contact-channels { padding-top: 3.5rem; padding-bottom: 3.5rem; }
  .cny-contact-inquiry { padding-top: 3.5rem; padding-bottom: 3.5rem; }
  .cny-form-wrapper { padding: 1.5rem 1rem; }
  .cny-contact-card-title { font-size: 1.15rem; }
  .cny-protocol-title { font-size: 1rem; }
}

/* ===== PAGE: faq ===== */
.sra-faq-block .sra-accent-first,
.sra-prompt-block .sra-accent-first {
  color: var(--accent-text);
  font-weight: 800;
}
.sra-faq-block .sra-decor-line,
.sra-prompt-block .sra-decor-line {
  display: block;
  width: 48px;
  height: 3px;
  background-color: var(--accent);
  margin-top: 12px;
}
.sra-faq-block .sra-intro-lead {
  font-size: 18px;
  line-height: 1.5;
  color: var(--text-muted);
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}
.sra-faq-block .sra-search-wrapper {
  position: relative;
  width: 100%;
}
.sra-faq-block .sra-search-icon {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  color: var(--primary);
  pointer-events: none;
}
.sra-faq-block .sra-search-input {
  font-family: 'Blinker', sans-serif;
  background-color: var(--surface);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 12px 16px 12px 48px;
  color: var(--text);
  font-size: 15px;
  box-shadow: none;
}
.sra-faq-block .sra-search-input::placeholder {
  color: var(--text-muted);
  opacity: 0.85;
}
.sra-faq-block .sra-search-input:focus {
  outline: 2px solid var(--primary);
  border-color: var(--primary);
  box-shadow: none;
}
.sra-faq-block .sra-faq-item {
  position: relative;
  background-color: var(--surface);
  border-radius: 12px;
  overflow: hidden;
}
.sra-faq-block .sra-corner-tl,
.sra-prompt-block .sra-corner-tl {
  position: absolute;
  top: 0;
  left: 0;
  width: 16px;
  height: 16px;
  border-top: 2px solid var(--accent);
  border-left: 2px solid var(--accent);
  pointer-events: none;
  z-index: 1;
}
.sra-faq-block .sra-corner-br,
.sra-prompt-block .sra-corner-br {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 16px;
  height: 16px;
  border-bottom: 2px solid var(--accent);
  border-right: 2px solid var(--accent);
  pointer-events: none;
  z-index: 1;
}
.sra-faq-block .sra-accordion-btn {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  background: transparent;
  border: none;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.sra-faq-block .sra-accordion-btn:hover {
  background-color: rgba(89, 50, 40, 0.03);
}
.sra-faq-block .sra-accordion-btn:focus-visible {
  outline: 2px solid var(--primary);
}
.sra-faq-block .sra-q-text {
  font-weight: 700;
  font-size: 18px;
  line-height: 1.4;
  color: var(--text);
  padding-right: 16px;
}
.sra-faq-block .sra-icon-state {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 4px;
  background-color: var(--surface-alt);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease;
}
.sra-faq-block .sra-icon-svg {
  width: 18px;
  height: 18px;
  color: var(--primary);
  transition: transform 0.2s ease;
}
.sra-faq-block .sra-accordion-btn[aria-expanded="true"] .sra-icon-svg {
  transform: rotate(180deg);
}
.sra-faq-block .sra-accordion-body {
  border-top: 1px solid var(--border);
}
.sra-faq-block .sra-answer-inner {
  padding: 24px;
  color: var(--text);
  font-size: 16px;
  line-height: 1.6;
}
.sra-faq-block .sra-answer-inner code {
  background-color: var(--surface-alt);
  color: var(--primary-text);
  padding: 2px 6px;
  border-radius: 3px;
  font-size: 14px;
}
.sra-faq-block .sra-no-results {
  background-color: var(--surface);
  border-radius: 12px;
  color: var(--text-muted);
  font-size: 15px;
}
.sra-prompt-block .sra-form-panel {
  position: relative;
  background-color: var(--surface);
  border-radius: 12px;
}
.sra-prompt-block .sra-prompt-desc {
  font-size: 16px;
  line-height: 1.6;
  color: var(--text-muted);
  max-width: 580px;
  margin-left: auto;
  margin-right: auto;
}
.sra-prompt-block .sra-field-label {
  font-weight: 700;
  font-size: 14px;
  color: var(--text);
  letter-spacing: 0.02em;
  margin-bottom: 6px;
}
.sra-prompt-block .sra-input-control {
  font-family: 'Blinker', sans-serif;
  background-color: var(--surface);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 12px 16px;
  color: var(--text);
  font-size: 15px;
  box-shadow: none;
}
.sra-prompt-block .sra-input-control::placeholder {
  color: var(--text-muted);
  opacity: 0.85;
}
.sra-prompt-block .sra-input-control:focus {
  outline: 2px solid var(--primary);
  border-color: var(--primary);
  box-shadow: none;
}
.sra-prompt-block .sra-consent-wrap {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding-left: 0;
}
.sra-prompt-block .sra-consent-check {
  margin-top: 3px;
  cursor: pointer;
  border-color: var(--border);
}
.sra-prompt-block .sra-consent-check:checked {
  background-color: var(--primary);
  border-color: var(--primary);
}
.sra-prompt-block .sra-consent-label {
  font-size: 14px;
  line-height: 1.5;
  color: var(--text);
  cursor: pointer;
}
.sra-prompt-block .sra-privacy-link {
  color: var(--primary-text);
  text-decoration: underline;
  font-weight: 600;
}
.sra-prompt-block .sra-privacy-link:hover {
  color: var(--accent-text);
}
.sra-prompt-block .sra-submit-btn {
  padding: 14px 32px;
  min-width: 240px;
}
@media (max-width: 767px) {
  .sra-faq-block .sra-q-text {
    font-size: 16px;
  }
  .sra-faq-block .sra-answer-inner {
    padding: 18px;
    font-size: 15px;
  }
  .sra-prompt-block .sra-form-panel {
    padding: 24px 16px !important;
  }
  .sra-prompt-block .sra-submit-btn {
    width: 100% !important;
  }
}

/* ===== PAGE: privacy ===== */
.sra-privacy-block { background-color: var(--bg); color: var(--text); font-family: 'Blinker', sans-serif; }
.sra-privacy-block .sra-accent-word { color: var(--accent-text); font-weight: 800; }
.sra-privacy-block .sra-accent-line { width: 48px; height: 3px; background-color: var(--accent); display: block; }
.sra-privacy-block .sra-lead-text { font-size: 18px; line-height: 1.6; color: var(--text-muted); max-width: 820px; }
.sra-privacy-block .sra-filter-bar { padding: 8px 0; }
.sra-privacy-block .sra-filter-btn { border-radius: 4px; padding: 8px 16px; font-weight: 600; font-size: 13px; text-transform: uppercase; letter-spacing: 0.04em; cursor: pointer; transition: background-color 0.2s ease, color 0.2s ease; border: none; }
.sra-privacy-block .sra-card { background-color: var(--surface); border-radius: 12px; position: relative; display: flex; flex-direction: column; }
.sra-privacy-block .sra-card-title { font-size: 20px; font-weight: 700; color: var(--primary-text); line-height: 1.3; }
.sra-privacy-block .sra-card-body { font-size: 15px; line-height: 1.6; color: var(--text-muted); margin-bottom: 20px; }
.sra-privacy-block .sra-icon-box { width: 44px; height: 44px; border-radius: 4px; background-color: var(--surface-alt); color: var(--primary); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.sra-privacy-block .sra-svg-icon { width: 22px; height: 22px; }
.sra-privacy-block .sra-card-meta { border-color: var(--border) !important; font-size: 13px; }
.sra-privacy-block .sra-meta-label { font-weight: 700; color: var(--text); }
.sra-privacy-block .sra-meta-val { color: var(--text-muted); }
.sra-privacy-block .sra-compliance-banner { background-color: var(--surface-alt); border-radius: 12px; position: relative; }
.sra-privacy-block .sra-banner-title { font-size: 24px; font-weight: 700; color: var(--primary-text); }
.sra-privacy-block .sra-banner-desc { font-size: 15px; color: var(--text-muted); max-width: 620px; }
@media (max-width: 767px) {
  .sra-privacy-block .sra-lead-text { font-size: 15px; }
  .sra-privacy-block .sra-card-title { font-size: 18px; }
  .sra-privacy-block .sra-banner-title { font-size: 20px; }
  .sra-privacy-block .sra-card { padding: 20px !important; }
}

/* ===== PAGE: terms ===== */
.sra-terms-block {
  padding-top: 80px;
  padding-bottom: 96px;
  background-color: var(--bg);
  color: var(--text);
  position: relative;
}

.sra-terms-block .sra-accent-lead {
  color: var(--accent-text);
  font-weight: 800;
}

.sra-terms-block .sra-accent-line {
  width: 48px;
  height: 3px;
  background-color: var(--accent);
  display: block;
  margin-top: 12px;
}

.sra-terms-block .sra-lead-desc {
  max-width: 760px;
  font-size: 17px;
  line-height: 1.6;
  color: var(--text-muted);
}

.sra-terms-block .sra-search-wrapper {
  position: relative;
  width: 100%;
}

.sra-terms-block .sra-search-icon {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  stroke: var(--text-muted);
  pointer-events: none;
}

.sra-terms-block .sra-search-field {
  width: 100%;
  background-color: var(--surface);
  border: 1px solid var(--border);
  color: var(--text);
  border-radius: 4px;
  padding: 12px 16px 12px 48px;
  font-size: 15px;
  outline: none;
  transition: border-color 0.2s ease;
}

.sra-terms-block .sra-search-field:focus {
  border-color: var(--primary);
  outline: 2px solid var(--primary);
}

.sra-terms-block .sra-search-field::placeholder {
  color: var(--text-muted);
  opacity: 0.85;
}

.sra-terms-block .sra-clause-card {
  position: relative;
  background-color: var(--surface);
  padding: 32px 28px;
  border-radius: 12px;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.sra-terms-block .sra-corner-tl {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 16px;
  height: 16px;
  border-top: 2px solid var(--accent);
  border-left: 2px solid var(--accent);
  pointer-events: none;
}

.sra-terms-block .sra-corner-br {
  position: absolute;
  bottom: 12px;
  right: 12px;
  width: 16px;
  height: 16px;
  border-bottom: 2px solid var(--accent);
  border-right: 2px solid var(--accent);
  pointer-events: none;
}

.sra-terms-block .sra-meta-date {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-muted);
  letter-spacing: 0.04em;
}

.sra-terms-block .sra-clause-title {
  font-size: 22px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 14px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.sra-terms-block .sra-clause-text {
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-muted);
  margin-bottom: 16px;
}

.sra-terms-block .sra-bullet-list {
  list-style: none;
  padding-left: 0;
  margin-top: auto;
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.sra-terms-block .sra-bullet-list li {
  font-size: 14px;
  line-height: 1.5;
  color: var(--text);
  padding-left: 18px;
  position: relative;
  overflow-wrap: anywhere;
}

.sra-terms-block .sra-bullet-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background-color: var(--primary);
  border-radius: 1px;
}

.sra-terms-block .sra-text-link {
  color: var(--primary-text);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--accent);
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}

.sra-terms-block .sra-text-link:hover {
  color: var(--accent-text);
}

.sra-terms-block .sra-summary-panel {
  background: var(--surface-alt);
  border-radius: 12px;
  padding: 32px 36px;
  position: relative;
}

.sra-terms-block .sra-summary-heading {
  color: var(--text);
  font-size: 22px;
  font-weight: 700;
}

.sra-terms-block .sra-summary-text {
  color: var(--text-muted);
  font-size: 15px;
  line-height: 1.6;
}

.sra-terms-block .sra-empty-state {
  background-color: var(--surface);
  padding: 48px 24px;
  border-radius: 12px;
}

.sra-terms-block .sra-empty-icon svg {
  stroke: var(--accent-text);
}

.sra-terms-block .sra-empty-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--text);
}

.sra-terms-block .sra-empty-desc {
  font-size: 15px;
  color: var(--text-muted);
}

@media (max-width: 767px) {
  .sra-terms-block {
    padding-top: 48px;
    padding-bottom: 64px;
  }

  .sra-terms-block h2.cny-title {
    font-size: 22px !important;
    line-height: 1.25;
  }

  .sra-terms-block .sra-clause-title {
    font-size: 18px;
  }

  .sra-terms-block .sra-lead-desc {
    font-size: 15px;
  }

  .sra-terms-block .sra-clause-card {
    padding: 24px 18px;
  }

  .sra-terms-block .sra-summary-panel {
    padding: 24px 20px;
  }
}

/* ===== PAGE: disclaimer ===== */
.disclaimer-section {
  background-color: var(--bg);
  color: var(--text);
  position: relative;
  overflow: hidden;
}
.disclaimer-section .cny-eyebrow {
  font-size: 12px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--primary-text);
}
.disclaimer-section .disclaimer-title {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--text);
  overflow-wrap: anywhere;
}
.disclaimer-section .disclaimer-title .title-accent {
  color: var(--accent-text);
  font-weight: 800;
}
.disclaimer-section .disclaimer-accent-bar {
  width: 48px;
  height: 3px;
  background-color: var(--accent);
}
.disclaimer-section .disclaimer-intro {
  font-size: 18px;
  line-height: 1.6;
  color: var(--text-muted);
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}
.disclaimer-section .disclaimer-card {
  background-color: var(--surface);
  border-radius: 12px;
  border: none;
  box-shadow: none;
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.disclaimer-section .disclaimer-card::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 12px;
  width: 14px;
  height: 14px;
  border-top: 2px solid var(--accent);
  border-left: 2px solid var(--accent);
  pointer-events: none;
}
.disclaimer-section .disclaimer-icon-wrap {
  width: 48px;
  height: 48px;
  border-radius: 4px;
  background-color: var(--surface-alt);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--primary);
}
.disclaimer-section .disclaimer-svg {
  width: 24px;
  height: 24px;
}
.disclaimer-section .disclaimer-card-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--text);
  overflow-wrap: anywhere;
}
.disclaimer-section .disclaimer-card-text {
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-muted);
}
.disclaimer-section .disclaimer-filter-container {
  background-color: var(--surface);
  border-radius: 12px;
}
.disclaimer-section .disclaimer-filter-label {
  font-size: 13px;
  letter-spacing: 0.08em;
  color: var(--primary-text);
}
.disclaimer-section .disclaimer-filter-sub {
  font-size: 14px;
  color: var(--text-muted);
}
.disclaimer-section .disclaimer-tab-btn {
  background-color: var(--surface-alt);
  color: var(--primary);
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.disclaimer-section .disclaimer-tab-btn:hover {
  background-color: var(--primary);
  color: var(--on-primary);
}
.disclaimer-section .disclaimer-tab-btn.active {
  background-color: var(--primary);
  color: var(--on-primary);
}
.disclaimer-section .disclaimer-item {
  background-color: var(--bg);
  border-radius: 8px;
  border-left: 3px solid var(--primary);
}
.disclaimer-section .disclaimer-item-title {
  font-size: 17px;
  font-weight: 700;
  color: var(--text);
  overflow-wrap: anywhere;
}
.disclaimer-section .disclaimer-item-desc {
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--text-muted);
}
.disclaimer-section .disclaimer-inline-link {
  color: var(--primary-text);
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 600;
}
.disclaimer-section .disclaimer-inline-link:hover {
  color: var(--accent-text);
}
.disclaimer-section .cny-badge {
  background-color: var(--primary);
  color: var(--on-primary);
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 700;
  border-radius: 2px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  display: inline-block;
}
.disclaimer-section .disclaimer-contact-box {
  background-color: var(--surface);
  border-radius: 12px;
  position: relative;
}
.disclaimer-section .disclaimer-contact-box::after {
  content: "";
  position: absolute;
  bottom: 12px;
  right: 12px;
  width: 14px;
  height: 14px;
  border-bottom: 2px solid var(--accent);
  border-right: 2px solid var(--accent);
  pointer-events: none;
}
.disclaimer-section .disclaimer-contact-heading {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--text);
  overflow-wrap: anywhere;
}
.disclaimer-section .disclaimer-contact-desc {
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-muted);
}
.disclaimer-section .cny-btn {
  background-color: var(--primary);
  color: var(--on-primary);
  border: none;
  border-radius: 4px;
  padding: 12px 24px;
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-align: center;
  text-decoration: none;
  display: inline-block;
}
.disclaimer-section .cny-btn:hover {
  background-color: var(--primary-hover);
  color: var(--on-primary);
}
.disclaimer-section .cny-btn-alt {
  background-color: transparent;
  color: var(--primary-text);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 11px 22px;
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-align: center;
  text-decoration: none;
  display: inline-block;
}
.disclaimer-section .cny-btn-alt:hover {
  background-color: var(--surface-alt);
  color: var(--primary-hover);
  border-color: var(--primary);
}
@media (max-width: 767px) {
  .disclaimer-section .disclaimer-title {
    font-size: 26px;
  }
  .disclaimer-section .disclaimer-intro {
    font-size: 16px;
  }
  .disclaimer-section .disclaimer-card-title {
    font-size: 18px;
  }
  .disclaimer-section .disclaimer-contact-heading {
    font-size: 20px;
  }
  .disclaimer-section .disclaimer-nav-pills {
    width: 100%;
  }
  .disclaimer-section .disclaimer-tab-btn {
    flex: 1 1 auto;
    text-align: center;
  }
}

.comment-item {
    width: 100%;
    margin-bottom: 24px;
    font-family: 'Blinker', sans-serif;
}

.comment-card {
    background-color: #FFFFFF;
    border: 1px solid #E4DFD8;
    border-radius: 12px;
    padding: 24px;
    position: relative;
    box-shadow: none;
}

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

.comment-avatar {
    width: 44px;
    height: 44px;
    min-width: 44px;
    border-radius: 50%;
    background-color: #593228;
    color: #FFFFFF;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    user-select: none;
}

.comment-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.comment-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.comment-meta-top {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.comment-author {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
    color: #312818;
    margin: 0;
}

.comment-badge {
    display: inline-block;
    background-color: #F1BF66;
    color: #111111;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    padding: 4px 8px;
    border-radius: 2px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.comment-date {
    font-size: 13px;
    font-weight: 400;
    color: #6D6455;
}

.comment-body {
    margin-bottom: 16px;
}

.comment-text {
    font-size: 15px;
    line-height: 1.6;
    font-weight: 400;
    color: #312818;
    margin: 0;
}

.comment-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    border-top: 1px solid #E4DFD8;
    padding-top: 14px;
}

.comment-action-btn {
    background: transparent;
    border: none;
    border-radius: 4px;
    padding: 6px 12px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    color: #6D6455;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.comment-action-btn:hover {
    background-color: #F3E9E6;
    color: #593228;
}

.comment-action-btn:focus-visible {
    outline: 2px solid #593228;
    outline-offset: 2px;
}

.comment-icon {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    flex-shrink: 0;
}

.comment-action-count {
    font-variant-numeric: tabular-nums;
}

.comment-item--reply {
    width: 100%;
    margin-top: 16px;
    margin-bottom: 16px;
    font-family: 'Blinker', sans-serif;
}

.comment-reply-wrapper {
    display: flex;
    position: relative;
    padding-left: 28px;
}

.comment-reply-indicator {
    position: absolute;
    left: 8px;
    top: 0;
    bottom: 20px;
    width: 16px;
    border-left: 2px solid #E4DFD8;
    border-bottom: 2px solid #E4DFD8;
    border-bottom-left-radius: 8px;
}

.comment-card--nested {
    flex: 1;
    background-color: #FAF7F1;
    border: 1px solid #E4DFD8;
    border-radius: 12px;
    padding: 20px;
    box-shadow: none;
}

.comment-avatar--reply {
    width: 36px;
    height: 36px;
    min-width: 36px;
    background-color: #381F19;
    font-size: 13px;
}

.comment-badge--team {
    background-color: #593228;
    color: #FFFFFF;
}

.comment-reply-wrapper .comment-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.comment-reply-wrapper .comment-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.comment-reply-wrapper .comment-meta-top {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.comment-reply-wrapper .comment-author {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.25;
    color: #312818;
    margin: 0;
}

.comment-reply-wrapper .comment-date {
    font-size: 12px;
    font-weight: 400;
    color: #6D6455;
}

.comment-reply-wrapper .comment-body {
    margin-bottom: 12px;
}

.comment-reply-wrapper .comment-text {
    font-size: 14px;
    line-height: 1.55;
    font-weight: 400;
    color: #312818;
    margin: 0;
}

.comment-reply-wrapper .comment-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    border-top: 1px solid #E4DFD8;
    padding-top: 10px;
}

@media (max-width: 576px) {
    .comment-reply-wrapper {
        padding-left: 14px;
    }

    .comment-reply-indicator {
        left: 0;
        width: 12px;
    }

    .comment-card {
        padding: 16px;
    }

    .comment-card--nested {
        padding: 14px;
    }
}


/* ===== PAGE TEMPLATE: routes, processing, equipment ===== */
.atlas-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    background-color: var(--bg, #FAF7F1);
    border-bottom: 1px solid var(--border, #E4DFD8);
}

.atlas-header .atlas-navbar {
    min-height: 80px;
}

.atlas-header .atlas-brand {
    text-decoration: none;
}

.atlas-header .atlas-logo {
    max-width: 42px;
    max-height: 42px;
    width: 42px;
    height: 42px;
    object-fit: contain;
    display: block;
}

.atlas-header .atlas-brand-text {
    font-family: var(--font_family_headings, 'Blinker', sans-serif);
    font-size: 22px;
    font-weight: 900;
    line-height: 1.2;
    color: var(--text, #312818);
    letter-spacing: -0.01em;
}

.atlas-header .atlas-brand-accent {
    color: var(--accent_text, #92620D);
}

.atlas-header .atlas-toggler {
    background-color: transparent;
    color: var(--text, #312818);
    border-radius: 4px;
    line-height: 1;
}

.atlas-header .atlas-toggler:focus {
    outline: 2px solid var(--primary, #593228);
    box-shadow: none;
}

.atlas-header .atlas-toggler-svg {
    display: block;
    color: var(--text, #312818);
}

.atlas-header .atlas-nav-link {
    font-family: var(--font_family_base, 'Blinker', sans-serif);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
    color: var(--text, #312818);
    padding: 8px 14px;
    position: relative;
    transition: color 0.2s ease;
}

.atlas-header .atlas-nav-link:hover,
.atlas-header .atlas-nav-link:focus {
    color: var(--primary, #593228);
}

.atlas-header .atlas-header-btn {
    background-color: var(--primary, #593228);
    color: var(--on-primary, #FFFFFF);
    border: none;
    border-radius: 4px;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1.2;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.atlas-header .atlas-header-btn:hover,
.atlas-header .atlas-header-btn:focus {
    background-color: var(--primary_hover, #40241D);
    color: var(--on-primary, #FFFFFF);
}

@media (max-width: 991.98px) {
    .atlas-header .atlas-collapse {
        background-color: var(--bg, #FAF7F1);
        border-top: 1px solid var(--border, #E4DFD8);
        padding: 16px 0 20px 0;
        margin-top: 8px;
    }

    .atlas-header .atlas-brand-text {
        font-size: 19px;
    }

    .atlas-header .atlas-nav-link {
        padding: 10px 0;
        font-size: 15px;
        border-bottom: 1px solid rgba(228, 223, 216, 0.5);
        display: block;
    }

    .atlas-header .atlas-header-btn {
        width: 100%;
        padding: 12px 20px;
    }
}

.art-hero-section {
    background: var(--hero-bg, linear-gradient(121deg, #381F19 0%, #462720 100%));
    padding-top: 72px;
    padding-bottom: 120px;
    position: relative;
}

.art-hero-section .art-hero-header {
    max-width: 820px;
}

.art-hero-section .art-eyebrow {
    color: var(--accent, #F1BF66);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.art-hero-section .art-hero-title {
    color: var(--on-dark, #FFFFFF);
    font-size: 44px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.02em;
    overflow-wrap: anywhere;
}

.art-hero-section .art-hero-accent-bar {
    width: 48px;
    height: 3px;
    background-color: var(--accent, #F1BF66);
}

.art-hero-section .art-hero-subtitle {
    color: var(--on-dark-muted, #C3BEB6);
    font-size: 18px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.art-hero-section .art-meta-row {
    color: var(--on-dark-muted, #C3BEB6);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.art-hero-section .art-meta-badge {
    background-color: var(--accent, #F1BF66);
    color: var(--on-accent, #111111);
    font-size: 11px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 2px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.art-hero-section .art-meta-divider {
    color: rgba(241, 191, 102, 0.6);
}

.art-panel-section {
    background-color: var(--bg, #FAF7F1);
    padding-bottom: 96px;
    position: relative;
}

.art-panel-section .art-raised-panel {
    margin-top: -72px;
    background-color: var(--surface, #FFFFFF);
    border-radius: 12px;
    border: 1px solid var(--border, #E4DFD8);
    padding: 48px;
    position: relative;
    z-index: 10;
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
}

.art-panel-section .art-panel-brackets {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
}

.art-panel-section .art-bracket {
    position: absolute;
    width: 20px;
    height: 20px;
}

.art-panel-section .art-bracket-tl {
    top: 12px;
    left: 12px;
    border-top: 2px solid var(--accent, #F1BF66);
    border-left: 2px solid var(--accent, #F1BF66);
}

.art-panel-section .art-bracket-br {
    bottom: 12px;
    right: 12px;
    border-bottom: 2px solid var(--accent, #F1BF66);
    border-right: 2px solid var(--accent, #F1BF66);
}

.art-panel-section .art-facts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 36px;
}

.art-panel-section .art-fact-tile {
    background-color: var(--surface-alt, #F3E9E6);
    border-radius: 6px;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    gap: 14px;
}

.art-panel-section .art-fact-icon {
    width: 40px;
    height: 40px;
    border-radius: 4px;
    background-color: var(--primary, #593228);
    color: var(--accent, #F1BF66);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.art-panel-section .art-fact-content {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.art-panel-section .art-fact-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text_muted, #6D6455);
    margin-bottom: 2px;
    overflow-wrap: anywhere;
}

.art-panel-section .art-fact-value {
    font-size: 16px;
    font-weight: 800;
    color: var(--text, #312818);
    letter-spacing: -0.01em;
    overflow-wrap: anywhere;
}

.art-panel-section .art-featured-media-wrapper {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--border, #E4DFD8);
    border-radius: 0;
}

.art-panel-section .art-featured-image {
    aspect-ratio: 16 / 9;
    height: auto;
    object-fit: cover;
    display: block;
}

.art-panel-section .art-media-caption {
    background-color: var(--surface-alt, #F3E9E6);
    padding: 10px 16px;
    font-size: 12px;
    font-weight: 600;
    color: var(--text_muted, #6D6455);
    border-top: 1px solid var(--border, #E4DFD8);
}

.art-panel-section .art-media-tag {
    color: var(--accent_text, #92620D);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 700;
}

.art-panel-section .art-body-flow {
    display: flex;
    flex-direction: column;
    gap: 36px;
}

.art-panel-section .art-heading-2 {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--text, #312818);
    margin-bottom: 0;
    overflow-wrap: anywhere;
}

.art-panel-section .art-accent-term {
    color: var(--accent_text, #92620D);
    font-weight: 800;
}

.art-panel-section .art-heading-accent-bar {
    width: 48px;
    height: 3px;
    background-color: var(--accent, #F1BF66);
    margin-top: 10px;
    margin-bottom: 18px;
}

.art-panel-section .art-paragraph {
    font-size: 16px;
    line-height: 1.65;
    color: var(--text, #312818);
    margin-bottom: 16px;
    overflow-wrap: anywhere;
}

.art-panel-section .art-paragraph-lead {
    font-size: 18px;
    line-height: 1.6;
    color: var(--text, #312818);
}

.art-panel-section .art-inline-cta-box {
    background: var(--section-alt-bg, linear-gradient(177deg, #F3E9E6 0%, #F7F1ED 100%));
    border-left: 4px solid var(--primary, #593228);
    border-radius: 6px;
    padding: 28px 24px;
}

.art-panel-section .art-cta-eyebrow {
    color: var(--accent_text, #92620D);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.art-panel-section .art-cta-title {
    font-size: 20px;
    font-weight: 800;
    color: var(--text, #312818);
    margin-bottom: 8px;
    overflow-wrap: anywhere;
}

.art-panel-section .art-cta-desc {
    font-size: 14px;
    color: var(--text_muted, #6D6455);
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.art-panel-section .art-form-label {
    font-size: 12px;
    font-weight: 700;
    color: var(--text, #312818);
    margin-bottom: 4px;
    display: block;
}

.art-panel-section .art-form-input {
    background-color: var(--surface, #FFFFFF);
    border: 1px solid var(--border, #E4DFD8);
    border-radius: 4px;
    padding: 10px 14px;
    font-size: 14px;
    color: var(--text, #312818);
}

.art-panel-section .art-form-input::placeholder {
    color: var(--text_muted, #6D6455);
    opacity: 0.7;
}

.art-panel-section .art-form-input:focus {
    outline: 2px solid var(--primary, #593228);
    border-color: var(--primary, #593228);
    box-shadow: none;
    color: var(--text, #312818);
}

.art-panel-section .art-form-consent {
    font-size: 12px;
    color: var(--text_muted, #6D6455);
}

.art-panel-section .art-consent-checkbox {
    margin-top: 3px;
    border-color: var(--border, #E4DFD8);
}

.art-panel-section .art-consent-checkbox:checked {
    background-color: var(--primary, #593228);
    border-color: var(--primary, #593228);
}

.art-panel-section .art-consent-label {
    line-height: 1.4;
}

.art-panel-section .art-inline-link {
    color: var(--primary_text, #593228);
    font-weight: 600;
    text-decoration: underline;
}

.art-panel-section .art-cta-submit-btn {
    background-color: var(--primary, #593228);
    color: var(--on-primary, #FFFFFF);
    border: none;
    border-radius: 4px;
    padding: 12px 20px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.art-panel-section .art-cta-submit-btn:hover,
.art-panel-section .art-cta-submit-btn:focus {
    background-color: var(--primary_hover, #40241D);
    color: var(--on-primary, #FFFFFF);
}

.art-panel-section .art-checklist {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.art-panel-section .art-checklist-item {
    position: relative;
    padding-left: 28px;
    font-size: 15px;
    line-height: 1.6;
    color: var(--text, #312818);
    overflow-wrap: anywhere;
}

.art-panel-section .art-checklist-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 7px;
    width: 14px;
    height: 14px;
    background-color: var(--primary, #593228);
    border-radius: 2px;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M5 13l4 4L19 7'/%3E%3C/svg%3E") no-repeat center / contain;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M5 13l4 4L19 7'/%3E%3C/svg%3E") no-repeat center / contain;
}

.art-panel-section .art-blockquote {
    margin: 24px 0 0 0;
    padding: 20px 24px;
    border-left: 3px solid var(--accent, #F1BF66);
    background-color: var(--surface-alt, #F3E9E6);
    border-radius: 0 4px 4px 0;
}

.art-panel-section .art-blockquote-text {
    font-size: 16px;
    font-style: italic;
    color: var(--text, #312818);
    margin-bottom: 8px;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.art-panel-section .art-blockquote-cite {
    font-size: 13px;
    font-weight: 700;
    color: var(--accent_text, #92620D);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    display: block;
}

.art-panel-section .art-author-box {
    padding-top: 24px;
    border-top: 1px solid var(--border, #E4DFD8);
}

.art-panel-section .art-author-card {
    background-color: var(--surface-alt, #F3E9E6);
    border-radius: 8px;
    padding: 24px;
}

.art-panel-section .art-author-avatar-wrap {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background-color: var(--primary, #593228);
    color: var(--accent, #F1BF66);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 800;
}

.art-panel-section .art-author-eyebrow {
    color: var(--accent_text, #92620D);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 2px;
}

.art-panel-section .art-author-name {
    font-size: 18px;
    font-weight: 800;
    color: var(--text, #312818);
    overflow-wrap: anywhere;
}

.art-panel-section .art-author-role {
    font-size: 13px;
    font-weight: 600;
    color: var(--text_muted, #6D6455);
    overflow-wrap: anywhere;
}

.art-panel-section .art-author-bio {
    font-size: 14px;
    line-height: 1.55;
    color: var(--text, #312818);
    overflow-wrap: anywhere;
}

.art-panel-section .art-related-block {
    padding-top: 24px;
    border-top: 1px solid var(--border, #E4DFD8);
}

.art-panel-section .art-related-eyebrow {
    color: var(--accent_text, #92620D);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.art-panel-section .art-related-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.art-panel-section .art-related-link {
    background-color: var(--surface-alt, #F3E9E6);
    padding: 14px 18px;
    border-radius: 4px;
    color: var(--text, #312818);
    text-decoration: none;
    font-size: 15px;
    font-weight: 700;
    transition: background-color 0.2s ease, color 0.2s ease, padding-left 0.2s ease;
}

.art-panel-section .art-related-text {
    overflow-wrap: anywhere;
}

.art-panel-section .art-related-arrow {
    color: var(--primary, #593228);
    transition: transform 0.2s ease, color 0.2s ease;
}

.art-panel-section .art-related-link:hover,
.art-panel-section .art-related-link:focus {
    background-color: var(--primary, #593228);
    color: var(--on-primary, #FFFFFF);
    padding-left: 22px;
}

.art-panel-section .art-related-link:hover .art-related-arrow,
.art-panel-section .art-related-link:focus .art-related-arrow {
    color: var(--accent, #F1BF66);
    transform: translateX(4px);
}

@media (max-width: 767.98px) {
    .art-hero-section {
        padding-top: 40px;
        padding-bottom: 80px;
    }

    .art-hero-section .art-hero-title {
        font-size: 18px !important;
        line-height: 1.25 !important;
        hyphens: auto;
    }

    .art-hero-section .art-hero-subtitle {
        font-size: 14px;
    }

    .art-panel-section .art-raised-panel {
        margin-top: -50px;
        padding: 20px 16px;
        border-radius: 8px;
    }

    .art-panel-section .art-facts-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .art-panel-section .art-heading-2 {
        font-size: 16px !important;
        line-height: 1.3 !important;
        hyphens: auto;
    }

    .art-panel-section .art-cta-title {
        font-size: 14px !important;
        line-height: 1.3 !important;
        hyphens: auto;
    }

    .art-panel-section .art-author-name {
        font-size: 14px !important;
    }

    .art-panel-section .art-inline-cta-box {
        padding: 18px 14px;
    }

    .art-panel-section .art-paragraph {
        font-size: 14px;
    }

    .art-panel-section .art-paragraph-lead {
        font-size: 15px;
    }
}

.sra-footer {
    background: var(--dark-band-bg, linear-gradient(121deg, #381F19 0%, #462720 100%));
    color: var(--on-dark, #FFFFFF);
    padding-top: 80px;
    padding-bottom: 40px;
    border-top: 1px solid rgba(228, 223, 216, 0.15);
    overflow: hidden;
}

.sra-footer__top {
    margin-bottom: 48px;
}

.sra-footer__brand {
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: var(--on-dark, #FFFFFF);
    line-height: 1.2;
    margin-bottom: 12px;
}

.sra-footer__brand-dot {
    color: var(--accent, #F1BF66);
}

.sra-footer__decor-line {
    width: 48px;
    height: 3px;
    background: var(--accent, #F1BF66);
    margin-bottom: 16px;
}

.sra-footer__summary {
    font-size: 14px;
    line-height: 1.6;
    color: var(--on-dark-muted, #C3BEB6);
    margin-bottom: 16px;
    max-width: 340px;
    overflow-wrap: anywhere;
}

.sra-footer__boundary-note {
    font-size: 12px;
    line-height: 1.5;
    color: var(--on-dark-muted, #C3BEB6);
    padding: 12px 14px;
    background: rgba(0, 0, 0, 0.18);
    border-left: 2px solid var(--accent, #F1BF66);
    border-radius: 2px;
    max-width: 340px;
    overflow-wrap: anywhere;
}

.sra-footer__heading {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--on-dark, #FFFFFF);
    margin-bottom: 18px;
    display: inline-block;
    position: relative;
}

.sra-footer__heading::after {
    content: '';
    display: block;
    width: 24px;
    height: 2px;
    background: var(--accent, #F1BF66);
    margin-top: 6px;
}

.sra-footer__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sra-footer__item {
    line-height: 1.4;
}

.sra-footer__link {
    font-size: 14px;
    color: var(--on-dark-muted, #C3BEB6);
    text-decoration: none;
    transition: color 0.2s ease, padding-left 0.2s ease;
    display: inline-block;
    overflow-wrap: anywhere;
}

.sra-footer__link:hover,
.sra-footer__link:focus {
    color: var(--accent, #F1BF66);
    padding-left: 4px;
}

.sra-footer__contact-panel {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.sra-footer__contact-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--on-dark-muted, #C3BEB6);
}

.sra-footer__contact-icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    color: var(--accent, #F1BF66);
    margin-top: 2px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.sra-footer__contact-icon svg {
    width: 100%;
    height: 100%;
}

.sra-footer__contact-text {
    overflow-wrap: anywhere;
    color: var(--on-dark-muted, #C3BEB6);
}

.sra-footer__contact-link {
    color: var(--on-dark-muted, #C3BEB6);
    text-decoration: none;
    overflow-wrap: anywhere;
    transition: color 0.2s ease;
}

.sra-footer__contact-link:hover,
.sra-footer__contact-link:focus {
    color: var(--accent, #F1BF66);
}

.sra-footer__divider {
    width: 100%;
    height: 1px;
    background: rgba(228, 223, 216, 0.15);
    margin-bottom: 28px;
}

.sra-footer__copyright {
    font-size: 13px;
    color: var(--on-dark-muted, #C3BEB6);
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.sra-footer__legal-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
}

.sra-footer__legal-item {
    position: relative;
}

.sra-footer__legal-item:not(:last-child)::after {
    content: '•';
    color: rgba(195, 190, 182, 0.4);
    margin-left: 16px;
}

.sra-footer__legal-link {
    font-size: 13px;
    color: var(--on-dark-muted, #C3BEB6);
    text-decoration: none;
    transition: color 0.2s ease;
    overflow-wrap: anywhere;
}

.sra-footer__legal-link:hover,
.sra-footer__legal-link:focus {
    color: var(--accent, #F1BF66);
}

@media (max-width: 767px) {
    .sra-footer {
        padding-top: 56px;
        padding-bottom: 32px;
    }

    .sra-footer__brand {
        font-size: 20px;
    }

    .sra-footer__summary,
    .sra-footer__boundary-note {
        max-width: 100%;
    }

    .sra-footer__legal-links {
        gap: 12px;
    }

    .sra-footer__legal-item:not(:last-child)::after {
        margin-left: 12px;
    }
}

/* mobile-text-guard */
@media (max-width: 767px) {
  h1, h2, h3, h4, h5, h6, p, li, dt, dd, blockquote, figcaption, td, th, label {
    overflow-wrap: anywhere;
  }
  a, button, .btn {
    overflow-wrap: anywhere;
    white-space: normal;
  }
  img, video, iframe {
    max-width: 100%;
  }
}
