/* ============================================================
   SITEMAP PAGE
   PRS Information / Index Page
============================================================= */

.sitemap-hero {
    padding:45px 0 85px;
    background:var(--prs-soft);
    border-bottom:1px solid var(--prs-line);
}
.sitemap-hero-grid {
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:65px;
    align-items:center;
}

/* ---------- EYEBROW ---------- */
.sitemap-eyebrow {
    display:flex;
    align-items:center;
    gap:7px;
    margin-bottom:11px;
    color:var(--prs-orange);
    font-size:9px;
    font-weight:850;
    letter-spacing:1.1px;
    text-transform:uppercase;
}
.sitemap-eyebrow .status-dot {
    width:6px;
    height:6px;
    flex:0 0 6px;
}

/* ---------- HERO CONTENT ---------- */
.sitemap-hero-content h1 {
    max-width:700px;
    margin:0;
    color:var(--prs-navy);
    font-size:clamp(38px,4.5vw,58px);
    line-height:1.04;
    letter-spacing:-2px;
    font-weight:900;
}
.sitemap-hero-content h1 span {
    display:block;
    color:var(--prs-orange);
}
.sitemap-hero-content > p {
    max-width:650px;
    margin:18px 0 0;
    color:var(--prs-muted);
    font-size:13px;
    line-height:1.85;
}
.sitemap-hero-actions {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:23px;
}
.sitemap-hero-actions a {
    text-decoration:none;
}
.sitemap-hero-points {
    display:flex;
    flex-wrap:wrap;
    gap:8px 18px;
    margin-top:22px;
}
.sitemap-hero-points span {
    color:var(--prs-muted);
    font-size:10px;
}
.sitemap-hero-points i {
    margin-right:4px;
    color:var(--prs-orange);
}

/* ============================================================
   HERO PANEL
============================================================= */

.sitemap-hero-panel {
    overflow:hidden;
    border:1px solid var(--prs-line);
    border-radius:18px;
    background:var(--prs-white);
    box-shadow:var(--prs-shadow);
}
.sitemap-hero-panel-top,
.sitemap-hero-panel-bottom {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:13px 16px;
    color:var(--prs-muted);
    font-size:7px;
    font-weight:850;
    letter-spacing:.8px;
}
.sitemap-hero-panel-top {
    border-bottom:1px solid var(--prs-line);
}
.sitemap-hero-panel-top i {
    color:#35ad78;
    font-size:5px;
}
.sitemap-hero-panel-bottom {
    border-top:1px solid var(--prs-line);
}
.sitemap-hero-diagram {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:270px;
    padding:28px 20px;
    background:linear-gradient(145deg,#f5f7fa,#e8edf3);
}
.sitemap-diagram-node {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:82px;
    min-height:92px;
    padding:9px 5px;
    border:1px solid rgba(39,52,89,.12);
    border-radius:12px;
    background:rgba(255,255,255,.8);
    text-align:center;
}
.sitemap-diagram-node.featured {
    border-color:rgba(248,103,59,.28);
    background:rgba(248,103,59,.06);
}
.sitemap-diagram-node i {
    margin-bottom:10px;
    color:var(--prs-orange);
    font-size:18px;
}
.sitemap-diagram-node strong {
    color:var(--prs-navy);
    font-size:7px;
    font-weight:850;
}
.sitemap-diagram-node small {
    margin-top:4px;
    color:var(--prs-muted);
    font-size:6px;
}
.sitemap-diagram-line {
    width:24px;
    height:1px;
    background:rgba(248,103,59,.5);
}
.sitemap-diagram-column {
    display:grid;
    gap:7px;
}

/* ============================================================
   INDEX SECTION
============================================================= */

.sitemap-index-section {
    padding:35px 0;
    background:var(--prs-white);
    border-bottom:1px solid var(--prs-line);
}
.sitemap-section-heading {
    margin-bottom:38px;
}
.sitemap-heading-grid {
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:80px;
    align-items:end;
}
.sitemap-heading-grid h2 {
    max-width:650px;
    margin:0;
    color:var(--prs-navy);
    font-size:clamp(34px,4vw,52px);
    line-height:1.08;
    letter-spacing:-1.8px;
    font-weight:850;
}
.sitemap-heading-grid h2 span {
    display:block;
    color:var(--prs-orange);
}
.sitemap-heading-grid > p {
    max-width:520px;
    margin:0;
    color:var(--prs-muted);
    font-size:14px;
    line-height:1.85;
}

/* ============================================================
   SITEMAP GROUPS
============================================================= */

.sitemap-groups {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}
.sitemap-group {
    overflow:hidden;
    border:1px solid var(--prs-line);
    border-radius:var(--prs-radius);
    background:var(--prs-white);
    box-shadow:0 10px 35px rgba(43,49,83,.035);
}
.sitemap-group-head {
    display:flex;
    align-items:center;
    gap:12px;
    padding:18px 20px;
    border-bottom:1px solid var(--prs-line);
    background:var(--prs-soft);
}
.sitemap-group-number {
    color:#c5ccd6;
    font-size:9px;
    font-weight:850;
    letter-spacing:.7px;
}
.sitemap-group-icon {
    display:flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    flex:0 0 36px;
    border-radius:10px;
    background:rgba(248,103,59,.07);
    color:var(--prs-orange);
    font-size:13px;
}
.sitemap-group-head h3 {
    flex:1;
    margin:0;
    color:var(--prs-navy);
    font-size:13px;
    font-weight:850;
    letter-spacing:.3px;
}
.sitemap-group-count {
    color:var(--prs-muted);
    font-size:8px;
    font-weight:750;
    letter-spacing:.5px;
}
.sitemap-group-links {
    display:grid;
}
.sitemap-link {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:15px 20px;
    border-bottom:1px solid var(--prs-line);
    color:inherit;
    text-decoration:none;
    transition:background var(--prs-transition),padding var(--prs-transition);
}
.sitemap-link:last-child {
    border-bottom:0;
}
.sitemap-link:hover {
    background:rgba(248,103,59,.035);
}
.sitemap-link-main {
    display:flex;
    flex-direction:column;
    gap:4px;
    min-width:0;
}
.sitemap-link-main strong {
    color:var(--prs-navy);
    font-size:11px;
    font-weight:850;
    transition:color var(--prs-transition);
}
.sitemap-link-main small {
    color:var(--prs-muted);
    font-size:9px;
    line-height:1.5;
}
.sitemap-link-arrow {
    display:flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    flex:0 0 28px;
    border:1px solid var(--prs-line);
    border-radius:50%;
    color:var(--prs-muted);
    font-size:8px;
    transition:color var(--prs-transition),border-color var(--prs-transition),background var(--prs-transition),transform var(--prs-transition);
}
.sitemap-link:hover .sitemap-link-main strong {
    color:var(--prs-orange);
}
.sitemap-link:hover .sitemap-link-arrow {
    border-color:var(--prs-orange);
    background:var(--prs-orange);
    color:var(--prs-white);
    transform:translate(2px,-2px);
}

/* ============================================================
   CTA
============================================================= */

.sitemap-cta-section {
    padding:35px 0;
    background:var(--prs-soft);
}
.sitemap-cta {
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:45px;
    padding:48px 45px;
    border-radius:21px;
    background:var(--prs-gradient);
    box-shadow:var(--prs-shadow);
}
.sitemap-cta::before {
    content:"";
    position:absolute;
    width:330px;
    height:330px;
    right:-100px;
    top:-180px;
    border-radius:50%;
    background:rgba(255,255,255,.10);
}
.sitemap-cta .sitemap-eyebrow {
    color:var(--prs-white);
    margin-bottom:13px;
}
.sitemap-cta .sitemap-eyebrow .status-dot {
    background:var(--prs-white);
}
.sitemap-cta h2 {
    position:relative;
    z-index:1;
    max-width:680px;
    margin:0;
    color:var(--prs-white);
    font-size:clamp(29px,4vw,43px);
    line-height:1.08;
    letter-spacing:-1.3px;
    font-weight:850;
}
.sitemap-cta h2 span {
    display:block;
    color:rgba(255,255,255,.78);
}
.sitemap-cta p {
    position:relative;
    z-index:1;
    max-width:620px;
    margin:12px 0 0;
    color:rgba(255,255,255,.78);
    font-size:11px;
    line-height:1.75;
}
.sitemap-cta-actions {
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    flex-shrink:0;
}
.sitemap-cta-actions .btn {
    display:inline-flex;
    align-items:center;
    gap:9px;
    background:var(--prs-white);
    border-color:var(--prs-white);
    color:var(--prs-navy);
}
.sitemap-cta-actions .btn i {
    font-size:9px;
}
.sitemap-phone {
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--prs-white);
    font-size:10px;
    font-weight:800;
    text-decoration:none;
}
.sitemap-phone > i {
    display:flex;
    align-items:center;
    justify-content:center;
    width:35px;
    height:35px;
    border:1px solid rgba(255,255,255,.30);
    border-radius:50%;
    background:rgba(255,255,255,.10);
    font-size:11px;
}
.sitemap-phone span {
    display:flex;
    flex-direction:column;
    gap:2px;
}
.sitemap-phone small {
    color:rgba(255,255,255,.65);
    font-size:7px;
    font-weight:800;
    letter-spacing:.7px;
    text-transform:uppercase;
}

/* ============================================================
   RESPONSIVE
============================================================= */

@media (max-width:1000px) {
    .sitemap-hero-grid {
        grid-template-columns:1fr;
        gap:35px;
    }
    .sitemap-hero-panel {
        max-width:650px;
    }
    .sitemap-heading-grid {
        grid-template-columns:1fr;
        gap:20px;
    }
    .sitemap-groups {
        grid-template-columns:1fr;
    }
    .sitemap-cta {
        align-items:flex-start;
        flex-direction:column;
    }
    .sitemap-cta-actions {
        flex-direction:row;
        align-items:center;
    }
}

@media (max-width:760px) {
    .sitemap-hero {
        padding:45px 0 65px;
    }
    .sitemap-hero-content h1 {
        font-size:38px;
        letter-spacing:-1.7px;
    }
    .sitemap-hero-panel {
        min-height:auto;
    }
    .sitemap-hero-diagram {
        min-height:230px;
        overflow-x:auto;
        justify-content:flex-start;
    }
    .sitemap-diagram-node {
        min-width:78px;
    }
    .sitemap-heading-grid h2 {
        font-size:36px;
        letter-spacing:-1px;
    }
    .sitemap-heading-grid > p {
        font-size:13px;
    }
    .sitemap-group-head {
        padding:16px;
    }
    .sitemap-link {
        padding:14px 16px;
    }
    .sitemap-cta {
        padding:34px 25px;
    }
    .sitemap-cta h2 {
        font-size:31px;
    }
    .sitemap-cta-actions {
        align-items:flex-start;
        flex-direction:column;
    }
}

@media (max-width:480px) {
    .sitemap-hero-content h1 {
        font-size:34px;
    }
    .sitemap-hero-actions .btn,
    .sitemap-cta-actions .btn {
        width:100%;
        justify-content:center;
    }
    .sitemap-hero-diagram {
        padding:22px 14px;
    }
    .sitemap-diagram-node {
        width:72px;
        min-height:84px;
        padding:8px 4px;
    }
    .sitemap-diagram-node i {
        font-size:16px;
    }
    .sitemap-group-head h3 {
        font-size:12px;
    }
    .sitemap-link-main strong {
        font-size:10.5px;
    }
    .sitemap-link-main small {
        font-size:8.5px;
    }
}