*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --blue:#3DA5F5;
  --blue-dark:#2B7EC9;
  --blue-light:#6BBEFF;
  --yellow:#F5B834;
  --yellow-dark:#D9A02E;
  --yellow-light:#FFD06A;

  --surface:#FFFFFF;
  --surface-warm:#FAFAFA;
  --neutral-200:#E7E5E4;
  --neutral-400:#A8A29E;
  --neutral-600:#44403C;
  --neutral-800:#1C1917;
  --neutral-900:#0A0A0A;

  --glass-bg:rgba(255,255,255,0.72);
  --glass-bg-strong:rgba(255,255,255,0.85);
  --glass-border:rgba(255,255,255,0.45);
  --glass-shadow:0 1px 2px rgba(0,0,0,.05),0 4px 12px rgba(0,0,0,.08),0 16px 48px rgba(0,0,0,.12);
  --glass-blur:20px;
  --glass-saturate:1.8;

  --font-sans:'Geist',system-ui,-apple-system,sans-serif;
  --font-mono:'Geist Mono',ui-monospace,'SF Mono',monospace;

  --ease-out:cubic-bezier(0.16,1,0.3,1);
  --ease-smooth:cubic-bezier(0.65,0,0.35,1);

  --max-w:1280px;
  --section-py:clamp(80px,10vw,128px);

  --z-base:1;
  --z-header:100;
  --z-modal:200;
  --z-bot:150;
  --z-cookie:180;
  --z-welcome:300;
}

@font-face{
  font-family:'Geist';
  src:url('https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-sans/Geist-Regular.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Geist';
  src:url('https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-sans/Geist-Medium.woff2') format('woff2');
  font-weight:500;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Geist';
  src:url('https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-sans/Geist-SemiBold.woff2') format('woff2');
  font-weight:600;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Geist';
  src:url('https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-sans/Geist-Bold.woff2') format('woff2');
  font-weight:700;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Geist Mono';
  src:url('https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-mono/GeistMono-Regular.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Geist Mono';
  src:url('https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-mono/GeistMono-Medium.woff2') format('woff2');
  font-weight:500;font-style:normal;font-display:swap;
}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{
  font-family:var(--font-sans);
  font-size:clamp(1rem,1.1vw,1.125rem);
  line-height:1.6;
  color:var(--neutral-800);
  background:#FFFFFF;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body.scroll-locked{overflow:hidden;position:fixed;inset:0;touch-action:none}

img,video,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none}
ul,ol{list-style:none}

.skip-link{
  position:absolute;top:-100%;left:16px;
  padding:8px 16px;background:var(--blue);color:#fff;
  border-radius:8px;font-weight:600;z-index:9999;
  transition:top .2s var(--ease-out);
}
.skip-link:focus{top:16px}

h1,h2,h3,h4,h5,h6{line-height:1.2;font-weight:700;letter-spacing:-0.02em}
h1{font-size:clamp(2.75rem,6vw,5.5rem)}
h2{font-size:clamp(2rem,4vw,3.5rem)}
h3{font-size:clamp(1.5rem,2.5vw,2rem)}
h4{font-size:clamp(1.125rem,1.5vw,1.5rem)}

.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 24px}
section{padding:var(--section-py) 0;position:relative}
.section-label{
  font-family:var(--font-sans);font-size:0.875rem;font-weight:600;
  letter-spacing:0.04em;text-transform:uppercase;color:var(--blue);
  margin-bottom:16px;
}

:focus-visible{
  outline:2px solid var(--blue);
  outline-offset:3px;
  border-radius:4px;
}
::selection{background:rgba(61,165,245,0.2)}
