:root {
  --ieee-blue: #00629b;
  --ieee-deep: #002855;
  --sky: #00a6d6;
  --accent: #f6b221;
  --ink: #172033;
  --muted: #657286;
  --soft: #f4f8fb;
  --white: #ffffff;
  --border: rgba(0, 98, 155, 0.16);
  --shadow: 0 20px 60px rgba(0, 40, 85, 0.12);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--ink); background: var(--white); }
a { color: var(--ieee-blue); text-decoration: none; }
a:hover { color: var(--ieee-deep); }
.top-ribbon { background: var(--ieee-deep); color: rgba(255,255,255,.9); font-size: .9rem; }
.site-navbar { background: rgba(0, 40, 85, 0.96); border-bottom: 4px solid var(--ieee-blue); box-shadow: 0 8px 24px rgba(0,0,0,.12); }
.brand-mark { width: 42px; height: 42px; display:inline-flex; align-items:center; justify-content:center; border-radius:10px; background: linear-gradient(135deg, var(--ieee-blue), var(--sky)); color:#fff; font-weight:900; letter-spacing:.04em; }
.brand-text { font-weight:800; letter-spacing:.02em; }
.navbar .nav-link { color: rgba(255,255,255,.82) !important; font-weight: 650; font-size: .95rem; padding-left: .8rem !important; padding-right: .8rem !important; }
.navbar .nav-link:hover, .navbar .nav-link.active { color: #fff !important; }
.dropdown-menu { border: 0; box-shadow: var(--shadow); border-radius: 14px; padding: .55rem; }
.dropdown-item { border-radius: 10px; font-weight: 600; padding: .62rem .85rem; }
.dropdown-item.active, .dropdown-item:active { background: var(--ieee-blue); color: #fff; }
.btn-primary { --bs-btn-bg: var(--ieee-blue); --bs-btn-border-color: var(--ieee-blue); --bs-btn-hover-bg: var(--ieee-deep); --bs-btn-hover-border-color: var(--ieee-deep); box-shadow: 0 10px 24px rgba(0,98,155,.22); }
.btn-outline-light:hover { color: var(--ieee-deep); }
.home-hero { position: relative; overflow: hidden; color: #fff; background: radial-gradient(circle at 12% 8%, rgba(0,166,214,.28), transparent 26%), radial-gradient(circle at 90% 10%, rgba(246,178,33,.18), transparent 22%), linear-gradient(135deg, #001833 0%, #003d73 46%, #001833 100%); }
.hero-grid { position:absolute; inset:0; opacity:.42; background-image:linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size:42px 42px; mask-image:radial-gradient(circle, black, transparent 78%); }
.min-vh-85 { min-height:85vh; }
.conference-badge { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2); color:#fff; padding:.7rem 1rem; font-size:.92rem; }
.hero-tags { display:flex; flex-wrap:wrap; gap:.75rem; }
.hero-tags span { display:inline-flex; gap:.45rem; align-items:center; padding:.65rem .8rem; border-radius:999px; background:rgba(255,255,255,.11); border:1px solid rgba(255,255,255,.15); }
.countdown-card, .data-card, .feature-card, .track-card, .person-card, .venue-card, .contact-panel, .contact-form, .link-card, .stat-card, .notice-box, .map-placeholder, .badge-card { background:#fff; border:1px solid var(--border); box-shadow: var(--shadow); }
.countdown-card { padding:2rem; border-radius:28px; color:var(--ink); }
.hero-icon { font-size:2.4rem; color:var(--ieee-blue); }
.countdown-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.75rem; }
.countdown-grid div { text-align:center; padding:1rem .4rem; border-radius:16px; background:var(--soft); border:1px solid var(--border); }
.countdown-grid strong { display:block; color:var(--ieee-deep); font-size:1.8rem; }
.countdown-grid span { display:block; font-size:.75rem; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
.quick-facts p, .venue-card p, .contact-panel p { display:flex; gap:.7rem; align-items:flex-start; margin-bottom:.8rem; }
.quick-facts i, .venue-card i, .contact-panel i { color: var(--ieee-blue); }
.section-padding { padding: 88px 0; }
.bg-soft { background: var(--soft); }
.eyebrow { text-transform:uppercase; font-weight:850; letter-spacing:.12em; font-size:.78rem; color:#a6e7ff; margin-bottom:.8rem; }
.eyebrow.dark { color: var(--ieee-blue); }
.section-title { font-weight:850; letter-spacing:-.025em; line-height:1.1; margin-bottom:1rem; }
.section-text { color:var(--muted); font-size:1.05rem; line-height:1.75; }
.stat-card { border-radius:22px; padding:1.5rem; height:100%; }
.stat-card span { display:block; color:var(--ieee-blue); font-size:2rem; font-weight:850; }
.stat-card p { margin:0; color:var(--muted); font-weight:600; }
.feature-card, .track-card, .link-card, .person-card, .contact-panel, .contact-form, .venue-card, .data-card, .notice-box, .map-placeholder, .badge-card { border-radius:22px; padding:1.5rem; }
.feature-card i, .link-card i { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:14px; background:var(--soft); color:var(--ieee-blue); font-size:1.4rem; margin-bottom:1rem; }
.feature-card h3, .link-card h3, .track-card h3 { font-size:1.15rem; font-weight:800; }
.feature-card p, .link-card p, .track-card p, .person-card p { color:var(--muted); margin-bottom:0; }
.link-card { display:block; height:100%; color:var(--ink); transition:.25s ease; }
.link-card:hover { transform:translateY(-6px); color:var(--ink); border-color:rgba(0,98,155,.32); }
.inner-hero { color:#fff; padding:75px 0; background: radial-gradient(circle at 85% 10%, rgba(0,166,214,.22), transparent 25%), linear-gradient(135deg, var(--ieee-deep), #00487e); }
.inner-hero h1 { font-weight:900; font-size:clamp(2.2rem, 4vw, 4rem); }
.inner-hero p { color:rgba(255,255,255,.86); font-size:1.12rem; max-width: 760px; }
.hero-mini-card { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.16); border-radius:22px; padding:1.4rem; display:flex; flex-direction:column; gap:.45rem; backdrop-filter:blur(12px); }
.hero-mini-card strong { font-size:1.6rem; }
.info-list { list-style:none; padding:0; margin:0; }
.info-list li { padding:1rem 0; border-bottom:1px solid var(--border); }
.info-list li:last-child { border-bottom:0; }
.info-list span { display:block; color:var(--muted); font-size:.85rem; }
.info-list strong { color:var(--ink); }
.notice-box { background: #fffaf0; border-color: rgba(246,178,33,.35); }
.check-list { list-style:none; padding:0; margin:0; }
.check-list li { position:relative; padding-left:1.7rem; margin-bottom:.7rem; color:var(--muted); }
.check-list li::before { content:"✓"; position:absolute; left:0; top:0; color:var(--ieee-blue); font-weight:900; }
.track-card { height:100%; transition:.25s ease; }
.track-card:hover { transform:translateY(-6px); }
.track-card span { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; color:#fff; background:var(--ieee-blue); font-weight:800; margin-bottom:1rem; }
.timeline { position:relative; max-width:920px; margin:0 auto; }
.timeline::before { content:""; position:absolute; left:18px; top:0; bottom:0; width:3px; background:var(--border); }
.timeline-item { position:relative; display:flex; gap:1.2rem; padding:0 0 2rem 0; }
.timeline-dot { flex:0 0 39px; width:39px; height:39px; border-radius:50%; background:#fff; border:9px solid var(--ieee-blue); box-shadow:0 0 0 6px rgba(0,98,155,.12); z-index:1; }
.timeline-item h3 { font-size:1.1rem; font-weight:800; margin-bottom:.25rem; }
.timeline-item p { color:var(--muted); margin:0; }
.custom-accordion .accordion-item { border:1px solid var(--border); border-radius:16px !important; overflow:hidden; margin-bottom:1rem; box-shadow:0 10px 28px rgba(0,40,85,.06); }
.custom-accordion .accordion-button { font-weight:800; }
.custom-accordion .accordion-button:not(.collapsed) { background:var(--soft); color:var(--ieee-deep); }
.committee-section { margin-bottom:3rem; }
.committee-section > h3 { font-weight:850; margin-bottom:1rem; padding-bottom:.5rem; border-bottom:3px solid var(--ieee-blue); display:inline-block; }
.person-card h4 { font-weight:850; margin-bottom:.35rem; }
.person-card small { display:block; color:var(--ieee-blue); font-weight:650; margin-top:.8rem; }
.person-card.compact { box-shadow:0 10px 28px rgba(0,40,85,.08); }
.badge-card { text-align:center; font-weight:800; color:var(--ieee-deep); box-shadow:0 10px 28px rgba(0,40,85,.08); }
.fee-table-wrap { border-radius:22px; overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--border); }
.fee-table { margin:0; }
.fee-table thead th { background:var(--ieee-deep); color:#fff; padding:1rem; }
.fee-table tbody td { padding:1rem; font-weight:650; }
.map-placeholder { min-height:360px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; background:linear-gradient(135deg, #eef7fb, #fff); }
.map-placeholder i { color:var(--ieee-blue); font-size:3rem; margin-bottom:1rem; }
.contact-form .form-control { border-radius:12px; padding:.8rem 1rem; border:1px solid var(--border); }
.contact-form .form-control:focus { box-shadow:0 0 0 .25rem rgba(0,98,155,.12); border-color:var(--ieee-blue); }
.sidebar-card { top:96px; }
.footer { background:var(--ieee-deep); color:#fff; }
.footer a { color:rgba(255,255,255,.84); }
.footer a:hover { color:#fff; }
.footer-title { font-size:1rem; font-weight:850; margin-bottom:1rem; }
.footer-links { list-style:none; margin:0; padding:0; }
.footer-links li { margin-bottom:.5rem; }
.muted-on-dark { color:rgba(255,255,255,.68); }
.footer-line { border-color:rgba(255,255,255,.14); margin:2rem 0 1.3rem; }
.back-to-top { position:fixed; right:20px; bottom:20px; width:44px; height:44px; border-radius:50%; border:0; background:var(--ieee-blue); color:#fff; display:none; align-items:center; justify-content:center; box-shadow:0 12px 28px rgba(0,0,0,.25); z-index:1000; }
.back-to-top.show { display:flex; }
@media (max-width: 991.98px) { .section-padding{padding:64px 0;} .countdown-grid{grid-template-columns:repeat(2,1fr);} .navbar .btn{margin-top:.5rem;} }
@media (max-width: 575.98px) { .home-hero .display-4{font-size:2.35rem;} .hero-tags span{width:100%;} .inner-hero{padding:55px 0;} }
