/* the design system's header, menu and footer for pages not built on it. Written by tools/patch.mjs P13 from ds.css; do not edit */
.cf-skip, .cf-header, .cf-menu, .cf-footer { font-family: var(--cf-font-body); color: var(--cf-dark-blue); line-height: normal; -webkit-font-smoothing: antialiased; text-align: left; }
.cf-header *, .cf-menu *, .cf-footer *, .cf-header *::before, .cf-header *::after { box-sizing: border-box; }
.cf-header :focus-visible, .cf-menu :focus-visible, .cf-footer :focus-visible, .cf-skip:focus-visible { outline: 2px solid var(--cf-light-blue); outline-offset: 3px; }
.cf-header img, .cf-footer img { max-width: none; }
#cf-content:focus { outline: none; }
/* the Webflow nav used the same class names: its rules for .cf-nav / .cf-nav__links are undone here */
.cf-header .cf-nav { position: static; height: auto; margin: 0; padding: 0; background: none; border: 0; }
.cf-header .cf-nav__links { margin: 0; gap: 0; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 300 700; font-display: swap; src: url('/assets/ds/fonts/inter-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 300 700; font-display: swap; src: url('/assets/ds/fonts/inter-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter Tight'; font-style: normal; font-weight: 300 700; font-display: swap; src: url('/assets/ds/fonts/inter-tight-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Inter Tight'; font-style: normal; font-weight: 300 700; font-display: swap; src: url('/assets/ds/fonts/inter-tight-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
:root {
  
  --cf-navy: #122236;          
  --cf-dark-blue: #24364F;     
  --cf-medium-blue: #264363;   
  --cf-light-blue: #4275AE;    
  --cf-sky: #8FB4DA;           
  --cf-highlight: #DCE7F4;     
  --cf-white: #FFFFFF;         
  --cf-canvas-warm: #F7F5F2;   
  --cf-section-warm: #F1EEE8;  
  --cf-line-soft: #EAE5DC;     
  --cf-border-warm: #D8D2C8;   
  --cf-line-strong: #BFB7A8;   
  --cf-divider: #C9C2B6;       
  --cf-orange: #FF8001;        
  --cf-orange-tint: #FFF0E3;   

  
  --cf-font-display: 'Inter Tight', Inter, -apple-system, 'Helvetica Neue', Arial, sans-serif;
  --cf-font-body: Inter, -apple-system, 'Helvetica Neue', Arial, sans-serif;
  --cf-text-display: clamp(52px, 7.4vw, 112px);  
  --cf-text-h2: clamp(36px, 4vw, 58px);          
  --cf-text-statement: clamp(28px, 3.4vw, 50px); 
  --cf-text-h3: clamp(22px, 2.2vw, 32px);        
  --cf-text-lead: clamp(18px, 1.6vw, 22px);      
  --cf-text-body: 16px;                          
  --cf-text-small: 14px;                         
  --cf-text-label: 12px;                         

  
  --cf-space-1: 4px;  --cf-space-2: 8px;  --cf-space-3: 12px; --cf-space-4: 16px;
  --cf-space-5: 24px; --cf-space-6: 32px; --cf-space-7: 48px; --cf-space-8: 64px;
  --cf-section-y: clamp(60px, 8vw, 154px);   
  --cf-block-gap: clamp(40px, calc(28.86px + 2.857vw), 70px);    
  --cf-gutter: clamp(20px, 4vw, 56px);
  
  --cf-frame: min(1440px, 94.444vw);
  
  --cf-p-card: clamp(20px, calc(15.54px + 1.143vw), 32px);
  --cf-band: clamp(96px, calc(72.2px + 6.1vw), 160px); 
  
  --cf-gutter: clamp(22px, calc(10.9px + 3.92vw), 41px);
  --cf-max: 1360px;

  
  --cf-radius: 0;            
  --cf-radius-pill: 999px;   
  --cf-rule: 3px;            
  --cf-ease: 160ms ease;     
  --cf-focus: 2px solid #4275AE; --cf-focus-offset: 3px;
  
  --cf-joint: #8E8677;         
  
  --cf-font-display: 'Inter Tight', Inter, sans-serif;
  
  --cf-light-blue-on-warm: #3E6FA5;
}
@view-transition { navigation: auto; }
.cf-header { view-transition-name: cf-header; }
::view-transition-old(root) { animation: cf-vt-out 0.5s cubic-bezier(0.65, 0, 0.35, 1) both; }
::view-transition-new(root) { animation: cf-vt-in 0.5s cubic-bezier(0.65, 0, 0.35, 1) both; }
@keyframes cf-vt-out { to { transform: translateX(-12%); filter: brightness(0.82); } }
@keyframes cf-vt-in { from { transform: translateX(100%); } }
@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
}
:where(.cf-header, .cf-menu) .cf-button { display: inline-flex; align-items: center; gap: 12px; padding: 16px 24px; background: var(--cf-navy); color: var(--cf-white); border: 1px solid var(--cf-navy); font-weight: 500; font-size: 16px; line-height: normal; text-decoration: none; white-space: nowrap; transition: background var(--cf-ease); }
:where(.cf-header, .cf-menu) .cf-button:hover { background: var(--cf-dark-blue); border-color: var(--cf-dark-blue); color: var(--cf-white); }
:where(.cf-header, .cf-menu) .cf-button--sm { gap: 10px; padding: 10px 16px; font-size: 14px; }
.cf-skip { position: absolute; left: -9999px; top: 8px; z-index: 100; background: var(--cf-navy); color: var(--cf-white); padding: 12px 16px; font-size: 14px; font-weight: 600; text-decoration: none; }
.cf-skip:focus { left: 16px; }
.cf-header { position: sticky; top: 0; z-index: 40; background: rgba(255, 255, 255, 0.96); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border-bottom: 1px solid var(--cf-border-warm); }
.cf-header__in { max-width: var(--cf-frame); margin: 0 auto; padding: 12px var(--cf-gutter); display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.cf-header__logo { flex: none; display: flex; align-items: center; }
.cf-header__logo img { height: 36px; width: auto; display: block; }
.cf-nav { display: flex; align-items: center; gap: 10px; }
.cf-nav__links { display: flex; border: 1px solid var(--cf-border-warm); }
.cf-nav__links a { position: relative; display: flex; align-items: center; height: 36px; padding: 0 13px; font-size: 12.5px; font-weight: 400; line-height: 1; color: var(--cf-dark-blue); text-decoration: none; border-right: 1px solid var(--cf-border-warm); white-space: nowrap; transition: color 0.25s ease; }
.cf-nav__links a::after { content: ''; position: absolute; left: 13px; right: 13px; bottom: 9px; height: 1px; background: var(--cf-navy); transform: scaleX(0); transform-origin: left; transition: transform 0.3s ease; }
.cf-nav__links a:last-child { border-right: 0; }
.cf-nav__links a:hover { color: var(--cf-navy); }
.cf-nav__links a:hover::after, .cf-nav__links a[aria-current="page"]::after { transform: scaleX(1); }
.cf-nav__links a:focus-visible { outline-offset: -2px; }
.cf-nav > .cf-button--sm { height: 38px; padding: 0 14px; gap: 8px; font-size: 12.5px; line-height: 1; }
@media (prefers-reduced-motion: reduce) {
  .cf-nav__links a, .cf-nav__links a::after { transition: none; }
}
.cf-header__compact { flex: none; display: none; gap: 8px; }
.cf-header__compact .cf-button { height: 36px; padding: 0 12px; font-size: 13px; border: 0; }
.cf-menu-btn { height: 36px; padding: 0 12px; font-size: 13px; font-weight: 500; background: var(--cf-white); border: 1px solid var(--cf-navy); color: var(--cf-navy); cursor: pointer; min-width: 72px; }
.cf-menu { position: fixed; top: 61px; left: 0; right: 0; bottom: 0; z-index: 39; background: var(--cf-white); overflow: auto; padding: 16px calc((100% - var(--cf-frame)) / 2 + var(--cf-gutter)) 48px; }
.cf-menu[hidden] { display: none; }
.cf-menu nav a { display: flex; justify-content: space-between; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--cf-line-soft); font-family: var(--cf-font-display); font-size: 22px; letter-spacing: -0.02em; color: var(--cf-navy); text-decoration: none; }
.cf-menu nav a span { color: var(--cf-light-blue); }
.cf-menu .cf-button { margin-top: 32px; }
@media (max-width: 1179px) {
  .cf-nav { display: none; }
  .cf-header__compact { display: flex; }
}
@media (min-width: 1180px) {
  .cf-menu { display: none; }
}
.cf-footer { background: var(--cf-canvas-warm); border-top: 1px solid var(--cf-border-warm); }
.cf-footer__in { max-width: var(--cf-frame); margin: 0 auto; padding: clamp(64px, 8vw, 104px) var(--cf-gutter) 32px; }
.cf-footer__cols { display: flex; flex-wrap: wrap; gap: 48px clamp(32px, 5vw, 80px); }
.cf-footer__brand { flex: 1.4 1 280px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.cf-footer__brand img { height: 56px; width: auto; align-self: flex-start; }
.cf-footer__brand p { margin: 0; max-width: 40ch; font-size: 16px; line-height: 1.6; color: var(--cf-dark-blue); }
.cf-footer__col { flex: 1 1 160px; min-width: 0; }
.cf-footer__col h2 { margin: 0 0 16px; font: 500 12px/1.2 var(--cf-font-display); letter-spacing: 0.12em; text-transform: uppercase; color: var(--cf-light-blue); }
.cf-footer__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.cf-footer__col a { font-size: 14px; color: var(--cf-navy); text-decoration: none; }
.cf-footer__col a:hover { color: var(--cf-light-blue); text-decoration: underline; }
.cf-footer__base { margin-top: clamp(48px, 6vw, 80px); padding-top: 24px; border-top: 1px solid var(--cf-border-warm); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; font-size: 14px; color: var(--cf-medium-blue); }
.cf-footer__base > span:last-child { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.cf-footer__base a { color: var(--cf-medium-blue); text-decoration: none; }
.cf-footer__base a:hover { color: var(--cf-navy); text-decoration: underline; }
.cf-footer__col h2 { color: var(--cf-light-blue-on-warm); }
.cf-footer__col a:hover { color: var(--cf-light-blue-on-warm); }
:where(.cf-header, .cf-menu) .cf-button--lg { padding: 17px 24px; flex: none; }
:where(.cf-header, .cf-menu) .cf-button--md { padding: 13px 18px; }
@media (max-width: 420px) {
  :where(.cf-header, .cf-menu) .cf-button { padding-left: 20px; padding-right: 20px; gap: 10px; }
}
@media (max-width: 480px) {
  :where(.cf-header, .cf-menu) .cf-button { white-space: normal; }
  :where(.cf-header, .cf-menu) .cf-button--lg { flex: 0 1 auto; }
}
.cf-nav__links a[aria-current="page"] { color: var(--cf-navy); }
.cf-menu nav a[aria-current="page"] { padding-left: 14px; box-shadow: inset 1px 0 0 var(--cf-navy); }
:where(.cf-header, .cf-menu) .cf-button--white { background: var(--cf-white); color: var(--cf-navy); }
:where(.cf-header, .cf-menu) .cf-button--white:hover { background: var(--cf-navy); border-color: var(--cf-navy); color: var(--cf-white); }
:where(.cf-header, .cf-menu) .cf-button--onnavy { background: var(--cf-white); color: var(--cf-navy); border-color: var(--cf-white); }
:where(.cf-header, .cf-menu) .cf-button--onnavy:hover { background: #E9EFF6; border-color: #E9EFF6; color: var(--cf-navy); }
