/* =============================================================================
   Supertonic! — style.css  (v2: full-color, accordion members, carousel,
   alumni, video band, richer motion)
   ========================================================================== */

/* ----------------------------------------------------------------- Tokens -- */
:root {
  --bg:#ffffff; --surface:#f5f5f6; --surface-2:#ededee; --line:#e4e4e7;
  --text:#16161a; --muted:#71717a; --charcoal:#1a1a1d; --black:#0a0a0b;
  --accent:#2ad7c6; --accent-ink:#0c8a7e;
  --font-head:'Poppins',system-ui,sans-serif; --font-body:'Inter',system-ui,sans-serif;
  --font-script:'Caveat',cursive; --font-mark:'Fredoka','Poppins',sans-serif;
  --maxw:1200px; --nav-h:76px; --ease:cubic-bezier(0.22,1,0.36,1); --radius:16px;
}

/* ------------------------------------------------------------------- Base -- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--font-body);color:var(--text);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:var(--font-head);line-height:1.08;margin:0;letter-spacing:-0.02em;}
.container{width:min(100% - 64px,var(--maxw));margin-inline:auto;}
.eyebrow{font-family:var(--font-head);font-size:0.78rem;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 14px;}
.section{padding:clamp(72px,10vw,140px) 0;position:relative;z-index:1;}
.section__title{font-size:clamp(2rem,5vw,3.4rem);font-weight:700;}
.section__lead{color:var(--muted);max-width:56ch;margin:16px 0 0;font-size:1.05rem;}
#notes-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:0.5;}

/* ------------------------------------------------------------------- Logo -- */
.brand{display:inline-flex;align-items:center;gap:6px;line-height:1;user-select:none;}
.brand__mark{font-family:var(--font-mark);font-weight:700;font-size:1.7rem;color:var(--accent);letter-spacing:-0.04em;}
.brand__word{font-family:var(--font-script);font-weight:700;font-size:1.5rem;color:var(--text);}
.brand--mono .brand__mark,.brand--mono .brand__word{color:var(--black);}
.brand--img{height:56px;}
.brand__png{height:100%;width:auto;}  /* transparent PNG — no white box */

/* -------------------------------------------------------------------- Nav -- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--nav-h);transition:background .4s var(--ease),box-shadow .4s var(--ease),backdrop-filter .4s var(--ease);}
.nav__inner{width:100%;padding:0 clamp(22px,3.5vw,60px);height:100%;display:flex;align-items:center;justify-content:space-between;}
.nav__links{display:flex;align-items:center;gap:32px;}
.nav__links a{font-family:var(--font-head);font-weight:600;font-size:0.95rem;color:#fff;position:relative;transition:color .3s var(--ease);}
.nav__links a:not(.nav__cta)::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--accent);transition:width .3s var(--ease);}
.nav__links a:not(.nav__cta):hover::after{width:100%;}
.nav__cta{background:#fff;color:var(--black) !important;padding:11px 22px;border-radius:100px;transition:transform .3s var(--ease),background .3s var(--ease),color .3s var(--ease);}
.nav__cta:hover{transform:translateY(-2px);background:var(--accent);color:#042f2a !important;}
.nav--scrolled{background:rgba(255,255,255,0.82);backdrop-filter:saturate(160%) blur(14px);box-shadow:0 1px 0 var(--line),0 10px 30px -18px rgba(0,0,0,0.3);}
.nav--scrolled .nav__links a{color:var(--charcoal);}
.nav--scrolled .nav__cta{background:var(--black);color:#fff !important;}
.nav--scrolled .nav__cta:hover{background:var(--accent);color:#042f2a !important;}
.nav__toggle{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;padding:10px;}
.nav__toggle span{display:block;height:2px;width:100%;background:#fff;border-radius:2px;transition:transform .35s var(--ease),opacity .35s var(--ease),background .3s;}
.nav__toggle span+span{margin-top:6px;}
.nav--scrolled .nav__toggle span,.nav-open .nav__toggle span{background:var(--charcoal);}
.nav-open .nav__toggle span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.nav-open .nav__toggle span:nth-child(2){opacity:0;}
.nav-open .nav__toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

/* ------------------------------------------------------------------- Hero -- */
.hero{position:relative;min-height:100svh;display:grid;grid-template-columns:1fr 1fr;background:var(--surface);overflow:hidden;}
.hero__left{display:flex;align-items:center;padding:var(--nav-h) 6vw 0 clamp(32px,7vw,100px);background:var(--surface);}
.hero__intro{max-width:520px;}
.hero__hi{font-family:var(--font-head);font-weight:600;font-size:1.25rem;color:var(--muted);margin:0 0 4px;}
.hero__title{font-size:clamp(3rem,7vw,6rem);font-weight:800;color:var(--black);}
.hero__bang{color:var(--accent);}
.hero__subtitle{font-size:clamp(1rem,1.6vw,1.25rem);color:var(--muted);margin:18px 0 32px;max-width:36ch;}
.hero__socials{display:flex;align-items:center;gap:14px;margin-bottom:40px;}
.social{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);transition:transform .3s var(--ease),background .3s var(--ease),border-color .3s;}
.social svg{width:20px;height:20px;fill:var(--charcoal);transition:fill .3s;}
.social:hover{transform:translateY(-3px);background:var(--black);border-color:var(--black);}
.social:hover svg{fill:#fff;}
.social-handle{font-family:var(--font-head);font-weight:600;color:var(--accent-ink);transition:color .3s;}
.social-handle:hover{color:var(--black);}
.hero__scroll{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-head);font-weight:600;font-size:0.85rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);}
.hero__scroll svg{width:18px;height:18px;fill:var(--accent-ink);animation:bob 1.8s ease-in-out infinite;}
.hero__right{position:relative;background:var(--black);clip-path:polygon(14% 0,100% 0,100% 100%,0 100%);margin-left:-8%;}
.hero__photo{width:100%;height:100%;object-fit:cover;will-change:transform;}
.hero__photo-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,11,0.12),rgba(10,10,11,0.5));}

/* ------------------------------------------------------------------ About -- */
.about{background:var(--bg);}
.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px;}
.about__col p{margin:0 0 20px;font-size:1.06rem;}
.about__col strong{color:var(--black);}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:64px;padding-top:48px;border-top:1px solid var(--line);}
.stat{text-align:center;}
.stat__num{display:block;font-family:var(--font-head);font-weight:800;font-size:clamp(2rem,4vw,3rem);color:var(--black);letter-spacing:-0.03em;}
.stat__label{color:var(--muted);font-size:0.9rem;text-transform:uppercase;letter-spacing:0.1em;}

/* ------------------------------------------------------------- VIBE BAND -- */
.vibe{position:relative;min-height:min(78vh,620px);display:grid;place-items:center;overflow:hidden;background:var(--black);text-align:center;}
.vibe__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.vibe__scrim{position:absolute;inset:0;z-index:1;background:radial-gradient(120% 120% at 50% 30%,rgba(10,10,11,0.35),rgba(10,10,11,0.82));}
.vibe__inner{position:relative;z-index:2;padding:40px 24px;}
.vibe__kicker{color:var(--accent);font-family:var(--font-head);font-weight:600;letter-spacing:0.2em;text-transform:uppercase;font-size:0.8rem;margin:0 0 16px;}
.vibe__title{color:#fff;font-size:clamp(2.2rem,7vw,5rem);font-weight:800;line-height:1.05;max-width:16ch;margin:0 auto;}
.vibe__title .word{display:inline-block;}

/* -------------------------------------------- MEMBERS (expanding panels) -- */
.members{background:var(--surface);}
.accordion{display:flex;gap:10px;height:clamp(420px,64vh,620px);padding:48px clamp(16px,4vw,48px) 0;}
.panel{position:relative;flex:1 1 0;min-width:0;border-radius:18px;overflow:hidden;cursor:pointer;background-size:cover;background-position:center top;transition:flex .6s var(--ease),box-shadow .5s var(--ease);box-shadow:0 20px 45px -30px rgba(0,0,0,0.6);}
.panel:hover,.panel:focus-visible{flex:5 1 0;outline:none;box-shadow:0 36px 70px -34px rgba(0,0,0,0.75);}
.panel__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,11,0) 40%,rgba(10,10,11,0.86) 100%);transition:background .5s var(--ease);}
.panel:hover .panel__scrim{background:linear-gradient(180deg,rgba(10,10,11,0.05) 10%,rgba(10,10,11,0.8) 95%);}
/* collapsed vertical label */
.panel__label{position:absolute;left:0;right:0;bottom:18px;display:flex;flex-direction:column;align-items:center;gap:2px;color:#fff;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;transition:opacity .35s var(--ease);}
.panel__label .panel__name{font-family:var(--font-head);font-weight:700;font-size:1.05rem;}
.panel__label .panel__part{font-size:0.78rem;color:var(--accent);letter-spacing:0.05em;}
.panel:hover .panel__label,.panel:focus-visible .panel__label{opacity:0;}
/* expanded content */
.panel__content{position:absolute;left:0;right:0;bottom:0;padding:26px 28px;color:#fff;opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease) .1s,transform .5s var(--ease) .1s;width:max(100%,360px);}
.panel:hover .panel__content,.panel:focus-visible .panel__content{opacity:1;transform:translateY(0);}
.panel__badge{display:inline-block;background:var(--accent);color:#042f2a;font-family:var(--font-head);font-weight:700;font-size:0.68rem;letter-spacing:0.08em;text-transform:uppercase;padding:4px 11px;border-radius:100px;margin-bottom:10px;}
.panel__content h3{font-size:1.5rem;font-weight:700;}
.panel__content h3 em{font-style:normal;color:#cfcfd4;font-weight:500;font-size:1rem;}
.panel__role{color:var(--accent);font-weight:600;font-family:var(--font-head);margin:2px 0 10px;letter-spacing:0.03em;}
.panel__bio{font-size:0.94rem;color:#e7e7ea;line-height:1.55;max-width:48ch;}

/* ---------------------------------------------------------- GALLERY carousel */
.gallery{background:var(--bg);}
.carousel{display:flex;align-items:center;gap:10px;margin-top:44px;padding:0 clamp(10px,3vw,28px);}
.carousel__track{display:flex;gap:18px;flex:1;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:14px 6px 24px;scrollbar-width:none;cursor:grab;}
.carousel__track::-webkit-scrollbar{display:none;}
.carousel__track.is-dragging{scroll-behavior:auto;cursor:grabbing;scroll-snap-type:none;}
.slide{flex:0 0 clamp(250px,40vw,540px);scroll-snap-align:center;border-radius:18px;overflow:hidden;aspect-ratio:4/3;background:var(--surface-2);box-shadow:0 26px 55px -34px rgba(0,0,0,0.55);position:relative;}
.slide img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);pointer-events:none;}
.slide:hover img{transform:scale(1.07);}
.carousel__arrow{flex:0 0 auto;width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--charcoal);display:grid;place-items:center;cursor:pointer;transition:transform .3s var(--ease),background .3s,color .3s,box-shadow .3s;box-shadow:0 10px 24px -14px rgba(0,0,0,0.4);}
.carousel__arrow svg{width:22px;height:22px;}
.carousel__arrow:hover{background:var(--black);color:#fff;transform:scale(1.08);}
.carousel__dots{display:flex;justify-content:center;gap:8px;margin-top:6px;flex-wrap:wrap;padding:0 24px;}
.dot{width:8px;height:8px;border-radius:50%;border:0;background:var(--line);cursor:pointer;transition:transform .3s var(--ease),background .3s;}
.dot.is-active{background:var(--accent);transform:scale(1.5);}
/* Mobile carousel: swipe-first, full-width with a peek (no cramped side arrows) */
@media (max-width:760px){
  .carousel{padding:0;gap:0;margin-top:34px;}
  .carousel__arrow{display:none;}
  .carousel__track{padding:16px 16px 20px;scroll-padding:0 10vw;}
  .slide{flex-basis:80vw;}
  .carousel__dots{gap:9px;margin-top:4px;}
  .dot{width:9px;height:9px;}
}
/* Touch tap feedback (animations for mobile) */
@media (hover:none){
  .slide:active img{transform:scale(1.05);}
  .alum:active img{transform:scale(1.05);}
  .scard:active{filter:brightness(1.07);}
  .btn:active{filter:brightness(1.06);}
}

/* ----------------------------------------------------------------- ALUMNI -- */
.alumni{background:var(--surface);}
.alumni__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px;}
.alum{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:3/4;background:var(--surface-2);box-shadow:0 18px 40px -30px rgba(0,0,0,0.5);transition:transform .5s var(--ease),box-shadow .5s var(--ease);}
.alum:hover{transform:translateY(-6px);box-shadow:0 34px 60px -32px rgba(0,0,0,0.6);}
.alum img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);}
.alum:hover img{transform:scale(1.07);}
.alum__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,11,0) 45%,rgba(10,10,11,0.9) 100%);}
.alum__body{position:absolute;left:0;right:0;bottom:0;padding:20px;color:#fff;}
.alum__name{font-family:var(--font-head);font-weight:700;font-size:1.15rem;}
.alum__name em{font-style:normal;color:#cfcfd4;font-weight:500;font-size:0.9rem;}
.alum__part{color:var(--accent);font-weight:600;font-size:0.82rem;letter-spacing:0.04em;}
.alum__bio{font-size:0.86rem;color:#e7e7ea;line-height:1.5;margin-top:8px;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s var(--ease),opacity .4s var(--ease),margin .4s;}
.alum:hover .alum__bio,.alum:focus-within .alum__bio{max-height:220px;opacity:1;}
.alum__ribbon{position:absolute;top:14px;left:14px;z-index:2;background:rgba(42,215,198,0.95);color:#042f2a;font-family:var(--font-head);font-weight:700;font-size:0.7rem;letter-spacing:0.08em;padding:5px 10px;border-radius:100px;text-transform:uppercase;}

/* ---------------------------------------------------------------- Buttons -- */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-head);font-weight:600;font-size:1rem;border:0;border-radius:100px;padding:14px 26px;cursor:pointer;transition:transform .3s var(--ease),background .3s var(--ease),box-shadow .3s;}
.btn--solid{background:var(--accent);color:#042f2a;}
.btn--solid:hover{transform:translateY(-2px);background:#fff;box-shadow:0 14px 30px -16px rgba(0,0,0,0.5);}
.btn--ig{margin-top:26px;background:linear-gradient(90deg,#f09433,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888);color:#fff;}
.btn--ig svg{width:20px;height:20px;fill:currentColor;}
.btn--ig:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 16px 34px -16px rgba(220,39,67,0.6);}

/* ---------------------------------------------------------------- Contact -- */
.contact{background:var(--black);color:#fff;}
.contact .eyebrow{color:var(--accent);}
.contact .section__title{color:#fff;}
.contact__inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.contact__info p{color:#b6b6bd;max-width:42ch;}
.contact__email{margin-top:18px;font-size:0.98rem;}
.contact__email a{color:var(--accent);font-weight:600;}
.contact__email a:hover{color:#fff;}
.contact__form{background:#141417;border:1px solid #262629;padding:30px;border-radius:var(--radius);}
.form__hint{margin:0 0 16px;color:#9a9aa2;font-size:0.95rem;}
.field{margin-bottom:18px;}
.field label{display:block;font-family:var(--font-head);font-weight:600;font-size:0.85rem;margin-bottom:8px;color:#d4d4d8;}
.field input,.field select,.field textarea{width:100%;padding:13px 15px;border-radius:10px;background:#0d0d0f;border:1px solid #2c2c31;color:#fff;font-family:var(--font-body);font-size:0.98rem;resize:vertical;transition:border-color .3s,box-shadow .3s;}
.field input::placeholder,.field textarea::placeholder{color:#6a6a73;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(42,215,198,0.18);}
.form__note{margin:14px 0 0;font-size:0.9rem;color:var(--accent);min-height:1.2em;}

/* ----------------------------------------------------------------- Footer -- */
.footer{background:#050506;color:#8a8a93;padding:48px 0;}
.footer__inner{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;}
.footer__brand .brand__mark{color:var(--accent);}
.footer__brand .brand__word{color:#fff;}
.footer__ig{display:inline-flex;align-items:center;gap:8px;color:#d4d4d8;font-family:var(--font-head);font-weight:600;transition:color .3s;}
.footer__ig svg{width:20px;height:20px;fill:currentColor;}
.footer__ig:hover{color:var(--accent);}
.footer__copy{font-size:0.85rem;color:#5a5a63;}
.footer__credit{font-size:0.85rem;color:#6f6f78;font-family:var(--font-head);font-weight:500;}
.footer__credit::before{content:"✦ ";color:var(--accent);}

/* --------------------------------------------------------------- Showcase -- */
.showcase{background:var(--bg);}
.showcase__grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:48px;align-items:center;margin-top:40px;}
.showcase__text p{font-size:1.06rem;margin:0 0 20px;}
.showcase__text strong{color:var(--black);}
.showcase__text em{color:var(--accent-ink);font-style:italic;}
.showcase__cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:26px 0 30px;}
.scard{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:2px;transition:transform .4s var(--ease),box-shadow .4s var(--ease);}
.scard:hover{transform:translateY(-4px);box-shadow:0 18px 36px -24px rgba(0,0,0,0.35);}
.scard__k{font-family:var(--font-head);font-weight:700;color:var(--accent-ink);font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;}
.scard__v{font-family:var(--font-head);font-weight:600;color:var(--black);font-size:1rem;}
.showcase__collage{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.showcase__collage img{width:100%;height:100%;object-fit:cover;border-radius:14px;box-shadow:0 20px 44px -30px rgba(0,0,0,0.5);}
.showcase__collage img:first-child{grid-column:1 / -1;aspect-ratio:16/10;}
.showcase__collage img:not(:first-child){aspect-ratio:1/1;}

/* ----------------------------------------------------------- About photos -- */
.about__photos{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:52px;}
.about__photos img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:14px;box-shadow:0 16px 36px -28px rgba(0,0,0,0.45);transition:transform .5s var(--ease);}
.about__photos img:hover{transform:translateY(-5px) scale(1.02);}

/* ------------------------------------------------- Floating note accents --- */
.hero__notes{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0;}
.fnote{position:absolute;font-size:2.4rem;color:var(--accent);opacity:0.18;animation:floatNote 6s ease-in-out infinite;}
.fnote--1{left:7%;top:13%;font-size:2.6rem;}
.fnote--2{left:17%;top:88%;animation-delay:1.2s;color:var(--charcoal);opacity:0.12;}
.fnote--3{left:2.5%;top:46%;animation-delay:2.4s;opacity:0.14;}
@keyframes floatNote{0%,100%{transform:translateY(0) rotate(-6deg);}50%{transform:translateY(-22px) rotate(8deg);}}

/* --------------------------------------------------- Word reveal & pop-in -- */
.split .word{display:inline-block;will-change:transform;}
.pop{opacity:0;}

/* ------------------------------------------------------------- Animations -- */
.reveal{opacity:0;transform:translateY(26px);}
@keyframes bob{0%,100%{transform:translateY(0);}50%{transform:translateY(5px);}}

/* ------------------------------------------------------------- Responsive -- */
@media (max-width:1024px){
  .alumni__grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:900px){
  .nav__toggle{display:block;}
  .nav__links{position:fixed;inset:0 0 auto 0;top:var(--nav-h);flex-direction:column;align-items:flex-start;gap:4px;background:rgba(255,255,255,0.97);backdrop-filter:blur(14px);padding:18px 24px 26px;border-bottom:1px solid var(--line);transform:translateY(-120%);transition:transform .4s var(--ease);box-shadow:0 20px 40px -24px rgba(0,0,0,0.35);}
  .nav-open .nav__links{transform:translateY(0);}
  .nav__links a{color:var(--charcoal);width:100%;padding:12px 0;font-size:1.1rem;}
  .nav__links .nav__cta{background:var(--black);color:#fff !important;width:auto;padding:12px 24px;margin-top:8px;}
  .hero{grid-template-columns:1fr;min-height:auto;}
  .hero__left{padding:calc(var(--nav-h) + 40px) 28px 48px;order:2;}
  .hero__right{order:1;clip-path:none;margin-left:0;height:56vh;min-height:360px;}
  .hero__intro{max-width:none;}
  .about__grid{grid-template-columns:1fr;gap:0;}
  .stats{grid-template-columns:repeat(2,1fr);gap:32px 16px;}
  .contact__inner{grid-template-columns:1fr;gap:36px;}

  /* members: 2-col grid of full-photo cards, tap for bio (mobile only) */
  .accordion{display:grid;grid-template-columns:1fr 1fr;gap:12px;height:auto;padding:40px 20px 0;}
  .panel{flex:none;height:auto;aspect-ratio:3/4;background-position:center;border-radius:14px;}
  .panel__scrim{background:linear-gradient(180deg,rgba(10,10,11,0) 42%,rgba(10,10,11,0.9) 100%);}
  .panel__label{writing-mode:horizontal-tb;transform:none;flex-direction:column;align-items:flex-start;gap:1px;left:13px;right:13px;bottom:12px;top:auto;translate:0 0;opacity:1;}
  .panel__label .panel__name{font-size:0.95rem;}
  .panel__label .panel__part{font-size:0.72rem;}
  .panel__content{position:absolute;inset:0;width:100%;justify-content:flex-end;padding:16px;opacity:0;transform:none;background:linear-gradient(180deg,rgba(10,10,11,0.25),rgba(10,10,11,0.94));}
  .panel.is-open .panel__content{opacity:1;}
  .panel.is-open .panel__label{opacity:0;}
  .panel__content h3{font-size:1.1rem;}
  .panel__badge{font-size:0.6rem;margin-bottom:8px;}
  .panel__bio{font-size:0.8rem;max-width:none;}
}
@media (max-width:560px){
  .alumni__grid{grid-template-columns:1fr 1fr;gap:12px;}
  .slide{flex-basis:82vw;}
}

.hero__intro{position:relative;z-index:1;}

@media (max-width:1024px){
  .nav__links{gap:22px;}
}
@media (max-width:900px){
  .showcase__grid{grid-template-columns:1fr;gap:30px;}
  .about__photos{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
  .about__photos{grid-template-columns:1fr 1fr;}
  .showcase__cards{grid-template-columns:1fr 1fr;}
}

/* --------------------------------------------------------- Reduced motion -- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1 !important;transform:none !important;}
  #notes-canvas{display:none;}
  .hero__scroll svg{animation:none;}
  .vibe__video{display:none;}
  *{transition-duration:0.01ms !important;}
}
