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

.sitemap-hero{
    padding:48px 0 80px;

    background:var(--paper);
}


.sitemap-breadcrumbs{
    display:flex;
    align-items:center;
    gap:9px;

    margin-bottom:55px;

    color:var(--muted);

    font-size:11px;
}


.sitemap-breadcrumbs a{
    color:var(--ink);

    text-decoration:none;
}


.sitemap-hero-grid{
    display:grid;

    grid-template-columns:
        minmax(0,1.2fr)
        minmax(300px,.8fr);

    gap:70px;

    align-items:end;
}


.sitemap-hero h1{
    margin:15px 0 0;

    color:var(--ink);

    font-size:
        clamp(70px,9vw,120px);

    line-height:.87;

    letter-spacing:-.07em;
}


.sitemap-hero-copy{
    padding-bottom:8px;
}


.sitemap-hero-copy p{
    max-width:430px;

    margin:0;

    color:var(--muted);

    font-size:14px;

    line-height:1.75;
}



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

.sitemap-grid{
    display:grid;

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

    gap:20px;
}


.sitemap-group{
    padding:30px;

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

    border-radius:26px;

    background:var(--card);
}


.sitemap-group-head{
    display:flex;

    align-items:flex-start;
    justify-content:space-between;

    gap:20px;

    margin-bottom:35px;

    padding-bottom:22px;

    border-bottom:
        1px solid var(--line);
}


.sitemap-group-head > span{
    color:var(--blue);

    font-size:10px;

    font-weight:800;

    letter-spacing:.08em;
}


.sitemap-group-head h2{
    margin:0;

    color:var(--ink);

    font-size:
        clamp(28px,3vw,40px);

    line-height:1;

    letter-spacing:-.045em;

    text-align:right;
}



/* =========================================
   LINKS
========================================= */

.sitemap-links{
    display:flex;

    flex-direction:column;
}


.sitemap-links a{
    display:grid;

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

    gap:20px;

    align-items:center;

    padding:20px 0;

    border-bottom:
        1px solid var(--line);

    color:inherit;

    text-decoration:none;
}


.sitemap-links a:first-child{
    padding-top:0;
}


.sitemap-links a:last-child{
    padding-bottom:0;

    border-bottom:0;
}


.sitemap-links strong{
    display:block;

    margin-bottom:5px;

    color:var(--ink);

    font-size:15px;

    letter-spacing:-.02em;
}


.sitemap-links small{
    display:block;

    max-width:380px;

    color:var(--muted);

    font-size:10px;

    line-height:1.5;
}


.sitemap-links > a > span{
    width:36px;
    height:36px;

    display:grid;

    place-items:center;

    border-radius:50%;

    background:var(--paper);

    color:var(--ink);

    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease;
}


.sitemap-links a:hover > span{
    background:var(--navy);

    color:#fff;

    transform:
        translateY(-2px)
        rotate(5deg);
}



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

.sitemap-bottom-section{
    padding-top:0;
}


.sitemap-bottom{
    display:grid;

    grid-template-columns:
        1fr 1fr;

    gap:60px;

    padding:45px;

    border-radius:28px;

    background:var(--navy);

    color:#fff;
}


.sitemap-bottom .eyebrow{
    color:var(--lime);
}


.sitemap-bottom h2{
    margin:15px 0 0;

    color:#fff;

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

    line-height:.92;

    letter-spacing:-.055em;
}


.sitemap-bottom-action{
    display:flex;

    flex-direction:column;

    align-items:flex-start;

    justify-content:space-between;

    gap:30px;
}


.sitemap-bottom-action p{
    max-width:460px;

    margin:0;

    color:
        rgba(255,255,255,.6);

    font-size:13px;

    line-height:1.7;
}


.sitemap-button{
    display:inline-flex;

    align-items:center;

    gap:30px;

    padding:
        13px 18px;

    border-radius:999px;

    background:var(--lime);

    color:var(--ink);

    font-size:11px;

    font-weight:800;

    text-decoration:none;

    transition:
        transform .2s ease;
}


.sitemap-button:hover{
    transform:
        translateY(-2px);
}



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

@media(max-width:980px){

    .sitemap-hero-grid{
        grid-template-columns:1fr;

        gap:35px;
    }


    .sitemap-grid{
        grid-template-columns:1fr;
    }


    .sitemap-bottom{
        grid-template-columns:1fr;

        gap:35px;
    }

}


@media(max-width:720px){

    .sitemap-hero{
        padding:
            28px 0 50px;
    }


    .sitemap-breadcrumbs{
        margin-bottom:30px;
    }


    .sitemap-hero h1{
        font-size:60px;
    }


    .sitemap-group{
        padding:
            24px 20px;
    }


    .sitemap-group-head{
        margin-bottom:28px;
    }


    .sitemap-group-head h2{
        font-size:28px;
    }


    .sitemap-bottom{
        padding:
            30px 22px;
    }


    .sitemap-links small{
        max-width:270px;
    }

}