@font-face{font-family:"DM Sans";src:url("/fonts/dm-sans-var.woff2") format("woff2");font-weight:100 1000;font-style:normal;font-display:swap;}
@font-face{font-family:"DM Sans";src:url("/fonts/dm-sans-italic-var.woff2") format("woff2");font-weight:100 1000;font-style:italic;font-display:swap;}
@font-face{font-family:"Newsreader";src:url("/fonts/newsreader-italic-var.woff2") format("woff2");font-weight:200 800;font-style:italic;font-display:swap;}
@font-face{font-family:"DM Mono";src:url("/fonts/dm-mono-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;}

:root{
  --bg:#F7F8F9; --card:#FFFFFF; --text:#0D1117; --text-2:#5A6A75; --ice:#0A6EA8; --ice-soft:#E8F4FB; --ice-bright:#4FC3F7;
  --light-bg:#FFFFFF; --light-bg-2:#FFFFFF; --light-text:#0D1117; --light-text-2:#5A6A75; --deep-ice:#0A6EA8;
  --font-sans:"DM Sans",system-ui,sans-serif;
  --font-accent:"Newsreader",Georgia,serif;
  --font-mono:"DM Mono",ui-monospace,monospace;
  --line:1px solid #E1E6EA;
  --measure:70ch;
}
html{background:var(--bg);color:var(--text);color-scheme:light;}
body{font-family:var(--font-sans);font-size:18px;line-height:1.6;font-weight:400;}
h1,h2,.display{font-family:var(--font-sans);font-weight:900;letter-spacing:-0.02em;line-height:1.08;}
h1{font-size:clamp(40px,7vw,80px);}
h2{font-size:clamp(28px,4.5vw,52px);}
h3{font-family:var(--font-sans);font-weight:700;font-size:24px;letter-spacing:-0.01em;}
p,li{max-width:var(--measure);}
.accent{font-family:var(--font-accent);font-style:italic;font-weight:500;font-variation-settings:"opsz" 72;letter-spacing:0;color:var(--ice);}
.label{font-family:var(--font-mono);font-weight:500;font-size:14px;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-2);}
.stat{font-family:var(--font-sans);font-weight:700;font-size:clamp(28px,4vw,48px);}
.caption{font-size:14px;color:var(--text-2);}
.btn{display:inline-block;font-family:var(--font-sans);font-weight:700;font-size:18px;padding:16px 28px;min-height:48px;border-radius:8px;background:var(--ice);color:var(--bg);text-decoration:none;border:0;}
.btn:focus-visible{outline:2px solid var(--text);outline-offset:3px;}
.section{padding:clamp(72px,10vw,128px) 24px;}
.section--light{background:var(--light-bg);color:var(--light-text);color-scheme:light;}
.section--light .label,.section--light .caption{color:var(--light-text-2);}
.section--light .accent{color:var(--deep-ice);}
.section--light .btn{background:var(--deep-ice);color:#FFFFFF;}
.section--light a{color:var(--deep-ice);}

/* browser surfaces and control states (flat: color changes only, no glow) */
::selection{background:var(--ice);color:var(--bg);}
.section--light ::selection{background:var(--deep-ice);color:#FFFFFF;}
html{scrollbar-color:#C5CED5 var(--bg);}
input,textarea,select{caret-color:var(--ice);accent-color:var(--ice);}
a{text-underline-offset:0.2em;text-decoration-thickness:1px;}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--text);outline-offset:3px;border-radius:4px;}
.section--light a:focus-visible,.section--light summary:focus-visible{outline-color:var(--light-text);}
.btn{cursor:pointer;transition:background-color .15s ease,transform .1s ease;}
.btn:hover{background:#085A8A;}
.btn:active{transform:translateY(1px);}
.btn:disabled{background:#C9D2D9;color:var(--text-2);cursor:progress;}
.section--light .btn:hover{background:#0B5E8E;}

/* footer: brand, industries, company */
.foot-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:40px 48px;}
.foot-brand p{font-size:16px;color:var(--text-2);margin-top:16px;max-width:38ch;}
.foot-grid ul{list-style:none;margin-top:8px;}
.foot-grid li a,.foot-bottom a{display:inline-flex;align-items:center;min-height:44px;font-size:16px;text-decoration:none;color:var(--text-2);transition:color .15s ease;}
.foot-grid li a:hover,.foot-bottom a:hover{color:var(--text);}
.foot-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;border-top:var(--line);padding-top:16px;margin-top:24px;}
.foot-bottom ul{display:flex;gap:24px;list-style:none;}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr 1fr;}.foot-brand{grid-column:1 / -1;}}
