/* Shared button geometry: SVG bounds are symmetric around the 24 × 24 centre. */
/* DiaText-inspired sweep is shared by every page hero title. */
.hero-title-sweep,.home-hero-title .sx{display:inline;background-image:linear-gradient(90deg,#020c21 0%,#020c21 42%,#4a78b0 46%,#a6c7e9 50%,#c7adcc 54%,#f2b987 58%,#4a78b0 61%,#020c21 64%,#020c21 100%);background-size:260% 100%;background-position:100% 0;background-clip:text;-webkit-background-clip:text;-webkit-box-decoration-break:clone;box-decoration-break:clone;color:transparent!important;animation:hero-title-sweep 1.5s cubic-bezier(.22,1,.36,1) .12s both}
@keyframes hero-title-sweep{to{background-position:0 0}}
@media(prefers-reduced-motion:reduce){.hero-title-sweep,.home-hero-title .sx{animation:none;background-position:0 0}}
.action .arrow,.project-arrow,.knob{display:flex;align-items:center;justify-content:center;line-height:0;padding:0;flex-shrink:0}
.action{position:relative;isolation:isolate;overflow:hidden;box-sizing:border-box;width:fit-content;min-width:184px;max-width:100%;height:48px;min-height:48px;justify-content:flex-start;gap:0;padding:4px 56px 4px 24px;white-space:nowrap;background:#f7faff!important;color:#0f1b31!important;border:1px solid #d7e1ee!important;transition:padding .5s cubic-bezier(.2,.7,.3,1),transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s ease,background-color .3s ease,color .3s ease}
.action .arrow{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:40px;height:40px;margin:0;border-radius:50%;background:#0f1b31!important;color:#fff!important;transition:right .5s cubic-bezier(.2,.7,.3,1),transform .5s cubic-bezier(.2,.7,.3,1),background-color .3s ease}
.brief-form .action{width:fit-content}
.action:hover,.action:focus-visible{box-shadow:none!important}
.ui-arrow{display:block;width:50%;height:50%;flex:none;overflow:visible;transform-box:view-box;transform-origin:50% 50%;pointer-events:none}
.knob{color:#fff}.knob .ui-arrow{width:44%;height:44%}
.action .arrow .ui-arrow{width:18px;height:18px}
.project-arrow .ui-arrow{width:50%;height:50%}
.action .arrow .ui-arrow path{stroke-width:2.2}
@media(prefers-reduced-motion:no-preference){
 .cta,.meet,.play,.burger,.close-dialog,.close-project{transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s ease,background-color .3s ease}
 .action .arrow,.knob,.project-arrow{transition:right .5s cubic-bezier(.2,.7,.3,1),transform .3s cubic-bezier(.2,.7,.3,1),background-color .3s ease}
 .ui-arrow{transition:transform .35s cubic-bezier(.2,.7,.3,1)}
 .action:active,.cta:active,.meet:active,.play:active,.burger:active{scale:.98}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .action:hover,.action:focus-visible,.cta:hover,.cta:focus-visible,.meet:hover,.meet:focus-visible{transform:translateY(-2px);box-shadow:0 12px 25px #0f1b3124}
 .action:hover,.action:focus-visible{padding-left:68px;padding-right:24px}
 .action:hover .arrow,.action:focus-visible .arrow{right:calc(100% - 44px)}
 .cta:hover .knob,.meet:hover .knob{transform:scale(1.07)}
 .play:hover,.burger:hover,.close-dialog:hover,.close-project:hover{transform:scale(1.07);box-shadow:0 5px 18px #0f1b3118}
 .project-card:hover .project-arrow,.project-card:focus-visible .project-arrow{transform:scale(1.06)}
 .action:hover .ui-arrow[data-direction="up-right"],.action:focus-visible .ui-arrow[data-direction="up-right"],.project-card:hover .ui-arrow[data-direction="up-right"],.project-card:focus-visible .ui-arrow[data-direction="up-right"]{transform:rotate(45deg)}
 .page-tile,.work-tile{transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s ease}
 .page-tile:hover,.work-tile:hover{transform:translateY(-3px);box-shadow:0 14px 35px #0f1b3110}
}
