*{box-sizing:border-box}
:root{
  --ink:#151517;--muted:#6f7177;--line:#e7e7e8;--paper:#f7f7f5;--white:#fff;
  --radius:18px;--shadow:0 16px 45px rgba(0,0,0,.07)
}
html,body{margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--paper)}
a{color:inherit}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
input,select,textarea{
  width:100%;border:1px solid #d7d8da;background:#fff;border-radius:10px;
  padding:12px 13px;min-height:46px;color:#171717;font-size:16px
}
textarea{min-height:100px;resize:vertical}
label{display:block;font-size:12px;font-weight:800;margin:16px 0 6px}
code{background:#eee;padding:2px 6px;border-radius:5px}
.muted{color:var(--muted);font-weight:500}
.grow{flex:1}.eyebrow{font-size:11px;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:#85868a}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:0;border-radius:10px;background:#171719;color:#fff;text-decoration:none;
  font-weight:850;padding:13px 17px;min-height:46px;cursor:pointer
}
.btn.small{min-height:38px;padding:9px 13px;font-size:13px}
.btn.ghost{background:#fff;color:#171719;border:1px solid #d8d8d8}
.btn.danger,.danger{color:#a92323}.btn.ghost.danger{border-color:#e2bdbd}
.text-btn{border:0;background:transparent;font-weight:800;padding:8px;cursor:pointer}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.grid{display:grid;gap:0 18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.check{display:flex;align-items:center;gap:10px}.check input{width:auto;min-height:auto}
.input-prefix{display:flex;align-items:center;border:1px solid #d7d8da;border-radius:10px;background:#fff;overflow:hidden}
.input-prefix span{padding-left:13px;color:#777}.input-prefix input{border:0}
.notice{padding:15px 17px;border-radius:12px;background:#fff;border:1px solid var(--line);margin:0 0 18px;line-height:1.5}
.notice.success{background:#f4fbf5;border-color:#cfe7d2}.notice.error{background:#fff5f5;border-color:#eccaca}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:18px;box-shadow:0 5px 20px rgba(0,0,0,.025)}
.panel.narrow{max-width:620px}.panel h2{margin:0 0 10px}
.empty{text-align:center;color:var(--muted);padding:24px}.empty strong{color:var(--ink);display:block;font-size:18px}.empty p{line-height:1.5}
.section{margin:30px 0}.section h2{margin:0 0 15px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.section-head h2{margin:0}
.section-head a{font-size:13px;font-weight:800}

/* Admin */
.admin-body{background:#f5f5f3}
.admin-top{height:66px;background:#151517;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:20}
.admin-brand{text-decoration:none;font-size:18px;font-weight:950;letter-spacing:-.5px}.admin-brand span{font-weight:400}.admin-brand b{font-size:10px;letter-spacing:1.5px;margin-left:7px;color:#aaa}
.admin-top nav{display:flex;gap:18px}.admin-top nav a{color:#ddd;text-decoration:none;font-size:12px;font-weight:800}
.admin-wrap{max-width:980px;margin:auto;padding:34px 20px 70px}
.admin-footer{text-align:center;padding:26px;color:#999;font-size:11px;letter-spacing:1px}
.admin-hero{margin-bottom:26px}.admin-hero h1{font-size:36px;letter-spacing:-1.4px;margin:6px 0}.admin-hero p{color:var(--muted);max-width:650px;line-height:1.5}
.quick-grid,.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.quick-card,.team-card{background:#fff;border:1px solid var(--line);border-radius:15px;text-decoration:none;padding:18px;display:flex;align-items:center;gap:14px;box-shadow:0 4px 14px rgba(0,0,0,.025)}
.quick-card{display:block}.quick-card strong,.team-card strong{display:block;font-size:16px}.quick-card span,.team-card span{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.team-logo-sm,.team-admin-logo{background:#ececee;border-radius:14px;display:grid;place-items:center;font-weight:950;overflow:hidden;flex:0 0 auto}
.team-logo-sm{width:48px;height:48px}.team-logo-sm img,.team-admin-logo img{width:100%;height:100%;object-fit:contain}
.team-admin-hero{background:linear-gradient(135deg,var(--team-primary),#171719);color:#fff;border-radius:22px;padding:24px;display:flex;align-items:center;gap:18px}
.team-admin-hero .eyebrow,.team-admin-hero p{color:rgba(255,255,255,.7)}.team-admin-logo{width:72px;height:72px;background:#fff;color:#222}
.request-card,.rowline,.event-admin-row,.sponsor-admin-row{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:14px 0;text-decoration:none}
.request-card:last-child,.rowline:last-child,.event-admin-row:last-child,.sponsor-admin-row:last-child{border-bottom:0}
.request-card>div:first-child,.rowline>div:first-child{flex:1}.request-card span,.rowline span,.event-admin-row span,.sponsor-admin-row span{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.datebox{width:50px;text-align:center;border-radius:10px;background:#f0f0f1;padding:7px}.datebox strong{font-size:10px;display:block}.datebox span{font-size:20px;color:#171719;margin:0}
.sponsor-thumb{width:68px;height:46px;border:1px solid var(--line);border-radius:8px;background:#fafafa;display:grid;place-items:center;font-size:9px;color:#aaa;overflow:hidden}.sponsor-thumb img{width:100%;height:100%;object-fit:contain}
.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:18px}.detail-grid span{display:block;font-size:11px;color:#888}.detail-grid strong{display:block;margin-top:3px}

/* Public home */
.public-home{background:#121214;color:#fff;min-height:100vh}
.home-shell{max-width:820px;margin:auto;padding:56px 22px 90px}
.home-hero{padding:35px 0 38px}.brand-mark,.footer-brand{font-weight:950;letter-spacing:-.8px}.brand-mark{font-size:25px;margin-bottom:42px}.brand-mark span,.footer-brand span{font-weight:400}
.home-hero .eyebrow{color:#7f8085}.home-hero h1{font-size:clamp(42px,8vw,72px);line-height:.96;letter-spacing:-3px;margin:10px 0 18px}.home-hero p{color:#a9abb0;font-size:16px}
.public-team-list{display:grid;gap:10px}.public-team-card{--team:#24242a;display:flex;align-items:center;gap:14px;padding:15px;border:1px solid #2c2d31;border-radius:16px;background:#1a1a1d;text-decoration:none}
.public-team-card:hover{border-color:#414248}.public-team-logo{width:54px;height:54px;border-radius:13px;background:var(--team);display:grid;place-items:center;overflow:hidden;font-weight:950}.public-team-logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.public-team-card strong{display:block}.public-team-card span{display:block;color:#96979c;font-size:12px;margin-top:4px}.public-team-card .arrow{margin-left:auto;font-size:28px;color:#777}
.home-footer{border-top-color:#2b2b2e!important;color:#999!important}

/* Public team */
.public-page{background:#f4f4f2}
.public-shell{max-width:820px;margin:auto;padding:24px 18px 80px}
.team-public-header{background:var(--team-primary);color:var(--team-secondary);border-radius:26px;padding:28px;display:flex;align-items:center;gap:20px;min-height:170px;box-shadow:var(--shadow)}
.team-public-logo{width:92px;height:92px;border-radius:20px;background:#fff;color:#171717;display:grid;place-items:center;font-size:28px;font-weight:950;overflow:hidden;flex:0 0 auto}.team-public-logo img{width:100%;height:100%;object-fit:contain}
.team-public-copy .eyebrow{color:color-mix(in srgb,var(--team-secondary) 65%,transparent)}.team-public-copy h1{font-size:34px;line-height:1;letter-spacing:-1.5px;margin:7px 0 8px}.team-public-copy p{margin:0;opacity:.72;font-size:13px}
.next-event{background:#171719;color:#fff;border-radius:20px;padding:20px;margin:14px 0 0}.next-event>.eyebrow{color:#8c8d93;margin-bottom:12px}.next-grid{display:flex;align-items:center;gap:17px}.next-date{width:62px;border-right:1px solid #343439;text-align:center;padding-right:15px}.next-date span{display:block;font-size:11px;text-transform:uppercase;color:#aaa;font-weight:900}.next-date strong{font-size:35px;line-height:1.1}.next-main{flex:1}.next-main h2{margin:7px 0 5px;font-size:21px}.next-meta,.next-location{font-size:12px;color:#b7b8bd;line-height:1.45}
.status-pill{display:inline-flex;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.9px;padding:5px 7px;border-radius:999px;background:#ececef;color:#555}
.status-confirmed{background:#e9f7ed;color:#25703b}.status-tentative{background:#fff3d7;color:#8b6412}.status-cancelled{background:#fde8e8;color:#a52c2c}
.sponsor-feature{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;margin:14px 0;text-align:center}.sponsor-kicker{font-size:9px;font-weight:950;letter-spacing:1.6px;color:#9a9ba0;margin-bottom:10px}
.sponsor-feature-link{height:86px;display:grid;place-items:center;text-decoration:none}.sponsor-feature-link img{max-width:260px;max-height:76px;object-fit:contain}.sponsor-feature-link span{font-size:22px;font-weight:900}
.schedule-section{margin-top:32px}.schedule-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:13px}.schedule-heading h2{font-size:30px;letter-spacing:-1px;margin:3px 0 0}.schedule-heading>span{font-size:11px;color:#888}
.schedule-list{display:grid;gap:9px}.public-event{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;gap:15px}.public-event.is-cancelled{opacity:.68}.public-event.is-cancelled h3{text-decoration:line-through}
.event-date{width:50px;flex:0 0 auto;text-align:center;border-right:1px solid #eee;padding-right:13px}.event-date span,.event-date small{display:block;font-size:9px;text-transform:uppercase;font-weight:900;color:#8b8c90}.event-date strong{display:block;font-size:27px;line-height:1.15}
.event-copy{min-width:0;flex:1}.event-topline{display:flex;align-items:center;justify-content:space-between;gap:10px}.event-type{font-size:9px;letter-spacing:1px;font-weight:900;color:#8c8d91;text-transform:uppercase}.event-copy h3{font-size:18px;line-height:1.15;margin:7px 0 5px}.event-meta,.event-line,.event-notes{font-size:12px;color:#6f7075;line-height:1.5}.event-line b{color:#424348}.event-notes{margin-top:7px}.event-links{display:flex;gap:8px;margin-top:10px}.event-links a{font-size:11px;font-weight:850;text-decoration:none;padding:7px 9px;border-radius:7px;background:#f0f0f1}
.sponsor-mid{margin:7px 0}
.past-events{margin-top:24px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:0 16px}.past-events summary{padding:16px 0;font-weight:850;cursor:pointer}.past-events summary span{float:right;color:#999}.past-list{border-top:1px solid var(--line)}.past-row{display:grid;grid-template-columns:65px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #eee;font-size:12px}.past-row:last-child{border-bottom:0}.past-row span,.past-row small{color:#888}
.sponsor-carousel-section{margin:38px -18px 0;padding:18px 0 2px;border-top:1px solid #ddd;text-align:center;overflow:hidden}.sponsor-marquee{overflow:hidden;padding:7px 0 14px}.sponsor-track{display:flex;align-items:center;gap:14px;width:max-content;animation:sponsor-scroll 34s linear infinite}.sponsor-marquee:hover .sponsor-track{animation-play-state:paused}.carousel-logo{width:150px;height:76px;padding:10px;background:#fff;border:1px solid #e3e3e3;border-radius:13px;display:grid;place-items:center;text-decoration:none}.carousel-logo img{max-width:125px;max-height:54px;object-fit:contain}.carousel-logo span{font-weight:850;font-size:13px}
@keyframes sponsor-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.public-footer{max-width:820px;margin:auto;border-top:1px solid #ddd;padding:22px 18px 34px;display:flex;align-items:center;justify-content:space-between;color:#8b8c90;font-size:11px}.public-footer a{color:inherit;text-decoration:none}.footer-brand{font-size:14px}
.public-empty{padding:30px;text-align:center;border-radius:18px;background:#fff;color:#777}.public-empty strong{color:#222;font-size:18px}.public-empty p{line-height:1.5}
.splash{position:fixed;inset:0;background:#111113;z-index:9999;display:grid;place-items:center;transition:opacity .55s ease,visibility .55s ease}.splash.is-leaving{opacity:0;visibility:hidden}.splash-logo{color:#fff;font-size:42px;font-weight:950;letter-spacing:-2px;animation:splash-in .45s ease both}.splash-logo span{font-weight:350}
@keyframes splash-in{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}

@media(max-width:650px){
 .admin-top{padding:0 15px}.admin-top nav{gap:10px}.admin-top nav a{font-size:11px}.admin-wrap{padding:26px 14px 60px}
 .grid.two,.quick-grid,.team-grid,.detail-grid{grid-template-columns:1fr}
 .admin-hero h1{font-size:31px}.panel{padding:17px}
 .team-admin-hero{padding:20px}
 .home-shell{padding:38px 16px 76px}.home-hero h1{letter-spacing:-2px}
 .public-shell{padding:14px 10px 70px}.team-public-header{padding:20px;border-radius:20px;min-height:142px}.team-public-logo{width:72px;height:72px;border-radius:16px}.team-public-copy h1{font-size:27px}
 .public-event{padding:13px;gap:12px}.event-date{width:44px;padding-right:10px}.event-copy h3{font-size:17px}
 .sponsor-carousel-section{margin-left:-10px;margin-right:-10px}
 .public-footer{padding-left:12px;padding-right:12px}
}


.linked-team-card{flex-wrap:wrap}
.linked-request-form{margin-left:auto}
.linked-request-form .btn{white-space:nowrap}
.or-divider{display:flex;align-items:center;gap:12px;margin:28px 0;color:#999;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:1px}
.or-divider:before,.or-divider:after{content:"";height:1px;background:#ddd;flex:1}
@media(max-width:650px){
  .linked-team-card{align-items:center}
  .linked-request-form{width:100%;margin-left:62px}
  .linked-request-form .btn{width:100%}
}


/* Multi-day public dates + home-event sponsor treatment */
.next-date small{
  display:block;
  font-size:9px;
  color:#8f9096;
  font-weight:850;
  text-transform:uppercase;
  margin-top:2px;
}
.next-date.is-range{
  width:78px;
}
.next-date.is-range strong{
  font-size:27px;
  letter-spacing:-1px;
}
.event-date.is-range{
  width:62px;
}
.event-date.is-range strong{
  font-size:20px;
  letter-spacing:-.8px;
  white-space:nowrap;
}
.event-right-slot{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  min-width:0;
}
.event-sponsor-pill{
  display:inline-flex;
  align-items:center;
  max-width:180px;
  padding:5px 8px;
  border-radius:999px;
  background:#f0f0f1;
  color:#4d4e53;
  text-decoration:none;
  font-size:9px;
  line-height:1;
  font-weight:950;
  letter-spacing:.2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.event-sponsor-pill:hover{
  background:#e7e7e9;
}
.event-sponsor-thanks{
  margin-top:9px;
  padding-top:8px;
  border-top:1px solid #eeeeef;
  color:#87888d;
  font-size:10px;
  line-height:1.4;
}
.event-sponsor-thanks strong{
  color:#5c5d62;
}

@media(max-width:650px){
  .event-sponsor-pill{
    max-width:125px;
  }
  .event-date.is-range{
    width:58px;
  }
}

/* Combined parallax team hero */
.team-hero{
  position:relative;
  min-height:310px;
  border-radius:28px;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 18%, color-mix(in srgb,var(--team-accent) 48%,transparent), transparent 34%),
    linear-gradient(135deg,var(--team-primary),color-mix(in srgb,var(--team-primary) 72%,#000));
  color:var(--team-secondary);
  box-shadow:0 20px 55px rgba(0,0,0,.14);
  isolation:isolate;
}
.team-hero-art{
  position:absolute;
  z-index:0;
  width:440px;
  height:440px;
  right:-85px;
  top:-120px;
  opacity:.105;
  transform:translate3d(0,0,0) rotate(-7deg) scale(1.03);
  transform-origin:center;
  will-change:transform;
  pointer-events:none;
}
.team-hero-art img{width:100%;height:100%;object-fit:contain;filter:saturate(.85) contrast(1.08)}
.team-hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.10),rgba(0,0,0,.02) 52%,rgba(0,0,0,.16));pointer-events:none}
.team-hero-content{position:relative;z-index:2;padding:30px;display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.8fr);gap:28px;align-items:stretch;min-height:310px}
.team-hero-identity{display:flex;align-items:center;gap:20px;align-self:center;min-width:0}
.team-hero .team-public-logo{width:104px;height:104px;border-radius:23px;box-shadow:0 12px 35px rgba(0,0,0,.18)}
.team-hero .team-public-copy .eyebrow{color:color-mix(in srgb,var(--team-secondary) 72%,transparent)}
.team-hero .team-public-copy h1{font-size:40px;line-height:.98;letter-spacing:-1.8px;margin:8px 0 9px}
.team-hero .team-public-copy p{max-width:390px;color:color-mix(in srgb,var(--team-secondary) 75%,transparent);font-size:13px;line-height:1.5}
.hero-next-event{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:20px 22px;border:1px solid rgba(255,255,255,.16);border-radius:20px;background:rgba(8,9,12,.56);box-shadow:0 14px 34px rgba(0,0,0,.14);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.hero-next-label{font-size:9px;font-weight:950;letter-spacing:1.7px;color:rgba(255,255,255,.56);margin-bottom:11px}
.hero-next-grid{display:flex;align-items:center;gap:16px}
.hero-next-date{width:63px;flex:0 0 auto;border-right:1px solid rgba(255,255,255,.16);padding-right:15px;text-align:center}
.hero-next-date span,.hero-next-date small{display:block;font-size:9px;text-transform:uppercase;font-weight:900;color:rgba(255,255,255,.62)}
.hero-next-date strong{display:block;font-size:32px;line-height:1.04;color:#fff;letter-spacing:-1px;white-space:nowrap}
.hero-next-date.is-range{width:82px}.hero-next-date.is-range strong{font-size:26px}
.hero-next-main{min-width:0;flex:1}.hero-next-topline{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:20px}.hero-next-type{font-size:9px;text-transform:uppercase;letter-spacing:1.1px;font-weight:900;color:rgba(255,255,255,.58)}
.hero-next-main h2{font-size:21px;line-height:1.08;letter-spacing:-.5px;margin:6px 0 5px;color:#fff}.hero-next-meta,.hero-next-location{font-size:11px;line-height:1.45;color:rgba(255,255,255,.72)}
.team-hero .event-sponsor-pill{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.13)}
.team-hero + .sponsor-feature{margin-top:15px}

@media(max-width:760px){
  .team-hero{min-height:0;border-radius:22px}
  .team-hero-content{grid-template-columns:1fr;gap:22px;min-height:0;padding:22px}
  .team-hero-identity{align-items:center}
  .team-hero .team-public-logo{width:78px;height:78px;border-radius:17px}
  .team-hero .team-public-copy h1{font-size:29px;letter-spacing:-1.2px}
  .team-hero-art{width:330px;height:330px;right:-110px;top:-85px;opacity:.095}
  .hero-next-event{padding:17px 18px;border-radius:17px}
}
@media(max-width:430px){
  .team-hero-content{padding:18px;gap:18px}
  .team-hero-identity{gap:14px}
  .team-hero .team-public-logo{width:68px;height:68px;border-radius:15px}
  .team-hero .team-public-copy h1{font-size:25px}
  .hero-next-date{width:56px;padding-right:12px}.hero-next-date strong{font-size:28px}
  .hero-next-date.is-range{width:72px}.hero-next-date.is-range strong{font-size:23px}
  .hero-next-main h2{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.team-hero-art{transform:none!important}}



/* Clean layered / sticky public hero */
.public-page{
  background:#f4f4f2;
  overflow-x:hidden;
}

.public-shell{
  position:relative;
}

.team-hero{
  position:sticky;
  top:14px;
  z-index:1;
  min-height:350px;
  border-radius:28px;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(135deg,
      color-mix(in srgb,var(--team-primary) 96%,#000 4%),
      color-mix(in srgb,var(--team-primary) 82%,#000 18%)
    );
}

/* One oversized logo across the entire hero */
.team-hero-art{
  position:absolute;
  z-index:0;
  inset:-18% -6% -22% 12%;
  width:auto;
  height:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:.105;
  transform:translate3d(0,var(--hero-art-y,0px),0) scale(1.03);
  transform-origin:center;
  will-change:transform;
  pointer-events:none;
}

.team-hero-art img{
  width:min(760px,92%);
  height:min(520px,130%);
  max-width:none;
  object-fit:contain;
  filter:saturate(.95) contrast(1.08);
}

.team-hero-shade{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,
      rgba(0,0,0,.05) 0%,
      rgba(0,0,0,.02) 48%,
      rgba(0,0,0,.28) 100%
    );
  pointer-events:none;
}

.team-hero-content{
  position:relative;
  z-index:2;
  min-height:350px;
  padding:30px 30px 24px;
  display:flex;
  flex-direction:column;
  gap:20px;
}

.team-hero-identity{
  display:flex;
  align-items:center;
  gap:19px;
  min-width:0;
  max-width:560px;
}

.team-hero .team-public-logo{
  width:94px;
  height:94px;
  border-radius:21px;
  background:#fff;
  box-shadow:0 12px 32px rgba(0,0,0,.18);
  flex:0 0 auto;
}

.team-hero .team-public-copy h1{
  font-size:39px;
  line-height:1;
  letter-spacing:-1.8px;
  margin:7px 0 8px;
}

.team-hero .team-public-copy .eyebrow{
  color:rgba(255,255,255,.64);
}

.team-hero .team-public-copy p{
  margin:0;
  color:rgba(255,255,255,.73);
}

/* Next event becomes one low strip instead of a floating card */
.hero-next-event{
  width:100%;
  margin-top:auto;
  padding:16px 19px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  background:rgba(8,10,14,.44);
  box-shadow:none;
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}

.hero-next-label{
  margin-bottom:8px;
  color:rgba(255,255,255,.55);
}

.hero-next-grid{
  display:flex;
  align-items:center;
  gap:17px;
}

.hero-next-date{
  width:72px;
  flex:0 0 auto;
  padding-right:16px;
  border-right:1px solid rgba(255,255,255,.16);
}

.hero-next-date.is-range{
  width:82px;
}

.hero-next-main h2{
  margin:4px 0;
  font-size:20px;
}

.hero-next-topline{
  min-height:auto;
  justify-content:flex-start;
  gap:10px;
}

/* The schedule becomes the foreground "sheet" */
.schedule-section{
  position:relative;
  z-index:5;
  margin-top:-28px;
  padding:27px 0 0;
  background:#f4f4f2;
  border-radius:26px 26px 0 0;
}

.schedule-section:before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-18px;
  right:-18px;
  top:0;
  height:70px;
  background:#f4f4f2;
  border-radius:26px 26px 0 0;
}

/* Sponsor areas and everything after schedule must remain over hero */
.sponsor-feature,
.past-events,
.sponsor-carousel-section,
.public-footer{
  position:relative;
  z-index:6;
}

@media(max-width:760px){
  .team-hero{
    top:8px;
    min-height:380px;
    border-radius:22px;
  }

  .team-hero-content{
    min-height:380px;
    padding:21px 18px 22px;
  }

  .team-hero-identity{
    gap:14px;
  }

  .team-hero .team-public-logo{
    width:72px;
    height:72px;
    border-radius:16px;
  }

  .team-hero .team-public-copy h1{
    font-size:27px;
    letter-spacing:-1.1px;
  }

  .team-hero-art{
    inset:-4% -44% -14% -8%;
    opacity:.105;
  }

  .team-hero-art img{
    width:145vw;
    height:auto;
  }

  .hero-next-event{
    padding:14px 14px;
    border-radius:14px;
  }

  .hero-next-grid{
    gap:12px;
  }

  .hero-next-date{
    width:57px;
    padding-right:11px;
  }

  .hero-next-date.is-range{
    width:70px;
  }

  .hero-next-main h2{
    font-size:18px;
  }

  .schedule-section{
    margin-top:-24px;
    padding-top:25px;
    border-radius:22px 22px 0 0;
  }
}

@media(prefers-reduced-motion:reduce){
  .team-hero-art{
    transform:none!important;
  }
}



/* Compact hero alignment pass */
.team-hero{
  min-height:0;
  border-radius:26px;
}

.team-hero-content{
  min-height:0;
  padding:24px 26px 30px;
  gap:18px;
}

.team-hero-identity{
  gap:17px;
  max-width:620px;
}

.team-hero .team-public-logo{
  width:84px;
  height:84px;
  border-radius:19px;
}

.team-hero .team-public-copy h1{
  font-size:36px;
  margin:5px 0 5px;
}

/* Keep the background mark visually centered after shortening the hero */
.team-hero-art{
  inset:-36% -7% -38% 18%;
  opacity:.10;
}

.team-hero-art img{
  width:min(720px,88%);
  height:min(460px,145%);
}

/* Compact next-event bar: no dead vertical space */
.hero-next-event{
  width:100%;
  margin-top:0;
  padding:12px 16px;
  border-radius:14px;
  background:rgba(8,10,14,.48);
}

.hero-next-grid{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  align-items:center;
  gap:15px;
}

.hero-next-date{
  width:auto;
  padding-right:15px;
}

.hero-next-date.is-range{
  width:auto;
}

.hero-next-date strong{
  font-size:25px;
  line-height:1;
}

.hero-next-date.is-range strong{
  font-size:23px;
}

.hero-next-main{
  min-width:0;
}

.hero-next-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:2px;
}

.hero-next-kickers{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  color:rgba(255,255,255,.55);
  font-size:9px;
  font-weight:900;
  letter-spacing:1.05px;
  text-transform:uppercase;
}

.hero-next-label{
  margin:0;
  color:rgba(255,255,255,.7);
}

.hero-next-separator{
  opacity:.45;
}

.hero-next-type{
  color:rgba(255,255,255,.52);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.hero-next-status{
  flex:0 0 auto;
}

.hero-next-main h2{
  margin:2px 0 4px;
  font-size:19px;
  line-height:1.08;
}

.hero-next-details{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0;
  color:rgba(255,255,255,.68);
  font-size:11px;
  line-height:1.35;
}

.hero-next-meta,
.hero-next-location{
  color:inherit;
}

.hero-next-location:before{
  content:" · ";
  color:rgba(255,255,255,.38);
}

/* One overlap layer only — removes the small rounded notch */
.schedule-section{
  margin-top:-18px;
  padding:24px 0 0;
  border-radius:20px 20px 0 0;
  background:#f4f4f2;
  box-shadow:0 -10px 26px rgba(0,0,0,.035);
}

.schedule-section:before{
  display:none!important;
  content:none!important;
}

/* If a top sponsor exists, don't force the schedule overlap through it */
.sponsor-feature.sponsor-top + .schedule-section{
  margin-top:18px;
  border-radius:0;
  box-shadow:none;
}

@media(max-width:760px){
  .team-hero{
    min-height:0;
    border-radius:22px;
  }

  .team-hero-content{
    min-height:0;
    padding:19px 17px 25px;
    gap:15px;
  }

  .team-hero .team-public-logo{
    width:68px;
    height:68px;
  }

  .team-hero .team-public-copy h1{
    font-size:26px;
    margin-top:4px;
  }

  .team-hero-art{
    inset:-18% -52% -30% -8%;
  }

  .hero-next-event{
    padding:11px 12px;
    border-radius:13px;
  }

  .hero-next-grid{
    grid-template-columns:62px minmax(0,1fr);
    gap:11px;
  }

  .hero-next-date{
    padding-right:10px;
  }

  .hero-next-date strong,
  .hero-next-date.is-range strong{
    font-size:21px;
  }

  .hero-next-kickers{
    font-size:8px;
    gap:4px;
  }

  .hero-next-main h2{
    font-size:17px;
  }

  .hero-next-details{
    font-size:10px;
  }

  .schedule-section{
    margin-top:-16px;
    padding-top:22px;
    border-radius:18px 18px 0 0;
  }
}


/* Small hero share control */
.team-hero-content{
  position:relative;
}

.hero-share{
  position:absolute;
  top:18px;
  right:20px;
  z-index:5;
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:30px;
  padding:6px 9px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(8,10,14,.24);
  color:rgba(255,255,255,.82);
  font-size:10px;
  font-weight:850;
  letter-spacing:.2px;
  cursor:pointer;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}

.hero-share:hover{
  background:rgba(8,10,14,.38);
  color:#fff;
}

.hero-share-icon{
  font-size:13px;
  line-height:1;
  transform:translateY(-1px);
}

.hero-share.is-copied span:last-child{
  display:none;
}

.hero-share.is-copied:after{
  content:"Copied";
}

@media(max-width:760px){
  .hero-share{
    top:13px;
    right:13px;
    padding:5px 8px;
    font-size:9px;
  }

  .team-hero-identity{
    padding-right:66px;
  }
}
/* Small alignment / breathing-room tweaks */

.team-hero-content{
    padding-left:32px;
    padding-right:32px;
}

.hero-next-event{
    padding-left:20px;
    padding-right:20px;
}

.schedule-heading{
    padding-left:8px;
    padding-right:8px;
}

.team-public-copy .eyebrow,
.hero-next-kickers,
.schedule-heading .eyebrow{
    padding-left:2px;
}

/* Mobile */
@media(max-width:760px){
    .team-hero-content{
        padding-left:21px;
        padding-right:21px;
    }

    .hero-next-event{
        padding-left:15px;
        padding-right:15px;
    }

    .schedule-heading{
        padding-left:5px;
        padding-right:5px;
    }
}

/* RB/RAD sponsorship inquiry links – existing sponsor banners remain unchanged */
.hero-sponsor-link{position:absolute;top:56px;right:20px;z-index:5;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.18);background:rgba(8,10,14,.24);color:#fff;border-radius:999px;padding:7px 12px;font-size:10px;font-weight:850;text-decoration:none;backdrop-filter:blur(5px)}
.hero-sponsor-link:hover{background:rgba(8,10,14,.45)}
.sponsor-invite-banner{margin:12px 0;background:#fff;border:1px solid #e6e7e9;border-radius:15px;padding:21px 25px;display:flex;gap:18px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.sponsor-invite-banner>div{display:flex;flex-direction:column;gap:5px}.sponsor-invite-banner strong{font-size:16px;color:#16181b}.sponsor-invite-banner small{color:#657080;font-size:12px}.sponsor-invite-banner .sponsor-kicker{text-align:left;margin:0;font-size:9px;letter-spacing:.2em}.sponsor-invite-banner a{background:#17181b;color:white;font-weight:800;font-size:11px;text-decoration:none;border-radius:9px;padding:11px 16px}.sponsor-invite-banner a:hover{background:#35373a}
.sponsor-footer-links{display:flex;align-items:center;gap:17px;flex-wrap:wrap}.sponsor-footer-links a{white-space:nowrap}
@media(max-width:760px){.hero-sponsor-link{top:47px;right:13px;font-size:9px;padding:6px 9px}.sponsor-invite-banner{padding:18px;gap:14px}.sponsor-invite-banner a{width:100%;text-align:center}.sponsor-footer-links{gap:12px}}

/* Compact sponsorship invitation */

.sponsor-invite-banner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    margin: 12px 0;
    padding: 13px 16px;
    background: #fff;
    border: 1px solid #e7e7e8;
    border-radius: 14px;
    text-align: center;
}

.sponsor-invite-banner span {
    font-size: 12px;
    font-weight: 600;
    color: #777;
}

.sponsor-invite-banner a {
    font-size: 12px;
    font-weight: 850;
    color: #171719;
    text-decoration: none;
}

.sponsor-invite-banner a:hover {
    text-decoration: underline;
}
