

:root {
  
  
  --surface-0: #000000;  
  --surface-1: #0d1319;  
  --surface-2: #172028;  
  --surface-3: #222d38;  
  --ink: #e6e7e9;
  --secondary: #9a9ca3;
  --faint: #84878d;       
  --faint-line: #6b6e76;     
  --hairline: rgba(255, 255, 255, 0.10);
  --section-rule: #2b3742;
  --ink-disabled: #383f47;
  --movement-up-text: #cd6a58;
  --down-text: #6c8f79;
  --tier-catastrophic-text: #c86d62;
  --tier-extreme-text: #bd7f4a;
  --tier-severe-text: #ad9f4c;
  --tier-stormy-text: #6f93a8;
  --tier-cloudy-text: #649179;
  --tier-clear-text: #818793;
  

  
  --ink-strong: #f3f4f6;
  --ink-soft: #c7cbd1;
  
  --hairline-strong: rgba(255, 255, 255, 0.18);

  
  --paper: var(--surface-0);
  --card: var(--surface-1);
  --muted: var(--surface-1);
  --raised: var(--surface-2);
  --float: var(--surface-3);

  
  --surface-0-a90: color-mix(in srgb, var(--surface-0) 90%, transparent);
  --surface-1-a94: color-mix(in srgb, var(--surface-1) 94%, transparent);
  --surface-1-a85: color-mix(in srgb, var(--surface-1) 85%, transparent);
  --surface-1-a70: color-mix(in srgb, var(--surface-1) 70%, transparent);
  --surface-1-a55: color-mix(in srgb, var(--surface-1) 55%, transparent);
  --surface-2-a85: color-mix(in srgb, var(--surface-2) 85%, transparent);
  --surface-0-a95: color-mix(in srgb, var(--surface-0) 95%, transparent);
  --surface-0-a92: color-mix(in srgb, var(--surface-0) 92%, transparent);

  
  
  --accent-1: #e1fefb;   
  --accent-2: #c1f4ef;   
  --accent-3: #95e6df;   
  --accent-4: #62d3cb;   
  --accent-5: #33beb6;   
  --accent-6: #13a19a;   
  --accent-7: #087f7a;   
  --accent-8: #0b5f5b;   
  --accent-9: #0e403d;   
  --accent-10: #0c2422;  
  --accent: var(--accent-5);
  
  --accent-a08: color-mix(in srgb, var(--accent) 8%, transparent);
  --accent-a16: color-mix(in srgb, var(--accent) 16%, transparent);
  --accent-a24: color-mix(in srgb, var(--accent) 24%, transparent);
  --accent-a40: color-mix(in srgb, var(--accent) 40%, transparent);
  
  --accent-wash: color-mix(in srgb, var(--accent) 8%, var(--surface-1));

  
  --movement-up: #BE3D26;
  --down: #3E6B4F;
  --movement-up-chip: color-mix(in srgb, var(--movement-up) 16%, transparent);
  --down-chip: color-mix(in srgb, var(--down) 16%, transparent);

  
  --tier-catastrophic: #c0584c;
  --tier-extreme:      #bd7f4a;
  --tier-severe:       #ad9f4c;
  --tier-stormy:       #6f93a8;
  --tier-cloudy:       #5a8a70;
  --tier-clear:        #6b7280;
  --tier-catastrophic-a15: color-mix(in srgb, var(--tier-catastrophic) 15%, transparent);
  --tier-extreme-a15:      color-mix(in srgb, var(--tier-extreme) 15%, transparent);
  --tier-severe-a15:       color-mix(in srgb, var(--tier-severe) 15%, transparent);
  --tier-stormy-a15:       color-mix(in srgb, var(--tier-stormy) 15%, transparent);
  --tier-cloudy-a15:       color-mix(in srgb, var(--tier-cloudy) 15%, transparent);
  --tier-clear-a15:        color-mix(in srgb, var(--tier-clear) 15%, transparent);

  
  --draw-water: #9fc0d4;       
  --draw-land: #2e3a46;        
  --draw-land-edge: #3a434d;   
  --draw-dim: #39414b;         
  --draw-rest: #49525c;        
  
  --globe-clear: var(--surface-0);     
  --globe-specular: #060809;           
  --sat-emissive-foil: #241d0e;        
  --sat-emissive-array: #070b14;       
  --sat-emissive-frame: #232830;       
  --sat-cell: #1a2a60;                 
  --draw-info: #8fa5b8;        
  --draw-info-line: #9ab1c4;   

  
  --sans: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --mono: 'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  --w-regular: 400;
  --w-medium: 500;
  --w-semibold: 600;
  --w-bold: 700;
  --w-mono-strong: 600;

  
  --fs-label: 11px;        
  --fs-small: 12px;        
  --fs-data: 13px;         
  --fs-body: 15px;         
  --fs-lead: 17px;         
  --fs-title: 21px;        
  --fs-section: 26px;      
  --fs-display-s: 40px;    
  --fs-display-m: 56px;    
  --fs-display-l: 72px;    
  --fs-hero-num: 90px;     
  --fs-index-num: 118px;   

  
  --lh-display: 1.05;
  --lh-title: 1.2;
  --lh-body: 1.55;
  --lh-normal: normal;

  
  --tr-display: -0.025em;
  --tr-label: 1.5px;
  --tr-label-tight: 1px;

  
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);       
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);    
  
  --dur-fast: 0.15s;    
  --dur-base: 0.25s;    
  --dur-slow: 0.5s;     
  
  --stagger: 0.05s;     
  
  --dur-reveal: var(--dur-slow);

  
  --wrap-max: clamp(1280px, calc(1280px + (100vw - 1440px) * 0.6), 1920px);
}


@media (min-width: 1920px) {
  :root {
    --fs-body: 17px; --fs-lead: 20px; --fs-title: 24px; --fs-section: 30px;
    --fs-display-s: 46px; --fs-display-m: 64px; --fs-display-l: 83px; --fs-hero-num: 104px; --fs-index-num: 136px;
  }
}
@media (min-width: 2400px) {
  :root {
    --fs-body: 20px; --fs-lead: 22px; --fs-title: 27px; --fs-section: 34px;
    --fs-display-s: 52px; --fs-display-m: 73px; --fs-display-l: 94px; --fs-hero-num: 117px; --fs-index-num: 153px;
  }
}


#hec, .hec-wait {
  --paper: #000000;
  --card: #0B0B0E;
  --muted: #101015;
  --ink: #E6E7E9;
  --secondary: #9A9CA3;
  --faint: #6B6E76;
  --accent: #33BEB6;
  --movement-up: #BE3D26;
  --down: #3E6B4F;
  --hairline: #1C1C22;
  --section-rule: #2A2A30;
  --sans: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --mono: 'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  --tier-catastrophic: #c0584c;
  --tier-extreme:      #bd7f4a;
  --tier-severe:       #ad9f4c;
  --tier-stormy:       #6f93a8;
  --tier-cloudy:       #5a8a70;
  --tier-clear:        #6b7280;
}


.l-about {
  --paper: #000000;
  --card: #0B0B0E;
  --muted: #101015;
  --ink: #E6E7E9;
  --secondary: #9A9CA3;
  --faint: #6B6E76;
  --accent: #33BEB6;
  --movement-up: #BE3D26;
  --down: #3E6B4F;
  --hairline: #1C1C22;
  --section-rule: #2A2A30;
  --sans: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --mono: 'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  --tier-catastrophic: #c0584c;
  --tier-extreme:      #bd7f4a;
  --tier-severe:       #ad9f4c;
  --tier-stormy:       #6f93a8;
  --tier-cloudy:       #5a8a70;
  --tier-clear:        #6b7280;
  
  --fs-small: 12px;
  --fs-lead: 17px;
  --fs-section: 30px;
  --fs-display-s: 40px;
  --lh-display: 1.12;
  --lh-body: 1.65;
  --tr-display: -0.5px;
}

.l-about .l-about-kicker { --tr-label: 2.5px; }


body.dashboard {
  --tier-catastrophic: #dc2626;
  --tier-extreme:      #f97316;
  --tier-severe:       #eab308;
  --tier-stormy:       #8b5cf6;
  --tier-cloudy:       #3b82f6;
  --tier-clear:        #22c55e;
}


@media (prefers-reduced-motion: reduce) {
  body.landing-active, body.landing-active *:not(#hec):not(#hec *), body.landing-active *:not(#hec):not(#hec *)::before,
  body.landing-active *:not(#hec):not(#hec *)::after,
  body.now-root, body.now-root *, body.now-root *::before, body.now-root *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
