/* Homepage: a connected journey with independent entry points. */
.growth-icons { position:absolute; width:0; height:0; overflow:hidden; }
.home-growth-hero .hero-panel { border-top:4px solid #0d6efd; }
.home-entry { display:flex; align-items:center; gap:1rem; padding:1rem 0; border-bottom:1px solid #dce4ee; color:#153353; text-decoration:none; font-weight:700; }
.home-entry:last-of-type { border-bottom:0; }
.home-entry span { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#e6f0ff; color:#0d6efd; flex-shrink:0; }
.home-entry:hover { color:#0d6efd; }
.growth-section { background:linear-gradient(180deg,#fff,#f1f6fb); }
.growth-section :is(a,button):focus-visible { outline:3px solid #0d6efd; outline-offset:4px; }
.growth-check-strip,.growth-help { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.75rem; background:#fff; border:1px solid #d5e3f2; border-radius:18px; }
.growth-check-strip { box-shadow:0 8px 30px #17375b08; border-left:4px solid #0d6efd; }
.growth-intro { max-width:800px; margin:0 auto 2.5rem; text-align:center; }
.growth-anywhere { display:inline-block; padding:.7rem 1rem; margin:.5rem 0 0; border-radius:12px; background:#e5effa; color:#183d64; font-size:.95rem; }
.growth-map { position:relative; padding:1.5rem 1.75rem; }
.growth-path { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.growth-path path { fill:none; stroke:#87a9cb; stroke-width:2; stroke-dasharray:6 8; vector-effect:non-scaling-stroke; }
.growth-grid { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3rem 2rem; list-style:none; padding:0; margin:0; }
.growth-step { min-width:0; scroll-margin-top:110px; }
.growth-step-4 { grid-column:1; grid-row:2; }
.growth-step-5 { grid-column:2; grid-row:2; }
.growth-step-6 { grid-column:3; grid-row:2; }
.growth-card { display:flex; flex-direction:column; height:100%; padding:1.5rem; border:1px solid #d8e2ed; border-radius:20px; background:#fff; box-shadow:0 10px 26px #17375b09; }
.growth-card-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.2rem; }
.growth-number { display:grid; place-items:center; width:46px; height:46px; border-radius:50%; background:#163a60; color:#fff; font-size:1.25rem; font-weight:800; }
.growth-icon { width:30px; height:30px; fill:none; stroke:#49799f; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.growth-phase { font-size:.72rem; font-weight:750; text-transform:uppercase; letter-spacing:.08em; color:#486782; margin-bottom:.6rem; }
.growth-description { color:#526477; line-height:1.65; margin-bottom:1.25rem; }
.growth-start { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-top:auto; padding:.65rem 0; min-height:44px; font-weight:750; text-decoration:none; color:#0b58b0; }
.growth-step-tools { border-top:1px solid #e4ebf3; margin-top:.5rem; padding-top:.5rem; }
.growth-step-tools a { display:block; font-size:.85rem; min-height:44px; padding:.55rem 0; color:#345777; }
.growth-step-4 .growth-card { border-color:#73a8e8; }
.growth-step-4 .growth-number { background:#0d6efd; }
.home-service-links { display:flex; flex-wrap:wrap; gap:.65rem; justify-content:center; }
.home-service-links a { display:inline-flex; align-items:center; min-height:44px; padding:.65rem 1rem; border-radius:999px; border:1px solid #d8e2ed; color:#234e78; text-decoration:none; }
.home-service-links a:hover { background:#edf4fd; }
@media(max-width:991px) {
    .growth-map { padding:0; }
    .growth-path { display:none; }
    .growth-grid { display:block; padding-left:26px; }
    .growth-grid::before { content:""; position:absolute; top:32px; bottom:32px; left:24px; border-left:2px dashed #9bb5d0; }
    .growth-step { position:relative; margin-bottom:1.5rem; }
    .growth-card { padding:1.5rem 1.25rem 1.25rem 2.25rem; }
    .growth-number { position:absolute; left:-25px; top:24px; border:4px solid #f1f6fb; width:50px; height:50px; }
    .growth-card-top { justify-content:flex-end; margin-bottom:.25rem; }
    .growth-step:last-child { margin-bottom:0; }
}
@media(max-width:575px) {
    .growth-check-strip,.growth-help { padding:1.25rem; }
    .growth-intro { text-align:left; }
    .growth-anywhere { line-height:1.65; }
    .growth-card h3 { font-size:1.25rem; }
}
