@font-face{font-family:'Lora';src:url('fonts/Lora-Variable.ttf');font-weight:300 700}
@font-face{font-family:'Inter';src:url('fonts/Inter-Regular.otf');font-weight:300 400}
@font-face{font-family:'Inter';src:url('fonts/Inter-Medium.otf');font-weight:500 700}
:root{--bg:#FBF6EF;--panel:#F4ECDF;--line:#E2D8C8;--ink:#1C1B19;--body:#4A463F;--mute:#6B655C;--acc:#E4DA2E;--serif:'Lora',Georgia,serif;--sans:'Inter',system-ui,sans-serif;--r:22px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--serif);font-weight:700;margin:0;letter-spacing:-.015em}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.ribbon{background:var(--ink);color:var(--bg);font-size:12.5px;letter-spacing:.12em;padding:11px 24px;text-align:center}
.pill{display:inline-flex;align-self:flex-start;width:fit-content;align-items:center;gap:10px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:8px 16px;color:var(--mute)}
.pill::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 1px rgba(28,27,25,.25)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 28px;font:500 14px var(--sans);border-radius:999px;border:1.5px solid var(--ink);background:var(--ink);color:var(--bg);cursor:pointer;transition:transform .2s}
.btn:hover{transform:translateY(-2px)}.btn.ghost{background:transparent;color:var(--ink)}.btn.sm{min-height:38px;padding:0 18px;font-size:13px}
label{display:grid;gap:7px;font-size:12px;letter-spacing:.16em;color:var(--mute);text-transform:uppercase}
input[type=text],input[type=password],input[type=email]{width:100%;min-width:0;padding:14px 16px;border:1px solid #8A8378;border-radius:14px;background:#fff;color:var(--ink);font:inherit;font-size:16px;letter-spacing:0;text-transform:none}
.tag{display:inline-block;font-size:11.5px;font-weight:500;border-radius:999px;padding:4px 12px;background:var(--acc);color:var(--ink)}
.tag.o{background:transparent;border:1px solid var(--line);color:var(--mute)}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
