@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@700;800&display=swap');

:root { color-scheme: light; }
body { text-rendering: optimizeLegibility; }
.h-18 { height: 4.5rem; }
.hero-grid {
    background-image: linear-gradient(rgba(11,99,246,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(11,99,246,.06) 1px, transparent 1px);
    background-size: 38px 38px;
    mask-image: linear-gradient(to bottom, black, transparent 92%);
}
.skip-link {
    position: fixed; left: 1rem; top: -5rem; z-index: 100; padding: .75rem 1rem;
    border-radius: .75rem; background: #101d31; color: white; font-weight: 700;
}
.skip-link:focus { top: 1rem; }
.calc-input {
    display: block; width: 100%; border: 1px solid #dbe3e5; border-radius: .75rem;
    background: #fff; padding: .85rem 1rem; color: #101d31; outline: none;
    transition: border-color .15s, box-shadow .15s;
}
.calc-input:focus { border-color: #0b63f6; box-shadow: 0 0 0 3px rgba(11,99,246,.14); }
.calc-input[aria-invalid="true"] { border-color: #e11d48; box-shadow: 0 0 0 3px rgba(225,29,72,.1); }
.prose-content { color: #526269; line-height: 1.8; }
.prose-content h2 { margin-top: 2.25rem; margin-bottom: .8rem; font-family: Manrope, sans-serif; font-size: 1.55rem; font-weight: 800; letter-spacing: -.025em; color: #101d31; }
.prose-content p { margin-top: 1rem; }
.prose-content ol { margin: 1rem 0 0 1.4rem; list-style: decimal; }
.prose-content li { margin-top: .5rem; padding-left: .25rem; }
.prose-content a { color: #0b63f6; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.formula-box { margin-top: 1rem; border-left: 4px solid #0b63f6; border-radius: 0 .75rem .75rem 0; background: #eef5ff; padding: 1.15rem 1.25rem; font-weight: 700; color: #073a96; }
[data-result-detail] { border: 1px solid rgba(255,255,255,.12); border-radius: .75rem; background: rgba(255,255,255,.06); padding: .8rem; }
[data-result-detail] span { display: block; color: #94a3b8; font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
[data-result-detail] strong { display: block; margin-top: .25rem; color: white; font-size: .9rem; }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
