.home-wrap{
    max-width:var(--max);
    margin:0 auto;
    padding:0 var(--gutter);
}


/* =========================================================
   BUTTONS
   ========================================================= */

.home-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-height:48px;
    padding:0 26px;
    font-size:0.86rem;
    letter-spacing:0.02em;
    transition:all .25s ease;
    border:1px solid transparent;
    cursor:pointer;
}

.home-btn-primary{
    background:var(--gold);
    color:var(--navy-deep);
    font-weight:500;
}

.home-btn-primary:hover{
    background:#dcb769;
}

.home-btn-line{
    border-bottom:1px solid var(--gold-dim);
    padding:0 0 4px;
    color:var(--on-navy);
}

.home-btn-line:hover{
    border-color:var(--gold);
    color:var(--gold);
}

.home-btn:hover .home-arrow{
    transform:translateX(3px);
}

.home-arrow{
    transition:transform .25s ease;
}


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

.home-hero{
    border-bottom:1px solid rgba(201,162,77,0.18);
    padding:clamp(64px,11vw,120px) 0 0;
}


/* ---------------------------------------------------------
   Hero Grid
   --------------------------------------------------------- */

.home-hero-grid{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        1px
        minmax(300px,300px);

    gap:clamp(48px,6vw,76px);

    align-items:center;
}


.home-hero-divider{
    background:rgba(201,162,77,0.25);
    align-self:stretch;
}


/* ---------------------------------------------------------
   Hero Left Column
   --------------------------------------------------------- */

.home-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;

    font-size:0.74rem;
    letter-spacing:0.16em;
    text-transform:uppercase;

    color:var(--gold);

    margin-bottom:24px;
}

.home-eyebrow::before{
    content:'';

    width:24px;
    height:1px;

    background:var(--gold);
}


.home-hero h1{
    font-size:clamp(2.1rem,5vw,3.4rem);
    line-height:1.18;
    letter-spacing:-0.01em;
    max-width:26ch;
}


.home-hero-sub{
    margin-top:24px;

    font-size:clamp(1rem,1.6vw,1.1rem);
    line-height:1.7;

    color:var(--on-navy-mute);

    max-width:56ch;
}


.home-hero-actions{
    display:flex;

    gap:24px;

    margin-top:38px;

    flex-wrap:wrap;

    align-items:center;
}


/* =========================================================
   HERO — METHODOLOGY LEDGER
   ========================================================= */

.home-ledger-notes{
    display:flex;

    flex-direction:column;

    position:relative;

    width:100%;

    /*
     * Creates the larger vertical presence
     * inside the hero.
     */
    min-height:clamp(360px,55vh,560px);

    padding:8px 4px 8px;
        justify-content: center;

}


/* ---------------------------------------------------------
   Corner Brackets
   --------------------------------------------------------- */

.home-ledger-notes::before,
.home-ledger-notes::after{
    content:'';

    position:absolute;

    width:13px;
    height:13px;

    border-color:var(--gold-dim);

    opacity:0.7;
}


.home-ledger-notes::before{
    top:30px;
    left:-6px;

    border-top:1px solid;
    border-left:1px solid;
}


.home-ledger-notes::after{
    bottom:50px;
    right:-6px;

    border-bottom:1px solid;
    border-right:1px solid;
}


/* ---------------------------------------------------------
   Ledger Eyebrow
   --------------------------------------------------------- */

.home-ledger-eyebrow{
    display:block;

    margin-bottom:18px;

    color:var(--on-navy-mute);

    font-size:0.82rem;

    font-weight:400;

    line-height:1.3;

    letter-spacing:0.14em;

    text-transform:uppercase;
}


/* ---------------------------------------------------------
   Ledger Items
   --------------------------------------------------------- */

.home-ledger-item{
    display:flex;

    align-items:center;

    gap:18px;

    min-height:68px;

    padding:14px 0;

    border-bottom:1px solid rgba(201,162,77,0.15);

    color:inherit;

    text-decoration:none;

    transition:
        padding-left 0.2s ease,
        background 0.2s ease;
}


.home-ledger-item:first-of-type{
    padding-top:8px;
}


/* ---------------------------------------------------------
   Ledger Numbers
   --------------------------------------------------------- */

.home-ledger-item .home-li-num{
    flex:0 0 54px;

    width:54px;

    color:var(--gold);

    font-family:'Playfair Display',serif;

    font-size:1.15rem;

    font-style:italic;

    font-weight:400;

    line-height:1;

    transition:
        color 0.2s ease;
}


/* ---------------------------------------------------------
   Ledger Labels
   --------------------------------------------------------- */

.home-ledger-item .home-li-label{
    color:var(--on-navy-mute);

    font-size:1.08rem;

    font-weight:400;

    line-height:1.3;

    letter-spacing:0.01em;

    transition:
        color 0.2s ease;
}


a.home-ledger-item:hover{
    padding-left:6px;
}


a.home-ledger-item:hover .home-li-num{
    color:#dcb769;
}


a.home-ledger-item:hover .home-li-label{
    color:var(--on-navy);
}


/* ---------------------------------------------------------
   Full Methodology Link
   --------------------------------------------------------- */

.home-ledger-more{
    display:inline-flex;

    align-items:center;

    gap:10px;

    width:max-content;

    /*
     * Keep the methodology link visually connected
     * to the fourth step instead of pushing it
     * to the bottom of the tall ledger.
     */
    margin-top:clamp(42px,5vh,64px);

    padding-top:0;

    color:var(--gold);

    font-size:0.94rem;

    font-weight:400;

    line-height:1.4;

    letter-spacing:0.04em;

    text-decoration:none;

    transition:
        color 0.2s ease;
}


.home-ledger-more:hover{
    color:#dcb769;
}


.home-ledger-more .home-arrow{
    display:inline-block;

    transition:
        transform 0.2s ease;
}


.home-ledger-more:hover .home-arrow{
    transform:translateX(4px);
}


/* =========================================================
   LEDGER RESPONSIVE SIZING
   ========================================================= */

@media (max-width:1100px) and (min-width:861px){

    .home-ledger-notes{
        min-height:50vh;
    }

    .home-ledger-item{
        min-height:64px;
    }

    .home-ledger-item .home-li-label{
        font-size:1.02rem;
    }

}


/* =========================================================
   LEDGER RULE / CAPTION
   ========================================================= */

.home-ledger-rule{
    margin:clamp(40px,6vw,64px) 0 0;

    height:1px;

    background:
        repeating-linear-gradient(
            90deg,
            var(--gold) 0 6px,
            transparent 6px 14px
        );

    opacity:0.55;
}


.home-ledger-caption{
    padding:14px 0 clamp(48px,8vw,80px);

    font-size:0.74rem;

    letter-spacing:0.08em;

    text-transform:uppercase;

    color:var(--on-navy-mute);
}


/* =========================================================
   METHODOLOGY
   ========================================================= */

.home-methodology{
    background:var(--cream);

    color:var(--on-cream);

    padding:clamp(72px,11vw,140px) 0;
}


.home-methodology .home-wrap{
    max-width:880px;
}


.home-p-num{
    font-size:0.76rem;

    letter-spacing:0.14em;

    text-transform:uppercase;

    color:var(--gold-dark);

    margin-bottom:24px;

    display:block;
}


.home-epigraph{
    font-family:'Playfair Display',serif;

    font-style:italic;

    font-weight:500;

    font-size:clamp(1.4rem,3.6vw,2.15rem);

    line-height:1.45;

    letter-spacing:-0.005em;
}


.home-epigraph cite{
    display:block;

    margin-top:24px;

    font-style:normal;

    font-size:0.78rem;

    letter-spacing:0.12em;

    text-transform:uppercase;

    color:var(--on-cream-mute);
}


.home-bridge{
    margin-top:clamp(36px,6vw,52px);

    padding-top:clamp(36px,6vw,52px);

    border-top:1px solid rgba(11,31,51,0.12);

    font-size:1.05rem;

    line-height:1.7;

    max-width:75ch;

    color:var(--on-cream);
}


.home-bridge strong{
    font-weight:600;
}


/* ---------------------------------------------------------
   Methodology Section Header
   --------------------------------------------------------- */

.home-section-head{
    max-width:640px;

    margin:
        clamp(48px,7vw,72px)
        0
        clamp(40px,6vw,64px);
}


.home-methodology .home-eyebrow{
    color:var(--gold-dark);
}


.home-methodology .home-eyebrow::before{
    background:var(--gold-dark);
}


.home-section-head h2{
    font-size:clamp(1.6rem,3.4vw,2.2rem);

    line-height:1.28;
}


.home-section-head p{
    margin-top:16px;

    color:var(--on-navy-mute);

    font-size:1rem;

    line-height:1.7;

    max-width:64ch;
}


.home-methodology .home-section-head p{
    color:var(--on-cream-mute);
}


/* ---------------------------------------------------------
   Methodology Steps
   --------------------------------------------------------- */

.home-steps{
    position:relative;

    border-top:1px solid rgba(11,31,51,0.14);
}


.home-steps::before{
    content:'';

    position:absolute;

    left:27px;

    top:0;

    bottom:0;

    width:1px;

    background:
        linear-gradient(
            var(--gold-dim),
            var(--gold),
            var(--gold-dim)
        );

    opacity:0.8;
}


.home-step{
    display:grid;

    grid-template-columns:56px minmax(0,1fr);

    gap:clamp(20px,3vw,32px);

    padding:clamp(26px,4vw,36px) 0;

    border-bottom:1px solid rgba(11,31,51,0.14);

    scroll-margin-top:96px;
}


.home-step:last-child{
    border-bottom:none;
}


.home-step-marker{
    position:relative;

    display:flex;

    justify-content:center;
}


.home-step-num{
    position:relative;

    z-index:1;

    width:38px;

    height:38px;

    border:1px solid var(--gold);

    border-radius:50%;

    background:var(--cream);

    display:flex;

    align-items:center;

    justify-content:center;

    font-family:'Playfair Display',serif;

    font-style:italic;

    color:var(--gold-dark);

    font-size:0.95rem;
}


.home-step h3{
    font-family:'Inter',sans-serif;

    font-weight:600;

    font-size:1.08rem;

    margin-bottom:10px;
}


.home-step p{
    color:var(--on-cream-mute);

    font-size:0.96rem;

    line-height:1.68;

    max-width:56ch;
}


/* =========================================================
   DECISION QUALITY
   ========================================================= */

.home-decision{
    background:var(--navy);

    padding:clamp(72px,11vw,130px) 0;

    border-bottom:1px solid rgba(201,162,77,0.18);
}


.home-decision .home-section-head{
    margin-top:0;
}


.home-costs{
    display:grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(250px,1fr)
        );

    gap:clamp(28px,4vw,40px);
}


.home-cost{
    padding-top:20px;

    border-top:1px solid rgba(201,162,77,0.25);
}


.home-cost .home-skip{
    font-size:0.78rem;

    letter-spacing:0.08em;

    text-transform:uppercase;

    color:var(--gold);

    margin-bottom:10px;

    display:block;
}


.home-cost p{
    color:var(--on-navy-mute);

    font-size:0.94rem;

    line-height:1.65;
}


/* =========================================================
   RESEARCH
   ========================================================= */

.home-research{
    background:var(--neutral);

    color:var(--on-cream);

    padding:clamp(72px,11vw,130px) 0;
}


.home-research .home-eyebrow{
    color:var(--gold-dark);
}


.home-research .home-eyebrow::before{
    background:var(--gold-dark);
}


.home-research .home-section-head p{
    color:var(--on-cream-mute);
}


.home-research-grid{
    display:grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(260px,1fr)
        );

    gap:1px;

    background:rgba(11,31,51,0.1);

    border:1px solid rgba(11,31,51,0.1);
}


.home-r-card{
    background:#fff;

    padding:
        clamp(28px,4vw,34px)
        clamp(24px,3vw,30px);

    display:flex;

    flex-direction:column;

    position:relative;

    transition:background .25s ease;
}


.home-r-card:hover{
    background:#fbfaf8;
}


.home-r-card .home-coord{
    position:absolute;

    top:18px;

    right:20px;

    font-size:0.68rem;

    letter-spacing:0.06em;

    color:var(--gold-dark);

    opacity:0.65;
}


.home-r-card .home-tag{
    font-size:0.72rem;

    letter-spacing:0.1em;

    text-transform:uppercase;

    color:var(--gold-dark);

    margin-bottom:16px;
}


.home-r-card h3{
    font-family:'Playfair Display',serif;

    font-weight:600;

    font-size:1.18rem;

    line-height:1.35;

    margin-bottom:14px;

    padding-right:36px;
}


.home-r-card p{
    font-size:0.9rem;

    line-height:1.65;

    color:var(--on-cream-mute);

    flex:1;
}


.home-r-card .home-read{
    margin-top:20px;

    font-size:0.8rem;

    letter-spacing:0.03em;

    font-weight:500;

    display:inline-flex;

    gap:8px;

    align-items:center;

    color:var(--navy);

    border-bottom:1px solid rgba(11,31,51,0.25);

    padding-bottom:2px;

    width:fit-content;
}


/* ---------------------------------------------------------
   Featured Research
   --------------------------------------------------------- */

.home-r-featured{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,1fr);

    gap:clamp(24px,4vw,48px);

    align-items:center;

    background:#fff;

    border:1px solid rgba(11,31,51,0.1);

    padding:clamp(32px,5vw,52px);

    position:relative;

    margin-bottom:clamp(32px,5vw,44px);
}


.home-r-featured .home-coord{
    position:absolute;

    top:20px;

    right:22px;

    font-size:0.68rem;

    letter-spacing:0.06em;

    color:var(--gold-dark);

    opacity:0.65;
}


.home-r-featured .home-tag{
    font-size:0.72rem;

    letter-spacing:0.1em;

    text-transform:uppercase;

    color:var(--gold-dark);

    margin-bottom:16px;

    display:block;
}


.home-r-featured h3{
    font-family:'Playfair Display',serif;

    font-weight:600;

    font-size:clamp(1.4rem,2.6vw,1.85rem);

    line-height:1.3;
}


.home-r-featured p{
    font-size:0.98rem;

    line-height:1.75;

    color:var(--on-cream-mute);

    margin-top:16px;
}


.home-r-featured .home-read{
    margin-top:20px;

    font-size:0.85rem;

    font-weight:500;

    display:inline-flex;

    gap:8px;

    align-items:center;

    color:var(--navy);

    border-bottom:1px solid rgba(11,31,51,0.25);

    padding-bottom:2px;
}


.home-r-featured:hover{
    background:#fbfaf8;
}


.home-latest-label{
    display:block;

    font-size:0.74rem;

    letter-spacing:0.1em;

    text-transform:uppercase;

    color:var(--gold-dark);

    margin-bottom:16px;
}




/* =========================================================
   RESPONSIVE
   ========================================================= */


/* ---------------------------------------------------------
   Tablet / Smaller Desktop
   --------------------------------------------------------- */

@media (max-width:860px){

    .nav-links{
        display:none;
    }

    .nav-burger{
        display:flex;
    }

    .home-hero-grid{
        grid-template-columns:1fr;
    }

    .home-hero-divider{
        display:none;
    }

}


/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */

@media (max-width:640px){

    .home-step{
        grid-template-columns:
            44px
            minmax(0,1fr);

        gap:18px;
    }

    .home-step-num{
        width:32px;

        height:32px;

        font-size:0.85rem;
    }

    .home-steps::before{
        left:22px;
    }

    .home-r-featured{
        grid-template-columns:1fr;
    }

}



/* =========================================================
   METHODOLOGY LEDGER — DESKTOP HEIGHT
   ========================================================= */

@media (min-width:861px){

    .home-ledger-notes{
        min-height:clamp(360px,55vh,560px);
    }

}


/* =========================================================
   METHODOLOGY LEDGER — TABLET
   ========================================================= */

@media (max-width:1100px) and (min-width:861px){

    .home-ledger-notes{
        min-height:50vh;
    }

    .home-ledger-item{
        min-height:64px;
    }

    .home-ledger-item .home-li-label{
        font-size:1.02rem;
    }

}


/* =========================================================
   METHODOLOGY LEDGER — MOBILE
   ========================================================= */

@media (max-width:860px){

    .home-ledger-notes{
        min-height:0;

        margin-top:32px;

        padding-top:24px;

        border-top:1px solid rgba(201,162,77,0.18);
    }

    .home-ledger-notes::before,
    .home-ledger-notes::after{
        display:none;
    }

    .home-ledger-item{
        min-height:60px;

        gap:14px;

        padding:12px 0;
    }

    .home-ledger-item:first-of-type{
        padding-top:8px;
    }

    .home-ledger-item .home-li-num{
        flex-basis:46px;

        width:46px;

        font-size:1.05rem;
    }

    .home-ledger-item .home-li-label{
        font-size:1rem;
    }

    .home-ledger-more{
        margin-top:20px;

        padding-top:0;
    }

}


/* =========================================================
   METHODOLOGY LEDGER — SMALL MOBILE
   ========================================================= */

@media (max-width:560px){

    .home-ledger-notes{
        margin-top:26px;

        padding-top:20px;
    }

    .home-ledger-item{
        min-height:56px;

        gap:12px;
    }

    .home-ledger-item .home-li-num{
        flex-basis:40px;

        width:40px;

        font-size:1rem;
    }

    .home-ledger-item .home-li-label{
        font-size:0.96rem;
    }

    .home-ledger-more{
        font-size:0.88rem;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion:reduce){

    .home-ledger-item,
    .home-ledger-item .home-li-num,
    .home-ledger-item .home-li-label,
    .home-ledger-more,
    .home-ledger-more .home-arrow{
        transition:none;
    }

}