:root {
    --color-primary: #1A1D20;
    --color-primary-hover: #2C3136;
    --color-secondary: #495057;
    --color-accent: #D84315;
    --color-accent-hover: #BF360C;
    --color-accent-subtle: #FBE9E7;
    --color-bg: #F9F8F6;
    --color-bg-secondary: #F2EFEB;
    --color-bg-tertiary: #ECE8E1;
    --color-card-bg: #FFFFFF;
    --text-primary: #1A1D20;
    --text-secondary: #59626A;
    --text-muted: #8C96A0;
    --text-inverse: #FFFFFF;
    --border-color: #DCD7CE;
    --border-subtle: #EBE7DF;
    --border-focus: #D84315;
    --status-fork-a: #2E7D32;
    --status-fork-b: #1565C0;
    --status-fork-c: #E65100;
    --font-family-base: 'Signika', sans-serif;
    --font-family-headings: 'Signika', sans-serif;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body.optionfork-body {
    font-family: var(--font-family-base);
    background-color: var(--color-bg);
    color: var(--text-primary);
    margin: 0;
    padding: 0;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

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

.optionfork-body a {
    color: inherit;
    text-decoration: none;
    transition: color 0.25s ease;
}

.optionfork-body img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ===== header ===== */
.optionfork-nav-header {
    background-color: #F9F8F6;
    border-bottom: 1px solid #DCD7CE;
    position: sticky;
    top: 0;
    z-index: 1030;
    width: 100%;
}

.optionfork-nav-header .navbar {
    padding: 0.75rem 0;
    background-color: #F9F8F6;
}

.optionfork-nav-header .brand-logo-img {
    max-width: 40px;
    max-height: 40px;
    object-fit: contain;
}

.optionfork-nav-header .brand-title {
    font-family: 'Signika', sans-serif;
    font-weight: 700;
    font-size: 1.25rem;
    letter-spacing: 0.04em;
    color: #1A1D20;
    text-transform: uppercase;
}

.optionfork-nav-header .brand-accent {
    color: #D84315;
}

.optionfork-nav-header .brand-sub {
    font-weight: 400;
    color: #495057;
    font-size: 0.95rem;
}

.optionfork-nav-header .navbar-nav .nav-link {
    font-family: 'Signika', sans-serif;
    font-weight: 600;
    font-size: 0.875rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #1A1D20;
    padding: 0.5rem 0.85rem;
    position: relative;
    transition: color 0.25s ease;
}

.optionfork-nav-header .navbar-nav .nav-link:hover,
.optionfork-nav-header .navbar-nav .nav-link:focus {
    color: #D84315;
}

.optionfork-nav-header .navbar-nav .nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0.85rem;
    right: 0.85rem;
    height: 2px;
    background-color: #D84315;
    transform: scaleX(0);
    transition: transform 0.25s ease;
}

.optionfork-nav-header .navbar-nav .nav-link:hover::after,
.optionfork-nav-header .navbar-nav .nav-link:focus::after {
    transform: scaleX(1);
}

.optionfork-nav-header .btn-nav-cta {
    font-family: 'Signika', sans-serif;
    font-weight: 600;
    font-size: 0.875rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background-color: #1A1D20;
    color: #FFFFFF;
    border: 1px solid #1A1D20;
    border-radius: 0;
    padding: 0.55rem 1.25rem;
    transition: all 0.25s linear;
}

.optionfork-nav-header .btn-nav-cta:hover,
.optionfork-nav-header .btn-nav-cta:focus {
    background-color: #D84315;
    color: #FFFFFF;
    border-color: #D84315;
}

.optionfork-nav-header .navbar-toggler {
    box-shadow: none;
    background-color: #F2EFEB;
    border-radius: 0;
}

.optionfork-nav-header .navbar-toggler:focus {
    box-shadow: none;
    outline: 2px solid #D84315;
}

@media (max-width: 991.98px) {
    .optionfork-nav-header .navbar-collapse {
        background-color: #F9F8F6;
        padding: 1rem 0;
        border-top: 1px solid #DCD7CE;
        margin-top: 0.5rem;
    }

    .optionfork-nav-header .navbar-nav .nav-link {
        padding: 0.6rem 0.5rem;
        font-size: 0.85rem;
        border-bottom: 1px solid #EBE7DF;
    }

    .optionfork-nav-header .navbar-nav .nav-link::after {
        display: none;
    }
}

/* ===== hero ===== */
.hero-section {
    background-color: #F9F8F6;
    padding-top: 5rem;
    padding-bottom: 5rem;
    border-bottom: 1px solid #DCD7CE;
    overflow: hidden;
    color: #1A1D20;
    font-family: 'Signika', sans-serif;
}

.hero-section .hero-top-bar {
    border-bottom: 1px solid #DCD7CE;
}

.hero-section .hero-kicker-badge {
    background-color: #1A1D20;
    color: #FFFFFF;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    padding: 0.4rem 0.65rem;
    border-radius: 0px;
}

.hero-section .hero-meta-dot {
    color: #8C96A0;
    font-weight: 700;
}

.hero-section .hero-meta-text {
    color: #59626A;
    font-size: 0.875rem;
    font-weight: 500;
}

.hero-section .hero-meta-label {
    color: #8C96A0;
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.hero-section .hero-meta-value {
    color: #1A1D20;
    font-size: 0.875rem;
    font-weight: 600;
}

.hero-section .hero-title {
    font-size: clamp(2.2rem, 4.5vw, 3.75rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #1A1D20;
    overflow-wrap: anywhere;
}

.hero-section .hero-accent-text {
    color: #D84315;
}

.hero-section .hero-lead {
    font-size: 1.15rem;
    line-height: 1.65;
    color: #59626A;
    max-width: 640px;
    overflow-wrap: anywhere;
}

.hero-section .hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.85rem 1.75rem;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-decoration: none;
    border-radius: 0px;
    border: 1px solid transparent;
    transition: background-color 0.25s linear, color 0.25s linear, border-color 0.25s linear;
    min-height: 48px;
}

.hero-section .hero-btn-primary {
    background-color: #1A1D20;
    color: #FFFFFF;
    border-color: #1A1D20;
}

.hero-section .hero-btn-primary:hover,
.hero-section .hero-btn-primary:focus {
    background-color: #D84315;
    color: #FFFFFF;
    border-color: #D84315;
}

.hero-section .hero-btn-outline {
    background-color: transparent;
    color: #1A1D20;
    border-color: #1A1D20;
}

.hero-section .hero-btn-outline:hover,
.hero-section .hero-btn-outline:focus {
    background-color: #1A1D20;
    color: #FFFFFF;
    border-color: #1A1D20;
}

.hero-section .hero-btn-accent {
    background-color: #D84315;
    color: #FFFFFF;
    border-color: #D84315;
}

.hero-section .hero-btn-accent:hover,
.hero-section .hero-btn-accent:focus {
    background-color: #1A1D20;
    color: #FFFFFF;
    border-color: #1A1D20;
}

.hero-section .hero-aside-card {
    background-color: #F2EFEB;
    border: 1px solid #DCD7CE;
    border-radius: 0px;
}

.hero-section .hero-card-tag {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #59626A;
}

.hero-section .hero-status-pill {
    font-size: 0.75rem;
    font-weight: 600;
    color: #1A1D20;
    background-color: #ECE8E1;
    padding: 0.2rem 0.5rem;
    border-radius: 0px;
}

.hero-section .hero-step-num {
    font-size: 0.85rem;
    font-weight: 700;
    color: #D84315;
    background-color: #FBE9E7;
    padding: 0.25rem 0.45rem;
    line-height: 1;
}

.hero-section .hero-step-title {
    font-size: 0.95rem;
    font-weight: 600;
    color: #1A1D20;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.hero-section .hero-step-desc {
    font-size: 0.8125rem;
    color: #59626A;
    line-height: 1.45;
}

.hero-section .hero-featured-wrapper {
    border: 1px solid #DCD7CE;
    background-color: #FFFFFF;
}

.hero-section .hero-overlap-panel {
    background-color: #FFFFFF;
}

.hero-section .hero-mini-badge {
    background-color: #FBE9E7;
    color: #D84315;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding: 0.25rem 0.5rem;
    border-radius: 0px;
}

.hero-section .hero-featured-heading {
    font-size: clamp(1.3rem, 2.2vw, 1.75rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1.25;
    color: #1A1D20;
}

.hero-section .hero-featured-link {
    color: #1A1D20;
    text-decoration: none;
    position: relative;
    transition: color 0.2s linear;
}

.hero-section .hero-featured-link:hover {
    color: #D84315;
}

.hero-section .hero-featured-summary {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #59626A;
}

.hero-section .hero-metrics-grid {
    border-top: 1px solid #DCD7CE;
}

.hero-section .hero-metric-val {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1A1D20;
    line-height: 1.2;
}

.hero-section .hero-metric-lbl {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #8C96A0;
    letter-spacing: 0.05em;
}

.hero-section .hero-image-container {
    min-height: 280px;
    background-color: #F2EFEB;
    overflow: hidden;
}

.hero-section .hero-main-img {
    width: 100%;
    height: 100%;
    min-height: 280px;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease, filter 0.35s ease;
}

.hero-section .hero-image-container:hover .hero-main-img {
    transform: scale(1.02);
    filter: brightness(0.96);
}

.hero-section .hero-floating-badge {
    position: absolute;
    bottom: 1rem;
    left: 1rem;
    right: 1rem;
    background-color: rgba(26, 29, 32, 0.9);
    color: #FFFFFF;
    padding: 0.5rem 0.75rem;
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    backdrop-filter: blur(4px);
    border-left: 3px solid #D84315;
}

.hero-section .hero-inquiry-bar {
    background-color: #F2EFEB;
    border: 1px solid #DCD7CE;
}

.hero-section .hero-inquiry-title {
    font-size: 1.1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #1A1D20;
}

.hero-section .hero-inquiry-sub {
    font-size: 0.875rem;
    color: #59626A;
}

.hero-section .hero-input {
    background-color: #FFFFFF;
    color: #1A1D20;
    border: 1px solid #DCD7CE;
    border-radius: 0px;
    padding: 0.75rem 1rem;
    font-size: 0.9rem;
    min-height: 48px;
}

.hero-section .hero-input:focus {
    background-color: #FFFFFF;
    color: #1A1D20;
    border-color: #D84315;
    box-shadow: none;
}

.hero-section .hero-input::placeholder {
    color: #8C96A0;
    opacity: 1;
}

@media (max-width: 991px) {
    .hero-section .hero-featured-wrapper {
        display: flex;
        flex-direction: column;
    }

    .hero-section .hero-image-container {
        min-height: 240px;
    }
}

@media (max-width: 767px) {
    .hero-section {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .hero-section .hero-title {
        font-size: 1.125rem;
    }

    .hero-section .hero-step-title {
        font-size: 0.875rem;
    }

    .hero-section .hero-featured-heading {
        font-size: 1rem;
    }

    .hero-section .hero-inquiry-title {
        font-size: 0.95rem;
    }

    .hero-section .hero-btn {
        width: 100%;
    }

    .hero-section .hero-top-bar {
        flex-direction: column;
        align-items: flex-start !important;
    }
}

/* ===== stats ===== */
.of-stats-section {
    background-color: #F2EFEB;
    border-top: 1px solid #DCD7CE;
    border-bottom: 1px solid #DCD7CE;
    font-family: 'Signika', sans-serif;
}

.of-stats-section .text-accent {
    color: #D84315;
}

.of-stats-section .of-stats-eyebrow {
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #1A1D20;
}

.of-stats-section .of-stats-heading {
    color: #1A1D20;
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.of-stats-section .of-stats-lead {
    color: #495057;
    font-size: 1.05rem;
    line-height: 1.6;
}

.of-stats-section .of-stat-card {
    background-color: #FFFFFF;
    border: 1px solid #DCD7CE;
    border-radius: 0px;
    transition: border-color 0.25s ease, background-color 0.25s ease;
    min-height: 250px;
}

.of-stats-section .of-stat-card:hover {
    border-color: #D84315;
    background-color: #FAFAFA;
}

.of-stats-section .of-stat-index {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    color: #8C96A0;
    text-transform: uppercase;
}

.of-stats-section .of-stat-icon {
    font-size: 1.25rem;
    color: #D84315;
}

.of-stats-section .of-stat-number-wrap {
    display: flex;
    align-items: baseline;
    gap: 2px;
    line-height: 1;
}

.of-stats-section .of-stat-value {
    font-size: clamp(2.25rem, 4.5vw, 3.25rem);
    font-weight: 700;
    color: #1A1D20;
    line-height: 1;
    letter-spacing: -0.02em;
}

.of-stats-section .of-stat-suffix {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
    color: #D84315;
    line-height: 1;
}

.of-stats-section .of-stat-title {
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #1A1D20;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.of-stats-section .of-stat-desc {
    font-size: 0.875rem;
    color: #59626A;
    line-height: 1.5;
}

@media (max-width: 767px) {
    .of-stats-section .of-stats-heading {
        font-size: 1.35rem;
        hyphens: auto;
    }

    .of-stats-section .of-stat-title {
        font-size: 0.9375rem;
        hyphens: auto;
    }

    .of-stats-section .of-stat-card {
        min-height: auto;
    }
}

/* ===== mistakes ===== */
.optionfork-mistakes-block {
    background-color: #F9F8F6;
    color: #1A1D20;
    font-family: 'Signika', sans-serif;
}

.optionfork-mistakes-block .optionfork-tag {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #1A1D20;
}

.optionfork-mistakes-block .optionfork-title {
    font-size: clamp(1.8rem, 3.2vw, 2.5rem);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #1A1D20;
}

.optionfork-mistakes-block .text-accent {
    color: #D84315;
}

.optionfork-mistakes-block .optionfork-lead {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #59626A;
    max-width: 820px;
}

.optionfork-mistakes-block .optionfork-btn-filter {
    background-color: #FFFFFF;
    color: #1A1D20;
    border: 1px solid #DCD7CE;
    border-radius: 0px;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    padding: 0.5rem 1rem;
    text-transform: uppercase;
    transition: all 0.25s ease-in-out;
}

.optionfork-mistakes-block .optionfork-btn-filter:hover,
.optionfork-mistakes-block .optionfork-btn-filter.active {
    background-color: #1A1D20;
    color: #FFFFFF;
    border-color: #1A1D20;
}

.optionfork-mistakes-block .optionfork-card {
    background-color: #FFFFFF;
    border: 1px solid #DCD7CE;
    border-radius: 0px;
    transition: border-color 0.25s ease;
}

.optionfork-mistakes-block .optionfork-card:hover {
    border-color: #D84315;
}

.optionfork-mistakes-block .optionfork-code {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #8C96A0;
}

.optionfork-mistakes-block .optionfork-card-title {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.35;
    color: #1A1D20;
}

.optionfork-mistakes-block .optionfork-card-text {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #59626A;
}

.optionfork-mistakes-block .optionfork-impact {
    background-color: #F2EFEB;
    border-left: 3px solid #D84315;
}

.optionfork-mistakes-block .optionfork-impact-label {
    font-size: 0.8rem;
    color: #59626A;
    font-weight: 500;
}

.optionfork-mistakes-block .optionfork-impact-val {
    font-size: 0.85rem;
    font-weight: 700;
}

.optionfork-mistakes-block .optionfork-featured-box {
    background-color: #F2EFEB;
    border: 1px solid #DCD7CE;
}

.optionfork-mistakes-block .optionfork-badge-pill {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 0.25rem 0.75rem;
    background-color: #1A1D20;
    color: #FFFFFF;
}

.optionfork-mistakes-block .optionfork-featured-title {
    font-size: clamp(1.4rem, 2.2vw, 1.85rem);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #1A1D20;
}

.optionfork-mistakes-block .optionfork-title-link {
    color: #1A1D20;
    text-decoration: none;
    position: relative;
    transition: color 0.25s ease;
}

.optionfork-mistakes-block .optionfork-title-link:hover {
    color: #D84315;
}

.optionfork-mistakes-block .optionfork-btn-solid {
    background-color: #1A1D20;
    color: #FFFFFF;
    border: 1px solid #1A1D20;
    border-radius: 0px;
    padding: 0.65rem 1.4rem;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: all 0.25s ease;
}

.optionfork-mistakes-block .optionfork-btn-solid:hover {
    background-color: #D84315;
    color: #FFFFFF;
    border-color: #D84315;
}

.optionfork-mistakes-block .optionfork-btn-outline {
    background-color: transparent;
    color: #1A1D20;
    border: 1px solid #1A1D20;
    border-radius: 0px;
    padding: 0.65rem 1.4rem;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: all 0.25s ease;
}

.optionfork-mistakes-block .optionfork-btn-outline:hover {
    background-color: #1A1D20;
    color: #FFFFFF;
}

.optionfork-mistakes-block .optionfork-image-wrapper {
    background-color: #FFFFFF;
    position: relative;
}

.optionfork-mistakes-block .optionfork-method-img {
    height: 280px;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.optionfork-mistakes-block .optionfork-method-img:hover {
    transform: scale(1.02);
}

.optionfork-mistakes-block .optionfork-img-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(26, 29, 32, 0.85) 100%);
}

@media (max-width: 767px) {
    .optionfork-mistakes-block .optionfork-title {
        font-size: 16px;
        hyphens: auto;
    }

    .optionfork-mistakes-block .optionfork-card-title {
        font-size: 14px;
        hyphens: auto;
    }

    .optionfork-mistakes-block .optionfork-featured-title {
        font-size: 14px;
        hyphens: auto;
    }

    .optionfork-mistakes-block .optionfork-lead {
        font-size: 0.9rem;
    }

    .optionfork-mistakes-block .optionfork-btn-solid,
    .optionfork-mistakes-block .optionfork-btn-outline {
        width: 100%;
        text-align: center;
    }

    .optionfork-mistakes-block .optionfork-method-img {
        height: 200px;
    }
}

/* ===== interactive-problems ===== */
.interactive-problems-section {
    background-color: #F9F8F6;
    border-top: 1px solid #DCD7CE;
    border-bottom: 1px solid #DCD7CE;
    font-family: 'Signika', sans-serif;
    position: relative;
}

.interactive-problems-section .problem-marker-bracket {
    color: #D84315;
    font-weight: 700;
    font-size: 0.9rem;
}

.interactive-problems-section .problem-meta-badge {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    color: #1A1D20;
}

.interactive-problems-section .problem-section-title {
    font-size: clamp(1.75rem, 3.2vw, 2.4rem);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.05em;
    color: #1A1D20;
    text-transform: uppercase;
}

.interactive-problems-section .problem-section-title .title-accent {
    color: #D84315;
}

.interactive-problems-section .problem-section-lead {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #59626A;
    max-width: 850px;
}

.interactive-problems-section .problem-tab-btn {
    background-color: #FFFFFF;
    border: 1px solid #DCD7CE;
    border-radius: 0;
    padding: 1.25rem 1rem;
    transition: all 0.25s linear;
    cursor: pointer;
    height: 100%;
}

.interactive-problems-section .problem-tab-btn:hover {
    border-color: #1A1D20;
    background-color: #F2EFEB;
}

.interactive-problems-section .problem-tab-btn.active {
    background-color: #1A1D20;
    border-color: #1A1D20;
}

.interactive-problems-section .problem-tab-icon {
    font-size: 1.5rem;
    color: #D84315;
}

.interactive-problems-section .problem-tab-btn.active .problem-tab-icon {
    color: #FFFFFF;
}

.interactive-problems-section .problem-tab-num {
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #8C96A0;
}

.interactive-problems-section .problem-tab-btn.active .problem-tab-num {
    color: #FBE9E7;
}

.interactive-problems-section .problem-tab-title {
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: #1A1D20;
    text-transform: uppercase;
}

.interactive-problems-section .problem-tab-btn.active .problem-tab-title {
    color: #FFFFFF;
}

.interactive-problems-section .problem-tab-desc {
    font-size: 0.825rem;
    line-height: 1.45;
    color: #59626A;
}

.interactive-problems-section .problem-tab-btn.active .problem-tab-desc {
    color: #ECE8E1;
}

.interactive-problems-section .problem-card {
    background-color: #FFFFFF;
    border: 1px solid #DCD7CE;
    border-radius: 0;
}

.interactive-problems-section .problem-card-baseline {
    background-color: #F2EFEB;
}

.interactive-problems-section .badge-tag-mono {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #1A1D20;
    background-color: #ECE8E1;
    padding: 0.3rem 0.6rem;
    border: 1px solid #DCD7CE;
    display: inline-block;
}

.interactive-problems-section .problem-card-heading {
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: #1A1D20;
    text-transform: uppercase;
}

.interactive-problems-section .problem-card-text {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #59626A;
}

.interactive-problems-section .insight-label {
    font-size: 0.725rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #1A1D20;
}

.interactive-problems-section .insight-value {
    font-size: 0.875rem;
    line-height: 1.5;
    color: #495057;
}

.interactive-problems-section .fork-branch-box {
    border: 1px solid #DCD7CE;
    background-color: #FAF9F7;
    border-top: 3px solid #1A1D20;
}

.interactive-problems-section .fork-branch-box.branch-a {
    border-top-color: #2E7D32;
}

.interactive-problems-section .fork-branch-box.branch-b {
    border-top-color: #1565C0;
}

.interactive-problems-section .fork-branch-box.branch-c {
    border-top-color: #E65100;
}

.interactive-problems-section .branch-code {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #546E7A;
}

.interactive-problems-section .branch-title {
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: #1A1D20;
    text-transform: uppercase;
}

.interactive-problems-section .branch-desc {
    font-size: 0.825rem;
    line-height: 1.5;
    color: #59626A;
}

.interactive-problems-section .convergence-box {
    background-color: #ECE8E1;
    border: 1px solid #DCD7CE;
}

.interactive-problems-section .convergence-heading {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #D84315;
}

.interactive-problems-section .convergence-status {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    background-color: #FFFFFF;
    color: #1A1D20;
    padding: 0.15rem 0.5rem;
    border: 1px solid #DCD7CE;
}

.interactive-problems-section .convergence-text {
    font-size: 0.9rem;
    line-height: 1.5;
    color: #1A1D20;
    font-weight: 500;
}

.interactive-problems-section .problem-objection-banner {
    background-color: #1A1D20;
    border: 1px solid #1A1D20;
    color: #FFFFFF;
}

.interactive-problems-section .objection-title {
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: #FFFFFF;
    text-transform: uppercase;
}

.interactive-problems-section .objection-title i {
    color: #D84315;
}

.interactive-problems-section .objection-text {
    font-size: 0.9rem;
    line-height: 1.55;
    color: #E0E0E0;
}

.interactive-problems-section .editorial-btn-outline {
    background-color: transparent;
    color: #FFFFFF;
    border: 1px solid #FFFFFF;
    padding: 0.65rem 1.25rem;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.25s linear;
}

.interactive-problems-section .editorial-btn-outline:hover {
    background-color: #D84315;
    border-color: #D84315;
    color: #FFFFFF;
}

@media (max-width: 767px) {
    .interactive-problems-section .problem-section-title {
        font-size: 1.35rem;
    }

    .interactive-problems-section .problem-card-heading {
        font-size: 1.1rem;
    }

    .interactive-problems-section .objection-title {
        font-size: 0.95rem;
    }

    .interactive-problems-section .editorial-btn-outline {
        width: 100%;
        justify-content: center;
    }
}

/* ===== featured-case ===== */
.featured-case-block {
    background-color: #F9F8F6;
    color: #1A1D20;
    border-top: 1px solid #DCD7CE;
    border-bottom: 1px solid #DCD7CE;
    font-family: 'Signika', sans-serif;
    overflow: hidden;
}

.featured-case-block__tag {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #D84315;
    background-color: #FBE9E7;
    padding: 4px 10px;
    border: 1px solid #D84315;
}

.featured-case-block__serial {
    font-size: 0.75rem;
    font-weight: 600;
    color: #59626A;
    letter-spacing: 0.08em;
}

.featured-case-block__title {
    font-size: clamp(1.6rem, 3.2vw, 2.3rem);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.05em;
    color: #1A1D20;
    text-transform: uppercase;
    hyphens: auto;
    overflow-wrap: anywhere;
}

.featured-case-block__accent {
    color: #D84315;
}

.featured-case-block__lead {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #495057;
    max-width: 960px;
}

.featured-case-block__constraint-card {
    background-color: #F2EFEB;
    border: 1px solid #DCD7CE;
    border-left: 4px solid #1A1D20;
    padding: 1.25rem 1.5rem;
}

.featured-case-block__alert-icon {
    font-size: 1.1rem;
    color: #D84315;
}

.featured-case-block__label {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #1A1D20;
    text-transform: uppercase;
}

.featured-case-block__constraint-text {
    font-size: 1rem;
    font-weight: 500;
    color: #1A1D20;
    line-height: 1.5;
    font-style: italic;
}

.featured-case-block__scope-badge {
    font-size: 0.8rem;
    font-weight: 600;
    color: #495057;
    background-color: #ECE8E1;
    padding: 6px 12px;
    border: 1px solid #DCD7CE;
}

.featured-case-block__tab-btn {
    width: 100%;
    text-align: left;
    background-color: #FFFFFF;
    border: 1px solid #DCD7CE;
    padding: 1rem;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
    border-radius: 0;
}

.featured-case-block__tab-btn:hover {
    border-color: #1A1D20;
    background-color: #FAFAFA;
}

.featured-case-block__tab-btn.active {
    background-color: #1A1D20;
    border-color: #1A1D20;
    color: #FFFFFF;
}

.featured-case-block__tab-badge {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding: 2px 8px;
    border-radius: 0;
    color: #FFFFFF;
}

.featured-case-block__tab-badge.tag-a {
    background-color: #2E7D32;
}

.featured-case-block__tab-badge.tag-b {
    background-color: #1565C0;
}

.featured-case-block__tab-badge.tag-c {
    background-color: #E65100;
}

.featured-case-block__tab-heading {
    font-size: 1rem;
    font-weight: 600;
    color: #1A1D20;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.featured-case-block__tab-btn.active .featured-case-block__tab-heading {
    color: #FFFFFF;
}

.featured-case-block__tab-sub {
    font-size: 0.8rem;
    color: #59626A;
}

.featured-case-block__tab-btn.active .featured-case-block__tab-sub {
    color: #E0E0E0;
}

.featured-case-block__pane {
    display: none;
}

.featured-case-block__pane.active {
    display: block;
}

.featured-case-block__step-card {
    background-color: #FFFFFF;
    border: 1px solid #DCD7CE;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.featured-case-block__step-card.step-learning {
    border-top: 3px solid #546E7A;
}

.featured-case-block__step-card.step-convergence {
    border-top: 3px solid #D84315;
    background-color: #FFFAF8;
}

.featured-case-block__step-header {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.featured-case-block__step-num {
    font-size: 1.25rem;
    font-weight: 700;
    color: #D84315;
    letter-spacing: 0.05em;
}

.featured-case-block__step-title {
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #1A1D20;
    margin-bottom: 0;
}

.featured-case-block__step-desc {
    font-size: 0.925rem;
    line-height: 1.6;
    color: #495057;
    margin-bottom: 1.25rem;
}

.featured-case-block__metric-tag {
    font-size: 0.8rem;
    font-weight: 600;
    color: #1A1D20;
    background-color: #F2EFEB;
    border: 1px solid #DCD7CE;
    padding: 6px 10px;
    align-self: flex-start;
}

.featured-case-block__metric-tag.warning {
    color: #B71C1C;
    background-color: #FFEBEE;
    border-color: #FFCDD2;
}

.featured-case-block__metric-tag.convergence {
    color: #BF360C;
    background-color: #FBE9E7;
    border-color: #FFCCBC;
}

.featured-case-block__outcome-box {
    background-color: #1A1D20;
    color: #FFFFFF;
    border: 1px solid #1A1D20;
    padding: 1.75rem 2rem;
}

.featured-case-block__badge-conclusion {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #FFFFFF;
    background-color: #D84315;
    padding: 4px 10px;
}

.featured-case-block__outcome-title {
    font-size: clamp(1.2rem, 2.2vw, 1.55rem);
    font-weight: 600;
    color: #FFFFFF;
    letter-spacing: 0.04em;
}

.featured-case-block__outcome-desc {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #E0E0E0;
}

.featured-case-block__action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #D84315;
    color: #FFFFFF;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 0.85rem 1.75rem;
    border: 1px solid #D84315;
    text-decoration: none;
    transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

.featured-case-block__action-btn:hover {
    background-color: #FFFFFF;
    color: #1A1D20;
    border-color: #FFFFFF;
}

@media (max-width: 767px) {
    .featured-case-block__title {
        font-size: 16px;
    }

    .featured-case-block__step-title {
        font-size: 14px;
    }

    .featured-case-block__outcome-title {
        font-size: 15px;
    }

    .featured-case-block__step-card {
        margin-bottom: 0.5rem;
    }

    .featured-case-block__outcome-box {
        padding: 1.25rem 1rem;
    }

    .featured-case-block__action-btn {
        width: 100%;
        margin-top: 1rem;
    }
}

/* ===== starting-constraints ===== */
.starting-constraints-block {
    background-color: #F9F8F6;
    color: #1A1D20;
    font-family: 'Signika', sans-serif;
    position: relative;
    border-top: 1px solid #DCD7CE;
    border-bottom: 1px solid #DCD7CE;
}

.starting-constraints-block .text-accent {
    color: #D84315;
}

.starting-constraints-block__badge {
    background: #ECE8E1;
    border: 1px solid #DCD7CE;
    padding: 4px 12px;
}

.starting-constraints-block__badge-dot {
    width: 8px;
    height: 8px;
    background-color: #D84315;
    display: inline-block;
}

.starting-constraints-block__badge-text {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    color: #1A1D20;
}

.starting-constraints-block__heading {
    font-size: clamp(1.8rem, 3.5vw, 2.5rem);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #1A1D20;
}

.starting-constraints-block__lead {
    font-size: 1.05rem;
    line-height: 1.65;
    color: #59626A;
}

.starting-constraints-block__meta-box {
    background: #FFFFFF;
    border: 1px solid #DCD7CE;
    text-align: left;
}

.starting-constraints-block__meta-label {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    color: #8C96A0;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.starting-constraints-block__meta-val {
    font-size: 0.95rem;
    font-weight: 500;
    color: #1A1D20;
}

.starting-constraints-block__nav-btn {
    background: #FFFFFF;
    border: 1px solid #DCD7CE;
    padding: 16px 20px;
    border-radius: 0;
    transition: all 0.25s ease;
    width: 100%;
    cursor: pointer;
}

.starting-constraints-block__nav-btn:hover {
    border-color: #1A1D20;
    background-color: #F2EFEB;
}

.starting-constraints-block__nav-btn.active {
    background-color: #1A1D20;
    border-color: #1A1D20;
}

.starting-constraints-block__nav-tag {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: #8C96A0;
}

.starting-constraints-block__nav-btn.active .starting-constraints-block__nav-tag {
    color: #D84315;
}

.starting-constraints-block__nav-icon {
    color: #8C96A0;
    font-size: 1rem;
    transition: transform 0.2s ease;
}

.starting-constraints-block__nav-btn.active .starting-constraints-block__nav-icon {
    color: #FFFFFF;
    transform: translateX(4px);
}

.starting-constraints-block__nav-title {
    font-size: 1.05rem;
    font-weight: 600;
    color: #1A1D20;
    line-height: 1.35;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.starting-constraints-block__nav-btn.active .starting-constraints-block__nav-title {
    color: #FFFFFF;
}

.starting-constraints-block__nav-desc {
    font-size: 0.85rem;
    color: #59626A;
    line-height: 1.4;
}

.starting-constraints-block__nav-btn.active .starting-constraints-block__nav-desc {
    color: #E0E0E0;
}

.starting-constraints-block__display {
    background: #FFFFFF;
    border: 1px solid #DCD7CE;
    min-height: 100%;
}

.starting-constraints-block__panel {
    display: none;
}

.starting-constraints-block__panel.active {
    display: block;
}

.starting-constraints-block__panel-badge {
    background: #FBE9E7;
    color: #D84315;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    padding: 4px 10px;
    border: 1px solid rgba(216, 67, 21, 0.2);
}

.starting-constraints-block__panel-code {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: #59626A;
}

.starting-constraints-block__panel-title {
    font-size: clamp(1.25rem, 2vw, 1.55rem);
    font-weight: 600;
    color: #1A1D20;
    letter-spacing: 0.04em;
}

.starting-constraints-block__panel-text {
    font-size: 0.95rem;
    line-height: 1.65;
    color: #495057;
}

.starting-constraints-block__metric-card {
    background: #F9F8F6;
    border: 1px solid #DCD7CE;
    border-left: 3px solid #D84315;
}

.starting-constraints-block__metric-num {
    font-size: 1.4rem;
    font-weight: 700;
    color: #1A1D20;
    line-height: 1.1;
    display: block;
    margin-bottom: 4px;
}

.starting-constraints-block__metric-label {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: #59626A;
    text-transform: uppercase;
}

.starting-constraints-block__learning-callout {
    background: #F2EFEB;
    border: 1px dashed #DCD7CE;
}

.starting-constraints-block__callout-icon {
    color: #D84315;
    font-size: 1.25rem;
    line-height: 1;
}

.starting-constraints-block__callout-title {
    font-size: 0.85rem;
    font-weight: 700;
    color: #1A1D20;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.starting-constraints-block__callout-body {
    font-size: 0.9rem;
    color: #495057;
    line-height: 1.5;
}

.starting-constraints-block__featured {
    background: #F2EFEB;
    border: 1px solid #DCD7CE;
}

.starting-constraints-block__featured-img-wrap {
    border: 1px solid #DCD7CE;
    background: #FFFFFF;
}

.starting-constraints-block__img {
    height: 280px;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease, filter 0.3s ease;
}

.starting-constraints-block__img-link:hover .starting-constraints-block__img {
    filter: brightness(0.96);
    transform: scale(1.02);
}

.starting-constraints-block__featured-pill {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #1A1D20;
    color: #FFFFFF;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    padding: 4px 10px;
}

.starting-constraints-block__meta-item {
    font-size: 0.8rem;
    font-weight: 500;
    color: #59626A;
}

.starting-constraints-block__meta-divider {
    color: #8C96A0;
}

.starting-constraints-block__featured-title {
    font-size: clamp(1.3rem, 2.2vw, 1.7rem);
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.starting-constraints-block__featured-link {
    color: #1A1D20;
    text-decoration: none;
    background-image: linear-gradient(#D84315, #D84315);
    background-position: 0% 100%;
    background-repeat: no-repeat;
    background-size: 0% 2px;
    transition: background-size 0.3s ease, color 0.25s ease;
}

.starting-constraints-block__featured-link:hover {
    color: #D84315;
    background-size: 100% 2px;
}

.starting-constraints-block__featured-text {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #495057;
}

.starting-constraints-block__btn-action {
    background-color: #D84315;
    color: #FFFFFF;
    border: 1px solid #D84315;
    padding: 10px 24px;
    border-radius: 0;
    font-weight: 600;
    font-size: 0.875rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    transition: all 0.25s ease;
}

.starting-constraints-block__btn-action:hover {
    background-color: #B8370F;
    border-color: #B8370F;
    color: #FFFFFF;
}

.starting-constraints-block__btn-secondary {
    background-color: transparent;
    color: #1A1D20;
    border: 1px solid #1A1D20;
    padding: 10px 20px;
    border-radius: 0;
    font-weight: 600;
    font-size: 0.875rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    transition: all 0.25s ease;
}

.starting-constraints-block__btn-secondary:hover {
    background-color: #1A1D20;
    color: #FFFFFF;
}

@media (max-width: 767px) {
    .starting-constraints-block__heading {
        font-size: 16px;
        hyphens: auto;
        overflow-wrap: anywhere;
    }

    .starting-constraints-block__featured-title {
        font-size: 14px;
        hyphens: auto;
        overflow-wrap: anywhere;
    }

    .starting-constraints-block__panel-title {
        font-size: 14px;
        hyphens: auto;
        overflow-wrap: anywhere;
    }

    .starting-constraints-block__img {
        height: 200px;
    }

    .starting-constraints-block__btn-action,
    .starting-constraints-block__btn-secondary {
        width: 100%;
        text-align: center;
    }
}

/* ===== parallel-concepts ===== */
.parallel-concepts-section {
    background-color: #F9F8F6;
    color: #1A1D20;
    font-family: 'Signika', sans-serif;
    overflow-x: hidden;
}

.parallel-concepts-section .parallel-concepts-label {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #D84315;
}

.parallel-concepts-section .parallel-concepts-heading {
    font-size: clamp(1.75rem, 3.2vw, 2.5rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #1A1D20;
    overflow-wrap: anywhere;
}

.parallel-concepts-section .parallel-concepts-link-btn {
    color: #1A1D20;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 2px solid #D84315;
    padding-bottom: 4px;
    transition: color 0.25s ease, border-color 0.25s ease;
}

.parallel-concepts-section .parallel-concepts-link-btn:hover {
    color: #D84315;
}

.parallel-concepts-section .parallel-concepts-controller {
    background-color: #FFFFFF;
    border: 1px solid #DCD7CE;
}

.parallel-concepts-section .parallel-concepts-tag {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #546E7A;
}

.parallel-concepts-section .parallel-concepts-subheading {
    font-size: clamp(1.15rem, 1.8vw, 1.4rem);
    font-weight: 600;
    color: #1A1D20;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.parallel-concepts-section .parallel-concepts-tab-btn {
    border: 1px solid #DCD7CE;
    background-color: #F2EFEB;
    color: #1A1D20;
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 10px 18px;
    border-radius: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    transition: all 0.25s ease;
}

.parallel-concepts-section .parallel-concepts-tab-btn .badge-dot {
    flex-shrink: 0;
    margin-right: 10px;
}

.parallel-concepts-section .parallel-concepts-tab-btn:hover {
    background-color: #ECE8E1;
    color: #1A1D20;
}

.parallel-concepts-section .parallel-concepts-tab-btn.active {
    background-color: #1A1D20;
    color: #FFFFFF;
    border-color: #1A1D20;
}

.parallel-concepts-section .badge-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}

.parallel-concepts-section .badge-dot-a {
    background-color: #2E7D32;
}

.parallel-concepts-section .badge-dot-b {
    background-color: #1565C0;
}

.parallel-concepts-section .badge-dot-c {
    background-color: #E65100;
}

.parallel-concepts-section .parallel-concepts-content-pane {
    display: none;
}

.parallel-concepts-section .parallel-concepts-content-pane.active {
    display: block;
}

.parallel-concepts-section .parallel-concepts-step-box {
    background-color: #F9F8F6;
    border: 1px solid #EBE7DF;
    position: relative;
}

.parallel-concepts-section .parallel-concepts-step-box.highlight-box {
    background-color: #FBE9E7;
    border-color: #D84315;
}

.parallel-concepts-section .parallel-concepts-step-num {
    font-size: 0.75rem;
    font-weight: 700;
    color: #D84315;
    letter-spacing: 0.1em;
    margin-bottom: 6px;
}

.parallel-concepts-section .parallel-concepts-step-title {
    font-size: 0.9375rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #1A1D20;
    margin-bottom: 8px;
}

.parallel-concepts-section .parallel-concepts-step-text {
    font-size: 0.875rem;
    line-height: 1.55;
    color: #495057;
    overflow-wrap: anywhere;
}

.parallel-concepts-section .parallel-concepts-case-card {
    background-color: #FFFFFF;
    border: 1px solid #DCD7CE;
}

.parallel-concepts-section .parallel-concepts-img-wrapper {
    height: 260px;
    overflow: hidden;
    border: 1px solid #DCD7CE;
}

.parallel-concepts-section .parallel-concepts-case-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.parallel-concepts-section .parallel-concepts-img-wrapper:hover .parallel-concepts-case-img {
    transform: scale(1.02);
}

.parallel-concepts-section .parallel-concepts-badge {
    background-color: #D84315;
    color: #FFFFFF;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 4px 8px;
}

.parallel-concepts-section .parallel-concepts-meta-item {
    font-size: 0.8125rem;
    color: #59626A;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.parallel-concepts-section .parallel-concepts-case-title {
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.parallel-concepts-section .parallel-concepts-case-link {
    color: #1A1D20;
    transition: color 0.2s ease;
}

.parallel-concepts-section .parallel-concepts-case-link:hover {
    color: #D84315;
}

.parallel-concepts-section .parallel-concepts-case-excerpt {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #495057;
    overflow-wrap: anywhere;
}

.parallel-concepts-section .parallel-concepts-action-btn {
    background-color: #1A1D20;
    color: #FFFFFF;
    border: 1px solid #1A1D20;
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 10px 20px;
    text-decoration: none;
    min-height: 42px;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.parallel-concepts-section .parallel-concepts-action-btn:hover {
    background-color: #D84315;
    border-color: #D84315;
    color: #FFFFFF;
}

.parallel-concepts-section .parallel-concepts-secondary-btn {
    background-color: transparent;
    color: #1A1D20;
    border: 1px solid #1A1D20;
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 10px 20px;
    text-decoration: none;
    min-height: 42px;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.parallel-concepts-section .parallel-concepts-secondary-btn:hover {
    background-color: #1A1D20;
    color: #FFFFFF;
}

@media (max-width: 767px) {
    .parallel-concepts-section .parallel-concepts-heading {
        font-size: 16px;
    }

    .parallel-concepts-section .parallel-concepts-subheading {
        font-size: 14px;
    }

    .parallel-concepts-section .parallel-concepts-case-title {
        font-size: 14px;
    }

    .parallel-concepts-section .parallel-concepts-tabs {
        width: 100%;
    }

    .parallel-concepts-section .parallel-concepts-tab-btn {
        width: 100%;
        justify-content: center;
    }

    .parallel-concepts-section .parallel-concepts-action-btn,
    .parallel-concepts-section .parallel-concepts-secondary-btn {
        width: 100%;
        justify-content: center;
    }

    .parallel-concepts-section .parallel-concepts-img-wrapper {
        height: 200px;
    }
}

/* ===== what-changed ===== */
.what-changed-section {
    background-color: #F9F8F6;
    border-top: 1px solid #DCD7CE;
    border-bottom: 1px solid #DCD7CE;
    font-family: 'Signika', sans-serif;
    color: #1A1D20;
}

.what-changed-section .what-changed-kicker {
    border: 1px solid #DCD7CE;
    padding: 4px 10px;
    background-color: #FFFFFF;
}

.what-changed-section .what-changed-dot {
    width: 8px;
    height: 8px;
    background-color: #D84315;
    display: inline-block;
}

.what-changed-section .what-changed-tag {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    color: #59626A;
    text-transform: uppercase;
}

.what-changed-section .what-changed-heading {
    font-size: clamp(1.8rem, 3.2vw, 2.4rem);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.06em;
    color: #1A1D20;
}

.what-changed-section .what-changed-intro {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #59626A;
    max-width: 820px;
}

.what-changed-section .what-changed-filter-bar {
    border-bottom: 1px solid #DCD7CE;
    padding-bottom: 1rem;
}

.what-changed-section .what-changed-filter-btn {
    background-color: #FFFFFF;
    color: #1A1D20;
    border: 1px solid #DCD7CE;
    padding: 8px 16px;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: all 0.25s ease-in-out;
}

.what-changed-section .what-changed-filter-btn:hover {
    background-color: #1A1D20;
    color: #FFFFFF;
    border-color: #1A1D20;
}

.what-changed-section .what-changed-filter-btn.active {
    background-color: #D84315;
    color: #FFFFFF;
    border-color: #D84315;
}

.what-changed-section .what-changed-card {
    background-color: #FFFFFF;
    border: 1px solid #DCD7CE;
    transition: transform 0.25s ease, border-color 0.25s ease;
}

.what-changed-section .what-changed-card:hover {
    border-color: #1A1D20;
}

.what-changed-section .card-header-badge {
    border-bottom: 1px solid #DCD7CE;
    background-color: #F2EFEB;
}

.what-changed-section .badge-branch {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 2px 8px;
    color: #FFFFFF;
}

.what-changed-section .badge-fork-a {
    background-color: #2E7D32;
}

.what-changed-section .badge-fork-b {
    background-color: #1565C0;
}

.what-changed-section .badge-fork-c {
    background-color: #E65100;
}

.what-changed-section .badge-aspect {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: #59626A;
    text-transform: uppercase;
}

.what-changed-section .diff-card-title {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0.03em;
    color: #1A1D20;
}

.what-changed-section .diff-card-text {
    font-size: 0.9375rem;
    line-height: 1.55;
    color: #59626A;
}

.what-changed-section .diff-metrics-grid {
    border-color: #EBE7DF !important;
}

.what-changed-section .diff-metric-item {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    font-size: 0.8125rem;
}

.what-changed-section .metric-label {
    font-weight: 500;
    color: #59626A;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.what-changed-section .metric-val {
    font-weight: 600;
    color: #1A1D20;
}

.what-changed-section .metric-val.text-accent {
    color: #D84315 !important;
}

.what-changed-section .what-changed-meta-banner {
    background-color: #F2EFEB;
    border: 1px solid #DCD7CE;
}

.what-changed-section .meta-banner-label {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #D84315;
}

.what-changed-section .meta-banner-title {
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: #1A1D20;
    transition: color 0.2s ease;
}

.what-changed-section .meta-banner-title:hover {
    color: #D84315;
}

.what-changed-section .meta-banner-desc {
    font-size: 0.875rem;
    color: #59626A;
    line-height: 1.5;
}

.what-changed-section .what-changed-read-btn {
    background-color: #1A1D20;
    color: #FFFFFF;
    padding: 10px 20px;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border: 1px solid #1A1D20;
    transition: all 0.25s ease-in-out;
    white-space: nowrap;
}

.what-changed-section .what-changed-read-btn:hover {
    background-color: #D84315;
    border-color: #D84315;
    color: #FFFFFF;
}

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

    .what-changed-section .diff-card-title {
        font-size: 14px;
    }

    .what-changed-section .meta-banner-title {
        font-size: 14px;
    }

    .what-changed-section .what-changed-filter-btn {
        width: 100%;
        text-align: center;
    }

    .what-changed-section .what-changed-read-btn {
        width: 100%;
        justify-content: center;
    }
}

/* ===== trade-off-questions ===== */
.trade-off-questions-block {
    background-color: #F9F8F6;
    color: #1A1D20;
    font-family: 'Signika', sans-serif;
    border-top: 1px solid #DCD7CE;
    border-bottom: 1px solid #DCD7CE;
}

.trade-off-questions-block .trade-off-badge {
    background-color: #F2EFEB;
    border: 1px solid #DCD7CE;
    padding: 4px 10px;
}

.trade-off-questions-block .badge-dot {
    width: 8px;
    height: 8px;
    background-color: #D84315;
    display: inline-block;
}

.trade-off-questions-block .badge-text {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    color: #495057;
    text-transform: uppercase;
}

.trade-off-questions-block .trade-off-heading {
    color: #1A1D20;
    font-size: clamp(1.75rem, 3.2vw, 2.5rem);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.trade-off-questions-block .accent-word {
    color: #D84315;
}

.trade-off-questions-block .trade-off-lead {
    color: #59626A;
    font-size: 1.05rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.trade-off-questions-block .btn-filter {
    background-color: #FFFFFF;
    color: #1A1D20;
    border: 1px solid #DCD7CE;
    border-radius: 0;
    padding: 6px 14px;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    transition: background-color 0.25s linear, color 0.25s linear, border-color 0.25s linear;
}

.trade-off-questions-block .btn-filter:hover,
.trade-off-questions-block .btn-filter:focus {
    background-color: #1A1D20;
    color: #FFFFFF;
    border-color: #1A1D20;
}

.trade-off-questions-block .btn-filter.active {
    background-color: #1A1D20;
    color: #FFFFFF;
    border-color: #1A1D20;
}

.trade-off-questions-block .trade-off-card {
    background-color: #FFFFFF;
    border: 1px solid #DCD7CE;
    border-radius: 0;
    position: relative;
    transition: border-color 0.25s ease;
}

.trade-off-questions-block .trade-off-card:hover {
    border-color: #1A1D20;
}

.trade-off-questions-block .card-header-bar {
    padding: 10px 16px;
    background-color: #F2EFEB;
    border-bottom: 1px solid #DCD7CE;
}

.trade-off-questions-block .fork-tag {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.trade-off-questions-block .tag-a {
    color: #2E7D32;
}

.trade-off-questions-block .tag-b {
    color: #1565C0;
}

.trade-off-questions-block .tag-c {
    color: #E65100;
}

.trade-off-questions-block .status-icon {
    font-size: 1.1rem;
    color: #495057;
}

.trade-off-questions-block .fork-title {
    color: #1A1D20;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.trade-off-questions-block .metric-box {
    background-color: #F9F8F6;
    border-left: 3px solid #1A1D20;
    padding: 6px 10px;
}

.trade-off-questions-block .metric-label {
    font-size: 0.6875rem;
    color: #59626A;
    letter-spacing: 0.08em;
}

.trade-off-questions-block .metric-value {
    font-size: 0.875rem;
    font-weight: 600;
    color: #1A1D20;
}

.trade-off-questions-block .analysis-section {
    font-size: 0.875rem;
}

.trade-off-questions-block .gain-title {
    color: #2E7D32;
    font-size: 0.8125rem;
}

.trade-off-questions-block .compromise-title {
    color: #D84315;
    font-size: 0.8125rem;
}

.trade-off-questions-block .analysis-desc {
    color: #495057;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.trade-off-questions-block .convergence-box {
    background-color: #F2EFEB;
    border: 1px dashed #DCD7CE;
}

.trade-off-questions-block .convergence-label {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #D84315;
}

.trade-off-questions-block .convergence-text {
    font-size: 0.875rem;
    font-style: italic;
    color: #1A1D20;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.trade-off-questions-block .framework-feature-card {
    background-color: #FFFFFF;
    border: 1px solid #DCD7CE;
    border-radius: 0;
}

.trade-off-questions-block .framework-img-link {
    overflow: hidden;
    border: 1px solid #DCD7CE;
}

.trade-off-questions-block .framework-img {
    height: 220px;
    object-fit: cover;
    display: block;
    transition: opacity 0.25s linear;
}

.trade-off-questions-block .framework-img-link:hover .framework-img {
    opacity: 0.94;
}

.trade-off-questions-block .framework-pill {
    background-color: #FBE9E7;
    color: #D84315;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 3px 8px;
}

.trade-off-questions-block .meta-inline-item {
    font-size: 0.8125rem;
    color: #59626A;
}

.trade-off-questions-block .featured-title {
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.trade-off-questions-block .featured-link {
    color: #1A1D20;
    text-decoration: none;
    transition: color 0.2s linear;
}

.trade-off-questions-block .featured-link:hover {
    color: #D84315;
}

.trade-off-questions-block .featured-desc {
    font-size: 0.9375rem;
    color: #59626A;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.trade-off-questions-block .btn-explore {
    background-color: #1A1D20;
    color: #FFFFFF;
    border: 1px solid #1A1D20;
    border-radius: 0;
    padding: 8px 18px;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background-color 0.25s linear, color 0.25s linear, border-color 0.25s linear;
}

.trade-off-questions-block .btn-explore:hover,
.trade-off-questions-block .btn-explore:focus {
    background-color: #D84315;
    color: #FFFFFF;
    border-color: #D84315;
}

@media (max-width: 767px) {
    .trade-off-questions-block .trade-off-heading {
        font-size: 1.35rem;
        hyphens: auto;
    }

    .trade-off-questions-block .fork-title {
        font-size: 1.05rem;
    }

    .trade-off-questions-block .featured-title {
        font-size: 1.1rem;
    }

    .trade-off-questions-block .framework-img {
        height: 180px;
    }

    .trade-off-questions-block .trade-off-filter-nav {
        width: 100%;
    }

    .trade-off-questions-block .btn-filter {
        flex: 1 1 calc(50% - 4px);
        text-align: center;
    }
}

/* ===== convergence-points ===== */
.of-convergence-section {
    background-color: #F9F8F6;
    color: #1A1D20;
    font-family: 'Signika', sans-serif;
    border-top: 1px solid #DCD7CE;
    border-bottom: 1px solid #DCD7CE;
}

.of-convergence-section .of-section-tag {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #59626A;
}

.of-convergence-section .of-section-title {
    font-size: clamp(1.8rem, 3.2vw, 2.5rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.06em;
    color: #1A1D20;
    margin: 0;
    text-transform: uppercase;
}

.of-convergence-section .of-title-highlight {
    color: #D84315;
}

.of-convergence-section .of-section-lead {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #59626A;
    max-width: 780px;
}

.of-convergence-section .of-btn-editorial {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background-color: #1A1D20;
    color: #FFFFFF;
    padding: 0.75rem 1.25rem;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    border: 1px solid #1A1D20;
    border-radius: 0;
    transition: background-color 0.25s linear, color 0.25s linear, border-color 0.25s linear;
}

.of-convergence-section .of-btn-editorial:hover {
    background-color: #D84315;
    border-color: #D84315;
    color: #FFFFFF;
}

.of-convergence-section .of-tab-container {
    background-color: #FFFFFF;
    border: 1px solid #DCD7CE;
}

.of-convergence-section .of-tab-title {
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #1A1D20;
}

.of-convergence-section .of-indicator-badge {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    padding: 0.25rem 0.5rem;
    background-color: #F2EFEB;
    color: #546E7A;
    text-transform: uppercase;
}

.of-convergence-section .of-tab-btn {
    border: 1px solid #DCD7CE;
    background-color: #F9F8F6;
    color: #59626A;
    font-family: 'Signika', sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.5rem 0.75rem;
    border-radius: 0;
    cursor: pointer;
    transition: all 0.2s linear;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.of-convergence-section .of-tab-btn:hover {
    background-color: #ECE8E1;
    color: #1A1D20;
}

.of-convergence-section .of-tab-btn.active {
    background-color: #1A1D20;
    color: #FFFFFF;
    border-color: #1A1D20;
}

.of-convergence-section .of-gate-banner {
    background-color: #F9F8F6;
    border-left: 3px solid #D84315;
    padding: 1rem;
}

.of-convergence-section .of-gate-heading {
    font-size: 1.05rem;
    font-weight: 600;
    color: #1A1D20;
    margin-bottom: 0.4rem;
}

.of-convergence-section .of-gate-desc {
    font-size: 0.9rem;
    line-height: 1.5;
    color: #59626A;
    margin: 0;
}

.of-convergence-section .of-check-item {
    font-size: 0.9rem;
    line-height: 1.45;
    color: #1A1D20;
}

.of-convergence-section .of-featured-card {
    background-color: #FFFFFF;
    border: 1px solid #DCD7CE;
}

.of-convergence-section .of-card-badge {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #D84315;
    text-transform: uppercase;
}

.of-convergence-section .of-meta-inline,
.of-convergence-section .of-meta-author {
    font-size: 0.75rem;
    font-weight: 500;
    color: #59626A;
}

.of-convergence-section .of-card-media-wrapper {
    position: relative;
    background-color: #ECE8E1;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.of-convergence-section .of-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: filter 0.25s linear;
}

.of-convergence-section .of-image-link:hover .of-card-img {
    filter: brightness(0.96);
}

.of-convergence-section .of-card-title-link {
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.35;
    color: #1A1D20;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    transition: color 0.2s linear;
}

.of-convergence-section .of-card-title-link:hover {
    color: #D84315;
    text-decoration: underline;
}

.of-convergence-section .of-card-excerpt {
    font-size: 0.9rem;
    line-height: 1.55;
    color: #59626A;
}

.of-convergence-section .of-btn-card {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background-color: #D84315;
    color: #FFFFFF;
    padding: 0.6rem 1rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    border: 1px solid #D84315;
    transition: background-color 0.25s linear, border-color 0.25s linear;
}

.of-convergence-section .of-btn-card:hover {
    background-color: #1A1D20;
    border-color: #1A1D20;
    color: #FFFFFF;
}

.of-convergence-section .of-link-subtle {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: #59626A;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: color 0.2s linear;
}

.of-convergence-section .of-link-subtle:hover {
    color: #D84315;
}

.of-convergence-section .of-summary-box {
    background-color: #F2EFEB;
    border: 1px solid #DCD7CE;
}

.of-convergence-section .of-box-num {
    font-size: 1.1rem;
    font-weight: 700;
    color: #D84315;
    letter-spacing: 0.06em;
}

.of-convergence-section .of-box-heading {
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #1A1D20;
    text-transform: uppercase;
}

.of-convergence-section .of-box-text {
    font-size: 0.85rem;
    line-height: 1.5;
    color: #59626A;
}

@media (max-width: 767px) {
    .of-convergence-section .of-section-title {
        font-size: 1.35rem;
    }

    .of-convergence-section .of-section-lead {
        font-size: 0.95rem;
    }

    .of-convergence-section .of-nav-tabs {
        flex-direction: column;
    }

    .of-convergence-section .of-tab-btn {
        width: 100%;
        justify-content: flex-start;
    }
}

/* ===== abandoned-paths ===== */
.abandoned-paths-section {
    background-color: #F9F8F6;
    color: #1A1D20;
    position: relative;
    border-top: 1px solid #DCD7CE;
    border-bottom: 1px solid #DCD7CE;
}

.abandoned-paths-section .abandoned-paths-badge {
    background-color: #1A1D20;
    color: #FFFFFF;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    padding: 0.25rem 0.6rem;
    text-transform: uppercase;
}

.abandoned-paths-section .abandoned-paths-serial {
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: #59626A;
}

.abandoned-paths-section .abandoned-paths-title {
    font-size: clamp(1.8rem, 3.2vw, 2.4rem);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.06em;
    color: #1A1D20;
    text-transform: uppercase;
    word-break: break-word;
}

.abandoned-paths-section .abandoned-paths-accent {
    color: #D84315;
}

.abandoned-paths-section .abandoned-paths-lead {
    font-size: 1.05rem;
    line-height: 1.65;
    color: #59626A;
    max-width: 780px;
}

.abandoned-paths-section .abandoned-paths-card {
    background-color: #FFFFFF;
    border: 1px solid #DCD7CE;
    border-radius: 0;
    transition: border-color 0.25s ease, transform 0.25s ease;
}

.abandoned-paths-section .abandoned-paths-card:hover {
    border-color: #D84315;
    transform: translateY(-2px);
}

.abandoned-paths-section .abandoned-paths-card-icon {
    font-size: 1.75rem;
    color: #D84315;
    line-height: 1;
}

.abandoned-paths-section .abandoned-paths-card-index {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #8C96A0;
    text-transform: uppercase;
}

.abandoned-paths-section .abandoned-paths-card-title {
    font-size: 1.15rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: #1A1D20;
    text-transform: uppercase;
    line-height: 1.35;
}

.abandoned-paths-section .abandoned-paths-card-text {
    font-size: 0.925rem;
    line-height: 1.6;
    color: #59626A;
    margin-bottom: 0;
}

.abandoned-paths-section .abandoned-paths-feature {
    background-color: #FFFFFF;
    border: 1px solid #DCD7CE;
    border-left: 4px solid #D84315;
}

.abandoned-paths-section .abandoned-paths-media-wrap {
    position: relative;
    border: 1px solid #DCD7CE;
    background-color: #F2EFEB;
}

.abandoned-paths-section .abandoned-paths-feature-img {
    height: 280px;
    object-fit: cover;
    display: block;
    transition: opacity 0.25s ease;
}

.abandoned-paths-section .abandoned-paths-image-link:hover .abandoned-paths-feature-img {
    opacity: 0.94;
}

.abandoned-paths-section .abandoned-paths-media-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background-color: rgba(26, 29, 32, 0.9);
    color: #FFFFFF;
    padding: 0.3rem 0.65rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
}

.abandoned-paths-section .abandoned-paths-pill {
    background-color: #FBE9E7;
    color: #D84315;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding: 0.2rem 0.55rem;
    text-transform: uppercase;
}

.abandoned-paths-section .abandoned-paths-meta {
    font-size: 0.85rem;
    color: #59626A;
    font-weight: 500;
}

.abandoned-paths-section .abandoned-paths-feature-title {
    font-size: clamp(1.3rem, 2.2vw, 1.7rem);
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.abandoned-paths-section .abandoned-paths-title-link {
    color: #1A1D20;
    text-decoration: none;
    transition: color 0.2s ease;
}

.abandoned-paths-section .abandoned-paths-title-link:hover {
    color: #D84315;
}

.abandoned-paths-section .abandoned-paths-feature-desc {
    font-size: 1rem;
    line-height: 1.6;
    color: #59626A;
}

.abandoned-paths-section .abandoned-paths-btn-primary {
    background-color: #1A1D20;
    color: #FFFFFF;
    border: 1px solid #1A1D20;
    padding: 0.65rem 1.35rem;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.25s ease;
}

.abandoned-paths-section .abandoned-paths-btn-primary:hover {
    background-color: #D84315;
    border-color: #D84315;
    color: #FFFFFF;
}

.abandoned-paths-section .abandoned-paths-btn-secondary {
    background-color: #F2EFEB;
    color: #1A1D20;
    border: 1px solid #DCD7CE;
    padding: 0.65rem 1.35rem;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.25s ease;
}

.abandoned-paths-section .abandoned-paths-btn-secondary:hover {
    background-color: #1A1D20;
    border-color: #1A1D20;
    color: #FFFFFF;
}

.abandoned-paths-section .abandoned-paths-btn-outline {
    background-color: transparent;
    color: #1A1D20;
    border: 1px solid #1A1D20;
    padding: 0.65rem 1.35rem;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.25s ease;
}

.abandoned-paths-section .abandoned-paths-btn-outline:hover {
    background-color: #1A1D20;
    color: #FFFFFF;
}

@media (max-width: 767px) {
    .abandoned-paths-section .abandoned-paths-title {
        font-size: 1.25rem;
        hyphens: auto;
    }

    .abandoned-paths-section .abandoned-paths-card-title {
        font-size: 1rem;
    }

    .abandoned-paths-section .abandoned-paths-feature-title {
        font-size: 1.1rem;
    }

    .abandoned-paths-section .abandoned-paths-feature-img {
        height: 200px;
    }

    .abandoned-paths-section .abandoned-paths-btn-primary,
    .abandoned-paths-section .abandoned-paths-btn-secondary,
    .abandoned-paths-section .abandoned-paths-btn-outline {
        width: 100%;
        justify-content: center;
    }
}

/* ===== cases-grid ===== */
.cases-grid-block {
    background-color: #F9F8F6;
    color: #1A1D20;
    font-family: 'Signika', sans-serif;
    border-bottom: 1px solid #DCD7CE;
}

.cases-grid-block .cases-grid-label {
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    color: #59626A;
}

.cases-grid-block .cases-grid-dot {
    width: 8px;
    height: 8px;
    background-color: #D84315;
    display: inline-block;
}

.cases-grid-block .cases-grid-heading {
    font-size: clamp(1.8rem, 3.2vw, 2.4rem);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.06em;
    color: #1A1D20;
    overflow-wrap: anywhere;
}

.cases-grid-block .cases-accent-word {
    color: #D84315;
}

.cases-grid-block .cases-grid-lead {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #59626A;
    max-width: 720px;
}

.cases-grid-block .cases-all-link {
    color: #1A1D20;
    font-size: 0.875rem;
    letter-spacing: 0.08em;
    padding-bottom: 4px;
    border-bottom: 2px solid #1A1D20;
    transition: color 0.25s ease, border-color 0.25s ease;
}

.cases-grid-block .cases-all-link:hover {
    color: #D84315;
    border-color: #D84315;
}

.cases-grid-block .cases-grid-divider {
    height: 1px;
    background-color: #DCD7CE;
    width: 100%;
}

.cases-grid-block .case-editorial-card {
    background-color: #FFFFFF;
    border: 1px solid #DCD7CE;
    transition: border-color 0.25s ease;
    border-radius: 0;
}

.cases-grid-block .case-editorial-card:hover {
    border-color: #1A1D20;
}

.cases-grid-block .case-card-img-wrap {
    aspect-ratio: 16 / 10;
    background-color: #ECE8E1;
}

.cases-grid-block .case-card-img {
    height: 100%;
    object-fit: cover;
    display: block;
    transition: filter 0.3s ease;
}

.cases-grid-block .case-card-img-wrap:hover .case-card-img {
    filter: brightness(0.96);
}

.cases-grid-block .case-card-tag {
    background-color: #1A1D20;
    color: #FFFFFF;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 0;
}

.cases-grid-block .case-card-meta {
    font-size: 0.8rem;
    color: #59626A;
}

.cases-grid-block .case-meta-separator {
    color: #8C96A0;
}

.cases-grid-block .case-card-title {
    font-size: clamp(1.15rem, 1.6vw, 1.35rem);
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #1A1D20;
    overflow-wrap: anywhere;
}

.cases-grid-block .case-title-link {
    color: #1A1D20;
    position: relative;
    transition: color 0.25s ease;
}

.cases-grid-block .case-title-link:hover {
    color: #D84315;
}

.cases-grid-block .case-card-desc {
    font-size: 0.925rem;
    line-height: 1.55;
    color: #59626A;
}

.cases-grid-block .case-card-footer {
    border-top: 1px solid #EBE7DF;
}

.cases-grid-block .case-action-btn {
    background-color: #1A1D20;
    color: #FFFFFF;
    font-size: 0.8125rem;
    letter-spacing: 0.08em;
    padding: 10px 16px;
    border: 1px solid #1A1D20;
    border-radius: 0;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.cases-grid-block .case-action-btn:hover {
    background-color: #D84315;
    border-color: #D84315;
    color: #FFFFFF;
}

@media (max-width: 767.98px) {
    .cases-grid-block .cases-grid-heading {
        font-size: 16px;
    }

    .cases-grid-block .case-card-title {
        font-size: 14px;
    }

    .cases-grid-block .cases-grid-lead {
        font-size: 0.95rem;
    }
}

/* ===== materials-grid ===== */
.op-materials-block {
    background-color: #F9F8F6;
    border-top: 1px solid #DCD7CE;
    border-bottom: 1px solid #DCD7CE;
    color: #1A1D20;
    font-family: 'Signika', sans-serif;
}

.op-materials-block .op-section-label {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #59626A;
    text-transform: uppercase;
}

.op-materials-block .op-label-mark {
    color: #D84315;
    font-weight: 700;
}

.op-materials-block .op-section-title {
    font-size: clamp(1.6rem, 3.2vw, 2.3rem);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.05em;
    color: #1A1D20;
    text-transform: uppercase;
}

.op-materials-block .op-title-accent {
    color: #D84315;
}

.op-materials-block .op-section-lead {
    font-size: 1rem;
    line-height: 1.6;
    color: #59626A;
    max-width: 720px;
}

.op-materials-block .op-archive-link {
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #1A1D20;
    text-decoration: none;
    padding: 8px 16px;
    border: 1px solid #DCD7CE;
    background-color: #FFFFFF;
    transition: all 0.25s linear;
}

.op-materials-block .op-archive-link:hover {
    background-color: #1A1D20;
    color: #FFFFFF;
    border-color: #1A1D20;
}

.op-materials-block .op-material-card {
    background-color: #FFFFFF;
    border: 1px solid #DCD7CE;
    border-radius: 0px;
    box-shadow: none;
    transition: border-color 0.25s ease;
}

.op-materials-block .op-material-card:hover {
    border-color: #1A1D20;
}

.op-materials-block .op-card-media {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid #DCD7CE;
    background-color: #ECE8E1;
}

.op-materials-block .op-card-img {
    height: 190px;
    object-fit: cover;
    display: block;
    transition: filter 0.25s ease;
}

.op-materials-block .op-card-media:hover .op-card-img {
    filter: brightness(0.96);
}

.op-materials-block .op-card-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    background-color: #1A1D20;
    color: #FFFFFF;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 3px 8px;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.op-materials-block .op-card-meta {
    font-size: 0.75rem;
    color: #59626A;
    font-weight: 500;
}

.op-materials-block .op-meta-divider {
    color: #8C96A0;
}

.op-materials-block .op-card-title {
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.op-materials-block .op-title-link {
    color: #1A1D20;
    text-decoration: none;
    position: relative;
    display: inline;
    background-image: linear-gradient(#D84315, #D84315);
    background-position: 0% 100%;
    background-repeat: no-repeat;
    background-size: 0% 2px;
    transition: background-size 0.25s ease, color 0.25s ease;
}

.op-materials-block .op-title-link:hover {
    color: #D84315;
    background-size: 100% 2px;
}

.op-materials-block .op-card-excerpt {
    font-size: 0.875rem;
    line-height: 1.5;
    color: #59626A;
}

.op-materials-block .op-btn-card {
    background-color: #F9F8F6;
    color: #1A1D20;
    border: 1px solid #DCD7CE;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 8px 12px;
    text-decoration: none;
    transition: all 0.25s linear;
}

.op-materials-block .op-btn-card:hover {
    background-color: #1A1D20;
    color: #FFFFFF;
    border-color: #1A1D20;
}

.op-materials-block .op-bottom-banner {
    background-color: #F2EFEB;
    border: 1px solid #DCD7CE;
}

.op-materials-block .op-banner-icon {
    width: 44px;
    height: 44px;
    background-color: #1A1D20;
    color: #FFFFFF;
    font-size: 1.25rem;
    flex-shrink: 0;
}

.op-materials-block .op-banner-headline {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #1A1D20;
}

.op-materials-block .op-banner-subline {
    font-size: 0.875rem;
    color: #59626A;
}

.op-materials-block .op-btn-accent {
    background-color: #D84315;
    color: #FFFFFF;
    border: 1px solid #D84315;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.25s linear;
}

.op-materials-block .op-btn-accent:hover {
    background-color: #1A1D20;
    color: #FFFFFF;
    border-color: #1A1D20;
}

@media (max-width: 767px) {
    .op-materials-block .op-section-title {
        font-size: 16px;
        hyphens: auto;
    }

    .op-materials-block .op-card-title {
        font-size: 14px;
        hyphens: auto;
    }

    .op-materials-block .op-card-img {
        height: 180px;
    }

    .op-materials-block .op-bottom-banner {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ===== counseling-cta ===== */
.counseling-cta-section {
    background-color: #F9F8F6;
    font-family: 'Signika', sans-serif;
    color: #1A1D20;
}

.counseling-cta-section .counseling-card {
    background-color: #FFFFFF;
    border: 1px solid #DCD7CE;
    border-radius: 0;
}

.counseling-cta-section .counseling-info-pane {
    background-color: #1A1D20;
    color: #FFFFFF;
    border-right: 1px solid #DCD7CE;
}

.counseling-cta-section .counseling-badge {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #D84315;
    background-color: rgba(216, 67, 21, 0.15);
    padding: 6px 12px;
    border: 1px solid rgba(216, 67, 21, 0.3);
}

.counseling-cta-section .counseling-title {
    color: #FFFFFF;
    font-size: clamp(1.4rem, 2.5vw, 2rem);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.counseling-cta-section .accent-text {
    color: #D84315;
}

.counseling-cta-section .counseling-desc {
    color: #E0E0E0;
    font-size: 0.95rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.counseling-cta-section .counseling-icon {
    color: #D84315;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.counseling-cta-section .counseling-benefit-title {
    color: #FFFFFF;
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.counseling-cta-section .counseling-benefit-text {
    color: #B0BEC5;
    font-size: 0.85rem;
    line-height: 1.45;
    display: block;
    overflow-wrap: anywhere;
}

.counseling-cta-section .counseling-meta {
    border-color: rgba(255, 255, 255, 0.15) !important;
}

.counseling-cta-section .counseling-meta-text {
    font-size: 0.8rem;
    color: #B0BEC5;
    letter-spacing: 0.02em;
}

.counseling-cta-section .counseling-form-pane {
    background-color: #FFFFFF;
}

.counseling-cta-section .counseling-form-heading {
    color: #1A1D20;
    font-size: clamp(1.25rem, 2vw, 1.6rem);
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.counseling-cta-section .counseling-form-subheading {
    color: #59626A;
    font-size: 0.9rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.counseling-cta-section .form-label {
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #1A1D20;
    margin-bottom: 6px;
}

.counseling-cta-section .form-input {
    border: 1px solid #DCD7CE;
    background-color: #F9F8F6;
    color: #1A1D20;
    border-radius: 0;
    padding: 10px 14px;
    font-size: 0.9rem;
    font-family: 'Signika', sans-serif;
    box-shadow: none;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.counseling-cta-section .form-input:focus {
    border-color: #D84315;
    background-color: #FFFFFF;
    color: #1A1D20;
    outline: none;
    box-shadow: none;
}

.counseling-cta-section .form-input::placeholder {
    color: #8C96A0;
    opacity: 1;
}

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

.counseling-cta-section .submit-btn {
    background-color: #1A1D20;
    color: #FFFFFF;
    border: 1px solid #1A1D20;
    border-radius: 0;
    font-weight: 600;
    font-size: 0.9rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 14px 24px;
    transition: all 0.25s linear;
}

.counseling-cta-section .submit-btn:hover,
.counseling-cta-section .submit-btn:focus {
    background-color: #D84315;
    border-color: #D84315;
    color: #FFFFFF;
}

@media (max-width: 767px) {
    .counseling-cta-section .counseling-info-pane {
        border-right: none;
        border-bottom: 1px solid #DCD7CE;
    }

    .counseling-cta-section .counseling-title {
        font-size: 1.3rem;
        hyphens: auto;
    }

    .counseling-cta-section .counseling-form-heading {
        font-size: 1.15rem;
        hyphens: auto;
    }
}

/* ===== footer ===== */
.fork-footer {
    background-color: #F2EFEB;
    color: #1A1D20;
    border-top: 1px solid #DCD7CE;
    padding-top: 60px;
    padding-bottom: 30px;
    font-family: 'Signika', sans-serif;
}

.fork-footer .fork-footer__top {
    padding-bottom: 40px;
    border-bottom: 1px solid #DCD7CE;
}

.fork-footer .fork-footer__brand {
    max-width: 100%;
}

.fork-footer .fork-footer__logo-title {
    font-size: 1.25rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #1A1D20;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.fork-footer .fork-footer__symbol {
    color: #D84315;
    font-family: monospace;
    font-weight: 700;
}

.fork-footer .fork-footer__tagline {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #59626A;
    margin-bottom: 14px;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__mission {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #D84315;
    background-color: #FBE9E7;
    border: 1px solid #DCD7CE;
    padding: 6px 10px;
    margin-top: 4px;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__col-title {
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #1A1D20;
    margin-bottom: 20px;
    padding-bottom: 8px;
    border-bottom: 2px solid #D84315;
    display: inline-block;
}

.fork-footer .fork-footer__list {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

.fork-footer .fork-footer__list li {
    margin-bottom: 12px;
}

.fork-footer .fork-footer__link {
    font-size: 0.9375rem;
    color: #495057;
    text-decoration: none;
    transition: color 0.25s ease, padding-left 0.25s ease;
    display: inline-block;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__link:hover,
.fork-footer .fork-footer__link:focus {
    color: #D84315;
    padding-left: 4px;
}

.fork-footer .fork-footer__contact-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.fork-footer .fork-footer__contact-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.9375rem;
    color: #495057;
}

.fork-footer .fork-footer__contact-icon {
    color: #D84315;
    font-size: 1rem;
    flex-shrink: 0;
    margin-top: 2px;
}

.fork-footer .fork-footer__contact-text {
    color: #495057;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__contact-link {
    color: #495057;
    text-decoration: none;
    line-height: 1.5;
    transition: color 0.25s ease;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__contact-link:hover,
.fork-footer .fork-footer__contact-link:focus {
    color: #D84315;
    text-decoration: underline;
}

.fork-footer .fork-footer__bottom {
    padding-top: 24px;
}

.fork-footer .fork-footer__copyright {
    font-size: 0.875rem;
    color: #59626A;
    margin-bottom: 0;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__legal-links {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8px;
}

@media (min-width: 768px) {
    .fork-footer .fork-footer__legal-links {
        justify-content: flex-end;
    }
}

.fork-footer .fork-footer__legal-link {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #59626A;
    text-decoration: none;
    transition: color 0.2s ease;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__legal-link:hover,
.fork-footer .fork-footer__legal-link:focus {
    color: #D84315;
}

.fork-footer .fork-footer__divider {
    font-size: 0.75rem;
    color: #8C96A0;
    user-select: none;
}

@media (max-width: 767px) {
    .fork-footer {
        padding-top: 40px;
        padding-bottom: 24px;
    }

    .fork-footer .fork-footer__top {
        padding-bottom: 28px;
    }

    .fork-footer .fork-footer__col-title {
        margin-bottom: 12px;
    }

    .fork-footer .fork-footer__list li {
        margin-bottom: 10px;
    }

    .fork-footer .fork-footer__copyright {
        text-align: left;
    }
}

/* ===== PAGE: about ===== */
.about-page-wrapper { background-color: #F9F8F6; font-family: 'Signika', sans-serif; color: #1A1D20; overflow-x: hidden; }
.about-page-wrapper .audience-tag { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #D84315; display: inline-block; }
.about-page-wrapper .section-heading { font-size: clamp(1.75rem, 3.2vw, 2.5rem); font-weight: 700; line-height: 1.2; text-transform: uppercase; letter-spacing: 0.05em; color: #1A1D20; }
.about-page-wrapper .section-subheading { font-size: 1.05rem; line-height: 1.6; color: #59626A; max-width: 800px; }
.about-page-wrapper .audience-tab-btn { font-size: 0.85rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; padding: 8px 18px; border-radius: 0; background-color: #FFFFFF; color: #1A1D20; border: 1px solid #DCD7CE; transition: all 0.25s ease; }
.about-page-wrapper .audience-tab-btn:hover { background-color: #1A1D20; color: #FFFFFF; border-color: #1A1D20; }
.about-page-wrapper .audience-tab-btn.active { background-color: #D84315; color: #FFFFFF; border-color: #D84315; }
.about-page-wrapper .editorial-card { background-color: #FFFFFF; border: 1px solid #DCD7CE; padding: 28px; border-radius: 0; display: flex; flex-direction: column; transition: transform 0.2s ease, border-color 0.2s ease; }
.about-page-wrapper .editorial-card:hover { transform: translateY(-3px); border-color: #1A1D20; }
.about-page-wrapper .card-index { font-size: 0.8rem; font-weight: 700; letter-spacing: 0.1em; color: #8C96A0; margin-bottom: 8px; }
.about-page-wrapper .card-badge-role { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: #D84315; margin-bottom: 12px; }
.about-page-wrapper .card-title-text { font-size: 1.25rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: #1A1D20; margin-bottom: 12px; }
.about-page-wrapper .card-description { font-size: 0.95rem; line-height: 1.55; color: #59626A; margin-bottom: 20px; flex-grow: 1; }
.about-page-wrapper .discipline-list li { font-size: 0.88rem; color: #1A1D20; padding-bottom: 6px; }
.about-page-wrapper .accent-icon { color: #D84315; font-size: 1rem; }
.about-page-wrapper .about-methodology-summary { background-color: #F2EFEB; border-top: 1px solid #DCD7CE; border-bottom: 1px solid #DCD7CE; }
.about-page-wrapper .step-num { font-size: 1.1rem; font-weight: 700; color: #D84315; border: 1px solid #DCD7CE; background-color: #FFFFFF; padding: 4px 10px; }
.about-page-wrapper .step-title { font-size: 1rem; text-transform: uppercase; letter-spacing: 0.03em; color: #1A1D20; }
.about-page-wrapper .step-desc { font-size: 0.88rem; color: #59626A; line-height: 1.5; }
.about-page-wrapper .methodology-detail-panel { background-color: #FFFFFF; border: 1px solid #DCD7CE; }
.about-page-wrapper .metric-box { background-color: #F9F8F6; border: 1px solid #EBE7DF; }
.about-page-wrapper .metric-label { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: #8C96A0; }
.about-page-wrapper .metric-value { font-size: 1.2rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; margin-top: 2px; }
.about-page-wrapper .metric-note { font-size: 0.82rem; color: #59626A; line-height: 1.45; }
.about-page-wrapper .btn-outline-editorial { display: inline-block; background-color: transparent; color: #1A1D20; border: 1px solid #1A1D20; border-radius: 0; font-size: 0.85rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; padding: 10px 22px; transition: all 0.25s ease; }
.about-page-wrapper .btn-outline-editorial:hover { background-color: #1A1D20; color: #FFFFFF; }
.about-page-wrapper .request-box-wrapper { background-color: #FFFFFF; border: 1px solid #DCD7CE; }
.about-page-wrapper .form-label-custom { font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: #1A1D20; margin-bottom: 6px; }
.about-page-wrapper .form-control-custom { border-radius: 0; border: 1px solid #DCD7CE; background-color: #F9F8F6; color: #1A1D20; font-size: 0.92rem; padding: 10px 14px; }
.about-page-wrapper .form-control-custom:focus { background-color: #FFFFFF; border-color: #D84315; box-shadow: none; color: #1A1D20; }
.about-page-wrapper .form-control-custom::placeholder { color: #8C96A0; opacity: 1; }
.about-page-wrapper .form-check-label-custom { font-size: 0.84rem; color: #59626A; }
.about-page-wrapper .btn-accent-custom { border-radius: 0; background-color: #D84315; color: #FFFFFF; font-size: 0.95rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; border: 1px solid #D84315; transition: background-color 0.25s ease, border-color 0.25s ease; }
.about-page-wrapper .btn-accent-custom:hover { background-color: #1A1D20; border-color: #1A1D20; color: #FFFFFF; }
@media (max-width: 767px) { .about-page-wrapper .section-heading { font-size: 1.35rem; } .about-page-wrapper .audience-tab-btn { width: 100%; text-align: center; } .about-page-wrapper .editorial-card { padding: 20px; } }

/* ===== PAGE: cases ===== */
.cases-section { background-color: #F9F8F6; color: #1A1D20; }
.cases-section .cases-header-row { border-color: #DCD7CE !important; }
.cases-section .cases-eyebrow { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; color: #D84315; }
.cases-section .cases-main-title { font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: #1A1D20; line-height: 1.25; }
.cases-section .cases-intro-text { font-size: 0.95rem; line-height: 1.6; color: #59626A; max-width: 480px; }
.cases-section .cases-filter-bar { background-color: #F2EFEB; border: 1px solid #DCD7CE; }
.cases-section .cases-filter-btn { background-color: #FFFFFF; border: 1px solid #DCD7CE; color: #1A1D20; font-size: 0.8rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; padding: 0.45rem 0.9rem; transition: all 0.2s ease; border-radius: 0; cursor: pointer; }
.cases-section .cases-filter-btn:hover { background-color: #1A1D20; color: #FFFFFF; border-color: #1A1D20; }
.cases-section .cases-filter-btn.active { background-color: #1A1D20; color: #FFFFFF; border-color: #1A1D20; }
.cases-section .cases-search-box { min-width: 240px; flex-grow: 1; max-width: 320px; }
.cases-section .cases-search-input { background-color: #FFFFFF; border: 1px solid #DCD7CE; border-radius: 0; font-size: 0.875rem; color: #1A1D20; padding: 0.45rem 0.75rem; }
.cases-section .cases-search-input::placeholder { color: #8C96A0; opacity: 1; }
.cases-section .cases-search-input:focus { border-color: #D84315; box-shadow: none; outline: none; background-color: #FFFFFF; color: #1A1D20; }
.cases-section .cases-card { background-color: #FFFFFF; border: 1px solid #DCD7CE; border-radius: 0; transition: border-color 0.25s ease, transform 0.25s ease; }
.cases-section .cases-card:hover { border-color: #1A1D20; }
.cases-section .cases-img-wrapper { position: relative; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; background-color: #ECE8E1; border: 1px solid #EBE7DF; }
.cases-section .cases-card-img { width: 100%; height: 100%; object-fit: cover; transition: opacity 0.25s ease; display: block; }
.cases-section .cases-card-img-link:hover .cases-card-img { opacity: 0.92; }
.cases-section .cases-card-meta { font-size: 0.75rem; color: #59626A; font-weight: 500; }
.cases-section .cases-badge { background-color: #F2EFEB; color: #1A1D20; border: 1px solid #DCD7CE; font-weight: 600; font-size: 0.7rem; letter-spacing: 0.05em; padding: 0.25rem 0.5rem; border-radius: 0; }
.cases-section .cases-meta-sep { color: #8C96A0; }
.cases-section .cases-card-title { font-size: clamp(1.05rem, 1.4vw, 1.25rem); font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; line-height: 1.3; }
.cases-section .cases-title-link { color: #1A1D20; text-decoration: none; transition: color 0.2s ease; }
.cases-section .cases-title-link:hover { color: #D84315; text-decoration: underline; }
.cases-section .cases-card-desc { font-size: 0.875rem; line-height: 1.55; color: #59626A; }
.cases-section .cases-action-btn { background-color: #1A1D20; color: #FFFFFF; border: 1px solid #1A1D20; border-radius: 0; font-size: 0.8rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; padding: 0.6rem 1.2rem; transition: all 0.25s ease; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.cases-section .cases-action-btn:hover { background-color: #D84315; border-color: #D84315; color: #FFFFFF; }
.cases-section .cases-reset-btn { background-color: #1A1D20; color: #FFFFFF; border: 1px solid #1A1D20; border-radius: 0; font-size: 0.85rem; font-weight: 600; padding: 0.5rem 1.2rem; transition: all 0.2s ease; }
.cases-section .cases-reset-btn:hover { background-color: #D84315; border-color: #D84315; color: #FFFFFF; }

.cases-newsletter-section { background-color: #F2EFEB; border-top: 1px solid #DCD7CE; }
.cases-newsletter-section .cases-newsletter-card { background-color: #FFFFFF; border: 1px solid #DCD7CE; border-radius: 0; }
.cases-newsletter-section .cases-newsletter-badge { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; color: #D84315; }
.cases-newsletter-section .cases-newsletter-title { font-size: clamp(1.4rem, 2.5vw, 1.85rem); font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: #1A1D20; line-height: 1.25; }
.cases-newsletter-section .cases-newsletter-text { font-size: 0.95rem; line-height: 1.6; color: #59626A; }
.cases-newsletter-section .cases-form-input { background-color: #F9F8F6; border: 1px solid #DCD7CE; border-radius: 0; font-size: 0.9rem; color: #1A1D20; padding: 0.65rem 1rem; }
.cases-newsletter-section .cases-form-input::placeholder { color: #8C96A0; opacity: 1; }
.cases-newsletter-section .cases-form-input:focus { background-color: #FFFFFF; border-color: #D84315; box-shadow: none; outline: none; color: #1A1D20; }
.cases-newsletter-section .cases-form-submit { background-color: #D84315; color: #FFFFFF; border: 1px solid #D84315; border-radius: 0; font-size: 0.85rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; padding: 0.65rem 1.4rem; white-space: nowrap; transition: all 0.25s ease; }
.cases-newsletter-section .cases-form-submit:hover { background-color: #1A1D20; border-color: #1A1D20; color: #FFFFFF; }
.cases-newsletter-section .cases-form-note { font-size: 0.8rem; color: #8C96A0; }

@media (max-width: 767px) {
  .cases-section .cases-header-row { flex-direction: column; align-items: flex-start; }
  .cases-section .cases-intro-col { text-align: left !important; }
  .cases-section .cases-search-box { max-width: 100%; width: 100%; }
  .cases-section .cases-card { text-align: left; }
}

/* ===== PAGE: parallel-design ===== */
.pf-parallel-list{background-color:#F9F8F6;color:#1A1D20;font-family:'Signika',sans-serif}.pf-parallel-list .pf-section-header{border-color:#DCD7CE!important}.pf-parallel-list .pf-section-tag{font-size:0.75rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#D84315;display:inline-block}.pf-parallel-list .pf-section-title{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:#1A1D20;line-height:1.2}.pf-parallel-list .pf-section-lead{max-width:520px;font-size:0.95rem;line-height:1.5;color:#59626A}.pf-parallel-list .pf-staggered-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:16px;align-items:stretch}.pf-parallel-list .pf-grid-col{display:contents}.pf-parallel-list .pf-col-1 .pf-editorial-card:nth-of-type(1){order:1}.pf-parallel-list .pf-col-2 .pf-editorial-card:nth-of-type(1){order:2}.pf-parallel-list .pf-col-3 .pf-editorial-card:nth-of-type(1){order:3}.pf-parallel-list .pf-col-1 .pf-editorial-card:nth-of-type(2){order:4}.pf-parallel-list .pf-col-2 .pf-editorial-card:nth-of-type(2){order:5}.pf-parallel-list .pf-col-3 .pf-editorial-card:nth-of-type(2){order:6}.pf-parallel-list .pf-col-1 .pf-editorial-card:nth-of-type(3){order:7}.pf-parallel-list .pf-col-2 .pf-editorial-card:nth-of-type(3){order:8}.pf-parallel-list .pf-col-3 .pf-editorial-card:nth-of-type(3){order:9}.pf-parallel-list .pf-editorial-card{background:#FFFFFF;border:1px solid #DCD7CE;border-radius:0;display:flex;flex-direction:column;height:100%;transition:border-color 0.25s ease,box-shadow 0.25s ease;position:relative}.pf-parallel-list .pf-editorial-card:hover{border-color:#1A1D20}.pf-parallel-list .pf-card-media{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;background:#ECE8E1}.pf-parallel-list .pf-media-link{display:block;width:100%;height:100%}.pf-parallel-list .pf-card-img{width:100%;height:100%;object-fit:cover;display:block;transition:filter 0.25s ease}.pf-parallel-list .pf-card-media:hover .pf-card-img{filter:brightness(0.96)}.pf-parallel-list .pf-badge-phase{position:absolute;top:10px;left:10px;background:#1A1D20;color:#FFFFFF;font-size:0.7rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;padding:3px 8px;border-radius:0;z-index:2}.pf-parallel-list .pf-card-body{padding:16px 16px 12px;display:flex;flex-direction:column;flex-grow:1;text-align:left}.pf-parallel-list .pf-meta{font-size:0.75rem;color:#8C96A0;margin-bottom:8px}.pf-parallel-list .pf-meta-date,.pf-parallel-list .pf-meta-author{color:#59626A}.pf-parallel-list .pf-card-title{font-size:1.15rem;font-weight:600;line-height:1.3;margin-bottom:8px;text-transform:none}.pf-parallel-list .pf-title-link{color:#1A1D20;text-decoration:none;transition:color 0.2s ease}.pf-parallel-list .pf-title-link:hover{color:#D84315;text-decoration:underline}.pf-parallel-list .pf-card-summary{font-size:0.875rem;line-height:1.5;color:#59626A;margin-bottom:0;flex-grow:1}.pf-parallel-list .pf-card-footer{padding:0 16px 16px;background:transparent}.pf-parallel-list .pf-card-action{display:flex;align-items:center;justify-content:center;width:100%;padding:10px 14px;background-color:#1A1D20;color:#FFFFFF;border:1px solid #1A1D20;font-size:0.85rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;text-decoration:none;border-radius:0;transition:background-color 0.25s ease,color 0.25s ease,border-color 0.25s ease}.pf-parallel-list .pf-card-action:hover{background-color:#D84315;color:#FFFFFF;border-color:#D84315}@media (max-width:991px) and (min-width:768px){.pf-parallel-list .pf-staggered-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:767px){.pf-parallel-list .pf-staggered-grid{grid-template-columns:1fr;gap:16px}.pf-parallel-list .pf-section-title{font-size:1.25rem}.pf-parallel-list .pf-card-title{font-size:1.05rem}}

/* ===== PAGE: frameworks ===== */
.frameworks-list-section {
  background-color: #F9F8F6;
  color: #1A1D20;
  font-family: 'Signika', sans-serif;
  overflow-x: hidden;
}

.frameworks-list-section .frameworks-header-group {
  border-bottom: 1px solid #DCD7CE;
}

.frameworks-list-section .frameworks-category-badge {
  color: #D84315;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
}

.frameworks-list-section .frameworks-section-title {
  color: #1A1D20;
  font-weight: 600;
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  line-height: 1.25;
  letter-spacing: 0.04em;
  overflow-wrap: anywhere;
}

.frameworks-list-section .frameworks-intro-text {
  color: #59626A;
  font-size: 0.95rem;
  max-width: 420px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.frameworks-list-section .frameworks-search-box .form-control {
  background-color: #FFFFFF;
  border: 1px solid #DCD7CE;
  border-radius: 0;
  padding: 0.65rem 1rem 0.65rem 2.5rem;
  color: #1A1D20;
  font-size: 0.9rem;
  box-shadow: none;
}

.frameworks-list-section .frameworks-search-box .form-control::placeholder {
  color: #8C96A0;
  opacity: 1;
}

.frameworks-list-section .frameworks-search-box .form-control:focus {
  border-color: #D84315;
  outline: none;
}

.frameworks-list-section .frameworks-search-icon {
  left: 0.85rem;
  top: 50%;
  transform: translateY(-50%);
  color: #8C96A0;
  font-size: 0.95rem;
  pointer-events: none;
}

.frameworks-list-section .frameworks-counter-label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #59626A;
}

.frameworks-list-section .frameworks-counter-badge {
  background-color: #ECE8E1;
  color: #1A1D20;
  border-radius: 0;
  font-weight: 600;
  font-size: 0.8rem;
  padding: 0.4rem 0.65rem;
}

.frameworks-list-section .framework-card {
  background-color: #FFFFFF;
  border: 1px solid #DCD7CE;
  border-radius: 0;
  transition: border-color 0.25s ease, transform 0.25s ease;
}

.frameworks-list-section .framework-card:hover {
  border-color: #1A1D20;
}

.frameworks-list-section .framework-card-media {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background-color: #F2EFEB;
}

.frameworks-list-section .framework-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.25s ease;
}

.frameworks-list-section .framework-card:hover .framework-card-media img {
  opacity: 0.95;
}

.frameworks-list-section .framework-tag {
  background-color: #1A1D20;
  color: #FFFFFF;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.25rem 0.5rem;
  border-radius: 0;
}

.frameworks-list-section .framework-meta-row {
  font-size: 0.8rem;
  color: #8C96A0;
}

.frameworks-list-section .framework-meta-author,
.frameworks-list-section .framework-meta-date {
  color: #59626A;
}

.frameworks-list-section .framework-meta-divider {
  color: #DCD7CE;
}

.frameworks-list-section .framework-card-title {
  font-size: clamp(1.1rem, 1.5vw, 1.3rem);
  line-height: 1.3;
  letter-spacing: 0.03em;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.frameworks-list-section .framework-card-title a {
  color: #1A1D20;
  position: relative;
  display: inline;
  overflow-wrap: anywhere;
  transition: color 0.2s ease;
}

.frameworks-list-section .framework-card:hover .framework-card-title a {
  color: #D84315;
}

.frameworks-list-section .framework-card-excerpt {
  color: #59626A;
  font-size: 0.925rem;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.frameworks-list-section .framework-card-footer {
  border-top: 1px solid #EBE7DF;
}

.frameworks-list-section .framework-step-indicator {
  font-size: 0.75rem;
  font-weight: 600;
  color: #8C96A0;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.frameworks-list-section .framework-action-link {
  font-size: 0.85rem;
  font-weight: 600;
  color: #1A1D20;
  text-decoration: none;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: color 0.2s ease, transform 0.2s ease;
}

.frameworks-list-section .framework-action-link:hover {
  color: #D84315;
}

.frameworks-list-section .framework-action-link i {
  transition: transform 0.2s ease;
}

.frameworks-list-section .framework-action-link:hover i {
  transform: translateX(3px);
}

.frameworks-list-section .frameworks-reset-btn {
  background-color: #1A1D20;
  color: #FFFFFF;
  border-radius: 0;
  border: 1px solid #1A1D20;
  padding: 0.5rem 1.25rem;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.frameworks-list-section .frameworks-reset-btn:hover {
  background-color: #D84315;
  border-color: #D84315;
  color: #FFFFFF;
}

@media (max-width: 767px) {
  .frameworks-list-section .framework-card-body {
    padding: 1.25rem !important;
  }
  .frameworks-list-section .frameworks-section-title {
    font-size: 1.2rem;
  }
  .frameworks-list-section .framework-card-title {
    font-size: 1.05rem;
  }
}

/* ===== PAGE: onshape-brand-support ===== */
.onshape-info {
  background-color: #F9F8F6;
  font-family: 'Signika', sans-serif;
  color: #1A1D20;
}

.onshape-info .onshape-info__main-panel,
.onshape-info .onshape-info__aside-card,
.onshape-info .onshape-info__tier-card,
.onshape-info .onshape-info__step-item {
  border-color: #DCD7CE !important;
  border-radius: 0 !important;
}

.onshape-info .onshape-info__tag {
  background-color: #FBE9E7;
  color: #D84315;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  padding: 0.35rem 0.65rem;
}

.onshape-info .onshape-info__heading {
  font-size: clamp(1.4rem, 2.8vw, 2rem);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #1A1D20;
  overflow-wrap: anywhere;
}

.onshape-info .onshape-info__subheading {
  font-size: clamp(1.1rem, 1.8vw, 1.35rem);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #1A1D20;
  overflow-wrap: anywhere;
}

.onshape-info .onshape-info__lead {
  font-size: 1.05rem;
  line-height: 1.6;
}

.onshape-info .onshape-info__tab-btn {
  border-radius: 0;
  background-color: transparent;
  border: 1px solid transparent;
  color: #59626A;
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.5rem 0.85rem;
  transition: all 0.2s ease;
}

.onshape-info .onshape-info__tab-btn:hover {
  color: #1A1D20;
  background-color: #F2EFEB;
}

.onshape-info .onshape-info__tab-btn.active {
  background-color: #1A1D20;
  color: #FFFFFF;
  border-color: #1A1D20;
}

.onshape-info .onshape-info__tier-card {
  background-color: #FAFAFA;
}

.onshape-info .onshape-info__card-accent {
  width: 32px;
  height: 3px;
  background-color: #D84315;
}

.onshape-info .onshape-info__aside-title {
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #1A1D20;
  overflow-wrap: anywhere;
}

.onshape-info .onshape-info__btn-primary {
  background-color: #1A1D20;
  color: #FFFFFF;
  border: 1px solid #1A1D20;
  border-radius: 0;
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.06em;
  transition: all 0.25s ease;
}

.onshape-info .onshape-info__btn-primary:hover {
  background-color: #D84315;
  border-color: #D84315;
  color: #FFFFFF;
}

.onshape-info .onshape-info__btn-outline {
  background-color: transparent;
  color: #1A1D20;
  border: 1px solid #1A1D20;
  border-radius: 0;
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.06em;
  transition: all 0.25s ease;
}

.onshape-info .onshape-info__btn-outline:hover {
  background-color: #1A1D20;
  color: #FFFFFF;
}

.onshape-info .onshape-info__btn-accent {
  background-color: #D84315;
  color: #FFFFFF;
  border: 1px solid #D84315;
  border-radius: 0;
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.06em;
  transition: all 0.25s ease;
}

.onshape-info .onshape-info__btn-accent:hover {
  background-color: #1A1D20;
  border-color: #1A1D20;
  color: #FFFFFF;
}

@media (max-width: 767px) {
  .onshape-info .onshape-info__heading {
    font-size: 16px;
    hyphens: auto;
  }
  .onshape-info .onshape-info__subheading,
  .onshape-info .onshape-info__aside-title {
    font-size: 14px;
    hyphens: auto;
  }
  .onshape-info .onshape-info__tab-btn {
    width: 100%;
    text-align: left;
  }
}

/* ===== PAGE: contact ===== */
.contact-editorial-section { background-color: #F9F8F6; color: #1A1D20; font-family: 'Signika', sans-serif; } .contact-editorial-section .text-accent { color: #D84315; } .contact-editorial-section .contact-meta-card { background-color: #FFFFFF; border: 1px solid #DCD7CE; padding: 2.25rem 2rem; border-radius: 0; } .contact-editorial-section .contact-eyebrow { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; color: #D84315; } .contact-editorial-section .contact-card-title { font-size: clamp(1.4rem, 2.2vw, 1.85rem); font-weight: 700; line-height: 1.25; letter-spacing: 0.04em; color: #1A1D20; } .contact-editorial-section .contact-intro-text { font-size: 0.95rem; line-height: 1.6; color: #495057; } .contact-editorial-section .contact-details-list { border-top: 1px solid #EBE7DF; padding-top: 1.5rem; } .contact-editorial-section .contact-item { display: flex; align-items: flex-start; gap: 1rem; } .contact-editorial-section .contact-item-icon-box { width: 40px; height: 40px; min-width: 40px; background-color: #F2EFEB; border: 1px solid #DCD7CE; color: #D84315; display: flex; align-items: center; justify-content: center; font-size: 1.15rem; } .contact-editorial-section .contact-item-content { min-width: 0; overflow-wrap: anywhere; } .contact-editorial-section .contact-label { font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #59626A; margin-bottom: 0.15rem; } .contact-editorial-section .contact-value { font-size: 0.95rem; font-weight: 500; color: #1A1D20; line-height: 1.4; display: block; overflow-wrap: anywhere; } .contact-editorial-section .contact-link { font-size: 0.95rem; font-weight: 500; color: #1A1D20; text-decoration: none; transition: color 0.2s ease; overflow-wrap: anywhere; } .contact-editorial-section .contact-link:hover, .contact-editorial-section .contact-link:focus { color: #D84315; text-decoration: underline; } .contact-editorial-section .contact-notice-box { background-color: #F2EFEB; border-left: 3px solid #D84315; padding: 1rem 1.25rem; } .contact-editorial-section .contact-notice-title { font-size: 0.85rem; font-weight: 600; color: #1A1D20; text-transform: uppercase; letter-spacing: 0.05em; } .contact-editorial-section .contact-notice-body { font-size: 0.85rem; line-height: 1.5; color: #495057; } .contact-editorial-section .contact-form-container { background-color: #FFFFFF; border: 1px solid #DCD7CE; padding: 2.25rem 2rem; border-radius: 0; } .contact-editorial-section .contact-form-badge { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; color: #D84315; } .contact-editorial-section .contact-form-title { font-size: clamp(1.3rem, 2vw, 1.7rem); font-weight: 700; line-height: 1.25; letter-spacing: 0.04em; color: #1A1D20; } .contact-editorial-section .contact-form-subtitle { font-size: 0.925rem; line-height: 1.6; color: #59626A; } .contact-editorial-section .contact-field-label { font-size: 0.825rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: #1A1D20; margin-bottom: 0.35rem; display: block; } .contact-editorial-section .required-star { color: #D84315; } .contact-editorial-section .contact-text-input, .contact-editorial-section .contact-text-area { background-color: #F9F8F6; border: 1px solid #DCD7CE; border-radius: 0; color: #1A1D20; font-size: 0.95rem; padding: 0.75rem 1rem; transition: border-color 0.2s ease, background-color 0.2s ease; } .contact-editorial-section .contact-text-input:focus, .contact-editorial-section .contact-text-area:focus { background-color: #FFFFFF; border-color: #D84315; box-shadow: none; color: #1A1D20; outline: none; } .contact-editorial-section .contact-text-input::placeholder, .contact-editorial-section .contact-text-area::placeholder { color: #8C96A0; opacity: 1; font-size: 0.9rem; } .contact-editorial-section .contact-submit-btn { background-color: #1A1D20; color: #FFFFFF; font-size: 0.875rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; border-radius: 0; border: 1px solid #1A1D20; padding: 0.85rem 1.75rem; transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease; } .contact-editorial-section .contact-submit-btn:hover, .contact-editorial-section .contact-submit-btn:focus { background-color: #D84315; color: #FFFFFF; border-color: #D84315; } .contact-editorial-section .contact-privacy-note { font-size: 0.8rem; color: #59626A; line-height: 1.4; } @media (max-width: 767.98px) { .contact-editorial-section .contact-meta-card, .contact-editorial-section .contact-form-container { padding: 1.5rem 1.25rem; } .contact-editorial-section .contact-card-title { font-size: 1.25rem; } .contact-editorial-section .contact-form-title { font-size: 1.15rem; } .contact-editorial-section .contact-submit-btn { width: 100%; justify-content: center; } }

/* ===== PAGE: privacy ===== */
.legal-policy-section {
  background-color: #F9F8F6;
  font-family: 'Signika', sans-serif;
  color: #1A1D20;
  overflow-x: hidden;
}

.legal-policy-section .legal-toc-wrapper {
  background-color: #FFFFFF;
  border: 1px solid #DCD7CE;
  top: 90px;
}

.legal-policy-section .legal-kicker {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #D84315;
}

.legal-policy-section .legal-toc-title {
  font-size: 1.15rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #1A1D20;
  border-bottom: 2px solid #DCD7CE;
  padding-bottom: 0.5rem;
}

.legal-policy-section .legal-nav-link {
  font-size: 0.875rem;
  font-weight: 500;
  color: #59626A;
  text-decoration: none;
  padding: 0.4rem 0.6rem;
  border-left: 2px solid transparent;
  transition: all 0.2s ease;
  overflow-wrap: anywhere;
}

.legal-policy-section .legal-nav-link:hover,
.legal-policy-section .legal-nav-link.active {
  color: #D84315;
  background-color: #FBE9E7;
  border-left-color: #D84315;
}

.legal-policy-section .legal-meta-text {
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #59626A;
}

.legal-policy-section .legal-content-card {
  background-color: #FFFFFF;
  border: 1px solid #DCD7CE;
}

.legal-policy-section .legal-badge {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.35rem 0.75rem;
  background-color: #F2EFEB;
  color: #1A1D20;
  border: 1px solid #DCD7CE;
}

.legal-policy-section .legal-heading {
  font-size: clamp(1.25rem, 2.2vw, 1.6rem);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #1A1D20;
  border-bottom: 1px solid #EBE7DF;
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
  overflow-wrap: anywhere;
}

.legal-policy-section .legal-subheading {
  font-size: 1.05rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #1A1D20;
  margin-bottom: 0.5rem;
  overflow-wrap: anywhere;
}

.legal-policy-section p {
  font-size: 0.975rem;
  line-height: 1.65;
  color: #495057;
  overflow-wrap: anywhere;
}

.legal-policy-section .legal-list {
  padding-left: 1.25rem;
  margin-bottom: 1rem;
}

.legal-policy-section .legal-list li {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #495057;
  margin-bottom: 0.5rem;
  overflow-wrap: anywhere;
}

.legal-policy-section .purpose-card {
  background-color: #F9F8F6;
  border: 1px solid #DCD7CE;
}

.legal-policy-section .purpose-title {
  font-size: 0.95rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #1A1D20;
  margin-bottom: 0.4rem;
}

.legal-policy-section .purpose-desc {
  font-size: 0.875rem;
  line-height: 1.5;
  color: #59626A;
}

.legal-policy-section .text-accent {
  color: #D84315 !important;
}

.legal-policy-section .legal-contact-box {
  background-color: #F2EFEB;
  border: 1px solid #DCD7CE;
}

.legal-policy-section .legal-inline-link {
  color: #D84315;
  font-weight: 600;
  text-decoration: underline;
  transition: color 0.2s ease;
}

.legal-policy-section .legal-inline-link:hover {
  color: #BF360C;
}

@media (max-width: 767px) {
  .legal-policy-section .legal-heading {
    font-size: 1.15rem;
  }
  .legal-policy-section .legal-subheading {
    font-size: 0.95rem;
  }
  .legal-policy-section .legal-toc-wrapper {
    margin-bottom: 1.5rem;
    position: static;
  }
}

/* ===== PAGE: terms ===== */
.terms-section {
  background-color: #F9F8F6;
  font-family: 'Signika', sans-serif;
  color: #1A1D20;
}

.terms-section .terms-sidebar {
  background-color: #FFFFFF;
  border: 1px solid #DCD7CE;
  top: 100px;
}

.terms-section .badge-taxo {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #D84315;
  text-transform: uppercase;
}

.terms-section .sidebar-title {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #1A1D20;
  line-height: 1.2;
}

.terms-section .sidebar-meta {
  font-size: 0.8rem;
  letter-spacing: 0.02em;
}

.terms-section .input-group-text {
  border-color: #DCD7CE;
  color: #59626A;
  border-radius: 0;
}

.terms-section .form-control {
  border-color: #DCD7CE;
  border-radius: 0;
  background-color: #FFFFFF;
  color: #1A1D20;
  font-size: 0.88rem;
}

.terms-section .form-control:focus {
  border-color: #D84315;
  box-shadow: none;
}

.terms-section .form-control::placeholder {
  color: #8C96A0;
  opacity: 1;
}

.terms-section .terms-nav .nav-item-link {
  display: block;
  padding: 0.55rem 0.75rem;
  font-size: 0.88rem;
  font-weight: 500;
  color: #59626A;
  text-decoration: none;
  border-left: 2px solid transparent;
  transition: all 0.2s ease;
}

.terms-section .terms-nav .nav-item-link:hover {
  color: #1A1D20;
  background-color: #F2EFEB;
  border-left-color: #D84315;
}

.terms-section .terms-nav .nav-item-link.active {
  color: #1A1D20;
  font-weight: 600;
  background-color: #FBE9E7;
  border-left-color: #D84315;
}

.terms-section .sec-num {
  font-size: 0.78rem;
  color: #D84315;
  font-weight: 600;
  margin-right: 4px;
}

.terms-section .caption-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.terms-section .side-link {
  font-size: 0.85rem;
  color: #1A1D20;
  text-decoration: none;
  padding: 0.35rem 0.5rem;
  transition: background 0.2s ease, color 0.2s ease;
}

.terms-section .side-link:hover {
  background-color: #F2EFEB;
  color: #D84315;
}

.terms-section .text-accent {
  color: #D84315;
}

.terms-section .alert-notice {
  background-color: #F2EFEB;
  border: 1px solid #DCD7CE;
  border-left: 4px solid #1A1D20;
  color: #1A1D20;
}

.terms-section .term-block {
  background-color: #FFFFFF;
  border: 1px solid #DCD7CE;
  transition: border-color 0.2s ease;
}

.terms-section .term-block:hover {
  border-color: #8C96A0;
}

.terms-section .term-tag {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #59626A;
}

.terms-section .tag-number {
  color: #D84315;
}

.terms-section .term-heading {
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.03em;
  color: #1A1D20;
  text-transform: uppercase;
  margin-bottom: 0.85rem;
}

.terms-section .border-start-accent {
  border-left: 3px solid #D84315;
  background-color: #F9F8F6;
}

.terms-section .border-subtle {
  border-color: #EBE7DF !important;
}

.terms-section .custom-checklist {
  list-style: none;
  padding-left: 0;
}

.terms-section .custom-checklist li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 0.45rem;
  font-size: 0.95rem;
  line-height: 1.55;
  color: #495057;
}

.terms-section .custom-checklist li::before {
  content: "–";
  position: absolute;
  left: 0.25rem;
  top: 0;
  color: #D84315;
  font-weight: 700;
}

.terms-section .btn-primary-custom {
  background-color: #1A1D20;
  color: #FFFFFF;
  border: 1px solid #1A1D20;
  border-radius: 0;
  font-weight: 600;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: all 0.2s ease;
}

.terms-section .btn-primary-custom:hover {
  background-color: #D84315;
  border-color: #D84315;
  color: #FFFFFF;
}

.terms-section .btn-outline-custom {
  background-color: transparent;
  color: #1A1D20;
  border: 1px solid #1A1D20;
  border-radius: 0;
  font-weight: 600;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: all 0.2s ease;
}

.terms-section .btn-outline-custom:hover {
  background-color: #1A1D20;
  color: #FFFFFF;
}

@media (max-width: 767px) {
  .terms-section .terms-sidebar {
    position: static !important;
    margin-bottom: 1.5rem;
  }
  .terms-section .term-heading {
    font-size: 1.1rem;
  }
  .terms-section .sidebar-title {
    font-size: 1.05rem;
  }
}

/* ===== PAGE: disclaimer ===== */
.legal-content-section {
  background-color: #F9F8F6;
  color: #1A1D20;
  font-family: 'Signika', sans-serif;
}

.legal-content-section .legal-wrapper {
  border-color: #DCD7CE !important;
  box-shadow: none;
}

.legal-content-section .badge-notice {
  background-color: #F2EFEB;
  color: #1A1D20;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.35rem 0.65rem;
  border: 1px solid #DCD7CE;
}

.legal-content-section .meta-divider {
  color: #8C96A0;
}

.legal-content-section .meta-date {
  font-size: 0.85rem;
  color: #59626A;
}

.legal-content-section .status-text {
  font-size: 0.85rem;
  font-weight: 500;
  color: #2E7D32;
}

.legal-content-section .clause-title {
  font-size: clamp(1.15rem, 1.8vw, 1.45rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #1A1D20;
  border-bottom: 1px solid #EBE7DF;
  padding-bottom: 0.5rem;
  line-height: 1.3;
}

.legal-content-section .text-accent {
  color: #D84315 !important;
}

.legal-content-section .clause-text {
  font-size: 1rem;
  line-height: 1.7;
  color: #495057;
  overflow-wrap: anywhere;
}

.legal-content-section .notice-box {
  background-color: #F2EFEB !important;
  border-left-color: #1A1D20 !important;
}

.legal-content-section .btn-editorial-solid {
  background-color: #1A1D20;
  color: #FFFFFF;
  padding: 0.65rem 1.4rem;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border: 1px solid #1A1D20;
  border-radius: 0;
  transition: background-color 0.25s linear, color 0.25s linear, border-color 0.25s linear;
}

.legal-content-section .btn-editorial-solid:hover {
  background-color: #D84315;
  border-color: #D84315;
  color: #FFFFFF;
}

.legal-content-section .btn-editorial-outline {
  background-color: transparent;
  color: #1A1D20;
  padding: 0.65rem 1.4rem;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border: 1px solid #1A1D20;
  border-radius: 0;
  transition: background-color 0.25s linear, color 0.25s linear, border-color 0.25s linear;
}

.legal-content-section .btn-editorial-outline:hover {
  background-color: #1A1D20;
  color: #FFFFFF;
}

@media (max-width: 767px) {
  .legal-content-section .clause-title {
    font-size: 1.1rem;
  }
  .legal-content-section .btn-editorial-solid,
  .legal-content-section .btn-editorial-outline {
    width: 100%;
    justify-content: center;
  }
}

.editorial-comment-item {
    width: 100%;
    margin-bottom: 1.5rem;
    font-family: 'Signika', sans-serif
}

.editorial-comment-card {
    background-color: #FFFFFF;
    border: 1px solid #DCD7CE;
    border-radius: 0px;
    padding: 1.5rem;
    box-shadow: none;
    transition: border-color 0.2s ease
}

.editorial-comment-card:hover {
    border-color: #1A1D20
}

.editorial-comment-header {
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #EBE7DF
}

.editorial-comment-avatar {
    width: 44px;
    height: 44px;
    min-width: 44px;
    border-radius: 0px;
    border: 1px solid #DCD7CE;
    object-fit: cover;
    display: block;
    background-color: #F2EFEB
}

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

.editorial-comment-author {
    font-size: 0.95rem;
    font-weight: 600;
    color: #1A1D20;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    line-height: 1.2
}

.editorial-comment-badge {
    font-size: 0.7rem;
    font-weight: 600;
    color: #D84315;
    letter-spacing: 0.08em;
    text-transform: uppercase
}

.editorial-comment-date {
    font-size: 0.78rem;
    color: #8C96A0;
    font-weight: 400
}

.editorial-comment-fork-tag {
    font-size: 0.75rem;
    font-weight: 600;
    color: #59626A;
    letter-spacing: 0.08em
}

.editorial-comment-fork-tag .fork-indicator {
    color: #1A1D20;
    background-color: #F2EFEB;
    padding: 3px 8px;
    border: 1px solid #DCD7CE
}

.editorial-comment-body {
    margin-bottom: 1.25rem
}

.editorial-comment-text {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #1A1D20;
    margin-bottom: 0
}

.editorial-comment-footer {
    padding-top: 0.875rem;
    border-top: 1px solid #EBE7DF
}

.editorial-comment-btn {
    background: transparent;
    border: 1px solid #DCD7CE;
    color: #1A1D20;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.35rem 0.85rem;
    border-radius: 0px;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    transition: all 0.25s linear
}

.editorial-comment-btn:hover {
    background-color: #1A1D20;
    color: #FFFFFF;
    border-color: #1A1D20
}

.editorial-like-btn:hover .bi-hand-thumbs-up {
    color: #FFFFFF
}

.editorial-like-count {
    font-weight: 700;
    margin-left: 0.25rem
}

.editorial-reply-btn:hover {
    background-color: #D84315;
    border-color: #D84315;
    color: #FFFFFF
}

.editorial-comment-id {
    font-size: 0.75rem;
    font-weight: 500;
    color: #8C96A0;
    letter-spacing: 0.06em
}

.editorial-reply-item {
    width: 100%;
    margin-left: auto;
    padding-left: 2.5rem;
    position: relative;
    margin-bottom: 1rem;
    font-family: 'Signika', sans-serif
}

.editorial-reply-item::before {
    content: '';
    position: absolute;
    left: 0.75rem;
    top: 0;
    bottom: 50%;
    width: 2px;
    background-color: #DCD7CE
}

.editorial-reply-item::after {
    content: '';
    position: absolute;
    left: 0.75rem;
    top: 50%;
    width: 1.5rem;
    height: 2px;
    background-color: #DCD7CE
}

.editorial-reply-card {
    background-color: #F9F8F6;
    border: 1px solid #DCD7CE;
    border-left: 3px solid #D84315;
    border-radius: 0px;
    padding: 1.25rem;
    box-shadow: none;
    transition: border-color 0.2s ease
}

.editorial-reply-card:hover {
    border-color: #1A1D20;
    border-left-color: #D84315
}

.editorial-reply-header {
    padding-bottom: 0.75rem;
    margin-bottom: 0.75rem;
    border-bottom: 1px solid #EBE7DF
}

.editorial-reply-avatar {
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 0px;
    border: 1px solid #DCD7CE;
    object-fit: cover;
    display: block;
    background-color: #ECE8E1
}

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

.editorial-reply-author {
    font-size: 0.9rem;
    font-weight: 600;
    color: #1A1D20;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    line-height: 1.2
}

.editorial-reply-badge {
    font-size: 0.68rem;
    font-weight: 600;
    color: #59626A;
    letter-spacing: 0.08em;
    text-transform: uppercase
}

.editorial-reply-date {
    font-size: 0.75rem;
    color: #8C96A0;
    font-weight: 400
}

.editorial-reply-indicator {
    font-size: 0.72rem;
    font-weight: 600;
    color: #546E7A;
    letter-spacing: 0.08em
}

.editorial-reply-indicator .branch-tag {
    color: #546E7A;
    background-color: #ECE8E1;
    padding: 2px 6px;
    border: 1px solid #DCD7CE
}

.editorial-reply-body {
    margin-bottom: 1rem
}

.editorial-reply-text {
    font-size: 0.9rem;
    line-height: 1.55;
    color: #1A1D20;
    margin-bottom: 0
}

.editorial-reply-footer {
    padding-top: 0.75rem;
    border-top: 1px solid #EBE7DF
}

.editorial-reply-id {
    font-size: 0.72rem;
    font-weight: 500;
    color: #8C96A0;
    letter-spacing: 0.06em
}

@media (max-width:576px) {
    .editorial-reply-item {
        padding-left: 1.25rem
    }

    .editorial-reply-item::before {
        left: 0.25rem
    }

    .editorial-reply-item::after {
        left: 0.25rem;
        width: 0.85rem
    }
}


/* ===== PAGE TEMPLATE: cases ===== */
.optionfork-nav-header {
    background-color: #F9F8F6;
    border-bottom: 1px solid #DCD7CE;
    position: sticky;
    top: 0;
    z-index: 1030;
    width: 100%;
}

.optionfork-nav-header .navbar {
    padding: 0.75rem 0;
    background-color: #F9F8F6;
}

.optionfork-nav-header .brand-logo-img {
    max-width: 40px;
    max-height: 40px;
    object-fit: contain;
}

.optionfork-nav-header .brand-title {
    font-family: 'Signika', sans-serif;
    font-weight: 700;
    font-size: 1.25rem;
    letter-spacing: 0.04em;
    color: #1A1D20;
    text-transform: uppercase;
}

.optionfork-nav-header .brand-accent {
    color: #D84315;
}

.optionfork-nav-header .brand-sub {
    font-weight: 400;
    color: #495057;
    font-size: 0.95rem;
}

.optionfork-nav-header .navbar-nav .nav-link {
    font-family: 'Signika', sans-serif;
    font-weight: 600;
    font-size: 0.875rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #1A1D20;
    padding: 0.5rem 0.85rem;
    position: relative;
    transition: color 0.25s ease;
}

.optionfork-nav-header .navbar-nav .nav-link:hover,
.optionfork-nav-header .navbar-nav .nav-link:focus {
    color: #D84315;
}

.optionfork-nav-header .navbar-nav .nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0.85rem;
    right: 0.85rem;
    height: 2px;
    background-color: #D84315;
    transform: scaleX(0);
    transition: transform 0.25s ease;
}

.optionfork-nav-header .navbar-nav .nav-link:hover::after,
.optionfork-nav-header .navbar-nav .nav-link:focus::after {
    transform: scaleX(1);
}

.optionfork-nav-header .btn-nav-cta {
    font-family: 'Signika', sans-serif;
    font-weight: 600;
    font-size: 0.875rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background-color: #1A1D20;
    color: #FFFFFF;
    border: 1px solid #1A1D20;
    border-radius: 0;
    padding: 0.55rem 1.25rem;
    transition: all 0.25s linear;
}

.optionfork-nav-header .btn-nav-cta:hover,
.optionfork-nav-header .btn-nav-cta:focus {
    background-color: #D84315;
    color: #FFFFFF;
    border-color: #D84315;
}

.optionfork-nav-header .navbar-toggler {
    box-shadow: none;
    background-color: #F2EFEB;
    border-radius: 0;
}

.optionfork-nav-header .navbar-toggler:focus {
    box-shadow: none;
    outline: 2px solid #D84315;
}

.hero-section {
    background-color: #F9F8F6;
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
    border-bottom: 1px solid #DCD7CE;
    overflow: hidden;
    color: #1A1D20;
    font-family: 'Signika', sans-serif;
}

.hero-section .hero-top-bar {
    border-bottom: 1px solid #DCD7CE;
}

.hero-section .hero-kicker-badge {
    background-color: #1A1D20;
    color: #FFFFFF;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    padding: 0.4rem 0.65rem;
    border-radius: 0px;
}

.hero-section .hero-meta-dot {
    color: #8C96A0;
    font-weight: 700;
}

.hero-section .hero-meta-text {
    color: #59626A;
    font-size: 0.875rem;
    font-weight: 500;
}

.hero-section .hero-meta-label {
    color: #8C96A0;
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.hero-section .hero-meta-value {
    color: #1A1D20;
    font-size: 0.875rem;
    font-weight: 600;
}

.hero-section .hero-title {
    font-size: clamp(2rem, 4vw, 3.25rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #1A1D20;
    overflow-wrap: anywhere;
}

.hero-section .hero-accent-text {
    color: #D84315;
}

.hero-section .hero-lead {
    font-size: 1.1rem;
    line-height: 1.65;
    color: #59626A;
    overflow-wrap: anywhere;
}

.hero-section .hero-aside-card {
    background-color: #F2EFEB;
    border: 1px solid #DCD7CE;
    border-radius: 0px;
}

.hero-section .hero-card-tag {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #59626A;
}

.hero-section .hero-status-pill {
    font-size: 0.75rem;
    font-weight: 600;
    color: #1A1D20;
    background-color: #ECE8E1;
    padding: 0.2rem 0.5rem;
    border-radius: 0px;
}

.case-detail-layout {
    background-color: #FFFFFF;
    font-family: 'Signika', sans-serif;
    color: #1A1D20;
}

.case-detail-layout .case-sticky-column {
    top: 90px;
}

.case-detail-layout .case-sidebar-block {
    background-color: #F9F8F6;
    border: 1px solid #DCD7CE;
}

.case-detail-layout .case-sub-tag {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #D84315;
}

.case-detail-layout .case-summary-heading {
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #1A1D20;
    line-height: 1.3;
}

.case-detail-layout .case-summary-text {
    font-size: 0.9375rem;
    color: #59626A;
    line-height: 1.6;
}

.case-detail-layout .case-sidebar-cta-box {
    background-color: #F2EFEB;
    border-left: 3px solid #D84315;
}

.case-detail-layout .btn-case-sidebar-cta {
    background-color: #1A1D20;
    color: #FFFFFF;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    padding: 0.6rem 1rem;
    border-radius: 0;
    border: 1px solid #1A1D20;
    transition: background-color 0.25s linear, color 0.25s linear;
}

.case-detail-layout .btn-case-sidebar-cta:hover,
.case-detail-layout .btn-case-sidebar-cta:focus {
    background-color: #D84315;
    color: #FFFFFF;
    border-color: #D84315;
}

.case-detail-layout .case-section-kicker {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #8C96A0;
}

.case-detail-layout .case-mini-fact-card {
    background-color: #FFFFFF;
    border: 1px solid #DCD7CE;
}

.case-detail-layout .case-fact-val {
    font-size: 0.95rem;
    font-weight: 700;
    color: #1A1D20;
    line-height: 1.2;
}

.case-detail-layout .case-fact-lbl {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #8C96A0;
    letter-spacing: 0.04em;
}

.case-detail-layout .case-image-frame {
    background-color: #F2EFEB;
    border: 1px solid #DCD7CE;
}

.case-detail-layout .case-image-container {
    overflow: hidden;
    background-color: #ECE8E1;
}

.case-detail-layout .case-primary-img {
    width: 100%;
    max-height: 440px;
    object-fit: cover;
    display: block;
}

.case-detail-layout .case-image-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(26, 29, 32, 0.88);
    backdrop-filter: blur(4px);
}

.case-detail-layout .case-section-num {
    font-size: 1.2rem;
    font-weight: 700;
    color: #D84315;
    background-color: #FBE9E7;
    padding: 0.25rem 0.6rem;
    line-height: 1;
}

.case-detail-layout .case-section-title {
    font-size: clamp(1.25rem, 2.2vw, 1.65rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #1A1D20;
    line-height: 1.25;
}

.case-detail-layout .case-prose-body p {
    font-size: 1rem;
    line-height: 1.65;
    color: #495057;
    margin-bottom: 1.2rem;
}

.case-detail-layout .case-quote-box {
    background-color: #F9F8F6;
    border-left: 4px solid #D84315;
    border-top: 1px solid #DCD7CE;
    border-right: 1px solid #DCD7CE;
    border-bottom: 1px solid #DCD7CE;
}

.case-detail-layout .case-quote-text {
    font-size: 1.05rem;
    font-weight: 500;
    font-style: italic;
    color: #1A1D20;
    line-height: 1.5;
}

.case-detail-layout .case-quote-author {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #8C96A0;
}

.case-detail-layout .case-fork-column {
    background-color: #F9F8F6;
    border: 1px solid #DCD7CE;
}

.case-detail-layout .case-fork-tag {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    padding: 0.2rem 0.5rem;
    border-radius: 0;
}

.case-detail-layout .fork-tag-a {
    background-color: #E8F5E9;
    color: #2E7D32;
}

.case-detail-layout .fork-tag-b {
    background-color: #E3F2FD;
    color: #1565C0;
}

.case-detail-layout .fork-tag-c {
    background-color: #FFF3E0;
    color: #E65100;
}

.case-detail-layout .case-fork-title {
    font-size: 0.95rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #1A1D20;
}

.case-detail-layout .case-spec-list strong {
    color: #1A1D20;
}

.case-detail-layout .case-spec-list span {
    font-size: 0.95rem;
    color: #495057;
}

.case-detail-layout .case-faq-accordion .accordion-item {
    border-color: #DCD7CE;
    background-color: #FFFFFF;
}

.case-detail-layout .case-faq-accordion .accordion-button {
    background-color: #F9F8F6;
    color: #1A1D20;
    font-weight: 600;
    font-size: 0.95rem;
    padding: 1rem 1.25rem;
    box-shadow: none;
}

.case-detail-layout .case-faq-accordion .accordion-button:not(.collapsed) {
    background-color: #F2EFEB;
    color: #D84315;
    border-bottom: 1px solid #DCD7CE;
}

.case-detail-layout .case-counseling-box {
    background-color: #F2EFEB;
    border: 1px solid #DCD7CE;
}

.case-detail-layout .case-counseling-title {
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #1A1D20;
}

.case-detail-layout .case-counseling-text {
    font-size: 0.9rem;
    color: #59626A;
    line-height: 1.55;
}

.case-detail-layout .case-input {
    background-color: #FFFFFF;
    color: #1A1D20;
    border: 1px solid #DCD7CE;
    border-radius: 0;
    padding: 0.65rem 0.85rem;
    font-size: 0.9rem;
}

.case-detail-layout .case-input:focus {
    background-color: #FFFFFF;
    color: #1A1D20;
    border-color: #D84315;
    box-shadow: none;
}

.case-detail-layout .case-input::placeholder {
    color: #8C96A0;
    opacity: 1;
}

.case-detail-layout .btn-case-submit {
    background-color: #D84315;
    color: #FFFFFF;
    border: 1px solid #D84315;
    border-radius: 0;
    font-weight: 600;
    font-size: 0.875rem;
    letter-spacing: 0.06em;
    padding: 0.75rem 1.25rem;
    min-height: 46px;
    transition: background-color 0.25s linear, border-color 0.25s linear;
}

.case-detail-layout .btn-case-submit:hover,
.case-detail-layout .btn-case-submit:focus {
    background-color: #1A1D20;
    color: #FFFFFF;
    border-color: #1A1D20;
}

.case-detail-layout .case-related-heading {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #1A1D20;
}

.case-detail-layout .case-related-card {
    background-color: #F9F8F6;
    border: 1px solid #DCD7CE;
}

.case-detail-layout .case-related-img-box {
    overflow: hidden;
    background-color: #ECE8E1;
    aspect-ratio: 16/10;
}

.case-detail-layout .case-rel-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.case-detail-layout .case-related-card:hover .case-rel-thumb {
    transform: scale(1.03);
}

.case-detail-layout .case-rel-badge {
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
    background-color: #1A1D20;
    color: #FFFFFF;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    padding: 0.2rem 0.45rem;
}

.case-detail-layout .case-rel-title {
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    line-height: 1.3;
}

.case-detail-layout .case-rel-title a {
    color: #1A1D20;
    transition: color 0.2s ease;
}

.case-detail-layout .case-rel-title a:hover {
    color: #D84315;
}

.case-detail-layout .case-read-more-link {
    color: #D84315;
    font-weight: 600;
    font-size: 0.8125rem;
    letter-spacing: 0.05em;
    text-decoration: none;
    transition: color 0.2s ease, transform 0.2s ease;
}

.case-detail-layout .case-read-more-link:hover {
    color: #1A1D20;
}

.fork-footer {
    background-color: #F2EFEB;
    color: #1A1D20;
    border-top: 1px solid #DCD7CE;
    padding-top: 60px;
    padding-bottom: 30px;
    font-family: 'Signika', sans-serif;
}

.fork-footer .fork-footer__top {
    padding-bottom: 40px;
    border-bottom: 1px solid #DCD7CE;
}

.fork-footer .fork-footer__brand {
    max-width: 100%;
}

.fork-footer .fork-footer__logo-title {
    font-size: 1.25rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #1A1D20;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.fork-footer .fork-footer__symbol {
    color: #D84315;
    font-family: monospace;
    font-weight: 700;
}

.fork-footer .fork-footer__tagline {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #59626A;
    margin-bottom: 14px;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__mission {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #D84315;
    background-color: #FBE9E7;
    border: 1px solid #DCD7CE;
    padding: 6px 10px;
    margin-top: 4px;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__col-title {
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #1A1D20;
    margin-bottom: 20px;
    padding-bottom: 8px;
    border-bottom: 2px solid #D84315;
    display: inline-block;
}

.fork-footer .fork-footer__list {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

.fork-footer .fork-footer__list li {
    margin-bottom: 12px;
}

.fork-footer .fork-footer__link {
    font-size: 0.9375rem;
    color: #495057;
    text-decoration: none;
    transition: color 0.25s ease, padding-left 0.25s ease;
    display: inline-block;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__link:hover,
.fork-footer .fork-footer__link:focus {
    color: #D84315;
    padding-left: 4px;
}

.fork-footer .fork-footer__contact-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.fork-footer .fork-footer__contact-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.9375rem;
    color: #495057;
}

.fork-footer .fork-footer__contact-icon {
    color: #D84315;
    font-size: 1rem;
    flex-shrink: 0;
    margin-top: 2px;
}

.fork-footer .fork-footer__contact-text {
    color: #495057;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__contact-link {
    color: #495057;
    text-decoration: none;
    line-height: 1.5;
    transition: color 0.25s ease;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__contact-link:hover,
.fork-footer .fork-footer__contact-link:focus {
    color: #D84315;
    text-decoration: underline;
}

.fork-footer .fork-footer__bottom {
    padding-top: 24px;
}

.fork-footer .fork-footer__copyright {
    font-size: 0.875rem;
    color: #59626A;
    margin-bottom: 0;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__legal-links {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8px;
}

@media (min-width: 768px) {
    .fork-footer .fork-footer__legal-links {
        justify-content: flex-end;
    }
}

.fork-footer .fork-footer__legal-link {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #59626A;
    text-decoration: none;
    transition: color 0.2s ease;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__legal-link:hover,
.fork-footer .fork-footer__legal-link:focus {
    color: #D84315;
}

.fork-footer .fork-footer__divider {
    font-size: 0.75rem;
    color: #8C96A0;
    user-select: none;
}

@media (max-width: 991.98px) {
    .optionfork-nav-header .navbar-collapse {
        background-color: #F9F8F6;
        padding: 1rem 0;
        border-top: 1px solid #DCD7CE;
        margin-top: 0.5rem;
    }

    .optionfork-nav-header .navbar-nav .nav-link {
        padding: 0.6rem 0.5rem;
        font-size: 0.85rem;
        border-bottom: 1px solid #EBE7DF;
    }

    .optionfork-nav-header .navbar-nav .nav-link::after {
        display: none;
    }

    .case-detail-layout .case-sticky-column {
        position: static !important;
    }
}

@media (max-width: 767px) {
    .hero-section {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }

    .hero-section .hero-title {
        font-size: 1.125rem;
    }

    .case-detail-layout .case-section-title {
        font-size: 1rem;
    }

    .case-detail-layout .case-summary-heading {
        font-size: 1rem;
    }

    .case-detail-layout .case-fork-title {
        font-size: 0.875rem;
    }

    .case-detail-layout .case-related-heading {
        font-size: 1.1rem;
    }

    .fork-footer {
        padding-top: 40px;
        padding-bottom: 24px;
    }

    .fork-footer .fork-footer__top {
        padding-bottom: 28px;
    }

    .fork-footer .fork-footer__col-title {
        margin-bottom: 12px;
    }

    .fork-footer .fork-footer__list li {
        margin-bottom: 10px;
    }

    .fork-footer .fork-footer__copyright {
        text-align: left;
    }
}

/* ===== PAGE TEMPLATE: parallel-design ===== */
.optionfork-nav-header {
    background-color: #F9F8F6;
    border-bottom: 1px solid #DCD7CE;
    position: sticky;
    top: 0;
    z-index: 1030;
    width: 100%;
}

.optionfork-nav-header .navbar {
    padding: 0.75rem 0;
    background-color: #F9F8F6;
}

.optionfork-nav-header .brand-logo-img {
    max-width: 40px;
    max-height: 40px;
    object-fit: contain;
}

.optionfork-nav-header .brand-title {
    font-family: 'Signika', sans-serif;
    font-weight: 700;
    font-size: 1.25rem;
    letter-spacing: 0.04em;
    color: #1A1D20;
    text-transform: uppercase;
}

.optionfork-nav-header .brand-accent {
    color: #D84315;
}

.optionfork-nav-header .brand-sub {
    font-weight: 400;
    color: #495057;
    font-size: 0.95rem;
}

.optionfork-nav-header .navbar-nav .nav-link {
    font-family: 'Signika', sans-serif;
    font-weight: 600;
    font-size: 0.875rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #1A1D20;
    padding: 0.5rem 0.85rem;
    position: relative;
    transition: color 0.25s ease;
}

.optionfork-nav-header .navbar-nav .nav-link:hover,
.optionfork-nav-header .navbar-nav .nav-link:focus {
    color: #D84315;
}

.optionfork-nav-header .navbar-nav .nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0.85rem;
    right: 0.85rem;
    height: 2px;
    background-color: #D84315;
    transform: scaleX(0);
    transition: transform 0.25s ease;
}

.optionfork-nav-header .navbar-nav .nav-link:hover::after,
.optionfork-nav-header .navbar-nav .nav-link:focus::after {
    transform: scaleX(1);
}

.optionfork-nav-header .btn-nav-cta {
    font-family: 'Signika', sans-serif;
    font-weight: 600;
    font-size: 0.875rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background-color: #1A1D20;
    color: #FFFFFF;
    border: 1px solid #1A1D20;
    border-radius: 0;
    padding: 0.55rem 1.25rem;
    transition: all 0.25s linear;
}

.optionfork-nav-header .btn-nav-cta:hover,
.optionfork-nav-header .btn-nav-cta:focus {
    background-color: #D84315;
    color: #FFFFFF;
    border-color: #D84315;
}

.optionfork-nav-header .navbar-toggler {
    box-shadow: none;
    background-color: #F2EFEB;
    border-radius: 0;
}

.optionfork-nav-header .navbar-toggler:focus {
    box-shadow: none;
    outline: 2px solid #D84315;
}

@media (max-width: 991.98px) {
    .optionfork-nav-header .navbar-collapse {
        background-color: #F9F8F6;
        padding: 1rem 0;
        border-top: 1px solid #DCD7CE;
        margin-top: 0.5rem;
    }

    .optionfork-nav-header .navbar-nav .nav-link {
        padding: 0.6rem 0.5rem;
        font-size: 0.85rem;
        border-bottom: 1px solid #EBE7DF;
    }

    .optionfork-nav-header .navbar-nav .nav-link::after {
        display: none;
    }
}

.hero-section {
    background-color: #F9F8F6;
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
    border-bottom: 1px solid #DCD7CE;
    overflow: hidden;
    color: #1A1D20;
    font-family: 'Signika', sans-serif;
}

.hero-section .hero-top-bar {
    border-bottom: 1px solid #DCD7CE;
}

.hero-section .hero-kicker-badge {
    background-color: #1A1D20;
    color: #FFFFFF;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    padding: 0.4rem 0.65rem;
    border-radius: 0px;
}

.hero-section .hero-meta-dot {
    color: #8C96A0;
    font-weight: 700;
}

.hero-section .hero-meta-text {
    color: #59626A;
    font-size: 0.875rem;
    font-weight: 500;
}

.hero-section .hero-meta-label {
    color: #8C96A0;
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.hero-section .hero-meta-value {
    color: #1A1D20;
    font-size: 0.875rem;
    font-weight: 600;
}

.hero-section .hero-title {
    font-size: clamp(2rem, 4vw, 3.25rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #1A1D20;
    overflow-wrap: anywhere;
}

.hero-section .hero-lead {
    font-size: 1.15rem;
    line-height: 1.65;
    color: #59626A;
    max-width: 680px;
    overflow-wrap: anywhere;
}

.hero-section .hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.85rem 1.75rem;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-decoration: none;
    border-radius: 0px;
    border: 1px solid transparent;
    transition: background-color 0.25s linear, color 0.25s linear, border-color 0.25s linear;
    min-height: 48px;
}

.hero-section .hero-btn-primary {
    background-color: #1A1D20;
    color: #FFFFFF;
    border-color: #1A1D20;
}

.hero-section .hero-btn-primary:hover,
.hero-section .hero-btn-primary:focus {
    background-color: #D84315;
    color: #FFFFFF;
    border-color: #D84315;
}

.hero-section .hero-btn-outline {
    background-color: transparent;
    color: #1A1D20;
    border-color: #1A1D20;
}

.hero-section .hero-btn-outline:hover,
.hero-section .hero-btn-outline:focus {
    background-color: #1A1D20;
    color: #FFFFFF;
    border-color: #1A1D20;
}

.hero-section .hero-aside-card {
    background-color: #F2EFEB;
    border: 1px solid #DCD7CE;
    border-radius: 0px;
}

.hero-section .hero-card-tag {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #59626A;
}

.hero-section .hero-status-pill {
    font-size: 0.75rem;
    font-weight: 600;
    color: #1A1D20;
    background-color: #ECE8E1;
    padding: 0.2rem 0.5rem;
    border-radius: 0px;
}

.hero-section .hero-meta-summary-list {
    font-size: 0.875rem;
}

.study-detail-wrapper {
    background-color: #F9F8F6;
    color: #1A1D20;
    font-family: 'Signika', sans-serif;
}

.study-detail-wrapper .study-content-column {
    max-width: 900px;
    width: 100%;
}

.study-detail-wrapper .numbered-section {
    border-bottom: 1px solid #DCD7CE;
    padding-bottom: 3.5rem;
}

.study-detail-wrapper .numbered-section:last-of-type {
    border-bottom: none;
    padding-bottom: 0;
}

.study-detail-wrapper .numbered-section__digit {
    font-size: clamp(2.2rem, 4vw, 3rem);
    font-weight: 700;
    line-height: 1;
    color: #D84315;
    background-color: #FBE9E7;
    padding: 0.4rem 0.75rem;
    border: 1px solid #DCD7CE;
    flex-shrink: 0;
}

.study-detail-wrapper .numbered-section__title {
    font-size: clamp(1.4rem, 2.5vw, 1.85rem);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #1A1D20;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.study-detail-wrapper .numbered-section__accent-line {
    width: 48px;
    height: 3px;
    background-color: #D84315;
}

.study-detail-wrapper .study-text-lead {
    font-size: 1.15rem;
    line-height: 1.65;
    color: #1A1D20;
    font-weight: 500;
    overflow-wrap: anywhere;
}

.study-detail-wrapper .study-text-body {
    font-size: 1rem;
    line-height: 1.6;
    color: #59626A;
    overflow-wrap: anywhere;
}

.study-detail-wrapper .study-main-asset-container {
    background-color: #F2EFEB;
    border: 1px solid #DCD7CE;
    padding: 12px;
    border-radius: 16px;
    overflow: hidden;
}

.study-detail-wrapper .study-main-img {
    border-radius: 12px;
    max-height: 480px;
    object-fit: cover;
}

.study-detail-wrapper .study-key-facts-card {
    background-color: #FFFFFF;
    border: 1px solid #DCD7CE;
    border-radius: 12px;
}

.study-detail-wrapper .study-facts-heading {
    font-size: 1.15rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #1A1D20;
    border-bottom: 2px solid #D84315;
    padding-bottom: 6px;
    display: inline-block;
}

.study-detail-wrapper .study-dt {
    font-weight: 600;
    color: #59626A;
    font-size: 0.9375rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.study-detail-wrapper .study-dd {
    font-weight: 600;
    color: #1A1D20;
    font-size: 0.9375rem;
    text-align: right;
}

.study-detail-wrapper .study-takeaways-box {
    background-color: #F2EFEB;
    border-left: 4px solid #D84315;
    border-radius: 8px;
}

.study-detail-wrapper .study-takeaways-title {
    font-size: 1.15rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #1A1D20;
}

.study-detail-wrapper .study-takeaways-list li {
    font-size: 0.95rem;
    line-height: 1.55;
    color: #495057;
}

.study-detail-wrapper .study-cta-split-card {
    background-color: #1A1D20;
    color: #FFFFFF;
    border-radius: 16px;
}

.study-detail-wrapper .study-cta-title {
    font-size: 1.35rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #FFFFFF;
}

.study-detail-wrapper .study-cta-text {
    font-size: 0.95rem;
    line-height: 1.5;
    color: #E0E0E0;
}

.study-detail-wrapper .study-cta-input {
    background-color: #FFFFFF;
    color: #1A1D20;
    border: 1px solid #DCD7CE;
    border-radius: 0px;
    padding: 0.75rem 1rem;
    font-size: 0.9rem;
}

.study-detail-wrapper .study-cta-input:focus {
    background-color: #FFFFFF;
    color: #1A1D20;
    border-color: #D84315;
    box-shadow: none;
}

.study-detail-wrapper .study-cta-input::placeholder {
    color: #8C96A0;
    opacity: 1;
}

.study-detail-wrapper .study-btn-accent {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.25rem;
    background-color: #D84315;
    color: #FFFFFF;
    border: 1px solid #D84315;
    font-weight: 600;
    font-size: 0.875rem;
    letter-spacing: 0.06em;
    border-radius: 0px;
    transition: background-color 0.25s linear, border-color 0.25s linear;
    min-height: 46px;
}

.study-detail-wrapper .study-btn-accent:hover,
.study-detail-wrapper .study-btn-accent:focus {
    background-color: #FFFFFF;
    color: #1A1D20;
    border-color: #FFFFFF;
}

.study-detail-wrapper .study-related-card {
    background-color: #FFFFFF;
    border: 1px solid #DCD7CE;
    border-radius: 12px;
    transition: border-color 0.25s ease, transform 0.25s ease;
}

.study-detail-wrapper .study-related-card:hover {
    border-color: #D84315;
    transform: translateY(-2px);
}

.study-detail-wrapper .study-related-card-title {
    font-size: 1.15rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #1A1D20;
}

.study-detail-wrapper .study-related-link {
    color: #1A1D20;
    text-decoration: none;
    transition: color 0.25s ease;
}

.study-detail-wrapper .study-related-link:hover {
    color: #D84315;
}

.study-detail-wrapper .study-related-desc {
    font-size: 0.9rem;
    line-height: 1.5;
    color: #59626A;
}

.study-detail-wrapper .study-arrow-link {
    color: #D84315;
    text-decoration: none;
    font-size: 0.8125rem;
    letter-spacing: 0.06em;
    transition: color 0.2s ease, transform 0.2s ease;
}

.study-detail-wrapper .study-arrow-link:hover {
    color: #1A1D20;
}

.fork-footer {
    background-color: #F2EFEB;
    color: #1A1D20;
    border-top: 1px solid #DCD7CE;
    padding-top: 60px;
    padding-bottom: 30px;
    font-family: 'Signika', sans-serif;
}

.fork-footer .fork-footer__top {
    padding-bottom: 40px;
    border-bottom: 1px solid #DCD7CE;
}

.fork-footer .fork-footer__brand {
    max-width: 100%;
}

.fork-footer .fork-footer__logo-title {
    font-size: 1.25rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #1A1D20;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.fork-footer .fork-footer__symbol {
    color: #D84315;
    font-family: monospace;
    font-weight: 700;
}

.fork-footer .fork-footer__tagline {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #59626A;
    margin-bottom: 14px;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__mission {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #D84315;
    background-color: #FBE9E7;
    border: 1px solid #DCD7CE;
    padding: 6px 10px;
    margin-top: 4px;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__col-title {
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #1A1D20;
    margin-bottom: 20px;
    padding-bottom: 8px;
    border-bottom: 2px solid #D84315;
    display: inline-block;
}

.fork-footer .fork-footer__list {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

.fork-footer .fork-footer__list li {
    margin-bottom: 12px;
}

.fork-footer .fork-footer__link {
    font-size: 0.9375rem;
    color: #495057;
    text-decoration: none;
    transition: color 0.25s ease, padding-left 0.25s ease;
    display: inline-block;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__link:hover,
.fork-footer .fork-footer__link:focus {
    color: #D84315;
    padding-left: 4px;
}

.fork-footer .fork-footer__contact-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.fork-footer .fork-footer__contact-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.9375rem;
    color: #495057;
}

.fork-footer .fork-footer__contact-icon {
    color: #D84315;
    font-size: 1rem;
    flex-shrink: 0;
    margin-top: 2px;
}

.fork-footer .fork-footer__contact-text {
    color: #495057;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__contact-link {
    color: #495057;
    text-decoration: none;
    line-height: 1.5;
    transition: color 0.25s ease;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__contact-link:hover,
.fork-footer .fork-footer__contact-link:focus {
    color: #D84315;
    text-decoration: underline;
}

.fork-footer .fork-footer__bottom {
    padding-top: 24px;
}

.fork-footer .fork-footer__copyright {
    font-size: 0.875rem;
    color: #59626A;
    margin-bottom: 0;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__legal-links {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8px;
}

@media (min-width: 768px) {
    .fork-footer .fork-footer__legal-links {
        justify-content: flex-end;
    }
}

.fork-footer .fork-footer__legal-link {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #59626A;
    text-decoration: none;
    transition: color 0.2s ease;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__legal-link:hover,
.fork-footer .fork-footer__legal-link:focus {
    color: #D84315;
}

.fork-footer .fork-footer__divider {
    font-size: 0.75rem;
    color: #8C96A0;
    user-select: none;
}

@media (max-width: 767px) {
    .hero-section {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }

    .hero-section .hero-title {
        font-size: 1.125rem;
    }

    .hero-section .hero-top-bar {
        flex-direction: column;
        align-items: flex-start !important;
    }

    .study-detail-wrapper .numbered-section {
        padding-bottom: 2.5rem;
    }

    .study-detail-wrapper .numbered-section__digit {
        font-size: 1.75rem;
        padding: 0.3rem 0.6rem;
    }

    .study-detail-wrapper .numbered-section__title {
        font-size: 1rem;
    }

    .study-detail-wrapper .study-facts-heading,
    .study-detail-wrapper .study-takeaways-title,
    .study-detail-wrapper .study-cta-title,
    .study-detail-wrapper .study-related-card-title {
        font-size: 0.875rem;
    }

    .study-detail-wrapper .study-dd {
        text-align: left;
    }

    .fork-footer {
        padding-top: 40px;
        padding-bottom: 24px;
    }

    .fork-footer .fork-footer__top {
        padding-bottom: 28px;
    }

    .fork-footer .fork-footer__col-title {
        margin-bottom: 12px;
    }

    .fork-footer .fork-footer__list li {
        margin-bottom: 10px;
    }

    .fork-footer .fork-footer__copyright {
        text-align: left;
    }
}

/* ===== PAGE TEMPLATE: frameworks ===== */
.optionfork-nav-header {
    background-color: #F9F8F6;
    border-bottom: 1px solid #DCD7CE;
    position: sticky;
    top: 0;
    z-index: 1030;
    width: 100%;
}

.optionfork-nav-header .navbar {
    padding: 0.75rem 0;
    background-color: #F9F8F6;
}

.optionfork-nav-header .brand-logo-img {
    max-width: 40px;
    max-height: 40px;
    object-fit: contain;
}

.optionfork-nav-header .brand-title {
    font-family: 'Signika', sans-serif;
    font-weight: 700;
    font-size: 1.25rem;
    letter-spacing: 0.04em;
    color: #1A1D20;
    text-transform: uppercase;
}

.optionfork-nav-header .brand-accent {
    color: #D84315;
}

.optionfork-nav-header .brand-sub {
    font-weight: 400;
    color: #495057;
    font-size: 0.95rem;
}

.optionfork-nav-header .navbar-nav .nav-link {
    font-family: 'Signika', sans-serif;
    font-weight: 600;
    font-size: 0.875rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #1A1D20;
    padding: 0.5rem 0.85rem;
    position: relative;
    transition: color 0.25s ease;
}

.optionfork-nav-header .navbar-nav .nav-link:hover,
.optionfork-nav-header .navbar-nav .nav-link:focus {
    color: #D84315;
}

.optionfork-nav-header .navbar-nav .nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0.85rem;
    right: 0.85rem;
    height: 2px;
    background-color: #D84315;
    transform: scaleX(0);
    transition: transform 0.25s ease;
}

.optionfork-nav-header .navbar-nav .nav-link:hover::after,
.optionfork-nav-header .navbar-nav .nav-link:focus::after {
    transform: scaleX(1);
}

.optionfork-nav-header .btn-nav-cta {
    font-family: 'Signika', sans-serif;
    font-weight: 600;
    font-size: 0.875rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background-color: #1A1D20;
    color: #FFFFFF;
    border: 1px solid #1A1D20;
    border-radius: 0;
    padding: 0.55rem 1.25rem;
    transition: all 0.25s linear;
}

.optionfork-nav-header .btn-nav-cta:hover,
.optionfork-nav-header .btn-nav-cta:focus {
    background-color: #D84315;
    color: #FFFFFF;
    border-color: #D84315;
}

.optionfork-nav-header .navbar-toggler {
    box-shadow: none;
    background-color: #F2EFEB;
    border-radius: 0;
}

.optionfork-nav-header .navbar-toggler:focus {
    box-shadow: none;
    outline: 2px solid #D84315;
}

.fw-hero-section {
    background-color: #F9F8F6;
    padding-top: 3.5rem;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid #DCD7CE;
    font-family: 'Signika', sans-serif;
}

.fw-hero-section .fw-hero-top-bar {
    border-bottom: 1px solid #DCD7CE;
}

.fw-hero-section .fw-breadcrumb-link {
    color: #1A1D20;
    font-size: 0.8125rem;
    font-weight: 600;
    text-decoration: none;
    letter-spacing: 0.06em;
    transition: color 0.2s linear;
}

.fw-hero-section .fw-breadcrumb-link:hover,
.fw-hero-section .fw-breadcrumb-link:focus {
    color: #D84315;
}

.fw-hero-section .fw-hero-meta-dot {
    color: #8C96A0;
}

.fw-hero-section .fw-hero-meta-text {
    color: #59626A;
    font-size: 0.8125rem;
    font-weight: 500;
}

.fw-hero-section .fw-hero-meta-label {
    color: #8C96A0;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.fw-hero-section .fw-hero-meta-value {
    color: #1A1D20;
    font-size: 0.8125rem;
    font-weight: 600;
}

.fw-hero-section .fw-hero-header-box {
    max-width: 800px;
}

.fw-hero-section .fw-hero-kicker-badge {
    background-color: #1A1D20;
    color: #FFFFFF;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    padding: 0.4rem 0.65rem;
    border-radius: 0;
}

.fw-hero-section .fw-hero-title {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #1A1D20;
    overflow-wrap: anywhere;
}

.fw-hero-section .fw-hero-lead {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #59626A;
    overflow-wrap: anywhere;
}

.fw-hero-section .fw-chip {
    background-color: #F2EFEB;
    border: 1px solid #DCD7CE;
    color: #1A1D20;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    padding: 0.35rem 0.65rem;
    border-radius: 0;
    display: inline-flex;
    align-items: center;
}

.fw-content-section {
    background-color: #F9F8F6;
    font-family: 'Signika', sans-serif;
}

.fw-content-section .fw-reading-column {
    max-width: 760px;
}

.fw-content-section .fw-breakout-media {
    max-width: 980px;
}

.fw-content-section .fw-breakout-frame {
    border: 1px solid #DCD7CE;
    background-color: #FFFFFF;
}

.fw-content-section .fw-main-img {
    max-height: 480px;
    object-fit: cover;
    display: block;
    border-radius: 0;
}

.fw-content-section .fw-media-caption {
    background-color: #F2EFEB;
    border-top: 1px solid #DCD7CE;
}

.fw-content-section .fw-caption-text {
    font-size: 0.8125rem;
    color: #59626A;
    overflow-wrap: anywhere;
}

.fw-content-section .fw-caption-meta {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #8C96A0;
    letter-spacing: 0.08em;
}

.fw-content-section .fw-section-heading {
    font-size: clamp(1.3rem, 2.2vw, 1.75rem);
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1.3;
    color: #1A1D20;
    border-left: 4px solid #D84315;
    padding-left: 12px;
    overflow-wrap: anywhere;
}

.fw-content-section .fw-body-text {
    font-size: 1rem;
    line-height: 1.65;
    color: #495057;
    overflow-wrap: anywhere;
}

.fw-content-section .fw-key-takeaways {
    background-color: #FBE9E7;
    border: 1px solid #DCD7CE;
    border-left: 4px solid #D84315;
}

.fw-content-section .fw-takeaway-label {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #D84315;
}

.fw-content-section .fw-takeaway-text {
    font-size: 0.95rem;
    font-weight: 500;
    color: #1A1D20;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.fw-content-section .fw-cta-inline-block {
    background-color: #F2EFEB;
    border: 1px solid #DCD7CE;
}

.fw-content-section .fw-cta-tag {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #D84315;
}

.fw-content-section .fw-cta-title {
    font-size: 1.15rem;
    font-weight: 700;
    text-transform: uppercase;
    color: #1A1D20;
    letter-spacing: 0.04em;
    overflow-wrap: anywhere;
}

.fw-content-section .fw-cta-desc {
    font-size: 0.875rem;
    color: #59626A;
    overflow-wrap: anywhere;
}

.fw-content-section .fw-btn-accent {
    background-color: #D84315;
    color: #FFFFFF;
    border: 1px solid #D84315;
    padding: 0.65rem 1.25rem;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-decoration: none;
    border-radius: 0;
    transition: all 0.25s linear;
}

.fw-content-section .fw-btn-accent:hover,
.fw-content-section .fw-btn-accent:focus {
    background-color: #1A1D20;
    color: #FFFFFF;
    border-color: #1A1D20;
}

.fw-content-section .fw-custom-list {
    list-style: square;
    padding-left: 1.25rem;
    color: #D84315;
}

.fw-content-section .fw-list-item {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #495057;
    overflow-wrap: anywhere;
}

.fw-content-section .fw-accordion-item {
    border: 1px solid #DCD7CE;
    background-color: #FFFFFF;
}

.fw-content-section .fw-accordion-trigger {
    background-color: #FFFFFF;
    border: none;
    outline: none;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.fw-content-section .fw-accordion-trigger:hover {
    background-color: #F9F8F6;
}

.fw-content-section .fw-trigger-title {
    font-size: 0.9rem;
    font-weight: 600;
    color: #1A1D20;
    letter-spacing: 0.04em;
    text-align: left;
    overflow-wrap: anywhere;
}

.fw-content-section .fw-accordion-icon {
    font-size: 1.1rem;
    color: #D84315;
    transition: transform 0.2s ease;
}

.fw-content-section .fw-accordion-trigger[aria-expanded="true"] .fw-accordion-icon {
    transform: rotate(45deg);
}

.fw-content-section .fw-accordion-body {
    display: none;
    border-top: 1px solid #EBE7DF;
    background-color: #FDFDFD;
}

.fw-content-section .fw-accordion-body.is-open {
    display: block;
}

.fw-content-section .fw-inquiry-box {
    background-color: #F2EFEB;
    border: 1px solid #DCD7CE;
}

.fw-content-section .fw-form-label {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #1A1D20;
    margin-bottom: 4px;
}

.fw-content-section .fw-form-control {
    background-color: #FFFFFF;
    color: #1A1D20;
    border: 1px solid #DCD7CE;
    border-radius: 0;
    padding: 0.65rem 0.85rem;
    font-size: 0.875rem;
}

.fw-content-section .fw-form-control:focus {
    background-color: #FFFFFF;
    color: #1A1D20;
    border-color: #D84315;
    box-shadow: none;
}

.fw-content-section .fw-form-control::placeholder {
    color: #8C96A0;
    opacity: 1;
}

.fw-content-section .fw-btn-primary {
    background-color: #1A1D20;
    color: #FFFFFF;
    border: 1px solid #1A1D20;
    border-radius: 0;
    padding: 0.7rem 1.5rem;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    transition: all 0.25s linear;
}

.fw-content-section .fw-btn-primary:hover,
.fw-content-section .fw-btn-primary:focus {
    background-color: #D84315;
    color: #FFFFFF;
    border-color: #D84315;
}

.fw-content-section .fw-view-all-link {
    color: #D84315;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-decoration: none;
    transition: color 0.2s ease;
}

.fw-content-section .fw-view-all-link:hover {
    color: #1A1D20;
}

.fw-content-section .fw-related-card {
    background-color: #FFFFFF;
    border: 1px solid #DCD7CE;
    transition: border-color 0.2s ease;
}

.fw-content-section .fw-related-card:hover {
    border-color: #D84315;
}

.fw-content-section .fw-related-thumb {
    width: 80px;
    height: 60px;
    object-fit: cover;
    border: 1px solid #DCD7CE;
}

.fw-content-section .fw-related-meta {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #8C96A0;
    letter-spacing: 0.04em;
}

.fw-content-section .fw-related-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: #1A1D20;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    line-height: 1.3;
}

.fw-content-section .fw-related-card:hover .fw-related-title {
    color: #D84315;
}

.fork-footer {
    background-color: #F2EFEB;
    color: #1A1D20;
    border-top: 1px solid #DCD7CE;
    padding-top: 60px;
    padding-bottom: 30px;
    font-family: 'Signika', sans-serif;
}

.fork-footer .fork-footer__top {
    padding-bottom: 40px;
    border-bottom: 1px solid #DCD7CE;
}

.fork-footer .fork-footer__brand {
    max-width: 100%;
}

.fork-footer .fork-footer__logo-title {
    font-size: 1.25rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #1A1D20;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.fork-footer .fork-footer__symbol {
    color: #D84315;
    font-family: monospace;
    font-weight: 700;
}

.fork-footer .fork-footer__tagline {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #59626A;
    margin-bottom: 14px;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__mission {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #D84315;
    background-color: #FBE9E7;
    border: 1px solid #DCD7CE;
    padding: 6px 10px;
    margin-top: 4px;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__col-title {
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #1A1D20;
    margin-bottom: 20px;
    padding-bottom: 8px;
    border-bottom: 2px solid #D84315;
    display: inline-block;
}

.fork-footer .fork-footer__list {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

.fork-footer .fork-footer__list li {
    margin-bottom: 12px;
}

.fork-footer .fork-footer__link {
    font-size: 0.9375rem;
    color: #495057;
    text-decoration: none;
    transition: color 0.25s ease, padding-left 0.25s ease;
    display: inline-block;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__link:hover,
.fork-footer .fork-footer__link:focus {
    color: #D84315;
    padding-left: 4px;
}

.fork-footer .fork-footer__contact-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.fork-footer .fork-footer__contact-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.9375rem;
    color: #495057;
}

.fork-footer .fork-footer__contact-icon {
    color: #D84315;
    font-size: 1rem;
    flex-shrink: 0;
    margin-top: 2px;
}

.fork-footer .fork-footer__contact-text {
    color: #495057;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__contact-link {
    color: #495057;
    text-decoration: none;
    line-height: 1.5;
    transition: color 0.25s ease;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__contact-link:hover,
.fork-footer .fork-footer__contact-link:focus {
    color: #D84315;
    text-decoration: underline;
}

.fork-footer .fork-footer__bottom {
    padding-top: 24px;
}

.fork-footer .fork-footer__copyright {
    font-size: 0.875rem;
    color: #59626A;
    margin-bottom: 0;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__legal-links {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8px;
}

@media (min-width: 768px) {
    .fork-footer .fork-footer__legal-links {
        justify-content: flex-end;
    }
}

.fork-footer .fork-footer__legal-link {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #59626A;
    text-decoration: none;
    transition: color 0.2s ease;
    overflow-wrap: anywhere;
}

.fork-footer .fork-footer__legal-link:hover,
.fork-footer .fork-footer__legal-link:focus {
    color: #D84315;
}

.fork-footer .fork-footer__divider {
    font-size: 0.75rem;
    color: #8C96A0;
    user-select: none;
}

@media (max-width: 991.98px) {
    .optionfork-nav-header .navbar-collapse {
        background-color: #F9F8F6;
        padding: 1rem 0;
        border-top: 1px solid #DCD7CE;
        margin-top: 0.5rem;
    }

    .optionfork-nav-header .navbar-nav .nav-link {
        padding: 0.6rem 0.5rem;
        font-size: 0.85rem;
        border-bottom: 1px solid #EBE7DF;
    }

    .optionfork-nav-header .navbar-nav .nav-link::after {
        display: none;
    }
}

@media (max-width: 767px) {
    .fw-hero-section {
        padding-top: 2.5rem;
        padding-bottom: 2rem;
    }

    .fw-hero-section .fw-hero-title {
        font-size: 1.125rem;
    }

    .fw-hero-section .fw-hero-lead {
        font-size: 0.95rem;
    }

    .fw-content-section .fw-section-heading {
        font-size: 1.05rem;
    }

    .fw-content-section .fw-cta-title {
        font-size: 1rem;
    }

    .fw-content-section .fw-main-img {
        max-height: 260px;
    }

    .fw-content-section .fw-btn-primary,
    .fw-content-section .fw-btn-accent {
        width: 100%;
    }

    .fork-footer {
        padding-top: 40px;
        padding-bottom: 24px;
    }

    .fork-footer .fork-footer__top {
        padding-bottom: 28px;
    }

    .fork-footer .fork-footer__col-title {
        margin-bottom: 12px;
    }

    .fork-footer .fork-footer__list li {
        margin-bottom: 10px;
    }

    .fork-footer .fork-footer__copyright {
        text-align: left;
    }
}

/* 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%;
  }
}

/* investigation context card - mobile: stack label above value */
@media (max-width: 767px) {
    .hero-aside-card .d-flex.flex-column.gap-2 {
        gap: 0.875rem !important;
    }
    .hero-aside-card .d-flex.flex-column.gap-2 > .d-flex {
        flex-direction: column;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        gap: 2px;
    }
    .hero-aside-card .d-flex.flex-column.gap-2 > .d-flex > .fw-bold {
        text-align: left !important;
        margin-left: 0;
    }
}

/* footer logo (matches header brand) */
.fork-footer .fork-footer__logo-title {
    text-decoration: none;
}
.fork-footer .fork-footer__logo-img {
    width: 32px;
    height: 32px;
    max-width: 32px;
    max-height: 32px;
    object-fit: contain;
    flex-shrink: 0;
}
.fork-footer .fork-footer__accent {
    color: #D84315;
}
.fork-footer .fork-footer__sub {
    font-weight: 400;
    color: #495057;
    font-size: 0.95rem;
}
