
/* =========================================================
   PROBLEMS HUB
========================================================= */

.problems-hub {

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

    min-height:100vh;
}


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

.problems-hub-hero {

    min-height:68vh;

    display:flex;

    flex-direction:column;

    justify-content:center;

    padding:
        150px
        10vw
        100px;

    position:relative;

    overflow:hidden;
}


.problems-hub-hero::after {

    content:"";

    position:absolute;

    width:520px;

    height:520px;

    right:-220px;

    bottom:-230px;

    border:
        1px solid
        rgba(168,117,78,.25);

    border-radius:50%;

    animation:
        problemOrbit
        18s
        linear
        infinite;
}


@keyframes problemOrbit {

    from {
        transform:rotate(0deg);
    }

    to {
        transform:rotate(360deg);
    }

}


.hub-eyebrow {

    font-size:12px;

    letter-spacing:.22em;

    color:#a8754e;

    margin-bottom:30px;
}


.problems-hub-hero h1 {

    max-width:1000px;

    font-size:
        clamp(
            65px,
            10vw,
            150px
        );

    line-height:.86;

    letter-spacing:-.055em;

    margin:0;
}


.problems-hub-hero h1 span {

    color:#a8754e;
}


.problems-hub-hero p {

    max-width:760px;

    font-size:21px;

    line-height:1.7;

    color:#57514a;

    margin-top:45px;
}


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

.hub-nav {

    padding:
        24px
        10vw;

    display:flex;

    gap:35px;

    overflow-x:auto;

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

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

    background:
        rgba(255,255,255,.35);
}


.hub-nav a {

    color:#514b45;

    text-decoration:none;

    font-size:13px;

    white-space:nowrap;
}


.hub-nav a:hover {

    color:#a8754e;
}


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

.hub-content {

    max-width:1200px;

    margin:auto;

    padding:
        110px
        30px;
}


.hub-section {

    margin-bottom:130px;
}


.hub-label {

    font-size:11px;

    letter-spacing:.2em;

    color:#a8754e;

    margin-bottom:20px;
}


.hub-section h2 {

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

    line-height:1;

    letter-spacing:-.04em;

    margin-bottom:30px;
}


.hub-section-intro {

    max-width:780px;

    font-size:18px;

    line-height:1.8;

    color:#57514a;

    margin-bottom:50px;
}


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

.problem-grid {

    display:grid;

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

    gap:16px;
}


.problem-card {

    display:flex;

    flex-direction:column;

    min-height:330px;

    padding:35px;

    text-decoration:none;

    color:#292522;

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

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

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


.problem-card:hover {

    transform:
        translateY(-8px);

    border-color:
        rgba(168,117,78,.5);

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


.problem-number {

    font-size:11px;

    letter-spacing:.16em;

    color:#a8754e;

    margin-bottom:45px;
}


.problem-card h3 {

    font-size:27px;

    line-height:1.05;

    margin-bottom:18px;
}


.problem-card p {

    font-size:15px;

    line-height:1.7;

    color:#57514a;

    margin:0;
}


.problem-arrow {

    margin-top:auto;

    padding-top:30px;

    font-size:13px;

    color:#a8754e;
}


/* =========================================================
   FEATURE CARD
========================================================= */

.feature-card {

    grid-column:
        span 2;

    background:#171513;

    color:#f4f0e9;
}


.feature-card p {

    color:#cfc8bf;
}


.feature-card .problem-number,
.feature-card .problem-arrow {

    color:#c9956c;
}


/* =========================================================
   PILLAR STRIP
========================================================= */

.pillar-strip {

    display:grid;

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

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

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

    margin:
        60px 0 100px;
}


.pillar {

    padding:35px 25px;

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


.pillar:last-child {

    border-right:none;
}


.pillar span {

    display:block;

    font-size:10px;

    letter-spacing:.15em;

    color:#a8754e;

    margin-bottom:15px;
}


.pillar h3 {

    font-size:21px;

    margin:0;
}


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

.hub-cta {

    padding:
        90px
        50px;

    background:#171513;

    color:#f4f0e9;

    text-align:center;

    margin-top:80px;
}


.hub-cta h2 {

    max-width:850px;

    margin:
        20px auto;

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

    line-height:.95;

    letter-spacing:-.04em;
}


.hub-cta h2 span {

    color:#c9956c;
}


.hub-cta p {

    max-width:650px;

    margin:
        30px auto;

    color:#cfc8bf;

    line-height:1.7;
}


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

@media(max-width:900px) {

    .problem-grid {

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


    .feature-card {

        grid-column:span 2;
    }


    .pillar-strip {

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


    .pillar {

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

}


@media(max-width:650px) {

    .problems-hub-hero {

        min-height:65vh;

        padding:
            120px
            25px
            70px;
    }


    .hub-content {

        padding:
            80px 22px;
    }


    .problem-grid {

        grid-template-columns:1fr;
    }


    .feature-card {

        grid-column:span 1;
    }


    .pillar-strip {

        grid-template-columns:1fr;
    }


    .pillar {

        border-right:none;
    }


    .hub-cta {

        padding:
            60px 25px;
    }

}
