/* A shorter hero puts the moving customer logos in the first desktop view. */
.hero-personas .hero-layout{padding-block:36px 28px;gap:36px}
.hero-personas .hero-art-hybrid{max-width:clamp(360px,calc(78.57svh - 212px),450px)}
.hero-personas .hero-copy{padding-bottom:0}
.hero-personas h1{font-size:clamp(42px,3.8vw,56px);line-height:1.12;letter-spacing:-.035em}
.hero-personas .hero-lead{font-size:15px;line-height:1.7;margin-top:24px}
.hero-personas .hero-actions{margin-top:24px}
.hero-personas .hero-partner{margin-top:18px}
.hero-personas .hero-partner img{height:54px}
.client-strip{padding-block:20px 22px}
.client-strip .logo-heading{margin-bottom:14px}
.client-strip .logos-marquee{gap:14px}
.client-strip .logo-cell{height:46px}
/* Inner and outer corners share viewport-based lengths, rather than different cqw containers. */
.hero-hybrid-scene .case-phone{--device-radius:clamp(28px,2.5vw,38px);--device-inset:8px;border:2px solid #8d8f94;border-radius:var(--device-radius);padding:6px}
.hero-hybrid-scene .case-screen{border-radius:calc(var(--device-radius) - var(--device-inset));overflow:hidden;isolation:isolate}
.contact-section.final-cta{padding-block:76px}
.contact-layout{gap:56px;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)}
.contact-form{padding:28px;border-radius:16px}
.contact-form-intro{margin-bottom:22px}
.contact-fields{gap:16px}
.contact-row{gap:16px}
.contact-field{gap:6px}
.contact-field input,.contact-field select{min-height:48px;padding:10px 12px;font-size:16px}
.contact-section .contact-form p.contact-privacy{margin:18px 0 14px}
.contact-section .contact-submit.button{min-height:52px}
.contact-phone{display:flex;align-items:stretch;min-width:0;min-height:48px;border:1px solid #cbd0dc;border-radius:8px;background:#fff}
.contact-phone:focus-within{border-color:var(--blue);outline:2px solid var(--blue);outline-offset:2px}
.contact-phone:has(input:user-invalid){border-color:#b12435}
.contact-field .contact-phone>input{flex:1;width:0;min-width:0;border:0;border-radius:0 8px 8px 0;min-height:46px;padding-left:14px;background:transparent}
.contact-field .contact-phone>input:focus{outline:none}
.phone-country{position:relative;flex:0 0 118px;min-width:0;border-right:1px solid #d9dde5}
.phone-country-display{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:center;gap:7px;padding:10px 12px;font-size:15px;white-space:nowrap;pointer-events:none}
.phone-country-display .icon{width:14px;height:14px;flex:none}
.contact-field .phone-country select{position:relative;display:block;width:100%;height:100%;min-height:46px;padding:0;opacity:0;cursor:pointer}
.phone-country:focus-within{outline:2px solid var(--blue);outline-offset:-3px;border-radius:7px 0 0 7px}
.contact-fields:disabled .phone-country select{cursor:wait}
@media(max-width:1100px){.hero-personas .hero-layout{gap:28px}.hero-personas h1{font-size:clamp(39px,4.2vw,48px)}.contact-layout{gap:36px}.contact-form{padding:24px}}
@media(max-width:800px){.hero-personas .hero-layout{gap:28px;padding-block:32px 22px}.hero-personas .hero-art-hybrid{max-width:420px}.hero-personas h1{font-size:clamp(38px,6.6vw,48px)}.hero-personas .hero-lead{font-size:15px}.hero-hybrid-scene .case-phone{--device-radius:clamp(26px,7vw,36px)}.contact-layout{grid-template-columns:minmax(0,1fr);gap:30px}.contact-section.final-cta{padding-block:56px}.contact-form{max-width:660px}.contact-direct{margin-top:22px;padding-top:16px}}
@media(max-width:480px){.hero-personas .hero-layout{padding-top:28px}.hero-personas h1{font-size:38px}.hero-personas .hero-lead{font-size:14px;margin-top:20px}.hero-personas .hero-partner img{height:auto}.hero-personas .hero-partner{margin-top:22px}.hero-hybrid-scene .case-phone{--device-inset:6.5px;border-width:1.5px;padding:5px}.client-strip .logo-cell{height:40px}.client-strip .logos-marquee{gap:12px}.contact-form{padding:22px 18px}.contact-row{grid-template-columns:minmax(0,1fr);gap:16px}.contact-field label{font-size:13px}.contact-form-intro{margin-bottom:20px}.contact-fields{gap:16px}.contact-field small{font-size:11px}.phone-country{flex-basis:111px}.phone-country-display{padding-inline:10px}.contact-field .contact-phone>input{padding-inline:10px}.contact-form-intro h3{font-size:20px}}
@media(max-width:370px){.hero-personas h1{font-size:35px}.contact-form{padding-inline:16px}.phone-country{flex-basis:103px}.phone-country-display{font-size:14px}}
