/* Homepage-only reference composition; slide content remains dashboard-managed. */
body.home-page .hero[data-hero-root] { padding: 146px 0 48px; min-height: 0; background: #fff; }
body.home-page .hero[data-hero-root]::before { display: none; }
body.home-page .hero[data-hero-root] .hero-content { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); grid-template-rows: 1fr auto; gap: 40px 56px; max-width: 1520px; min-height: 620px; align-items: center; }
body.home-page .hero[data-hero-root] .hero-text { grid-column: 1; grid-row: 1; max-width: none; width: 100%; padding: 24px 0 0; text-align: left; align-items: flex-start; }
body.home-page .hero[data-hero-root] .hero-kicker { padding: 0; border: 0; background: none; color: #e67d09; margin-bottom: 28px; font-size: 16px; font-weight: 500; }
body.home-page .hero[data-hero-root] .hero-text h1 { font-family: inherit; font-size: 60px !important; font-weight: 700; line-height: 1.12; letter-spacing: 0; max-width: 100%; overflow-wrap: anywhere; margin-bottom: 28px; color: #101010 !important; }
body.home-page .hero[data-hero-root] .hero-text p { font-size: 18px !important; line-height: 1.55; color: #686868 !important; max-width: 550px; margin-bottom: 32px; }
body.home-page .hero[data-hero-root] .hero-actions { display: flex; width: 100%; gap: 24px; flex-wrap: wrap; }
body.home-page .hero[data-hero-root] .hero-actions .btn { flex: 1 1 220px; min-height: 56px; border-radius: 999px; padding: 14px 24px; white-space: normal; text-align: center; line-height: 1.4; box-shadow: none; font-size: 16px; }
body.home-page .hero[data-hero-root] .hero-programs-btn { border: 1px solid #222; color: #222; }
body.home-page .hero[data-hero-root] .hero-visual { grid-column: 2; grid-row: 1 / 3; position: relative; align-self: stretch; min-height: 620px; width: 100%; max-width: none; margin: 0; }
body.home-page .hero[data-hero-root] .hero-bg { inset: 0 !important; border: 0; border-radius: 20px; box-shadow: none; }
body.home-page .hero[data-hero-root] .hero-float-card-price { top: 28px; right: 28px; left: auto; min-width: 120px; max-width: calc(100% - 56px); padding: 18px 20px; border: 0; border-radius: 20px; background: #fff; box-shadow: none; overflow-wrap: anywhere; }
body.home-page .hero[data-hero-root] .hero-float-card-price span { color: #222; text-transform: none; font-size: 16px; line-height: 1.35; }
body.home-page .hero[data-hero-root] .hero-float-card-price strong { font-family: inherit; color: #ed8708; font-size: 32px; line-height: 1.12; }
body.home-page .hero[data-hero-root] .hero-float-card-trust { right: 28px; bottom: 28px; max-width: calc(100% - 56px); padding: 20px; border-radius: 20px; background: #101010; color: #fff; font-size: 16px; font-weight: 400; gap: 16px; line-height: 1.5; }
body.home-page .hero[data-hero-root] .hero-float-card-trust i { flex-shrink: 0; background: none; color: #ff8900; font-size: 24px; }
body.home-page .hero[data-hero-root] .hero-side { top: 24px; left: 20px; right: auto; align-items: flex-start; }
body.home-page .hero[data-hero-root] .slider-arrow { width: 40px; height: 40px; border-radius: 50%; }
body.home-page .hero[data-hero-root] .home-stats { grid-column: 1; grid-row: 2; width: 100%; max-width: none; margin: 0; padding: 22px 8px; border: 1px solid #f0f0f0; border-radius: 18px; box-shadow: 0 8px 24px #00000008; gap: 0; }
body.home-page .hero[data-hero-root] .home-stat { display: grid; grid-template-columns: auto minmax(0, 1fr); align-content: center; column-gap: 12px; min-width: 0; padding: 0 18px; min-height: 64px; text-align: left; }
body.home-page .hero[data-hero-root] .home-stat i { grid-row: 1 / 3; align-self: center; color: #f38a08; font-size: 26px; }
body.home-page .hero[data-hero-root] .home-stat strong { font-family: inherit; font-size: 36px; line-height: 1.1; overflow-wrap: anywhere; }
body.home-page .hero[data-hero-root] .home-stat span { margin: 3px 0 0; font-size: 12px; line-height: 1.35; }
@media (max-width: 1180px) {
 body.home-page .hero[data-hero-root] .hero-content { gap: 28px; }
 body.home-page .hero[data-hero-root] .hero-text h1 { font-size: 46px !important; }
 body.home-page .hero[data-hero-root] .home-stat { padding: 0 10px; column-gap: 8px; }
 body.home-page .hero[data-hero-root] .home-stat strong { font-size: 28px; }
 body.home-page .hero[data-hero-root] .home-stat i { font-size: 20px; }
}

/* Keep legacy theme typography from overriding the responsive hero sizes. */
body.home-page header.hero[data-hero-root] {
 --brand-title-size: 52px;
 --brand-copy-size: 17px;
 display: flex;
 flex-direction: column;
 justify-content: center;
 box-sizing: border-box;
 height: auto;
 /* A minimum, not a fixed height: long slides and mobile content can grow. */
 min-height: 100vh;
 min-height: 100svh;
 padding: 116px 0 32px;
 overflow: visible;
}
body.home-page header.hero[data-hero-root] .hero-content {
 flex: 0 0 auto;
 width: 100%;
 max-width: 1400px;
 min-height: 0;
 padding-inline: 32px;
 grid-template-rows: auto auto;
 gap: 24px 40px;
}
body.home-page header.hero[data-hero-root] .hero-text {
 min-width: 0;
 padding: 0;
}
body.home-page header.hero[data-hero-root] .hero-text h1[data-hero-title] {
 font-size: var(--brand-title-size) !important;
 line-height: 1.08;
 margin: 0 0 20px;
 letter-spacing: 0;
}
body.home-page header.hero[data-hero-root] .hero-text p[data-hero-subtitle] {
 font-size: var(--brand-copy-size) !important;
 line-height: 1.5;
 margin: 0 0 24px;
}
body.home-page header.hero[data-hero-root] .hero-kicker { margin-bottom: 20px; }
body.home-page header.hero[data-hero-root] .hero-visual {
 min-height: 480px;
 min-width: 0;
}
body.home-page header.hero[data-hero-root] .hero-actions {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 12px;
}
body.home-page header.hero[data-hero-root] .hero-actions .btn {
 min-width: 0;
 width: 100%;
 min-height: 48px;
 height: auto;
 padding: 12px 16px;
 font-size: 14px;
 white-space: normal;
 overflow-wrap: anywhere;
}
body.home-page header.hero[data-hero-root] .hero-actions .btn span { min-width: 0; }
body.home-page header.hero[data-hero-root] .home-stats { padding: 16px 8px; }
body.home-page header.hero[data-hero-root] .home-stat { min-height: 56px; padding-inline: 10px; }
body.home-page header.hero[data-hero-root] .home-stat strong { font-size: 30px; }
body.home-page header.hero[data-hero-root] .home-stat span { overflow-wrap: anywhere; }

/* Center each number across its full cell, independently of the icon column. */
@media (min-width: 561px) {
 body.home-page header.hero[data-hero-root] .home-stat { align-content: start; }
 body.home-page header.hero[data-hero-root] .home-stat strong {
  grid-column: 1 / -1;
  grid-row: 1;
  text-align: center;
 }
 body.home-page header.hero[data-hero-root] .home-stat i { grid-column: 1; }
 body.home-page header.hero[data-hero-root] .home-stat span { grid-column: 2; grid-row: 2; }
}

/* Use spare desktop space without enlarging compact laptop/mobile layouts. */
@media (min-width: 1181px) and (min-height: 821px) {
 body.home-page header.hero[data-hero-root] { --brand-title-size: 58px; --brand-copy-size: 18px; }
 body.home-page header.hero[data-hero-root] .hero-content { max-width: 1480px; gap: 28px 44px; }
 body.home-page header.hero[data-hero-root] .hero-visual {
  min-height: clamp(560px, calc(100vh - 240px), 680px);
  min-height: clamp(560px, calc(100svh - 240px), 680px);
 }
 body.home-page header.hero[data-hero-root] .hero-actions .btn { min-height: 52px; font-size: 15px; }
 body.home-page header.hero[data-hero-root] .home-stats { padding-block: 20px; }
 body.home-page header.hero[data-hero-root] .home-stat strong { font-size: 34px; }
 body.home-page header.hero[data-hero-root] .home-stat span { font-size: 13px; }
}

@media (min-width: 993px) and (max-height: 820px) {
 body.home-page header.hero[data-hero-root] { --brand-title-size: 40px; --brand-copy-size: 15px; padding: 104px 0 24px; }
 body.home-page header.hero[data-hero-root] .hero-content { gap: 18px 32px; max-width: 1320px; }
 body.home-page header.hero[data-hero-root] .hero-visual { min-height: 420px; }
 body.home-page header.hero[data-hero-root] .hero-kicker { font-size: 13px; margin-bottom: 14px; }
 body.home-page header.hero[data-hero-root] .hero-text h1[data-hero-title] { margin-bottom: 16px; }
 body.home-page header.hero[data-hero-root] .hero-text p[data-hero-subtitle] { margin-bottom: 18px; }
 body.home-page header.hero[data-hero-root] .home-stats { padding-block: 12px; }
 body.home-page header.hero[data-hero-root] .home-stat strong { font-size: 28px; }
 body.home-page header.hero[data-hero-root] .hero-float-card-price { padding: 14px; top: 20px; right: 20px; max-width: calc(100% - 140px); }
 body.home-page header.hero[data-hero-root] .hero-float-card-price strong { font-size: 26px; }
 body.home-page header.hero[data-hero-root] .hero-float-card-trust { padding: 14px; bottom: 20px; right: 20px; font-size: 14px; }
}
@media (min-width: 1181px) and (min-height: 681px) and (max-height: 820px) {
 body.home-page header.hero[data-hero-root] { --brand-title-size: 44px; --brand-copy-size: 16px; }
 body.home-page header.hero[data-hero-root] .hero-visual {
  min-height: clamp(470px, calc(100vh - 200px), 600px);
  min-height: clamp(470px, calc(100svh - 200px), 600px);
 }
 body.home-page header.hero[data-hero-root] .hero-actions .btn { min-height: 52px; font-size: 15px; }
 body.home-page header.hero[data-hero-root] .home-stats { padding-block: 16px; }
 body.home-page header.hero[data-hero-root] .home-stat strong { font-size: 30px; }
}

@media (min-width: 993px) and (max-height: 680px) {
 body.home-page header.hero[data-hero-root] { --brand-title-size: 34px; --brand-copy-size: 14px; }
 body.home-page header.hero[data-hero-root] .hero-visual { min-height: 370px; }
 body.home-page header.hero[data-hero-root] .hero-content { gap: 14px 28px; }
}
@media (max-width: 992px) {
 body.home-page header.hero[data-hero-root] { --brand-title-size: 40px; --brand-copy-size: 16px; padding: 108px 0 28px; }
 body.home-page header.hero[data-hero-root] .hero-content { max-width: 720px; grid-template-rows: auto auto auto; padding-inline: 24px; gap: 24px; }
 body.home-page header.hero[data-hero-root] .hero-visual { min-height: 0; aspect-ratio: 4 / 3; }
}
@media (max-width: 560px) {
 body.home-page header.hero[data-hero-root] { --brand-title-size: 32px; --brand-copy-size: 15px; padding-top: 100px; }
 body.home-page header.hero[data-hero-root] .hero-content { padding-inline: 18px; gap: 20px; }
 body.home-page header.hero[data-hero-root] .hero-kicker { margin-bottom: 14px; }
 body.home-page header.hero[data-hero-root] .hero-visual { aspect-ratio: 1 / 1; }
 body.home-page header.hero[data-hero-root] .hero-actions { grid-template-columns: minmax(0, 1fr); }
 body.home-page header.hero[data-hero-root] .home-stat { padding-inline: 6px; }
 body.home-page header.hero[data-hero-root] .home-stat strong { font-size: 26px; }
 body.home-page header.hero[data-hero-root] .hero-float-card-price { max-width: calc(100% - 120px); min-width: 0; }
 body.home-page header.hero[data-hero-root] .hero-float-card-price strong { font-size: 22px; }
}
@media (max-width: 992px) {
 body.home-page .hero[data-hero-root] { padding: 112px 0 32px; }
 body.home-page .hero[data-hero-root] .hero-content { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto; max-width: 720px; min-height: 0; }
 body.home-page .hero[data-hero-root] .hero-text { grid-column: 1; grid-row: 1; padding: 0; }
 body.home-page .hero[data-hero-root] .hero-visual { grid-column: 1; grid-row: 2; min-height: 440px; }
 body.home-page .hero[data-hero-root] .home-stats { grid-column: 1; grid-row: 3; }
}
@media (max-width: 560px) {
 body.home-page .hero[data-hero-root] .hero-content { padding-inline: 18px; gap: 24px; }
 body.home-page .hero[data-hero-root] .hero-text h1 { font-size: 36px !important; margin-bottom: 20px; }
 body.home-page .hero[data-hero-root] .hero-kicker { font-size: 13px; margin-bottom: 18px; }
 body.home-page .hero[data-hero-root] .hero-text p { font-size: 15px !important; margin-bottom: 24px; }
 body.home-page .hero[data-hero-root] .hero-actions { gap: 12px; }
 body.home-page .hero[data-hero-root] .hero-actions .btn { flex-basis: 100%; font-size: 15px; min-height: 48px; }
 body.home-page .hero[data-hero-root] .hero-visual { min-height: 350px; }
 body.home-page .hero[data-hero-root] .hero-float-card-price { top: 16px; right: 16px; min-width: 100px; max-width: 55%; padding: 12px; border-radius: 14px; }
 body.home-page .hero[data-hero-root] .hero-float-card-price strong { font-size: 24px; }
 body.home-page .hero[data-hero-root] .hero-float-card-price span { font-size: 12px; }
 body.home-page .hero[data-hero-root] .hero-float-card-trust { right: 16px; bottom: 16px; padding: 14px; max-width: calc(100% - 32px); font-size: 13px; border-radius: 14px; }
 body.home-page .hero[data-hero-root] .hero-side { left: 12px; top: 16px; }
 body.home-page .hero[data-hero-root] .home-stat { grid-template-columns: minmax(0, 1fr); text-align: center; padding-inline: 6px; }
 body.home-page .hero[data-hero-root] .home-stat i { grid-row: auto; margin-bottom: 8px; }
 body.home-page .hero[data-hero-root] .home-stat strong { font-size: 26px; }
 body.home-page .hero[data-hero-root] .home-stat span { font-size: 10px; }
}
