/* ============ RESET + BASE TYPOGRAPHY ============ */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{font-family:"Inter",system-ui,sans-serif;background:var(--ground);color:var(--ink);line-height:1.68}
img{max-width:100%}
.wrap{width:auto;margin:0;padding:0 48px}
.eyebrow{font-family:"DM Sans";font-weight:700;font-size:14px;letter-spacing:.16em;text-transform:uppercase;display:block;margin-bottom:20px}
.h2{font-family:"DM Sans";font-weight:700;font-size:clamp(32px,4.6vw,48px);letter-spacing:-1px;line-height:1.1;margin-bottom:30px}
.tm{font-size:.32em;vertical-align:super;font-weight:700;letter-spacing:0}
a:focus-visible,button:focus-visible{outline:3px solid var(--azure);outline-offset:2px;border-radius:4px}
.hide{display:none}

/* Honeypot — off-screen for people, irresistible to bots. */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Inline form feedback (empty until the form says something). */
.formstatus{font-family:"DM Sans";font-weight:600;font-size:14.5px;line-height:1.5}
.formstatus:empty{display:none}
.formstatus.err{color:#C0392B}
.formstatus.ok{color:var(--teal)}

@media (max-width:900px){
  .wrap{padding:0 22px}
}
