/* Homepage enhancement, EN + FR. Native scrolling and visible content are the default. */
:is(.page-id-9, .page-id-354) .l2g-wireframe-hero {
  min-height: 0 !important;
  margin-block-start: 0;
  padding: clamp(32px, 4vw, 60px) max(24px, calc((100vw - 1360px) / 2));
}
:is(.page-id-9, .page-id-354) .l2g-hero-columns {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
  margin-block: 0;
}
:is(.page-id-9, .page-id-354) .l2g-hero-copy { padding: 0; min-width: 0; }
:is(.page-id-9, .page-id-354) .l2g-wireframe-hero h1 {
  margin: 12px 0 20px;
  font-size: clamp(38px, 3.7vw, 58px) !important;
  line-height: 1.06;
  max-width: 22ch;
  text-wrap: balance;
}
:is(.page-id-9, .page-id-354) .l2g-hero-copy > p:not(.l2g-eyebrow):not(.l2g-hero-note) {
  font-size: clamp(17px, 1.3vw, 19px);
  line-height: 1.55;
  margin-block: 0 20px;
  color: #fff;
}
:is(.page-id-9, .page-id-354) .l2g-hero-copy > .l2g-eyebrow { color: #fff; margin: 0; }
:is(.page-id-9, .page-id-354) .l2g-hero-actions { gap: 12px; margin-top: 20px; }
:is(.page-id-9, .page-id-354) .l2g-hero-actions .wp-block-button__link { font-size: 15px; min-height: 48px; }
:is(.page-id-9, .page-id-354) .l2g-hero-note { margin: 18px 0 0; font-size: 14px; line-height: 1.5; }
:is(.page-id-9, .page-id-354) .l2g-wireframe-hero .l2g-hero-visual {
  min-height: 430px !important;
  padding: 28px;
  overflow: hidden;
  isolation: isolate;
}
:is(.page-id-9, .page-id-354) .l2g-hero-visual::before {
  font-size: clamp(28px, 2.7vw, 40px);
  max-width: 12ch;
  margin-top: 12px;
  margin-bottom: 24px;
}
:is(.page-id-9, .page-id-354) .l2g-wireframe-hero .l2g-hero-stat-card {
  padding: 18px 22px;
  max-width: 260px;
  margin-block: 0 24px;
}
:is(.page-id-9, .page-id-354) .l2g-hero-stat-card h3 {
  font-size: clamp(42px, 4.5vw, 64px);
  line-height: 1.05;
  white-space: nowrap;
}
:is(.page-id-9, .page-id-354) .l2g-wireframe-hero .l2g-hero-stat-label,
:is(.page-id-9, .page-id-354) .l2g-wireframe-hero .l2g-hero-stat-caption {
  display: block;
  color: #2f4f4f !important;
  font-size: 11px !important;
  line-height: 1.5;
  letter-spacing: .04em;
}
:is(.page-id-9, .page-id-354) .l2g-hero-image img { transform: scale(1.08); }
.l2g-home-process { padding-block: clamp(56px, 6vw, 88px); }
.l2g-home-process > .l2g-home-process-layout {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(32px, 6vw, 88px);
  align-items: start;
}
.l2g-home-process-intro { position: sticky; top: 120px; }
.l2g-home-process .l2g-home-process-intro h2 {
  margin: 0 0 24px;
  font-size: clamp(32px, 3.4vw, 48px) !important;
  line-height: 1.12;
  text-wrap: balance;
}
.l2g-home-process-intro > p { max-width: 48ch; line-height: 1.65; }
.l2g-home-process-intro .wp-block-buttons { margin-top: 28px; }
.l2g-home-process-steps { position: relative; margin: 0; }
.l2g-home-process-steps::before,
.l2g-home-process-steps::after {
  content: "";
  position: absolute;
  left: 27px;
  top: 24px;
  bottom: 36px;
  width: 2px;
  background: #9dadab;
  pointer-events: none;
}
.l2g-home-process-steps::after {
  background: #c0d600;
  transform: scaleY(var(--l2g-process-progress, 0));
  transform-origin: top;
}
.l2g-home-process-step {
  position: relative;
  padding: 24px 24px 28px 76px;
  margin: 0 !important;
  border-bottom: 1px solid #657476;
  border-radius: 4px;
}
.l2g-home-process-step:last-child { border-bottom: 0; }
.l2g-home-process-step > .l2g-home-step-number {
  position: absolute;
  left: 10px;
  top: 24px;
  z-index: 1;
  margin: 0;
  padding: 4px;
  color: #c0d600;
  background: #21393a;
  font: 600 24px/1.2 'Public Sans', sans-serif;
}
.l2g-home-process-step h3 { margin: 0 0 12px; font-size: clamp(22px, 2vw, 28px); line-height: 1.2; }
.l2g-home-process-step > p:last-child { margin: 0; line-height: 1.65; max-width: 56ch; }
.l2g-home-process-step.is-scroll-active { background: #2f4f4f; }
.l2g-home-process-step.is-scroll-active > .l2g-home-step-number { color: #102b2d; background: #c0d600; }
@media (min-width: 901px) and (prefers-reduced-motion: no-preference) {
  :is(.page-id-9, .page-id-354) .l2g-home-depth .l2g-hero-image img {
    transform: translateY(var(--l2g-photo-y, 0px)) scale(1.08);
  }
  :is(.page-id-9, .page-id-354) .l2g-home-depth .l2g-hero-stat-card {
    transform: translateY(var(--l2g-badge-y, 0px));
  }
}
@media (max-width: 900px) {
  :is(.page-id-9, .page-id-354) .l2g-hero-columns { grid-template-columns: 1fr; gap: 28px; }
  :is(.page-id-9, .page-id-354) .l2g-wireframe-hero { padding: 28px 24px 36px; }
  :is(.page-id-9, .page-id-354) .l2g-wireframe-hero h1 { font-size: clamp(34px, 5.4vw, 48px) !important; max-width: 24ch; }
  :is(.page-id-9, .page-id-354) .l2g-hero-copy > p:not(.l2g-eyebrow):not(.l2g-hero-note) { font-size: 17px; }
  :is(.page-id-9, .page-id-354) .l2g-wireframe-hero .l2g-hero-visual { min-height: 340px !important; }
  :is(.page-id-9, .page-id-354) .l2g-hero-visual::before { font-size: 30px; margin-bottom: 20px; }
  .l2g-home-process > .l2g-home-process-layout { grid-template-columns: 1fr; gap: 28px; }
  .l2g-home-process-intro { position: static; }
  .l2g-home-process-step { padding-right: 12px; }
}
@media (max-width: 600px) {
  :is(.page-id-9, .page-id-354) .l2g-wireframe-hero { padding-inline: 20px; }
  :is(.page-id-9, .page-id-354) .l2g-wireframe-hero h1 { font-size: 34px !important; margin-bottom: 16px; }
  :is(.page-id-9, .page-id-354) .l2g-hero-actions { margin-top: 16px; }
  :is(.page-id-9, .page-id-354) .l2g-hero-actions .wp-block-button,
  :is(.page-id-9, .page-id-354) .l2g-hero-actions .wp-block-button__link { width: 100%; }
  .l2g-home-process .l2g-home-process-intro h2 { font-size: 32px !important; }
}
@media (prefers-reduced-motion: reduce), print {
  :is(.page-id-9, .page-id-354) .l2g-hero-image img,
  :is(.page-id-9, .page-id-354) .l2g-hero-stat-card { transform: none !important; }
  .l2g-home-process-intro { position: static; }
  .l2g-home-process-steps::after { display: none; }
  .l2g-home-process-step.is-scroll-active { background: transparent; }
}

/* Connected homepage rhythm: shorter pauses, overlapping proof, clear handoffs. */
:is(.page-id-9, .page-id-354) .entry-content > :is(.l2g-section, .l2g-final-cta) {
  margin-block-start: 0 !important;
}
@media (min-width: 901px) {
  :is(.page-id-9, .page-id-354) .l2g-section {
    padding-block: clamp(56px, 5vw, 80px);
  }
  :is(.page-id-9, .page-id-354) .entry-content > .l2g-stats {
    position: relative;
    z-index: 2;
    width: min(calc(100% - 80px), 1360px) !important;
    margin: -32px auto 0 !important;
    padding: 24px 28px 28px;
    border-top: 4px solid #c0d600;
    border-bottom: 1px solid #c9d0cc;
    box-shadow: 0 16px 28px -24px rgba(16, 43, 45, .42);
  }
  :is(.page-id-9, .page-id-354) .l2g-stats > .l2g-eyebrow { margin-block: 0 16px; }
  :is(.page-id-9, .page-id-354) .l2g-stat { padding: 8px 20px; }
  :is(.page-id-9, .page-id-354) .l2g-stat:first-child { padding-left: 0; }
  :is(.page-id-9, .page-id-354) .l2g-stat h3 { font-size: clamp(40px, 4vw, 56px); }
  :is(.page-id-9, .page-id-354) .l2g-pathways { padding-bottom: 96px; }
  :is(.page-id-9, .page-id-354) :is(.l2g-home-process, .l2g-benefits, .l2g-comparison, .l2g-final-cta) {
    position: relative;
    isolation: isolate;
  }
  :is(.page-id-9, .page-id-354) :is(.l2g-home-process, .l2g-benefits, .l2g-comparison, .l2g-final-cta)::before {
    content: "";
    position: absolute;
    inset: -28px 0 auto;
    height: 29px;
    background: var(--l2g-handoff-ground);
    clip-path: polygon(0 100%, 100% 0, 100% 100%);
    pointer-events: none;
  }
  :is(.page-id-9, .page-id-354) :is(.l2g-home-process, .l2g-comparison) { --l2g-handoff-ground: #21393a; }
  :is(.page-id-9, .page-id-354) .l2g-benefits { --l2g-handoff-ground: #f4f5f4; padding-bottom: 32px; }
  :is(.page-id-9, .page-id-354) .l2g-solutions { padding-top: 32px; }
  :is(.page-id-9, .page-id-354) .l2g-final-cta {
    --l2g-handoff-ground: #e7a8a6;
    padding-block: clamp(64px, 6vw, 88px);
  }
}
@media (max-width: 900px) {
  :is(.page-id-9, .page-id-354) .l2g-section { padding-block: 56px; }
  :is(.page-id-9, .page-id-354) .l2g-stats { padding-block: 32px; }
  :is(.page-id-9, .page-id-354) .l2g-benefits { padding-bottom: 28px; }
  :is(.page-id-9, .page-id-354) .l2g-solutions { padding-top: 28px; }
}
@keyframes l2g-home-settle {
  from { transform: translateY(24px); }
  to { transform: translateY(0); }
}
@supports (animation-timeline: view()) {
  @media (min-width: 901px) and (prefers-reduced-motion: no-preference) {
    :is(.page-id-9, .page-id-354) :is(.l2g-path-grid, .l2g-benefits-grid, .l2g-final-copy) {
      animation: l2g-home-settle linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 100%;
    }
  }
}
