:root {
  --ink: #071a2f;
  --navy: #06172a;
  --navy-2: #0a2c4f;
  --blue: #176da1;
  --sky: #d9edf6;
  --gold: #d6ad55;
  --paper: #f5f2e9;
  --white: #ffffff;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "DM Sans", sans-serif;
}

.brief-header {
  position: absolute;
  z-index: 5;
  inset: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px clamp(22px, 5vw, 78px);
  color: white;
}

.brief-brand { display: flex; align-items: center; gap: 14px; color: inherit; text-decoration: none; font-weight: 600; }
.brief-brand img { width: 48px; height: 48px; object-fit: contain; }
.private-mark { padding: 8px 13px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }

.impact-hero {
  min-height: 92vh;
  padding: 132px clamp(24px, 7vw, 110px) 70px;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr);
  gap: clamp(40px, 7vw, 110px);
  align-items: center;
  color: white;
  background:
    radial-gradient(circle at 10% 80%, rgba(23,109,161,.34), transparent 32%),
    linear-gradient(125deg, #041221 0%, #07233e 57%, #0b355b 100%);
}

.eyebrow { margin: 0 0 18px; color: var(--gold); font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
h1, h2 { font-family: "Libre Baskerville", serif; }
h1 { max-width: 780px; margin: 0; font-size: clamp(42px, 5.5vw, 78px); line-height: 1.05; letter-spacing: -.035em; }
.hero-lede { max-width: 680px; margin: 28px 0 0; color: #d3e3ee; font-size: clamp(17px, 1.6vw, 21px); line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; margin-top: 38px; }
.primary-action { padding: 15px 22px; border-radius: 4px; color: var(--navy); background: var(--gold); font-weight: 700; text-decoration: none; }
.text-action { color: white; font-weight: 600; text-decoration: none; }

.hero-portrait { position: relative; margin: 0; }
.hero-portrait::before { content: ""; position: absolute; inset: -12px 12px 12px -12px; border: 1px solid rgba(214,173,85,.6); }
.hero-portrait img { position: relative; display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; box-shadow: 0 30px 70px rgba(0,0,0,.3); }
.hero-portrait figcaption { position: absolute; z-index: 2; inset: auto 0 0; display: flex; flex-direction: column; gap: 5px; padding: 25px; background: linear-gradient(transparent, rgba(2,14,27,.93)); }
.hero-portrait figcaption span { color: #c7d9e5; font-size: 14px; }

.proof-strip { display: grid; grid-template-columns: repeat(4, 1fr); color: white; background: var(--blue); }
.proof-strip article { min-height: 138px; padding: 30px clamp(20px, 3vw, 48px); border-right: 1px solid rgba(255,255,255,.16); }
.proof-strip strong { display: block; color: var(--gold); font-family: "Libre Baskerville", serif; font-size: 34px; }
.proof-strip span { display: block; margin-top: 8px; line-height: 1.4; }

.journey-preview, .partner-preview { padding: 100px clamp(24px, 9vw, 145px); }
.journey-preview { max-width: 1050px; }
.journey-preview h2, .partner-preview h2 { max-width: 760px; margin: 0; font-size: clamp(34px, 4vw, 58px); line-height: 1.15; }
.journey-preview > p:last-child { max-width: 760px; color: #526375; font-size: 18px; line-height: 1.75; }
.partner-preview { color: white; background: var(--navy); }

.skip-link { position: fixed; z-index: 100; top: -60px; left: 20px; padding: 12px 16px; color: var(--navy); background: white; }
.skip-link:focus { top: 20px; }
.brief-nav { display: flex; align-items: center; gap: 24px; }
.brief-nav a { color: #dce8ef; font-size: 14px; text-decoration: none; }
.brief-nav a:hover, .brief-nav a:focus-visible { color: var(--gold); }
.nav-toggle { display: none; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; padding: 8px 13px; color: white; background: transparent; }
.section-pad { padding: clamp(80px, 10vw, 145px) clamp(24px, 8vw, 125px); }
.section-number { align-self: start; color: #8c9ca9; font-family: "Libre Baskerville",serif; font-size: 18px; }
.section-heading { max-width: 880px; margin-bottom: 60px; }
.section-heading h2, .manifesto h2, .webinar-copy h2, .partner-intro h2 { margin: 0; font-size: clamp(35px,4.6vw,64px); line-height: 1.13; letter-spacing: -.025em; }
.section-heading > p:last-child, .partner-intro > p:last-child { max-width: 720px; color: #58697a; font-size: 18px; line-height: 1.7; }
.section-heading.light { color: white; }
.section-heading.light > p:last-child { color: #bdcdda; }
.large-copy { color: #526375; font-size: clamp(18px,2vw,23px); line-height: 1.75; }
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .65s ease,transform .65s ease; }
.reveal.visible { opacity: 1; transform: none; }

.manifesto { display: grid; grid-template-columns: 70px minmax(0,1fr) minmax(285px,.48fr); gap: clamp(35px,6vw,90px); background: #f8f5ed; }
.manifesto-copy { max-width: 850px; }
blockquote { margin: 55px 0 0; padding: 28px 0 28px 30px; border-left: 3px solid var(--gold); }
blockquote p { margin: 0; font-family: "Libre Baskerville",serif; font-size: clamp(20px,2.3vw,30px); line-height: 1.55; }
blockquote cite { display: block; margin-top: 18px; color: #667786; font-style: normal; font-size: 14px; }
.sdg-card { align-self: start; padding: 32px; color: white; background: var(--navy-2); box-shadow: 18px 18px 0 var(--sky); }
.sdg-card .card-label { margin: 0 0 25px; color: var(--gold); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.sdg-card div { display: grid; grid-template-columns: 52px 1fr; align-items: center; gap: 14px; padding: 20px 0; border-top: 1px solid rgba(255,255,255,.14); }
.sdg-card strong { color: var(--gold); font-family: "Libre Baskerville",serif; font-size: 27px; }
.sdg-card span { line-height: 1.4; }

.journey { background: white; }
.timeline { position: relative; max-width: 1120px; margin: 0; padding: 0; list-style: none; }
.timeline::before { content:""; position:absolute; top:10px; bottom:10px; left:190px; width:1px; background:#c7d6df; }
.timeline li { position: relative; display: grid; grid-template-columns: 160px minmax(0,1fr); gap: 62px; padding: 0 0 62px; }
.timeline li::before { content:""; position:absolute; top:7px; left:184px; width:11px; height:11px; border:3px solid white; border-radius:50%; background:var(--gold); box-shadow:0 0 0 1px var(--gold); }
.timeline time { padding-top: 2px; color: #5d7181; font-size: 14px; font-weight: 700; text-align: right; }
.timeline h3 { margin: 8px 0 10px; font-family:"Libre Baskerville",serif; font-size: clamp(23px,2.4vw,34px); }
.timeline p { max-width: 760px; margin: 0; color:#5a6b79; font-size:17px; line-height:1.7; }
.milestone-tag { color:var(--blue); font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.timeline-feature { grid-template-columns: 160px minmax(0,1fr) minmax(230px,.55fr) !important; }
.timeline-feature img { width:100%; max-height:260px; object-fit:cover; border-radius:3px; box-shadow:0 18px 38px rgba(7,26,47,.14); }
.summit-feature { grid-template-columns:160px minmax(260px,.85fr) minmax(390px,1.15fr) !important; align-items:center; }
.summit-video { position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; border:1px solid rgba(214,173,85,.75); border-radius:5px; background:#06172a; box-shadow:0 20px 46px rgba(7,26,47,.18); }
.summit-video::before { content:"GDI SUMMIT · WATCH HERE"; position:absolute; z-index:2; top:0; left:0; padding:8px 12px; color:var(--navy); background:var(--gold); font-size:9px; font-weight:800; letter-spacing:.13em; pointer-events:none; }
.summit-video iframe { display:block; width:100%; height:100%; border:0; }

.initiatives { color:white; background:linear-gradient(145deg,#041425,#092b4a); }
.pathway { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 55px; padding:22px 26px; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.03); }
.pathway span { color:var(--gold); font-weight:700; }
.pathway i { color:#7190a6; font-style:normal; }
.initiative-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.16); border-left:1px solid rgba(255,255,255,.16); }
.initiative-grid article { min-height:280px; padding:30px; border-right:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); }
.initiative-grid article > span, .partner-grid article > span { color:var(--gold); font-family:"Libre Baskerville",serif; }
.initiative-grid h3, .partner-grid h3 { margin:28px 0 12px; font-family:"Libre Baskerville",serif; font-size:23px; }
.initiative-grid p { color:#bfd0dc; line-height:1.65; }

.webinars { display:grid; grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr); gap:clamp(45px,8vw,120px); align-items:center; background:#edf4f6; }
.webinar-visual img { display:block; width:100%; max-height:780px; object-fit:cover; object-position:top; box-shadow:22px 22px 0 var(--navy-2); }
.session-list { margin:38px 0; border-top:1px solid #b9cbd4; }
.session-list div { display:grid; grid-template-columns:180px 1fr; padding:20px 0; border-bottom:1px solid #b9cbd4; }
.session-list time { color:var(--blue); font-weight:700; }
.evidence-note { padding-left:18px; border-left:3px solid var(--gold); color:#536776; line-height:1.65; }

.community { background:#f8f5ed; }
@keyframes count-pulse { 0% { box-shadow:0 0 0 0 rgba(72,201,135,.45); } 70%,100% { box-shadow:0 0 0 8px rgba(72,201,135,0); } }
.student-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.student-gallery figure { align-self:start; margin:0; overflow:hidden; border:1px solid #c8d4da; background:white; box-shadow:0 14px 32px rgba(7,26,47,.08); }
.student-gallery img { display:block; width:100%; aspect-ratio:3/4; object-fit:cover; object-position:center top; background:var(--navy); transition:transform .6s ease; }
.student-gallery figure:hover img { transform:scale(1.025); }
.student-gallery figcaption { min-height:96px; padding:16px 17px; border-top:3px solid var(--gold); overflow-wrap:anywhere; }
.student-gallery figcaption strong,.student-gallery figcaption span { display:block; }
.student-gallery figcaption strong { font-family:"Libre Baskerville",serif; font-size:15px; line-height:1.4; }
.student-gallery figcaption span { margin-top:5px; color:#657582; font-size:12px; }
.many-more { display:grid; grid-template-columns:.45fr 1.55fr; gap:45px; align-items:start; margin-top:35px; padding:36px; color:white; background:var(--navy-2); }
.many-more-stat span,.many-more-stat strong,.many-more-stat small { display:block; }
.many-more-stat span { color:var(--gold); font-family:"Libre Baskerville",serif; font-size:clamp(27px,3vw,42px); }
.many-more-stat strong { margin-top:15px; color:white; font-family:"Libre Baskerville",serif; font-size:clamp(48px,7vw,78px); line-height:1; }
.many-more-stat small { display:flex; align-items:center; gap:9px; margin-top:10px; color:#8fb4ca; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.many-more-stat i { width:8px; height:8px; border-radius:50%; background:#48c987; animation:count-pulse 1.8s ease-out infinite; }
.many-more p { margin:0; color:#c8d8e2; font-size:17px; line-height:1.7; }
.many-more p > strong,.many-more p > small { display:block; }
.many-more p > strong { margin-bottom:4px; color:white; font-size:clamp(20px,2.2vw,28px); }
.many-more p > small { margin-bottom:15px; color:#8fb4ca; font-size:13px; }
.community-pillars { display:grid; grid-template-columns:repeat(4,1fr); margin-top:48px; border-top:1px solid #aebdc6; }
.community-pillars div { padding:24px 22px 0 0; }
.community-pillars strong,.community-pillars span { display:block; }
.community-pillars strong { font-family:"Libre Baskerville",serif; font-size:21px; }
.community-pillars span { margin-top:8px; color:#60717f; line-height:1.5; }

.media { background:white; }
.press-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.press-card { display:grid; min-height:390px; padding:38px; border:1px solid #c9d6dd; color:var(--ink); text-decoration:none; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.press-card:hover { transform:translateY(-5px); border-color:var(--gold); box-shadow:0 20px 45px rgba(7,26,47,.11); }
.press-source { color:var(--blue); font-size:13px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.press-card time { margin-top:10px; color:#71808c; font-size:14px; }
.press-card h3 { margin:35px 0 15px; font-family:"Libre Baskerville",serif; font-size:clamp(24px,2.4vw,35px); line-height:1.3; }
.press-card p { color:#586a78; line-height:1.65; }
.press-card strong { align-self:end; margin-top:28px; color:var(--blue); }

.growth { color:white; background:var(--navy-2); }
.growth-table { border-top:1px solid rgba(255,255,255,.2); }
.growth-row { display:grid; grid-template-columns:.7fr 1.3fr; border-bottom:1px solid rgba(255,255,255,.16); }
.growth-row span { padding:24px 28px; line-height:1.6; }
.growth-row span:first-child { color:#c1d1dc; border-right:1px solid rgba(255,255,255,.16); }
.growth-row.heading span { color:var(--gold); font-size:12px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }

.partner { color:white; background:linear-gradient(135deg,#071a2f,#0b3f66); }
.partner-intro { max-width:900px; }
.partner-intro > p:last-child { color:#c3d4df; }
.partner-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:60px; background:rgba(255,255,255,.15); }
.partner-grid article { min-height:270px; padding:30px; background:#08243f; }
.partner-grid p { color:#bed0dc; line-height:1.65; }
.contact-panel { display:grid; grid-template-columns:1.3fr .7fr; gap:50px; align-items:center; margin-top:75px; padding:50px; color:var(--navy); background:var(--gold); }
.contact-panel .eyebrow { color:#765514; }
.contact-panel h2 { margin:0; font-size:clamp(30px,3.5vw,48px); }
.contact-actions { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.contact-actions .primary-action { color:white; background:var(--navy); }
.contact-actions a:not(.primary-action) { color:var(--navy); font-weight:700; text-decoration:none; }

.brief-footer { display:flex; align-items:center; gap:18px; padding:36px clamp(24px,8vw,125px); color:white; background:#03101e; }
.brief-footer img { width:54px; height:54px; object-fit:contain; }
.brief-footer p { display:flex; flex-direction:column; gap:5px; margin:0 auto 0 0; }
.brief-footer span { color:#9fb3c1; font-size:12px; }
.brief-footer a { color:var(--gold); text-decoration:none; }

@media (max-width: 850px) {
  .impact-hero { grid-template-columns: 1fr; padding-top: 120px; }
  .hero-portrait { max-width: 560px; }
  .hero-portrait img { aspect-ratio: 4 / 3; }
  .proof-strip { grid-template-columns: repeat(2, 1fr); }
  .private-mark { display:none; }
  .brief-nav { gap:16px; }
  .manifesto { grid-template-columns:1fr; }
  .section-number { display:none; }
  .sdg-card { max-width:520px; }
  .timeline::before { left:8px; }
  .timeline li,.timeline-feature { grid-template-columns:1fr !important; gap:14px; padding-left:38px; }
  .timeline li::before { left:2px; }
  .timeline time { text-align:left; }
  .timeline-feature img,.summit-video { max-width:620px; }
  .initiative-grid,.partner-grid { grid-template-columns:repeat(2,1fr); }
  .webinars { grid-template-columns:1fr; }
  .webinar-visual { max-width:520px; }
  .community-pillars { grid-template-columns:repeat(2,1fr); }
  .student-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .contact-panel { grid-template-columns:1fr; }
}

@media (max-width: 520px) {
  .brief-brand span { display: none; }
  .private-mark { font-size: 10px; }
  .proof-strip { grid-template-columns: 1fr; }
  .proof-strip article { min-height: 0; }
  .brief-header { position:absolute; }
  .nav-toggle { display:block; margin-left:auto; }
  .brief-nav { position:absolute; top:78px; right:20px; display:none; width:200px; padding:14px; border:1px solid rgba(255,255,255,.18); background:#06172a; box-shadow:0 18px 35px rgba(0,0,0,.3); }
  .brief-nav.open { display:grid; }
  .impact-hero { min-height:auto; }
  .pathway { align-items:flex-start; flex-direction:column; }
  .pathway i { transform:rotate(90deg); }
  .initiative-grid,.partner-grid,.press-grid { grid-template-columns:1fr; }
  .initiative-grid article { min-height:0; }
  .student-gallery { grid-template-columns:1fr; }
  .many-more { grid-template-columns:1fr; gap:16px; padding:28px 24px; }
  .community-pillars { grid-template-columns:1fr; }
  .growth-row { grid-template-columns:1fr; }
  .growth-row span:first-child { border-right:0; border-bottom:1px solid rgba(255,255,255,.1); }
  .growth-row.heading { display:none; }
  .contact-panel { padding:30px 24px; }
  .brief-footer { align-items:flex-start; flex-wrap:wrap; }
}

@media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.student-gallery img{transition:none}.many-more-stat i{animation:none} }
