/* Home narrow layout owner. Desktop and shared header/card behavior stay with
   their existing owners. Reserve the fixed header once, then normal section air. */
@media (max-width:991.98px) {
 body.page-index { --home-section-space:clamp(32px,4.5vw,48px); }
 body.page-index main {
  padding-top:var(--sticky-header-expanded,64px);
 }
 body.page-index main > section {
  height:auto !important; min-height:0 !important; max-height:none !important;
  padding-block:var(--home-section-space) !important;
 }
 body.page-index main > .hero-section {
  padding-top:clamp(24px,3.5vw,36px) !important;
 }
 body.page-index .hero-section__title {
  margin-top:0 !important; margin-bottom:20px;
  font-size:clamp(32px,5vw,48px); line-height:1.1;
 }
 body.page-index main .section__title--h2 {
  width:auto; max-width:100%;
  font-size:clamp(28px,4.4vw,40px); line-height:1.2;
 }
 body.page-index .hero-section__text {
  font-size:clamp(22px,3vw,28px); line-height:1.25;
 }
 body.page-index .hero-section__paragraph {
  margin-block:24px; font-size:16px; line-height:1.65;
 }
 /* The collage needs more than half a tablet rail; stack before it collides. */
 body.page-index .hero-section > .container > .row {
  display:grid; grid-template-columns:minmax(0,1fr); gap:28px;
  margin-inline:0;
 }
 body.page-index .hero-section > .container > .row > [class*="col-"] {
  width:100%; max-width:100%; min-width:0; padding-inline:0;
 }
 body.page-index .hero-section__media { justify-content:center !important; }
 body.page-index .hero-media { margin:0 auto; }
 body.page-index .hero-section__btn { width:fit-content; max-width:100%; }
 body.page-index :is(.experts-section__head,.clients-section__head) {
  margin-bottom:clamp(24px,3.5vw,36px);
 }
 body.page-index .experts-section__more { gap:20px; }
 /* Decorative cutouts disappear with their old width/height reservations. */
 body.page-index .best-reading-section__media,
 body.page-index .situation-section picture { display:none !important; }
 body.page-index .best-reading-section > .container { min-height:0; }
 body.page-index .best-reading-section__content-wrapper {
  flex:0 0 100%; width:100%; max-width:100%; padding-bottom:0;
 }
 body.page-index .best-reading-section__title { width:auto; margin-bottom:28px; }
 body.page-index .best-reading-section__list { gap:20px; }
 body.page-index .situation-section > .container > .row {
  display:grid; grid-template-columns:minmax(0,1fr); gap:24px; margin-inline:0;
 }
 body.page-index .situation-section > .container > .row > [class*="col-"] {
  width:100%; max-width:100%; min-width:0; padding-inline:0;
 }
 body.page-index .situation-section__text { margin:24px 0 0; font-size:17px; }
 body.page-index .situation-section__list {
  margin:0; padding:clamp(20px,3.5vw,32px); gap:22px;
 }
 body.page-index .situation-section__item { font-size:16px; gap:16px; }
 body.page-index .situation-section__item-icon { width:32px; height:32px; }
 /* Reset Bootstrap's 3+1 layout and its oversized horizontal number circles. */
 body.page-index .steps-section__grid {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px; margin:28px 0 0;
 }
 body.page-index .steps-section__grid > [class*="col-"] {
  display:flex; width:100%; max-width:100%; min-width:0; padding:0;
 }
 body.page-index .steps-section__card {
  display:flex; flex:1; flex-direction:column; gap:20px;
  width:100%; min-width:0; min-height:0; height:auto;
  padding:clamp(20px,3vw,28px); border-radius:24px;
 }
 body.page-index .steps-section__num {
  position:static; inset:auto; transform:none;
  flex:none; width:80px; height:80px; margin:0;
  font-size:48px; line-height:1;
 }
 body.page-index .steps-section__body {
  flex:1; min-width:0; padding:0; gap:16px;
 }
 body.page-index .steps-section__body-content {
  display:block; min-width:0;
 }
 body.page-index .steps-section__card-title {
  width:auto; margin:0; font-size:clamp(23px,3vw,28px); line-height:1.2;
  text-align:left; overflow-wrap:break-word;
 }
 body.page-index .steps-section__card-text {
  width:auto; margin:0; font-size:16px; line-height:1.6; text-align:left;
 }
 body.page-index .steps-section__body-content .steps-section__card-text { margin-top:16px; }
 body.page-index .steps-section__cta {
  display:inline-flex; align-items:center; justify-content:center;
  align-self:flex-start; width:auto; max-width:100%; height:auto; min-height:44px;
  margin:0; padding:10px 18px; font-size:16px; line-height:1.4;
 }
 /* Promo tracks previously required 922px inside a narrower content rail. */
 body.page-index .topics-section__promos {
  grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-bottom:32px;
 }
 body.page-index .topics-section__promo-card--wide { grid-column:1/-1; }
 body.page-index .topics-section__promo-card { min-width:0; }
 body.page-index .topics-section__promo-inner {
  min-width:0; min-height:0; height:100%; padding:24px;
  flex-direction:column; gap:16px;
 }
 body.page-index .topics-section__promo-icon {
  width:auto; max-width:100%; height:72px; margin:0;
 }
 body.page-index .topics-section__promo-body { min-width:0; }
 body.page-index :is(.topics-section__promo-title,.topics-section__promo-kicker) {
  font-size:clamp(24px,3.2vw,30px); line-height:1.25;
 }
 body.page-index .topics-section__promo-text { font-size:16px; line-height:1.6; }
 body.page-index .topics-section__promo-list-item { font-size:16px; line-height:1.6; }
 body.page-index .topics-section__title { margin-bottom:28px; }
 body.page-index .topics-section__grid {
  grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px;
 }
 body.page-index .topics-section__card {
  min-width:0; min-height:0; max-height:none; padding:24px 18px;
 }
 body.page-index .topics-section__card-content { min-width:0; }
 body.page-index .topics-section__name { font-size:clamp(20px,2.8vw,26px); line-height:1.25; }
}
@media (max-width:575.98px) {
 body.page-index .steps-section__grid,
 body.page-index .topics-section__promos { grid-template-columns:minmax(0,1fr); gap:16px; }
 body.page-index .steps-section__num { width:64px; height:64px; font-size:40px; }
 body.page-index .hero-section__btn { width:100%; }
 body.page-index .topics-section__card-icon { width:72px; height:72px; }
 body.page-index .topics-section__card { padding:18px 12px; }
 body.page-index .topics-section__name { font-size:18px; }
}
