
:root{ --blue:#0066B3; --dark:#0f1a26; --muted:#667384; --light:#f4f6fa; --ribbon:#0b4f8a; }
*{ box-sizing:border-box; }
body{ font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; color: var(--dark); }
a{ color: var(--blue); text-decoration: none; }
a:hover{ text-decoration: underline; }

/* Top sponsor ribbon */
.top-ribbon{ background: var(--ribbon); color:#fff; padding: 8px 0; }
.top-ribbon .ribbon-text{ font-weight:600; }
.ribbon-btn{ border-color:#fff; color:#0b4f8a; background:#fff; }
.ribbon-btn:hover{ background:#e9f2ff; border-color:#e9f2ff; }

/* Navbar overrides */
.navbar .nav-link{ font-weight:600; color:#5b6573; }
.navbar .nav-link.active, .navbar .nav-link:hover{ color: var(--blue); }
.navbar-brand img{ display:block; }

/* Hero */
.hero{ position: relative; min-height: 78vh; background-image: url('/assets/img/hero.jpg'); background-size: cover; background-position: center; display:flex; align-items:center; }
.hero__overlay{ position:absolute; inset:0; background: radial-gradient(60% 60% at 50% 40%, rgba(0,0,0,.35), rgba(0,0,0,.55)); }
.hero__content{ position:relative; color:#fff; text-align:center; padding: 72px 0; }
.hero__topline{ font-weight:600; letter-spacing:.3px; opacity:.95; margin-bottom:8px; }
.hero__title{ font-size: clamp(40px, 7vw, 72px); font-weight: 900; margin: 0 0 10px; line-height:1.05; }
.hero__title em{ font-style: normal; font-weight: 700; opacity:.95; }
.hero__subtitle{ font-size: clamp(16px, 2.2vw, 22px); color:#deebff; margin-bottom: 22px; }
.hero__cta .btn{ margin: 6px; }
.hero__badges{ margin-top: 16px; display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.badge-pill{ background: rgba(255,255,255,.14); padding:8px 14px; border-radius: 999px; border:1px solid rgba(255,255,255,.25); font-weight:600; font-size:14px; color:#fff; }
.wiipa{ margin-top: 22px; display:flex; gap:10px; align-items:center; justify-content:center; opacity:.98; }
.wiipa img{ height: 28px; filter: drop-shadow(0 2px 4px rgba(0,0,0,.2)); }

/* Numbers section */
.numbers{ background:#fff; border-bottom:1px solid #eef2f7; }
.numbers__grid{ display:grid; grid-template-columns: repeat(2,1fr); gap: 18px; padding: 34px 0; }
@media(min-width:768px){ .numbers__grid{ grid-template-columns: repeat(4,1fr); } }
.num{ text-align:center; }
.num span{ display:block; font-weight: 900; font-size: clamp(28px,4vw,44px); color: var(--blue); }
.num small{ color: var(--muted); text-transform: uppercase; letter-spacing:.4px; font-weight:700; }

/* Highlight sections */
.section{ padding: 64px 0; }
.highlight__grid{ display:grid; grid-template-columns: 1fr; gap: 18px; }
@media(min-width:992px){ .highlight__grid{ grid-template-columns: 1fr 1fr; } }
.highlight__card{ border:1px solid #e6ebf2; border-radius: 18px; padding: 28px; background:#fff; }
.highlight__card h3{ font-weight:800; margin-bottom:6px; }
.highlight__card .btn{ margin-top: 10px; }

/* Subpage hero */
.subhero{ background:#f0f4fb; border-bottom:1px solid #e5edf7; }
.subhero .container{ padding: 54px 0; }
.subhero__title{ font-weight:900; margin:0 0 6px; }
.subhero__subtitle{ color: var(--muted); margin:0; }

/* Forms layout */
.form-grid{ display:grid; grid-template-columns: 1fr; gap: 24px; }
.form-main{ background:#fff; border:1px solid #e6ebf2; border-radius:18px; padding: 24px; }
.form-aside{ display:grid; gap: 16px; }
.side-card{ border:1px solid #e6ebf2; border-radius:18px; padding: 18px; background:#fff; }
@media(min-width:992px){ .form-grid{ grid-template-columns: 1.2fr .8fr; } }

/* Sponsors page */
.grid-3{ display:grid; grid-template-columns:1fr; gap:18px; }
@media(min-width:992px){ .grid-3{ grid-template-columns: repeat(3,1fr);} }
.tier{ border:1px solid #e6ebf2; border-radius:18px; background:#fff; padding:22px; }
.tier__head{ font-weight:800; font-size:20px; margin-bottom:8px; color: var(--blue); }
.prospectus{ margin-top: 22px; padding: 18px 22px; border-radius:16px; background:#f0f6ff; display:flex; align-items:center; justify-content:space-between; gap: 14px; }
.proof{ display:flex; gap:28px; flex-wrap:wrap; margin-top: 22px; }
.proof__item{ text-align:center; }
.proof__num{ font-weight:900; font-size:28px; color: var(--blue); }

/* Venue */
.info-card{ border:1px solid #e6ebf2; border-radius: 16px; padding: 18px; background:#fff; }

/* Footer */
.site-footer{ border-top:1px solid #e9edf3; background: #fff; }
.site-footer .container{ padding: 28px 16px; }
.footer-grid{ display:grid; grid-template-columns: repeat(1,1fr); gap: 18px; }
@media (min-width: 768px){ .footer-grid{ grid-template-columns: repeat(3,1fr); } }
.f-h{ font-weight: 800; margin-bottom: 6px; }
.text-muted{ color: var(--muted) !important; }
.btn-primary{ background: var(--blue); border-color: var(--blue); }

/* Sticky CTA on mobile */
.sticky-cta{ position: sticky; bottom: 0; background: rgba(255,255,255,.85); border-top:1px solid #e9edf3; padding: 8px; backdrop-filter: blur(6px); }
