

:root {

  
  --s-blue:        #003a79;  
  --s-blue-deep:   #002653;  
  --s-blue-ink:    #001c3e;  

  
  --s-ink:         #101820;  
  --s-body:        #536272;  
  --s-muted:       #687887;  

  
  --s-paper:       #f6f8fb;  
  --s-tint:        #e9eef3;  
  --s-tint-deep:   #e0e7ef;  
  --s-white:       #ffffff;

  
  --s-line:        #ccd3d9;  
  --s-line-tint:   #bdc9d3;  
  --s-line-navy:   #346395;  

  
  --s-focus:       #137ad8;  

  
  --s-print-navy:      #1c3d72;  
  --s-print-navy-deep: #12305f;  
  --s-print-steel:     #3f72a7;  

  
  --s-logo-navy:  #273f85;  
  --s-logo-black: #231f20;  

  
  --s-gradient: linear-gradient(120deg, #3f72a7 0%, #1d3e78 45%, #12305f 100%);

  
  --s-font:        "Archivo", system-ui, sans-serif;
  --s-font-mono:   "IBM Plex Mono", ui-monospace, monospace;

  
  --s-radius:       0;      
  --s-radius-app:   8px;    
  --s-radius-round: 50%;    

  
  --s-1:   4px;
  --s-2:   8px;
  --s-3:  12px;
  --s-4:  16px;
  --s-5:  24px;
  --s-6:  32px;
  --s-7:  48px;
  --s-8:  64px;
  --s-9:  96px;
  --s-10:128px;

  
  --s-pad:     max(24px, min(5vw, 80px), calc((100vw - 1440px) / 2));
  --s-maxw:    1440px;                      
  --s-section: 96px;                        

  
  
  --s-ease:       cubic-bezier(.22, 1, .36, 1);
  --s-t-press:    160ms;   
  --s-t-color:    250ms;   
  --s-t-move:     300ms;   
  --s-t-reveal:   750ms;   
}

@media (max-width: 800px) { :root { --s-section: 70px; } }
@media (max-width: 540px) { :root { --s-section: 57px; } }


:where(a, button, input, select, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--s-focus);
  outline-offset: 5px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
