/* ==========================================================================
   Base — reset, typography, helpers, reveal animation, buttons
   ========================================================================== */

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:clip;background:var(--white);color:var(--gray);
  font-family:"Raleway",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:1.125rem;line-height:1.62;font-weight:400;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0;color:var(--brand);font-family:"Raleway",sans-serif;font-weight:700;line-height:1.18;text-wrap:balance}
h1{font-size:clamp(2.35rem,4.45vw,4rem);line-height:1.172;letter-spacing:-.005em}
h2.big{font-family:"Inter",sans-serif;font-weight:700;font-size:clamp(2rem,3.34vw,3rem);line-height:1.3;letter-spacing:-.06em}
h3{font-size:1.68rem;font-weight:600}
p{margin:0}
a{color:inherit}
ul{margin:0;padding:0;list-style:none}
img,svg{max-width:100%;height:auto}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:24px}
.or{color:var(--brand-2)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.rv{opacity:1!important;transform:none!important}}
.rv{opacity:0;transform:translateY(16px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}
.rv.in{opacity:1;transform:none}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:"Raleway",sans-serif;font-weight:600;
  font-size:1rem;padding:.95rem 1.7rem;border-radius:10px;border:1.5px solid transparent;text-decoration:none;cursor:pointer;
  white-space:nowrap;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
@media (max-width:345px){.nav .btn{padding:.58rem .75rem;font-size:.8rem}.bar .btn{padding:.7rem .6rem;font-size:.85rem}}
.btn:hover{transform:translateY(-2px)}
.btn:focus-visible{outline:3px solid var(--brand-2);outline-offset:3px}
.btn svg{width:17px;height:17px;flex:none}
.b-teal{background:var(--brand);color:#fff}
.b-teal:hover{background:#33299E}
.b-or{background:var(--brand-2);color:#fff}
.b-or:hover{background:#E04A12}
.b-white{background:#fff;color:var(--brand);box-shadow:var(--sh)}
.b-white:hover{color:var(--brand-2)}
.b-outline{background:#fff;border-color:var(--line);color:var(--brand)}
.b-outline:hover{border-color:var(--brand)}
.b-wa{background:#1faa54;color:#fff}
.b-sm{padding:.7rem 1.35rem;font-size:.95rem}
.b-wide{width:100%}
.up{text-transform:uppercase;letter-spacing:.05em;font-size:.92rem;font-weight:700}
