:root {
  --ivory: #f7f3ea;
  --ink: #191816;
  --line: rgba(25,24,22,.32);
  --max: 1500px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ivory);
  color: var(--ink);
  font-family: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
  letter-spacing: -.015em;
}
img { width: 100%; height: 100%; display: block; object-fit: cover; }
a { color: inherit; text-decoration: none; }
.site-header {
  position: sticky; top: 0; z-index: 30;
  display: flex; align-items: center; justify-content: space-between;
  gap: 2rem; padding: 22px 5vw 18px;
  background: rgba(247,243,234,.96);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(25,24,22,.08);
}
.brand { font-size: 18px; letter-spacing: .16em; font-weight: 300; }
.site-nav { display: flex; gap: 17px; flex-wrap: wrap; justify-content: flex-end; }
.site-nav a, .menu-toggle { font-size: 10px; letter-spacing: .04em; font-weight: 500; }
.site-nav a { padding-bottom: 3px; border-bottom: 1px solid transparent; }
.site-nav a:hover { border-color: currentColor; }
.menu-toggle { display:none; background:none; border:0; color:inherit; padding:0; }
.section-light { background: var(--ivory); }
.hero, .split, .world, .contact { max-width: var(--max); margin: 0 auto; }
.hero {
  min-height: 720px;
  display: grid; grid-template-columns: 1.04fr .96fr;
  padding: 42px 5vw 70px; gap: 4vw; align-items: start;
}
.hero-copy { display:flex; flex-direction:column; min-height: 610px; justify-content:space-between; }
h1, h2 { margin:0; font-weight:300; line-height:.94; letter-spacing:-.035em; }
h1 { font-size: clamp(70px, 10vw, 160px); white-space: nowrap; margin-top: 18px; }
h2 { font-size: clamp(46px, 5vw, 92px); }
.hero-photo { margin:0; height: 610px; }
.eyebrow { font-size: 12px; line-height: 1.5; font-weight: 500; letter-spacing: .01em; text-transform: uppercase; }
.hero-tags { margin:0 0 5px; }
.split {
  display:grid; grid-template-columns: 1fr .86fr; gap: 7vw; align-items:center;
  padding: 110px 5vw;
}
.copy-block { max-width: 610px; }
.copy-block h2 { margin-bottom: 34px; }
.copy-block .eyebrow { margin: 0 0 36px; }
.copy-block p:not(.eyebrow) { font-size: 18px; line-height:1.55; margin:0 0 44px; max-width: 570px; }
.intro-copy p { max-width: 720px; }
.narrow-photo { margin:0; width:72%; justify-self:center; aspect-ratio: .78; }
.feature-dark {
  background: var(--ink); color: var(--ivory);
  max-width: none;
}
.feature-dark.split > *, .world > * { max-width: 1500px; }
.feature-dark.split { padding-left: 5vw; padding-right: 5vw; }
.feature-photo { margin:0; height: 650px; }
.text-link { font-size: 12px; font-weight:500; letter-spacing:.03em; }
.speaker-block { min-height: 900px; }
.stage-frame {
  height: 660px; border: 1px solid var(--ink); border-radius: 5px;
  background: var(--ink); color: var(--ivory); display:flex; align-items:center; justify-content:center;
  text-align:center; font-size:24px; letter-spacing:.08em;
}
.stage-frame small { font-size:10px; letter-spacing:.2em; }
.runner-block { min-height: 760px; }
.trophy-photo { border:1px solid rgba(247,243,234,.75); border-radius:5px; overflow:hidden; height: 560px; }
.philanthropy-block { min-height: 850px; }
.philanthropy-photo { height: 690px; }
.world { padding: 95px 5vw 120px; }
.world-head { margin-bottom: 70px; }
.world-head h2 { font-size: clamp(42px, 5vw, 78px); margin-bottom: 24px; }
.world-grid { display:grid; grid-template-columns: 1.15fr .85fr 1fr; gap: 16px; }
.world-grid figure { margin:0; height: 520px; overflow:hidden; }
.contact { padding: 130px 5vw 150px; }
.contact h2 { font-size: clamp(55px, 8vw, 120px); max-width: 1200px; margin: 18px 0 60px; }
.contact-link { display:inline-block; font-size: 14px; letter-spacing:.03em; border-bottom:1px solid var(--ink); padding-bottom:6px; }
.footer { background:var(--ink); color:var(--ivory); display:flex; justify-content:space-between; gap:30px; padding:28px 5vw; font-size:11px; letter-spacing:.08em; }

@media (max-width: 900px) {
  .site-header { padding:18px 22px; }
  .menu-toggle { display:block; }
  .site-nav { display:none; position:absolute; top:100%; left:0; right:0; background:var(--ivory); padding:22px; flex-direction:column; align-items:flex-start; border-top:1px solid rgba(25,24,22,.1); }
  .site-nav.open { display:flex; }
  .hero { grid-template-columns: 1fr; min-height:0; padding:36px 22px 65px; }
  .hero-copy { min-height: 280px; }
  h1 { font-size: clamp(62px, 20vw, 112px); overflow:hidden; }
  .hero-photo { height: auto; aspect-ratio:1/1; }
  .split { grid-template-columns:1fr; padding:80px 22px; gap:52px; }
  .narrow-photo { width:78%; justify-self:start; }
  .feature-photo, .philanthropy-photo { height:auto; aspect-ratio: 4/5; }
  .stage-frame { height: 480px; }
  .world { padding:80px 22px 90px; }
  .world-grid { grid-template-columns:1fr; }
  .world-grid figure { height:auto; aspect-ratio:4/3; }
  .contact { padding:90px 22px 110px; }
  .footer { flex-direction:column; padding:24px 22px; }
  .copy-block p:not(.eyebrow) { font-size:16px; }
}

/* Speaker page */
.speaker-hero{max-width:var(--max);margin:0 auto;padding:58px 5vw 110px;display:grid;grid-template-columns:.82fr 1.18fr;gap:5vw;align-items:end}.speaker-hero-photo{height:720px}.speaker-title .eyebrow{margin:0 0 32px}.speaker-title h1{font-size:clamp(52px,6.6vw,108px);white-space:normal;line-height:.9}.quote-attribution{margin:28px 0 0;font-size:11px;font-weight:500;letter-spacing:.08em}.cred-strip{max-width:var(--max);margin:0 auto;padding:34px 5vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;font-size:12px;font-weight:500;letter-spacing:.02em}.arena-shot{width:100%;height:min(82vh,900px);background:var(--ink);overflow:hidden}.arena-shot img{object-fit:cover}.speaker-copy{max-width:var(--max);margin:0 auto;padding:120px 10vw 110px}.speaker-copy>p:first-child{font-size:clamp(16px,1.6vw,26px);line-height:1.45;max-width:1050px;margin:0}.degree-note{font-size:10px;letter-spacing:.08em;line-height:1.7;margin:75px 0 0;border-top:1px solid var(--line);padding-top:22px}.stages{padding:58px 5vw 62px}.stages>.eyebrow,.stage-list{max-width:var(--max);margin-left:auto;margin-right:auto}.stages>.eyebrow{font-size:10px;letter-spacing:.08em;margin-bottom:0}.stage-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 38px;margin-top:28px}.stage-list span{font-size:clamp(12px,1vw,15px);line-height:1.25;font-weight:300;letter-spacing:-.01em;padding:0;border:0}.stage-list small{display:block;font-size:8px;line-height:1.35;letter-spacing:.08em;font-weight:500;margin:5px 0 0}.logo-strip{padding:46px 5vw 54px;border-bottom:1px solid rgba(25,24,22,.12);background:var(--ivory)}.logo-wall{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:22px 24px;align-items:center}.logo-mark{min-width:0;height:54px;display:flex;align-items:center;justify-content:center;position:relative;opacity:.68;transition:opacity .2s ease}.logo-mark:hover{opacity:1}.logo-mark img{max-width:92px;max-height:28px;width:auto;height:auto;object-fit:contain;filter:grayscale(1) contrast(1.2)}.logo-mark img+span{display:none}.logo-mark.wordmark span{display:block;text-align:center;font-size:9px;line-height:1.15;font-weight:500;letter-spacing:.035em;text-transform:uppercase;max-width:110px}.curry-video{padding:100px 5vw 120px}.video-label{max-width:var(--max);margin:0 auto 32px;display:flex;justify-content:space-between;gap:30px;align-items:end}.video-label p{margin:0}.video-label a{font-size:12px;font-weight:500;border-bottom:1px solid;padding-bottom:5px}.curry-image{position:relative;display:block;max-width:var(--max);height:min(88vh,1000px);margin:0 auto;overflow:hidden}.curry-image img{object-position:center 42%}.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:180px;height:180px;border:2px solid var(--ivory);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;color:var(--ivory);background:rgba(25,24,22,.18);backdrop-filter:blur(2px);transition:transform .25s ease,background .25s ease}.curry-image:hover .play{transform:translate(-50%,-50%) scale(1.06);background:rgba(25,24,22,.32)}.play-icon{display:block;width:0;height:0;border-top:22px solid transparent;border-bottom:22px solid transparent;border-left:34px solid var(--ivory);margin-left:8px}.play-word{font-size:11px;font-weight:500;letter-spacing:.14em}.testimonial{padding:130px 7vw 140px}.testimonial blockquote{max-width:1200px;margin:0 auto;font-size:clamp(42px,6.2vw,96px);line-height:1.02;font-weight:300;letter-spacing:-.04em}.testimonial p{max-width:1200px;margin:45px auto 0;font-size:11px;font-weight:500;letter-spacing:.06em}.testimonial-light{background:var(--ivory);color:var(--ink)}.testimonial-dark{background:var(--ink);color:var(--ivory)}.speaker-cta{padding:130px 5vw 140px}.cta-button{display:block;width:calc(100% - 10vw);max-width:var(--max);margin:0 auto;background:transparent;border:1px solid rgba(247,243,234,.8);color:var(--ivory);text-align:center;font:300 clamp(30px,4.8vw,72px)/1 Inter,sans-serif;letter-spacing:-.035em;padding:38px 42px;cursor:pointer;transition:background .25s ease,color .25s ease,transform .25s ease}.cta-button:hover{background:var(--ivory);color:var(--ink);transform:translateY(-2px)}.inquiry-wrap{max-width:var(--max);margin:90px auto 0;border-top:1px solid rgba(247,243,234,.35);padding-top:60px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px 45px}.form-grid label{font-size:10px;font-weight:500;letter-spacing:.07em}.form-grid input,.form-grid textarea{display:block;width:100%;margin-top:12px;background:transparent;color:var(--ivory);border:0;border-bottom:1px solid rgba(247,243,234,.5);padding:10px 0;font:300 18px Inter,sans-serif;border-radius:0}.form-grid textarea{border:1px solid rgba(247,243,234,.5);padding:15px}.form-grid .full{grid-column:1/-1}.submit-button{margin-top:45px;background:var(--ivory);color:var(--ink);border:0;padding:17px 22px;font:500 11px Inter,sans-serif;letter-spacing:.04em;cursor:pointer}.form-thanks{max-width:780px;font-size:clamp(24px,3vw,42px);line-height:1.35}
@media(max-width:900px){.speaker-hero{grid-template-columns:1fr;padding:34px 22px 70px;gap:45px}.speaker-hero-photo{height:auto;aspect-ratio:4/5}.speaker-title h1{font-size:clamp(48px,14vw,78px)}.cred-strip{padding:28px 22px;flex-direction:column}.arena-shot{height:auto;aspect-ratio:1/1}.speaker-copy{padding:80px 22px}.degree-note{margin-top:55px}.stages{padding:52px 22px 56px}.stage-list{grid-template-columns:1fr 1fr;gap:22px 24px;margin-top:24px}.stage-list span{padding:0}.stage-list small{margin:5px 0 0}.logo-strip{padding:38px 22px 42px}.logo-wall{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 14px}.logo-mark{height:46px}.logo-mark img{max-width:68px;max-height:24px}.logo-mark.wordmark span{font-size:7px;max-width:78px}.curry-video{padding:80px 22px}.video-label{align-items:flex-start;flex-direction:column}.curry-image{height:auto;aspect-ratio:4/5}.testimonial{padding:90px 22px 100px}.speaker-cta{padding:90px 22px 110px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}

@media(max-width:900px){.quote-attribution{margin-top:22px}.play{width:128px;height:128px}.play-icon{border-top-width:17px;border-bottom-width:17px;border-left-width:27px}.cta-button{width:100%;font-size:clamp(27px,8.5vw,48px);padding:28px 20px}}

/* V5: graphic logo wall */
.graphic-logo-wall{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:26px 22px;align-items:center;padding:8px 0 4px}.graphic-logo{min-height:58px;display:flex!important;align-items:center;justify-content:center;padding:4px!important;border:0!important;background:transparent!important}.graphic-logo img{display:block!important;width:auto!important;height:42px!important;max-width:72px!important;object-fit:contain;filter:grayscale(1) contrast(1.15);opacity:.82}.graphic-logo span{display:none!important}@media(max-width:900px){.graphic-logo-wall{grid-template-columns:repeat(5,1fr);gap:22px 14px}.graphic-logo img{height:38px!important;max-width:64px!important}}@media(max-width:520px){.graphic-logo-wall{grid-template-columns:repeat(4,1fr);gap:20px 10px}.graphic-logo img{height:34px!important;max-width:56px!important}}


/* Tight interior pages */
.short-hero{position:relative;max-width:var(--max);margin:0 auto;height:min(76vh,780px);overflow:hidden;background:var(--ink)}
.short-hero img{object-fit:cover}.ballroom-hero img{object-position:center 40%}.runner-hero img{object-position:center 42%}
.short-hero-title{position:absolute;left:5vw;bottom:5vw;color:var(--ivory);text-shadow:0 1px 18px rgba(0,0,0,.28)}
.short-hero-title h1{font-size:clamp(64px,9vw,142px);white-space:normal}.short-hero-title .eyebrow{margin:0 0 12px}
.short-story{max-width:980px;margin:0 auto;padding:70px 5vw 74px}.short-story p{font-size:clamp(17px,1.55vw,23px);line-height:1.55;margin:0 0 20px}.short-story p:last-child{margin-bottom:0}.short-story strong{font-weight:400}
.edge-strip{display:grid;width:100%;gap:0;background:var(--ink);overflow:hidden}.ballroom-strip{grid-template-columns:repeat(4,1fr);height:390px}.runner-strip{grid-template-columns:1fr 1fr;height:430px}.edge-strip img{width:100%;height:100%;object-fit:cover}.ballroom-strip img:nth-child(1){object-position:center 35%}.ballroom-strip img:nth-child(2){object-position:center 30%}.ballroom-strip img:nth-child(3){object-position:center 35%}
.countdown{padding:72px 5vw 80px;text-align:center}.countdown>.eyebrow{margin:0 0 35px}.countdown-placeholder{display:flex;align-items:baseline;justify-content:center;gap:13px;flex-wrap:wrap}.countdown-placeholder span{font-size:clamp(48px,7vw,105px);font-weight:300;letter-spacing:-.05em}.countdown-placeholder small{font-size:9px;letter-spacing:.1em;margin-right:10px}.countdown-note{font-size:11px;letter-spacing:.08em;margin:38px 0 0}
.contact-page{max-width:var(--max);margin:0 auto;padding:70px 5vw 90px;min-height:calc(100vh - 70px)}.contact-page h1{font-size:clamp(68px,9.5vw,150px);white-space:normal;line-height:.88}.contact-page>p{font-size:17px;line-height:1.55;margin:42px 0 45px}.contact-page>p strong{font-weight:400}.contact-page form{max-width:760px;display:grid;grid-template-columns:1fr 1fr;gap:25px 34px}.contact-page label{font-size:10px;font-weight:500;letter-spacing:.07em}.contact-page label:last-of-type{grid-column:1/-1}.contact-page input,.contact-page textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;border-radius:0;padding:10px 0;margin-top:7px;font:300 17px Inter,sans-serif}.contact-page textarea{border:1px solid var(--ink);padding:12px}.contact-page button{grid-column:1/-1;justify-self:start;background:var(--ink);color:var(--ivory);border:0;padding:15px 22px;font:500 11px Inter,sans-serif;letter-spacing:.04em;cursor:pointer}
@media(max-width:900px){.short-hero{height:62vh;min-height:480px}.short-story{padding:55px 22px 60px}.ballroom-strip{height:260px;grid-template-columns:repeat(4,1fr)}.runner-strip{height:280px}.countdown{padding:60px 22px 65px}.contact-page{padding:50px 22px 70px}.contact-page form{grid-template-columns:1fr}.contact-page label:last-of-type,.contact-page button{grid-column:auto}}


/* FINAL LOCKED IMAGE-FIT EDITS — 2026-09-14 */
.ballroom-hero img,
.runner-hero img,
.runner-strip img {
  object-fit: contain;
  object-position: center center;
  background: var(--ink);
}

.speaker-locked-quote{padding:120px 5vw 80px}.speaker-locked-quote .speaker-title{max-width:var(--max);margin:0 auto}.speaker-locked-quote .speaker-title h1{font-size:clamp(52px,6.6vw,108px);line-height:.9;color:var(--ivory)}.speaker-locked-quote .quote-attribution{color:var(--ivory)}
@media(max-width:900px){.speaker-locked-quote{padding:85px 22px 55px}.speaker-locked-quote .speaker-title h1{font-size:clamp(48px,14vw,78px)}}

/* AFTER THE APPLAUSE — editorial reviews section */
.after-applause{padding:120px 5vw 130px;background:var(--ivory);color:var(--ink)}
.after-applause-inner{max-width:var(--max);margin:0 auto}
.after-applause .eyebrow{margin:0 0 22px;font-size:10px;letter-spacing:.1em}
.after-applause h2{margin:0;font-size:clamp(52px,7vw,110px);line-height:.9;font-weight:300;letter-spacing:-.055em}
.graduate-testimonial{margin:95px 0 110px;padding:0 7vw 0 0}
.graduate-testimonial p{margin:0;font-size:clamp(25px,3vw,47px);line-height:1.17;font-weight:300;letter-spacing:-.035em}
.graduate-testimonial cite{display:block;margin-top:38px;font-style:normal;font-size:10px;font-weight:500;letter-spacing:.1em}
.coverage-heading{display:flex;align-items:center;gap:20px;margin-bottom:10px;font-size:10px;font-weight:500;letter-spacing:.12em}
.coverage-heading:before,.coverage-heading:after{content:"";height:1px;background:var(--line);flex:1}.coverage-heading span{white-space:nowrap}
.coverage-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:70px;row-gap:0}
.coverage-card{padding:44px 0 48px;border-bottom:1px solid var(--line)}
.coverage-source{margin:0 0 16px;font-size:9px;font-weight:500;letter-spacing:.1em;line-height:1.5}
.coverage-card h3{margin:0 0 18px;font-size:clamp(25px,2.4vw,39px);line-height:1.05;font-weight:300;letter-spacing:-.035em}
.coverage-card>p:not(.coverage-source){margin:0 0 24px;max-width:560px;font-size:15px;line-height:1.55}
.coverage-card a{display:inline-block;font-size:10px;font-weight:500;letter-spacing:.1em;border-bottom:1px solid var(--ink);padding-bottom:5px}
@media(max-width:900px){.after-applause{padding:85px 22px 95px}.graduate-testimonial{margin:65px 0 75px;padding:0}.graduate-testimonial p{font-size:clamp(23px,6vw,36px);line-height:1.22}.coverage-grid{grid-template-columns:1fr}.coverage-card{padding:34px 0 38px}.coverage-card h3{font-size:clamp(26px,7vw,36px)}}
