:root{
  --color-text:#0F172A;
  --color-text-light:#475569;
  --color-primary:#0073E6;
  --color-secondary:#0F172A;
  --color-accent:#FF8A3D;
  --color-contrast:#FF8A3D;
  --color-dark:#0F172A;
  --color-light:#FFFFFF;
  --font-display:"Plus Jakarta Sans","Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-detail:"Fira Code",ui-monospace,SFMono-Regular,Menlo,monospace;
  --font-body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
}

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

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

body{
  margin:0;
  background:#FFFFFF;
  color:var(--color-text);
  font-family:var(--font-body);
  font-size:1.0625rem;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

img,picture,svg,video{max-width:100%;height:auto;display:block}

a{color:var(--color-primary)}

:focus-visible{
  outline:2px solid var(--color-accent);
  outline-offset:3px;
  border-radius:4px;
}

.wrap{
  width:100%;
  max-width:72rem;
  margin-inline:auto;
  padding-inline:clamp(1.125rem,4vw,2.5rem);
}

.section{padding-block:clamp(3rem,7vw,5.5rem)}

.display{
  margin:0 0 .5em;
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(2rem,1.3rem + 2.8vw,3.25rem);
  line-height:1.08;
  letter-spacing:-.025em;
  text-wrap:balance;
}

.lead{
  margin:0 0 1.5rem;
  max-width:46ch;
  color:var(--color-text-light);
  font-size:clamp(1.0625rem,1rem + .35vw,1.25rem);
  line-height:1.6;
  text-wrap:pretty;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-height:3rem;
  padding:.75rem 1.5rem;
  border:0;
  border-radius:999px;
  background:var(--color-accent);
  color:var(--color-text);
  font-family:var(--font-body);
  font-size:1rem;
  font-weight:600;
  line-height:1.2;
  text-decoration:none;
  cursor:pointer;
  transition:transform 180ms cubic-bezier(.22,1,.36,1),box-shadow 180ms ease,background-color 180ms ease;
}

.btn:hover{
  background:color-mix(in srgb,var(--color-accent) 88%,var(--color-text));
  transform:translateY(-2px);
  box-shadow:0 .75rem 1.75rem -.75rem color-mix(in srgb,var(--color-accent) 70%,transparent);
}

.btn:active{transform:translateY(0)}

@media (prefers-reduced-motion:reduce){
  .btn{transition:none}
  .btn:hover{transform:none}
}
