/* One action system for anchors and native buttons, including popup submits. */
body .btn,body .hero .buttons .btn,body .form-dialog .contact-form .btn,body .footer button.footer-cta,body .footer a.footer-cta{
 appearance:none;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:10px;
 min-height:52px;min-width:0;padding:14px 24px;border:1px solid transparent;border-radius:12px;
 font:600 16px/1.35 Inter,Arial,sans-serif;letter-spacing:0;text-align:center;text-decoration:none;
 cursor:pointer;position:relative;isolation:isolate;overflow:hidden;vertical-align:middle;
 transition:transform .22s ease,background-color .22s ease,border-color .22s ease,box-shadow .22s ease;
}
body .btn.primary,body .hero .buttons .btn.primary,body .form-dialog .contact-form .btn.primary,body .footer button.footer-cta,body .footer a.footer-cta{
 color:#fff;background:linear-gradient(135deg,#0953db,#0846bd);border-color:#0953db;
 box-shadow:0 5px 14px #0953db20;
}
body .btn.secondary,body .hero .buttons .btn.secondary{color:#102a49;background:#fff;border-color:#c5d3e4;box-shadow:none}
body .btn.primary::after,body .footer .footer-cta::after{
 content:"";position:absolute;inset-block:0;inset-inline-start:-70%;width:55%;pointer-events:none;
 background:linear-gradient(100deg,transparent,#ffffff16,transparent);transform:skewX(-18deg);
 animation:ds-action-sheen 8s ease-in-out infinite;
}
html[dir="rtl"] .btn,html[dir="rtl"] .footer-cta{--sheen-shift:-420%}
@keyframes ds-action-sheen{0%,72%{transform:translateX(0) skewX(-18deg)}90%,100%{transform:translateX(var(--sheen-shift,420%)) skewX(-18deg)}}
body .btn:focus-visible,body .footer .footer-cta:focus-visible{outline:3px solid #4d8af1;outline-offset:4px}
body .btn:active,body .footer .footer-cta:active{transform:translateY(1px);box-shadow:none}
body .btn:disabled,body .footer .footer-cta:disabled{cursor:wait;opacity:.65;transform:none;box-shadow:none}
body .btn:disabled::after{animation:none}
@media(hover:hover) and (pointer:fine){
 body .btn.primary:hover,body .hero .buttons .btn.primary:hover,body .form-dialog .contact-form .btn.primary:hover,body .footer .footer-cta:hover{transform:translateY(-2px);background:#0644b8;box-shadow:0 9px 22px #0953db30}
 body .btn.secondary:hover,body .hero .buttons .btn.secondary:hover{transform:translateY(-2px);background:#f3f7fd;border-color:#8ba9d1;box-shadow:0 6px 16px #0617330c}
}
/* Utility buttons retain their icon-sized layout and do not compete with CTAs. */
body .nav-toggle,body .form-dialog-close,body .language-dialog-close,body .footer-language-button{border-radius:12px}
body .analytics-choices button{border-radius:12px;font-family:Inter,Arial,sans-serif;min-height:52px}
body .buttons{gap:12px;align-items:stretch}
body .footer .footer-cta{width:fit-content;text-align:center}
/* Home rhythm: avoid stacking two large section paddings between each block. */
body[data-ui-page="index"] main>.section{padding-block:40px}
body[data-ui-page="index"] .section-head{margin-bottom:28px}
body[data-ui-page="index"] .hero{gap:28px}
body[data-ui-page="index"] .hero-zone-1 h1{margin-block:14px 22px}
body[data-ui-page="index"] .hero-copy{margin-block:0 22px}
body[data-ui-page="index"] .benefits{margin-block:18px 0}
body[data-ui-page="index"] .hero .buttons{margin-top:24px}
body[data-ui-page="index"] .service-grid .service-detail-link{margin-top:auto;padding-top:18px}
body[data-ui-page="index"] .home-products .section-head .service-detail-link{margin-top:8px}
body[data-ui-page="index"] .flow-hero .hero{padding-block:36px;gap:28px}
body[data-ui-page="index"] .hero .hero-stage{min-height:0}
.cinematic body[data-ui-page="index"] .hero-pin-wrap:not(.flow-hero){height:calc(100svh - var(--nav-height,80px) + min(var(--hero-travel,360px),360px))}
@media(max-width:680px){
 body[data-ui-page="index"] main>.section{padding-block:28px}
 body[data-ui-page="index"] .section-head{margin-bottom:22px}
 body[data-ui-page="index"] .flow-hero .hero{padding:24px 18px;gap:24px}
 body[data-ui-page="index"] .hero-zone-1 h1{margin-block:12px 18px}
 body[data-ui-page="index"] .hero-copy{margin-bottom:18px}
 body[data-ui-page="index"] .hero .buttons{margin-top:20px}
 body .buttons .btn{flex:1 1 auto}
 body .hero .buttons{flex-direction:column}
 body .btn,body .hero .buttons .btn,body .form-dialog .contact-form .btn,body .footer .footer-cta{min-height:52px;padding:14px 20px}
}
@media(max-width:560px){.nav-inner .brand{width:min(220px,calc(100% - 134px));max-width:220px;flex-shrink:1}}
@media(prefers-reduced-motion:reduce){
 body .btn,body .footer .footer-cta,body .btn::after,body .footer .footer-cta::after{animation:none!important;transition:none!important;transform:none!important}
 body .btn::after,body .footer .footer-cta::after{display:none}
}
