/* Shared public header layout and theme. */
.site-topbar-links a{display:inline-flex;align-items:center;gap:6px}.site-topbar-links .cc-icon{width:18px;height:18px;flex:none}
.site-theme .site-header{background:#061a31;border-color:#ffffff12;color:#c4d3e1}
.site-theme .site-header .brand{color:#f4f9ff}.site-theme .site-header .brand small{color:#95adc4}
.site-theme .site-nav a{color:#bacadd}.site-theme .site-nav a:hover{color:#49e2ee}
.site-theme .site-nav .menu-branch[open]>.menu-tree{background:#0b263e;border-color:#214259}
.site-theme .site-header .btn.primary{background:#09abc2;color:#fff;border-color:transparent}
.site-theme .site-topbar{background:#051529;color:#b6ccdf;border-color:#ffffff12}.site-theme .site-topbar a{color:#8ddce5}

.site-header{max-width:none;margin:auto;padding:18px max(24px,calc((100% - 1280px)/2));min-height:88px;display:flex;align-items:center;gap:16px 28px;flex-wrap:wrap;font-size:15px}
.site-header .brand{min-width:0;flex:0 1 260px;gap:12px;font-size:22px;letter-spacing:-.5px;line-height:1.25}
.site-header .brand img:not(.site-logo){width:36px;height:40px;flex:none}
.site-header .brand small{display:block;font-size:12px;line-height:1.5;letter-spacing:0;font-weight:400;color:var(--muted);margin-top:5px}
.site-navigation{min-width:0;flex:1 1 400px}
.site-navigation>summary,.site-search-disclosure>summary{display:none;cursor:pointer;list-style:none;font-size:14px;font-weight:600;border:1px solid var(--line);border-radius:7px;padding:6px 12px;line-height:1.6}
.site-navigation>summary::-webkit-details-marker,.site-search-disclosure>summary::-webkit-details-marker{display:none}
.site-navigation>summary::before{content:'☰';margin-right:8px}.site-search-disclosure>summary::before{content:'⌕';margin-right:8px}
.site-navigation>summary:focus-visible,.site-search-disclosure>summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.site-header .site-nav{display:flex;align-items:center;justify-content:flex-end;gap:12px 22px;font-size:15px;line-height:1.5}
.site-header .site-nav>.menu-tree{gap:12px 22px;align-items:center}
.site-header .site-nav a{text-decoration:none}.site-header .site-nav a:hover{color:var(--accent)}
.site-header .site-nav a[aria-current]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}
.site-header-actions{flex:0 1 auto;max-width:100%}.site-header-actions .cc-callback-header{background:var(--accent);color:#fff;border-color:transparent;font-size:15px;font-weight:600;line-height:1.5;padding:12px 20px;overflow-wrap:anywhere}
.site-admin-link{font-size:12px;font-weight:400}
.site-search-disclosure{min-width:0}.site-header>.site-search-disclosure{flex:1 1 100%}.site-search-disclosure .public-search{width:100%;margin:0}
.site-topbar{background:var(--tint,#edf3f4);border-bottom:1px solid var(--line);font-size:13px;line-height:1.5}
.site-topbar-inner{max-width:1328px;margin:auto;padding:8px 24px;display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap}
.site-topbar-inner>*{min-width:0;max-width:100%}.site-topbar a{overflow-wrap:anywhere;text-decoration:none}.site-topbar a:hover{text-decoration:underline}
.site-topbar-links{display:flex;flex-wrap:wrap;gap:6px 12px;list-style:none;margin:0;padding:0}.site-topbar-links li{min-width:0}
.site-topbar-announcement{margin:0;flex:1 1 220px}.site-topbar-menu{flex:0 1 auto}.site-topbar-menu .menu-branch[open]>.menu-tree{left:auto;right:0}
.site-topbar .site-search-disclosure{flex:1 1 220px;max-width:400px;margin-left:auto}
.site-topbar .public-search{font-size:13px}.site-topbar .public-search-row{gap:6px}.site-topbar .public-search-row input,.site-topbar .public-search-row button{min-height:32px;font:inherit}.site-topbar .public-search-row input{padding:5px 10px;line-height:1.5}.site-topbar .btn{padding:5px 12px;line-height:1.5}
.site-topbar .cc-callback-topbar{margin-left:auto;background:var(--accent);color:#fff;font-weight:600;cursor:pointer;overflow-wrap:anywhere}
.site-theme .site-topbar .public-search-row input{background:#ffffff0b;border-color:#ffffff30;color:#edf7ff}
.site-theme .site-topbar .public-search-row input::placeholder{color:#adc0d3;opacity:1}
.site-theme .site-topbar .public-search-row .btn{background:#0a8198;border-color:transparent;color:#fff}
.site-theme .site-topbar .public-search-suggestions{background:#0b263e;border-color:#214259;color:#edf7ff}
.site-theme .site-topbar .public-search-suggestions a:hover,.site-theme .site-topbar .public-search-suggestions a:focus{background:#15394d}
@media(max-width:1100px){
 .site-header{gap:12px 20px;padding:16px 24px;min-height:0}.site-header .brand{flex:1 1 220px}
 .site-navigation{order:3;flex:1 1 100%}.site-navigation>summary{display:inline-block}.site-header .site-nav{padding-top:16px;justify-content:flex-start;align-items:flex-start}.site-header>.site-search-disclosure{order:4}
 .site-header .site-nav>.menu-tree{gap:12px 24px}.site-header .site-nav .menu-branch[open]>.menu-tree{left:0;right:auto}
 .site-topbar-inner{gap:8px 14px}
}
@media(max-width:700px){
 .site-header{padding:16px 20px;gap:12px}.site-header .brand{flex:1 1 145px;font-size:18px;gap:9px}.site-header .brand img:not(.site-logo){width:30px;height:34px}.site-header .brand small{font-size:11px}
 .site-header-actions{flex:0 1 155px}.site-header-actions .cc-callback-header{padding:10px 12px;font-size:13px}
 .site-header .site-nav{display:block}.site-header .site-nav>.menu-tree{display:grid;gap:14px}.site-header .site-admin-link{display:inline-block;margin-top:14px}
 .site-header .site-nav .menu-branch[open]>.menu-tree{position:static;min-width:0;max-width:100%;margin-top:10px;box-shadow:none}.site-header .menu-link-row{flex-wrap:wrap}.site-header .menu-branch[open]{flex-basis:100%}
 .site-topbar .public-search-row input,.site-topbar .public-search-row button{min-height:44px;font-size:16px}
 .site-topbar-inner{padding:8px 20px;gap:8px 12px}.site-topbar .site-search-disclosure{flex:1 1 100%;max-width:none;margin:0}.site-search-disclosure>summary{display:inline-block}
 .site-search-disclosure[open]>.public-search{margin-top:10px}.site-topbar .cc-callback-topbar{margin-left:0}
}
/* Separate header slots retain the stock theme; only their placement changes. */
.site-theme .site-header.site-header--rows{display:grid;grid-template-columns:minmax(160px,260px) minmax(200px,1fr) auto;gap:20px 24px}
.site-header--rows>.brand{grid-column:1;grid-row:1}
.site-header.site-header--rows>.site-search-disclosure{grid-column:2;grid-row:1;width:100%;order:0}
.site-header--rows>.site-header-tools{grid-column:3;grid-row:1}
.site-header--rows>.site-navigation{grid-column:1;grid-row:2;position:static}
.site-header--rows>.site-header-links{grid-column:2 / -1;grid-row:2;justify-content:flex-start}
.site-header--rows{position:relative}
.site-header--rows .site-header-tools>.menu-tree{display:flex;gap:12px;flex-wrap:wrap}
.site-header--rows .site-header-tools .menu-link-row>a{display:flex;flex-direction:column;align-items:center;gap:4px}
.site-header--rows .site-header-tools .cc-icon{width:24px;height:24px}
@media(min-width:1101px){.site-header--rows .site-navigation--mega[open]>.site-nav{inset-inline:4%;width:auto;top:100%}}
@media(max-width:1100px){
 .site-theme .site-header.site-header--rows{grid-template-columns:minmax(0,1fr) auto;gap:16px}
 .site-header--rows>.site-header-tools{grid-column:2;grid-row:1}
 .site-header.site-header--rows>.site-search-disclosure{grid-column:1 / -1;grid-row:2}
 .site-header--rows>.site-navigation{grid-column:1 / -1;grid-row:3}
 .site-header--rows>.site-header-links{grid-column:1 / -1;grid-row:4}
 .site-header--rows>.site-header-links>.menu-tree{display:flex;flex-wrap:wrap}
}
@media(max-width:500px){
 .site-header--rows>.brand{grid-column:1 / -1}
 .site-header--rows>.site-header-tools{grid-column:1 / -1;grid-row:2;justify-content:flex-start;padding:0}
 .site-header.site-header--rows>.site-search-disclosure{grid-row:3}
 .site-header--rows>.site-navigation{grid-row:4}
 .site-header--rows>.site-header-links{grid-row:5}
}

.site-header:not(.site-header--rows)>.site-navigation{order:1}.site-header:not(.site-header--rows)>.site-header-actions{order:2}.site-header:not(.site-header--rows)>.site-search-disclosure{order:3}
