/* BenefitDesk Shared Layout */
:root{--bd-header-bg:#071d33;--bd-header-bg-2:#0b2a4a;--bd-header-text:#f8fafc;--bd-header-muted:#c9d8e6;--bd-accent:#d4a84b;--bd-focus:#f5c85f;--bd-shell-width:1180px}
.site-header{position:relative;z-index:100;color:var(--bd-header-text);background:linear-gradient(135deg,rgba(7,29,51,.99),rgba(11,42,74,.98));border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 8px 28px rgba(7,29,51,.14)}
.site-shell{width:min(100% - 2rem,var(--bd-shell-width));margin-inline:auto}
.site-topbar{display:grid;grid-template-columns:auto minmax(250px,430px);align-items:center;justify-content:space-between;gap:1.25rem;padding:1rem 0 .85rem}
.site-brand{display:inline-flex;align-items:center;gap:.75rem;color:#fff;text-decoration:none}
.site-brand-mark{width:2.5rem;height:2.5rem;display:grid;place-items:center;border-radius:.72rem;background:var(--bd-accent);color:var(--bd-header-bg);font-weight:950}
.site-brand-copy{display:grid;line-height:1.1}
.site-brand-name{font-size:1.08rem;font-weight:850}
.site-brand-tagline{margin-top:.25rem;color:var(--bd-header-muted);font-size:.76rem;font-weight:600}
.site-search{display:flex;align-items:stretch;min-width:0}
.site-search label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.site-search input{width:100%;min-width:0;min-height:44px;border:1px solid rgba(255,255,255,.18);border-right:0;border-radius:.65rem 0 0 .65rem;padding:.72rem .85rem;color:#17212b;background:#fff;font:inherit}
.site-search button{min-height:44px;border:1px solid var(--bd-accent);border-radius:0 .65rem .65rem 0;padding:0 1rem;color:var(--bd-header-bg);background:var(--bd-accent);font:inherit;font-weight:800;cursor:pointer}
.site-nav-wrap{border-top:1px solid rgba(255,255,255,.08)}
.site-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.1rem;padding:.35rem 0 .55rem}
.site-nav a{display:inline-flex;align-items:center;min-height:42px;padding:.55rem .72rem;border-radius:.55rem;color:#edf4fa;text-decoration:none;font-size:.91rem;font-weight:700}
.site-nav a:hover{color:#fff;background:rgba(255,255,255,.08)}
.site-nav a[aria-current="page"]{color:var(--bd-header-bg);background:var(--bd-accent)}
.site-mobile-nav{display:none}
.site-mobile-nav summary{cursor:pointer;list-style:none;min-height:44px;display:flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid rgba(255,255,255,.2);border-radius:.65rem;color:#fff;font-weight:800;background:rgba(255,255,255,.06)}
.site-mobile-nav summary::-webkit-details-marker{display:none}
.site-mobile-panel{display:grid;gap:.35rem;padding:.6rem 0 .9rem}
.site-mobile-panel a{display:block;padding:.68rem .75rem;border-radius:.55rem;color:#edf4fa;text-decoration:none;font-weight:700}
.site-mobile-panel a:hover,.site-mobile-panel a[aria-current="page"]{color:var(--bd-header-bg);background:var(--bd-accent)}
.site-footer{margin-top:4rem;color:#dce8f2;background:var(--bd-header-bg);border-top:4px solid var(--bd-accent)}
.site-footer-main{display:grid;grid-template-columns:minmax(230px,1.2fr) repeat(3,minmax(150px,.8fr));gap:2rem;padding:2.4rem 0 2rem}
.site-footer h2{margin:0 0 .8rem;color:#fff;font-size:1rem}
.site-footer p{color:#c5d4e1;line-height:1.65}
.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li+li{margin-top:.5rem}
.site-footer a{color:#dce8f2;text-decoration:none}.site-footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:.18em}
.site-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.7rem 1.2rem;padding:1rem 0 1.4rem;border-top:1px solid rgba(255,255,255,.1);color:#aebfce;font-size:.82rem}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--bd-focus);outline-offset:3px}
@media(max-width:900px){.site-topbar{grid-template-columns:1fr}.site-search{width:100%}.site-nav{display:none}.site-mobile-nav{display:block;padding:.55rem 0 .75rem}.site-footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.site-shell{width:min(100% - 1rem,var(--bd-shell-width))}.site-brand-tagline{display:none}.site-brand-mark{width:2.2rem;height:2.2rem}.site-footer-main{grid-template-columns:1fr}.site-footer-bottom{display:grid}}
@media print{.site-header,.site-footer{display:none!important}}