/* Original light network hero; shares the inner pages' light navigation. */
.page-home .home-network-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:0 40px;align-items:center;min-height:0;padding-top:64px;padding-bottom:0;background:white;color:var(--navy)}
.home-network-hero .hero-copy{min-width:0;max-width:820px}
.home-network-hero .eyebrow{color:var(--navy);margin-bottom:24px}
.home-network-hero h1{font-size:var(--type-hero);font-weight:800;line-height:1.05;letter-spacing:-.02em;margin-bottom:28px;text-wrap:balance;color:var(--navy)}
.home-network-hero .hero-lead{max-width:610px;color:var(--navy)}
.home-network-hero .hero-support{max-width:610px;margin-top:20px;color:var(--navy)}
.home-network-hero .hero-actions{display:flex;flex-direction:row;align-items:center;gap:12px 24px;flex-wrap:wrap;margin-top:32px}
.home-network-hero .arrow-link{color:var(--navy);gap:10px}
.home-link-arrow{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--tint);font-size:18px}
.home-network-hero .arrow-link:hover .home-link-arrow{background:var(--navy);color:white}
.home-network-hero .network-scene{width:100%;aspect-ratio:800/720;position:relative;min-width:0;align-self:center;pointer-events:none}
.network-scene .scene-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.network-scene .scene-canvas{position:absolute;inset:0}
.network-scene .scene-canvas canvas{display:block;width:100%;height:100%}
.network-scene.has-webgl .scene-fallback{visibility:hidden}
.home-network-hero .hero-baseline{grid-column:1/-1;margin-top:48px;padding:26px 0;display:flex;gap:20px;justify-content:space-between;align-items:center;border-top:1px solid var(--line)}
.home-network-hero .hero-baseline p+p{margin:0}
.page-home .intro{padding-block:56px 36px}
.page-home .way-panels>.section-space{padding-block:36px}
.page-home .audiences{padding-top:36px}
@media(min-width:700px){.home-network-hero .network-scene{width:120%;margin-left:-10%;overflow:hidden}.home-network-hero .scene-fallback,.home-network-hero .scene-canvas{transform:scale(1.3);transform-origin:center}}
@media(max-width:1199px){.page-home .home-network-hero{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:0 24px;padding-top:48px}.home-network-hero .hero-actions{gap:12px}}
@media(max-width:1000px){.page-home .home-network-hero{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:0 24px;padding-top:42px}.home-network-hero .hero-actions{flex-direction:column;align-items:flex-start}.home-network-hero .hero-baseline{margin-top:40px}.page-home .intro{padding-block:48px 28px}.page-home .way-panels>.section-space{padding-block:28px}.page-home .audiences{padding-top:28px}}
@media(max-width:767px){.network-scene .scene-canvas{display:none}.network-scene .scene-fallback{visibility:visible!important}}
@media(max-width:699px){.page-home .home-network-hero{display:flex;flex-direction:column;gap:0;align-items:stretch;padding-top:32px}.home-network-hero h1{font-size:var(--type-hero);margin-bottom:24px}.home-network-hero .eyebrow{margin-bottom:20px}.home-network-hero .hero-actions{margin-top:28px;gap:12px}.home-network-hero .network-scene{width:100%;max-width:360px;height:260px;aspect-ratio:auto;margin:16px auto 0;align-self:center}.home-network-hero .hero-baseline{display:block;margin-top:0;padding:24px 0}.home-network-hero .hero-baseline p+p{margin-top:8px}.page-home .intro{padding-block:40px 20px}.page-home .way-panels>.section-space{padding-block:20px}.page-home .audiences{padding-top:20px}}
@media(prefers-reduced-motion:reduce){.network-scene .scene-canvas{display:none}.network-scene .scene-fallback{visibility:visible!important}.home-link-arrow{transition:none}}

/* === CODAPLY CONSISTENT SPACING SYSTEM | responsive-safe ===
   Applies rhythm to content sections only. Hero, nav, media and interactions
   intentionally retain their original sizing and behavior. */
:root {
  --cd-section-y: 72px;
  --cd-section-tight: 48px;
  --cd-content-gap: 36px;
}
/* All main content sections share a regular vertical rhythm. */
.section-space { padding-top:var(--cd-section-y); padding-bottom:var(--cd-section-y); }
.page-home .intro { padding-block:var(--cd-section-y); }
.page-home .way-panels > .section-space { padding-block:var(--cd-section-y); }
.page-home .audiences { padding-top:var(--cd-section-y); padding-bottom:var(--cd-section-y); }
.page-home .examples-section > .wrap { padding-block:var(--cd-section-y); }
.page-home .process { padding-block:var(--cd-section-y); }
/* Inner page sections: matching gutters and cadence across Build / Manage / Teach. */
.inner-page .service-intro,
.inner-page .ways-section,
.inner-page .solution-section,
.inner-page .faq-section { padding-block:var(--cd-section-y); }
.inner-page .support-section > .wrap { padding-block:var(--cd-section-y); }
.page-teach .service-intro { padding-top:var(--cd-section-y); }
.discovery-section { padding-bottom:var(--cd-section-y); }
.privacy-placeholder { padding-bottom:var(--cd-section-y); }
/* Keep closing CTA panels visually separated but never double-space them. */
.closing { padding-bottom:var(--cd-section-y); }
/* Do not modify the large hero compositions or fixed/sticky navigation. */
@media (min-width:700px) and (max-width:1000px) {
  :root { --cd-section-y:56px; --cd-section-tight:36px; --cd-content-gap:28px; }
}
@media (max-width:699px) {
  :root { --cd-section-y:40px; --cd-section-tight:28px; --cd-content-gap:22px; }
  /* Mobile keeps existing card, text, and header-specific layout rules. */
  .section-space,
  .page-home .intro,
  .page-home .way-panels > .section-space,
  .page-home .audiences,
  .inner-page .service-intro,
  .inner-page .ways-section,
  .inner-page .solution-section,
  .inner-page .faq-section { padding-top:var(--cd-section-y); padding-bottom:var(--cd-section-y); }
  .page-teach .service-intro { padding-top:var(--cd-section-y); }
  .closing { padding-bottom:var(--cd-section-y); }
}

/* Only the three Home-page Build / Manage / Teach cards. */
@media (hover: hover) and (pointer: fine) {
  .way-section.way-panels .pillar-panels > .pillar.pillar-panel {
    transition: transform var(--motion-medium) var(--motion-ease),
      box-shadow var(--motion-medium) var(--motion-ease),
      border-color var(--motion-medium) var(--motion-ease);
  }
  .way-section.way-panels .pillar-panels > .pillar.pillar-panel:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 35px rgba(7,33,66,.12);
    border-color: rgba(0,92,255,.45);
  }
  .way-section.way-panels .pillar-panel .panel-motif {
    transition: transform var(--motion-medium) var(--motion-ease);
    transform-origin: center;
  }
  .way-section.way-panels .pillar-panel:hover .panel-motif {
    transform: scale(1.06);
  }
  .way-section.way-panels .pillar-panel .pillar-explore-arrow {
    display: inline-block;
    transition: transform var(--motion-medium) var(--motion-ease);
  }
  .way-section.way-panels .pillar-panel:hover .pillar-explore-arrow {
    transform: translate(3px,-3px);
  }
  .way-section.way-panels .pillar-panel:hover .arrow-link {
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
  }
}
.way-section.way-panels .pillar-panel:focus-within {
  box-shadow: 0 18px 35px rgba(7,33,66,.12);
  border-color: rgba(0,92,255,.45);
}
.way-section.way-panels .pillar-panel .arrow-link:focus-visible {
  outline: 2px solid var(--blue, #005cff);
  outline-offset: 5px;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.way-section.way-panels .pillar-panel:focus-within .panel-motif {
  transform: scale(1.06);
}
.way-section.way-panels .pillar-panel:focus-within .pillar-explore-arrow {
  transform: translate(3px,-3px);
}
@media (prefers-reduced-motion: reduce) {
  .way-section.way-panels .pillar-panel,
  .way-section.way-panels .pillar-panel .panel-motif,
  .way-section.way-panels .pillar-panel .pillar-explore-arrow {
    transition: none !important;
    transform: none !important;
  }
  .way-section.way-panels .pillar-panel:hover {
    transform: none !important;
  }
}
