@import url('https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;600;700&family=Inter:wght@400;500;600&display=swap');

.material-symbols-outlined { font-variation-settings:'FILL' 0,'wght' 300,'GRAD' 0,'opsz' 24; vertical-align:middle; }
.precision-grid { background-size:40px 40px; background-image:radial-gradient(circle,#c4c7c7 1px,transparent 1px); }
.glass-header { backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }

.reveal { opacity:0; transform:translateY(28px); transition:opacity .85s ease,transform .85s ease; }
.reveal.revealed { opacity:1; transform:translateY(0); }

.reveal-stagger>* { opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s ease; }
.reveal-stagger.revealed>*:nth-child(1){opacity:1;transform:translateY(0);transition-delay:0s}
.reveal-stagger.revealed>*:nth-child(2){opacity:1;transform:translateY(0);transition-delay:.12s}
.reveal-stagger.revealed>*:nth-child(3){opacity:1;transform:translateY(0);transition-delay:.24s}
.reveal-stagger.revealed>*:nth-child(4){opacity:1;transform:translateY(0);transition-delay:.36s}

.nav-label { font-family:'Inter',sans-serif; font-size:12px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; line-height:1; }

.ticker-wrap{overflow:hidden}
.ticker-inner{display:inline-flex;white-space:nowrap;animation:ticker 32s linear infinite}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.stat-num{font-family:'Hanken Grotesk',sans-serif;font-size:clamp(48px,7vw,80px);font-weight:700;line-height:1;letter-spacing:-0.02em}
.hero-display{font-family:'Hanken Grotesk',sans-serif;font-size:clamp(36px,6vw,68px);font-weight:700;line-height:1.05;letter-spacing:-0.025em}
.section-heading{font-family:'Hanken Grotesk',sans-serif;font-size:clamp(24px,3.2vw,34px);font-weight:600;line-height:1.2;letter-spacing:-0.01em}

input,textarea,select{border-radius:0!important;outline:none}
input:focus,textarea:focus{border-color:#0035c6!important;box-shadow:none!important}

.card-accent{position:relative;overflow:hidden}
.card-accent::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:#0035c6;transition:width .4s ease}
.card-accent:hover::after{width:100%}
