/* Generated from design/tokens.json. Edit tokens, then rebuild. */
:root{--color-background:#ffffff;--color-surface:#ffffff;--color-surface-alt:#f5f7fc;--color-text:#05070f;--color-muted:#5b657f;--color-brand:#0b1d6b;--color-brand-deep:#050d3a;--color-brand-soft:#e4ecff;--color-accent:#1b5af0;--color-accent-hover:#1247cc;--color-accent-ink:#ffffff;--color-border:#d6deef;--color-border-strong:#b3c0dd;--color-focus:#0b1d6b;--color-disabled-bg:#eef1f7;--color-disabled-text:#6b7488;--color-error:#b3261e;--color-success:#0f7a4a;--font-display:"Rubik",Arial, Helvetica, sans-serif;--font-body:"Raleway",Arial, Helvetica, sans-serif;--content-max:1240px}
:root{--display-size:27px;--h1-size:25px;--h2-size:23px;--h3-size:18px;--h4-size:16px;--h5-size:15px;--h6-size:14px;--body-size:16px;--small-size:14px;--label-size:11px;--price-size:17px;--button-size:15px;--page-gutter:18px;--section-space:52px}
@media(min-width:480px){:root{--display-size:30px;--h1-size:28px;--h2-size:25px;--h3-size:19px;--h4-size:17px;--h5-size:15px;--h6-size:14px;--body-size:16px;--small-size:14px;--label-size:11px;--price-size:18px;--button-size:15px;--page-gutter:22px;--section-space:60px}}
@media(min-width:640px){:root{--display-size:34px;--h1-size:33px;--h2-size:29px;--h3-size:20px;--h4-size:17px;--h5-size:16px;--h6-size:14px;--body-size:16px;--small-size:14px;--label-size:11px;--price-size:19px;--button-size:15px;--page-gutter:28px;--section-space:72px}}
@media(min-width:960px){:root{--display-size:40px;--h1-size:38px;--h2-size:34px;--h3-size:22px;--h4-size:18px;--h5-size:16px;--h6-size:15px;--body-size:17px;--small-size:14px;--label-size:12px;--price-size:20px;--button-size:16px;--page-gutter:36px;--section-space:92px}}
@media(min-width:1200px){:root{--display-size:44px;--h1-size:42px;--h2-size:38px;--h3-size:23px;--h4-size:19px;--h5-size:17px;--h6-size:15px;--body-size:17px;--small-size:15px;--label-size:12px;--price-size:21px;--button-size:16px;--page-gutter:44px;--section-space:108px}}
.type-display{font-family:var(--font-display);font-size:var(--display-size);font-weight:700;line-height:1.04;letter-spacing:-0.9px;color:var(--color-text)}
.type-h1,h1{font-family:var(--font-display);font-size:var(--h1-size);font-weight:700;line-height:1.1;letter-spacing:-0.7px;color:var(--color-text)}
.type-h2,h2{font-family:var(--font-display);font-size:var(--h2-size);font-weight:700;line-height:1.16;letter-spacing:-0.5px;color:var(--color-text)}
.type-h3,h3{font-family:var(--font-display);font-size:var(--h3-size);font-weight:600;line-height:1.24;letter-spacing:-0.2px;color:var(--color-text)}
.type-h4,h4{font-family:var(--font-display);font-size:var(--h4-size);font-weight:600;line-height:1.32;letter-spacing:-0.1px;color:var(--color-text)}
.type-h5,h5{font-family:var(--font-body);font-size:var(--h5-size);font-weight:600;line-height:1.4;letter-spacing:0.0px;color:var(--color-text)}
.type-h6,h6{font-family:var(--font-body);font-size:var(--h6-size);font-weight:600;line-height:1.4;letter-spacing:0.0px;color:var(--color-muted)}
.type-body{font-family:var(--font-body);font-size:var(--body-size);font-weight:400;line-height:1.6;letter-spacing:0.0px;color:var(--color-text)}
.type-small{font-family:var(--font-body);font-size:var(--small-size);font-weight:400;line-height:1.5;letter-spacing:0.0px;color:var(--color-muted)}
.type-label{font-family:var(--font-body);font-size:var(--label-size);font-weight:600;line-height:1.4;letter-spacing:1.3px;color:var(--color-muted)}
.type-price{font-family:var(--font-display);font-size:var(--price-size);font-weight:600;line-height:1.2;letter-spacing:-0.2px;color:var(--color-brand)}
.type-button{font-family:var(--font-body);font-size:var(--button-size);font-weight:600;line-height:1.3;letter-spacing:0.1px;color:var(--color-text)}
.button--primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;max-width:100%;box-sizing:border-box;text-align:center;text-decoration:none;cursor:pointer;font-family:var(--font-body);font-size:var(--button-size);font-weight:600;line-height:1.3;letter-spacing:0.1px;min-height:54px;padding:15px 30px;border:1px solid;border-radius:4px;transition:background-color 170ms,color 170ms,transform 170ms;background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}
@media(hover:hover){.button--primary:hover{background:var(--color-accent-hover);color:var(--color-accent-ink);border-color:var(--color-accent-hover)}}
.button--primary:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}
.button--primary:active{transform:translateY(1px)}
.button--primary:disabled,.button--primary[aria-disabled="true"]{background:var(--color-disabled-bg);color:var(--color-disabled-text);border-color:var(--color-border);cursor:not-allowed;transform:none}
@media(prefers-reduced-motion:reduce){.button--primary{transition:none}.button--primary:active{transform:none}}
.button--secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;max-width:100%;box-sizing:border-box;text-align:center;text-decoration:none;cursor:pointer;font-family:var(--font-body);font-size:var(--button-size);font-weight:600;line-height:1.3;letter-spacing:0.1px;min-height:54px;padding:15px 26px;border:1px solid;border-radius:4px;transition:background-color 170ms,color 170ms,transform 170ms;background:var(--color-surface);color:var(--color-brand);border-color:var(--color-border-strong)}
@media(hover:hover){.button--secondary:hover{background:var(--color-brand-soft);color:var(--color-brand);border-color:var(--color-brand)}}
.button--secondary:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}
.button--secondary:active{transform:translateY(1px)}
.button--secondary:disabled,.button--secondary[aria-disabled="true"]{background:var(--color-disabled-bg);color:var(--color-disabled-text);border-color:var(--color-border);cursor:not-allowed;transform:none}
@media(prefers-reduced-motion:reduce){.button--secondary{transition:none}.button--secondary:active{transform:none}}
