:root{
    --navy:#162447; --navy-deep:#0f1b33; --red:#A8202F; --red-dark:#8a1925;
    --ink:#1a1f2b; --gray:#5b6472; --line:#e3e6ec; --bg:#f5f6f9; --white:#fff;
    --maxw:1180px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased}
  img{display:block;max-width:100%}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  h1,h2,h3{line-height:1.15;font-weight:800;letter-spacing:-.02em}
  .eyebrow{font-size:.8rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--red)}
  .btn{display:inline-block;font-weight:800;padding:14px 26px;border-radius:6px;font-size:.95rem;letter-spacing:.01em;transition:.18s;cursor:pointer;border:2px solid transparent}
  .btn-red{background:var(--red);color:#fff}
  .btn-red:hover{background:var(--red-dark)}
  .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
  .btn-ghost:hover{background:#fff;color:var(--navy)}
  .btn-navy{background:var(--navy);color:#fff}
  .btn-navy:hover{background:var(--navy-deep)}

  /* Header */
  header{position:sticky;top:0;z-index:50;background:rgba(15,27,51,.96);backdrop-filter:blur(6px);border-bottom:1px solid rgba(255,255,255,.08)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:68px}
  .brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:900;letter-spacing:.02em}
  header .brand{align-items:flex-end;gap:28px}
  header .brand .tagline{position:relative;top:3px}
  .brand .mark{display:inline-grid;place-items:center;width:40px;height:40px;background:var(--red);border-radius:7px;font-size:1.05rem;font-weight:900;color:#fff;letter-spacing:-.04em}
  .brand small{display:block;font-size:.6rem;font-weight:700;letter-spacing:.16em;color:#9fb0cc;text-transform:uppercase}
  .brand .tagline{font-size:1.3rem;font-weight:800;letter-spacing:.07em;color:#fff;text-transform:uppercase;line-height:1.1}
  .logo-mark{height:48px;display:block}
  .menu{display:flex;align-items:center;gap:28px}
  .menu a{color:#dce3ef;font-weight:600;font-size:.93rem;white-space:nowrap}
  .menu a:hover{color:#fff}
  .menu .btn{padding:10px 18px}
  @media(max-width:1280px){ header .tagline{display:none} }
  .hamb{display:none}
  .role-select{color:#1a1f2b;cursor:pointer}
  .role-select:invalid{color:#8a8f98}
  .navtoggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:46px;height:42px;background:transparent;border:0;cursor:pointer;padding:9px 8px}
  .navtoggle span{display:block;height:3px;border-radius:2px;background:#fff;transition:.2s}
  header.nav-open .navtoggle span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  header.nav-open .navtoggle span:nth-child(2){opacity:0}
  header.nav-open .navtoggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

  /* Hero */
  .hero{position:relative;min-height:88vh;display:flex;align-items:center;color:#fff;text-align:center}
  .hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,27,51,.5),rgba(15,27,51,.72)),url('../img/group.jpg') center/cover no-repeat;z-index:-1}
  .hero .wrap{padding-top:80px;padding-bottom:80px}
  .hero h1{font-size:clamp(2.4rem,6vw,4.6rem);text-transform:uppercase}
  .hero h1 .accent{color:#ff5e6c}
  .hero p.lead{font-size:clamp(1.05rem,2.2vw,1.4rem);max-width:720px;margin:18px auto 0;color:#e7ecf5;font-weight:500}
  .hero .cta{margin-top:34px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
  .hero .tag{font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:#9fb0cc;font-weight:800;margin-bottom:18px}
  .hero-band{position:absolute;top:0;left:0;right:0;z-index:1;display:flex;justify-content:center;align-items:center;padding:26px 20px}
  .hero-band img{width:clamp(180px,20vw,280px);display:block;filter:drop-shadow(0 3px 10px rgba(0,0,0,.45))}

  .hero-stats{margin-top:26px;color:#cdd8ea;font-weight:600;font-size:.95rem;letter-spacing:.02em}
  .fbcom{background:linear-gradient(135deg,#1d3b8a,#0f1b33);color:#fff;text-align:center}
  .fbcom .bignum{font-size:clamp(3.4rem,9vw,5.8rem);color:#fff;line-height:1;letter-spacing:-.03em}
  .fblead{max-width:700px;margin:16px auto 0;color:#dbe4f3;font-size:1.12rem}
  .fbbtn{background:#1877F2;color:#fff;margin-top:28px;font-size:1.05rem;padding:15px 34px}
  .fbbtn:hover{background:#0f63d6}
  .testi{background:var(--bg);text-align:center}
  .testi .bigq{font-size:clamp(1.6rem,3.4vw,2.35rem);font-weight:800;color:var(--navy);max-width:900px;margin:14px auto 0;line-height:1.3;letter-spacing:-.01em}
  .testi-body{max-width:760px;margin:30px auto 0;text-align:left;color:var(--gray);font-size:1.06rem}
  .testi-body p{margin-top:16px}
  .testi-attr{margin-top:26px;font-weight:800;color:var(--red);letter-spacing:.04em;text-transform:uppercase;font-size:.9rem}

  /* Sections */
  section{padding:84px 0}
  .center{text-align:center;max-width:780px;margin:0 auto}
  h2.title{font-size:clamp(1.8rem,3.6vw,2.7rem);margin-top:10px;color:var(--navy)}
  .sub{color:var(--gray);font-size:1.08rem;margin-top:16px}

  /* Mission band */
  .mission{background:var(--navy);color:#fff;text-align:center}
  .mission h2{font-size:clamp(1.6rem,3vw,2.3rem);max-width:920px;margin:14px auto 0;font-weight:700;letter-spacing:-.01em}
  .mission .quote{font-style:italic;color:#cdd8ea}
  .mission .pill{display:inline-block;margin-top:26px;background:var(--red);padding:8px 20px;border-radius:40px;font-weight:800;letter-spacing:.03em;font-size:.95rem}

  /* What we do - cards */
  .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;margin-top:48px}
  .card{background:var(--white);border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:.2s}
  .card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(20,30,60,.12)}
  .card .ph{height:160px;background-size:cover;background-position:center}
  .card .body{padding:22px}
  .card h3{font-size:1.18rem;color:var(--navy)}
  .card p{color:var(--gray);margin-top:8px;font-size:.97rem}
  .num{display:inline-block;font-weight:900;color:var(--red);font-size:.85rem;letter-spacing:.1em}

  /* Split image rows */
  .split{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}
  .split .img{min-height:420px;background-size:cover;background-position:center}
  .split .txt{padding:64px 56px;display:flex;flex-direction:column;justify-content:center}
  .split.alt .txt{background:var(--bg)}
  .split h2{font-size:clamp(1.6rem,3vw,2.4rem);color:var(--navy);margin-top:10px}
  .split p{color:var(--gray);margin-top:16px;font-size:1.05rem}

  /* Event */
  .event{background:var(--navy-deep);color:#fff}
  .event .head{text-align:center;max-width:760px;margin:0 auto}
  .event h2{font-size:clamp(2rem,4vw,3rem);text-transform:uppercase;margin-top:8px}
  .event .meta{display:flex;gap:40px;justify-content:center;flex-wrap:wrap;margin:28px 0 6px;color:#dce3ef}
  .event .meta div{font-size:1.05rem}
  .event .meta strong{display:block;color:#ff8a94;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px}
  .tracks{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}
  .track{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:32px}
  .track h3{color:#fff;font-size:1.3rem;display:flex;align-items:center;gap:10px}
  .track h3 span{background:var(--red);font-size:.7rem;padding:4px 10px;border-radius:30px;letter-spacing:.08em}
  .track ul{list-style:none;margin-top:18px}
  .track li{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08);color:#cdd8ea}
  .track li:last-child{border:0}
  .event .reg{text-align:center;margin-top:48px}
  .flyers{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:48px}
  .flyers img{border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.4)}

  /* Founders */
  .founders{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:18px;margin-top:40px}
  .founder{background:var(--bg);border-radius:12px;padding:32px 18px 24px;text-align:center;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;min-height:270px}
  .founder .av{width:160px;height:160px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;margin:0 auto;font-weight:800;font-size:3rem;object-fit:cover}
  .founder b{color:var(--navy);margin-top:auto;padding-top:18px}

  /* Sponsors / members CTA */
  .cta-band{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:10px}
  .cta-box{border-radius:16px;padding:48px;color:#fff;position:relative;overflow:hidden}
  .cta-box.sponsor{background:linear-gradient(135deg,var(--red),var(--red-dark))}
  .cta-box.member{background:linear-gradient(135deg,var(--navy),var(--navy-deep))}
  .cta-box h3{font-size:1.7rem}
  .cta-box p{margin-top:12px;color:rgba(255,255,255,.9)}
  .cta-box .btn{margin-top:22px;background:#fff;color:var(--navy)}
  .cta-box.sponsor .btn{color:var(--red)}

  /* Footer */
  footer{background:var(--navy-deep);color:#9fb0cc;padding:60px 0 30px;text-align:center}
  footer .brand{justify-content:center;margin-bottom:14px}
  footer .brand span{position:relative;top:9px}
  footer .tag{letter-spacing:.2em;text-transform:uppercase;font-size:.8rem;font-weight:800;color:#ff8a94}
  footer .flinks{display:flex;gap:24px;justify-content:center;margin:22px 0;flex-wrap:wrap}
  footer .flinks a{color:#cdd8ea;font-weight:600}
  footer .small{font-size:.8rem;margin-top:18px;color:#6b7a96}

  .note{background:#fff7e6;border:1px dashed #e0b350;color:#7a5a12;padding:10px 16px;border-radius:8px;font-size:.85rem;display:inline-block;margin-top:16px}

  @media(max-width:860px){
    .navtoggle{display:flex}
    .menu{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:rgba(15,27,51,.98);padding:8px 22px 16px;border-top:1px solid rgba(255,255,255,.08);box-shadow:0 18px 34px rgba(0,0,0,.4)}
    header.nav-open .menu{display:flex}
    .menu a{padding:14px 4px;font-size:1.02rem;border-bottom:1px solid rgba(255,255,255,.07);white-space:normal}
    .menu .btn{margin-top:12px;text-align:center;padding:14px}
    .split{grid-template-columns:1fr}
    .split .img{min-height:280px}
    .split .txt{padding:44px 28px}
    .tracks,.flyers,.cta-band{grid-template-columns:1fr}
    .split.rev .img{order:-1}
    section{padding:60px 0}
  }

  @media(max-width:600px){
    .stier-capstone .slogo:nth-child(2){top:0}
    .founder .av{width:120px;height:120px;font-size:2.1rem}
    .founder{min-height:198px}
  }

/* --- Event page --- */
.ehero{position:relative;color:#fff;text-align:center;padding:130px 0 96px;background:linear-gradient(180deg,rgba(15,27,51,.82),rgba(15,27,51,.9)),url('../img/session.jpg') center/cover no-repeat}
.ehero .kicker{color:#ff8a94;font-weight:800;letter-spacing:.18em;text-transform:uppercase;font-size:.85rem}
.ehero h1{font-size:clamp(2.2rem,5vw,3.8rem);text-transform:uppercase;margin-top:12px}
.ehero .when{margin-top:20px;font-size:1.35rem;font-weight:700;color:#fff}
.ehero .where{margin-top:6px;color:#cdd8ea}
.ehero .cta{margin-top:32px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.backlink{display:inline-block;color:#9fb0cc;font-weight:600;font-size:.9rem;margin-bottom:14px}
.backlink:hover{color:#fff}
.lead-narrow{max-width:760px;margin:0 auto;text-align:center;color:var(--gray);font-size:1.1rem}


  /* Sponsor wall (sponsors page + home yearly banner) */
  .swall{margin-top:10px}
  .stier{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:30px 48px;margin:0 auto 46px;max-width:1040px}
  .stier-capstone{gap:30px 90px}
  .stier-capstone .slogo:nth-child(2){position:relative;top:39px}
  .slogo{display:flex;align-items:center;justify-content:center;transition:.18s}
  .slogo:hover{transform:translateY(-3px)}
  .slogo img{display:block;width:auto;object-fit:contain;max-width:320px}
  .slogo .ph{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:12px;font-weight:800;color:var(--navy);padding:0 24px;text-align:center;line-height:1.1;box-shadow:0 6px 18px rgba(20,30,60,.06)}
  .swall .divline{height:1px;background:var(--line);max-width:760px;margin:0 auto 46px}
