/* Rally's shared visual language. Fonts are local so both screens work offline. */
@font-face{font-family:'Clash Grotesk';src:url('../assets/fonts/clash-grotesk-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Clash Grotesk';src:url('../assets/fonts/clash-grotesk-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Clash Grotesk';src:url('../assets/fonts/clash-grotesk-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Clash Grotesk';src:url('../assets/fonts/clash-grotesk-700.woff2') format('woff2');font-weight:700;font-display:swap}
:root{
 --ink:#0d2a1c;--ink-2:#304b3d;--muted:#59685f;--faint:#657168;
 --line:#e0e6e0;--line-2:#eff2ed;--bg:#f8f9f5;--card:#fff;
 --green-950:#0d2a1c;--green-900:#163b29;--green-800:#225437;--green-700:#2b6548;--green-600:#31704f;--green-100:#deebdf;--green-50:#f0f5ee;
 --ball:#d7f24c;--ball-600:#c3df35;--ball-100:#f0f7cc;
 --red:#a52b36;--red-600:#89202a;--red-50:#faebeb;
 --amber:#895a16;--amber-50:#fbf2df;--blue:#3b6574;--blue-50:#eaf1f1;--violet:#5a655d;--violet-50:#eef0eb;
 --radius:6px;--radius-sm:4px;--shadow-sm:none;--shadow:none;--shadow-lg:0 12px 40px #0d2a1c26;
 --font:'Clash Grotesk',Arial,sans-serif;--mono:var(--font);
 --page-margin:clamp(20px,2.8vw,48px);--accent:var(--ball);--surface:var(--line-2);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;font-family:var(--font);font-size:16px;line-height:1.5;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}a{color:inherit}button,input,select{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,h4{margin:0;line-height:1.05;letter-spacing:-.035em;font-weight:500;text-wrap:balance}p{margin:0;text-wrap:pretty}button,a,input,summary{ -webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button:disabled{cursor:not-allowed}::selection{background:var(--ball);color:var(--ink)}:focus-visible{outline:3px solid var(--green-600);outline-offset:4px}[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tabular{font-variant-numeric:tabular-nums}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--ball);padding:12px}.skip-link:focus{top:12px}
.logo{display:inline-flex;gap:9px;align-items:center;text-decoration:none;font-size:32px;line-height:1;font-weight:600;letter-spacing:-.05em}.logo-mark{width:30px;height:30px;flex:none}.btn{display:inline-flex;justify-content:center;align-items:center;gap:12px;height:40px;padding:0 18px;border:0;border-radius:0;font-size:14px;font-weight:500;line-height:1.2;text-decoration:none;white-space:nowrap;transition:transform .18s,opacity .18s}.btn:hover{opacity:.83}.btn:active{transform:translateY(2px)}.btn-lg{height:52px;padding:0 24px;font-size:16px}.btn-sm{height:32px;padding:0 12px;font-size:13px}.btn-ball{background:var(--ball);color:var(--ink)}.btn-ink{background:var(--ink);color:var(--card)}.btn-green{background:var(--green-700);color:var(--card)}.btn-red{background:var(--red);color:var(--card)}.btn-ghost{background:transparent;color:var(--ink)}.btn-outline{background:var(--line-2);color:var(--ink)}.btn:disabled{opacity:.6}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
