/* SSConnect editorial redesign — intentionally overrides the legacy single-file theme. */
:root {
  --navy: #17213d;
  --navy-mid: #24345c;
  --navy-light: #344b80;
  --maroon: #8d2335;
  --maroon-mid: #a82d43;
  --maroon-light: #c84a5f;
  --gold: #e8a838;
  --gold-bright: #ffc65a;
  --white: #fffdf7;
  --glass: rgba(255, 255, 255, .72);
  --glass-border: rgba(23, 33, 61, .12);
  --text-muted: #657084;
  --text-dim: #8a93a3;
  --ink: #17213d;
  --paper: #f6f1e8;
  --paper-2: #eee7da;
  --grad-button: linear-gradient(135deg, #a82d43, #7f1d31);
  --grad-card: linear-gradient(145deg, #fffdf8, #f4ecdf);
  --grad-accent: linear-gradient(135deg, #ffc65a, #e8a838);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --shadow: 0 24px 70px rgba(23, 33, 61, .12);
}

html { scroll-padding-top: 90px; }
body {
  font-family: "DM Sans", sans-serif;
  color: var(--ink);
  background: var(--paper);
}
body::before {
  background:
    radial-gradient(circle at 8% 10%, rgba(232,168,56,.17), transparent 28%),
    radial-gradient(circle at 91% 36%, rgba(168,45,67,.11), transparent 25%),
    linear-gradient(120deg, #fffdf8 0%, #f6f1e8 48%, #efe7d9 100%);
}
body::after {
  opacity: .4;
  background-image: radial-gradient(rgba(23,33,61,.18) .7px, transparent .7px);
  background-size: 18px 18px;
  mask-image: linear-gradient(to bottom, #000, transparent 75%);
}

.scroll-progress {
  position: fixed; inset: 0 auto auto 0; z-index: 10020; width: 100%; height: 3px;
  transform: scaleX(0); transform-origin: left; background: var(--grad-button);
}
.cursor-glow {
  position: fixed; z-index: 0; width: 420px; height: 420px; border-radius: 50%;
  pointer-events: none; opacity: .22; filter: blur(2px);
  background: radial-gradient(circle, rgba(232,168,56,.3), transparent 68%);
  transform: translate3d(-50%,-50%,0); transition: opacity .3s;
}

.announce {
  color: #fff; background: var(--ink); animation: none; border: 0; padding: .6rem 4vw;
}
.ann-right { font-family: "DM Sans", sans-serif; color: #f4ca73; }
.nav {
  top: 35px; background: rgba(246,241,232,.84); border-bottom: 1px solid rgba(23,33,61,.1);
  backdrop-filter: blur(18px) saturate(140%);
}
.nav.scrolled { top: 0; background: rgba(255,253,247,.92); box-shadow: 0 10px 40px rgba(23,33,61,.08); }
.nav-inner { max-width: 1500px; height: 78px; padding-inline: 4vw; }
.brand-name, .sec-h, .hero-title, .drawer a, .cta-h { font-family: "Manrope", sans-serif !important; }
.brand-name { color: var(--ink); font-weight: 800; }
.brand-sub { font-family: "DM Sans", sans-serif; color: var(--maroon); font-weight: 700; }
.brand-ring { animation: none; background: var(--grad-button) border-box; }
.brand-inner { background: var(--paper); }
.brand-inner img { filter: none; width: 34px; height: 34px; }
.nav-links a { color: #667086; border-radius: 999px; }
.nav-links a:hover { color: var(--ink); background: rgba(23,33,61,.06); }
.nav-links a::after { background: var(--maroon); }
.btn-login, .btn-h-p, .news-btn {
  background: var(--grad-button) !important; border-radius: 999px !important;
  box-shadow: 0 12px 30px rgba(120,21,42,.34) !important;
}
.hamburger { border-color: rgba(23,33,61,.14); }
.hamburger span { background: var(--ink); }
.drawer { background: var(--paper); }
.drawer a { color: var(--ink); }

.hero { min-height: 950px; padding: 11rem 4vw 6rem; isolation: isolate; }
.hero::before {
  content:""; position:absolute; width: 39vw; height: 72%; right: 0; top: 14%; z-index:-1;
  background: var(--maroon); border-radius: 120px 0 0 120px;
  transform: translateX(10%) rotate(-2deg);
}
.hero::after {
  content:"CONNECT"; position:absolute; right:-.04em; bottom:-.16em; z-index:-1;
  font: 800 clamp(7rem,18vw,19rem)/1 "Manrope"; letter-spacing:-.09em;
  color: rgba(23,33,61,.035); pointer-events:none;
}
.hero-inner { max-width: 1500px; grid-template-columns: 1.05fr .95fr; gap: clamp(3rem,8vw,9rem); }
.hero-label, .eyebrow { color: var(--maroon); }
.hero-label { background: rgba(255,255,255,.58); border:1px solid rgba(23,33,61,.1); border-radius:999px; }
.hero-title { color: var(--ink); font-weight: 800; letter-spacing: -.065em; line-height: .98; font-size: clamp(3.6rem,6.4vw,7rem); }
.hero-title span { margin-top: 1.6rem; color: var(--maroon); letter-spacing: .06em; font-family:"DM Sans"; }
.hero-desc { color: #5e687b; max-width: 620px; font-size: 1.08rem; }
.hero-stats { border: 0; background: transparent; box-shadow: none; gap: .8rem; }
.hero-stats > div { background: rgba(255,255,255,.62); border:1px solid rgba(23,33,61,.1); border-radius:18px; padding:1.1rem 1.4rem; }
.stat-num { color: var(--ink); font-family:"Manrope"; }
.stat-lbl { color: var(--text-muted); }
.btn-h { border-radius:999px; padding:.95rem 1.45rem; }
.btn-h-s { color:var(--ink); border-color:rgba(23,33,61,.18); background:rgba(255,255,255,.55); }
.orb, .hero-diag { display:none; }
.dash-card {
  background:#fffdf8; border:0; border-radius:34px; box-shadow: 0 50px 100px rgba(59,13,25,.28);
  transform: rotate(2.5deg); overflow:hidden; will-change:transform;
}
.dash-card::before { content:""; position:absolute; inset:-2px; border:1px solid rgba(255,255,255,.4); border-radius:inherit; pointer-events:none; }
.dash-chrome { background:#f1eadf; border-color:rgba(23,33,61,.08); }
.dash-lbl, .dash-sec-title, .ev-name { color:var(--ink); }
.dash-body, .ev-row, .mini-box { background:#fffdf8; }
.ev-row { border-color:rgba(23,33,61,.08); }
.ev-meta, .mini-l { color:var(--text-muted); }
.mini-n { color:var(--maroon); }

.divider { display:none; }
.section, .video-section, .partners-section, .spotify-section, .presidents-section, .news-section { padding: 8rem 4vw; }
.section:nth-of-type(even) { background:rgba(255,255,255,.42); }
.sec-in { max-width:1500px; }
.sec-h { color:var(--ink); font-weight:800; letter-spacing:-.055em; line-height:1.02; font-size:clamp(2.6rem,5vw,5.2rem); }
.sec-sub { color:var(--text-muted); font-size:1.05rem; }
.ey-text { font-family:"DM Sans"; color:var(--maroon); font-weight:800; letter-spacing:.13em; }
.ey-line { background:var(--maroon); }

.feat-wrap { grid-template-columns: .4fr 1fr; gap:1.25rem; }
.feat-nav { background:var(--ink); border:0; border-radius:28px; padding:.7rem; }
.fn-btn { color:rgba(255,255,255,.62); border-radius:19px; }
.fn-btn.active { background:#fff; color:var(--ink); }
.fn-icon { background:rgba(232,168,56,.17); color:var(--gold); }
.fp { gap:1rem; }
.fc, .step-box, .news-card, .help-box, .team-card {
  color:var(--ink); background:rgba(255,253,248,.82); border:1px solid rgba(23,33,61,.1);
  border-radius:26px; box-shadow:0 16px 45px rgba(23,33,61,.07);
}
.fc:hover, .news-card:hover, .team-card:hover { transform:translateY(-8px); box-shadow:var(--shadow); border-color:rgba(141,35,53,.25); }
.ft, .step-title, .news-card h4 { color:var(--ink); }
.fd, .step-desc, .news-card p { color:var(--text-muted); }
.fi { background:rgba(141,35,53,.09); color:var(--maroon); }

.steps-track::before { background:rgba(23,33,61,.13); }
.step-circle { background:var(--ink); border:6px solid var(--paper); color:#fff; box-shadow:none; }
.step-box { padding:2rem; }
.news-section { background:var(--ink); }
.news-section .sec-h { color:#fff; }
.news-section .sec-sub { color:rgba(255,255,255,.58); }
.news-main { background:#fff; border-radius:28px; padding:1rem; box-shadow:none; }
.news-card { background:#263252; color:#fff; border-color:rgba(255,255,255,.1); }
.news-card h4 { color:#fff; }
.news-card p { color:rgba(255,255,255,.62); }

.off-scroll-wrapper { overflow:visible; }
.off-scroll, .pres-scroll { scroll-snap-type:x mandatory; gap:1.15rem; padding:1rem .2rem 2.4rem; }
.off-card, .pres-card {
  scroll-snap-align:start; background:#fffdf8; border:1px solid rgba(23,33,61,.1); border-radius:28px;
  box-shadow:0 15px 40px rgba(23,33,61,.08); overflow:hidden; transition:transform .55s var(--ease-out), box-shadow .55s var(--ease-out);
}
.off-card:hover, .pres-card:hover { transform:translateY(-10px) rotate(-1deg); box-shadow:var(--shadow); }
.off-photo { border-radius:0; }
.off-info { background:#fffdf8; }
.off-name, .off-pos, .pres-card h3 { color:var(--ink); }
.off-course { color:var(--text-muted); }
.off-badge { background:var(--paper); color:var(--maroon); border:0; }
.scroll-arrow { background:var(--maroon); color:#fff; border:0; box-shadow:0 10px 30px rgba(120,21,42,.3); }
.scroll-arrow:hover { background:var(--maroon); }

.adviser-grid { background:var(--ink); border-radius:40px; padding:clamp(1.5rem,4vw,4rem); }
.adviser-grid .adv-name, .adviser-grid .adv-role { color:#fff; }
.adviser-grid .adv-bio, .adviser-grid p { color:rgba(255,255,255,.62); }
.adv-frame { border-radius:28px; transform:rotate(-2deg); }

.partners-section { background:#fffdf8; }
.partner-logo { filter:grayscale(1); opacity:.55; transition:filter .4s, opacity .4s, transform .4s var(--ease-out); }
.partner-logo:hover, .partner-logo.scrolling { filter:none; opacity:1; transform:translateY(-7px); }
.spotify-section { background:#18261d; }
.spotify-section .sec-h { color:#fff; }

.faq-q, .faq-a, .help-tabs, .hp { color:var(--ink); }
.faq-item { border-color:rgba(23,33,61,.12); }
.faq-a, .hp p { color:var(--text-muted); }
.htab.active { background:var(--ink); color:#fff; }
footer { background:#111a31; border:0; }
.foot-name, .foot-col-title { color:#fff; }
.foot-desc, .foot-tag, .foot-links a, .fci, .foot-copy { color:rgba(255,255,255,.58); }

.reveal { opacity:0; transform:translateY(36px) scale(.985); filter:blur(8px); transition:opacity .9s var(--ease-out), transform .9s var(--ease-out), filter .9s var(--ease-out); }
.reveal.in { opacity:1; transform:none; filter:blur(0); }
.d1 { transition-delay:.07s; }.d2 { transition-delay:.14s;}.d3 { transition-delay:.21s;}.d4 { transition-delay:.28s;}
.magnetic { will-change:transform; transition:transform .35s var(--ease-out), box-shadow .35s; }

@media (max-width: 992px) {
  .nav { top:0; }
  .announce { display:none; }
  .hero { min-height:auto; padding-top:8rem; }
  .hero::before { width:52%; height:48%; top:auto; bottom:4%; border-radius:80px 0 0 80px; }
  .hero-inner { grid-template-columns:1fr; }
  .hero-inner > div:first-child { max-width:760px; }
  .hero-inner > div:last-child { width:min(92%,680px); margin-inline:auto; }
  .feat-wrap { grid-template-columns:1fr; }
  .feat-nav { flex-direction:row; }
}
@media (max-width: 600px) {
  .section, .video-section, .partners-section, .spotify-section, .presidents-section, .news-section { padding:5.5rem 1rem; }
  .hero { padding:6.5rem 1rem 4rem; }
  .hero::before { width:82%; height:34%; bottom:2%; }
  .hero-title { font-size:clamp(3rem,15vw,4.4rem); }
  .hero-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:.45rem; }
  .hero-stats > div { padding:.8rem .45rem; }
  .stat-num { font-size:1.25rem; }
  .dash-card { border-radius:24px; transform:rotate(1deg); }
  .feat-nav { overflow-x:auto; }
  .fn-btn { min-width:max-content; }
  .fp { grid-template-columns:1fr; }
  .adviser-grid { border-radius:28px; }
  .cursor-glow { display:none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; filter:none; }
  .cursor-glow { display:none; }
}

/* Dark edition — retains the editorial layout and motion without light surfaces. */
:root {
  --navy: #06113c;
  --navy-mid: #101f57;
  --navy-light: #243b7b;
  --maroon: #78152a;
  --maroon-mid: #981f39;
  --maroon-light: #c33a55;
  --gold: #c33a55;
  --gold-bright: #e05a73;
  --grad-button: linear-gradient(135deg, #a52540, #681023);
  --grad-accent: linear-gradient(135deg, #e05a73, #981f39);
  --ink: #070b1d;
  --paper: #070b1d;
  --paper-2: #0d1430;
  --white: #f7f2e8;
  --glass: rgba(17, 26, 58, .76);
  --glass-border: rgba(255, 255, 255, .1);
  --text-muted: rgba(234, 238, 248, .65);
  --text-dim: rgba(234, 238, 248, .4);
  --shadow: 0 26px 80px rgba(0, 0, 0, .42);
}
body { color:#f7f2e8; background:#070b1d; }
body::before {
  background:
    radial-gradient(circle at 9% 12%, rgba(36,59,123,.42), transparent 29%),
    radial-gradient(circle at 91% 35%, rgba(152,31,57,.36), transparent 27%),
    linear-gradient(135deg, #030822 0%, #071442 52%, #2c0714 100%);
}
body::after {
  opacity:.45;
  background-image:radial-gradient(rgba(255,255,255,.12) .7px, transparent .7px);
}
.nav, .nav.scrolled { background:rgba(7,11,29,.88); border-color:rgba(255,255,255,.08); }
.nav.scrolled { box-shadow:0 12px 42px rgba(0,0,0,.32); }
.brand-name, .nav-links a:hover, .hamburger span { color:#f7f2e8; }
.brand-inner { background:#0b1230; }
.nav-links a { color:rgba(247,242,232,.62); }
.nav-links a:hover { background:rgba(255,255,255,.07); }
.hamburger { border-color:rgba(255,255,255,.14); }
.drawer { background:linear-gradient(145deg,#070b1d,#17102b 65%,#2b0b17); }
.drawer a { color:#f7f2e8; }
.hero-label { color:#ed7890; background:rgba(13,20,48,.72); border-color:rgba(255,255,255,.1); }
.hero-title, .stat-num, .sec-h, .ft, .step-title, .off-name, .off-pos, .pres-card h3,
.faq-q, .help-tabs, .hp, .news-card h4 { color:#f7f2e8; }
.hero-title span, .mini-n { color:#e05a73; }
.hero-desc, .sec-sub, .fd, .step-desc, .off-course, .faq-a, .hp p { color:var(--text-muted); }
.hero-stats > div { background:rgba(13,20,48,.68); border-color:rgba(255,255,255,.09); }
.btn-h-s { color:#f7f2e8; border-color:rgba(255,255,255,.16); background:rgba(13,20,48,.72); }
.hero::after { color:rgba(255,255,255,.025); }
.hero::before { background:linear-gradient(155deg,#9f2940,#5e1023); }
.dash-card { background:#0d1430; box-shadow:0 50px 110px rgba(0,0,0,.52); }
.dash-chrome { background:#111a3a; border-color:rgba(255,255,255,.08); }
.dash-body, .ev-row, .mini-box { background:#0d1430; }
.dash-lbl, .dash-sec-title, .ev-name { color:#f7f2e8; }
.ev-row { border-color:rgba(255,255,255,.08); }
.ev-meta, .mini-l { color:var(--text-muted); }
.section:nth-of-type(even) { background:rgba(13,20,48,.38); }
.feat-nav { background:#111a3a; }
.fn-btn.active { background:#29365f; color:#fff; }
.fc, .step-box, .news-card, .help-box, .team-card,
.off-card, .pres-card {
  color:#f7f2e8;
  background:linear-gradient(145deg,rgba(20,30,65,.94),rgba(11,17,42,.94));
  border-color:rgba(255,255,255,.09);
  box-shadow:0 18px 50px rgba(0,0,0,.22);
}
.fc:hover, .news-card:hover, .team-card:hover, .off-card:hover, .pres-card:hover {
  border-color:rgba(232,168,56,.3); box-shadow:var(--shadow);
}
.fi { background:rgba(152,31,57,.2); color:#e05a73; }
.step-circle { background:#8d2335; border-color:#070b1d; }
.news-section { background:#040713; }
.news-main { background:#111a3a; }
.news-feature { display:grid; grid-template-rows:260px 1fr; padding:0; overflow:hidden; color:inherit; text-decoration:none; border:1px solid rgba(255,255,255,.1); }
.news-feature-art { position:relative; overflow:hidden; background:linear-gradient(135deg,var(--navy-mid),var(--maroon)); }
.news-feature-art::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(7,11,29,.72),transparent 65%); }
.news-feature-art img { width:100%; height:100%; object-fit:contain; padding:1.5rem; transition:transform .8s cubic-bezier(.16,1,.3,1); }
.news-feature:hover .news-feature-art img { transform:scale(1.06) rotate(-1deg); }
.news-feature-copy { padding:clamp(1.4rem,3vw,2.3rem); }
.news-feature-label { display:inline-flex;align-items:center;gap:.55rem;color:#e05a73;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800; }
.news-feature-copy h3 { margin:.9rem 0 .65rem;color:#fff;font:700 clamp(1.45rem,3vw,2.2rem)/1.15 "Manrope";letter-spacing:-.035em; }
.news-feature-copy p { color:var(--text-muted);line-height:1.7; }
.news-feature-link { display:inline-flex;align-items:center;gap:.55rem;margin-top:1.2rem;color:#fff;font-weight:700; }
.news-feature-link i { transition:transform .35s; }.news-feature:hover .news-feature-link i { transform:translate(3px,-3px); }
.facebook-embed-wrap { padding:0; overflow:hidden; display:flex; flex-direction:column; min-height:650px; }
.facebook-embed-head { min-height:58px;padding:0 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(90deg,var(--maroon),var(--navy-mid));border-bottom:1px solid rgba(255,255,255,.1); }
.facebook-embed-head span { display:flex;align-items:center;gap:.55rem;color:#fff;font-weight:700;font-size:.82rem;letter-spacing:.04em; }
.facebook-embed-head a { color:rgba(255,255,255,.72);font-size:.75rem;text-decoration:none;transition:color .25s; }.facebook-embed-head a:hover{color:#fff}
.facebook-embed { display:block; width:100%; max-width:500px; min-height:600px; margin:0 auto; background:#fff; }
@media(max-width:600px){.facebook-embed-head{padding-inline:.8rem}.facebook-embed-head a{font-size:0}.facebook-embed-head a i{font-size:.8rem}.facebook-embed{height:560px;min-height:560px}.facebook-embed-wrap{min-height:618px}}
.off-info { background:#0d1430; }
.off-badge { background:#171f42; color:#e05a73; }
.adviser-grid { background:linear-gradient(135deg,#111a3a,#260b1a); }
.partners-section { background:#090e24; }
.spotify-section { background:#07170f; }
.partner-logo { opacity:.68; }
.help-card, .hbody, .ctile, .gr, .pol {
  background:rgba(13,20,48,.82); color:#f7f2e8; border-color:rgba(255,255,255,.09);
}
.help-tabs { background:#111a3a; }
.htab { color:rgba(247,242,232,.62); }
.htab.active { background:var(--maroon); color:#fff; }
.gr h6, .pol h5, .ctile h6, .team-name { color:#f7f2e8; }
.gr p, .pol p, .ctile p, .team-role, .team-desc { color:var(--text-muted); }
.cta-wrap { background:linear-gradient(135deg,#111a3a,#310b1c); border-color:rgba(255,255,255,.1); }
.cta-h { color:#f7f2e8; }
.cta-sub { color:var(--text-muted); }
.cta-feature { background:rgba(7,11,29,.52); border-color:rgba(255,255,255,.08); }
.team-avatar { background:#111a3a; }
footer { background:#03050d; }
.cursor-glow { background:radial-gradient(circle,rgba(174,44,68,.28),transparent 68%); }

/* Unified maroon actions */
.btn-login, .btn-h-p, .news-btn, .scroll-arrow, .htab.active,
.btn-outline:hover, button[type="submit"], input[type="submit"] {
  background:var(--grad-button) !important;
  border-color:transparent !important;
  color:#fff !important;
}
.btn-h-s:hover { background:var(--maroon) !important; border-color:var(--maroon) !important; color:#fff; }

/* Additional ambient motion */
.hero::before { animation:hero-panel-float 8s ease-in-out infinite; }
.hero-label { animation:label-breathe 3.5s ease-in-out infinite; }
.dash-live .dl-dot, .ann-dot { animation:status-pulse 1.8s ease-in-out infinite; }
.fi i { transition:transform .55s cubic-bezier(.16,1,.3,1); }
.fc:hover .fi i { transform:rotate(-8deg) scale(1.18); }
.step-circle { transition:transform .5s cubic-bezier(.16,1,.3,1), background .4s; }
.step-box:hover .step-circle { transform:translateY(-8px) rotate(6deg); background:var(--maroon-light); }
@keyframes hero-panel-float { 0%,100%{transform:translateX(10%) rotate(-2deg)} 50%{transform:translateX(8%) translateY(-12px) rotate(-1deg)} }
@keyframes label-breathe { 0%,100%{box-shadow:0 0 0 0 rgba(152,31,57,0)} 50%{box-shadow:0 0 0 8px rgba(152,31,57,.08)} }
@keyframes status-pulse { 0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(224,90,115,.4)} 50%{opacity:.55;box-shadow:0 0 0 7px rgba(224,90,115,0)} }

/* SSC Bot */
.ssc-bot-launcher {
  position:fixed; right:24px; bottom:24px; z-index:10010; width:62px; height:62px;
  border:0; border-radius:20px; color:#fff; cursor:pointer; background:var(--grad-button);
  box-shadow:0 18px 45px rgba(120,21,42,.46); font-size:1.35rem;
  display:grid; place-items:center; transition:transform .45s cubic-bezier(.16,1,.3,1), border-radius .35s;
  animation:bot-float 3.4s ease-in-out infinite;
}
.ssc-bot-launcher:hover { transform:translateY(-7px) scale(1.06); border-radius:50%; }
.ssc-bot-launcher::after {
  content:""; position:absolute; inset:-6px; border:1px solid rgba(224,90,115,.45); border-radius:25px;
  animation:bot-ring 2.2s ease-out infinite;
}
.ssc-bot-panel {
  position:fixed; right:24px; bottom:98px; z-index:10009; width:min(390px,calc(100vw - 28px));
  height:min(570px,calc(100vh - 130px)); display:flex; flex-direction:column; overflow:hidden;
  border:1px solid rgba(255,255,255,.12); border-radius:28px;
  background:linear-gradient(155deg,rgba(16,31,87,.98),rgba(7,11,29,.99) 58%,rgba(55,8,24,.98));
  box-shadow:0 28px 80px rgba(0,0,0,.55); backdrop-filter:blur(22px);
  opacity:0; visibility:hidden; transform:translateY(28px) scale(.94); transform-origin:bottom right;
  transition:opacity .4s, visibility .4s, transform .55s cubic-bezier(.16,1,.3,1);
}
.ssc-bot-panel.open { opacity:1; visibility:visible; transform:none; }
.bot-head { padding:18px 20px; display:flex; align-items:center; gap:12px; background:rgba(120,21,42,.32); border-bottom:1px solid rgba(255,255,255,.09); }
.bot-avatar { width:42px;height:42px;border-radius:14px;background:var(--maroon);display:grid;place-items:center;color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.2); }
.bot-title { flex:1; }.bot-title strong { display:block;color:#fff;font:700 .95rem "Manrope"; }.bot-title span { color:rgba(255,255,255,.58);font-size:.73rem; }
.bot-close { width:34px;height:34px;border:0;border-radius:11px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer; }
.bot-messages { flex:1; overflow:auto; padding:18px; display:flex; flex-direction:column; gap:12px; scrollbar-width:thin; }
.bot-message { max-width:84%; padding:11px 14px; border-radius:17px; font-size:.87rem; line-height:1.5; animation:message-in .45s cubic-bezier(.16,1,.3,1) both; }
.bot-message.bot { align-self:flex-start; color:rgba(255,255,255,.82); background:rgba(255,255,255,.08); border-bottom-left-radius:5px; }
.bot-message.user { align-self:flex-end; color:#fff; background:var(--maroon); border-bottom-right-radius:5px; }
.bot-typing { display:flex; gap:4px; align-items:center; }.bot-typing i { width:5px;height:5px;border-radius:50%;background:#e05a73;animation:typing 1s infinite alternate; }.bot-typing i:nth-child(2){animation-delay:.18s}.bot-typing i:nth-child(3){animation-delay:.36s}
.bot-suggestions { display:flex; gap:7px; overflow-x:auto; padding:0 18px 12px; scrollbar-width:none; }
.bot-chip { flex:0 0 auto; border:1px solid rgba(224,90,115,.34); border-radius:999px; background:rgba(120,21,42,.17); color:#f2a4b4; padding:7px 11px; font:600 .72rem "DM Sans"; cursor:pointer; }
.bot-form { display:flex; gap:8px; padding:14px; border-top:1px solid rgba(255,255,255,.09); background:rgba(3,8,34,.46); }
.bot-input { min-width:0; flex:1; border:1px solid rgba(255,255,255,.1); outline:0; border-radius:14px; padding:11px 13px; background:rgba(255,255,255,.07); color:#fff; font:inherit; }
.bot-input:focus { border-color:var(--maroon-light); box-shadow:0 0 0 3px rgba(152,31,57,.14); }.bot-input::placeholder{color:rgba(255,255,255,.38)}
.bot-send { width:43px;border:0;border-radius:13px;background:var(--maroon);color:#fff;cursor:pointer; }
@keyframes bot-float { 0%,100%{translate:0 0}50%{translate:0 -7px} }
@keyframes bot-ring { 0%{opacity:.7;transform:scale(.9)}100%{opacity:0;transform:scale(1.2)} }
@keyframes message-in { from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none} }
@keyframes typing { to{opacity:.25;transform:translateY(-3px)} }
@media(max-width:600px){.ssc-bot-launcher{right:14px;bottom:14px}.ssc-bot-panel{right:14px;bottom:86px;height:min(560px,calc(100vh - 105px))}}

/* 2026–2027 officers showcase */
.ssc-officers-section { position:relative; overflow:hidden; isolation:isolate; }
.ssc-officers-section::before,
.ssc-officers-section::after {
  content:""; position:absolute; z-index:-1; border-radius:50%; pointer-events:none; filter:blur(2px);
}
.ssc-officers-section::before {
  width:460px; height:460px; right:-180px; top:180px;
  background:radial-gradient(circle,rgba(152,31,57,.22),rgba(152,31,57,0) 68%);
  animation:officers-ambient 9s ease-in-out infinite;
}
.ssc-officers-section::after {
  width:360px; height:360px; left:-170px; top:48%;
  border:1px solid rgba(224,90,115,.12); box-shadow:0 0 0 54px rgba(36,59,123,.05),0 0 0 108px rgba(224,90,115,.035);
  animation:officers-spin 28s linear infinite;
}
.officers-graphic {
  position:relative; width:min(100%,760px); height:300px; margin:3.4rem auto 4rem;
  display:grid; place-items:center; border:1px solid rgba(255,255,255,.08); border-radius:42px;
  overflow:hidden; background:radial-gradient(circle at 50% 50%,rgba(152,31,57,.22),transparent 34%),linear-gradient(145deg,rgba(17,26,58,.88),rgba(5,9,27,.72));
  box-shadow:inset 0 1px rgba(255,255,255,.06),0 28px 70px rgba(0,0,0,.28);
}
.officers-graphic::before {
  content:""; position:absolute; inset:0; opacity:.25;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:34px 34px; mask-image:radial-gradient(circle,#000,transparent 74%);
}
.officers-crest {
  position:relative; z-index:3; width:150px; height:150px; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:rgba(7,11,29,.88); border:1px solid rgba(224,90,115,.38); box-shadow:0 0 55px rgba(152,31,57,.34); text-align:center;
}
.officers-crest img { position:absolute; width:118px; height:118px; object-fit:contain; opacity:.13; filter:grayscale(1); }
.officers-crest strong { position:relative; color:#fff; font:800 2.8rem/1 "Manrope"; letter-spacing:-.07em; }
.officers-crest small { position:relative; margin-top:.35rem; color:#ed7890; font-size:.62rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.crest-ring { position:absolute; inset:-10px; border:1px dashed rgba(224,90,115,.45); border-radius:50%; animation:officers-spin 16s linear infinite; }
.officers-orbit { position:absolute; border:1px solid rgba(255,255,255,.12); border-radius:50%; animation:officers-spin 20s linear infinite; }
.orbit-one { width:230px; height:230px; }
.orbit-two { width:340px; height:340px; animation-duration:30s; animation-direction:reverse; }
.officers-orbit i { position:absolute; color:#e05a73; font-size:.55rem; filter:drop-shadow(0 0 7px #e05a73); }
.orbit-one i:first-child { top:16%; left:7%; }.orbit-one i:last-child { right:5%; bottom:20%; }
.orbit-two i:first-child { top:5%; left:50%; }.orbit-two i:nth-child(2) { right:4%; top:56%; }.orbit-two i:last-child { left:9%; bottom:17%; }
.officers-metric { position:absolute; z-index:4; display:flex; align-items:center; gap:.65rem; padding:.72rem 1rem; border:1px solid rgba(255,255,255,.1); border-radius:15px; background:rgba(13,20,48,.82); backdrop-filter:blur(12px); box-shadow:0 12px 30px rgba(0,0,0,.2); animation:metric-float 4s ease-in-out infinite; }
.officers-metric strong { color:#fff; font:800 1.35rem "Manrope"; }.officers-metric span { color:var(--text-muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; }
.metric-colleges { left:8%; top:19%; }.metric-branches { right:8%; bottom:18%; animation-delay:-2s; }
.officers-group-title { margin:3.4rem 0 .35rem; display:flex; align-items:center; gap:1rem; }
.officers-group-title > span { width:44px; height:44px; flex:0 0 44px; display:grid; place-items:center; border-radius:14px; color:#ed7890; background:rgba(152,31,57,.2); border:1px solid rgba(224,90,115,.23); font:800 .78rem "Manrope"; }
.officers-group-title div { flex:1; }.officers-group-title small { display:block; margin-bottom:.2rem; color:var(--text-muted); font-size:.62rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.officers-group-title h3 { margin:0; color:#fff; font:750 clamp(1.2rem,2.4vw,1.65rem)/1.1 "Manrope"; letter-spacing:-.035em; }
.officers-group-title > i { color:rgba(224,90,115,.35); font-size:1.6rem; }
.ssc-officers-section .off-card { position:relative; }
.ssc-officers-section .off-card::after { content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; opacity:0; background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.12) 48%,transparent 70%); transform:translateX(-100%); transition:opacity .25s; }
.ssc-officers-section .off-card:hover::after { opacity:1; animation:officer-shine .9s ease-out; }
.ssc-officers-section .off-photo img { transition:transform .8s cubic-bezier(.16,1,.3,1),filter .6s; }
.ssc-officers-section .off-card:hover .off-photo img { transform:scale(1.07); filter:saturate(1.1) contrast(1.04); }
.ssc-officers-section .off-card.officer-motion { opacity:0; transform:translateY(36px) scale(.94); }
.ssc-officers-section .off-card.officer-motion.is-visible { opacity:1; transform:none; transition:opacity .7s ease,transform .8s cubic-bezier(.16,1,.3,1); transition-delay:var(--officer-delay,0ms); }
@keyframes officers-spin { to{transform:rotate(360deg)} }
@keyframes officers-ambient { 0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-35px,28px,0) scale(1.12)} }
@keyframes metric-float { 0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)} }
@keyframes officer-shine { from{transform:translateX(-100%)}to{transform:translateX(100%)} }
@media(max-width:600px){
  .officers-graphic { height:250px; margin:2.5rem auto 3rem; border-radius:28px; }
  .orbit-two { width:285px; height:285px; }.orbit-one { width:205px; height:205px; }
  .officers-crest { width:128px; height:128px; }.officers-crest strong { font-size:2.35rem; }
  .metric-colleges { left:4%; top:8%; }.metric-branches { right:4%; bottom:7%; }
  .officers-metric { padding:.55rem .7rem; }.officers-metric strong { font-size:1rem; }.officers-metric span { font-size:.56rem; }
  .officers-group-title { margin-top:2.7rem; }.officers-group-title > i { display:none; }
}
@media(prefers-reduced-motion:reduce){
  .ssc-officers-section::before,.ssc-officers-section::after,.officers-orbit,.crest-ring,.officers-metric { animation:none !important; }
  .ssc-officers-section .off-card.officer-motion { opacity:1; transform:none; }
}

/* Leadership network animation */
.officers-network { position:absolute; inset:0; }
.network-lines { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.network-lines path {
  fill:none; stroke:rgba(224,90,115,.42); stroke-width:1.5; stroke-linecap:round;
  stroke-dasharray:5 12; animation:network-flow 2.8s linear infinite;
  filter:drop-shadow(0 0 5px rgba(224,90,115,.45));
}
.network-lines path:nth-child(2) { animation-delay:-.7s; }
.network-lines path:nth-child(3) { animation-delay:-1.4s; }
.network-lines path:nth-child(4) { animation-delay:-2.1s; }
.network-signal {
  position:absolute; left:50%; top:50%; width:172px; height:172px; border:1px solid rgba(224,90,115,.45);
  border-radius:50%; transform:translate(-50%,-50%); animation:network-pulse 2.6s ease-out infinite;
}
.network-signal::before,.network-signal::after {
  content:""; position:absolute; inset:0; border:1px solid rgba(224,90,115,.35); border-radius:50%; animation:network-pulse 2.6s ease-out infinite;
}
.network-signal::before { animation-delay:-.85s; }.network-signal::after { animation-delay:-1.7s; }
.officers-network .officers-crest { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); animation:crest-hover 4s ease-in-out infinite; }
.network-node {
  position:absolute; z-index:5; min-width:142px; display:flex; align-items:center; gap:.7rem; padding:.72rem .85rem;
  color:#fff; border:1px solid rgba(255,255,255,.12); border-radius:17px;
  background:linear-gradient(145deg,rgba(28,41,86,.96),rgba(12,18,45,.94));
  box-shadow:0 14px 34px rgba(0,0,0,.3); animation:node-drift 4.8s ease-in-out infinite;
}
.network-node::after { content:""; position:absolute; width:7px; height:7px; border-radius:50%; background:#e05a73; box-shadow:0 0 0 0 rgba(224,90,115,.45); animation:node-beacon 1.8s ease-out infinite; }
.network-node i { width:30px; height:30px; display:grid; place-items:center; border-radius:10px; color:#ed7890; background:rgba(152,31,57,.25); }
.network-node span { color:rgba(255,255,255,.58); font-size:.65rem; letter-spacing:.08em; text-transform:uppercase; }
.network-node b { display:block; color:#fff; font:800 1rem "Manrope"; letter-spacing:0; }
.node-executive { left:8%; top:13%; }.node-executive::after { right:-4px; bottom:-4px; }
.node-senate { right:7%; top:15%; animation-delay:-1.2s; }.node-senate::after { left:-4px; bottom:-4px; }
.node-house { left:6%; bottom:12%; animation-delay:-2.4s; }.node-house::after { right:-4px; top:-4px; }
.node-divisions { right:5%; bottom:14%; animation-delay:-3.6s; }.node-divisions::after { left:-4px; top:-4px; }
.ssc-officers-section .off-card.officer-motion { opacity:0; transform:translateX(var(--officer-x)) rotateY(7deg) scale(.97); }
.ssc-officers-section .off-card.officer-motion.is-visible { opacity:1; transform:none; }
@keyframes network-flow { to{stroke-dashoffset:-34} }
@keyframes network-pulse { 0%{opacity:.7;transform:translate(-50%,-50%) scale(.55)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.65)} }
@keyframes crest-hover { 0%,100%{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-7px)} }
@keyframes node-drift { 0%,100%{translate:0 0}50%{translate:0 -7px} }
@keyframes node-beacon { 0%{box-shadow:0 0 0 0 rgba(224,90,115,.55)}100%{box-shadow:0 0 0 12px rgba(224,90,115,0)} }
@media(max-width:600px){
  .network-lines { opacity:.65; }
  .network-node { min-width:0; padding:.55rem; border-radius:13px; }
  .network-node i { width:27px; height:27px; }.network-node span { display:none; }
  .node-executive { left:7%; top:13%; }.node-senate { right:7%; top:13%; }
  .node-house { left:7%; bottom:13%; }.node-divisions { right:7%; bottom:13%; }
}
@media(prefers-reduced-motion:reduce){
  .network-lines path,.network-signal,.network-signal::before,.network-signal::after,
  .officers-network .officers-crest,.network-node,.network-node::after { animation:none !important; }
}
