:root{--hero-max-width:1280px;--hero-title-size:clamp(3rem,7vw,7.25rem);--hero-description-width:700px;--hero-gap:clamp(28px,5vw,72px);--hero-padding-block:clamp(72px,10vw,148px);--hero-card-radius:8px;--hero-mobile-padding:22px}
.cf-hero{position:relative;isolation:isolate;overflow:hidden;background:#0b0b0d;color:#fff;padding:var(--hero-padding-block) clamp(22px,5vw,72px) clamp(64px,8vw,112px)}
.cf-hero::after{content:"";position:absolute;right:-8%;bottom:-35%;z-index:-1;width:min(48vw,680px);aspect-ratio:1;border:1px solid rgba(240,90,40,.34);border-radius:50%}
.cf-hero__inner{width:min(100%,var(--hero-max-width));margin:auto;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:var(--hero-gap);align-items:end}
.cf-breadcrumb{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:rgba(255,255,255,.58);font-size:13px}
.cf-hero .cf-breadcrumb a{display:inline;color:inherit;background:transparent;border:0;border-radius:0;min-height:0;padding:0;font:inherit;text-decoration:underline;text-underline-offset:4px;transform:none}.cf-breadcrumb i{font-style:normal;color:var(--accent,#f05a28)}
.cf-hero__eyebrow{margin:0 0 18px;color:var(--accent,#f05a28);font-size:13px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.cf-hero h1{max-width:920px;margin:0;font-size:var(--hero-title-size);font-weight:900;line-height:.93;letter-spacing:0;word-break:keep-all}
.cf-hero h1 small{display:block;margin-top:20px;color:rgba(255,255,255,.68);font-size:clamp(1.2rem,2.2vw,2rem);font-weight:650;line-height:1.22}
.cf-hero__description{max-width:var(--hero-description-width);margin:28px 0 0;color:rgba(255,255,255,.72);font-size:clamp(1rem,1.45vw,1.2rem);line-height:1.7}
.cf-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.cf-hero .cf-hero__button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 22px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:transparent;color:#fff;font-size:15px;font-weight:850;transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease}
.cf-hero .cf-hero__button--primary{border-color:var(--accent,#f05a28);background:var(--accent,#f05a28);color:#fff}.cf-hero__button:hover{transform:translateY(-2px)}.cf-hero__button:focus-visible{outline:3px solid #fff;outline-offset:4px}
.cf-hero__proof{display:flex;flex-wrap:wrap;gap:9px 18px;margin:26px 0 0;padding:0;list-style:none;color:rgba(255,255,255,.7);font-size:13px}.cf-hero__proof li::before{content:"";display:inline-block;width:6px;height:6px;margin:0 8px 2px 0;border-radius:50%;background:var(--accent,#f05a28)}
.cf-hero__card{align-self:end;padding:clamp(24px,3vw,38px);border:1px solid rgba(255,255,255,.15);border-radius:var(--hero-card-radius);background:rgba(255,255,255,.06)}
.cf-hero__card>span{color:var(--accent,#f05a28);font-size:12px;font-weight:850}.cf-hero__card h2{margin:12px 0 26px;color:#fff;font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.25}
.cf-hero__facts{display:grid;margin:0}.cf-hero__facts div{display:grid;grid-template-columns:72px 1fr;gap:16px;padding:13px 0;border-top:1px solid rgba(255,255,255,.13)}.cf-hero__facts dt{color:rgba(255,255,255,.48);font-size:12px}.cf-hero__facts dd{margin:0;color:#fff;font-size:14px;font-weight:750}
.cf-home-hero .cf-hero__visual{align-self:stretch;display:grid;align-content:center;justify-items:end;color:rgba(255,255,255,.12);font-size:clamp(4.5rem,11vw,11rem);font-weight:950;line-height:.72}.cf-home-hero .cf-hero__visual span:nth-child(2){color:rgba(240,90,40,.58)}
.consult-hero.cf-hero{min-height:0;align-content:initial;padding-bottom:clamp(48px,7vw,84px)}.consult-hero.cf-hero .cf-hero__eyebrow{color:var(--accent,#f05a28)}.consult-hero.cf-hero .cf-hero__description{color:rgba(255,255,255,.72);font-size:clamp(1rem,1.45vw,1.2rem)}
@media(max-width:760px){.cf-hero{padding:40px 18px 36px}.cf-hero::after{right:-42%;bottom:-12%;width:92vw;opacity:.55}.cf-hero__inner{grid-template-columns:1fr;gap:24px}.cf-breadcrumb{gap:5px;font-size:13px;line-height:1.55}.cf-hero__eyebrow{margin-bottom:12px;font-size:13px}.cf-hero h1{font-size:clamp(2.35rem,11vw,3.4rem);line-height:1.02}.cf-hero h1 small{margin-top:12px;font-size:1.05rem;line-height:1.35}.cf-hero__description{margin-top:16px;font-size:1rem;line-height:1.62}.cf-hero__actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:20px}.cf-hero__button{width:100%}.cf-hero__proof{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;margin-top:18px;font-size:13px}.cf-hero__proof li:last-child{grid-column:1/-1}.cf-hero__card{padding:18px}.cf-hero__card h2{margin:8px 0 16px}.cf-hero__facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.cf-hero__facts div{grid-template-columns:1fr;gap:3px;padding:10px 0}.cf-home-hero .cf-hero__visual{display:none}.consult-hero.cf-hero{padding-top:88px}}
@media(prefers-reduced-motion:reduce){.cf-hero *{scroll-behavior:auto!important;transition:none!important}}

@media(max-width:760px){.cf-hero .cf-breadcrumb a{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;padding:10px}}
@media(max-width:980px){.cf-hero .cf-breadcrumb a{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;padding:10px}}

/* Seasonal detail-page hero. Scoped so the home and consultation heroes stay unchanged. */
.cf-campaign-detail-hero.cf-hero {
  position: relative;
  min-height: 100svh;
  padding: 0;
  overflow: hidden;
  isolation: isolate;
  background: #f3eee7;
  color: #181818;
}

.cf-campaign-detail-hero.cf-hero::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0 0 0 auto;
  width: 31%;
  background: #ef5b16;
}

.cf-campaign-detail-hero.cf-hero::after {
  display: none;
}

.cf-campaign-content {
  position: absolute;
  z-index: 3;
  top: clamp(48px, 7vh, 88px);
  left: clamp(42px, 7vw, 120px);
  width: min(58vw, 900px);
}

.cf-campaign-detail-hero.cf-hero .cf-breadcrumb {
  display: flex;
  margin: 0 0 clamp(20px, 3vh, 36px);
  color: rgba(24, 24, 24, .62);
  font-size: 12px;
  line-height: 1.45;
}

.cf-campaign-detail-hero.cf-hero .cf-breadcrumb a {
  display: inline;
  min-width: 0;
  min-height: 0;
  padding: 0;
  color: inherit;
  text-decoration-color: rgba(24, 24, 24, .28);
}

.cf-campaign-detail-hero.cf-hero h1 {
  max-width: none;
  margin: 0;
  color: #181818;
  font-size: 88px;
  font-weight: 900;
  line-height: .88;
  letter-spacing: 0;
  word-break: keep-all;
}

.cf-campaign-detail-hero.cf-hero h1 .cf-campaign-page-title {
  display: block;
  margin: 0 0 clamp(13px, 1.8vh, 22px);
  color: #505050;
  font-size: clamp(15px, 1.25vw, 20px);
  font-weight: 800;
  line-height: 1.3;
}

.cf-campaign-detail-hero.cf-hero h1 .cf-campaign-semester {
  display: block;
  margin: 0 0 .08em;
  font-size: 1em;
  line-height: .9;
  transform: translateX(.08em);
}

.cf-campaign-detail-hero.cf-hero h1 strong {
  display: block;
  color: #ef5b16;
  font-size: 1em;
  font-weight: 900;
  line-height: .9;
}

.cf-campaign-lead {
  margin: clamp(20px, 2.6vh, 30px) 0 0;
  color: #181818;
  font-size: clamp(17px, 1.5vw, 24px);
  font-weight: 750;
  line-height: 1.5;
  word-break: keep-all;
}

.cf-campaign-steps {
  display: flex;
  width: min(560px, 48vw);
  margin: clamp(20px, 2.8vh, 32px) 0 0;
  padding: 15px 0;
  border-top: 1px solid rgba(24, 24, 24, .22);
  border-bottom: 1px solid rgba(24, 24, 24, .22);
  list-style: none;
}

.cf-campaign-steps li {
  position: relative;
  flex: 1;
  color: #181818;
  font-size: 13px;
  font-weight: 850;
  white-space: nowrap;
}

.cf-campaign-steps li + li {
  margin-left: 18px;
  padding-left: 18px;
  border-left: 1px solid rgba(24, 24, 24, .22);
}

.cf-campaign-steps b {
  margin-right: 6px;
  color: #ef5b16;
  font-size: 11px;
}

.cf-campaign-teacher {
  position: absolute;
  z-index: 2;
  right: -2%;
  bottom: -3%;
  width: clamp(390px, 43vw, 680px);
  max-height: 91%;
  object-fit: contain;
  object-position: right bottom;
  pointer-events: none;
}

.cf-campaign-info-rail {
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  width: 63%;
  min-height: 24%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  padding: 34px clamp(42px, 7vw, 120px);
  background: #202020;
  color: #fff;
}

.cf-campaign-info-rail::before {
  display: none;
}

.cf-campaign-info-rail article {
  min-width: 0;
  padding-right: clamp(24px, 4vw, 64px);
}

.cf-campaign-info-rail article + article {
  padding-right: 0;
  padding-left: clamp(24px, 4vw, 64px);
  border-left: 1px solid rgba(255, 255, 255, .2);
}

.cf-campaign-info-rail span {
  display: block;
  margin-bottom: 9px;
  color: #ef5b16;
  font-size: 13px;
  font-weight: 900;
}

.cf-campaign-info-rail strong {
  display: block;
  margin-bottom: 7px;
  color: #fff;
  font-size: clamp(20px, 2vw, 29px);
  font-weight: 900;
  line-height: 1.15;
}

.cf-campaign-info-rail p {
  margin: 0;
  color: rgba(255, 255, 255, .7);
  font-size: 14px;
  line-height: 1.45;
  word-break: keep-all;
}

@media (max-width: 980px) {
  .cf-campaign-detail-hero.cf-hero .cf-breadcrumb a {
    min-width: 0;
    min-height: 0;
    padding: 0;
  }
}

@media (max-width: 760px) {
  .cf-campaign-detail-hero.cf-hero {
    min-height: 70svh;
  }

  .cf-campaign-detail-hero.cf-hero::before {
    width: 28%;
    opacity: 1;
  }

  .cf-campaign-content {
    top: 24px;
    left: 18px;
    width: calc(100% - 36px);
  }

  .cf-campaign-detail-hero.cf-hero .cf-breadcrumb {
    display: none;
  }

  .cf-campaign-detail-hero.cf-hero h1 {
    font-size: 52px;
    line-height: .9;
  }

  .cf-campaign-detail-hero.cf-hero h1 strong {
    width: 4.2em;
    max-width: 4.2em;
    white-space: normal;
    line-height: .98;
  }

  .cf-campaign-detail-hero.cf-hero h1 .cf-campaign-page-title {
    max-width: 72vw;
    margin-bottom: 12px;
    font-size: 14px;
    line-height: 1.25;
  }

  .cf-campaign-lead {
    max-width: 280px;
    margin-top: 18px;
    font-size: 15px;
  }

  .cf-campaign-steps {
    display: none;
  }

  .cf-campaign-teacher {
    right: 0;
    bottom: 178px;
    width: min(52vw, 220px);
    max-height: calc(100% - 178px);
    object-fit: contain;
    object-position: right bottom;
  }

  .cf-campaign-info-rail {
    width: 100%;
    min-height: 178px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 22px 18px;
  }

  .cf-campaign-info-rail article {
    padding-right: 16px;
  }

  .cf-campaign-info-rail article + article {
    padding-left: 16px;
  }

  .cf-campaign-info-rail span {
    margin-bottom: 6px;
    font-size: 10px;
  }

  .cf-campaign-info-rail strong {
    margin-bottom: 5px;
    font-size: 17px;
  }

  .cf-campaign-info-rail p {
    font-size: 11px;
  }
}

@media (max-width: 380px) {
  .cf-campaign-detail-hero.cf-hero::before {
    width: 18%;
  }

  .cf-campaign-detail-hero.cf-hero h1 {
    font-size: 48px;
  }

  .cf-campaign-lead {
    font-size: 14px;
  }

  .cf-campaign-teacher {
    right: 0;
    width: 40vw;
  }
}
