
/* =========================================================
   PAGE
========================================================= */

.problem-page {

    background:
        radial-gradient(
            circle at 75% 10%,
            rgba(168,117,78,.12),
            transparent 32%
        ),
        #f4f0e9;
}


/* =========================================================
   BREADCRUMB
========================================================= */

.problem-breadcrumb {

    padding:
        110px 10vw 20px;

    display:flex;

    gap:10px;

    font-size:12px;

    color:#716a62;
}

.problem-breadcrumb a {

    color:#716a62;

    text-decoration:none;
}

.problem-breadcrumb a:hover {

    color:#a8754e;
}


/* =========================================================
   HERO
========================================================= */

.problem-hero {

    min-height:70vh;

    padding:
        50px 10vw
        100px;

    display:flex;

    flex-direction:column;

    justify-content:center;
}

.problem-eyebrow {

    font-size:12px;

    letter-spacing:.2em;

    color:#a8754e;

    margin-bottom:30px;
}

.problem-hero h1 {

    max-width:1100px;

    font-size:
        clamp(
            60px,
            9vw,
            135px
        );

    line-height:.9;

    letter-spacing:-.055em;

    margin:0;
}

.problem-hero h1 span {

    color:#a8754e;
}

.problem-hero p {

    max-width:760px;

    margin-top:45px;

    font-size:21px;

    line-height:1.7;

    color:#57514a;
}


/* =========================================================
   NAV
========================================================= */

.problem-nav {

    padding:
        22px 10vw;

    border-top:
        1px solid rgba(0,0,0,.08);

    border-bottom:
        1px solid rgba(0,0,0,.08);

    display:flex;

    gap:30px;

    overflow-x:auto;
}

.problem-nav a {

    white-space:nowrap;

    text-decoration:none;

    color:#514b45;

    font-size:13px;
}

.problem-nav a:hover {

    color:#a8754e;
}


/* =========================================================
   CONTENT
========================================================= */

.problem-content {

    max-width:1100px;

    margin:auto;

    padding:
        110px 30px;
}

.problem-section {

    margin-bottom:130px;
}

.problem-label {

    font-size:11px;

    letter-spacing:.2em;

    color:#a8754e;

    margin-bottom:20px;
}

.problem-section h2 {

    font-size:
        clamp(
            38px,
            5vw,
            65px
        );

    line-height:1;

    letter-spacing:-.035em;

    margin-bottom:35px;
}

.problem-section p {

    max-width:800px;

    font-size:18px;

    line-height:1.8;

    color:#57514a;

    margin-bottom:25px;
}


/* =========================================================
   DEFINITION
========================================================= */

.problem-definition {

    padding:55px;

    background:#171513;

    color:#f4f0e9;

    margin-bottom:40px;
}

.problem-definition small {

    display:block;

    color:#c9956c;

    letter-spacing:.2em;

    margin-bottom:20px;
}

.problem-definition p {

    max-width:900px;

    color:#e4ded5;

    font-size:23px;

    line-height:1.6;

    margin:0;
}


/* =========================================================
   GRID
========================================================= */

.problem-grid {

    display:grid;

    grid-template-columns:
        repeat(2,1fr);

    gap:18px;
}

.problem-card {

    padding:38px;

    min-height:220px;

    background:
        rgba(255,255,255,.65);

    border:
        1px solid rgba(0,0,0,.08);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.problem-card:hover {

    transform:
        translateY(-7px);

    box-shadow:
        0 25px 60px
        rgba(0,0,0,.08);
}

.problem-card-number {

    color:#a8754e;

    font-size:11px;

    letter-spacing:.15em;

    margin-bottom:25px;
}

.problem-card h3 {

    font-size:25px;

    margin-bottom:15px;
}

.problem-card p {

    font-size:16px;

    margin:0;
}


/* =========================================================
   PERFORMANCE DIMENSIONS
========================================================= */

.performance-map {

    display:grid;

    grid-template-columns:
        repeat(3,1fr);

    gap:12px;

    margin-top:45px;
}

.performance-item {

    padding:35px 25px;

    background:#171513;

    color:#f4f0e9;

    min-height:160px;
}

.performance-item span {

    display:block;

    color:#c9956c;

    font-size:11px;

    letter-spacing:.15em;

    margin-bottom:25px;
}

.performance-item strong {

    font-size:20px;

    line-height:1.3;
}


/* =========================================================
   ENGINEERING PATH
========================================================= */

.path {

    display:grid;

    grid-template-columns:
        repeat(5,1fr);

    gap:10px;

    margin-top:50px;
}

.path-step {

    padding:30px 20px;

    background:#171513;

    color:#f4f0e9;

    min-height:170px;
}

.path-step span {

    display:block;

    color:#c9956c;

    font-size:11px;

    letter-spacing:.15em;

    margin-bottom:25px;
}

.path-step strong {

    font-size:18px;

    line-height:1.3;
}


/* =========================================================
   INSIGHT
========================================================= */

.insight {

    padding:55px;

    margin:
        70px 0;

    border-left:
        3px solid #a8754e;

    background:
        rgba(168,117,78,.07);
}

.insight small {

    color:#a8754e;

    letter-spacing:.2em;
}

.insight h3 {

    font-size:32px;

    margin:20px 0;
}

.insight p {

    margin:0;
}


/* =========================================================
   FAQ
========================================================= */

.faq {

    border-top:
        1px solid rgba(0,0,0,.1);
}

.faq-item {

    padding:
        30px 0;

    border-bottom:
        1px solid rgba(0,0,0,.1);
}

.faq-item h3 {

    font-size:21px;

    margin-bottom:12px;
}

.faq-item p {

    margin:0;
}


/* =========================================================
   CTA
========================================================= */

.problem-cta {

    padding:
        90px 50px;

    background:#171513;

    color:#f4f0e9;

    text-align:center;
}

.problem-cta h2 {

    max-width:800px;

    margin:20px auto;

    font-size:
        clamp(
            42px,
            6vw,
            75px
        );

    line-height:.95;

    letter-spacing:-.04em;
}

.problem-cta h2 span {

    color:#c9956c;
}

.problem-cta p {

    max-width:650px;

    margin:30px auto;

    color:#cfc8bf;

    line-height:1.7;
}


/* =========================================================
   RELATED
========================================================= */

.related {

    margin-top:120px;
}

.related-grid {

    display:grid;

    grid-template-columns:
        repeat(4,1fr);

    gap:12px;
}

.related-grid a {

    padding:25px;

    color:#292522;

    text-decoration:none;

    border:
        1px solid rgba(0,0,0,.1);
}

.related-grid a:hover {

    background:#171513;

    color:#f4f0e9;
}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:700px) {

    .problem-breadcrumb {

        padding:
            100px 25px 20px;
    }

    .problem-hero {

        padding:
            40px 25px 80px;
    }

    .problem-content {

        padding:
            80px 22px;
    }

    .problem-grid {

        grid-template-columns:1fr;
    }

    .performance-map {

        grid-template-columns:1fr;
    }

    .path {

        grid-template-columns:1fr;
    }

    .related-grid {

        grid-template-columns:
            repeat(2,1fr);
    }

    .problem-definition,
    .insight,
    .problem-cta {

        padding:35px 25px;
    }
}
