/* Bossify Academy — homepage v2
   Isolated homepage component system. Intentionally avoids legacy section selectors. */

.home-v2 {
  background: #fff;
}

.home-v2__main {
  padding-top: 72px;
  overflow: clip;
}

.home-v2 :where(.home2-hero, .home2-intro, .home2-programs, .home2-process, .home2-event, .home2-founder, .home2-learning, .home2-impact, .home2-join, .home2-contact) {
  scroll-margin-top: 88px;
}

.home2-kicker {
  display: inline-block;
  margin-bottom: 14px;
  color: var(--bossify-coral);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1.2;
  text-transform: uppercase;
}

.home2-kicker--light {
  color: #ff9aaa;
}

.home2-section-copy h2,
.home2-section-head h2,
.home2-event__content h2,
.home2-founder__content h2,
.home2-impact__head h2,
.home2-join__copy h2 {
  margin: 0;
  color: var(--bossify-violet-deep);
  font-size: clamp(2rem, 4.2vw, 3.65rem);
  line-height: 1.03;
  letter-spacing: -0.045em;
}

.home2-section-copy p,
.home2-section-head > p,
.home2-event__content > p,
.home2-founder__content > p,
.home2-join__copy > p {
  color: var(--bossify-muted);
  font-size: clamp(0.98rem, 1.35vw, 1.08rem);
  line-height: 1.75;
}

.home2-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
}

.home2-text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--bossify-violet);
  font-size: 0.9rem;
  font-weight: 750;
  line-height: 1.3;
}

.home2-text-link i {
  color: var(--bossify-coral);
  transition: transform var(--transition);
}

.home2-text-link:hover i { transform: translateX(3px); }

/* Hero */
.home2-hero {
  position: relative;
  padding: clamp(48px, 7vw, 88px) 0 clamp(60px, 8vw, 104px);
  background: linear-gradient(180deg, #fff 0%, #fff 72%, #fbf8fc 100%);
}

.home2-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(42px, 7vw, 96px);
  align-items: center;
}

.home2-hero__content {
  max-width: 610px;
}

.home2-hero__content h1 {
  margin: 0 0 24px;
  color: var(--bossify-violet-deep);
  font-size: clamp(3rem, 6.2vw, 5.65rem);
  font-weight: 800;
  line-height: 0.94;
  letter-spacing: -0.06em;
}

.home2-hero__lead {
  max-width: 590px;
  margin: 0 0 30px;
  color: #5f5865;
  font-size: clamp(1.03rem, 1.45vw, 1.17rem);
  line-height: 1.72;
}

.home2-hero__proof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  max-width: 560px;
  margin: 40px 0 0;
  padding-top: 24px;
  border-top: 1px solid rgba(63,26,114,.12);
}

.home2-hero__proof div {
  display: grid;
  gap: 5px;
  padding-right: 18px;
}

.home2-hero__proof dt {
  color: var(--bossify-coral);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.home2-hero__proof dd {
  color: var(--bossify-violet);
  font-size: .84rem;
  font-weight: 700;
}

.home2-hero__media {
  position: relative;
  min-width: 0;
  aspect-ratio: 1.03 / 1;
  overflow: hidden;
  border-radius: 26px;
  background: var(--bossify-violet-deep);
  box-shadow: 0 30px 80px rgba(47,17,88,.16);
}

.home2-hero__media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(27,8,47,.48));
  pointer-events: none;
}

.home2-hero__media > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
}

.home2-hero__media-note {
  position: absolute;
  z-index: 2;
  left: 26px;
  right: 26px;
  bottom: 24px;
  display: grid;
  gap: 4px;
  color: #fff;
}

.home2-hero__media-note span {
  color: #ff9aaa;
  font-size: .69rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.home2-hero__media-note strong {
  max-width: 460px;
  font-size: clamp(1rem, 1.8vw, 1.35rem);
  line-height: 1.3;
}

/* Bossify model */
.home2-intro {
  padding: clamp(72px, 9vw, 120px) 0;
  background: #fbf8fc;
}

.home2-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  gap: clamp(52px, 8vw, 112px);
  align-items: start;
}

.home2-section-copy {
  max-width: 560px;
}

.home2-section-copy h2 { margin-bottom: 22px; }

.home2-capabilities {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgba(63,26,114,.12);
}

.home2-capability {
  display: grid;
  grid-template-columns: 36px minmax(0,1fr);
  gap: 18px;
  padding: 28px 24px 28px 0;
  border-bottom: 1px solid rgba(63,26,114,.12);
}

.home2-capability:nth-child(odd) {
  padding-right: 32px;
  border-right: 1px solid rgba(63,26,114,.12);
}

.home2-capability:nth-child(even) { padding-left: 32px; }

.home2-capability__index {
  color: var(--bossify-coral);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.home2-capability h3 {
  margin: 0 0 8px;
  color: var(--bossify-violet);
  font-size: 1.02rem;
}

.home2-capability p {
  margin: 0;
  color: var(--bossify-muted);
  font-size: .89rem;
  line-height: 1.65;
}

/* Shared section heading */
.home2-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(260px, .58fr);
  gap: clamp(30px, 6vw, 86px);
  align-items: end;
  margin-bottom: clamp(38px, 5vw, 60px);
}

.home2-section-head > p { margin: 0; }
.home2-section-head--light h2 { color: var(--bossify-violet-deep); }

/* Programs */
.home2-programs {
  position: relative;
  padding: clamp(78px, 9vw, 118px) 0;
  background: var(--bossify-violet-deep);
  color: #fff;
}

.home2-programs::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 34%;
  height: 1px;
  background: var(--bossify-coral);
}

.home2-programs .home2-section-head h2 { color: #fff; }
.home2-programs .home2-section-head > p { color: rgba(255,255,255,.68); }

.home2-program-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
}

.home2-program-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 18px;
  background: #fff;
  color: var(--bossify-ink);
}

.home2-program-card__media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #efe8f4;
}

.home2-program-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s cubic-bezier(.22,1,.36,1);
}

.home2-program-card:hover .home2-program-card__media img { transform: scale(1.025); }

.home2-program-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 26px;
}

.home2-program-card__body > span {
  color: var(--bossify-coral-dark);
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.home2-program-card h3 {
  margin: 9px 0 12px;
  color: var(--bossify-violet-deep);
  font-size: 1.32rem;
  letter-spacing: -.025em;
}

.home2-program-card p {
  margin: 0 0 18px;
  color: var(--bossify-muted);
  font-size: .9rem;
  line-height: 1.62;
}

.home2-program-card ul {
  display: grid;
  gap: 9px;
  margin: 0 0 24px;
}

.home2-program-card li {
  position: relative;
  padding-left: 16px;
  color: #554e59;
  font-size: .83rem;
}

.home2-program-card li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .65em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--bossify-coral);
}

.home2-program-card a {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid rgba(63,26,114,.1);
  color: var(--bossify-violet);
  font-size: .84rem;
  font-weight: 800;
}

.home2-program-card a i { color: var(--bossify-coral); }
.home2-programs__cta { margin-top: 32px; text-align: center; }

/* Process */
.home2-process {
  padding: clamp(76px, 9vw, 118px) 0;
  background: #fff;
}

.home2-process__grid {
  display: grid;
  grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);
  gap: clamp(52px, 8vw, 112px);
  align-items: start;
}

.home2-process__steps {
  counter-reset: step;
  border-top: 1px solid rgba(63,26,114,.12);
}

.home2-process__steps li {
  display: grid;
  grid-template-columns: 58px minmax(0,1fr);
  gap: 22px;
  padding: 26px 0;
  border-bottom: 1px solid rgba(63,26,114,.12);
}

.home2-process__steps li > span {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255,64,92,.32);
  border-radius: 50%;
  color: var(--bossify-coral-dark);
  font-size: .72rem;
  font-weight: 800;
}

.home2-process__steps h3 {
  margin: 2px 0 7px;
  color: var(--bossify-violet);
  font-size: 1.04rem;
}

.home2-process__steps p {
  margin: 0;
  color: var(--bossify-muted);
  font-size: .9rem;
  line-height: 1.65;
}

/* Featured event */
.home2-event {
  padding: clamp(74px, 8vw, 106px) 0;
  background: #fff4f6;
}

.home2-event__grid {
  display: grid;
  grid-template-columns: minmax(300px,.84fr) minmax(0,1.16fr);
  gap: clamp(42px, 7vw, 92px);
  align-items: center;
}

.home2-event__poster {
  display: block;
  width: min(100%, 520px);
  justify-self: end;
  overflow: hidden;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 22px 60px rgba(63,26,114,.12);
}

.home2-event__poster img { width: 100%; height: auto; }
.home2-event__content { max-width: 600px; }
.home2-event__content h2 { margin-bottom: 20px; }
.home2-event__content > p { margin-bottom: 26px; }

.home2-event__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin-bottom: 24px;
  padding: 18px 0;
  border-top: 1px solid rgba(63,26,114,.12);
  border-bottom: 1px solid rgba(63,26,114,.12);
  color: var(--bossify-violet);
  font-size: .82rem;
  font-weight: 700;
}

/* Founder */
.home2-founder {
  padding: clamp(80px, 9vw, 120px) 0;
  background: var(--bossify-violet-deep);
}

.home2-founder__grid {
  display: grid;
  grid-template-columns: minmax(300px,.8fr) minmax(0,1.2fr);
  gap: clamp(48px, 8vw, 104px);
  align-items: center;
}

.home2-founder__media {
  width: min(100%, 470px);
  justify-self: end;
  overflow: hidden;
  border-radius: 20px;
  background: #fff;
}

.home2-founder__media img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.home2-founder__content { max-width: 620px; }
.home2-founder__content h2 { color: #fff; }
.home2-founder__content blockquote {
  margin: 24px 0;
  padding-left: 22px;
  border-left: 2px solid var(--bossify-coral);
  color: #fff;
  font-size: clamp(1.25rem, 2.4vw, 1.85rem);
  font-weight: 650;
  line-height: 1.35;
}
.home2-founder__content > p { margin-bottom: 26px; color: rgba(255,255,255,.72); }

/* Learning */
.home2-learning {
  padding: clamp(76px, 9vw, 116px) 0;
  background: #fff;
}

.home2-learning__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 1px;
  border: 1px solid rgba(63,26,114,.12);
  background: rgba(63,26,114,.12);
}

.home2-learning__item {
  min-width: 0;
  padding: clamp(28px, 4vw, 42px);
  background: #fff;
}

.home2-learning__item i {
  margin-bottom: 24px;
  color: var(--bossify-coral);
  font-size: 1.4rem;
}

.home2-learning__item h3 {
  margin: 0 0 10px;
  color: var(--bossify-violet);
  font-size: 1.05rem;
}

.home2-learning__item p { margin: 0; color: var(--bossify-muted); font-size: .89rem; line-height: 1.68; }

/* Impact */
.home2-impact {
  padding: clamp(72px, 8vw, 102px) 0;
  background: var(--bossify-violet);
  color: #fff;
}

.home2-impact__head {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,.72fr);
  margin-bottom: 46px;
}

.home2-impact__head h2 {
  grid-column: 1 / 2;
  max-width: 760px;
  color: #fff;
  font-size: clamp(2rem, 4vw, 3.35rem);
  line-height: 1.04;
  letter-spacing: -.04em;
}

.home2-impact__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  border-top: 1px solid rgba(255,255,255,.16);
  border-bottom: 1px solid rgba(255,255,255,.16);
}

.home2-impact__stats > div {
  min-width: 0;
  padding: 28px 22px 28px 0;
  border-right: 1px solid rgba(255,255,255,.16);
}
.home2-impact__stats > div:not(:first-child) { padding-left: 22px; }
.home2-impact__stats > div:last-child { border-right: 0; }
.home2-impact__stats strong { display: block; color: #fff; font-size: clamp(1.7rem, 3vw, 2.7rem); letter-spacing: -.04em; }
.home2-impact__stats > div > span { color: rgba(255,255,255,.68); font-size: .78rem; line-height: 1.45; }

/* Join */
.home2-join {
  padding: clamp(70px, 8vw, 100px) 0;
  background: #fbf8fc;
}

.home2-join__shell {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(360px,.8fr);
  gap: clamp(40px, 7vw, 90px);
  align-items: center;
  padding: clamp(34px, 5vw, 62px);
  border: 1px solid rgba(63,26,114,.12);
  border-radius: 22px;
  background: #fff;
}

.home2-join__copy { max-width: 640px; }
.home2-join__copy h2 { margin-bottom: 18px; }
.home2-newsletter { display: grid; gap: 10px; }
.home2-newsletter label { color: var(--bossify-violet); font-size: .78rem; font-weight: 800; }
.home2-newsletter > div:first-of-type { display: flex; gap: 8px; }
.home2-newsletter input {
  min-width: 0;
  flex: 1;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid rgba(63,26,114,.16);
  border-radius: 10px;
  background: #fff;
}

/* Contact */
.home2-contact {
  padding: clamp(80px, 9vw, 118px) 0;
  background: #fff;
}

.home2-contact__grid {
  display: grid;
  grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr);
  gap: clamp(48px, 8vw, 110px);
  align-items: start;
}

.home2-contact__form {
  padding: clamp(26px, 4vw, 40px);
  border: 1px solid rgba(63,26,114,.12);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(63,26,114,.07);
}

.home2-contact__form .field label { color: var(--bossify-violet); font-weight: 750; }
.home2-contact__form :where(input, textarea, select) {
  width: 100%;
  border: 1px solid rgba(63,26,114,.16);
  border-radius: 10px;
  background: #fff;
}
.home2-contact__form :where(input, textarea, select):focus {
  border-color: var(--bossify-coral);
  box-shadow: 0 0 0 4px rgba(255,64,92,.09);
  outline: 0;
}

/* Modal: keep application surface stable regardless of historical page styles. */
.home-v2 .modal__panel {
  width: min(680px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  overflow: auto;
  border-radius: 18px;
  background: #fff;
}

.home-v2 .modal__header { border-bottom: 1px solid rgba(63,26,114,.1); }
.home-v2 .modal__title { color: var(--bossify-violet-deep); }

@media (max-width: 1024px) {
  .home2-hero__grid,
  .home2-intro__grid,
  .home2-process__grid,
  .home2-founder__grid,
  .home2-contact__grid {
    grid-template-columns: 1fr;
  }

  .home2-hero__content,
  .home2-section-copy,
  .home2-founder__content { max-width: 760px; }
  .home2-hero__media { aspect-ratio: 16 / 10; }
  .home2-program-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .home2-program-card:last-child { grid-column: 1 / -1; width: calc(50% - 9px); }
  .home2-event__grid { grid-template-columns: minmax(260px,.75fr) minmax(0,1.25fr); }
  .home2-founder__media { justify-self: start; width: min(64vw, 470px); }
  .home2-impact__stats { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .home2-impact__stats > div:nth-child(2) { border-right: 0; }
  .home2-impact__stats > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.16); }
  .home2-join__shell { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
  .home-v2__main { padding-top: 64px; }
  .home2-hero { padding-top: 38px; }
  .home2-hero__grid,
  .home2-event__grid { grid-template-columns: 1fr; }
  .home2-hero__content h1 { font-size: clamp(2.65rem, 11vw, 4.6rem); }
  .home2-hero__media { aspect-ratio: 4 / 3; border-radius: 20px; }
  .home2-section-head { grid-template-columns: 1fr; align-items: start; }
  .home2-program-grid { grid-template-columns: 1fr; }
  .home2-program-card:last-child { grid-column: auto; width: auto; }
  .home2-event__poster { justify-self: start; width: min(100%, 520px); }
  .home2-learning__grid { grid-template-columns: 1fr; }
  .home2-learning__item + .home2-learning__item { border-top: 0; }
}

@media (max-width: 620px) {
  .home2-hero__proof { grid-template-columns: 1fr; gap: 12px; }
  .home2-hero__proof div { grid-template-columns: 32px minmax(0,1fr); align-items: center; }
  .home2-capabilities { grid-template-columns: 1fr; }
  .home2-capability,
  .home2-capability:nth-child(odd),
  .home2-capability:nth-child(even) { padding: 22px 0; border-right: 0; }
  .home2-impact__stats { grid-template-columns: 1fr; }
  .home2-impact__stats > div,
  .home2-impact__stats > div:not(:first-child) { padding: 22px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
  .home2-impact__stats > div:last-child { border-bottom: 0; }
  .home2-join__shell { padding: 28px 22px; border-radius: 16px; }
  .home2-newsletter > div:first-of-type { flex-direction: column; }
  .home2-newsletter .btn { width: 100%; }
  .home2-contact__form { padding: 22px; border-radius: 14px; }
  .home2-actions { align-items: stretch; flex-direction: column; }
  .home2-actions .btn { width: 100%; }
}

@media (max-width: 430px) {
  .home2-hero__media-note { left: 18px; right: 18px; bottom: 16px; }
  .home2-program-card__body { padding: 22px; }
  .home2-founder__media { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .home2-program-card__media img,
  .home2-text-link i { transition: none !important; }
}