/* Motion is progressive: nothing is hidden until an animation actually starts. */
:root{--tm-quick:220ms;--tm-ease:cubic-bezier(.22,.7,.2,1);}
.t :is(.t-btn,.button,.tl-open,.tl-submit,.tge-submit,.tc-save,.hh-path,.hr-float,.bn-read,.pf-back){transition:background-color 220ms ease,color 220ms ease,border-color 220ms ease,box-shadow 260ms ease,transform 220ms var(--tm-ease)!important;}
.t :is(.t-btn,.button,.tl-open,.tl-submit,.tge-submit,.tc-save):active:not(:disabled){transform:translateY(1px) scale(.98)!important;}
.t :is(.t-btn,.button,.hn-all,.bn-read,.pf-back,.pf-heading>a)>i{transition:translate 220ms var(--tm-ease)!important;}
.t :is(.t-btn,.button,.hn-all,.bn-read,.pf-back,.pf-heading>a):is(:hover,:focus-visible)>i{translate:3px 0;}
.tm-hero-line{padding-bottom:.035em;margin-bottom:-.035em;will-change:transform;}
.tm-image-mask{will-change:clip-path;}
.t .tg-header{z-index:9990!important;transform:translate3d(0,0,0);transition:transform 320ms cubic-bezier(.22,.61,.36,1)!important;}
.t .tg-header__bar{transition:padding 280ms ease,min-height 280ms ease,box-shadow 280ms ease,background-color 280ms ease!important;}
.t .tg-header__logo img{transition:width 280ms ease!important;}
:root{--tm-admin-offset:0px;}
body.admin-bar{--tm-admin-offset:32px;}
@media(min-width:992px){
 .t .tg-header.tg-header{position:fixed!important;top:calc(var(--tm-admin-offset) + 36px)!important;left:36px!important;right:36px!important;padding:0!important;}
 .t .tg-header.tm-compact .tg-header__bar{background:#fff!important;box-shadow:0 6px 28px rgba(20,27,51,.12)!important;}
}
@media(max-width:991px){.t .tg-header.tg-header{position:sticky!important;top:var(--tm-admin-offset)!important;}.t .tg-header.tm-compact .tg-header__bar{background:#fff!important;box-shadow:0 6px 24px rgba(20,27,51,.12)!important;}}
@media(min-width:601px) and (max-width:782px){body.admin-bar{--tm-admin-offset:46px;}}
@media(max-width:600px){body.admin-bar{--tm-admin-offset:0px;}}
html{scroll-padding-top:100px;}
.t main :is([id],a,button,summary,input,select,textarea){scroll-margin-top:110px;}
.t .pf-preview{position:relative;overflow:hidden;}
.t .pf-preview img{transition:transform 350ms var(--tm-ease);transform-origin:center;}
.t .tm-view-cue{position:absolute;bottom:24px;right:24px;display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:12px 18px;background:var(--tagon-cream);color:var(--tagon-blue);font:700 16px/1.4 var(--tagon-font-body);border-radius:999px;opacity:0;translate:0 6px;transition:opacity 300ms ease,translate 350ms var(--tm-ease);pointer-events:none;}
.t .pf-preview:is(:hover,:focus-visible) img{transform:scale(1.035);}
.t .pf-preview:is(:hover,:focus-visible) .tm-view-cue{opacity:1;translate:0 0;}
.t details.tm-accordion>summary:after{content:none!important;}
.t .tm-accordion-icon{flex-shrink:0;margin-left:auto;transition:rotate 280ms var(--tm-ease)!important;}
.t .tm-accordion-icon::before{content:var(--tm-icon-glyph)!important;}
.t details.tm-accordion[open]>summary .tm-accordion-icon{rotate:45deg;}
.t details.tm-accordion[open]>summary .tm-accordion-icon[data-tm-chevron]{rotate:180deg;}
.tm-invalid{border-color:#A92C2C!important;box-shadow:0 0 0 2px rgba(169,44,44,.15);transition:border-color 180ms ease,box-shadow 180ms ease;}
.tm-submitting button[type=submit]::after{content:'';display:inline-block;flex:0 0 14px;width:14px;height:14px;margin-left:10px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:tm-loading 750ms linear infinite;}
@keyframes tm-loading{to{transform:rotate(360deg);}}
.t main{animation:tm-page-in 240ms ease;}
@keyframes tm-page-in{from{opacity:.7;}to{opacity:1;}}
@media(prefers-reduced-motion:reduce){
 .t main{animation:none!important;}
 .t :is(.tm-view-cue,.tm-accordion-icon,.pf-preview img,.tg-header,.tg-header__bar,.tg-header__logo img),.tm-invalid{transition:none!important;}
 .t .pf-preview:is(:hover,:focus-visible) img{transform:none;}
 .t :is(.t-btn,.button,.hn-all,.bn-read,.pf-back,.pf-heading>a):is(:hover,:focus-visible)>i{translate:none!important;}
 .tm-submitting button[type=submit]::after{animation:none;}
}
.t .tge-form .tm-invalid,.tl-form .tm-invalid,#tc-request-form .tm-invalid{border-color:#A92C2C!important;}
.t .pf-slide:is(:hover,:focus-within) .pf-preview img{transform:scale(1.035);}
.t .pf-slide:is(:hover,:focus-within) .tm-view-cue{opacity:1;translate:0 0;}
.tge-modal .tge-submit,.tl-dialog .tl-submit,.tc-dialog button{transition:background-color 220ms ease,color 220ms ease,transform 220ms var(--tm-ease);}
.tge-modal .tge-submit:active:not(:disabled),.tl-dialog .tl-submit:active:not(:disabled),.tc-dialog button:active:not(:disabled){transform:scale(.98);}
html{scroll-padding-top:110px;}
.t main :is([id],a,button,summary,input,select,textarea){scroll-margin-top:16px;}
@media(prefers-reduced-motion:reduce){.t .pf-slide:is(:hover,:focus-within) .pf-preview img{transform:none;}.tge-modal .tge-submit,.tl-dialog .tl-submit,.tc-dialog button{transition:none!important;}.tge-modal .tge-submit:active,.tl-dialog .tl-submit:active,.tc-dialog button:active{transform:none;}}

.t .cw-preview{position:relative;overflow:hidden;}
.t .cw-preview img{transition:transform 350ms var(--tm-ease);transform-origin:center;}
.t .cw-project:is(:hover,:focus-within) .cw-preview img{transform:scale(1.035);}
.t .cw-project:is(:hover,:focus-within) .tm-view-cue{opacity:1;translate:0 0;}
@media(prefers-reduced-motion:reduce){.t .cw-preview img{transition:none;}.t .cw-project:is(:hover,:focus-within) .cw-preview img{transform:none;}}

/* Project screenshots use their existing text CTA; no duplicate image-overlay button. */
.t .pf-preview .tm-view-cue{display:none!important;}

/* Process cards use their normal spacing without scroll progress rails. */

/* Keep the home featured-project image still on hover and keyboard focus. */
.home .t .pf-preview img,
.home .t .pf-preview:is(:hover,:focus-visible) img,
.home .t .pf-slide:is(:hover,:focus-within) .pf-preview img{transform:none!important;transition:none!important;}

/* Direction-aware navigation: hide on descent, return on ascent or keyboard focus. */
.t .tg-header.tm-header-hidden:not(:focus-within){transform:translate3d(0,calc(-100% - var(--tm-admin-offset) - 60px),0)!important;pointer-events:none;}
.t .tg-header:focus-within{transform:none!important;pointer-events:auto;}
@media(prefers-reduced-motion:reduce){.t .tg-header{transition:none!important;}}

/* Case Studies screenshots stay still and use the existing project CTA. */
.page-id-1043 .t :is(.cw-preview,.pf-preview) .tm-view-cue{display:none!important;}
.page-id-1043 .t :is(.cw-preview,.pf-preview) img,
.page-id-1043 .t :is(.cw-project,.pf-slide):is(:hover,:focus-within) :is(.cw-preview,.pf-preview) img{transform:none!important;translate:none!important;scale:none!important;transition:none!important;animation:none!important;clip-path:none!important;opacity:1!important;}
