:root{--brand-blue:#00589b;--brand-navy:#203e77;--brand-yellow:#f5df4c;--brand-charcoal:#414042;--brand-sky:#8ed6ee;--brand-green:#82c341;--brand-teal:#12b7c8;--brand-orange:#f17923;--bg-light:#f7f5f1;--bg-surface:#fff;--text-primary:#414042;--text-secondary:#5e5f61;--text-tertiary:#8b8c8e;--border-light:#e4e1dc;--border-subtle:#eeebe7;--bg-dark:#203e77;--text-on-dark:#fff;--text-on-dark-muted:#b8d4ee;--accent-green:#5a9a1e;--accent-green-dot:#82c341;--accent-green-bg:#eef5e5;--accent-orange:#c8610f;--accent-orange-dot:#f17923;--accent-orange-bg:#fdf0e5;--accent-blue-bg:#eaf2f9;--accent-yellow-bg:#f5df4c14;--shadow-sm:0 1px 3px #0000000a, 0 1px 2px #00000005;--shadow-md:0 4px 16px #0000000f, 0 1px 4px #00000008;--font-display:"DM Serif Display", Georgia, "Times New Roman", serif;--font-body:"Figtree", "Avenir", "Helvetica Neue", Arial, sans-serif;--ease-out:cubic-bezier(.25, .46, .45, .94);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg-light);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background:var(--bg-light);width:100%;max-width:100vw;min-height:100dvh;font-size:17px;font-weight:300;line-height:1.7;overflow-x:hidden}#root{min-height:100dvh}.t-display{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-primary);font-size:clamp(32px,5vw,44px);font-weight:400;line-height:1.15}.t-heading{font-family:var(--font-body);letter-spacing:-.015em;color:var(--text-primary);font-size:clamp(22px,3vw,26px);font-weight:800;line-height:1.3}.t-body{font-family:var(--font-body);color:var(--text-secondary);font-size:17px;font-weight:300;line-height:1.7}.t-label{font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);font-size:13px;font-weight:500;line-height:1.4}.t-score{font-family:var(--font-body);letter-spacing:-.03em;color:var(--text-primary);font-size:clamp(72px,15vw,96px);font-weight:900;line-height:1}.input{background:var(--bg-surface);border:1.5px solid var(--border-light);width:100%;height:52px;color:var(--text-primary);font-family:var(--font-body);border-radius:10px;outline:none;padding:0 18px;font-size:16px;font-weight:300;transition:border-color .2s,box-shadow .2s}.input::placeholder{color:var(--text-tertiary)}.input:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px #00589b1a}.input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--bg-surface) inset;-webkit-text-fill-color:var(--text-primary);border-color:var(--brand-blue)}.input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px var(--bg-surface) inset;-webkit-text-fill-color:var(--text-primary);border-color:var(--brand-blue)}.input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--bg-surface) inset;-webkit-text-fill-color:var(--text-primary);border-color:var(--brand-blue)}.btn-primary{background:var(--brand-yellow);height:52px;color:var(--brand-charcoal);font-family:var(--font-body);cursor:pointer;transition:transform .15s var(--ease-out), box-shadow .15s var(--ease-out), filter .15s;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:1px solid #0000000d;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 32px;font-size:16px;font-weight:700;display:inline-flex}.btn-primary:hover{filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 6px 20px #f5df4c4d}.btn-primary:active{transition-duration:80ms;transform:scale(.98)}.btn-primary:disabled{opacity:.35;pointer-events:none}.btn-ghost{height:52px;color:var(--brand-blue);font-family:var(--font-body);border:1.5px solid var(--brand-blue);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 32px;font-size:16px;font-weight:600;transition:border-color .15s,background .15s;display:inline-flex}.btn-ghost:hover{background:#00589b0d}.checkbox-row{cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;align-items:flex-start;gap:12px;padding:4px 0;display:flex}.checkbox-box{background:var(--bg-surface);border:1.5px solid #bebec1;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:2px;transition:background .15s,border-color .15s;display:flex}.checkbox-row:hover .checkbox-box{border-color:var(--brand-blue)}.checkbox-row.checked .checkbox-box{background:var(--brand-blue);border-color:var(--brand-blue)}.checkbox-check{opacity:0;color:#fff;width:12px;height:12px;transition:opacity .15s, transform .15s var(--ease-spring);transform:scale(.8)}.checkbox-row.checked .checkbox-check{opacity:1;transform:scale(1)}.checkbox-label{font-family:var(--font-body);color:var(--text-secondary);font-size:14px;font-weight:400;line-height:1.5}.checkbox-label a{color:var(--brand-blue);font-weight:500;text-decoration:none}.checkbox-label a:hover{text-decoration:underline}.screen{flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex;position:relative}.screen-form{flex-direction:column;justify-content:flex-start;align-items:center;min-height:100dvh;padding:48px 24px;display:flex;position:relative}@media (width<=640px){.screen-form{padding:32px 20px 40px}}.content-col{width:100%;max-width:640px;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.spinner{animation:.8s linear infinite spin}@supports (animation-timeline:view()){.reveal-up{animation:.8s both revealUp;animation-timeline:view();animation-range:entry entry 35%}@keyframes revealUp{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}.reveal-child{animation:.8s both revealChild;animation-timeline:view();animation-range:entry 5% entry 40%}.reveal-child:nth-child(2){animation-range:entry 10% entry 42%}.reveal-child:nth-child(3){animation-range:entry 15% entry 44%}.reveal-child:nth-child(4){animation-range:entry 20% entry 46%}.reveal-child:nth-child(5){animation-range:entry 25% entry 48%}@keyframes revealChild{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.reveal-line{transform-origin:0;animation:.8s both drawLine;animation-timeline:view();animation-range:entry entry 30%;transform:scaleX(0)}@keyframes drawLine{to{transform:scaleX(1)}}}@supports not (animation-timeline:view()){.reveal-up,.reveal-child,.reveal-line{opacity:1;transform:none}}.calc-ring{border:2px solid var(--brand-yellow);border-radius:50%;width:200px;height:200px;animation:3s ease-in-out infinite calcBreathe;position:absolute}.calc-ring-glow{opacity:.2;filter:blur(24px)}.calc-particle{background:var(--brand-yellow);border-radius:50%;width:3px;height:3px;margin:-1.5px;position:absolute;top:50%;left:50%}.calc-p1{animation:8s linear infinite calcOrbit,4s ease-in-out infinite calcParticlePulse}.calc-p2{animation:8s linear 4s infinite calcOrbit,4s ease-in-out 1s infinite calcParticlePulse}.calc-p3{animation:12s linear 2s infinite calcOrbit,4s ease-in-out 2s infinite calcParticlePulse}.calc-p4{animation:12s linear 8s infinite calcOrbit,4s ease-in-out .5s infinite calcParticlePulse}.calc-p5{animation:18s linear infinite calcOrbitReverse,4s ease-in-out 3s infinite calcParticlePulse}.calc-p6{animation:18s linear 9s infinite calcOrbitReverse,4s ease-in-out 1.5s infinite calcParticlePulse}@keyframes calcBreathe{0%,to{opacity:.85;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}@keyframes calcOrbit{0%{transform:rotate(0)translate(130px)rotate(0)}to{transform:rotate(360deg)translate(130px)rotate(-360deg)}}@keyframes calcOrbitReverse{0%{transform:rotate(360deg)translate(130px)rotate(-360deg)}to{transform:rotate(0)translate(130px)rotate(0)}}@keyframes calcParticlePulse{0%,to{opacity:.15}50%{opacity:.5}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes enterContentForward{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes enterContentBackward{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes breathe{0%,to{opacity:.2}50%{opacity:.55}}@keyframes scrollBreathe{0%,to{opacity:.3;transform:translate(-50%)translateY(0)}50%{opacity:.6;transform:translate(-50%)translateY(6px)}}@keyframes chevronBounce{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
