/* IBCSL Public Site Styles */

:root{
  --primary:#0d2d52;
  --primary-mid:#1a3f6f;
  --primary-light:#2a5298;
  --accent:#d4a017;
  --accent-light:#f0c040;
  --light:#f8f9fb;
  --border:#e8ecf0;
}
*{box-sizing:border-box;}
body{font-family:'Inter',sans-serif;color:#2d3748;background:#fff;}
h1,h2,h3,h4{font-family:'Poppins',sans-serif;font-weight:700;}

/* ── TOP BAR ── */
.topbar{background:var(--primary);padding:.45rem 0;font-size:.78rem;color:rgba(255,255,255,.7);}
.topbar a{color:rgba(255,255,255,.7);text-decoration:none;transition:color .2s;}
.topbar a:hover,.topbar a:focus{color:var(--accent-light);}

/* ── NAVBAR ── */
.navbar-main{background:#fff;box-shadow:0 2px 16px rgba(13,45,82,.1);padding:0;position:sticky;top:0;z-index:1030;}
.navbar-main .navbar-brand{display:flex;align-items:center;gap:12px;padding:.7rem 0;}
.navbar-main .brand-logo{width:46px;height:46px;background:var(--primary);border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:900;color:#fff;font-size:1.1rem;font-family:'Inter',sans-serif;flex-shrink:0;letter-spacing:-.5px;}
.navbar-main .brand-text strong{display:block;color:var(--primary);font-weight:800;font-size:.9rem;line-height:1.1;font-family:'Inter',sans-serif;}
.navbar-main .brand-text small{color:#888;font-size:.68rem;line-height:1;}
.navbar-main .nav-link{color:#444;font-weight:500;font-size:.875rem;padding:.9rem .85rem!important;border-bottom:3px solid transparent;transition:all .2s;position:relative;}
.navbar-main .nav-link:hover,.navbar-main .nav-link.active{color:var(--primary);border-bottom-color:var(--accent);}
.navbar-main .dropdown-menu{border:none;box-shadow:0 12px 40px rgba(13,45,82,.13);border-radius:10px;padding:.5rem;min-width:220px;margin-top:0!important;border-top:3px solid var(--accent);}
.navbar-main .dropdown-item{border-radius:6px;padding:.55rem 1rem;font-size:.875rem;color:#444;font-weight:500;}
.navbar-main .dropdown-item:hover{background:var(--light);color:var(--primary);}
.btn-member-nav{background:var(--primary);color:#fff!important;border-radius:8px;padding:.5rem 1.2rem!important;font-weight:600;border-bottom:none!important;font-size:.82rem;transition:all .2s!important;}
.btn-member-nav:hover{background:var(--primary-light)!important;color:#fff!important;transform:translateY(-1px);}

/* ── HERO ── */
.hero{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-mid) 50%,var(--primary-light) 100%);color:#fff;padding:90px 0 80px;position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Ccircle cx='30' cy='30' r='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");}
.hero-badge{background:rgba(212,160,23,.25);color:var(--accent-light);border:1px solid rgba(212,160,23,.4);display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .9rem;border-radius:20px;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:1.2rem;}
.hero h1{font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:800;letter-spacing:-.02em;line-height:1.18;margin-bottom:1.2rem;}
.hero p.lead{font-size:1.05rem;opacity:.85;max-width:540px;line-height:1.7;}
.hero-stat-card{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:1.2rem 1rem;text-align:center;}
.hero-stat-card .num{font-size:2rem;font-weight:800;color:var(--accent-light);font-family:'Inter',sans-serif;line-height:1;}
.hero-stat-card .lbl{font-size:.78rem;opacity:.8;margin-top:.25rem;}

/* ── BUTTONS ── */
.btn-accent{background:var(--accent);color:#fff;border:none;padding:.75rem 2rem;border-radius:8px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:all .25s;font-size:.9rem;}
.btn-accent:hover{background:var(--accent-light);color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 20px rgba(212,160,23,.4);}
.btn-outline-white{border:2px solid rgba(255,255,255,.55);color:#fff;padding:.75rem 2rem;border-radius:8px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:all .25s;font-size:.9rem;}
.btn-outline-white:hover{background:rgba(255,255,255,.12);color:#fff;border-color:#fff;}

/* ── SECTIONS ── */
.section{padding:80px 0;}
.section-alt{background:var(--light);}
.section-label{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem;}
.section-title{font-size:clamp(1.7rem,2.8vw,2.3rem);color:var(--primary);font-weight:700;letter-spacing:-.01em;line-height:1.2;margin-bottom:.6rem;}
.section-divider{width:50px;height:3px;background:var(--accent);border-radius:2px;margin:0 0 1.5rem;}

/* ── CARDS ── */
.card-lift{border:none;border-radius:14px;box-shadow:0 2px 16px rgba(13,45,82,.07);transition:transform .25s,box-shadow .25s;overflow:hidden;}
.card-lift:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(13,45,82,.13);}
.feature-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0;}
.event-badge{background:var(--primary);color:#fff;border-radius:10px;padding:.6rem .8rem;text-align:center;min-width:54px;}
.event-badge .d{font-size:1.6rem;font-weight:800;line-height:1;font-family:'Inter',sans-serif;}
.event-badge .m{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;opacity:.85;}

/* ── PAGE HEADER ── */
.page-header{background:linear-gradient(135deg,var(--primary),var(--primary-mid));color:#fff;padding:55px 0 45px;position:relative;overflow:hidden;}
.page-header::after{content:'';position:absolute;right:-80px;top:-80px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.04);}
.page-header h1{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;margin-bottom:.4rem;}
.breadcrumb-item a{color:rgba(255,255,255,.7);text-decoration:none;}
.breadcrumb-item a:hover{color:var(--accent-light);}
.breadcrumb-item.active,.breadcrumb-item+.breadcrumb-item::before{color:rgba(255,255,255,.5);}

/* ── STATS BAR ── */
.stats-bar{background:var(--primary);padding:2.5rem 0;}
.stat-item{text-align:center;color:#fff;}
.stat-item .num{font-size:2.5rem;font-weight:800;font-family:'Inter',sans-serif;color:var(--accent-light);line-height:1;}
.stat-item .lbl{font-size:.82rem;opacity:.75;margin-top:.3rem;}

/* ── FOOTER ── */
.footer{background:var(--primary);color:rgba(255,255,255,.75);}
.footer-main{padding:64px 0 40px;}
.footer h6{color:var(--accent-light);font-family:'Inter',sans-serif;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.2rem;}
.footer a{color:rgba(255,255,255,.65);text-decoration:none;display:inline-flex;margin-bottom:.5rem;font-size:.875rem;transition:color .2s;}
.footer a:hover{color:var(--accent-light);padding-left:4px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.2rem 0;font-size:.8rem;color:rgba(255,255,255,.4);}
.social-link{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.7);font-size:1rem;transition:all .2s;text-decoration:none!important;margin-right:.4rem;}
.social-link:hover{background:var(--accent);color:#fff!important;}

/* ── MISC ── */
.badge-tag{background:rgba(13,45,82,.08);color:var(--primary);padding:.3rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;}
img.lazyload{opacity:0;transition:opacity .3s;}
