/* ============================================================
   ENROLL PAGE — page-specific styles
   Inherits global vars + utilities from styles.css
   ============================================================ */

/* ============================================================
   01  HERO
   ============================================================ */
.enroll-hero{
  background:var(--ink);
  color:var(--cream);
  padding:160px 0 96px;
  position:relative;
  overflow:hidden;
}
.enroll-hero::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(800px 500px at 80% 20%, rgba(179,92,58,.10), transparent 60%),
    radial-gradient(600px 400px at 10% 80%, rgba(217,183,138,.06), transparent 70%);
  pointer-events:none;
}
.enroll-hero .wrap{ position:relative; z-index:1; }
.enroll-hero .hero-photo{ position:absolute; inset:0; z-index:0; }
.enroll-hero .hero-photo img{
  width:100%; height:100%; object-fit:cover; object-position:50% 42%; display:block;
  filter: sepia(0.28) saturate(0.82) contrast(1.03) brightness(0.66);
}
.enroll-hero .hero-photo::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.92) 0%, rgba(0,0,0,.72) 42%, rgba(0,0,0,.32) 100%),
    linear-gradient(0deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,0) 55%);
}
@media (max-width:880px){
  .enroll-hero .hero-photo img{ object-position:60% 42%; }
  .enroll-hero .lede{ font-size:18px; }
}

.enroll-hero .eyebrow{ color:var(--sand); }
.enroll-hero .eyebrow .dot{ background:var(--accent); }

.enroll-hero h1{
  margin-top:24px;
  color:var(--cream);
  max-width:920px;
}
.enroll-hero h1 em{ color:var(--accent-2); }

.enroll-hero .lede{
  margin-top:24px;
  max-width:680px;
  color:rgba(244,238,221,.78);
  font-size:23px; line-height:1.5;
}

.enroll-hero .hero-row{
  display:flex; gap:14px; flex-wrap:wrap;
  margin-top:40px;
}

.enroll-hero .scarcity{
  margin-top:32px; font-weight:700;
  display:flex; gap:14px; align-items:center; flex-wrap:wrap;
  font-family:var(--mono); font-size:11px; letter-spacing:.24em;
  text-transform:uppercase; color:var(--sand);
}
.enroll-hero .scarcity .dot{
  color:var(--accent); font-size:8px;
}
.enroll-hero .scarcity .sep{ color:rgba(217,183,138,.4); }

/* ============================================================
   02  COHORT 01 STATE OF PLAY
   ============================================================ */
.cohort-stats{
  background:var(--ink);
  color:var(--cream);
  padding:0 0 24px;
  border-bottom:1px solid rgba(217,183,138,.18);
}
.cohort-stats .wrap{ padding-left:0; padding-right:0; }
.cohort-stats .head-row{
  padding:36px 56px 36px;
  display:flex; justify-content:space-between; align-items:baseline;
  border-bottom:1px solid rgba(217,183,138,.12);
}
.cohort-stats .head-row .eyebrow{ color:var(--sand); }
.cohort-stats .head-row .micro{
  font-family:var(--mono); font-size:11px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--sand); opacity:.6;
}
.cohort-stats .grid{
  display:grid; grid-template-columns:repeat(4, 1fr);
  border-bottom:1px solid rgba(217,183,138,.12);
}
.cohort-stats .item{
  padding:40px 32px;
  border-right:1px solid rgba(217,183,138,.12);
}
.cohort-stats .item:last-child{ border-right:none; }
.cohort-stats .item .n{
  font-family:var(--display); font-weight:300;
  font-size:62px; line-height:1; letter-spacing:-.02em;
  color:var(--cream);
}
.cohort-stats .item .n em{
  font-style:italic; color:var(--accent-2); font-weight:400;
}
.cohort-stats .item .n .small{
  font-size:24px; opacity:.55; margin-left:2px;
}
.cohort-stats .item .l{
  margin-top:14px;
  font-family:var(--sans); font-size:14px; color:rgba(244,238,221,.78);
  line-height:1.4;
}
.cohort-stats .item .src{
  margin-top:10px;
  font-family:var(--mono); font-size:10.5px; letter-spacing:.2em; font-weight:700;
  text-transform:uppercase; color:var(--sand); opacity:.75;
}
@media (max-width:880px){
  .cohort-stats .head-row{
    flex-direction:column; align-items:flex-start; gap:8px;
    padding:28px 24px;
  }
  .cohort-stats .grid{ grid-template-columns:1fr 1fr 1fr; }
  .cohort-stats .item{ padding:28px 16px; }
  .cohort-stats .item .n{ font-size:46px; }
}
@media (max-width:560px){
  .cohort-stats .grid{ grid-template-columns:1fr; }
  .cohort-stats .item{ border-right:none; border-bottom:1px solid rgba(217,183,138,.12); padding:24px 16px; }
  .cohort-stats .item:last-child{ border-bottom:none; }
  .cohort-stats .item .n{ font-size:56px; }
}

/* ============================================================
   03  WHO IT'S FOR
   ============================================================ */
.who{
  background:var(--paper);
  color:var(--ink);
  padding:120px 0;
}
.who .lockup{
  display:grid; grid-template-columns:280px 1fr;
  gap:64px;
  max-width:1100px; margin:0 auto;
}
.who .sidehead{
  font-family:var(--mono); font-size:11px; letter-spacing:.28em;
  text-transform:uppercase; color:var(--sage);
}
.who .sidehead .num{ color:var(--accent); margin-right:8px; }

.who h2{ margin:0; }
.who h2 em{ color:var(--accent); }

.who .profile-list{
  margin-top:40px;
  display:grid; gap:0;
  border-top:1px solid var(--rule);
}
.who .profile{
  display:grid; grid-template-columns:160px 1fr;
  gap:32px;
  padding:28px 0;
  border-bottom:1px solid var(--rule);
  align-items:baseline;
}
.who .profile .tag{
  font-family:var(--mono); font-size:11px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--accent);
}
.who .profile .desc{
  font-family:var(--display); font-weight:400;
  font-size:22px; line-height:1.3; color:var(--ink);
  text-wrap:balance;
}
.who .profile .desc em{ font-style:italic; color:var(--sage); }

@media (max-width:880px){
  .who{ padding:72px 0; }
  .who .lockup{ grid-template-columns:1fr; gap:32px; }
  .who .profile{ grid-template-columns:1fr; gap:8px; padding:20px 0; }
  .who .profile .desc{ font-size:18px; }
}

/* ============================================================
   04  TUITION
   ============================================================ */
.tuition{
  background:var(--ink);
  color:var(--cream);
  padding:120px 0;
}
.tuition .head{ text-align:center; max-width:760px; margin:0 auto 64px; }
.tuition .head .eyebrow{ justify-content:center; display:inline-flex; }
.tuition .head h2{ margin-top:18px; color:var(--cream); }
.tuition .head h2 em{ color:var(--accent-2); }
.tuition .head .lede{
  margin-top:14px; color:rgba(244,238,221,.7);
  font-family:var(--display); font-style:italic; font-weight:400;
  font-size:20px;
}

.tuition .figure{
  display:flex; align-items:flex-end; justify-content:center;
  gap:24px; margin-bottom:64px;
}
.tuition .figure .amt{
  font-family:var(--display); font-weight:300;
  font-size:clamp(120px, 14vw, 180px); line-height:.9;
  color:var(--accent-2); letter-spacing:-.03em;
}
.tuition .figure .per{
  font-family:var(--mono); font-size:13px; letter-spacing:.24em;
  text-transform:uppercase; color:var(--sand);
  padding-bottom:24px;
  line-height:1.7;
}
.tuition .figure .per .alt{ color:var(--accent); }

.tuition .ledger{
  max-width:880px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr;
  gap:0;
  border:1px solid rgba(217,183,138,.18);
}
.tuition .col{
  padding:32px 32px 24px;
}
.tuition .col.includes{
  border-right:1px solid rgba(217,183,138,.18);
}
.tuition .col h3{
  font-family:var(--mono); font-size:11px; letter-spacing:.28em;
  text-transform:uppercase; margin:0 0 20px;
  color:var(--accent);
}
.tuition .col.excludes h3{ color:var(--sand); opacity:.7; }

.tuition .col ul{
  list-style:none; padding:0; margin:0;
}
.tuition .col li{
  display:flex; gap:14px; align-items:baseline;
  padding:10px 0;
  font-family:var(--sans); font-size:15px; color:var(--cream);
  border-top:1px solid rgba(217,183,138,.08);
}
.tuition .col li:first-child{ border-top:none; }
.tuition .col li .mark{
  font-family:var(--mono); color:var(--accent);
  font-size:11px;
  width:14px; flex:none;
}
.tuition .col.excludes li .mark{ color:var(--sand); opacity:.5; }
.tuition .col.excludes li{ color:rgba(244,238,221,.65); }

.tuition .foot{
  text-align:center; margin-top:36px;
  font-family:var(--mono); font-size:11px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--sand); opacity:.7;
}

@media (max-width:880px){
  .tuition{ padding:72px 0; }
  .tuition .head{ margin-bottom:24px; }
  .tuition .figure{ flex-direction:column; align-items:center; gap:8px; margin-bottom:48px; }
  .tuition .figure .amt{ line-height:1; }
  .tuition .figure .per{ padding-bottom:0; text-align:center; }
  .tuition .ledger{ grid-template-columns:1fr; }
  .tuition .col.includes{
    border-right:none;
    border-bottom:1px solid rgba(217,183,138,.18);
  }
}

/* ============================================================
   05  APPLICATION PROCESS
   ============================================================ */
.process{
  background:var(--paper);
  color:var(--ink);
  padding:120px 0;
}
.process .head{ text-align:center; max-width:760px; margin:0 auto 72px; }
.process .head .eyebrow{ justify-content:center; display:inline-flex; }
.process .head h2{ margin-top:18px; }
.process .head h2 em{ color:var(--accent); }

.process .steps{
  max-width:1100px; margin:0 auto;
  display:grid; grid-template-columns:repeat(4, 1fr);
  gap:0;
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
}
.process .step{
  padding:36px 28px 32px;
  border-right:1px solid var(--rule);
  position:relative;
}
.process .step:last-child{ border-right:none; }

.process .step .num{
  font-family:var(--mono); font-size:11px; letter-spacing:.28em;
  text-transform:uppercase; color:var(--accent);
}
.process .step .when{
  font-family:var(--mono); font-size:10.5px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--sage); opacity:.6;
  margin-top:6px;
  min-height:1.4em;
}
.process .step h3{
  font-family:var(--display); font-weight:400;
  font-size:24px; line-height:1.15; color:var(--ink);
  margin:12px 0 14px;
  letter-spacing:-.01em;
  text-wrap:balance;
  /* Reserve 2 lines so descriptions across all 4 steps share a baseline */
  min-height:calc(2 * 1.15em);
}
.process .step h3 em{ color:var(--accent); font-style:italic; }
.process .step p{
  font-family:var(--sans); font-size:14.5px; line-height:1.55;
  color:var(--ink); margin:0;
  max-width:280px;
}

.process .foot{
  text-align:center; margin-top:48px;
}
.process .foot p{
  font-family:var(--display); font-style:italic;
  font-size:22px; color:var(--sage); margin:0 0 24px;
}

@media (max-width:1100px){ .process .steps{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width:600px){
  .process{ padding:72px 0; }
  .process .steps{ grid-template-columns:1fr; }
  .process .step{ border-right:none; border-bottom:1px solid var(--rule); }
  .process .step:last-child{ border-bottom:none; }
}

/* ============================================================
   06  FAQ
   ============================================================ */
.faq{
  background:var(--paper);
  color:var(--ink);
  padding:0 0 120px;
}
.faq .head{
  max-width:1100px; margin:0 auto 48px;
  border-top:1px solid var(--rule); padding-top:72px;
}
.faq .head h2{ margin:0; }
.faq .head h2 em{ color:var(--accent); }

.faq .list{
  max-width:1100px; margin:0 auto;
}
.faq details{
  border-top:1px solid var(--rule);
  padding:24px 0;
}
.faq details:last-child{ border-bottom:1px solid var(--rule); }

.faq summary{
  list-style:none;
  cursor:pointer;
  display:flex; justify-content:space-between; align-items:baseline; gap:24px;
  font-family:var(--display); font-weight:400;
  font-size:24px; line-height:1.2; color:var(--ink);
  letter-spacing:-.01em;
  text-wrap:balance;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{
  content:"+";
  font-family:var(--display); font-weight:300;
  font-size:32px; line-height:1; color:var(--accent);
  transition:transform .2s;
  flex:none;
}
.faq details[open] summary::after{
  content:"−";
}

.faq .answer{
  margin-top:18px;
  font-family:var(--sans); font-size:16px; line-height:1.65;
  color:var(--ink);
  max-width:780px;
}
.faq .answer p{ margin:0 0 12px; }
.faq .answer p:last-child{ margin:0; }
.faq .answer b{ font-weight:600; color:var(--ink); }

@media (max-width:880px){
  .faq{ padding-bottom:72px; }
  .faq .head{ padding-top:48px; }
  .faq summary{ font-size:19px; gap:16px; }
  .faq summary::after{ font-size:26px; }
  .faq .answer{ font-size:15px; }
}

/* ============================================================
   07  CLOSING CTA
   ============================================================ */
.enroll-cta{
  background:var(--ink); color:var(--cream);
  padding:120px 0;
  text-align:center;
}
.enroll-cta .eyebrow{ justify-content:center; display:inline-flex; color:var(--sand); }
.enroll-cta .eyebrow .dot{ background:var(--accent); }
.enroll-cta h2{
  color:var(--cream); margin:24px 0 18px;
  max-width:840px; margin-left:auto; margin-right:auto;
}
.enroll-cta h2 em{ color:var(--accent-2); }
.enroll-cta .lede{
  color:rgba(244,238,221,.75); max-width:560px; margin:0 auto;
}
.enroll-cta .row{
  margin-top:40px;
  display:flex; gap:14px; justify-content:center; flex-wrap:wrap;
}
.enroll-cta .signature{
  margin-top:48px;
  font-family:var(--script,'Mrs Saint Delafield', cursive);
  font-size:36px; color:var(--accent-2);
}
.enroll-cta .signature-name{
  font-family:var(--mono); font-size:11px; letter-spacing:.28em;
  text-transform:uppercase; color:var(--sand); opacity:.6;
  margin-top:8px;
}
