/* Shared navigation, shell and actions. Page layouts do not belong here. */
.wrap{
width:min(var(--max),calc(100% - 2*var(--gutter)));
margin-inline:auto}

.sr-only{
position:absolute;
width:1px;
height:1px;
padding:0;
margin:-1px;
overflow:hidden;
clip:rect(0,0,0,0);
white-space:nowrap;
border:0}

.skip-link{
position:fixed;
z-index:99;
top:8px;
left:8px;
transform:translateY(-150%);
padding:10px 16px;
background:#fff;
border:1px solid var(--line)}

.skip-link:focus{
transform:none}

.mobile-only{
display:none}

.site-header{
height:82px;
border-bottom:1px solid rgba(200,218,221,.7);
background:rgba(255,255,255,.95);
position:sticky;
top:0;
z-index:20;
backdrop-filter:blur(12px)}

.header-inner{
width:min(1300px,calc(100% - 48px));
height:100%;
margin:auto;
display:flex;
align-items:center;
justify-content:space-between;
gap:28px}

.brand{
display:inline-flex;
align-items:center;
gap:11px;
flex:none}

.brand-mark{
position:relative;
display:inline-flex;
width:28px;
height:24px;
align-items:center;
justify-content:center}

.brand-mark i{
display:block;
width:13px;
height:13px;
border-radius:50%;
position:absolute;
mix-blend-mode:multiply}

.brand-mark i:nth-child(1){
background:#5ac1c2;
left:0}

.brand-mark i:nth-child(2){
background:#e6b14f;
left:8px}

.brand-mark i:nth-child(3){
background:#ec7892;
left:16px}

.brand-name{
font-weight:700;
letter-spacing:.055em;
}

.brand-name span{
font-weight:500;
color:#7a8c93;
display:block;
line-height:1.3;
letter-spacing:.12em}

.primary-nav{
display:flex;
align-items:center;
gap:clamp(15px,2vw,28px);
font-weight:600;
color:#385467}

.primary-nav a:not(.nav-cta){
transition:color .2s}

.primary-nav a:hover,.text-link:hover{
color:var(--teal)}

.primary-nav .nav-cta{
padding:11px 19px;
border-radius:5px;
background:var(--teal);
color:white;
letter-spacing:.05em}

.nav-cta span{
margin-left:8px}

.menu-toggle{
display:none}

.actions{
display:flex;
align-items:center;
gap:28px;
margin-top:30px}

.button{
min-width:176px;
min-height:52px;
display:inline-flex;
align-items:center;
justify-content:center;
gap:18px;
padding:12px 22px;
border-radius:4px;
font-weight:600;
letter-spacing:.06em;
transition:transform .2s,background .2s}

.button:hover{
transform:translateY(-2px)}

.button-primary{
background:var(--teal);
color:white;
box-shadow:0 5px 14px rgba(54,123,130,.14)}

.button-primary:hover{
background:var(--teal-dark)}

.text-link{
font-weight:600;
color:var(--teal-dark);
border-bottom:1px solid #a8cacc;
padding-bottom:4px;
transition:color .2s}

.text-link span{
margin-left:5px}

.site-footer{
background:#f7f9fa;
border-top:1px solid #e5ecee}

.footer-inner{
width:min(1160px,calc(100% - 2*var(--gutter)));
margin:auto;
padding:34px 0 23px;
display:grid;
grid-template-columns:1fr 1fr;
align-items:center;
row-gap:13px}

.footer-brand{
grid-column:1;
grid-row:1}

.footer-inner>p{
grid-column:1;
grid-row:2;
margin:0;
color:#71858d;
}

.footer-inner nav{
grid-column:2;
grid-row:1/3;
justify-self:end;
display:flex;
flex-wrap:wrap;
gap:13px 20px;
color:#617780}

.footer-inner small{
grid-column:1/-1;
border-top:1px solid #e3eaeb;
padding-top:14px;
margin-top:8px;
color:#94a1a5;
letter-spacing:.08em}

@media(max-width:1050px){
.primary-nav{
gap:13px;
}

}

@media(max-width:760px){
.site-header{
height:68px}

.header-inner{
width:calc(100% - 36px)}

.menu-toggle{
width:42px;
height:42px;
border:1px solid var(--line);
border-radius:4px;
background:#fff;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
gap:5px}

.menu-toggle span:not(.sr-only){
width:17px;
height:1px;
background:#39616c}

.primary-nav{
display:none;
position:absolute;
top:67px;
left:0;
right:0;
background:white;
border-bottom:1px solid var(--line);
padding:12px 22px 20px;
box-shadow:0 15px 25px rgba(21,60,70,.08);
align-items:stretch;
gap:0}

.primary-nav.is-open{
display:flex;
flex-direction:column}

.primary-nav a{
padding:13px 4px;
border-bottom:1px solid #edf1f2}

.primary-nav .nav-cta{
margin-top:12px;
text-align:center;
padding:12px}

.actions{
gap:21px;
margin-top:23px}

.button{
min-width:150px;
min-height:48px;
}

.mobile-only{
display:block}

.footer-inner{
padding-block:26px 18px;
grid-template-columns:1fr}

.footer-brand,.footer-inner>p,.footer-inner nav,.footer-inner small{
grid-column:1;
grid-row:auto;
justify-self:start}

.footer-inner nav{
gap:11px 15px;
margin-top:6px}

.footer-inner small{
width:100%;
margin-top:12px}

}

@media(max-width:380px){
.actions{
gap:14px}

.button{
min-width:135px;
padding-inline:15px}

}

.site-header{
height:70px;
position:relative;
border:0;
backdrop-filter:none}

.header-inner{
width:min(1180px,calc(100% - 2*var(--gutter)))}

.brand{
gap:5px}

.brand-symbol{
width:65px;
height:auto;
display:block}

.brand-name{
color:#061945;
letter-spacing:.03em}

.brand-name span{
color:#19375c;
letter-spacing:.02em;
font-weight:600}

.primary-nav{
gap:29px;
color:#15345d}

.primary-nav .nav-cta{
padding:11px 32px;
border-radius:30px;
background:linear-gradient(100deg,#079cc2,#258ca7);
border:1px solid #007f9d;
}

.actions{
margin-top:19px;
gap:16px}

.button{
min-width:172px;
min-height:45px;
border-radius:6px;
}

.button-primary{
background:linear-gradient(105deg,#039dc6,#2494af);
border:1px solid #0084a8;
box-shadow:inset 0 0 9px #ffffff20}

.actions>.text-link{
min-width:172px;
padding:10px 19px;
text-align:center;
border:1px solid #119dc4;
border-radius:6px;
color:#0095bd;
background:#fff;
}

.actions>.text-link span{
display:none}

.text-link{
border:0;
color:#008eb8}

.site-footer{
background:#fff;
border:0}

.footer-inner{
padding:24px 0;
display:flex;
gap:24px;
flex-wrap:wrap;
justify-content:space-between}

.footer-inner>p{
display:none}

.footer-inner small{
border:0;
padding:0;
margin:0;
}

.footer-brand .brand-symbol{
width:58px}

@media(max-width:1050px){
.primary-nav{
gap:18px}

.primary-nav .nav-cta{
padding:9px 25px}

}

@media(max-width:760px){
.site-header{
height:65px}

.header-inner{
width:calc(100% - 32px)}

.brand-symbol{
width:50px}

.primary-nav{
top:64px}

.actions{
gap:12px}

.actions>.text-link,.button{
min-width:0;
flex:1;
padding-inline:15px}

.footer-inner{
gap:15px}

.footer-inner small{
width:100%}

}

.primary-nav a{
white-space:nowrap}

.brand-symbol{
flex:none}

@media(max-width:760px){
.primary-nav a{
white-space:normal}

}

.primary-nav{
gap:24px}

.button,.actions>.text-link,.primary-nav .nav-cta{
min-height:48px}

.footer-inner{
padding-block:30px;
gap:22px}

.footer-inner nav{
color:var(--body-copy)}

.footer-inner small{
color:#526276}

@media(min-width:761px) and (max-width:1050px){
.primary-nav{
gap:16px}

.primary-nav .nav-cta{
padding:10px 19px}

}

.button,.actions>.text-link,.primary-nav,.primary-nav .nav-cta,.text-link{

 font-size:var(--text-body)
}

.footer-inner nav,.footer-inner small{

 font-size:var(--text-note);
line-height:var(--line-body)
}

.brand-name,.footer-brand .brand-name{
font-size:1.25rem}

.brand-name span{
font-size:.625rem}

@media(max-width:1050px){
.primary-nav{
font-size:var(--text-note);
gap:1rem}

}

@media(max-width:760px){
.brand-name,.footer-brand .brand-name{
font-size:1.125rem}

}


/* Reusable detail disclosure and data tables. */
.disclosure{
margin-top:1rem}

.disclosure>details>summary{
list-style:none;
text-align:right;
color:var(--teal-dark);
font-size:1rem;
font-weight:500;
cursor:pointer}

.disclosure>details>summary:after{
content:' ＋';
padding-left:.5rem}

.disclosure>details[open]>summary:after{
content:' −'}

.disclosure details[open]{
padding:1.5rem;
background:white;
border:1px solid var(--line);
border-radius:6px}

.disclosure details[open]>p{
max-width:45em}

@media(max-width:760px){
.disclosure details[open]{
padding:1rem}
}

@media(max-width:480px){
.disclosure details[open]{
padding:.75rem}
}

.reviewed-page summary::-webkit-details-marker{
display:none}

.reviewed-page summary:focus-visible,.reviewed-page a:focus-visible{
outline:3px solid #2e808c;
outline-offset:5px}

.reviewed-page table{
border-collapse:collapse;
width:100%;
font-size:1rem;
line-height:1.8}

.reviewed-page th,.reviewed-page td{
padding:1rem;
text-align:left;
border-bottom:1px solid var(--line);
vertical-align:top}

.reviewed-page th{
background:#f3f8f9;
font-weight:500}

@media(max-width:760px){
.reviewed-page th,.reviewed-page td{
min-width:9rem}
}

.reviewed-page .table-scroll{
overflow-x:auto;
margin-top:1.25rem}

