/* GECF Website — Hi-fi Design */

:root{
  --red: #E1232C;
  --red-dark: #B81A22;
  --red-soft: #FCE9EA;
  --ink: #0A0A0A;
  --ink-2: #2C2C2C;
  --ink-3: #6B6B6B;
  --ink-4: #9A9A9A;
  --line: #E5E5E5;
  --line-2: #F0F0F0;
  --bg: #FFFFFF;
  --bg-2: #FAFAFA;
  --bg-3: #F5F5F5;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{
  font-family:'Inter',ui-sans-serif,system-ui,sans-serif;
  color:var(--ink);
  background:#fff;
  font-size:15px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
.serif{font-family:'Fraunces','Source Serif Pro',Georgia,serif;letter-spacing:-0.015em}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace}

/* ============ Top page-switcher (design tool only, not part of site) ============ */
.switcher{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:#0a0a0a; color:#fff;
  height:44px; display:flex; align-items:center;
  padding:0 16px; border-bottom:1px solid #222;
  font-family:'JetBrains Mono',monospace; font-size:11px;
}
.switcher .label{
  color:#888; letter-spacing:0.16em; text-transform:uppercase;
  margin-right:18px;
}
.switcher-tabs{display:flex; gap:0; overflow-x:auto; flex:1}
.switcher-tabs::-webkit-scrollbar{display:none}
.switcher-tabs button{
  appearance:none; background:transparent; border:0;
  color:#888; padding:6px 14px; cursor:pointer;
  font-family:inherit; font-size:11px; letter-spacing:0.04em;
  white-space:nowrap; border-bottom:2px solid transparent;
  transition: color .15s, border-color .15s;
}
.switcher-tabs button:hover{color:#fff}
.switcher-tabs button.active{color:#fff; border-bottom-color:var(--red)}
.switcher-tabs button .num{color:#666; margin-right:8px}
.switcher-tabs button.active .num{color:var(--red)}

/* main content offset for switcher */
.app{padding-top:44px}

/* page hidden/visible */
.page{display:none}
.page.active{display:block}

/* ============ Site nav ============ */
.nav{
  position:sticky; top:44px; z-index:50;
  background:#fff;
  border-bottom:1px solid var(--line);
  height:76px;
}
.nav-inner{
  max-width:1280px; margin:0 auto; padding:0 32px;
  height:100%; display:flex; align-items:center; justify-content:space-between;
}
.nav-logo{display:flex; align-items:center; gap:0}
.nav-logo img{height:42px; width:auto}
.nav-links{display:flex; gap:0; align-items:center}
.nav-links a{
  color:var(--ink-2); text-decoration:none;
  padding:10px 18px; font-size:14px;
  position:relative;
  transition:color .15s;
}
.nav-links a:hover{color:var(--red)}
.nav-links a.active{color:var(--red); font-weight:500}
.nav-cta{
  background:var(--red); color:#fff;
  padding:11px 22px; border-radius:0;
  text-decoration:none; font-size:13px; font-weight:500;
  letter-spacing:0.02em;
  transition:background .15s;
}
.nav-cta:hover{background:var(--red-dark)}

/* ============ HOME hero (video) ============ */
.hero-video{
  position:relative;
  height:calc(100vh - 120px); min-height:640px;
  background:#000;
  overflow:hidden;
  display:flex; align-items:flex-end;
}
.hero-video::before{
  /* hero image — placeholder for video poster */
  content:'';
  position:absolute; inset:0;
  background-image:url('https://images.unsplash.com/photo-1523580494863-6f3031224c94?w=2000&q=80&auto=format&fit=crop');
  background-size:cover; background-position:center;
  filter:brightness(0.55) contrast(1.05);
}
.hero-video::after{
  /* dark gradient for text legibility */
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0) 35%, rgba(0,0,0,0.55) 75%, rgba(0,0,0,0.85) 100%);
}
.hero-video .video-tag{
  position:absolute; top:32px; left:32px;
  display:flex; align-items:center; gap:8px;
  font-family:'JetBrains Mono',monospace; font-size:11px;
  color:#fff;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.18);
  backdrop-filter:blur(10px);
  padding:8px 14px;
  letter-spacing:0.1em; text-transform:uppercase;
  z-index:3;
}
.hero-video .video-tag .rec{
  width:8px; height:8px; border-radius:50%; background:var(--red);
  animation: pulse 1.6s ease-in-out infinite;
}
@keyframes pulse{
  0%,100%{opacity:1; transform:scale(1)}
  50%{opacity:0.5; transform:scale(1.2)}
}
.hero-video .play-btn{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:88px; height:88px; border-radius:50%;
  background:rgba(255,255,255,0.1);
  border:1px solid rgba(255,255,255,0.4);
  backdrop-filter:blur(20px);
  display:flex; align-items:center; justify-content:center;
  z-index:3;
  cursor:pointer; transition:all .2s;
}
.hero-video .play-btn:hover{background:rgba(255,255,255,0.18); transform:translate(-50%,-50%) scale(1.05)}
.hero-video .play-btn svg{width:32px; height:32px; fill:#fff; margin-left:5px}

.hero-content{
  position:relative; z-index:2;
  max-width:1280px; margin:0 auto; padding:0 32px 80px 32px; width:100%;
}
.hero-eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:11px; letter-spacing:0.2em; text-transform:uppercase;
  color:rgba(255,255,255,0.85); margin-bottom:24px;
  display:flex; align-items:center; gap:12px;
}
.hero-eyebrow::before{
  content:''; display:block; width:32px; height:1px; background:var(--red);
}
.hero-title{
  font-family:'Fraunces',serif; font-weight:300;
  font-size:clamp(40px, 6.5vw, 92px);
  line-height:1.02; letter-spacing:-0.025em;
  color:#fff; max-width:18ch;
}
.hero-title em{font-style:italic; color:var(--red); font-weight:400}
.hero-cta-row{display:flex; gap:14px; margin-top:40px}
.btn-primary{
  background:var(--red); color:#fff;
  padding:16px 32px; border:0;
  font-family:inherit; font-size:14px; font-weight:500;
  letter-spacing:0.02em; cursor:pointer; text-decoration:none;
  display:inline-flex; align-items:center; gap:10px;
  transition:background .15s;
}
.btn-primary:hover{background:var(--red-dark)}
.btn-primary svg{width:14px; height:14px}
.btn-ghost{
  background:transparent; color:#fff;
  padding:16px 32px; border:1px solid rgba(255,255,255,0.5);
  font-family:inherit; font-size:14px; font-weight:500;
  letter-spacing:0.02em; cursor:pointer; text-decoration:none;
  display:inline-flex; align-items:center; gap:10px;
  transition:all .15s;
}
.btn-ghost:hover{border-color:#fff; background:rgba(255,255,255,0.06)}
.btn-dark{
  background:#000; color:#fff;
  padding:14px 28px; border:0;
  font-family:inherit; font-size:14px; font-weight:500;
  cursor:pointer; text-decoration:none;
  display:inline-flex; align-items:center; gap:10px;
  transition:opacity .15s;
}
.btn-dark:hover{opacity:0.85}
.btn-outline{
  background:transparent; color:var(--ink);
  padding:14px 28px; border:1px solid var(--ink);
  font-family:inherit; font-size:14px; font-weight:500;
  cursor:pointer; text-decoration:none;
  display:inline-flex; align-items:center; gap:10px;
  transition:all .15s;
}
.btn-outline:hover{background:var(--ink); color:#fff}

/* ============ Page sections ============ */
.section{padding:120px 0; border-top:1px solid var(--line)}
.section.tight{padding:80px 0}
.section.dark{background:var(--ink); color:#fff; border-top:0}
.section.gray{background:var(--bg-3); border-top:0}
.wrap{max-width:1280px; margin:0 auto; padding:0 32px}
.wrap-narrow{max-width:980px; margin:0 auto; padding:0 32px}

.section-eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:11px; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--red); margin-bottom:24px;
  display:flex; align-items:center; gap:12px;
}
.section-eyebrow::before{
  content:''; display:block; width:32px; height:1px; background:var(--red);
}
.dark .section-eyebrow{color:var(--red)}
.section-title{
  font-family:'Fraunces',serif; font-weight:300;
  font-size:clamp(36px, 4.5vw, 64px);
  line-height:1.05; letter-spacing:-0.02em;
  max-width:22ch;
}
.section-title em{font-style:italic; color:var(--red)}
.section-lede{
  font-size:18px; color:var(--ink-2); max-width:62ch;
  margin-top:24px; line-height:1.5;
}
.dark .section-lede{color:#bdbdbd}
.section-head{
  display:grid; grid-template-columns:1fr 1fr; gap:64px;
  align-items:end; margin-bottom:64px;
}
.section-head.center{
  grid-template-columns:1fr;
  text-align:center;
  align-items:center;
}
.section-head.center .section-title,
.section-head.center .section-lede{margin-left:auto; margin-right:auto}
.section-head.center .section-eyebrow{justify-content:center}
.section-head.center .section-eyebrow::before{display:none}

/* ============ Audience cards (Home + What We Do hub) ============ */
.audience-grid{
  display:grid; grid-template-columns:repeat(4, 1fr);
  border-top:1px solid var(--ink);
  border-left:1px solid var(--ink);
}
.audience-card{
  background:#fff;
  border-right:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
  padding:0;
  min-height:480px;
  display:flex; flex-direction:column; justify-content:flex-end;
  text-decoration:none; color:inherit;
  transition:background .2s;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.audience-card .ac-img{
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  filter:grayscale(0.5) brightness(0.85);
  transition:filter .3s, transform .5s;
  z-index:0;
}
.audience-card:hover .ac-img{filter:grayscale(0) brightness(0.7); transform:scale(1.04)}
.audience-card .ac-img::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.2) 50%, rgba(0,0,0,0.85) 100%);
}
.audience-card .ac-body{
  position:relative; z-index:1;
  padding:40px 32px;
  color:#fff;
  display:flex; flex-direction:column; gap:14px;
  height:100%; justify-content:space-between;
}
.audience-card.no-img .ac-body{color:var(--ink)}
.audience-card.no-img:hover{background:var(--ink)}
.audience-card.no-img:hover .ac-body{color:#fff}
.audience-card:hover{background:var(--ink); color:#fff}
.audience-card:hover .audience-num{color:var(--red)}
.audience-card:hover .audience-arrow{transform:translateX(8px); color:var(--red)}
.audience-num{
  font-family:'JetBrains Mono',monospace; font-size:12px;
  color:rgba(255,255,255,0.75); letter-spacing:0.1em;
  transition:color .2s;
}
.audience-card:hover .audience-num{color:var(--red)}
.audience-card.no-img .audience-num{color:var(--ink-3)}
.audience-title{
  font-family:'Fraunces',serif; font-weight:400;
  font-size:32px; line-height:1.1; letter-spacing:-0.015em;
  margin-top:auto;
}
.audience-desc{
  font-size:14px; color:rgba(255,255,255,0.85); margin-top:8px; line-height:1.5;
}
.audience-card.no-img .audience-desc{color:var(--ink-3)}
.audience-card.no-img:hover .audience-desc{color:#bdbdbd}
.audience-arrow{
  margin-top:0;
  font-family:'JetBrains Mono',monospace; font-size:12px;
  color:#fff;
  display:inline-flex; align-items:center; gap:8px;
  transition:transform .2s, color .2s;
}
.audience-card.no-img .audience-arrow{color:var(--ink-3)}

/* ============ Partners strip ============ */
.partners-grid{
  display:grid; grid-template-columns:repeat(5, 1fr);
  gap:0;
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
  margin-top:48px;
}
.partner-tile{
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:40px 24px;
  height:140px;
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  transition:background .2s;
}
.partner-tile:hover{background:var(--bg-3)}
.partner-tile .name{
  font-family:'Fraunces',serif; font-size:15px;
  color:var(--ink-2); line-height:1.2;
  letter-spacing:-0.005em;
}
.partner-tile .name small{display:block; font-family:'Inter',sans-serif; font-size:10px; color:var(--ink-4); margin-top:6px; letter-spacing:0.1em; text-transform:uppercase}

/* ============ Awards (flat 7-card grid) ============ */
.awards-grid{
  display:grid; grid-template-columns:repeat(3, 1fr);
  gap:0;
  border-top:1px solid var(--ink);
  border-left:1px solid var(--ink);
}
.award-card{
  background:#fff;
  border-right:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
  padding:36px 32px;
  min-height:320px;
  display:flex; flex-direction:column;
  text-decoration:none; color:inherit;
  transition:background .2s;
  position:relative;
  overflow:hidden;
}
.award-card .award-img-strip{
  height:120px; margin:-36px -32px 24px -32px;
  background-size:cover; background-position:center;
  filter:grayscale(0.4);
  transition:filter .3s;
}
.award-card:hover .award-img-strip{filter:grayscale(0)}
.award-card .award-img-strip.a1{background-image:url('https://images.unsplash.com/photo-1523580494863-6f3031224c94?w=900&q=80&auto=format&fit=crop')}
.award-card .award-img-strip.a2{background-image:url('https://images.unsplash.com/photo-1571260899304-425eee4c7efc?w=900&q=80&auto=format&fit=crop')}
.award-card .award-img-strip.a3{background-image:url('https://images.unsplash.com/photo-1606761568499-6d2451b23c66?w=900&q=80&auto=format&fit=crop')}
.award-card .award-img-strip.a4{background-image:url('https://images.unsplash.com/photo-1580582932707-520aed937b7b?w=900&q=80&auto=format&fit=crop')}
.award-card .award-img-strip.a5{background-image:url('https://images.unsplash.com/photo-1531058020387-3be344556be6?w=900&q=80&auto=format&fit=crop')}
.award-card .award-img-strip.a6{background-image:url('https://images.unsplash.com/photo-1517048676732-d65bc937f952?w=900&q=80&auto=format&fit=crop')}
.award-card:hover{background:#000; color:#fff}
.award-card:hover .award-num{color:var(--red)}
.award-num{
  font-family:'JetBrains Mono',monospace; font-size:11px;
  color:var(--red); letter-spacing:0.1em;
  margin-bottom:24px;
}
.award-title{
  font-family:'Fraunces',serif; font-weight:400;
  font-size:24px; line-height:1.15; letter-spacing:-0.012em;
  margin-bottom:auto;
}
.award-desc{
  font-size:13px; color:var(--ink-3); margin-top:20px; line-height:1.5;
}
.award-card:hover .award-desc{color:#bdbdbd}
.award-card.featured{
  background:var(--red); color:#fff;
  grid-column:span 1;
}
.award-card.featured .award-num{color:#fff}
.award-card.featured .award-desc{color:rgba(255,255,255,0.85)}
.award-card.featured:hover{background:var(--red-dark)}

/* ============ Chair quote ============ */
.chair-block{
  display:grid; grid-template-columns: 360px 1fr; gap:64px;
  align-items:start;
}
.chair-photo{
  width:100%; aspect-ratio: 4/5;
  background-image:url('https://images.unsplash.com/photo-1560250097-0b93528c311a?w=900&q=80&auto=format&fit=crop');
  background-size:cover; background-position:center top;
  position:relative;
  filter:grayscale(0.15);
}
.chair-photo::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 60%, rgba(0,0,0,0.5) 100%);
}
.chair-quote{
  font-family:'Fraunces',serif; font-weight:300;
  font-size:36px; line-height:1.25; letter-spacing:-0.015em;
}
.chair-attr{
  margin-top:48px; padding-top:24px;
  border-top:1px solid rgba(255,255,255,0.15);
  display:flex; flex-direction:column; gap:6px;
}
.chair-name{font-family:'Fraunces',serif; font-size:22px}
.chair-role{color:#bdbdbd; font-size:14px}

/* ============ Stat row ============ */
.stat-row{
  display:grid; grid-template-columns:repeat(4, 1fr);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.stat{
  padding:48px 32px;
  border-right:1px solid var(--line);
}
.stat:last-child{border-right:0}
.stat-num{
  font-family:'Fraunces',serif; font-weight:300;
  font-size:64px; line-height:1; letter-spacing:-0.03em;
  color:var(--ink);
}
.stat-num em{color:var(--red); font-style:normal}
.stat-label{
  font-family:'JetBrains Mono',monospace; font-size:11px;
  color:var(--ink-3); letter-spacing:0.1em; text-transform:uppercase;
  margin-top:14px;
}

/* ============ Long-form editorial ============ */
.editorial{
  display:grid; grid-template-columns:240px 1fr; gap:80px;
}
.editorial .toc{
  position:sticky; top:140px; align-self:start;
  font-family:'JetBrains Mono',monospace; font-size:12px;
}
.editorial .toc-label{
  color:var(--ink-3); letter-spacing:0.16em; text-transform:uppercase;
  font-size:10px; margin-bottom:18px;
}
.editorial .toc a{
  display:block; padding:7px 0 7px 12px;
  color:var(--ink-3); text-decoration:none;
  border-left:1px solid var(--line);
}
.editorial .toc a.active{color:var(--ink); border-left-color:var(--red)}
.editorial .toc a:hover{color:var(--ink)}
.editorial-body{max-width:62ch}
.editorial-body h2{
  font-family:'Fraunces',serif; font-weight:300;
  font-size:42px; line-height:1.1; letter-spacing:-0.02em;
  margin:64px 0 24px 0;
}
.editorial-body h2:first-child{margin-top:0}
.editorial-body p{
  font-size:17px; line-height:1.7; color:var(--ink-2); margin-bottom:20px;
}
.editorial-body p.lede{
  font-family:'Fraunces',serif; font-weight:400;
  font-size:24px; line-height:1.45; letter-spacing:-0.005em;
  color:var(--ink); margin-bottom:32px;
}
.three-col{
  display:grid; grid-template-columns:repeat(3,1fr); gap:32px;
  padding:48px 0; margin-top:32px;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.three-col .col-label{
  font-family:'JetBrains Mono',monospace; font-size:11px;
  color:var(--red); letter-spacing:0.14em; text-transform:uppercase;
  margin-bottom:14px;
}
.three-col .col-h{
  font-family:'Fraunces',serif; font-size:22px; line-height:1.2; letter-spacing:-0.01em;
}

/* ============ Audience page (For Students etc.) ============ */
.audience-hero{
  padding:120px 0 80px 0;
  border-bottom:1px solid var(--line);
}
.audience-hero-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end;
}
.audience-pill{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 12px;
  background:var(--red);
  color:#fff;
  font-family:'JetBrains Mono',monospace; font-size:11px;
  letter-spacing:0.1em; text-transform:uppercase;
}
.audience-h1{
  font-family:'Fraunces',serif; font-weight:300;
  font-size:clamp(40px,5vw,72px);
  line-height:1.05; letter-spacing:-0.025em;
  margin-top:24px;
}
.audience-h1 em{color:var(--red); font-style:italic; font-weight:400}
.audience-summary{
  font-size:17px; color:var(--ink-2); line-height:1.55;
}

.benefits-list{
  border-top:1px solid var(--ink);
  margin-top:48px;
}
.benefit-row{
  display:grid; grid-template-columns:80px 1fr 1.2fr 60px;
  gap:32px; align-items:start;
  padding:32px 0;
  border-bottom:1px solid var(--line);
  transition:background .2s;
}
.benefit-row:hover{background:var(--bg-3)}
.benefit-num{
  font-family:'JetBrains Mono',monospace; font-size:12px;
  color:var(--red); letter-spacing:0.1em;
  padding-top:6px;
}
.benefit-title{
  font-family:'Fraunces',serif; font-weight:400;
  font-size:24px; line-height:1.2; letter-spacing:-0.01em;
}
.benefit-desc{
  font-size:15px; color:var(--ink-2); line-height:1.6;
}
.benefit-arrow{
  font-family:'JetBrains Mono',monospace; font-size:14px;
  color:var(--ink-3); padding-top:6px; text-align:right;
}

.cross-links{
  display:grid; grid-template-columns:repeat(3, 1fr);
  border-top:1px solid var(--line);
  padding-top:48px; gap:32px;
}
.cross-links a{
  text-decoration:none; color:inherit;
  display:flex; flex-direction:column; gap:8px;
  padding:24px 0;
  border-top:2px solid var(--ink);
  transition:border-color .2s;
}
.cross-links a:hover{border-top-color:var(--red)}
.cross-links a:hover .cl-name{color:var(--red)}
.cl-label{
  font-family:'JetBrains Mono',monospace; font-size:10px;
  color:var(--ink-3); letter-spacing:0.14em; text-transform:uppercase;
}
.cl-name{
  font-family:'Fraunces',serif; font-size:22px; line-height:1.15;
  transition:color .2s;
}

/* ============ Leadership ============ */
.leaders-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:48px 32px;
}
.leader{display:flex; flex-direction:column; gap:0}
.leader-photo{
  width:100%; aspect-ratio:4/5;
  background-size:cover; background-position:center top;
  position:relative;
  filter:grayscale(0.4) contrast(1.05);
  transition:filter .3s;
}
.leader:hover .leader-photo{filter:grayscale(0) contrast(1.05)}
.leader-photo.p1{background-image:url('https://images.unsplash.com/photo-1560250097-0b93528c311a?w=700&q=80&auto=format&fit=crop')}
.leader-photo.p2{background-image:url('https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=700&q=80&auto=format&fit=crop')}
.leader-photo.p3{background-image:url('https://images.unsplash.com/photo-1556157382-97eda2d62296?w=700&q=80&auto=format&fit=crop')}
.leader-photo.p4{background-image:url('https://images.unsplash.com/photo-1568602471122-7832951cc4c5?w=700&q=80&auto=format&fit=crop')}
.leader-photo.p5{background-image:url('https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?w=700&q=80&auto=format&fit=crop')}
.leader-photo.p6{background-image:url('https://images.unsplash.com/photo-1531123897727-8f129e1688ce?w=700&q=80&auto=format&fit=crop')}
.leader-name{
  font-family:'Fraunces',serif; font-size:22px; letter-spacing:-0.005em;
  margin-top:20px;
}
.leader-role{
  color:var(--ink-2); margin-top:4px; font-size:15px;
}
.leader-meta{
  font-family:'JetBrains Mono',monospace; font-size:11px;
  color:var(--ink-3); letter-spacing:0.05em;
  margin-top:8px;
}

/* ============ Partners full page ============ */
.partner-group{margin-top:64px}
.partner-group:first-child{margin-top:0}
.partner-group-head{
  display:grid; grid-template-columns:240px 1fr; gap:48px;
  margin-bottom:32px; align-items:baseline;
  padding-bottom:18px; border-bottom:1px solid var(--ink);
}
.partner-group-num{
  font-family:'JetBrains Mono',monospace; font-size:11px;
  color:var(--red); letter-spacing:0.14em;
}
.partner-group-num span{display:block; color:var(--ink-3); margin-top:4px; text-transform:uppercase}
.partner-group-title{
  font-family:'Fraunces',serif; font-weight:300;
  font-size:36px; line-height:1.1; letter-spacing:-0.02em;
}
.partner-list{
  display:grid; grid-template-columns:repeat(3, 1fr);
  border-top:1px solid var(--line); border-left:1px solid var(--line);
}
.partner-card{
  border-right:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:32px 28px;
  min-height:200px;
  display:flex; flex-direction:column; justify-content:space-between;
}
.partner-card .logo-slot{
  height:60px;
  background:repeating-linear-gradient(135deg, #fafafa 0 6px, #f3f3f3 6px 12px);
  border:1px dashed var(--line);
  display:flex; align-items:center; justify-content:center;
  font-family:'JetBrains Mono',monospace; font-size:9px;
  color:var(--ink-4); letter-spacing:0.16em;
  margin-bottom:24px;
}
.partner-card .pname{
  font-family:'Fraunces',serif; font-size:18px; line-height:1.2;
}
.partner-card .ptype{
  font-family:'JetBrains Mono',monospace; font-size:10px;
  color:var(--ink-3); letter-spacing:0.1em; text-transform:uppercase;
  margin-top:6px;
}

/* ============ Summit hero (dark) ============ */
.summit-hero{
  background:#0a0a0a; color:#fff;
  padding:100px 0 80px 0;
  position:relative; overflow:hidden;
}
.summit-hero::before{
  content:'';
  position:absolute; right:-200px; top:-200px;
  width:600px; height:600px; border-radius:50%;
  background:radial-gradient(circle, rgba(225,35,44,0.18) 0%, transparent 70%);
}
.summit-tag{
  font-family:'JetBrains Mono',monospace; font-size:11px;
  color:var(--red); letter-spacing:0.18em; text-transform:uppercase;
  margin-bottom:18px;
}
.summit-h1{
  font-family:'Fraunces',serif; font-weight:300;
  font-size:clamp(48px, 6vw, 84px);
  line-height:1.02; letter-spacing:-0.025em;
  max-width:18ch;
}
.summit-h1 em{color:var(--red); font-style:italic; font-weight:400}
.summit-meta{
  display:grid; grid-template-columns:repeat(4, 1fr);
  margin-top:64px;
  border-top:1px solid rgba(255,255,255,0.12);
  padding-top:32px; gap:24px;
}
.summit-meta .label{
  font-family:'JetBrains Mono',monospace; font-size:10px;
  color:#888; letter-spacing:0.16em; text-transform:uppercase;
  margin-bottom:8px;
}
.summit-meta .value{
  font-family:'Fraunces',serif; font-size:22px; line-height:1.2;
}

.feature-list{margin-top:48px}
.feature-row{
  display:grid; grid-template-columns:80px 1fr 1.2fr;
  gap:32px;
  border-top:1px solid var(--line);
  padding:28px 0;
}
.feature-row:last-child{border-bottom:1px solid var(--line)}
.feature-num{
  font-family:'JetBrains Mono',monospace; font-size:11px;
  color:var(--red); letter-spacing:0.1em;
}
.feature-title{
  font-family:'Fraunces',serif; font-size:24px; line-height:1.15; letter-spacing:-0.01em;
}
.feature-desc{font-size:15px; color:var(--ink-2); line-height:1.55}

/* ============ Events ============ */
.tabs-row{
  display:flex; gap:32px;
  border-bottom:1px solid var(--line);
  margin-top:48px; margin-bottom:48px;
}
.tabs-row a{
  padding:16px 0; font-size:15px;
  color:var(--ink-3); text-decoration:none;
  border-bottom:2px solid transparent;
  margin-bottom:-1px;
}
.tabs-row a.active{color:var(--ink); border-bottom-color:var(--red); font-weight:500}

.featured-event{
  display:grid; grid-template-columns:1.2fr 1fr; gap:48px;
  align-items:center; padding:32px 0 64px;
  border-bottom:1px solid var(--line);
}
.featured-event-img{
  aspect-ratio:4/3;
  background-image:url('https://images.unsplash.com/photo-1505373877841-8d25f7d46678?w=1400&q=80&auto=format&fit=crop');
  background-size:cover; background-position:center;
  position:relative;
}
.event-meta{
  display:flex; gap:24px; margin-top:14px;
  font-family:'JetBrains Mono',monospace; font-size:11px;
  color:var(--ink-3); letter-spacing:0.05em;
}
.event-h{
  font-family:'Fraunces',serif; font-size:42px;
  line-height:1.1; letter-spacing:-0.02em; margin-top:18px;
}
.events-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:48px;
  padding-top:64px;
}
.event-card{display:flex; flex-direction:column; gap:14px}
.event-card-img{
  aspect-ratio:4/3;
  background-size:cover; background-position:center;
  position:relative;
  transition:transform .4s;
}
.event-card:hover .event-card-img{transform:scale(1.02)}
.event-card-img.e1{background-image:url('https://images.unsplash.com/photo-1540575467063-178a50c2df87?w=900&q=80&auto=format&fit=crop')}
.event-card-img.e2{background-image:url('https://images.unsplash.com/photo-1517245386807-bb43f82c33c4?w=900&q=80&auto=format&fit=crop')}
.event-card-img.e3{background-image:url('https://images.unsplash.com/photo-1573164713988-8665fc963095?w=900&q=80&auto=format&fit=crop')}
.event-card-img.e4{background-image:url('https://images.unsplash.com/photo-1524178232363-1fb2b075b655?w=900&q=80&auto=format&fit=crop')}
.event-card-img.e5{background-image:url('https://images.unsplash.com/photo-1559223607-a43c990c692c?w=900&q=80&auto=format&fit=crop')}
.event-card-img.e6{background-image:url('https://images.unsplash.com/photo-1519452575417-564c1401ecc0?w=900&q=80&auto=format&fit=crop')}
.event-card-h{
  font-family:'Fraunces',serif; font-size:22px; line-height:1.2; letter-spacing:-0.005em;
}

/* ============ Forms ============ */
.form-page{
  display:grid; grid-template-columns:1fr 1fr;
  min-height:calc(100vh - 120px);
}
.form-left{padding:120px 64px}
.form-right{
  background:var(--bg-3); padding:120px 64px;
  display:flex; align-items:center;
}
.form-right form{width:100%; max-width:520px}
.form-h{
  font-family:'Fraunces',serif; font-weight:300;
  font-size:clamp(36px, 4vw, 56px);
  line-height:1.1; letter-spacing:-0.02em;
  max-width:18ch;
}
.form-h em{color:var(--red); font-style:italic}
.form-direct{
  margin-top:48px; padding-top:24px;
  border-top:1px solid var(--line);
}
.form-direct .label{
  font-family:'JetBrains Mono',monospace; font-size:10px;
  color:var(--ink-3); letter-spacing:0.14em; text-transform:uppercase;
}
.form-direct .value{
  font-family:'Fraunces',serif; font-size:22px;
  margin-top:6px;
}

.field-row{display:grid; gap:16px; margin-bottom:18px}
.field-row.two{grid-template-columns:140px 1fr}
.field-row.two-eq{grid-template-columns:1fr 1fr}
.field-label{
  font-family:'JetBrains Mono',monospace; font-size:10px;
  color:var(--ink-3); letter-spacing:0.14em; text-transform:uppercase;
  margin-bottom:8px; display:block;
}
.field-input, .field-select{
  width:100%;
  background:#fff;
  border:1px solid var(--line);
  padding:14px 16px;
  font-family:inherit; font-size:15px;
  color:var(--ink); outline:none;
  transition:border-color .15s;
}
.field-input:focus, .field-select:focus{border-color:var(--red)}
.field-textarea{
  width:100%;
  background:#fff;
  border:1px solid var(--line);
  padding:14px 16px;
  font-family:inherit; font-size:15px;
  color:var(--ink); outline:none;
  resize:vertical; min-height:140px;
  transition:border-color .15s;
}
.field-textarea:focus{border-color:var(--red)}

/* ============ Footer ============ */
.footer{
  background:#0a0a0a; color:#fff;
  padding:80px 0 32px 0;
}
.footer-top{
  display:grid; grid-template-columns:1.2fr 1fr 1fr 1fr; gap:48px;
  padding-bottom:64px;
  border-bottom:1px solid #222;
}
.footer-brand img{height:42px; filter:invert(1) brightness(2) contrast(0.5)}
.footer-brand-name{
  font-family:'Fraunces',serif; font-size:18px; margin-top:16px;
}
.footer-brand-tag{
  font-size:13px; color:#888; margin-top:14px; max-width:32ch;
}
.footer-col h5{
  font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:500;
  color:#888; letter-spacing:0.14em; text-transform:uppercase;
  margin-bottom:18px;
}
.footer-col a{
  display:block; color:#bdbdbd; text-decoration:none;
  font-size:14px; padding:6px 0;
  transition:color .15s;
}
.footer-col a:hover{color:var(--red)}
.footer-bottom{
  display:flex; justify-content:space-between;
  padding-top:32px; font-size:12px; color:#666;
  font-family:'JetBrains Mono',monospace; letter-spacing:0.05em;
}

/* ============ CTA strip ============ */
.cta-strip{
  background:var(--red); color:#fff;
  padding:96px 0; text-align:center;
}
.cta-strip h2{
  font-family:'Fraunces',serif; font-weight:300;
  font-size:clamp(36px, 4.5vw, 64px);
  line-height:1.05; letter-spacing:-0.02em;
  max-width:22ch; margin:0 auto;
}
.cta-strip h2 em{font-style:italic}
.cta-strip .row{
  display:flex; gap:14px; justify-content:center; margin-top:40px;
}
.btn-on-red{
  background:#fff; color:var(--red);
  padding:16px 32px; border:0;
  font-family:inherit; font-size:14px; font-weight:600;
  letter-spacing:0.02em; cursor:pointer; text-decoration:none;
  display:inline-flex; align-items:center; gap:10px;
}
.btn-on-red:hover{background:#000; color:#fff}
.btn-ghost-white{
  background:transparent; color:#fff;
  padding:16px 32px; border:1px solid rgba(255,255,255,0.6);
  font-family:inherit; font-size:14px; font-weight:500;
  cursor:pointer; text-decoration:none;
  display:inline-flex; align-items:center; gap:10px;
}
.btn-ghost-white:hover{background:#fff; color:var(--red)}

/* ============ Responsive ============ */
@media (max-width: 1100px){
  .audience-grid{grid-template-columns:repeat(2,1fr)}
  .awards-grid{grid-template-columns:repeat(2,1fr)}
  .partners-grid{grid-template-columns:repeat(3,1fr)}
  .leaders-grid{grid-template-columns:repeat(2,1fr)}
  .partner-list{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 800px){
  .nav-links{display:none}
  .section-head{grid-template-columns:1fr; gap:24px}
  .audience-grid{grid-template-columns:1fr}
  .awards-grid{grid-template-columns:1fr}
  .partners-grid{grid-template-columns:repeat(2,1fr)}
  .leaders-grid{grid-template-columns:1fr}
  .partner-list{grid-template-columns:1fr}
  .partner-group-head{grid-template-columns:1fr; gap:8px}
  .editorial{grid-template-columns:1fr; gap:32px}
  .editorial .toc{position:static}
  .three-col{grid-template-columns:1fr}
  .audience-hero-grid{grid-template-columns:1fr; gap:32px}
  .benefit-row{grid-template-columns:60px 1fr; gap:16px}
  .benefit-row .benefit-desc, .benefit-row .benefit-arrow{grid-column: 2}
  .featured-event{grid-template-columns:1fr}
  .events-grid{grid-template-columns:1fr}
  .form-page{grid-template-columns:1fr}
  .form-left, .form-right{padding:64px 24px}
  .summit-meta{grid-template-columns:repeat(2,1fr)}
  .stat-row{grid-template-columns:repeat(2,1fr)}
  .footer-top{grid-template-columns:1fr 1fr; gap:32px}
  .chair-block{grid-template-columns:1fr; gap:32px}
  .chair-photo{max-width:300px}
  .feature-row{grid-template-columns:1fr; gap:8px}
}


/* ============ Real imagery for placeholder elements ============ */
.ac-img{
  height: 200px;
  background-size: cover;
  background-position: center;
  filter: grayscale(0.15) contrast(1.02);
}
.audience-card .ac-img{ width: 100%; }

.award-img-strip{
  height: 120px;
  background-size: cover;
  background-position: center;
  margin: -28px -28px 24px -28px;
  filter: grayscale(0.2);
}
.award-img-strip.a1{ background-image:url('https://images.unsplash.com/photo-1523580494863-6f3031224c94?w=900&q=80&auto=format&fit=crop'); }
.award-img-strip.a2{ background-image:url('https://images.unsplash.com/photo-1523580494863-6f3031224c94?w=900&q=80&auto=format&fit=crop'); }
.award-img-strip.a3{ background-image:url('https://images.unsplash.com/photo-1627556704302-624286467c65?w=900&q=80&auto=format&fit=crop'); }
.award-img-strip.a4{ background-image:url('https://images.unsplash.com/photo-1498243691581-b145c3f54a5a?w=900&q=80&auto=format&fit=crop'); }
.award-img-strip.a5{ background-image:url('https://images.unsplash.com/photo-1542744173-8e7e53415bb0?w=900&q=80&auto=format&fit=crop'); }

.event-card-img{
  height: 200px;
  background-size: cover;
  background-position: center;
  background-color:#0a0a0a;
  filter: grayscale(0.1);
}
.event-card-img.e1{ background-image:url('https://images.unsplash.com/photo-1505373877841-8d25f7d46678?w=900&q=80&auto=format&fit=crop'); }
.event-card-img.e2{ background-image:url('https://images.unsplash.com/photo-1559223607-a43c990c692c?w=900&q=80&auto=format&fit=crop'); }
.event-card-img.e3{ background-image:url('https://images.unsplash.com/photo-1573164713988-8665fc963095?w=900&q=80&auto=format&fit=crop'); }
.event-card-img.e4{ background-image:url('https://images.unsplash.com/photo-1591115765373-5207764f72e7?w=900&q=80&auto=format&fit=crop'); }
.event-card-img.e5{ background-image:url('https://images.unsplash.com/photo-1517048676732-d65bc937f952?w=900&q=80&auto=format&fit=crop'); }
.event-card-img.e6{ background-image:url('https://images.unsplash.com/photo-1540575467063-178a50c2df87?w=900&q=80&auto=format&fit=crop'); }

.leader-photo{
  width: 100%;
  aspect-ratio: 4/5;
  background-size: cover;
  background-position: center 20%;
  background-color:#1a1a1a;
  filter: grayscale(0.4) contrast(1.05);
  margin-bottom: 18px;
}
.leader-photo.p1{ background-image:url('https://images.unsplash.com/photo-1560250097-0b93528c311a?w=700&q=80&auto=format&fit=crop'); }
.leader-photo.p2{ background-image:url('https://images.unsplash.com/photo-1573497019940-1c28c88b4f3e?w=700&q=80&auto=format&fit=crop'); }
.leader-photo.p3{ background-image:url('https://images.unsplash.com/photo-1556157382-97eda2d62296?w=700&q=80&auto=format&fit=crop'); }
.leader-photo.p4{ background-image:url('https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=700&q=80&auto=format&fit=crop'); }
.leader-photo.p5{ background-image:url('https://images.unsplash.com/photo-1519085360753-af0119f7cbe7?w=700&q=80&auto=format&fit=crop'); }
.leader-photo.p6{ background-image:url('https://images.unsplash.com/photo-1500648767791-00dcc994a43e?w=700&q=80&auto=format&fit=crop'); }


/* ============ Audience-card layout fix ============ */
.audience-card{ position:relative; overflow:hidden; isolation:isolate; min-height:440px; padding:0; display:block; }
.audience-card .ac-img{
  position:absolute; inset:0; height:100%; width:100%;
  background-size:cover; background-position:center;
  filter:grayscale(0.2) brightness(0.78) contrast(1.05);
  transition:filter .35s, transform .6s;
  z-index:0;
}
.audience-card .ac-img::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(10,10,10,0.05) 0%, rgba(10,10,10,0.35) 50%, rgba(10,10,10,0.92) 100%);
}
.audience-card:hover .ac-img{ filter:grayscale(0) brightness(0.7) contrast(1.05); transform:scale(1.04); }
.audience-card .ac-body{
  position:relative; z-index:1;
  padding:36px 32px;
  color:#fff;
  height:440px;
  display:flex; flex-direction:column; justify-content:space-between; gap:14px;
}
.audience-card .ac-body .audience-num{ color:rgba(255,255,255,0.78); }
.audience-card .ac-body .audience-title{ color:#fff; }
.audience-card .ac-body .audience-desc{ color:rgba(255,255,255,0.86); }
.audience-card .ac-body .audience-arrow{ color:#fff; }
.audience-card:hover .ac-body .audience-num{ color:#fff; }

/* ============ Page hero images ============ */
.page-hero{
  position:relative; overflow:hidden;
  min-height:520px;
  display:flex; align-items:flex-end;
  padding:96px 0 56px 0;
  color:#fff;
  background:#0a0a0a;
}
.page-hero::before{
  content:''; position:absolute; inset:0;
  background-size:cover; background-position:center;
  filter:grayscale(0.2) brightness(0.55) contrast(1.05);
  z-index:0;
}
.page-hero::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(10,10,10,0.55) 0%, rgba(10,10,10,0.25) 40%, rgba(10,10,10,0.85) 100%);
  z-index:0;
}
.page-hero .wrap{ position:relative; z-index:1; }
.page-hero .section-eyebrow{ color:rgba(255,255,255,0.7); }
.page-hero .section-eyebrow::before{ background:var(--red); }
.page-hero h1{ color:#fff; font-family:'Fraunces',serif; font-weight:300; font-size:clamp(48px,6vw,84px); line-height:1.04; letter-spacing:-0.025em; max-width:22ch; }
.page-hero h1 em{ font-style:italic; color:var(--red); }
.page-hero p.lede{ color:rgba(255,255,255,0.85); margin-top:28px; max-width:62ch; font-size:18px; line-height:1.55; }

.ph-who::before{ background-image:url('https://images.unsplash.com/photo-1607237138185-eedd9c632b0b?w=2000&q=80&auto=format&fit=crop'); }
.ph-what::before{ background-image:url('https://images.unsplash.com/photo-1523580494863-6f3031224c94?w=2000&q=80&auto=format&fit=crop'); }
.ph-aud::before{ background-image:url('https://images.unsplash.com/photo-1523240795612-9a054b0db644?w=2000&q=80&auto=format&fit=crop'); }
.ph-awards::before{ background-image:url('https://images.unsplash.com/photo-1492538368677-f6e0afe31dcc?w=2000&q=80&auto=format&fit=crop'); }
.ph-events::before{ background-image:url('https://images.unsplash.com/photo-1540575467063-178a50c2df87?w=2000&q=80&auto=format&fit=crop'); }
.ph-leaders::before{ background-image:url('https://images.unsplash.com/photo-1517048676732-d65bc937f952?w=2000&q=80&auto=format&fit=crop'); }
.ph-partners::before{ background-image:url('https://images.unsplash.com/photo-1541339907198-e08756dedf3f?w=2000&q=80&auto=format&fit=crop'); }
.ph-join::before{ background-image:url('https://images.unsplash.com/photo-1559223607-a43c990c692c?w=2000&q=80&auto=format&fit=crop'); }
.ph-contact::before{ background-image:url('https://images.unsplash.com/photo-1497366216548-37526070297c?w=2000&q=80&auto=format&fit=crop'); }
