/* Isolated public course styles. Shared prototype pages keep styles.css. */
.cohort-two {
  --c2-navy: #102238;
  --c2-ink: #29323b;
  --c2-muted: #58626b;
  --c2-gold: #d4b97c;
  --c2-gold-text: #806329;
  --c2-line: #dbe0e4;
  --c2-soft: #f3f5f6;
  background: #fff;
  color: var(--c2-ink);
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.65;
  padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
}

.cohort-two :where(h1, h2, h3, h4, p, a, strong, span, dt, dd, li) {
  letter-spacing: 0;
  overflow-wrap: break-word;
}

.cohort-two h1,
.cohort-two h2 {
  color: var(--c2-navy);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  text-wrap: balance;
}

.cohort-two h1 { font-size: 2.55rem; line-height: 1.08; margin: 0 0 22px; }
.cohort-two h2 { font-size: 2rem; line-height: 1.18; margin: 0 0 22px; }
.cohort-two h3,
.cohort-two h4 { color: var(--c2-navy); font-size: 1.14rem; line-height: 1.4; margin: 0 0 10px; }
.cohort-two p { color: var(--c2-muted); margin: 0 0 18px; }
.cohort-two :where(ul, ol, dl, figure) { margin: 0; }
.cohort-two li + li { margin-top: 0; }
.cohort-two [hidden] { display: none !important; }
.cohort-two :where(section, main) { scroll-margin-top: 108px; }
.cohort-two :where(a, button, summary):focus-visible { outline: 3px solid #b58e42; outline-offset: 5px; }
.cohort-two .c2-container { width: min(100% - 40px, 1180px); margin-inline: auto; }
.cohort-two .c2-section { padding: 64px 0; }
.cohort-two .c2-soft { background: var(--c2-soft); }
.cohort-two .c2-eyebrow { margin: 0 0 18px; color: var(--c2-gold-text); font-size: 0.78rem; font-weight: 700; text-transform: uppercase; }
.cohort-two .c2-section-heading { max-width: 720px; margin-bottom: 32px; }
.cohort-two .c2-section-heading > p:last-child { margin-bottom: 0; font-size: 1.075rem; }
.cohort-two .c2-editorial { display: grid; gap: 28px; }
.cohort-two .c2-prose { font-size: 1.075rem; }
.cohort-two .c2-prose > p:last-child { margin-bottom: 0; }

.cohort-two .c2-skip { position: fixed; top: 8px; left: 16px; z-index: 100; padding: 12px 20px; background: #fff; color: var(--c2-navy); transform: translateY(-200%); }
.cohort-two .c2-skip:focus { transform: translateY(0); }
.cohort-two .c2-announcement { background: var(--c2-navy); color: #f1dfb7; font-size: 0.85rem; }
.cohort-two .c2-announcement .c2-container { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 24px; padding-block: 10px; }
.cohort-two .c2-announcement a { display: none; text-decoration: underline; text-underline-offset: 3px; }
.cohort-two .site-header { min-height: 76px; background: #fff; box-shadow: none; padding: 12px 20px; }
.cohort-two .brand-logo { width: 196px; height: auto; }
.cohort-two .menu-toggle { display: inline-flex; width: 46px; height: 46px; box-shadow: none; border-radius: 4px; justify-self: end; }
.cohort-two .site-nav { position: absolute; top: 100%; right: 0; left: 0; display: none; max-height: calc(100dvh - 160px); overflow-y: auto; border: 0; border-bottom: 1px solid var(--c2-line); border-radius: 0; padding: 16px 20px 24px; background: #fff; box-shadow: 0 12px 18px #1022380a; }
.cohort-two .site-nav.is-open { display: grid; gap: 4px; }
.cohort-two .site-nav a { font-size: 0.9rem; font-weight: 600; color: var(--c2-ink); padding: 12px 10px; border-radius: 3px; }
.cohort-two .site-nav a:hover { background: var(--c2-soft); }

.cohort-two .c2-button { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; padding: 14px 20px; border: 1px solid transparent; border-radius: 4px; font-size: 0.94rem; font-weight: 650; line-height: 1.4; text-align: center; text-decoration: none; transition: background-color 160ms ease, border-color 160ms ease; }
.cohort-two .c2-button-gold { background: var(--c2-gold); color: #102238; }
.cohort-two .c2-button-gold:hover { background: #e4ce9c; }
.cohort-two .c2-button-dark { background: var(--c2-navy); color: #fff; }
.cohort-two .c2-button-dark:hover { background: #28435a; }
.cohort-two .c2-header-contact { display: none; }
.cohort-two .c2-text-link { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; font-weight: 600; text-decoration: underline; text-underline-offset: 5px; }
.cohort-two .c2-actions { display: grid; gap: 10px; margin-top: 26px; }

.cohort-two .c2-hero { position: relative; display: flex; flex-direction: column; overflow: hidden; background: var(--c2-navy); }
.cohort-two .c2-hero-content { display: contents; }
.cohort-two .c2-hero-copy { order: 0; position: relative; padding: 32px 20px 24px; }
.cohort-two .c2-hero h1 { color: #fff; max-width: 650px; }
.cohort-two .c2-hero .c2-eyebrow { display: none; color: var(--c2-gold); margin-bottom: 10px; font-size: 0.74rem; }
.cohort-two .c2-edition { color: #dfd3b6; margin-bottom: 22px; font-size: 0.87rem; }
.cohort-two .c2-hero-lead { color: #ecf0f3; max-width: 590px; font-size: 1.075rem; line-height: 1.65; }
.cohort-two .c2-audience { color: #bfcbd5; max-width: 540px; font-size: 0.94rem; }
.cohort-two .c2-hero-date { display: grid; gap: 4px; margin-top: 25px; padding-top: 20px; border-top: 1px solid #ffffff30; color: #fff; }
.cohort-two .c2-hero-date strong { font-size: 1.1rem; font-weight: 600; }
.cohort-two .c2-hero-date span { color: #c8d1d9; font-size: 0.9rem; }
.cohort-two .c2-hero .c2-text-link { color: #fff; }
.cohort-two .c2-microcopy { margin: 16px 0 0; color: #becbd5; font-size: 0.83rem; line-height: 1.6; }
.cohort-two .c2-hero-visual { order: 1; width: 100%; height: 390px; position: relative; }
.cohort-two .c2-hero-visual img { height: 100%; width: 100%; object-fit: cover; object-position: 50% 24%; }
.cohort-two .c2-hero-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, var(--c2-navy), transparent 42%); pointer-events: none; }
.cohort-two .c2-hero-faculty { position: relative; order: 2; padding: 0 20px 30px; color: #fff; }
.cohort-two .c2-hero-faculty > span { display: block; font-size: 0.85rem; color: #cbd4dc; }
.cohort-two .c2-hero-faculty > p { font-family: Georgia, "Times New Roman", serif; font-size: 1.9rem; color: #fff; margin: 5px 0 9px; }
.cohort-two .c2-hero-faculty > strong { display: block; margin-bottom: 5px; color: var(--c2-gold); font-size: 0.94rem; font-weight: 600; }

.cohort-two .c2-trust { border-bottom: 1px solid var(--c2-line); padding: 12px 0; }
.cohort-two .c2-trust-list { display: grid; list-style: none; padding: 0; }
.cohort-two .c2-trust-list li { padding: 14px 0; border-bottom: 1px solid var(--c2-line); }
.cohort-two .c2-trust-list li:last-child { border: 0; }
.cohort-two .c2-trust-list span { display: block; font-size: 0.77rem; color: var(--c2-muted); margin-bottom: 3px; }
.cohort-two .c2-trust-list strong { color: var(--c2-navy); font-size: 0.98rem; font-weight: 600; }
.cohort-two .c2-difference { border-left: 2px solid #c3a365; padding: 0 0 0 20px; margin-top: 28px; }
.cohort-two .c2-difference h3 { font-size: 0.88rem; }
.cohort-two .c2-difference p { font-size: 1rem; margin: 0; }

.cohort-two .c2-outcomes { list-style: none; padding: 0; display: grid; gap: 0 48px; }
.cohort-two .c2-outcomes li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 18px; padding: 24px 0; border-top: 1px solid #cdd5db; }
.cohort-two .c2-outcomes li > span { font-family: Georgia, "Times New Roman", serif; color: var(--c2-gold-text); font-size: 1.65rem; line-height: 1.2; }
.cohort-two .c2-outcomes h3 { font-size: 1.18rem; }
.cohort-two .c2-outcomes p { margin: 0; max-width: 400px; }

.cohort-two .c2-weekend { display: grid; gap: 24px; align-items: start; }
.cohort-two .c2-day { min-width: 0; border: 1px solid var(--c2-line); border-radius: 6px; padding: 26px 22px; background: #fff; }
.cohort-two .c2-day-heading { padding-bottom: 20px; }
.cohort-two .c2-day-heading time { display: flex; align-items: center; gap: 18px; margin-bottom: 24px; color: var(--c2-navy); }
.cohort-two .c2-day-heading time strong { font-family: Georgia, "Times New Roman", serif; font-size: 3.5rem; font-weight: 400; line-height: 1; }
.cohort-two .c2-day-heading time span { font-size: 0.88rem; line-height: 1.5; }
.cohort-two .c2-day-heading h3 { font-family: Georgia, "Times New Roman", serif; font-size: 1.65rem; font-weight: 400; line-height: 1.2; }
.cohort-two .c2-day-heading p { margin: 0; font-size: 0.86rem; }
.cohort-two .c2-module { border-top: 1px solid var(--c2-line); padding: 22px 0; }
.cohort-two .c2-module:last-child { padding-bottom: 0; }
.cohort-two .c2-module > span { color: var(--c2-gold-text); font-weight: 700; font-size: 0.76rem; text-transform: uppercase; }
.cohort-two .c2-module h4 { font-size: 1.05rem; margin: 7px 0 12px; }
.cohort-two .c2-module ul { color: var(--c2-muted); padding-left: 18px; font-size: 0.94rem; }
.cohort-two .c2-module li { margin-top: 5px; }
.cohort-two .c2-day-sunday { border-top: 3px solid #ae8c4d; background: #f6f7f8; }
.cohort-two .c2-sunday-note { padding: 22px 0 0; border-top: 1px solid var(--c2-line); margin-top: 8px; }
.cohort-two .c2-sunday-note span { font-weight: 600; font-size: 0.92rem; color: var(--c2-navy); }
.cohort-two .c2-sunday-note p { margin: 10px 0 0; font-size: 0.94rem; }
.cohort-two .c2-program-note { margin: 22px 0 0; font-size: 0.92rem; }

.cohort-two .c2-faculty-section { background: var(--c2-navy); }
.cohort-two .c2-faculty-layout { display: grid; gap: 36px; align-items: center; }
.cohort-two .c2-portrait { max-width: 430px; width: 100%; }
.cohort-two .c2-portrait img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.cohort-two .c2-portrait figcaption { padding-top: 16px; color: #c6d0d9; font-size: 0.83rem; }
.cohort-two .c2-faculty-section h2 { color: #fff; }
.cohort-two .c2-faculty-section .c2-eyebrow { color: var(--c2-gold); }
.cohort-two .c2-faculty-section p { color: #c9d3dc; }
.cohort-two .c2-faculty-lead { font-size: 1.13rem; }
.cohort-two .c2-experience { display: flex; gap: 20px; align-items: center; margin: 24px 0; }
.cohort-two .c2-experience strong { font-family: Georgia, "Times New Roman", serif; font-size: 3.8rem; line-height: 1; font-weight: 400; color: var(--c2-gold); }
.cohort-two .c2-experience span { font-size: 0.91rem; line-height: 1.5; }
.cohort-two .c2-credentials { padding: 0; list-style: none; margin: 26px 0; }
.cohort-two .c2-credentials li { border-top: 1px solid #ffffff25; padding: 12px 0; color: #f3f5f7; font-size: 0.97rem; }
.cohort-two .c2-cohort-proof { border-bottom: 1px solid var(--c2-line); }
.cohort-two .c2-cohort-proof h2 { max-width: 360px; }

.cohort-two .c2-testimonial-list { display: grid; gap: 24px; }
.cohort-two .c2-testimonial { border-top: 2px solid #b29153; padding-top: 24px; }
.cohort-two .c2-testimonial blockquote { margin: 0 0 20px; }
.cohort-two .c2-testimonial blockquote p { color: var(--c2-navy); font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem; }
.cohort-two .c2-testimonial figcaption { display: grid; gap: 4px; color: var(--c2-muted); font-size: 0.9rem; }
.cohort-two .c2-includes { display: grid; gap: 0; }
.cohort-two .c2-includes > div { padding: 20px 0; border-top: 1px solid #cdd5db; }
.cohort-two .c2-includes dt { color: var(--c2-navy); font-size: 1.05rem; font-weight: 600; }
.cohort-two .c2-includes dd { margin: 5px 0 0; color: var(--c2-muted); font-size: 0.97rem; }
.cohort-two .c2-investment { align-items: center; }
.cohort-two .c2-price-panel { padding: 26px 0 0; border-top: 2px solid #ae8c4d; }
.cohort-two .c2-price { margin: 0 0 24px; }
.cohort-two .c2-price dt { color: var(--c2-muted); font-size: 0.9rem; }
.cohort-two .c2-price dd { margin: 6px 0 0; font-family: Georgia, "Times New Roman", serif; font-size: 2.3rem; line-height: 1.2; color: var(--c2-navy); }
.cohort-two .c2-payment-methods { font-size: 0.87rem; }
.cohort-two .c2-enrollment { background: var(--c2-soft); }
.cohort-two .c2-steps { display: grid; gap: 28px; padding: 0; list-style: none; }
.cohort-two .c2-steps li { padding-top: 20px; border-top: 1px solid #c7cfd6; }
.cohort-two .c2-steps li > span { display: block; font-family: Georgia, "Times New Roman", serif; color: var(--c2-gold-text); font-size: 1.7rem; margin-bottom: 16px; }
.cohort-two .c2-steps h3 { font-size: 1.12rem; }
.cohort-two .c2-steps p { margin: 0; font-size: 0.96rem; }

.cohort-two .c2-faq details { border-top: 1px solid var(--c2-line); }
.cohort-two .c2-faq details:last-child { border-bottom: 1px solid var(--c2-line); }
.cohort-two .c2-faq summary { position: relative; cursor: pointer; list-style: none; padding: 22px 32px 22px 0; color: var(--c2-navy); font-weight: 600; font-size: 1rem; line-height: 1.5; }
.cohort-two .c2-faq summary::-webkit-details-marker { display: none; }
.cohort-two .c2-faq summary::after { content: "+"; position: absolute; top: 20px; right: 0; font-size: 1.25rem; font-weight: 400; }
.cohort-two .c2-faq details[open] summary::after { content: "−"; }
.cohort-two .c2-faq summary:hover { color: var(--c2-gold-text); }
.cohort-two .c2-faq details p { margin: 0 0 22px; padding-right: 20px; font-size: 0.96rem; }
.cohort-two .c2-final { background: var(--c2-navy); padding: 64px 0; text-align: center; }
.cohort-two .c2-final .c2-container { max-width: 760px; }
.cohort-two .c2-final .c2-eyebrow { color: var(--c2-gold); }
.cohort-two .c2-final h2 { color: #fff; }
.cohort-two .c2-final p { color: #d5dde4; }
.cohort-two .c2-final .c2-button { margin-top: 12px; }
.cohort-two .c2-final .c2-microcopy { color: #becbd5; }
.cohort-two .c2-footer { padding: 38px 0; background: #fff; }
.cohort-two .c2-footer .c2-container { display: grid; gap: 26px; }
.cohort-two .c2-footer strong { color: var(--c2-navy); font-size: 1.05rem; }
.cohort-two .c2-footer p { margin: 8px 0 0; font-size: 0.9rem; }
.cohort-two .c2-footer nav { display: grid; align-content: start; gap: 12px; font-size: 0.9rem; }
.cohort-two .c2-footer a { text-underline-offset: 4px; text-decoration: underline; }
.cohort-two .c2-mobile-contact { position: fixed; bottom: 0; left: 0; right: 0; z-index: 45; padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); background: #fffffff5; border-top: 1px solid var(--c2-line); }
.cohort-two.nav-open .c2-mobile-contact { visibility: hidden; }

@media (min-width: 600px) {
  .cohort-two .c2-announcement a { display: inline; }
  .cohort-two .c2-hero .c2-eyebrow { display: block; }
  .cohort-two .c2-container { width: min(100% - 64px, 1180px); }
  .cohort-two h1 { font-size: 3.35rem; }
  .cohort-two h2 { font-size: 2.45rem; }
  .cohort-two .c2-section { padding: 80px 0; }
  .cohort-two .c2-hero-copy { padding: 52px 32px 32px; }
  .cohort-two .c2-hero-visual { height: 470px; }
  .cohort-two .c2-hero-visual img { object-position: 50% 23%; }
  .cohort-two .c2-hero-faculty { padding-inline: 32px; }
  .cohort-two .c2-button { width: auto; }
  .cohort-two .c2-actions { display: flex; flex-wrap: wrap; gap: 12px 24px; }
  .cohort-two .c2-trust-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
  .cohort-two .c2-trust-list li:nth-last-child(2) { border-bottom: 0; }
  .cohort-two .c2-outcomes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cohort-two .c2-day { padding: 32px; }
  .cohort-two .c2-faculty-layout { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: 36px; }
  .cohort-two .c2-portrait { align-self: start; }
  .cohort-two .c2-footer .c2-container { grid-template-columns: 1fr 1fr; }
  .cohort-two .c2-mobile-contact .c2-button { width: 100%; }
  .cohort-two .c2-final { padding: 80px 0; }
}

@media (min-width: 960px) {
  .cohort-two { padding-bottom: 0; }
  .cohort-two h1 { font-size: 3.6rem; }
  .cohort-two h2 { font-size: 2.65rem; }
  .cohort-two .c2-section { padding: 92px 0; }
  .cohort-two .c2-section-heading { margin-bottom: 44px; }
  .cohort-two .site-header { grid-template-columns: auto minmax(0, 1fr) auto; padding: 14px max(32px, calc((100% - 1180px) / 2)); gap: 20px; }
  .cohort-two .brand-logo { width: 214px; }
  .cohort-two .menu-toggle { display: none; }
  .cohort-two .site-nav,
  .cohort-two .site-nav.is-open { position: static; display: flex; justify-content: center; flex-wrap: wrap; max-height: none; overflow: visible; padding: 0; border: 0; box-shadow: none; gap: 0 6px; }
  .cohort-two .site-nav a { padding: 10px 8px; font-size: 0.84rem; }
  .cohort-two .c2-header-contact { display: inline-flex; min-height: 46px; padding: 12px 16px; font-size: 0.83rem; }
  .cohort-two .c2-hero-content { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 42px; position: relative; z-index: 1; padding: 50px 0 42px; }
  .cohort-two .c2-hero-copy { padding: 0; }
  .cohort-two .c2-hero-visual { position: absolute; inset: 0 0 0 auto; width: 47%; height: 100%; }
  .cohort-two .c2-hero-visual img { object-position: 50% 20%; }
  .cohort-two .c2-hero-visual::after { background: linear-gradient(90deg, var(--c2-navy), transparent 32%), linear-gradient(0deg, #102238 3%, #102238dd 15%, transparent 51%); }
  .cohort-two .c2-hero-faculty { align-self: end; padding: 0 0 8px 32px; }
  .cohort-two .c2-hero-faculty > p { font-size: 2.05rem; }
  .cohort-two .c2-hero-lead { font-size: 1.14rem; }
  .cohort-two .c2-hero .c2-actions { gap: 14px 24px; }
  .cohort-two .c2-trust { padding: 8px 0; }
  .cohort-two .c2-trust-list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
  .cohort-two .c2-trust-list li { border-bottom: 0; border-right: 1px solid var(--c2-line); padding: 17px 24px; }
  .cohort-two .c2-trust-list li:first-child { padding-left: 0; }
  .cohort-two .c2-trust-list li:last-child { padding-right: 0; }
  .cohort-two .c2-editorial { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 80px; }
  .cohort-two .c2-weekend { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
  .cohort-two .c2-day-sunday { position: sticky; top: 116px; }
  .cohort-two .c2-faculty-layout { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: 88px; }
  .cohort-two .c2-portrait { align-self: center; }
  .cohort-two .c2-faculty-section h2 { font-size: 3.15rem; }
  .cohort-two .c2-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
  .cohort-two .c2-testimonial-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; }
  .cohort-two .c2-faq-layout { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); }
  .cohort-two .c2-final { padding: 88px 0; }
  .cohort-two .c2-footer .c2-container { grid-template-columns: 1.5fr 1fr; gap: 80px; }
  .cohort-two .c2-mobile-contact { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .cohort-two .c2-button { transition: none; }
}
