/* Accessible controls are part of the site, with no third-party overlay. */
:root{--privacy-space:0px}body{padding-bottom:var(--privacy-space,0px)}
/* Outrank the footer navigation columns and mobile block rule, without changing them. */
.ship-footer nav.site-policy-links{display:block;width:100%;margin:0;padding:18px 0 84px;border-top:1px solid #d5d8d3;font:400 .8125rem/1.6 Arial,sans-serif;color:#4d5563}
.site-policy-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 32px}
.site-policy-documents{display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px;list-style:none;padding:0;margin:0}
.site-policy-documents li{padding:0;margin:0}
.ship-footer nav.site-policy-links a{display:inline-flex;align-items:center;min-height:44px;color:inherit;font:inherit;text-decoration:none;margin:0;text-underline-offset:4px}
.ship-footer nav.site-policy-links a:hover{text-decoration:underline;color:#142136}
.site-policy-actions{display:flex;flex-wrap:wrap;gap:10px}
.site-policy-actions:not(:has(button:not([hidden]))){display:none}
.site-policy-links .site-policy-actions button{min-height:44px;max-width:100%;padding:9px 14px;border:1px solid #b5bcb9;border-radius:6px;background:transparent;color:#344354;font:inherit;line-height:1.5;text-align:center;cursor:pointer}
.site-policy-links .site-policy-actions button:hover{background:#faf9f5;border-color:#526071}
@media(max-width:760px){
 .site-policy-inner{display:block}
 .site-policy-documents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}
 .site-policy-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid #d5d8d3}
}
.access-launch{position:fixed;z-index:80;inset-inline-start:18px;bottom:18px;display:flex;align-items:center;gap:8px;padding:11px 15px;min-height:46px;border:1px solid #d9e0ef;border-radius:100px;background:#fff;color:var(--brand-accent,#253c76);box-shadow:0 4px 18px #14265414;font:600 .8125rem/1.5 Arial,sans-serif;cursor:pointer}
.privacy-banner{position:fixed;z-index:90;bottom:78px;inset-inline-end:20px;box-sizing:border-box;width:420px;max-width:calc(100% - 40px);max-height:calc(100dvh - 100px);overflow:auto;margin:0;background:#faf9f6;color:#2b2923;border:1px solid #e3e0d8;border-radius:14px;padding:18px 20px;box-shadow:0 4px 24px #29251d0d;text-align:start;font-family:inherit}
.privacy-banner-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.privacy-banner strong{font-size:.9375rem;font-weight:600;line-height:1.4}.privacy-banner p{font-size:.8125rem;line-height:1.6;margin:6px 0 16px;color:#666158}.privacy-banner a{color:inherit;text-underline-offset:3px}.site-settings a{color:var(--brand-accent,#234ae0);text-underline-offset:3px}
.privacy-banner-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.privacy-banner button{font-family:inherit;font-size:.8125rem;font-weight:500;line-height:1.5;min-height:44px;border:1px solid #d7d3c9;border-radius:7px;background:transparent;color:#36382c;padding:9px 12px;cursor:pointer;transition:background .15s,border-color .15s}.privacy-banner-actions button:hover{background:#eeeee5;border-color:#929780}.privacy-banner [data-open-cookies]{flex:none;min-height:44px;padding:4px 0;background:transparent;border:0;border-radius:0;font-size:.75rem;font-weight:400;text-decoration:underline;text-underline-offset:3px;color:#666158}.privacy-banner [data-open-cookies]:hover{color:#292b22}
.site-settings{width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #d8dfeb;border-radius:22px;padding:28px;background:#fff;color:#202632;box-shadow:0 18px 75px #14265426;box-sizing:border-box;margin:auto}
.site-settings::backdrop{background:#17223970;backdrop-filter:blur(3px)}
.settings-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.settings-kicker{font-size:.6875rem;letter-spacing:.06em;color:#5c687e;font-weight:600}.settings-close{width:44px;height:44px;border:1px solid #e1e6ef;border-radius:50%;background:#fafbff;color:#4b576a;cursor:pointer;font:400 1.5rem/1 Arial,sans-serif}
.site-settings h2{font-size:1.8rem!important;line-height:1.25;letter-spacing:-.035em;margin:15px 0;color:#202632!important}.site-settings>p{font-size:.9375rem;line-height:1.7;color:#596373;margin:0 0 18px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid #e4e8ef;cursor:pointer}.settings-row strong{font-size:.9375rem;font-weight:600;line-height:1.5}.settings-row p{font-size:.8125rem;line-height:1.6;color:#626d7f;margin:6px 0 0}.settings-fixed{font-size:.6875rem;white-space:nowrap;background:var(--brand-accent-soft,#eef3ff);color:var(--brand-accent,#355195);padding:5px 8px;border-radius:6px}
.settings-row input[type=checkbox]{width:24px;height:24px;min-width:24px;accent-color:var(--brand-accent,#2452ff);cursor:pointer}.settings-row select{background:#fff;border:1px solid #aebbd2;color:#25364e;border-radius:8px;padding:10px;font:400 .875rem/1.5 Arial,sans-serif;min-height:44px;max-width:65%}
.site-settings .settings-detail{font-size:.75rem;line-height:1.7;margin:16px 0;color:#606b7d}.settings-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.settings-actions button,.policy-action{flex:1;min-height:46px;padding:11px 15px;background:var(--brand-accent,#2452ff);border:1px solid var(--brand-accent,#2452ff);color:#fff;border-radius:10px;font:600 .875rem/1.5 Arial,sans-serif;cursor:pointer}.settings-actions button+button{background:#fff;color:var(--brand-accent,#2343a6);border-color:var(--brand-accent-line,#b6c5ec)}
.settings-announcement{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;inset-inline-start:0}
.privacy-banner[hidden],.access-launch[hidden],[data-open-cookies][hidden],[data-open-access][hidden]{display:none!important}
.site-settings:not([open]){display:none}
:is(.site-settings,.privacy-banner,.site-policy-links,.access-launch) :focus-visible,.access-launch:focus-visible{outline:3px solid var(--brand-accent,#1548ef);outline-offset:4px}
.policy-page{max-width:800px!important;padding-block:48px 60px}.policy-page h1{font-size:clamp(2.1rem,5vw,3.5rem);line-height:1.15;color:#202632}.policy-page h2{font-size:1.5rem;line-height:1.35;margin:30px 0 15px;color:#202632}.policy-page section{padding:0!important}.policy-page p{font-size:1.0625rem;line-height:1.85;color:#4c5769;overflow-wrap:anywhere}.policy-page .policy-date{font-size:.8125rem;color:#68758a;margin:15px 0 30px}.policy-page a{color:var(--brand-accent,#2043cb);text-underline-offset:3px}.policy-action{display:inline-block;flex:none;margin-top:22px}
html[data-text-size=large]{font-size:112.5%}html[data-text-size=larger]{font-size:125%}
html.access-links a{text-decoration:underline!important;text-underline-offset:.2em}
html.access-motion *,html.access-motion *::before,html.access-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.access-motion .flow-reveal,html.access-motion .reveal{opacity:1!important;transform:none!important}
html.access-motion .emoji-pop{display:none!important}
html.access-contrast body,html.access-contrast main,html.access-contrast section,html.access-contrast article,html.access-contrast header,html.access-contrast footer,html.access-contrast aside,html.access-contrast dialog{background:#fff!important;color:#111!important}
html.access-contrast :is(h1,h2,h3,h4,p,li,label,summary,strong,small,em,figcaption,span){color:#111!important;text-shadow:none!important;opacity:1!important}
html.access-contrast a{color:#102aa3!important;text-decoration:underline!important}
html.access-contrast :is(button,.button,.btn,.editorial-cta,.ship-nav-cta,.contact-submit){background:#fff!important;color:#102aa3!important;border:2px solid #102aa3!important}
html.access-contrast input,html.access-contrast textarea,html.access-contrast select{background:#fff!important;color:#111!important;border-color:#111!important}
html.access-contrast [aria-selected=true],html.access-contrast [aria-pressed=true]{box-shadow:inset 0 -3px #102aa3}
@media(max-width:760px){.privacy-banner{inset-inline-end:12px;bottom:74px;width:calc(100% - 24px);max-width:420px;padding:14px 16px;border-radius:12px}.access-launch{inset-inline-start:14px;bottom:14px}.site-settings{padding:22px;max-height:calc(100dvh - 24px)}.site-settings h2{font-size:1.55rem!important}.settings-row{gap:14px}.settings-actions{display:grid;grid-template-columns:1fr}.policy-page{padding-top:28px}.policy-page p{font-size:1rem}.site-policy-links{gap:12px 18px}.settings-fixed{white-space:normal;min-width:65px;text-align:center}}
/* Keep mobile contact and accessibility actions on separate logical edges.
   The launcher text stays in the accessibility tree, even when icon-only. */
@media(max-width:760px){
 .brand-site{
  --control-edge-start:max(14px,env(safe-area-inset-left,0px));
  --control-edge-end:max(14px,env(safe-area-inset-right,0px));
  --control-bottom:max(14px,env(safe-area-inset-bottom,0px));
 }
 html[dir=rtl] .brand-site{
  --control-edge-start:max(14px,env(safe-area-inset-right,0px));
  --control-edge-end:max(14px,env(safe-area-inset-left,0px));
 }
 .brand-site .access-launch{
  box-sizing:border-box;
  inset-inline-start:var(--control-edge-start);
  bottom:var(--control-bottom);
  justify-content:center;
  gap:0;
  width:46px;
  height:46px;
  padding:0;
 }
 .brand-site .access-launch>span{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
 }
 .brand-site .sitewide-cta{
  box-sizing:border-box;
  z-index:70;
  left:auto;
  right:auto;
  inset-inline-start:auto;
  inset-inline-end:var(--control-edge-end);
  bottom:var(--control-bottom);
  width:auto;
  max-width:calc(100% - var(--control-edge-start) - var(--control-edge-end) - 64px);
  gap:0;
  padding:4px;
  transform:translateY(calc(100% + 2rem));
 }
 .brand-site .sitewide-cta.visible{transform:none}
 .brand-site .sitewide-cta>span{display:none}
 .brand-site .sitewide-cta-button{
  flex:1 1 auto;
  width:auto;
  min-width:0;
  min-height:44px;
  max-width:100%;
 }
 .brand-site .privacy-banner{
  bottom:calc(var(--control-bottom) + 60px);
  max-height:calc(100dvh - var(--control-bottom) - 86px);
 }
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.flow-reveal,.reveal{opacity:1!important;transform:none!important}}

#checkoutModal.modal{width:100%;height:100dvh;margin:0;max-width:none;max-height:none;border:0;padding:20px;box-sizing:border-box}#checkoutModal.modal:not([open]){display:none}#checkoutModal .modal-content{max-height:calc(100dvh - 40px);box-sizing:border-box}#checkoutModal .modal-close{min-width:44px;min-height:44px;top:8px;right:8px}.enrollment-privacy{font-size:.8125rem;line-height:1.65;margin:18px 0;color:#536174}
