/* Homepage sections and mobile contact bar. Hero styles live in home-hero.css. */
.mobile-quick-actions { display:none; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.home-after {
 --home-ink:#123d5e;
 --home-muted:#4d6070;
 --home-blue:#1f57c3;
 background:#fff;
 color:var(--home-ink);
 font-family:Manrope,"Segoe UI",sans-serif;
}
.home-after__wrap { max-width:1280px; margin-inline:auto; padding-inline:32px; }
.home-after h2 { margin:0; font-size:34px; font-weight:700; line-height:1.2; letter-spacing:-.035em; text-wrap:balance; }
.home-after h3 { margin:0 0 12px; font-size:20px; font-weight:700; line-height:1.35; letter-spacing:-.02em; }
.home-after p { margin:0; color:var(--home-muted); font-size:16px; line-height:1.7; }
.home-after a { color:var(--home-blue); }
.home-after :is(a,summary):focus-visible { outline:3px solid var(--home-blue); outline-offset:4px; border-radius:4px; }
.home-benefits { padding-block:56px; background:#f0f7fb; }
.home-benefits__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:32px; }
.home-benefits__item + .home-benefits__item { border-left:1px solid #cddde7; padding-left:32px; }
.home-benefits__item svg { width:30px; height:30px; margin-bottom:20px; fill:none; stroke:var(--home-blue); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.home-faq { padding-block:64px; }
.home-faq__layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.65fr); gap:72px; }
.home-faq__intro p { margin-top:16px; max-width:32ch; }
.home-after__text-link { display:inline-flex; align-items:center; min-height:44px; font-size:15px; font-weight:600; text-underline-offset:5px; text-decoration-color:#9cafd2; }
.home-after__text-link:hover { text-decoration-color:currentColor; }
.home-faq__intro .home-after__text-link { margin-top:20px; }
.home-faq__questions { border-top:1px solid #dce5eb; }
.home-faq details { border-bottom:1px solid #dce5eb; }
.home-faq summary { position:relative; display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:68px; padding-block:20px; font-size:17px; line-height:1.5; font-weight:600; list-style:none; cursor:pointer; }
.home-faq summary::-webkit-details-marker { display:none; }
.home-faq summary::after { content:"+"; flex-shrink:0; width:24px; font-size:25px; font-weight:400; text-align:center; line-height:1; }
.home-faq details[open] summary { color:var(--home-blue); }
.home-faq details[open] summary::after { content:"−"; }
.home-faq__answer { padding:0 40px 24px 0; }
.home-faq__answer p + p { margin-top:12px; }
.home-faq__answer a { text-underline-offset:3px; }
.home-quote { padding-bottom:56px; }
.home-quote__inner { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:48px; padding:40px; background:#f0f7fb; border-radius:12px; }
.home-quote__inner p { margin-top:16px; max-width:52ch; }
.home-quote__actions { display:flex; flex-direction:column; align-items:center; gap:8px; }
.home-after .home-after__primary { display:inline-flex; justify-content:center; align-items:center; min-height:52px; padding:14px 28px; border-radius:8px; background:var(--home-blue); color:#fff; font-size:16px; font-weight:600; text-decoration:none; }
.home-after__primary:hover { background:#1747a5; }
.home-careers { padding-block:0 48px; }
.home-careers__inner { display:flex; align-items:center; justify-content:space-between; gap:32px; padding-top:32px; border-top:1px solid #dce5eb; }
.home-careers h2 { font-size:24px; }
.home-careers p { margin-top:10px; }
.home-after__outline { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; min-height:48px; padding:12px 20px; border:1px solid #b8cbd8; border-radius:8px; font-size:15px; font-weight:600; text-decoration:none; }
.home-after__outline:hover { background:#f0f7fb; border-color:var(--home-blue); }
/* Keep the shared footer aligned with the homepage content. */
body:has(.home-after) .site-footer { margin-top:0; background:#102e43; font-family:Manrope,"Segoe UI",sans-serif; }
body:has(.home-after) .foot { max-width:1280px; padding:40px 32px 24px; gap:32px; }
body:has(.home-after) .foot-top { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,.7fr); gap:48px; }
body:has(.home-after) .foot h4 { font-size:16px; font-weight:600; margin-bottom:16px; }
body:has(.home-after) .foot p { font-size:14px; line-height:1.75; }
body:has(.home-after) .foot-top > div:last-child p { margin-block:0; }
body:has(.home-after) .foot-top > div:last-child a { display:inline-flex; align-items:center; min-height:44px; }
body:has(.home-after) .foot-bottom { border-color:#ffffff26; padding-top:24px; font-size:12px; gap:12px; }
@media(max-width:900px) {
 .home-benefits__grid { gap:24px; }
 .home-benefits__item + .home-benefits__item { padding-left:24px; }
 .home-faq__layout { gap:40px; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); }
 .home-quote__inner { gap:24px; padding:32px; }
 body:has(.home-after) .foot-top { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
 body:has(.home-after) .foot-top > div:first-child { grid-column:1 / -1; }
}
@media(max-width:639px) {
 .home-after__wrap { padding-inline:20px; }
 .home-after h2 { font-size:28px; }
 .home-benefits { padding-block:36px; }
 .home-benefits__grid { grid-template-columns:1fr; gap:24px; margin-top:28px; }
 .home-benefits__item + .home-benefits__item { padding-left:0; padding-top:24px; border-left:0; border-top:1px solid #cddde7; }
 .home-benefits__item svg { margin-bottom:12px; }
 .home-benefits__item p { max-width:44ch; }
 .home-faq { padding-block:40px; }
 .home-faq__layout { grid-template-columns:1fr; gap:24px; }
 .home-faq__intro p { max-width:none; margin-top:12px; }
 .home-faq__intro .home-after__text-link { margin-top:12px; }
 .home-faq summary { font-size:16px; gap:16px; }
 .home-faq__answer { padding-right:12px; }
 .home-quote { padding-bottom:32px; }
 .home-quote__inner { grid-template-columns:1fr; padding:24px; gap:24px; }
 .home-quote__actions { align-items:stretch; }
 .home-quote__actions .home-after__text-link { justify-content:center; }
 .home-careers { padding-bottom:32px; }
 .home-careers__inner { flex-direction:column; align-items:flex-start; gap:20px; padding-top:24px; }
 .home-careers h2 { font-size:24px; }
 .home-after__outline { width:100%; }
 body:has(.home-after) .foot { padding:32px 20px 24px; gap:24px; }
 body:has(.home-after) .foot-top { grid-template-columns:1fr; gap:28px; }
}
@media(max-width:600px) {
 .mobile-quick-actions { position:fixed; inset:auto 0 0; z-index:45; display:grid; grid-template-columns:1fr 1fr; background:#fff; gap:1px; border-top:1px solid #d7dfe7; padding:6px 6px calc(6px + env(safe-area-inset-bottom)); box-shadow:0 -3px 16px #123b5010; }
 .mobile-quick-actions a { min-height:50px; display:flex; align-items:center; justify-content:center; gap:28px; background:#1f57c3; color:white; font-size:15px; font-weight:700; text-decoration:none; }
 .mobile-quick-actions a:last-child { background:#f4ce46; color:#123b50; }
 body:has(.mobile-quick-actions) { padding-bottom:calc(63px + env(safe-area-inset-bottom)); }
 html:has(.mobile-quick-actions) { scroll-padding-bottom:calc(80px + env(safe-area-inset-bottom)); }
}
