/* A label and a distinct arrow bay make the silhouette part of the brand. */
.button-label{position:relative;z-index:1;min-width:0}
.button-arrow{display:inline-flex;align-items:center;justify-content:center;position:relative;z-index:1;flex:0 0 auto}
.button-arrow>.icon{display:block;transition:transform .24s cubic-bezier(.2,.7,.3,1)}

/* Cobalt cut-paper: a clipped entry corner and a round, notched arrow dock. */
.theme-main .button:not(.secondary),.theme-main .site-header .nav-cta,
.theme-websites .button:not(.secondary),.theme-websites .site-header .nav-cta{
 position:relative;isolation:isolate;overflow:visible;display:inline-flex;align-items:center;
 min-height:52px;padding:8px 8px 8px 23px;border:0;border-radius:3px 30px 30px 3px;
 gap:24px;background:transparent;color:#fff;box-shadow:none;font-size:14px;font-weight:550;
 letter-spacing:-.015em;line-height:1.25;transform:none;transition:filter .22s;
 filter:drop-shadow(0 4px 0 #15299715) drop-shadow(0 7px 11px #1e3ada13);
}
.theme-main .button:not(.secondary):before,.theme-main .site-header .nav-cta:before,
.theme-websites .button:not(.secondary):before,.theme-websites .site-header .nav-cta:before{
 content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
 border-radius:inherit;clip-path:polygon(12px 0,100% 0,100% 100%,0 100%,0 12px);
 background:linear-gradient(155deg,#3d5cf9 0%,#2341e5 55%,#1934c8 100%);
 box-shadow:inset 0 1px 0 #ffffff66,inset 0 -3px 0 #14279555;
 mask:radial-gradient(circle at calc(100% - 49px) 0,#0000 4px,#000 4.75px) top/100% 51% no-repeat,
 radial-gradient(circle at calc(100% - 49px) 100%,#0000 4px,#000 4.75px) bottom/100% 51% no-repeat;
 transition:filter .22s;
}
.theme-main .button:not(.secondary):after,.theme-main .site-header .nav-cta:after,
.theme-websites .button:not(.secondary):after,.theme-websites .site-header .nav-cta:after{
 content:'';position:absolute;right:49px;top:14px;bottom:14px;width:1px;background:#ffffff36;pointer-events:none;
}
.theme-main .button:not(.secondary) .button-arrow,.theme-main .site-header .nav-cta .button-arrow,
.theme-websites .button:not(.secondary) .button-arrow,.theme-websites .site-header .nav-cta .button-arrow{
 width:34px;height:34px;border-radius:50%;background:#f7f9ff;color:#2441d8;
 box-shadow:0 1px 1px #10257933,inset 0 1px 0 #fff;border:1px solid #fff;
}
.theme-main .button:not(.secondary):hover,.theme-websites .button:not(.secondary):hover{color:#fff;transform:none;box-shadow:none;filter:drop-shadow(0 4px 0 #15299722) drop-shadow(0 9px 13px #1e3ada26)}
.theme-main .button:not(.secondary):hover:before,.theme-main .nav-cta:hover:before,
.theme-websites .button:not(.secondary):hover:before,.theme-websites .nav-cta:hover:before{filter:brightness(1.08)}
.theme-main .button:hover .button-arrow>.icon,.theme-main .nav-cta:hover .button-arrow>.icon,
.theme-websites .button:hover .button-arrow>.icon,.theme-websites .nav-cta:hover .button-arrow>.icon{transform:rotate(-35deg)}
.theme-main .button:not(.secondary):active,.theme-websites .button:not(.secondary):active{filter:drop-shadow(0 1px 0 #15299722);transform:none}

/* Secondary actions are typographic, with their own outlined arrow medallion. */
.theme-main .button.secondary,.theme-websites .button.secondary{
 position:relative;padding:8px 2px;gap:13px;min-height:50px;border:0;border-radius:0;background:transparent;
 color:#28364f;font-size:14px;box-shadow:none;transform:none;font-weight:500;
}
.theme-main .button.secondary .button-label,.theme-websites .button.secondary .button-label{
 padding-bottom:5px;border-bottom:1px solid #b6c2d9;transition:border-color .22s;
}
.theme-main .button.secondary .button-arrow,.theme-websites .button.secondary .button-arrow{
 width:35px;height:35px;border-radius:50%;border:1px solid #bdc9e0;background:linear-gradient(145deg,#fff,#eef2fb);
 color:#2944d7;box-shadow:inset 0 1px 0 #fff;
}
.theme-main .button.secondary:hover,.theme-websites .button.secondary:hover{color:#2341d5;transform:none;box-shadow:none}
.theme-main .button.secondary:hover .button-label,.theme-websites .button.secondary:hover .button-label{border-color:#2341d5}
.theme-main .site-header .nav-cta,.theme-websites .site-header .nav-cta{
 min-height:44px;padding:6px 6px 6px 18px!important;gap:19px;font-size:12px;white-space:nowrap;
}
.theme-main .site-header .nav-cta .button-arrow,.theme-websites .site-header .nav-cta .button-arrow{width:30px;height:30px}
.theme-main .site-header .nav-cta:before,.theme-websites .site-header .nav-cta:before{
 mask:radial-gradient(circle at calc(100% - 42px) 0,#0000 3px,#000 3.75px) top/100% 51% no-repeat,
 radial-gradient(circle at calc(100% - 42px) 100%,#0000 3px,#000 3.75px) bottom/100% 51% no-repeat;
}
.theme-main .site-header .nav-cta:after,.theme-websites .site-header .nav-cta:after{right:42px;top:12px;bottom:12px}
.theme-main .actions,.theme-websites .actions{gap:24px}
.theme-main .button:focus-visible,.theme-main .nav-cta:focus-visible,
.theme-websites .button:focus-visible,.theme-websites .nav-cta:focus-visible{outline:2px solid #163ee0;outline-offset:5px}

/* Forms use an offset corner and an inset writing surface. */
.theme-main .field input,.theme-main .field select,.theme-main .field textarea{
 border-radius:12px 3px 12px 3px;border-color:#d0d9e8;border-bottom:2px solid #bac6dc;
 background:linear-gradient(170deg,#fff,#f8faff);box-shadow:inset 0 2px 3px #31497904;
 transition:border-color .18s,box-shadow .18s;
}
.theme-main .field input:focus,.theme-main .field select:focus,.theme-main .field textarea:focus{
 border-color:#4563e8;box-shadow:0 0 0 3px #304fe810;background:#fff;
}
.theme-main .menu-toggle,.theme-websites .menu-toggle{border-radius:14px 3px 14px 3px;background:#fff;box-shadow:0 2px 0 #dfe5f0}
.theme-main .services-toggle,.theme-websites .services-toggle{border-radius:50%;transition:background .2s}
.theme-main .services-toggle:hover,.theme-websites .services-toggle:hover{background:#e9edff}

@media(max-width:600px){
 .theme-main .button:not(.secondary),.theme-websites .button:not(.secondary){font-size:12px;min-height:49px;gap:19px;padding:7px 7px 7px 18px}
 .theme-main .button:not(.secondary) .button-arrow,.theme-websites .button:not(.secondary) .button-arrow{width:33px;height:33px}
 .theme-main .button.secondary,.theme-websites .button.secondary{font-size:12px;gap:10px;min-height:49px}
 .theme-main .button.secondary .button-arrow,.theme-websites .button.secondary .button-arrow{width:32px;height:32px}
 .theme-main .actions,.theme-websites .actions{gap:14px}
 .theme-main .site-header .nav-cta,.theme-websites .site-header .nav-cta{justify-content:space-between}
 .theme-main .footer-top>.button.secondary{width:auto}
}
@media(prefers-reduced-motion:reduce){.button-arrow>.icon{transition:none}.button:hover .button-arrow>.icon,.nav-cta:hover .button-arrow>.icon{transform:none!important}}
