
/* ── RESET & BASE ────────────────────────────── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
:root{
  --deep:#081c2e; --ocean:#0d3a5c; --tide:#1a6080; --sea:#2a8fa8;
  --foam:#4dbdcc; --mist:#a8d8e0; --pearl:#e8f4f8; --cream:#faf8f4;
  --sand:#e8dfc8; --gold:#c8a040; --coral:#c4604a; --green:#3a7a5a;
  --ink:#0e1e28;
}
body{background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;overflow-x:hidden;}
img{max-width:100%;height:auto;}

/* ── NAV ─────────────────────────────────────── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 24px;
  background:rgba(8,28,46,.95);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(77,189,204,.12);
  gap:16px;
}
.nav-brand{min-width:0;}
.nav-title{font-family:'Playfair Display',serif;font-size:.9rem;font-weight:700;color:var(--foam);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.nav-sub{font-size:.65rem;font-weight:300;color:rgba(255,255,255,.4);font-style:italic;margin-top:1px;display:none;}
.nav-links{display:flex;gap:20px;list-style:none;flex-shrink:0;}
.nav-links a{font-size:.72rem;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.55);text-decoration:none;transition:color .2s;white-space:nowrap;}
.nav-links a:hover{color:var(--foam);}
@media(min-width:640px){.nav-sub{display:block;} .nav-title{font-size:1rem;}}
@media(max-width:560px){.nav-links{display:none;}}

/* ── HERO ────────────────────────────────────── */
.hero{
  min-height:100svh;
  background:linear-gradient(160deg,var(--deep) 0%,#0b2d48 40%,#0e4a6a 70%,#175c7a 100%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
  padding:120px 20px 80px;text-align:center;
}
.wave-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;}
.wave-bg svg{position:absolute;bottom:0;width:200%;}
.wave-1{animation:waveDrift 20s linear infinite;}
.wave-2{animation:waveDrift 28s linear infinite reverse;bottom:18px;opacity:.45;}
.wave-3{animation:waveDrift 36s linear infinite;bottom:36px;opacity:.22;}
@keyframes waveDrift{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ripple{position:absolute;border-radius:50%;border:1px solid rgba(77,189,204,.1);animation:rippleOut 10s ease-out infinite;pointer-events:none;}
.r1{width:200px;height:200px;top:22%;left:5%;animation-delay:0s;}
.r2{width:380px;height:380px;top:12%;left:0%;animation-delay:2.5s;}
.r3{width:160px;height:160px;top:40%;right:8%;animation-delay:1s;}
.r4{width:300px;height:300px;top:28%;right:3%;animation-delay:3.5s;}
@keyframes rippleOut{0%{opacity:.5;transform:scale(.6)}100%{opacity:0;transform:scale(1.6)}}
.hero-inner{position:relative;z-index:2;max-width:800px;width:100%;animation:heroFade .9s ease both;}
@keyframes heroFade{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.68rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--foam);margin-bottom:20px;flex-wrap:wrap;justify-content:center;}
.eyebrow::before,.eyebrow::after{content:'';width:28px;height:1px;background:var(--foam);opacity:.4;}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.4rem,8vw,5rem);font-weight:900;line-height:1.05;color:#fff;margin-bottom:6px;}
.hero h1 em{font-style:italic;color:var(--foam);}
.hero-subtitle{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(1rem,3vw,1.5rem);color:rgba(200,230,240,.8);margin:16px 0 20px;padding:0 8px;}
.hero-desc{font-size:clamp(.88rem,2.5vw,1rem);font-weight:300;color:rgba(255,255,255,.6);max-width:540px;margin:0 auto 36px;line-height:1.8;padding:0 8px;}
.date-row{display:flex;gap:0;justify-content:center;flex-wrap:wrap;margin-bottom:36px;}
.date-pill{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#fff;padding:10px 20px;font-size:.82rem;font-weight:500;}
.date-pill:first-child{border-radius:40px 0 0 40px;}
.date-pill:last-child{border-radius:0 40px 40px 0;}
.date-pill:only-child{border-radius:40px;}
.date-pill span{display:block;font-size:.64rem;font-weight:300;color:var(--mist);letter-spacing:1.5px;text-transform:uppercase;}
.hero-logos{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;padding:18px 24px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:14px;backdrop-filter:blur(8px);}
.hero-logos img{height:36px;object-fit:contain;}
.hero-logos .setu-logo{filter:brightness(0) invert(1);opacity:.85;}
.logo-div{width:1px;height:36px;background:rgba(255,255,255,.18);}
.scroll-cue{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:5px;color:rgba(255,255,255,.28);font-size:.64rem;letter-spacing:2px;text-transform:uppercase;animation:floatCue 2.2s ease-in-out infinite;}
.scroll-cue::after{content:'';width:1px;height:30px;background:linear-gradient(to bottom,rgba(255,255,255,.3),transparent);}
@keyframes floatCue{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(5px)}}

/* ── STORY SECTION ───────────────────────────── */
.story-section{background:linear-gradient(135deg,var(--ocean) 0%,#0e3d5a 50%,var(--tide) 100%);color:#fff;padding:64px 20px;}
.story-inner{max-width:960px;margin:0 auto;}
.story-label{font-size:.68rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--foam);margin-bottom:16px;}
.story-inner h2{font-family:'Playfair Display',serif;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700;margin-bottom:24px;line-height:1.2;}
.story-inner h2 em{font-style:italic;color:var(--foam);}
.story-cols{display:grid;grid-template-columns:1fr;gap:32px;}
@media(min-width:720px){.story-cols{grid-template-columns:1fr 1fr;}}
.story-cols p{font-size:.94rem;font-weight:300;line-height:1.9;color:rgba(255,255,255,.78);margin-bottom:14px;}
.story-cols p strong{color:#fff;font-weight:600;}
.story-cols blockquote{border-left:3px solid var(--foam);padding-left:18px;margin:20px 0;font-family:'Playfair Display',serif;font-style:italic;font-size:1.02rem;color:var(--mist);line-height:1.6;}
.timeline{display:flex;flex-direction:column;gap:0;}
.tl-item{display:flex;gap:16px;position:relative;padding-bottom:24px;}
.tl-item:last-child{padding-bottom:0;}
.tl-item::before{content:'';position:absolute;left:19px;top:30px;bottom:0;width:1px;background:rgba(77,189,204,.25);}
.tl-item:last-child::before{display:none;}
.tl-dot{width:40px;height:40px;border-radius:50%;background:rgba(77,189,204,.15);border:1px solid var(--foam);display:flex;align-items:center;justify-content:center;font-size:.74rem;font-weight:700;color:var(--foam);flex-shrink:0;}
.tl-content h4{font-weight:600;font-size:.88rem;color:#fff;margin-bottom:4px;}
.tl-content p{font-size:.8rem;color:rgba(255,255,255,.6);font-weight:300;line-height:1.5;margin:0;}

/* ── MAIN ────────────────────────────────────── */
.main{max-width:1160px;margin:0 auto;padding:56px 16px;}
@media(min-width:480px){.main{padding:56px 24px;}}
@media(min-width:768px){.main{padding:72px 32px;}}
.sec-head{display:flex;align-items:baseline;gap:14px;margin-bottom:28px;}
.sec-head h2{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;color:var(--ocean);white-space:nowrap;}
.sec-head::after{content:'';flex:1;height:1px;background:linear-gradient(to right,var(--mist),transparent);}

/* stats */
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:56px;}
@media(min-width:560px){.stats-grid{grid-template-columns:repeat(4,1fr);}}
.stat-card{background:var(--tide);border-radius:16px;padding:24px 16px;text-align:center;position:relative;overflow:hidden;}
.stat-card::before{content:attr(data-icon);position:absolute;font-size:60px;opacity:.25;right:4px;bottom:-6px;}
.stat-num{font-family:'Playfair Display',serif;font-size:2.6rem;font-weight:900;color:var(--foam);line-height:1;}
.stat-lbl{font-size:.7rem;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--mist);margin-top:6px;}

/* type cards */
.types-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:56px;}
@media(min-width:480px){.types-grid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:720px){.types-grid{grid-template-columns:repeat(6,1fr);}}
.type-card{background:#fff;border-radius:14px;padding:20px 12px;text-align:center;box-shadow:0 2px 12px rgba(0,0,0,.06);border-top:4px solid transparent;transition:transform .2s,box-shadow .2s;}
.type-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.1);}
.tc-ex{border-color:#2a8fa8;} .tc-pe{border-color:#3a7a5a;} .tc-wo{border-color:#c8a040;}
.tc-la{border-color:#c4604a;} .tc-st{border-color:#8a5ab0;} .tc-de{border-color:#4a8a6a;}
.type-icon{font-size:1.6rem;margin-bottom:8px;}
.type-count{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:900;line-height:1;}
.tc-ex .type-count{color:#2a8fa8;} .tc-pe .type-count{color:#3a7a5a;} .tc-wo .type-count{color:#c8a040;}
.tc-la .type-count{color:#c4604a;} .tc-st .type-count{color:#8a5ab0;} .tc-de .type-count{color:#4a8a6a;}
.type-name{font-size:.68rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#888;margin-top:4px;}

/* campus + day tabs */
.campus-tabs{display:flex;flex-wrap:wrap;gap:0;margin-bottom:4px;}
.campus-btn{flex:1;min-width:90px;padding:12px 16px;background:#fff;border:1px solid var(--mist);border-right:none;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:.8rem;font-weight:600;color:#888;transition:all .2s;text-align:center;}
.campus-btn:first-child{border-radius:12px 0 0 12px;}
.campus-btn:last-child{border-radius:0 12px 12px 0;border-right:1px solid var(--mist);}
.campus-btn.active{background:var(--ocean);color:#fff;border-color:var(--ocean);}
.campus-btn:hover:not(.active){background:var(--pearl);color:var(--ocean);}
.day-tabs{display:flex;flex-wrap:wrap;gap:0;margin-bottom:16px;border-radius:8px;overflow:hidden;border:1px solid #dce8ee;width:fit-content;max-width:100%;}
.day-btn{padding:9px 18px;background:#f8fbfc;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:.76rem;font-weight:500;color:#888;border-right:1px solid #dce8ee;transition:all .15s;}
.day-btn:last-child{border-right:none;}
.day-btn.active{background:var(--tide);color:#fff;}
.day-btn:hover:not(.active){background:var(--pearl);}
.campus-panel{display:none;}
.campus-panel.active{display:block;}
.day-panel{display:none;}
.day-panel.active{display:block;}

/* event rows */
.events-list{display:flex;flex-direction:column;gap:8px;margin-bottom:8px;}
.event-row{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  background:#fff;border-radius:12px;padding:14px 14px;
  box-shadow:0 1px 8px rgba(0,0,0,.05);border-left:3px solid transparent;
  transition:box-shadow .15s;
}
.event-row:hover{box-shadow:0 3px 16px rgba(0,0,0,.09);}
@media(min-width:600px){
  .event-row{grid-template-columns:155px 100px 1fr auto;align-items:center;gap:12px;padding:12px 16px;}
}
.er-ex{border-color:#2a8fa8;} .er-pe{border-color:#3a7a5a;} .er-wo{border-color:#c8a040;}
.er-la{border-color:#c4604a;} .er-st{border-color:#8a5ab0;} .er-de{border-color:#4a8a6a;}
.event-time{font-size:.76rem;font-weight:600;color:#555;white-space:nowrap;}
.event-tag{display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:3px 9px;border-radius:20px;white-space:nowrap;width:fit-content;}
.t-ex{background:#e3f3f8;color:#2a8fa8;} .t-pe{background:#e3f2eb;color:#3a7a5a;}
.t-wo{background:#faf2e0;color:#8a6a10;} .t-la{background:#fae9e5;color:#c4604a;}
.t-st{background:#f2eaf8;color:#8a5ab0;} .t-de{background:#e8f4ee;color:#3a7a5a;}
.event-name{font-size:.86rem;font-weight:600;color:var(--ink);}
.event-venue{font-size:.72rem;color:#888;font-weight:300;margin-top:2px;}
.event-aud{font-size:.68rem;color:#aaa;white-space:nowrap;}
.event-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}

/* booking button */
.book-btn{
  display:inline-flex;align-items:center;gap:5px;
  padding:6px 13px;border-radius:20px;
  background:var(--ocean);color:#fff;
  font-size:.7rem;font-weight:600;letter-spacing:.5px;
  text-decoration:none;white-space:nowrap;
  border:none;cursor:pointer;
  transition:background .2s,transform .1s;
}
.book-btn:hover{background:var(--tide);transform:translateY(-1px);}
.book-btn::before{content:'🎟';font-size:.75rem;}

/* venues */
.venues-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:56px;}
@media(min-width:480px){.venues-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:900px){.venues-grid{grid-template-columns:repeat(3,1fr);}}
.venue-card{background:#fff;border-radius:14px;padding:20px;box-shadow:0 2px 12px rgba(0,0,0,.06);display:flex;gap:14px;border-bottom:3px solid var(--sea);transition:transform .2s;}
.venue-card:hover{transform:translateY(-3px);}
.vc-icon{font-size:1.7rem;flex-shrink:0;margin-top:2px;}
.vc-name{font-weight:700;font-size:.88rem;color:var(--ocean);}
.vc-count{font-size:.76rem;color:#888;margin-top:2px;}
.vc-pills{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;}
.vc-pill{font-size:.62rem;padding:2px 8px;border-radius:20px;background:var(--pearl);color:var(--tide);font-weight:500;}

/* SDG section */
.sdg-section{background:var(--deep);color:#fff;padding:64px 20px;text-align:center;}
.sdg-section h2{font-family:'Playfair Display',serif;font-size:clamp(1.6rem,4vw,2rem);color:var(--foam);margin-bottom:12px;}
.sdg-lead{max-width:640px;margin:0 auto 36px;font-size:.93rem;font-weight:300;color:rgba(255,255,255,.72);line-height:1.8;}
.sdg-layout{display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap;}
.sdg-wheel-wrap{border-radius:50%;overflow:hidden;box-shadow:0 0 0 4px rgba(77,189,204,.25),0 0 50px rgba(77,189,204,.12);flex-shrink:0;}
.sdg-wheel-wrap img{width:180px;height:180px;display:block;}
.sdg-goals{display:flex;flex-direction:column;gap:7px;align-items:flex-start;}
.sdg-badge{padding:7px 16px;border-radius:8px;font-size:.78rem;font-weight:600;color:#fff;text-align:left;}

/* award */
.award-section{padding:64px 20px;background:var(--pearl);}
.award-inner{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:40px;align-items:center;}
@media(min-width:768px){.award-inner{grid-template-columns:1fr 1fr;gap:56px;}}
.award-label{font-size:.68rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--sea);margin-bottom:14px;}
.award-text h2{font-family:'Playfair Display',serif;font-size:clamp(1.5rem,3.5vw,2rem);font-weight:700;color:var(--ocean);margin-bottom:18px;line-height:1.2;}
.award-text p{font-size:.93rem;font-weight:300;color:#555;line-height:1.85;margin-bottom:12px;}
.award-text strong{color:var(--ocean);font-weight:600;}
.award-img-wrap{border-radius:18px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.12);}
.award-img-wrap img{width:100%;display:block;}

/* footer */
footer{background:var(--deep);padding:36px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.ft-brand{font-family:'Playfair Display',serif;font-size:.95rem;font-weight:700;color:var(--foam);}
.ft-brand span{display:block;font-family:'DM Sans',sans-serif;font-size:.74rem;font-weight:300;color:rgba(255,255,255,.4);margin-top:4px;font-style:italic;}
.ft-logos img{height:32px;object-fit:contain;filter:brightness(0) invert(1);opacity:.45;transition:opacity .2s;}
.ft-logos img:hover{opacity:.75;}
footer p{font-size:.72rem;color:rgba(255,255,255,.35);}

/* fade-in */
.fi{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease;}
.fi.vis{opacity:1;transform:translateY(0);}

/* touch targets */
@media(max-width:599px){
  .campus-btn,.day-btn{padding:12px 14px;}
  .book-btn{padding:8px 14px;font-size:.72rem;}
}

/* ── HAMBURGER MENU ──────────────────────────── */
.hamburger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:40px;height:40px;background:none;border:none;cursor:pointer;
  padding:4px;flex-shrink:0;
}
.hamburger span{
  display:block;width:24px;height:2px;
  background:rgba(255,255,255,.7);border-radius:2px;
  transition:transform .3s ease,opacity .3s ease,background .2s;
}
.hamburger:hover span{background:#fff;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(max-width:560px){
  .hamburger{display:flex;}
  .nav-links{
    display:none;position:fixed;top:57px;left:0;right:0;
    background:rgba(8,28,46,.98);backdrop-filter:blur(14px);
    flex-direction:column;gap:0;
    border-bottom:1px solid rgba(77,189,204,.15);
    z-index:199;
  }
  .nav-links.open{display:flex;}
  .nav-links li{border-top:1px solid rgba(255,255,255,.06);}
  .nav-links a{
    display:block;padding:16px 24px;
    font-size:.8rem;letter-spacing:2px;
    color:rgba(255,255,255,.7);
  }
  .nav-links a:hover{color:var(--foam);background:rgba(77,189,204,.06);}
}

/* ── SDG LINK ────────────────────────────────── */
.sdg-link{
  display:inline-flex;align-items:center;gap:8px;
  margin-top:4px;
  padding:9px 20px;border-radius:30px;
  background:rgba(77,189,204,.12);
  border:1px solid rgba(77,189,204,.35);
  color:var(--foam);
  font-size:.8rem;font-weight:500;letter-spacing:.5px;
  text-decoration:none;
  transition:background .2s,border-color .2s,transform .15s;
}
.sdg-link:hover{
  background:rgba(77,189,204,.22);
  border-color:rgba(77,189,204,.6);
  transform:translateY(-2px);
}
.sdg-link::before{content:'🌐';font-size:.85rem;}

/* ── FOOTER LOGO LINK ────────────────────────── */
.ft-logo-link{display:inline-block;line-height:0;}
.ft-logos img{height:150px;object-fit:contain;filter:brightness(0) invert(1);opacity:.55;transition:opacity .2s;}
.ft-logos img:hover{opacity:.9;}

/* ═══════════════════════════════════════════════
   EVENT PAGE STYLES
   ═══════════════════════════════════════════════ */

/* ── EVENT HERO (compact, not full-height) ────── */
.event-hero{
  background:linear-gradient(160deg,var(--deep) 0%,#0b2d48 40%,#0e4a6a 70%,#175c7a 100%);
  position:relative;overflow:hidden;
  padding:110px 20px 56px;
  text-align:center;
}
.event-hero .wave-bg svg{opacity:.6;}
.event-back{
  display:inline-flex;align-items:center;gap:7px;
  color:rgba(255,255,255,.5);font-size:.72rem;font-weight:500;
  letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;
  margin-bottom:28px;
  transition:color .2s;
}
.event-back:hover{color:var(--foam);}
.event-back::before{content:'←';font-size:.85rem;}
.event-hero-inner{position:relative;z-index:2;max-width:760px;margin:0 auto;animation:heroFade .8s ease both;}
.event-type-badge{
  display:inline-block;
  font-size:.68rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  padding:5px 14px;border-radius:20px;margin-bottom:18px;
  background:rgba(77,189,204,.18);border:1px solid rgba(77,189,204,.4);color:var(--foam);
}
.event-hero h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.8rem,5vw,3.2rem);font-weight:900;line-height:1.1;
  color:#fff;margin-bottom:14px;
}
.event-hero h1 em{font-style:italic;color:var(--foam);}
.event-hero-meta{
  display:flex;align-items:center;justify-content:center;
  flex-wrap:wrap;gap:10px;margin-bottom:28px;
}
.event-meta-pill{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.8);padding:8px 16px;border-radius:30px;
  font-size:.8rem;font-weight:500;
}
.event-meta-pill .pill-icon{font-size:.9rem;}
.event-hero-book{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 28px;border-radius:30px;
  background:var(--foam);color:var(--deep);
  font-size:.85rem;font-weight:700;letter-spacing:.5px;
  text-decoration:none;
  transition:background .2s,transform .15s,box-shadow .2s;
  box-shadow:0 4px 20px rgba(77,189,204,.3);
}
.event-hero-book:hover{background:#6acfdb;transform:translateY(-2px);box-shadow:0 8px 28px rgba(77,189,204,.4);}
.event-hero-book::before{content:'🎟';font-size:.9rem;}

/* ── EVENT BODY ───────────────────────────────── */
.event-body{max-width:900px;margin:0 auto;padding:56px 16px;}
@media(min-width:480px){.event-body{padding:56px 24px;}}
@media(min-width:768px){.event-body{padding:72px 40px;}}

/* description */
.event-description{
  font-size:1rem;font-weight:300;line-height:1.9;color:#444;
  margin-bottom:48px;
}
.event-description p{margin-bottom:16px;}
.event-description p:last-child{margin-bottom:0;}
.event-description strong{color:var(--ocean);font-weight:600;}

/* detail grid */
.event-details{
  display:grid;grid-template-columns:1fr;gap:12px;
  margin-bottom:48px;
}
@media(min-width:500px){.event-details{grid-template-columns:repeat(2,1fr);}}
@media(min-width:768px){.event-details{grid-template-columns:repeat(3,1fr);}}
.detail-card{
  background:#fff;border-radius:14px;padding:20px;
  box-shadow:0 2px 12px rgba(0,0,0,.06);
  border-top:3px solid var(--sea);
  display:flex;flex-direction:column;gap:6px;
}
.detail-label{font-size:.65rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--sea);}
.detail-value{font-size:.95rem;font-weight:600;color:var(--ink);}
.detail-sub{font-size:.78rem;font-weight:300;color:#888;}

/* organiser / presenter block */
.event-presenter{
  background:linear-gradient(135deg,var(--ocean) 0%,var(--tide) 100%);
  color:#fff;border-radius:18px;padding:32px;
  margin-bottom:48px;
  display:flex;gap:20px;align-items:flex-start;
  flex-wrap:wrap;
}
.presenter-avatar{
  width:64px;height:64px;border-radius:50%;
  background:rgba(77,189,204,.2);border:2px solid rgba(77,189,204,.4);
  display:flex;align-items:center;justify-content:center;
  font-size:1.8rem;flex-shrink:0;
}
.presenter-info{flex:1;min-width:180px;}
.presenter-role{font-size:.68rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--foam);margin-bottom:6px;}
.presenter-name{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;margin-bottom:6px;}
.presenter-bio{font-size:.85rem;font-weight:300;color:rgba(255,255,255,.75);line-height:1.7;}

/* related SDGs */
.event-sdgs{margin-bottom:48px;}
.event-sdgs h3{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;color:var(--ocean);margin-bottom:16px;}
.event-sdg-pills{display:flex;flex-wrap:wrap;gap:8px;}
.event-sdg-pill{
  padding:7px 16px;border-radius:8px;
  font-size:.78rem;font-weight:600;color:#fff;
}

/* image placeholder */
.event-image-wrap{
  border-radius:18px;overflow:hidden;
  margin-bottom:48px;
  background:var(--pearl);
  aspect-ratio:16/9;
  display:flex;align-items:center;justify-content:center;
  border:2px dashed var(--mist);
  color:var(--sea);font-size:.88rem;font-weight:500;
  letter-spacing:.5px;text-align:center;padding:20px;
}
.event-image-wrap img{width:100%;height:100%;object-fit:cover;display:block;}

/* back/nav strip at bottom */
.event-nav-strip{
  display:flex;align-items:center;justify-content:space-between;
  padding:24px 0;border-top:1px solid var(--mist);
  flex-wrap:wrap;gap:12px;
}
.event-nav-strip a{
  display:inline-flex;align-items:center;gap:7px;
  font-size:.8rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;
  color:var(--ocean);text-decoration:none;
  padding:10px 20px;border-radius:30px;
  border:1px solid var(--mist);
  transition:background .2s,border-color .2s,color .2s;
}
.event-nav-strip a:hover{background:var(--ocean);color:#fff;border-color:var(--ocean);}
.event-nav-strip .back-link::before{content:'←';}
.event-nav-strip .fwd-link::after{content:'→';}

/* ═══════════════════════════════════════════════
   MEET THE TEAM SECTION
   ═══════════════════════════════════════════════ */
.team-section{
  background:var(--cream);
  padding:80px 20px;
}
.team-inner{max-width:1160px;margin:0 auto;}
.team-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
  margin-top:8px;
}
@media(min-width:480px){.team-grid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:768px){.team-grid{grid-template-columns:repeat(4,1fr);gap:28px;}}
@media(min-width:1024px){.team-grid{grid-template-columns:repeat(5,1fr);}}

.team-card{
  display:flex;flex-direction:column;align-items:center;
  text-align:center;
  background:#fff;
  border-radius:18px;
  padding:28px 16px 22px;
  box-shadow:0 2px 16px rgba(0,0,0,.07);
  transition:transform .25s ease,box-shadow .25s ease;
}
.team-card:hover{
  transform:translateY(-5px);
  box-shadow:0 10px 32px rgba(13,58,92,.12);
}
.team-photo-wrap{
  width:96px;height:96px;
  border-radius:50%;
  overflow:hidden;
  margin-bottom:16px;
  border:3px solid var(--mist);
  box-shadow:0 0 0 3px #fff, 0 0 0 5px var(--mist);
  flex-shrink:0;
}
.team-photo-wrap img{
  width:100%;height:100%;
  object-fit:cover;object-position:top center;
  display:block;
}
.team-name{
  font-family:'Playfair Display',serif;
  font-size:.95rem;font-weight:700;
  color:var(--ocean);
  line-height:1.3;
}
/* First card (Hazel) gets a subtle lead highlight */
.team-card--lead .team-photo-wrap{
  width:110px;height:110px;
  border-color:var(--foam);
  box-shadow:0 0 0 3px #fff, 0 0 0 5px var(--foam);
}
.team-card--lead .team-name{color:var(--tide);}

/* ═══════════════════════════════════════════════
   PARTNERS SECTION
   ═══════════════════════════════════════════════ */
.partners-section{
  background:var(--pearl);
  padding:80px 20px;
}
.partners-inner{max-width:1000px;margin:0 auto;}

.partners-grid{
  display:flex;
  flex-direction:column;
  gap:20px;
  margin-top:8px;
}
@media(min-width:640px){
  .partners-grid{
    flex-direction:row;
    align-items:stretch;
    flex-wrap:wrap;
    gap:24px;
  }
}

.partner-card{
  flex:1;min-width:240px;
  border-radius:18px;
  padding:32px 28px;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 18px rgba(0,0,0,.08);
  transition:transform .25s ease,box-shadow .25s ease;
  overflow:hidden;
}
.partner-card:hover{
  transform:translateY(-4px);
  box-shadow:0 10px 32px rgba(0,0,0,.14);
}
.partner-card img{
  max-width:100%;
  max-height:80px;
  width:auto;
  height:auto;
  object-fit:contain;
  display:block;
}

/* Dark-background partners (EU-CONEXUS, UniZD) */
.partner-card--dark{
  background:#0a0a12;
}
/* Light-background partners (Georgia Southern) */
.partner-card--light{
  background:#fff;
}

/* EU-CONEXUS logo is very wide — allow it more height */
.partner-card--conexus img{max-height:60px;}
/* UniZD is square-ish */
.partner-card--unizd img{max-height:90px;}
/* Georgia Southern is taller — needs more room */
.partner-card--georgia img{max-height:120px;}

@media(max-width:639px){
  .partner-card{min-width:unset;width:100%;}
  .partner-card img{max-height:70px;}
  .partner-card--georgia img{max-height:110px;}
}

/* ── DETAILS BUTTON (secondary style) ───────── */
.det-btn{
  background:transparent;
  border:1px solid var(--ocean);
  color:var(--ocean);
}
.det-btn:hover{background:var(--ocean);color:#fff;}
