:root{--radius:14px;--shadow-1:0 1px 2px rgba(0,0,0,.06),0 1px 1px rgba(0,0,0,.04);--shadow-2:0 8px 24px rgba(0,0,0,.08);--container:1200px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem}
html{scroll-behavior:smooth}a{text-underline-offset:.15em}a:hover{text-decoration-thickness:from-font}*:focus-visible{outline:2px solid currentColor;outline-offset:2px}img{border-radius:var(--radius)}img[loading="lazy"]{contain:paint}
.container{width:min(100% - 2rem,var(--container));margin-inline:auto}.stack>*+*{margin-top:var(--space-5)}.flow>*+*{margin-top:var(--space-4)}
.grid{display:grid;gap:var(--space-5)}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:900px){.grid--2,.grid--3{grid-template-columns:1fr}}
.card{border-radius:var(--radius);box-shadow:var(--shadow-1);padding:var(--space-5);background:inherit;transition:transform .25s ease,box-shadow .25s ease}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}
.btn,.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.1rem;border-radius:999px;border:1px solid currentColor;text-decoration:none;transition:transform .15s ease,box-shadow .2s ease}
.btn:hover,.button:hover{transform:translateY(-1px);box-shadow:var(--shadow-1)}.btn:active,.button:active{transform:translateY(0)}.btn--ghost{background:transparent}.btn--soft{background:rgba(0,0,0,.05)}
figure{margin:0}figure>img{display:block;width:100%;height:auto}figcaption{opacity:.8;font-size:.9rem;margin-top:.4rem}
.section{padding-block:var(--space-7)}.section--tight{padding-block:var(--space-6)}.section__title{margin-bottom:var(--space-5)}
.nav{display:flex;gap:var(--space-4);align-items:center;flex-wrap:wrap}.nav a{text-decoration:none;padding:.4rem .7rem;border-radius:999px}.nav a[aria-current="page"]{outline:2px solid currentColor;outline-offset:2px}
.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.7rem;vertical-align:top;border-bottom:1px solid rgba(0,0,0,.1)}.table thead th{text-align:left}
.input,.select,.textarea{width:100%;padding:.7rem .9rem;border-radius:.8rem;border:1px solid rgba(0,0,0,.2)}.label{display:inline-block;margin-bottom:.4rem;font-weight:600}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}