/* Shared closing treatment for the public site. The dark footer overlaps blue. */
:is(.service-final-cta,.project-closing,.page-cta){
 position:relative;
 z-index:1;
 background:linear-gradient(120deg,#4994ff 0%,#00bdff 100%);
 color:#0e0d0d;
 border:0;
 border-radius:40px 40px 0 0;
 margin:0;
 padding:64px 0 116px;
}
.page-cta{display:block}
.page-cta>.wrap{display:block}
.service-final-cta .service-section-heading{display:block;margin-bottom:24px}
.service-detail .service-final-cta .service-section-heading h2,
.inner-page .page-cta h2,
.project-page .project-closing h2{
 font-size:clamp(28px,3.2vw,52px);
 line-height:1.18;
 color:#0e0d0d;
 max-width:1100px;
 margin:20px 0 28px;
 text-wrap:balance;
}
:is(.service-final-cta,.project-closing,.page-cta) :is(.service-eyebrow,.page-kicker){color:#0e0d0d}
:is(.service-final-cta,.project-closing,.page-cta) .page-button.solid{
 background:#0e0d0d;
 color:#fff;
 border-color:#0e0d0d;
 min-height:54px;
 padding:15px 26px;
 font-family:var(--font-body,Atelion,sans-serif);
 font-size:16px;
 line-height:1.35;
}
:is(.service-final-cta,.project-closing,.page-cta) .page-button.solid:hover{
 background:#fff;
 color:#0e0d0d;
 border-color:#fff;
}
:is(.service-final-cta,.project-closing,.page-cta) .page-button:focus-visible{
 outline:3px solid #fff;
 outline-offset:5px;
}
body:has(:is(.service-final-cta,.project-closing,.page-cta,.contact-section))>.site-footer{
 position:relative;
 z-index:5;
 margin-top:-52px;
}
body>.site-footer{
 background:#0e0d0d;
 color:#f1f3f3;
 border-radius:52px 52px 0 0;
 padding-top:64px;
}
.site-footer .footer-grid h3{font-size:clamp(18px,1.4vw,24px);line-height:1.2;color:#fff}
.site-footer .footer-grid :is(p,a){font-size:16px;line-height:1.6;color:#f1f3f3}
.site-footer .footer-grid a:hover{color:#00e3ff}
.site-footer .footer-bottom{color:#cdd5dc;border-color:#ffffff40}
.site-footer .footer-wordmark img{filter:brightness(0) invert(1)}
.home-official .contact-section{
 position:relative;
 z-index:1;
 background:linear-gradient(120deg,#4994ff,#00bdff);
 border-radius:40px 40px 0 0;
 color:#0e0d0d;
 padding:58px 0 116px;
 margin-bottom:0;
}
.home-official .contact-marquee{font-size:clamp(42px,5.5vw,84px);line-height:1.13;color:#0e0d0d}
.home-official .contact-marquee>div:nth-child(2){color:transparent;-webkit-text-stroke:1px #0e0d0d}
.home-official .contact-section .contact-circle{
 width:156px;height:156px;
 background:#fff;color:#0e0d0d;
 border:4px solid #0e0d0d;
}
.home-official .contact-section .contact-circle span{font-size:14px}
.home-official .contact-section .contact-circle b{font-size:44px}
@media(max-width:700px){
 :is(.service-final-cta,.project-closing,.page-cta){border-radius:28px 28px 0 0;padding:42px 0 84px}
 .service-detail .service-final-cta .service-section-heading h2,
 .inner-page .page-cta h2,
 .project-page .project-closing h2{font-size:clamp(25px,6.8vw,34px);line-height:1.2;margin:18px 0 24px}
 body:has(:is(.service-final-cta,.project-closing,.page-cta,.contact-section))>.site-footer{margin-top:-32px}
 body>.site-footer{border-radius:32px 32px 0 0;padding-top:44px}
 .site-footer .footer-grid h3{font-size:18px}
 .site-footer .footer-grid :is(p,a){font-size:15px}
 .home-official .contact-section{border-radius:28px 28px 0 0;padding:40px 0 88px}
 .home-official .contact-marquee{font-size:42px}
 .home-official .contact-section .contact-circle{width:112px;height:112px;border-width:3px}
 .home-official .contact-section .contact-circle span{font-size:11px}
 .home-official .contact-section .contact-circle b{font-size:32px}
}
