@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/SpaceGrotesk-400.woff") format("woff");}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/SpaceGrotesk-500.woff") format("woff");}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/SpaceGrotesk-600.woff") format("woff");}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/SpaceGrotesk-700.woff") format("woff");}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/HankenGrotesk-400.woff") format("woff");}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/HankenGrotesk-500.woff") format("woff");}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/HankenGrotesk-600.woff") format("woff");}

:root{
 --fp-navy:#16243F;--fp-deep:#0C1530;--fp-ink:#11182B;
 --fp-burgundy:#7B2E3F;--fp-rose:#C77E8E;--fp-cream:#F4F0E8;
 --fp-paper:#FBFAF7;--fp-muted:#5B6B86;--fp-line:rgba(22,36,63,.12);
 --fp-font-display:"Space Grotesk",Arial,sans-serif;
 --fp-font-body:"Hanken Grotesk",Arial,sans-serif;
 --fp-space-1:4px;--fp-space-2:8px;--fp-space-3:12px;--fp-space-4:16px;
 --fp-space-6:24px;--fp-space-8:32px;--fp-space-12:48px;--fp-space-16:64px;--fp-space-24:96px;
 --fp-radius:14px;--fp-radius-small:8px;--fp-pill:999px;--fp-content-width:1140px;
 --fp-shadow:0 12px 32px rgba(12,21,48,.08);
}
.fp-theme{font-family:var(--fp-font-body);line-height:1.65;background:var(--fp-paper);color:var(--fp-ink)}
.fp-wrap{max-width:var(--fp-content-width);margin-inline:auto;padding-inline:28px}
.fp-heading{font-family:var(--fp-font-display);font-weight:600;line-height:1.08;letter-spacing:-.02em}
.fp-h1{font-size:clamp(2.25rem,5vw,4rem)}
.fp-h2{font-size:clamp(1.75rem,3vw,2.5rem)}
.fp-eyebrow{font:500 .78rem/1.4 var(--fp-font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--fp-burgundy)}
.fp-eyebrow::before{content:"";display:inline-block;width:18px;height:2px;background:currentColor;margin-right:9px;vertical-align:middle;transform:skewX(-20deg)}
.fp-card{padding:32px;border:1px solid var(--fp-line);border-radius:var(--fp-radius);background:var(--fp-paper)}
.fp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:12px 24px;border:1.5px solid transparent;border-radius:var(--fp-pill);font:500 1rem/1.3 var(--fp-font-display);text-decoration:none;cursor:pointer;background:var(--fp-burgundy);color:var(--fp-paper);transition:background .18s ease}
.fp-btn:hover{background:#5E1F30}
.fp-btn-secondary{background:transparent;color:var(--fp-navy);border-color:var(--fp-navy)}
.fp-btn-secondary:hover{background:var(--fp-cream)}
.fp-input{box-sizing:border-box;display:block;width:100%;min-height:48px;border:1px solid var(--fp-muted);border-radius:8px;padding:12px 14px;color:var(--fp-ink);background:var(--fp-paper);font:400 1rem/1.5 var(--fp-font-body)}
.fp-label{display:block;margin-block:0 8px;font-weight:600}
.fp-link{color:var(--fp-burgundy);text-decoration:underline;text-underline-offset:3px}
.fp-muted{color:var(--fp-muted)}
.fp-dark{background:var(--fp-deep);color:var(--fp-cream)}
.fp-dark .fp-eyebrow,.fp-dark .fp-link{color:var(--fp-rose)}
.fp-dark .fp-btn{background:var(--fp-cream);color:var(--fp-navy)}
.fp-dark .fp-btn:hover{background:var(--fp-paper)}
.fp-dark .fp-btn-secondary{background:transparent;color:var(--fp-cream);border-color:var(--fp-cream)}
.fp-dark .fp-btn-secondary:hover{background:var(--fp-navy)}
.fp-btn:focus-visible,.fp-input:focus-visible,.fp-link:focus-visible{outline:3px solid var(--fp-navy);outline-offset:3px}
.fp-dark .fp-btn:focus-visible,.fp-dark .fp-link:focus-visible{outline-color:var(--fp-rose)}
.fp-btn:disabled{opacity:.55;cursor:not-allowed}
.fp-error{color:var(--fp-burgundy);font-weight:500}
.fp-input[aria-invalid="true"]{border:2px solid var(--fp-burgundy)}
.fp-numbers{font-variant-numeric:tabular-nums}
@media(max-width:560px){.fp-wrap{padding-inline:16px}.fp-card{padding:24px}}
@media(prefers-reduced-motion:reduce){.fp-btn{transition:none}}
