/* Homepage typography, color, and surfaces for the cohort page. */
.cohort-page {
  --cohort-dark: #0b090d;
  --cohort-paper: #f9f8f9;
  --cohort-text: #faf8fb;
  --cohort-copy: #c4bdc6;
  --cohort-card: #161217;
  --cohort-border: #ffffff24;
  --cohort-accent: #efbba5;
  --cohort-gradient: linear-gradient(112deg,#fac6a8 0%,#edb2a7 46%,#c5afe2 100%);
  font-family: Geist,Arial,sans-serif;
  background: var(--cohort-dark);
  color: var(--cohort-text);
}
.cohort-page .site-frame { max-width: none; background: var(--cohort-dark) }
.cohort-page :is(h1,h2,h3,.cohort-brand,.curriculum-visual strong,.support-visual > div) {
  font-family: "Instrument Sans",Arial,sans-serif;
  font-weight: 600;
  letter-spacing: -.025em;
}
.cohort-header {
  gap: 18px;
  min-height: 84px;
  padding: 12px max(24px,calc((100% - 1200px) / 2));
  border-bottom: 1px solid #ffffff0f;
  background: #0b090de8;
}
.cohort-page .cohort-brand {
  gap: 8px;
  font-size: 22px;
  line-height: 1.1;
  letter-spacing: -.035em;
}
.cohort-brand img { width: 24px; height: 24px; border-radius: 5px }
.cohort-brand small { margin-left: 3px; color: var(--cohort-copy); font: inherit; font-size: 11px }
.cohort-header nav { align-items: center; gap: clamp(8px,1.8vw,24px); color: #f3edf5; font-size: 13px }
.cohort-header nav a { white-space: nowrap }
.cohort-page .action {
  min-height: 48px;
  gap: 15px;
  padding: 7px 8px 7px 17px;
  border: 1px solid #fff6;
  border-radius: 17px;
  background: var(--cohort-gradient);
  color: #271825;
  font-size: 15px;
  line-height: 1.3;
  letter-spacing: 0;
  box-shadow: inset 0 0 8px #fff4,0 6px 30px #e0a4c32e;
}
.cohort-page .action:hover {
  background: var(--cohort-gradient);
  color: #271825;
  box-shadow: inset 0 0 8px #fff5,0 8px 35px #e0a4c364;
}
.cohort-page .action .action-icon {
  width: 30px;
  height: 30px;
  flex-basis: 30px;
  border: 1px solid #fff6;
  border-radius: 10px;
  background: #fff4;
  color: inherit;
  box-shadow: none;
}
.cohort-page .action .cta-arrow { width: 17px; height: 17px }
.cohort-page .header-cta.action {
  min-height: 46px;
  gap: 13px;
  padding: 7px 9px 7px 17px;
  border-radius: 15px;
  color: #271825;
  font-size: 14px;
}
.cohort-hero {
  min-height: 0;
  padding: clamp(66px,8vw,112px) 24px clamp(112px,16vw,216px);
  background: radial-gradient(ellipse at 50% 63%,#b582b31c,transparent 65%),var(--cohort-dark);
}
.cohort-hero::before,.cohort-hero::after {
  display: block;
  inset: 32px max(24px,calc((100% - 1200px) / 2)) 0;
  opacity: 1;
}
.cohort-hero::before {
  background: radial-gradient(#dfb7e554 .65px,transparent .95px) center/4px 4px;
  mask-image: radial-gradient(ellipse 24% 68% at 23% 54%,#000 12%,transparent 100%),
              radial-gradient(ellipse 24% 68% at 77% 54%,#000 12%,transparent 100%),
              radial-gradient(ellipse 25% 48% at 50% 62%,#0009 10%,transparent 100%);
}
.cohort-hero::after {
  border-inline: 1px solid #eebde338;
  background: none;
  mask-image: linear-gradient(transparent,#000 28%,#000 68%,transparent);
}
.cohort-page .eyebrow {
  color: var(--cohort-accent);
  font: 400 11px/1.6 "Geist Mono",monospace;
  letter-spacing: .025em;
}
.cohort-hero .eyebrow {
  display: inline-flex;
  padding: 7px 13px;
  border: 1px solid #ffffff17;
  border-radius: 999px;
  background: #ffffff11;
  color: var(--cohort-text);
}
.cohort-page .cohort-hero h1 {
  max-width: 1020px;
  margin: 18px auto 20px;
  font-size: clamp(38px,5.1vw,68px);
  line-height: 1.04;
  font-weight: 550;
  text-wrap: balance;
}
.cohort-hero h1 em {
  display: block;
  background: var(--cohort-gradient);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.cohort-hero .hero-copy > p:not(.microcopy) {
  max-width: 630px;
  color: var(--cohort-copy);
  line-height: 1.55;
  text-wrap: pretty;
}
.cohort-hero .hero-actions { margin-top: 26px }
.cohort-hero .microcopy { color: #c4bdc6; font-size: 12px }

.cohort-section {
  padding: clamp(58px,7vw,100px) max(24px,calc((100% - 1200px) / 2));
  border-color: var(--cohort-border);
  background: var(--cohort-dark);
}
.cohort-section:is(.overview,.problem,.outcomes,.approach,.included,.fit,.examples,.faq) {
  --cohort-text: #171318;
  --cohort-copy: #514653;
  --cohort-card: #fff;
  --cohort-border: #e9e0e9;
  --cohort-accent: #805479;
  background: var(--cohort-paper);
  color: var(--cohort-text);
  color-scheme: light;
}
.cohort-section :is(h2,h3,summary) { color: var(--cohort-text) }
.cohort-section h2 { line-height: 1.08; text-wrap: balance }
.cohort-section :is(p,.fit-grid li,.support li,.outcome-panel li,.application-card li) { color: var(--cohort-copy) }
.cohort-section :is(.phase-strip > div,.problem-grid article,.example-grid article,.fit-grid article,
                   .outcome-panel,.included-list > div,.application-card,.hq-slides,.approach-grid article) {
  border-color: var(--cohort-border);
  border-radius: 20px;
  background: var(--cohort-card);
}
.cohort-section .approach-grid article { border-color: var(--cohort-border)!important }
.cohort-section :is(.phase-strip span,.problem-grid article > span,.example-grid article > span,
                   .included-list span,.approach-grid b),
.cohort-section .outcome-panel li::before,.cohort-section .faq summary::after {
  color: var(--cohort-accent);
}
.cohort-section .phase-strip > div:not(:last-child)::after { color: var(--cohort-accent) }
.cohort-section :is(.phase-strip p,.problem-grid p,.example-grid p,.approach-grid p,.included-list p,.faq p) {
  line-height: 1.55;
}
.cohort-section .fit-grid article:first-child { background: #f7f0f8; border-color: #e2d2e7 }
.cohort-section .curriculum-visual {
  border-color: #e9e0e9;
  background: radial-gradient(ellipse at 90% 12%,#eadbed,transparent 68%),#f8f4f9;
}
.cohort-section .curriculum-visual > span { color: #805479 }
.cohort-section .curriculum-visual strong { color: #382339 }
.cohort-section .workflow-line::before { background: #c3a4cb }
.cohort-section .workflow-line i { border-color: #986c9d; background: #fff }
.cohort-section .faq details,.cohort-section .application-card li { border-color: var(--cohort-border) }
.cohort-section .proof-founder img { border-radius: 20px; border-color: var(--cohort-border) }
.cohort-section.close {
  background: radial-gradient(ellipse at 50% 75%,#2b1b30,transparent 65%),var(--cohort-dark);
}
.cohort-footer { color: #c4bdc6 }
@media (min-width:1051px) {
  .cohort-header { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) }
  .cohort-brand { justify-self: start }
  .cohort-header .header-cta { justify-self: end }
}
@media (max-width:700px) {
  .cohort-header { min-height: 70px; padding: 10px 18px }
  .cohort-page .cohort-brand { font-size: clamp(17px,5vw,22px) }
  .cohort-page .header-cta.action { min-height: 44px; padding: 7px 12px; font-size: 12px }
  .cohort-page .header-cta .action-icon { display: none }
  .cohort-hero,.cohort-section { padding-inline: 18px }
  .cohort-hero .hero-copy > p:not(.microcopy) { font-size: 15px }
  .cohort-hero .hero-actions { gap: 16px }
  .cohort-section .curriculum-visual strong { text-wrap: balance }
  .cohort-section .review-heading > span { white-space: normal }
}
