
/* =========================================================
   PROBLEM 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;
}


/* =========================================================
   DARK 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;
}


/* =========================================================
   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;

    position: relative;
}

.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;
    }

    .path {

        grid-template-columns: 1fr;
    }

    .related-grid {

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

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

        padding: 35px 25px;
    }
}
