/* Scoped additions: approved design tokens/layout remain in styles.css. */
.scroll-phones{perspective:1100px;transform-style:preserve-3d;touch-action:pan-y;isolation:isolate}
.motion-phone{position:absolute;top:48%;left:50%;width:clamp(220px,58%,420px);height:auto;max-width:none;transform:translate(-50%,-50%) translateX(calc(var(--phone)*45px)) rotateY(calc(var(--phone)*-15deg));pointer-events:none;user-select:none;backface-visibility:hidden;filter:drop-shadow(0 25px 22px #04132355)}
#lead-modal{width:min(600px,calc(100% - 24px));max-height:calc(100dvh - 32px);padding:26px;border:1px solid var(--line);border-radius:24px;color:var(--ink);background:var(--paper,#f6f8fb);box-shadow:0 30px 100px #0b1f3a66;overscroll-behavior:contain}
#lead-modal::backdrop{background:#071729a6;backdrop-filter:blur(5px)}
.modal-heading{display:flex;gap:20px;align-items:flex-start;justify-content:space-between}.modal-heading h2{font-size:clamp(26px,5vw,36px);line-height:1.15}.modal-heading .eyebrow{margin:0 0 10px}#modal-close{flex:none;border:1px solid var(--line);background:white;color:var(--ink);border-radius:50%;width:44px;height:44px;font-size:28px;cursor:pointer}#lead-modal-description{margin:14px 0 20px;color:var(--ink-2)}#lead-modal .form{padding:22px}
.consent{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;margin:16px 0;color:var(--ink-2)}.consent input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:var(--brand)}.field{min-width:0}.field input,.field select{min-width:0;width:100%}.form-error{color:#aa1b2d;background:#fff0f2;padding:12px;border-radius:10px;margin-bottom:16px}.form-error[hidden]{display:none}.lead-form-wrap.done form{display:none}.lead-form-wrap.done .success{display:flex}.lead-form-wrap .success{outline:none}.lead-form-wrap button:disabled{opacity:.65;cursor:wait}.fine a{color:var(--brand)}
:focus-visible{outline:3px solid #4d96ff;outline-offset:4px}.sr-only:focus{position:fixed;top:12px;left:12px;width:auto;height:auto;padding:12px;background:white;color:#0b1f3a;clip:auto;z-index:1000}.mobile-nav:not(.open){visibility:hidden}.mobile-nav.open{visibility:visible}
@media(max-width:600px){#lead-modal{padding:18px}#lead-modal .form{padding:18px}.lead-form-wrap .form-row{grid-template-columns:1fr}.motion-phone{width:clamp(260px,85%,370px)}}
@media(prefers-reduced-motion:reduce){.motion-phone{transition:none!important}.hero .line>span{opacity:1;transform:none}.marquee .track{animation:none}}
