@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Sans:wght@300;400;500;600&display=swap');

html{scroll-behavior:smooth}
::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:#C8102E;border-radius:3px}

.btn-primary{background:linear-gradient(135deg,#C8102E,#FF6B35);color:white;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;transition:all .2s;box-shadow:0 4px 15px rgba(200,16,46,.3)}
.btn-primary:hover{transform:scale(1.05);box-shadow:0 6px 20px rgba(255,107,53,.45)}
.btn-secondary{border:2px solid #C8102E;color:#C8102E;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;transition:all .2s;background:transparent}
.btn-secondary:hover{background:#C8102E;color:white}
.card{background:rgba(26,26,46,0.85);border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,.25);transition:all .3s}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(200,16,46,.2)}
.section-hero{min-height:90vh;display:flex;align-items:center}
.section-alt{background:#13132A}
.badge{display:inline-flex;align-items:center;background:#FF6B35;color:white;border-radius:999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}
.nav-link{position:relative;font-weight:500;transition:color .2s;color:#E8E8F0}
.nav-link::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:#C8102E;transition:width .2s}
.nav-link:hover::after{width:100%}
.nav-link:hover{color:#FF6B35}
.gradient-text{background:linear-gradient(135deg,#C8102E,#FF6B35);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.animate-fade-in{animation:fadeInUp .6s ease forwards}

.abstract-section{clip-path:polygon(0 0,100% 0,100% 88%,0 100%);padding-bottom:8rem}
.abstract-section-2{clip-path:polygon(0 4%,100% 0,100% 96%,0 100%)}
.pattern-bg{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,0.05) 0px,rgba(255,255,255,0.05) 1px,transparent 1px,transparent 50%);background-size:20px 20px}

.header-glow{box-shadow:0 1px 0 rgba(200,16,46,.25),0 4px 24px rgba(15,15,26,.8)}
.logo-mark{display:inline-block;width:10px;height:10px;background:linear-gradient(135deg,#C8102E,#FF6B35);border-radius:2px;margin-right:4px;transform:rotate(12deg);box-shadow:0 0 8px rgba(255,107,53,.6)}
.noise-overlay{position:relative}
.noise-overlay::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;opacity:.4;border-radius:inherit;z-index:0}
.geo-accent{position:absolute;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(200,16,46,.18) 0%,transparent 70%);pointer-events:none;filter:blur(48px)}
.algorithmic-border{border:1px solid rgba(200,16,46,.22);position:relative}
.algorithmic-border::before{content:'';position:absolute;top:-1px;left:20%;width:40%;height:2px;background:linear-gradient(90deg,transparent,#FF6B35,transparent)}
.mobile-menu-item{border-left:2px solid transparent;padding-left:.75rem;transition:border-color .2s,color .2s}
.mobile-menu-item:hover{border-left-color:#C8102E;color:#FF6B35}