/* ==========================================================================
   System Pages — Search Results / 404
   These templates own their layout and responsive behavior.
   ========================================================================== */

.system-page{background:#fff;}

/* Search */
.system-search-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#f8fbfd 0%,#eef5f9 72%,#e9f3f8 100%);}
.system-search-hero::after{content:"";position:absolute;right:-8%;top:-40%;width:48vw;height:48vw;border:1px solid rgba(58,87,167,.09);border-radius:50%;box-shadow:0 0 0 90px rgba(255,255,255,.18),0 0 0 180px rgba(255,255,255,.12);pointer-events:none;}
.system-search-hero-inner{position:relative;z-index:1;min-height:440px;padding-top:calc(var(--header-h) + 52px);padding-bottom:66px;}
.system-search-copy{width:min(780px,68%);margin-top:64px;}
.system-search-copy h1{margin:8px 0 12px;color:#162638;font-size:clamp(48px,4.7vw,82px);font-weight:300;line-height:1.02;overflow-wrap:anywhere;}
.system-search-summary{margin:0;color:#697782;font-size:16px;line-height:1.5;}
.system-search-form{width:min(610px,100%);margin-top:32px;}
.system-search-form .search-form{display:grid;max-width:none;margin:0;grid-template-columns:minmax(0,1fr) 58px;border:1px solid #dce5eb;border-radius:7px;background:rgba(255,255,255,.82);box-shadow:0 12px 34px rgba(38,64,82,.055);overflow:hidden;}
.system-search-form .search-field{min-width:0;height:56px;padding:0 18px;border:0;background:transparent;color:#263641;font-size:16px;}
.system-search-form .search-submit{width:58px;border-left:1px solid #e3e9ed;color:var(--blue);transition:background .24s ease,color .24s ease;}
.system-search-form .search-submit:hover,.system-search-form .search-submit:focus-visible{background:var(--cyan);color:#fff;}
.system-search-content>.container{padding-top:72px;padding-bottom:96px;}
.search-results-grid{gap:28px;}
.content-card-search-result .content-card-media{aspect-ratio:1.55;}
.content-card-search-result .content-card-body{padding:24px 24px 22px;}
.content-card-search-result .eyebrow{margin-bottom:10px;}
.system-pagination{margin-top:58px;}
.system-pagination .nav-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;}
.system-pagination .page-numbers{display:grid;min-width:42px;height:42px;padding:0 12px;place-items:center;border:1px solid #e0e7ec;border-radius:6px;background:#fff;color:#52626e;font-size:14px;transition:border-color .22s ease,background .22s ease,color .22s ease;}
.system-pagination .page-numbers:hover,.system-pagination .page-numbers.current{border-color:var(--cyan);background:var(--cyan);color:#fff;}
.system-pagination .prev,.system-pagination .next{padding-inline:18px;}
.system-empty-state{display:grid;max-width:920px;margin-inline:auto;padding:42px 46px;grid-template-columns:auto minmax(0,1fr) auto;gap:26px;align-items:center;border:1px solid #e0e8ed;border-radius:12px;background:linear-gradient(135deg,#f8fbfd,#f1f6f9);box-shadow:0 12px 34px rgba(35,61,78,.05);}
.system-empty-icon{width:54px;height:54px;}
.system-empty-state h2{margin:0 0 8px;color:#1b2a36;font-size:28px;font-weight:400;}
.system-empty-state p{margin:0;color:#68757f;font-size:16px;line-height:1.55;}

/* 404 */
.error-page{min-height:0;padding:0;}
.error-stage{position:relative;overflow:hidden;background:linear-gradient(135deg,#f8fbfd 0%,#edf4f8 100%);}
.error-stage::before{content:"";position:absolute;left:-11vw;bottom:-23vw;width:52vw;height:52vw;border:1px solid rgba(58,87,167,.09);border-radius:50%;box-shadow:0 0 0 90px rgba(255,255,255,.18),0 0 0 180px rgba(255,255,255,.11);}
.error-stage-inner{position:relative;z-index:1;min-height:760px;padding-top:calc(var(--header-h) + 50px);padding-bottom:80px;}
.error-layout{display:grid;min-height:540px;grid-template-columns:minmax(360px,.9fr) minmax(0,1fr);gap:74px;align-items:center;}
.error-code{color:transparent;font-size:clamp(190px,20vw,360px);font-weight:300;line-height:.78;letter-spacing:-.08em;-webkit-text-stroke:1px rgba(58,87,167,.24);user-select:none;}
.error-copy{max-width:650px;}
.error-copy h1{margin:9px 0 18px;color:#172738;font-size:clamp(46px,5vw,76px);font-weight:300;line-height:1.05;}
.error-copy>p:not(.eyebrow){max-width:590px;margin:0;color:#61707b;font-size:18px;line-height:1.62;}
.error-search{width:min(520px,100%);margin:34px 0 24px;}
.error-search .search-form{display:grid;max-width:none;margin:0;grid-template-columns:minmax(0,1fr) 56px;border:1px solid #dce5eb;border-radius:7px;background:rgba(255,255,255,.78);overflow:hidden;}
.error-search .search-field{height:54px;padding:0 17px;border:0;background:transparent;}
.error-search .search-submit{width:56px;color:var(--blue);}

@media(max-width:1100px){
    .system-search-hero-inner{min-height:400px;}
    .system-search-copy{width:78%;margin-top:48px;}
    .error-layout{grid-template-columns:minmax(260px,.65fr) minmax(0,1fr);gap:44px;}
    .error-stage-inner{min-height:680px;}
}

@media(max-width:760px){
    .system-search-hero-inner{min-height:360px;padding-top:calc(var(--header-h) + 28px);padding-bottom:42px;}
    .system-search-hero::after{right:-48%;top:-12%;width:96vw;height:96vw;box-shadow:0 0 0 54px rgba(255,255,255,.16),0 0 0 108px rgba(255,255,255,.10);}
    .system-search-copy{width:100%;margin-top:38px;}
    .system-search-copy h1{font-size:42px;}
    .system-search-summary{font-size:15px;}
    .system-search-form{margin-top:24px;}
    .system-search-form .search-field{height:52px;font-size:15px;}
    .system-search-content>.container{padding-top:42px;padding-bottom:64px;}
    .search-results-grid{gap:18px;}
    .content-card-search-result .content-card-body{padding:20px;}
    .system-pagination{margin-top:38px;}
    .system-pagination .page-numbers{min-width:38px;height:38px;padding-inline:10px;}
    .system-pagination .prev,.system-pagination .next{width:100%;}
    .system-empty-state{padding:28px 24px;grid-template-columns:1fr;gap:16px;align-items:start;}
    .system-empty-icon{width:48px;height:48px;}
    .system-empty-state h2{font-size:24px;}
    .system-empty-state .button{width:100%;justify-content:space-between;}

    .error-stage-inner{min-height:0;padding-top:calc(var(--header-h) + 28px);padding-bottom:64px;}
    .error-stage::before{left:-52vw;bottom:-22vw;width:120vw;height:120vw;box-shadow:0 0 0 54px rgba(255,255,255,.14),0 0 0 108px rgba(255,255,255,.08);}
    .error-layout{min-height:0;margin-top:38px;grid-template-columns:1fr;gap:26px;}
    .error-code{font-size:clamp(126px,42vw,190px);line-height:.82;}
    .error-copy h1{font-size:42px;}
    .error-copy>p:not(.eyebrow){font-size:16px;}
    .error-search{margin:26px 0 20px;}
    .error-copy .button{width:100%;justify-content:space-between;}
}

@media(max-width:420px){
    .system-search-copy h1,.error-copy h1{font-size:36px;}
    .system-search-form .search-form,.error-search .search-form{grid-template-columns:minmax(0,1fr) 50px;}
    .system-search-form .search-submit,.error-search .search-submit{width:50px;}
}


/* ==========================================================================
   SITE MAP
   ========================================================================== */
.site-map-page>.container{
    padding-top:58px;
    padding-bottom:90px;
}

.site-map-page .inner-editorial-section{
    margin-bottom:52px;
}

.site-map-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:26px;
    align-items:start;
}

.site-map-group{
    min-width:0;
    padding:26px 28px 28px;
    border-radius:12px;
    background:#fff;
    box-shadow:0 8px 28px rgba(31,61,81,.055);
}

.site-map-group h2{
    margin:0 0 18px;
    color:var(--blue);
    font-size:24px;
    font-weight:300;
    line-height:1.2;
}

.site-map-group h2 a{
    color:inherit;
}

.site-map-group ul{
    display:grid;
    gap:9px;
    margin:0;
    padding:0;
    list-style:none;
}

.site-map-group li{
    margin:0;
    padding:0;
}

.site-map-group li a{
    display:inline-flex;
    color:#4d5d68;
    font-size:15px;
    line-height:1.45;
    transition:color .2s ease,transform .2s ease;
}

.site-map-group li a:hover{
    color:var(--cyan);
    transform:translateX(3px);
}

html[dir="rtl"] .site-map-group li a:hover{
    transform:translateX(-3px);
}

@media(max-width:1260px){
    .site-map-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}

@media(max-width:900px){
    .site-map-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:600px){
    .site-map-page>.container{padding-top:38px;padding-bottom:64px;}
    .site-map-grid{grid-template-columns:1fr;gap:16px;}
    .site-map-group{padding:22px 22px 24px;}
}

.site-map-top{
    padding:64px 0 58px;
    background:#fff;
}
.site-map-top-copy{max-width:980px;}
.site-map-top-copy h1{margin:18px 0 16px;color:var(--blue);font-size:clamp(44px,4.2vw,72px);font-weight:300;line-height:1.03;letter-spacing:-.035em;}
.site-map-top-copy .page-subtitle{margin-bottom:14px;color:var(--blue);font-size:22px;font-weight:300;}
.site-map-abstract{max-width:820px;color:var(--text);font-size:17px;line-height:1.6;}
.site-map-menu-band{height:108px;}
@media(max-width:760px){.site-map-menu-band{height:76px}.site-map-top{padding:38px 0 42px}.site-map-top-copy h1{font-size:40px}}


.site-map-group li.has-children{
    display:block;
}

.site-map-subitems{
    gap:6px;
    margin-top:7px;
    padding-inline-start:16px;
    border-inline-start:1px solid #dfe7ec;
}

.site-map-subitems li a{
    color:#74828b;
    font-size:14px;
}

/* Site Map hierarchy */
.site-map-grid{align-items:stretch;}
.site-map-group{
    position:relative;
    padding:28px 30px 30px;
    border-top:3px solid rgba(3,186,240,.32);
}
.site-map-group h2{
    margin-bottom:20px;
    padding-bottom:14px;
    border-bottom:1px solid #e5ebef;
    font-size:26px;
}
.site-map-group>ul{gap:12px;}
.site-map-group>ul>li>a{
    color:#334a5b;
    font-size:16px;
    font-weight:500;
}
.site-map-group li.has-children{
    margin-top:3px;
    padding-top:3px;
}
.site-map-group li.has-children>a{
    color:var(--blue);
    font-weight:500;
}
.site-map-subitems{
    display:grid;
    gap:7px;
    margin-top:10px;
    margin-inline-start:4px;
    padding-inline-start:18px;
    border-inline-start:2px solid #e0e9ee;
}
.site-map-subitems li a{
    position:relative;
    color:#77858e;
    font-size:14px;
    font-weight:400;
}
.site-map-subitems li a::before{
    content:"";
    position:absolute;
    top:.72em;
    inset-inline-start:-19px;
    width:8px;
    height:1px;
    background:#bfcbd3;
}


/* Site Map nesting levels */
.site-map-group>ul>li{margin:0 0 0 30px;}
.site-map-group>ul>li>ul>li{margin:0 0 0 30px;}
