*,*::before,*::after{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:var(--font-body);background:var(--bg);color:var(--ink);transition:background .3s,color .3s;line-height:1.6}
h1,h2,h3{font-family:var(--font-head);font-weight:900;font-stretch:125%;line-height:1.05}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none;padding:0}
.container{width:min(1200px,92%);margin-inline:auto}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.btn{font:700 1rem var(--font-body);background:var(--accent);color:var(--accent-ink);border:0;border-radius:999px;padding:.9rem 2.2rem;cursor:pointer;transition:transform .2s,filter .2s,box-shadow .2s}
.btn:hover{filter:brightness(1.08);box-shadow:var(--shadow)}
.btn:active{transform:scale(.97)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-icon{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:1.15rem;cursor:pointer;display:grid;place-items:center;transition:background .2s,color .2s,transform .2s}
.btn-icon:hover{background:var(--ink);color:var(--bg)}
.btn-icon:active{transform:scale(.92)}
.field{width:100%;font:500 1rem var(--font-body);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1rem 1.2rem;transition:border-color .2s,box-shadow .2s}
.field:hover{border-color:var(--muted)}
.field:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 30%,transparent)}
.field.is-invalid{border-color:#e5484d}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto}}

[hidden]{display:none!important}
