:root {
  --text:#f8f4ee; --muted:#d3c6b8; --primary:#ff8c14; --primary-2:#ffbf47; --accent:#e4571f;
  --line:rgba(255,255,255,.12); --shadow:0 20px 45px rgba(0,0,0,.38);
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{font-family:'Rajdhani',sans-serif;font-size:1.08rem;background:radial-gradient(circle at top left, rgba(255,140,20,.16), transparent 28%),radial-gradient(circle at top right, rgba(228,87,31,.12), transparent 24%),linear-gradient(180deg, #1a130f, #211711 50%, #261a13);color:var(--text);overflow-x:hidden}
h1,h2,h3,h4,h5{font-family:'Teko',sans-serif;letter-spacing:1.5px;text-transform:uppercase}
p,a,button,input,select,textarea,span,small,li{font-family:'Rajdhani',sans-serif}
p{color:var(--muted)} a{text-decoration:none}.text-highlight{color:var(--primary-2)!important}
.pattern-section{position:relative;overflow:hidden;background:radial-gradient(circle at 20% 20%, rgba(255,191,71,.08), transparent 18%),radial-gradient(circle at 80% 30%, rgba(228,87,31,.08), transparent 18%),linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),linear-gradient(180deg, rgba(23,17,13,.96), rgba(35,24,18,.96));background-size:580px 580px,680px 680px,28px 28px,28px 28px,auto}
.pattern-section:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.06;background-image:radial-gradient(rgba(255,255,255,.35) .6px, transparent .6px);background-size:12px 12px;mix-blend-mode:soft-light}
.pattern-section>.container{position:relative;z-index:1}
.reveal{opacity:0;transform:translateY(20px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}
.navbar{background:rgba(22,15,12,.82)!important;backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.07);transition:.25s ease}.navbar.scrolled{background:rgba(22,15,12,.95)!important;box-shadow:0 10px 30px rgba(0,0,0,.28)}
.navbar-brand{color:#fff!important;display:flex;align-items:center;gap:.85rem}
.nav-logo,.footer-logo{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(255,140,20,.28))}
.brand-text{display:flex;flex-direction:column;line-height:1}.brand-text strong{color:#fff;font-size:1rem}.brand-text small{color:var(--primary-2);font-weight:700;letter-spacing:.6px}
.nav-link{color:#f7efe7!important;font-weight:700;letter-spacing:.3px;opacity:.96;text-transform:uppercase;font-size:.98rem}.nav-link:hover{color:var(--primary-2)!important}
.btn-warrior{background:linear-gradient(45deg,var(--primary),var(--primary-2));border:0;color:#15100c;font-weight:800;letter-spacing:.4px;border-radius:8px;padding:.9rem 1.35rem;box-shadow:0 12px 30px rgba(255,140,20,.28);transition:.2s ease;text-transform:uppercase}.btn-warrior:hover{transform:translateY(-2px);color:#15100c}
.btn-ghost{border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:8px;padding:.9rem 1.35rem;font-weight:700;background:rgba(255,255,255,.04);text-transform:uppercase}.btn-ghost:hover{border-color:var(--primary);color:#fff;background:rgba(255,140,20,.08)}
.floating-socials{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:1035;display:flex;flex-direction:column;gap:.65rem}
.floating-socials a{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff;backdrop-filter:blur(12px);box-shadow:var(--shadow);transition:.2s ease}.floating-socials a:hover{transform:translateY(-2px) scale(1.04);color:var(--primary-2)}
.hero{padding-top:88px}.carousel-item{min-height:88vh;overflow:hidden;border-radius:0 0 34px 34px}.hero-slide{min-height:88vh;display:flex;align-items:center;position:relative;background-size:cover;background-position:center}
.hero-slide:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(16,10,7,.9), rgba(20,12,9,.56) 55%, rgba(16,10,7,.84)),linear-gradient(180deg, rgba(255,140,20,.1), rgba(139,47,16,.08))}
.hero-content{position:relative;z-index:2;max-width:760px}.hero-logo{width:140px;max-width:42vw;object-fit:contain;filter:drop-shadow(0 10px 26px rgba(255,140,20,.28));margin-bottom:1rem}
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;padding:.55rem .9rem;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff;font-weight:700;margin-bottom:1rem;backdrop-filter:blur(8px);text-transform:uppercase;letter-spacing:.5px}
.hero h1{font-size:clamp(3rem,5vw,5.4rem);line-height:.92;margin-bottom:1rem}.hero p.lead{font-size:1.28rem;max-width:660px}.hero-buttons{flex-wrap:wrap}
.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}.hero-stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:1rem;backdrop-filter:blur(10px)}.hero-stat strong{display:block;font-size:1.45rem;color:#fff;font-family:'Teko',sans-serif;letter-spacing:1px}
section{padding:88px 0}.section-heading{max-width:760px;margin-bottom:2.5rem}.section-heading .mini{color:var(--primary-2);font-weight:800;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:.6rem;display:inline-block}.section-heading h2::after{content:"";display:block;width:84px;height:4px;margin-top:10px;background:linear-gradient(90deg,var(--primary),var(--primary-2));border-radius:999px}
.glass-card{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.04));border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.info-card,.timeline-card,.schedule-card,.sponsor-card{padding:1.4rem;transition:.22s ease;height:100%}.info-card:hover,.timeline-card:hover,.obstacle-card:hover,.sponsor-card:hover,.race-type-card:hover{transform:translateY(-5px)}
.info-icon{width:58px;height:58px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(255,140,20,.22),rgba(255,191,71,.18));color:var(--primary-2);border:1px solid rgba(255,191,71,.22);margin-bottom:1rem;font-size:1.25rem}
.about-banner{padding:1.6rem;border-radius:20px;background:linear-gradient(135deg,rgba(255,140,20,.08),rgba(94,43,18,.1));border:1px solid rgba(255,255,255,.12)}
.event-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.mini-stat{padding:1rem 1.15rem;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.mini-stat strong{display:block;font-size:1.25rem;color:#fff;font-family:'Teko',sans-serif;letter-spacing:1px}
.timeline-index{width:46px;height:46px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(255,140,20,.2),rgba(228,87,31,.18));color:#fff;font-weight:800;margin-bottom:1rem;border:1px solid rgba(255,255,255,.14)}
.testimonial-avatar{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),var(--accent));color:#111;font-weight:800}
.race-type-card{position:relative;padding:1.5rem;height:100%}.race-badge{position:absolute;top:18px;right:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);padding:.4rem .75rem;border-radius:999px;font-size:.9rem;font-weight:700;color:#fff;text-transform:uppercase}
.price{font-size:2.4rem;color:#fff;font-family:'Teko',sans-serif;letter-spacing:1px;margin-bottom:.5rem}.feature-list li{margin-bottom:.65rem;color:var(--muted)}.feature-list i{color:var(--primary-2);margin-right:.55rem}
.obstacle-top{height:110px;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;background:linear-gradient(135deg,rgba(255,140,20,.35),rgba(94,43,18,.35));border-bottom:1px solid rgba(255,255,255,.08)}
.schedule-card{text-align:center}.schedule-card strong{display:block;color:#fff;font-size:1.4rem;margin-bottom:.6rem;font-family:'Teko',sans-serif;letter-spacing:1px}
.gallery-item{position:relative;display:block;overflow:hidden;border-radius:18px}.gallery-item img{width:100%;height:320px;object-fit:cover;display:block;transition:.35s ease}.gallery-item span{position:absolute;right:18px;bottom:18px;width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.16)}.gallery-item:hover img{transform:scale(1.06)}
.blog-card img{width:100%;height:240px;object-fit:cover;border-radius:18px 18px 0 0}.blog-card .content{padding:1.3rem}
.sponsor-logo{height:74px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-weight:800;background:rgba(255,255,255,.05);border:1px dashed rgba(255,255,255,.18);color:#ece2d7;padding:1.4rem;font-family:'Teko',sans-serif;font-size:1.2rem;letter-spacing:1px}
.contact-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:1.25rem}.form-control,.form-select{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#fff;border-radius:14px;padding:.9rem 1rem}.form-select option{color:#111}.form-control::placeholder{color:#d7ccbf}.form-control:focus,.form-select:focus{background:rgba(255,255,255,.07);border-color:rgba(255,140,20,.55);box-shadow:0 0 0 .2rem rgba(255,140,20,.12);color:#fff}
.cart-badge{position:absolute;top:-7px;right:-9px;min-width:21px;height:21px;padding:0 6px;background:var(--primary);color:#111;font-size:.75rem;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:800}
.cart-item{display:grid;grid-template-columns:1fr auto;gap:.5rem;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.cart-item:last-child{border-bottom:0}
.countdown-box{padding:1rem;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);text-align:center}.countdown-box strong{font-size:1.6rem;display:block;color:#fff;font-family:'Teko',sans-serif;letter-spacing:1px}
.checkout-page .pt-hero{padding-top:120px}.checkout-brand{text-align:center}.checkout-logo{width:96px;object-fit:contain;filter:drop-shadow(0 10px 20px rgba(255,140,20,.25))}.checkout-summary .cart-item-mini{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,.08)}
footer{border-top:1px solid rgba(255,255,255,.08);padding:28px 0 48px;background:rgba(16,11,8,.38)}
@media (max-width:991.98px){.floating-socials{right:12px}.hero-stats,.event-strip,.contact-wrap{grid-template-columns:1fr}.carousel-item,.hero-slide{min-height:82vh}}
@media (max-width:767.98px){.floating-socials{flex-direction:row;left:50%;right:auto;top:auto;bottom:14px;transform:translateX(-50%)}section{padding:72px 0}.hero-buttons{flex-direction:column;align-items:stretch!important}.hero h1{font-size:2.8rem}.hero p.lead{font-size:1.12rem}.gallery-item img{height:250px}.nav-logo,.footer-logo{width:44px;height:44px}.hero-logo{width:110px}}
