:root{
  --blue:#1177E8;
  --blue-dark:#0B5CB8;
  --blue-soft:#E7F1FE;
  --black:#050505;
  --white:#FFFFFF;
  --g-050:#FAFAFA;
  --g-100:#F5F5F5;
  --g-200:#E6E6E6;
  --g-300:#D2D2D2;
  --silver:#C7C7C7;
  --g-500:#7B7B7B;
  --g-700:#4A4A4A;
  --g-800:#2A2A2A;
  --g-900:#151515;

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

  --nav-h:48px;

  --ctl-h:52px;
  --ctl-h-sm:40px;
  --r-sm:2px;
  --r-lg:6px;

  --font-display:'Sora',system-ui,sans-serif;
  --font-body:'Manrope',system-ui,sans-serif;

  --fs-xs:12px;
  --fs-sm:14px;
  --fs-base:16px;
  --fs-md:18px;
  --fs-lg:22px;
  --fs-xl:clamp(26px,3vw,34px);
  --fs-2xl:clamp(30px,3.6vw,44px);
  --fs-3xl:clamp(34px,4.4vw,58px);

  --lh-tight:1.05;
  --lh-head:1.15;
  --lh-body:1.6;

  --tr-fast:180ms cubic-bezier(.4,0,.2,1);
  --tr-base:340ms cubic-bezier(.4,0,.2,1);
  --tr-slow:620ms cubic-bezier(.22,1,.36,1);

  --wrap:1360px;
  --gutter:clamp(20px,4vw,64px);
  --gutter-borde:clamp(20px,2.2vw,40px);
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  font-family:var(--font-body);
  font-size:var(--fs-base);
  line-height:var(--lh-body);
  font-feature-settings:'tnum' 0;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

h1,h2,h3,h4{
  font-family:var(--font-display);
  line-height:var(--lh-head);
  margin:0;
  font-weight:600;
  letter-spacing:-.02em;
}

p{margin:0}

img{max-width:100%;display:block}

button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}

a{color:inherit;text-decoration:none}

.wrap{
  width:100%;
  max-width:none;
  margin-inline:0;
  padding-inline:var(--gutter-borde);
}

.num{font-variant-numeric:tabular-nums;font-feature-settings:'tnum' 1}

.eyebrow{
  font-family:var(--font-body);
  font-size:var(--fs-xs);
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:600;
}

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

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}

@media (pointer:coarse){
  :root{--ctl-h-sm:44px}
}
