/* Astro components. Font URLs resolve relative to this file: copy the whole 00_Brand_System folder together. */
@font-face{font-family:"Outfit";src:url("fonts/Outfit-Variable.ttf") format("truetype");font-weight:100 900;font-display:swap}
@font-face{font-family:"Inter";src:url("fonts/Inter-Variable.ttf") format("truetype");font-weight:100 900;font-display:swap}
:root{--ink:#101112;--surface:#18191B;--text:#F1EBDD;--accent:#C7C2B8;--muted:#8C877F;--line:#2B2C2E;--focus:#F1EBDD;
 --ease:cubic-bezier(.2,.7,.2,1);--pop:cubic-bezier(.34,1.4,.64,1);--ctl:180ms;--chapter:480ms}
.astro{background:var(--ink);color:var(--text);font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:1.6}
.astro *{box-sizing:border-box}
.a-label{font-family:Outfit,sans-serif;font-weight:300;font-size:12px;letter-spacing:.42em;text-transform:uppercase;color:var(--accent)}
.a-display{font-family:Outfit,sans-serif;font-weight:200;text-transform:uppercase;letter-spacing:.18em;font-size:clamp(34px,5.6vw,84px);line-height:1.1}
.a-headline{font-family:Outfit,sans-serif;font-weight:200;text-transform:uppercase;letter-spacing:.14em;font-size:clamp(28px,4vw,58px);line-height:1.15}
.a-fr{color:var(--muted);font-size:14px}
.a-btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;min-width:48px;padding:14px 28px;border:1px solid var(--text);background:transparent;color:var(--text);font-family:Outfit,sans-serif;font-weight:300;font-size:12px;letter-spacing:.34em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background var(--ctl) var(--ease),color var(--ctl) var(--ease),transform var(--ctl) var(--pop)}
.a-btn svg{width:16px;height:16px}
.a-btn:hover{background:var(--text);color:var(--ink)}
.a-btn--primary{background:var(--text);color:var(--ink)}
.a-btn--primary:hover{background:var(--accent);border-color:var(--accent)}
.a-btn:active{transform:scale(.98)}
.a-link{color:var(--text);text-decoration:none;background:linear-gradient(var(--accent),var(--accent)) 0 100%/0 1px no-repeat;padding:12px 0;display:inline-block;min-height:48px;transition:background-size var(--chapter) var(--ease)}
.a-link:hover{background-size:100% 1px}
.a-nav{display:flex;flex-wrap:wrap;gap:4px;list-style:none;margin:0;padding:0}
.a-nav a{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 16px;color:var(--muted);text-decoration:none;font-family:Outfit,sans-serif;font-weight:300;font-size:12px;letter-spacing:.3em;text-transform:uppercase;transition:color var(--ctl) var(--ease)}
.a-nav a svg{width:9px;height:9px;fill:currentColor;opacity:0;transition:opacity var(--ctl) var(--ease)}
.a-nav a:hover,.a-nav a[aria-current="true"]{color:var(--text)}
.a-nav a[aria-current="true"] svg{opacity:1}
.a-card{background:var(--surface);border:1px solid var(--line);padding:32px;display:flex;flex-direction:column;gap:16px;transition:border-color var(--ctl) var(--ease)}
.a-card:hover{border-color:var(--accent)}
.a-field{display:flex;flex-direction:column;gap:8px}
.a-field label{font-family:Outfit,sans-serif;font-weight:300;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent)}
.a-field input,.a-field textarea{min-height:48px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:0;padding:12px 14px;font:inherit;transition:border-color var(--ctl) var(--ease)}
.a-field input:hover,.a-field textarea:hover{border-color:var(--muted)}
.a-cta{text-align:center;padding:96px 24px;border-top:1px solid var(--line)}
.a-cta .a-symbol{width:72px;margin:0 auto 32px;display:block;fill:none;stroke:var(--text);stroke-width:.8}
.a-rule{width:1px;height:96px;background:var(--line);margin:0 auto;transform-origin:top}
.astro :focus-visible{outline:2px solid var(--focus);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.astro *{transition:none!important;animation:none!important}}
