/* Human-readable sitemap: a task-first directory inspired by the clarity of a tools hub. */
:root{
    --sitemap-ink:#14261d;
    --sitemap-muted:#5d7166;
    --sitemap-line:#d9e6de;
    --sitemap-soft:#f2f7f4;
    --sitemap-brand:#167447;
    --sitemap-brand-strong:#0e5533;
    --sitemap-lime:#d8f36a;
    --sitemap-shadow:0 18px 48px rgba(18,58,38,.08);
}
body.sitemap-directory-page{
    min-height:100vh;
    margin:0;
    overflow-x:hidden;
    color:var(--sitemap-ink);
    background:
        radial-gradient(circle at 8% 7%,rgba(191,229,205,.55),transparent 28rem),
        radial-gradient(circle at 92% 27%,rgba(224,240,161,.32),transparent 24rem),
        linear-gradient(180deg,#fbfdfb 0,#f3f8f5 34rem,#fff 100%);
    font-family:Inter,"Segoe UI",Arial,sans-serif;
}
body.sitemap-directory-page .sitemap-directory-main{
    width:min(1180px,calc(100% - 40px));
    margin:0 auto;
    padding:clamp(42px,6vw,76px) 0 92px;
}
.sitemap-directory-hero{
    display:grid;
    grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);
    gap:clamp(28px,5vw,68px);
    align-items:center;
    min-height:430px;
}
.sitemap-directory-eyebrow{
    margin:0 0 10px;
    color:var(--sitemap-brand);
    font-size:.72rem;
    font-weight:800;
    line-height:1.4;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.sitemap-directory-hero h1{
    max-width:12ch;
    margin:0;
    color:#0e271a;
    font-size:clamp(2.8rem,6vw,5.35rem);
    font-weight:800;
    line-height:.98;
    letter-spacing:-.068em;
}
.sitemap-directory-lede{
    max-width:66ch;
    margin:24px 0 0;
    color:#4f675a;
    font-size:clamp(1rem,1.5vw,1.16rem);
    line-height:1.75;
}
.sitemap-directory-actions{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:28px;
}
.sitemap-directory-button{
    display:inline-flex;
    min-height:44px;
    box-sizing:border-box;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:11px 16px;
    border:1px solid var(--sitemap-brand);
    border-radius:10px;
    color:#fff!important;
    background:var(--sitemap-brand);
    font-size:.84rem;
    font-weight:760;
    text-decoration:none!important;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease;
}
.sitemap-directory-button:hover,
.sitemap-directory-button:focus-visible{
    transform:translateY(-2px);
    border-color:var(--sitemap-brand-strong);
    outline:none;
    background:var(--sitemap-brand-strong);
    box-shadow:0 11px 26px rgba(16,82,50,.16);
}
.sitemap-directory-button.is-secondary{
    border-color:#c7dbcf;
    color:#224b35!important;
    background:rgba(255,255,255,.75);
}
.sitemap-directory-button.is-secondary:hover,
.sitemap-directory-button.is-secondary:focus-visible{border-color:#8fbba0;background:#fff}
.sitemap-directory-summary{
    padding:12px;
    border:1px solid rgba(16,71,43,.13);
    border-radius:22px;
    background:#0f3121;
    box-shadow:0 24px 58px rgba(12,46,30,.16);
}
.sitemap-directory-summary-label{
    display:block;
    padding:14px 15px 11px;
    color:#bcd6c5;
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.sitemap-directory-summary-list{display:grid;gap:7px}
.sitemap-directory-summary-list a{
    display:grid;
    grid-template-columns:36px 1fr;
    gap:2px 10px;
    padding:14px 15px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:13px;
    color:#fff!important;
    background:rgba(255,255,255,.035);
    text-decoration:none!important;
    transition:background-color .16s ease,border-color .16s ease,transform .16s ease;
}
.sitemap-directory-summary-list a:hover,
.sitemap-directory-summary-list a:focus-visible{
    transform:translateX(2px);
    border-color:rgba(216,243,106,.45);
    outline:none;
    background:rgba(255,255,255,.075);
}
.sitemap-directory-summary-list span{
    grid-row:1/3;
    color:var(--sitemap-lime);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.08em;
}
.sitemap-directory-summary-list strong{font-size:.93rem;font-weight:750}
.sitemap-directory-summary-list small{color:#a9c7b5;font-size:.75rem;line-height:1.45}
.sitemap-directory-jump{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin:16px 0 0;
    padding:9px;
    border:1px solid var(--sitemap-line);
    border-radius:14px;
    background:rgba(255,255,255,.82);
    box-shadow:0 9px 26px rgba(18,58,38,.05);
}
.sitemap-directory-jump a{
    padding:9px 12px;
    border-radius:9px;
    color:#365d48!important;
    font-size:.78rem;
    font-weight:750;
    text-decoration:none!important;
}
.sitemap-directory-jump a:hover,
.sitemap-directory-jump a:focus-visible{outline:none;background:#edf6f0;color:var(--sitemap-brand-strong)!important}
.sitemap-directory-section{
    padding-top:clamp(76px,9vw,116px);
    scroll-margin-top:110px;
}
.sitemap-directory-section-heading{
    display:grid;
    grid-template-columns:190px minmax(0,760px);
    gap:28px;
    align-items:start;
    margin-bottom:28px;
}
.sitemap-directory-section-heading>div:first-child{display:flex;align-items:center;gap:11px;padding-top:6px}
.sitemap-directory-section-heading .sitemap-directory-eyebrow{margin:0}
.sitemap-directory-step{
    display:grid;
    width:36px;
    height:36px;
    flex:none;
    place-items:center;
    border:1px solid #bdd7c7;
    border-radius:10px;
    color:var(--sitemap-brand-strong);
    background:#edf7f0;
    font-size:.7rem;
    font-weight:850;
}
.sitemap-directory-section h2{
    margin:0;
    color:#10271b;
    font-size:clamp(1.95rem,3.5vw,3rem);
    font-weight:790;
    line-height:1.06;
    letter-spacing:-.052em;
}
.sitemap-directory-section-heading>div:last-child>p{
    max-width:68ch;
    margin:12px 0 0;
    color:var(--sitemap-muted);
    font-size:.96rem;
    line-height:1.7;
}
.sitemap-directory-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px;
}
.sitemap-directory-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.sitemap-directory-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}
.sitemap-directory-card{
    position:relative;
    display:flex;
    min-height:246px;
    box-sizing:border-box;
    flex-direction:column;
    padding:24px;
    overflow:hidden;
    border:1px solid var(--sitemap-line);
    border-radius:17px;
    color:inherit!important;
    background:rgba(255,255,255,.88);
    box-shadow:0 8px 22px rgba(18,58,38,.035);
    text-decoration:none!important;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease;
}
.sitemap-directory-card:hover,
.sitemap-directory-card:focus-visible{
    transform:translateY(-3px);
    border-color:#9dc7ad;
    outline:none;
    background:#fff;
    box-shadow:0 16px 34px rgba(18,58,38,.085);
}
.sitemap-directory-card.is-featured{
    border-color:#bddbc8;
    background:linear-gradient(145deg,#eff9f2 0,#fff 70%);
}
.sitemap-directory-card-icon{
    display:grid;
    width:43px;
    height:43px;
    place-items:center;
    margin-bottom:28px;
    border-radius:12px;
    color:#fff;
    background:#195f3d;
    font-size:.82rem;
    font-weight:850;
    letter-spacing:-.02em;
}
.sitemap-directory-card.is-featured .sitemap-directory-card-icon{color:#18371f;background:var(--sitemap-lime)}
.sitemap-directory-card-icon.is-urdu{font-family:"Noto Nastaliq Urdu","Noto Naskh Arabic",serif;font-size:.95rem;letter-spacing:0}
.sitemap-directory-card-kicker{
    margin-bottom:6px;
    color:#6a8375;
    font-size:.66rem;
    font-weight:800;
    letter-spacing:.095em;
    text-transform:uppercase;
}
.sitemap-directory-card h3{
    margin:0 0 9px;
    color:#153625;
    font-size:1.12rem;
    font-weight:770;
    line-height:1.28;
    letter-spacing:-.025em;
}
.sitemap-directory-card p{
    margin:0;
    color:#5c7165;
    font-size:.86rem;
    line-height:1.65;
}
.sitemap-directory-card-link{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:auto;
    padding-top:22px;
    color:var(--sitemap-brand);
    font-size:.78rem;
    font-weight:780;
}
.sitemap-directory-card[aria-current="page"]{border-style:dashed;background:#f8fbf9}
.sitemap-directory-note{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    margin-top:clamp(82px,10vw,128px);
    padding:clamp(28px,5vw,48px);
    border-radius:22px;
    background:#0e3020;
    box-shadow:var(--sitemap-shadow);
}
.sitemap-directory-note .sitemap-directory-eyebrow{color:#b9dca8}
.sitemap-directory-note h2{
    margin:0 0 9px;
    color:#fff;
    font-size:clamp(1.65rem,3vw,2.5rem);
    font-weight:780;
    letter-spacing:-.04em;
}
.sitemap-directory-note p:last-child{max-width:68ch;margin:0;color:#c3dbcc;font-size:.9rem;line-height:1.7}
.sitemap-directory-button.is-light{flex:none;border-color:var(--sitemap-lime);color:#17341f!important;background:var(--sitemap-lime)}
.sitemap-directory-button.is-light:hover,
.sitemap-directory-button.is-light:focus-visible{border-color:#e5fa8c;background:#e5fa8c}
html[dir="rtl"] .sitemap-directory-hero h1,
html[dir="rtl"] .sitemap-directory-section h2{letter-spacing:0}

@media(max-width:920px){
    body.sitemap-directory-page .sitemap-directory-main{width:min(100% - 28px,720px);padding-top:36px}
    .sitemap-directory-hero{grid-template-columns:1fr;gap:28px;min-height:0}
    .sitemap-directory-hero h1{max-width:13ch;font-size:clamp(2.8rem,11vw,4.7rem)}
    .sitemap-directory-summary{max-width:620px}
    .sitemap-directory-section-heading{grid-template-columns:1fr;gap:12px}
    .sitemap-directory-section-heading>div:first-child{padding-top:0}
    .sitemap-directory-grid,
    .sitemap-directory-grid.three,
    .sitemap-directory-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
    .sitemap-directory-note{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
    body.sitemap-directory-page .sitemap-directory-main{width:min(100% - 20px,640px);padding-bottom:60px}
    .sitemap-directory-hero h1{font-size:clamp(2.55rem,13vw,4rem)}
    .sitemap-directory-actions{display:grid;grid-template-columns:1fr}
    .sitemap-directory-button{width:100%}
    .sitemap-directory-jump{display:grid;grid-template-columns:1fr 1fr}
    .sitemap-directory-grid,
    .sitemap-directory-grid.three,
    .sitemap-directory-grid.compact{grid-template-columns:1fr}
    .sitemap-directory-card{min-height:220px;padding:21px}
    .sitemap-directory-card-icon{margin-bottom:23px}
    .sitemap-directory-section{padding-top:72px}
    .sitemap-directory-note{padding:25px 22px}
}
@media(prefers-reduced-motion:reduce){
    .sitemap-directory-page *{scroll-behavior:auto!important;transition:none!important}
}
