:root{
      --bg:#0b1f3a;          /* deep blue */
      --bg-2:#0f2a52;        /* darker blue */
      --ink:#102a43;         /* slate ink */
      --ink-2:#334e68;       /* muted ink */
      --muted:#8899aa;       
      --brand:#2f7df6;       /* bright blue */
      --brand-2:#1a57c7;     /* darker brand */
      --paper:#ffffff;       
      --paper-2:#f5f7fb;     
      --accent:#e9eef8;      
      --radius:16px;
      --shadow:0 6px 28px rgba(16,42,67,.08), 0 2px 6px rgba(16,42,67,.06);
    }
    *,*::before,*::after{box-sizing:border-box}
    html,body{height:100%}
    body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;color:var(--ink);background:var(--paper)}
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    .container{max-width:1180px;margin:0 auto;padding:0 16px}

    /* ===== Header ===== */
    .site-header{position:sticky;top:0;z-index:30;background:linear-gradient(180deg,var(--bg),var(--bg-2));color:#fff;box-shadow:var(--shadow)}
    .site-top{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:18px 0}
    .brand{display:flex;gap:1px;align-items:center}
    .brand-logo{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(from 200deg at 50% 50%,#5aa0ff 0 50%,#1f5fd4 50% 100%);color:#fff;font-weight:800}
    .brand-title{line-height:1.15}
    .brand-title b{display:block;font-size:24px;letter-spacing:.2px}
    .brand-title small{opacity:.85;font-weight:500}

    .primary-actions{display:none;gap:12px;align-items:center}
    .search{position:relative;width:380px}
    .search input{width:100%;padding:10px 92px 10px 40px;border-radius:999px;border:1px solid #2a4d8a;background:rgba(255,255,255,.1);color:#eef4ff;outline:none}
    .search input::placeholder{color:#c9dbff}
    .search .btn{position:absolute;right:4px;top:4px;height:34px;padding:0 12px}
    .search .icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);opacity:.9}

    .btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:10px 16px;font-weight:600;cursor:pointer;transition:.2s background,.2s transform}
    .btn:active{transform:translateY(1px)}
    .btn.primary{background:#fff;color:var(--bg)}
    .btn.ghost{background:transparent;color:#f60e0e;border:1px solid #3d66b0}
    .btn.brand{background:var(--brand);color:#fff}
    .btn.brand:hover{background:var(--brand-2)}

    .site-nav {
      background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0));
      border-top: 1px solid rgba(255,255,255,0.15);
      border-bottom: 2px solid rgba(47,125,246,0.6);
      box-shadow: inset 0 -1px 0 rgba(255,255,255,0.08);
    }

    .nav-row a {
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,0.08);
    transition: background 0.25s, transform 0.25s;
    }

    .nav-row a:hover {
    background: rgba(47,125,246,0.25);
    transform: translateY(-2px);
    }
    .nav-row{display:flex;flex-wrap:wrap;gap:14px;padding:10px 0;font-weight:600;font-size:16px}
    .nav-row a{opacity:.92}
    .nav-row a:hover{opacity:1;text-decoration:underline}


    /* ===== Hero ===== */
    .hero {
  position: relative;
  height: 420px;   /* or 400px like before */
  overflow: hidden;
}
.hero .slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
    .hero .slide.active{
  opacity:1;
  /* was 12s; make it quicker so you see the zoom before the slide changes */
  animation:kb 4.5s ease-in-out forwards;
}
    .hero .shade{position:absolute;inset:0;background:linear-gradient(190deg,rgba(11,31,58,.72),rgba(11,31,58,.42) 40%,rgba(11,31,58,.18));z-index:1}
    .hero .content{position:relative;z-index:2;display:flex;height:100%;align-items:center}
    .hero h1{color:#fff;font-size:40px;max-width:820px;margin:0}
    .hero p{color:#e6f0ff;max-width:620px;margin:14px 0 0}
    .cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}

    /* ===== Sections ===== */
    section{scroll-margin-top:84px}
    .tiles {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 14px;
}

.tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 18px 12px;
  border-radius: 16px;
  font-weight: 700;
  text-align: center;
  color: #fff;
  cursor: pointer;
  position: relative;
  overflow: hidden;

  /* blend with banner: deep → lighter navy */
  background: linear-gradient(145deg, #0b1f3a, #0f2a52 70%, #1c3668);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.35s ease;
}

.tile span.icon {
  font-size: 22px;
  line-height: 1;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  padding: 6px 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.tile:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
  background: linear-gradient(145deg, #102a43, #163b66 75%, #21508f);
}






    .band {
  background: #e5eef9;   /* light blue */
  padding: 12px 0;
}

    .h2{font-size:28px;margin:0 0 14px;color:var(--bg)}
    .subtle-link{color:var(--brand);font-weight:700}

    .archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
    .archive-card{background:var(--paper-2);border:1px solid var(--accent);border-radius:14px;padding:16px;font-weight:600}

    .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
    .step{background:var(--paper);border:1px solid var(--accent);border-radius:14px;padding:18px;box-shadow:var(--shadow)}

    .board{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
    .card{background:var(--paper);border:1px solid var(--accent);border-radius:14px;padding:16px;box-shadow:0 2px 10px rgba(16,42,67,.05)}
    .card h3{margin:0 0 6px;color:var(--bg)}
    .small{color:#4a5568;font-size:14px}

    .news{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
    .news article{border:1px solid var(--accent);border-radius:14px;overflow:hidden;background:var(--paper);transition:transform .2s}
    .news article:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
    .news .pad{padding:16px}

    .metrics{background:linear-gradient(90deg,var(--brand-2),var(--bg));color:#fff}
    .metrics .row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center}
    .metric b{font-size:28px;display:block}
    .metric small{opacity:.85}

    .events{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
    .event{background:var(--paper-2);border:1px solid var(--accent);padding:20px;border-radius:14px}

    .contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}
    form.grid{display:grid;gap:10px}
    input,textarea{font:inherit;border:1px solid #cfd8e3;border-radius:12px;padding:10px}
    textarea{resize:vertical}

    .partners{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center}
    .partner{background:var(--paper-2);border:1px solid var(--accent);border-radius:14px;padding:22px;font-weight:700}

    /* Special issues marquee */
    .marquee-wrap{overflow:hidden;border:1px solid var(--accent);border-radius:14px;background:var(--paper)}
    .marquee{display:flex;gap:14px;padding:14px;animation:marquee 25s linear infinite}
    .si {
  min-width: 320px;
  max-width: 360px;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.si .pad {
  flex-grow: 1;
}

    .si img {
  width: 100%;
  height: 150px;        /* or 180px if you want taller */
  object-fit: cover;    /* ensures all images fill evenly */
  display: block;
}


    @keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

    /* Footer */
    .site-footer{background:linear-gradient(180deg,var(--bg),#081830);color:#d6e3ff;margin-top:40px}
    .footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:40px 0}
    .site-footer h4{margin:0 0 10px;color:#fff}
    .foot-bottom{border-top:1px solid rgba(255,255,255,.12);text-align:center;font-size:12px;padding:14px 0}

    /* Icons (inline) */
    .icon{width:18px;height:18px;fill:currentColor}

    /* Responsive */
    @media (max-width:1024px){
      .primary-actions{display:flex}
      .search{width:320px}
      .steps{grid-template-columns:repeat(2,1fr)}
      .board,.news,.events{grid-template-columns:repeat(2,1fr)}
      .contact-grid{grid-template-columns:1fr}
    }
    @media (max-width:640px){
      .nav-row{gap:10px}
      .hero{height:380px}
      .hero h1{font-size:28px}
      .tiles{grid-template-columns:repeat(2,1fr)}
      .archive-grid{grid-template-columns:1fr}
      .steps{grid-template-columns:1fr}
      .board,.news,.events,.partners,.metrics .row{grid-template-columns:1fr}
      .footer-grid{grid-template-columns:1fr}
      .search{display:none}
    }

    /* === ARCHIVES 2.0 === */
.archives-wrap{position:relative}
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.filter-btn{
  border:1px solid var(--accent); background:var(--paper);
  border-radius:999px; padding:8px 12px; font-weight:700; cursor:pointer;
  transition:transform .15s, background .2s, color .2s, border-color .2s; user-select:none
}
.filter-btn:hover{transform:translateY(-1px)}
.filter-btn.active{background:var(--brand);color:#fff;border-color:transparent}

.archive-grid.fx{
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px;
}
.issue{
  position:relative; border-radius:16px; overflow:hidden;
  background:
    radial-gradient(110% 60% at 120% -10%, rgba(47,125,246,.18), transparent 40%),
    radial-gradient(100% 60% at -20% 110%, rgba(26,87,199,.18), transparent 40%),
    var(--paper-2);
  border:1px solid var(--accent);
  box-shadow:0 1px 0 rgba(16,42,67,.06), 0 8px 20px rgba(16,42,67,.05);
  transition:transform .18s ease, box-shadow .18s ease, border-color .2s ease;
  display:grid; grid-template-rows:auto 1fr auto;
}
.issue:hover{
  transform:translateY(-3px);
  box-shadow:0 6px 28px rgba(16,42,67,.12), 0 2px 8px rgba(16,42,67,.08);
  border-color:rgba(47,125,246,.25);
}
.issue .bar{
  height:6px;
  background:linear-gradient(90deg,#5aa0ff, #2f7df6 40%, #1a57c7);
}
.issue .pad{padding:14px 14px 10px}
.issue h3{margin:4px 0 6px; font-size:18px; color:var(--bg)}
.issue .meta{
  display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:12px; color:var(--ink-2)
}
.badge{
  font-size:11px; font-weight:800; letter-spacing:.3px; text-transform:uppercase;
  background:linear-gradient(90deg, #e9eef8, #dfe9ff);
  border:1px solid var(--accent); color:var(--brand-2);
  padding:5px 8px; border-radius:999px;
}
.kicker{
  display:inline-flex; align-items:center; gap:6px;
  font-size:12px; color:#0b1f3a; background:#e5eef9; border:1px solid #d2e4ff;
  padding:4px 8px; border-radius:8px;
}
.issue .cta{
  display:flex; justify-content:space-between; align-items:center;
  padding:12px 14px; border-top:1px dashed var(--accent);
}
.issue .cta .link{
  font-weight:800; color:var(--brand); text-decoration:none;
}
.issue .cta .link:hover{text-decoration:underline}
.rainbow{
  position:absolute; inset:auto -30% -30% auto; width:160px; height:160px; opacity:.18;
  background:conic-gradient(from 220deg,#2f7df6, #1a57c7, #5aa0ff, #2f7df6);
  filter:blur(10px); transform:rotate(8deg);
}

/* tiny “ticket notch” vibe */
.issue::before, .issue::after{
  content:""; position:absolute; top:46%; width:12px; height:12px; background:var(--paper);
  border:1px solid var(--accent); transform:rotate(45deg);
}
.issue::before{left:-7px}
.issue::after{right:-7px}

/* responsive */
@media (max-width:1024px){ .archive-grid.fx{grid-template-columns:repeat(3,1fr)} }
@media (max-width:640px){ .archive-grid.fx{grid-template-columns:1fr} }


/* === Submission Workflow – Progressive Stepper === */
.flow-wrap{position:relative; isolation:isolate;}
.flow-head{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px}
.flow-sub{color:var(--ink-2); font-size:14px}

.flow{
  --connector: linear-gradient(90deg, var(--brand-2), var(--brand), #5aa0ff);
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px; counter-reset: step;
  position:relative; padding-top:8px;
}
.flow::before{
  /* the glowing line that connects the steps */
  content:""; position:absolute; left:0; right:0; top:58px; height:6px;
  background:var(--connector);
  border-radius:999px; opacity:.18;
  box-shadow:0 0 0 1px rgba(47,125,246,.06), 0 0 22px rgba(47,125,246,.35);
  z-index:0;
}

/* step card */
.flow-step{
  position:relative; z-index:1; background:var(--paper);
  border:1px solid var(--accent); border-radius:16px; padding:16px 14px 14px;
  box-shadow:0 4px 16px rgba(16,42,67,.06);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.flow-step:hover{
  transform:translateY(-4px);
  box-shadow:0 10px 26px rgba(16,42,67,.12);
  border-color:rgba(47,125,246,.35);
}

/* step header with number bubble and icon */
.flow-top{display:flex; align-items:center; gap:10px; margin-bottom:8px}
.step-num{
  position:relative; width:42px; height:42px; border-radius:50%;
  display:grid; place-items:center; font-weight:900; color:#fff;
  background: radial-gradient(120% 120% at 30% 20%, #5aa0ff 0 35%, var(--brand) 35% 70%, var(--brand-2) 70%);
  box-shadow:0 6px 18px rgba(47,125,246,.35);
}
.step-num::after{
  /* small pulse ring */
  content:""; position:absolute; inset:-3px; border-radius:inherit; border:2px solid rgba(47,125,246,.35);
  opacity:.6; filter:blur(.2px);
}
.step-ico{
  width:32px; height:32px; border-radius:10px;
  display:grid; place-items:center; color:var(--brand);
  background:linear-gradient(145deg,#eaf1ff,#dfe9ff); border:1px solid #d2e0ff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}

/* title + caption */
.flow h3{margin:0; font-size:16px; color:var(--bg)}
.flow .small{color:var(--ink-2)}

/* connector dots beneath each bubble for extra clarity */
.flow-step::before{
  content:""; position:absolute; left:50%; transform:translateX(-50%);
  top:62px; width:12px; height:12px; border-radius:50%;
  background:#fff; border:2px solid rgba(47,125,246,.45); z-index:2;
}

/* completed shine effect (on scroll / load) */
.flow-step.revealed{
  animation:popIn .5s ease both;
}
@keyframes popIn{
  from{transform:translateY(8px) scale(.98); opacity:.0}
  to{transform:translateY(0) scale(1); opacity:1}
}

/* responsive */
@media (max-width:1024px){
  .flow{grid-template-columns:repeat(2,1fr)}
  .flow::before{top:60px}
}
@media (max-width:640px){
  .flow{grid-template-columns:1fr}
  .flow::before{display:none} /* line off on stacked layout */
  .flow-step::before{display:none}
}

/* Respect reduced motion */
@media (prefers-reduced-motion:reduce){
  .flow-step, .flow-step.revealed{animation:none}
  .flow-step:hover{transform:none}
}

/* === Editorial Board — Aurora Cards === */
.board-wrap { position: relative; margin-top: 6px; }
.board-wrap::before{
  /* soft aurora stripe at the top */
  content:""; position:absolute; inset:-28px 0 auto 0; height:42px;
  background: radial-gradient(60% 100% at 20% 100%, rgba(47,125,246,.35), transparent 55%),
              radial-gradient(60% 100% at 80% 0%, rgba(26,87,199,.30), transparent 55%);
  filter: blur(10px); opacity:.6; pointer-events:none;
}

.board-head{
  display:flex; align-items:end; justify-content:space-between; gap:12px; margin-bottom:14px
}
.board-sub{color:var(--ink-2); font-size:14px}

.board-pro{
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px;
}

.member{
  --ring: conic-gradient(from 220deg, #5aa0ff, var(--brand), var(--brand-2), #5aa0ff);
  position:relative; overflow:hidden; border-radius:18px;
  background: linear-gradient(145deg, var(--paper), var(--paper-2));
  border:1px solid var(--accent);
  box-shadow:0 4px 16px rgba(16,42,67,.06);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  transform-style: preserve-3d;
}
.member:hover{
  transform: translateY(-6px);
  box-shadow: 0 14px 34px rgba(16,42,67,.18);
  border-color: rgba(47,125,246,.35);
}

.member .glow{
  position:absolute; inset:-40% -20% auto -20%; height:70%;
  background: radial-gradient(40% 60% at 20% 50%, rgba(47,125,246,.18), transparent 60%),
              radial-gradient(30% 40% at 80% 20%, rgba(26,87,199,.12), transparent 70%);
  filter: blur(18px); opacity:.75; pointer-events:none;
}

.mpad{ padding:16px; position:relative; z-index:1 }

.ribbon{
  position:absolute; right:10px; top:10px; z-index:2;
  padding:6px 10px; border-radius:12px;
  background: linear-gradient(145deg, #e9eef8, #dfe9ff);
  border:1px solid #d2e0ff; color:var(--brand-2); font-weight:800; font-size:11px;
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset;
}

.avatar{
  position:relative; width:64px; height:64px; border-radius:50%;
  margin-bottom:10px;
  background: var(--paper);
  display:grid; place-items:center;
}
.avatar::before{
  /* gradient ring */
  content:""; position:absolute; inset:-2px; border-radius:inherit; padding:2px;
  background: var(--ring);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  border-radius:inherit;
}
.avatar img{ width:100%; height:100%; object-fit:cover; border-radius:50% }
.avatar .ini{
  width:100%; height:100%; display:grid; place-items:center; border-radius:50%;
  color:#fff; font-weight:900; letter-spacing:.5px;
  background: linear-gradient(145deg, var(--brand), var(--brand-2));
}

.member h3{ margin:2px 0 2px; font-size:17px; color:var(--bg) }
.role{ color:var(--ink-2); font-size:13px }

.tags{ display:flex; flex-wrap:wrap; gap:6px; margin-top:10px }
.tag{
  font-size:11px; font-weight:700; padding:6px 8px; border-radius:999px;
  background: linear-gradient(145deg, #f1f5ff, #e6eeff);
  border:1px solid #d6e4ff; color:var(--brand-2);
}

.actions{ display:flex; gap:10px; margin-top:12px }
.act{
  font-weight:800; font-size:12px; padding:8px 10px; border-radius:10px; text-decoration:none;
  background:#eaf1ff; border:1px solid #d7e4ff; color:var(--brand-2);
}
.act:hover{ background:#dfe9ff }

.member .badge{
  position:absolute; left:-22px; top:14px; transform:rotate(-12deg);
  font-size:10px; font-weight:900; letter-spacing:.6px; text-transform:uppercase;
  color:#fff; padding:6px 22px; border-radius:10px;
  background: linear-gradient(145deg, #ff8a5a, #ff6b6b);
  box-shadow:0 6px 14px rgba(255,120,96,.25);
}

/* tilt depth for inner content */
.tilt-depth{ transform: translateZ(20px) }

/* responsive */
@media (max-width:1024px){ .board-pro{ grid-template-columns:repeat(2,1fr) } }
@media (max-width:640px){ .board-pro{ grid-template-columns:1fr } }

/* reduced motion */
@media (prefers-reduced-motion:reduce){
  .member:hover{ transform:none }
}

/* === EVENTS – Premium Cards (no JS) === */
.events-pro{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

.ev{
  position:relative;
  border-radius:16px;
  background:linear-gradient(145deg,var(--paper),var(--paper-2));
  border:1px solid var(--accent);
  box-shadow:0 4px 14px rgba(16,42,67,.06);
  overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.ev:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 26px rgba(16,42,67,.14);
  border-color:rgba(47,125,246,.28);
}

/* top accent bar that ties to banner blues */
.ev::before{
  content:"";
  display:block;
  height:6px;
  background:linear-gradient(90deg,#0b1f3a,#1a57c7 55%, #2f7df6);
}

/* content area */
.ev-body{ padding:14px 16px 16px }

/* title row */
.ev-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px }
.ev h3{ margin:0; font-size:18px; color:var(--bg); letter-spacing:.2px }

/* compact chips */
.ev-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px }
.chip{
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 10px; border-radius:999px; font-size:12px; font-weight:700;
  background:linear-gradient(145deg,#edf3ff,#e3ecff);
  border:1px solid #d6e4ff; color:var(--brand-2);
}
.chip.dark{
  background:linear-gradient(145deg,#0f2a52,#1c3668);
  border-color:rgba(255,255,255,.12);
  color:#fff;
}

/* small meta text */
.ev .small{ color:var(--ink-2) }

/* optional footer link style */
.ev-foot{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:12px 16px; border-top:1px dashed var(--accent);
}
.ev-link{
  font-weight:800; color:var(--brand); text-decoration:none;
}
.ev-link:hover{ text-decoration:underline }

/* responsive */
@media (max-width:1024px){ .events-pro{ grid-template-columns:repeat(2,1fr) } }
@media (max-width:640px){ .events-pro{ grid-template-columns:1fr } }


/* === Partners — Inline SVG Wordmarks (no external requests) === */
.partners{
  display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:12px;
}
.partner{
  display:flex; align-items:center; justify-content:center; gap:10px;
  border-radius:16px; padding:22px;
  background:linear-gradient(145deg,#f9fbff,#edf3ff);
  border:1px solid #d6e4ff;
  box-shadow:0 4px 14px rgba(16,42,67,.06);
  transition:transform .25s, box-shadow .25s, border-color .25s, background .35s;
  overflow:hidden; position:relative;
}
.partner::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(120deg, rgba(47,125,246,.10), rgba(255,255,255,0) 40%);
  pointer-events:none;
}
.partner:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 28px rgba(16,42,67,.18);
  border-color:rgba(47,125,246,.35);
  background:linear-gradient(145deg,#e9f0ff,#dce8ff);
}
/* make svg scale nicely */
.partner svg{ width:140px; height:auto; display:block }

/* responsive */
@media (max-width:1024px){ .partners{grid-template-columns:repeat(2,1fr)} }
@media (max-width:640px){ .partners{grid-template-columns:1fr} }

/* === HERO SLIDER (fade + Ken Burns) === */
.hero{
  position:relative;
  height:320px;          /* adjust if you like */
  overflow:hidden;
  background:#081830;    /* fallback while images load */
}
.hero .slide{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  opacity:0;
  transform:scale(1) translateZ(0);   /* GPU hint */
  transition:opacity .9s ease;
  will-change:opacity, transform;
}

/* BIGGER, FASTER ZOOM */
.hero .slide.active{
  opacity:1;
  animation:kb 4s ease-in-out forwards; /* duration */
}

/* primary direction */
@keyframes kb{
  0%   { transform:scale(1) translate(0,0) }
  100% { transform:scale(1.28) translate(2.2%,-2.2%) } /* more zoom */
}

/* alternate direction + different pivot for variety */
.hero .slide:nth-of-type(2){ transform-origin: 20% 35%; }
.hero .slide:nth-of-type(2).active{ animation-name:kb2 }
@keyframes kb2{
  0%   { transform:scale(1) translate(0,0) }
  100% { transform:scale(1.28) translate(-2%,1.8%) }
}

/* third slide pivot */
.hero .slide:nth-of-type(3){ transform-origin: 80% 60%; }





@keyframes kenburns{
  0%   { transform:scale(1) translate(0,0) }
  100% { transform:scale(1.08) translate(1.2%,-1.2%) }
}
/* alternate direction for variety */
.hero .slide:nth-of-type(2).active{ animation-name:kb2 }
.hero .slide:nth-of-type(3).active{ animation-name:kenburns }
@keyframes kenburns-alt{
  0%   { transform:scale(1) translate(0,0) }
  100% { transform:scale(1.08) translate(-1%,1%) }
}

/* gradient shade over images (if not already in your CSS) */
.hero .shade{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(190deg,rgba(11,31,58,.72),rgba(11,31,58,.42) 40%,rgba(11,31,58,.18));
}

/* content sits above the shade */
.hero .content{ position:relative; z-index:2; display:flex; height:100%; align-items:center }

/* dots/pagination */
.hero .dots{
  position:absolute; left:50%; bottom:16px; transform:translateX(-50%);
  display:flex; gap:8px; z-index:3;
}
.hero .dots button{
  width:10px; height:10px; border-radius:50%;
  border:1px solid rgba(255,255,255,.7);
  background:rgba(255,255,255,.25);
  padding:0; cursor:pointer;
  transition:transform .2s, background .2s;
}
.hero .dots button[aria-current="true"]{
  background:#fff; transform:scale(1.2);
}

/* motion accessibility */
@media (prefers-reduced-motion: reduce){
  .hero .slide{ transition:none }
  .hero .slide.active{ animation:none }
}
@media (max-width:640px){
  .hero{ height:260px }
}