/* Clear, immediate feedback in the existing typography and palette. */
:root{--ui-release:180ms;--ui-ease:cubic-bezier(.2,.7,.2,1);--ui-action-hover:#8f1f24;--ui-action-pressed:#78181c;--ui-primary:#c63935;--ui-primary-hover:#b62e2e;--ui-primary-pressed:#981f24}
:root[data-theme=dark]{--ui-action-hover:#ff8278;--ui-action-pressed:#ff9b91}
.theme-row{height:44px}
.theme-switch{min-height:44px;touch-action:manipulation}
.switch-track,.switch-track::before{transition:background-color var(--ui-release) var(--ui-ease),transform var(--ui-release) var(--ui-ease)}
.theme-switch:active .switch-track::before{transform:scale(.9)}
.theme-switch[aria-checked=true]:active .switch-track::before{transform:translateX(19px) scale(.9)}
.site-nav a{display:inline-flex;align-items:center;min-height:44px}
.site-nav-mobile summary{min-height:44px;align-items:center;touch-action:manipulation}
.mobile-menu nav{gap:4px}
.mobile-menu nav a{display:flex;align-items:center;min-height:44px}
.site-nav-mobile[data-menu-ready] .mobile-menu{opacity:var(--menu-reveal,1);transform:translateY(calc((1 - var(--menu-reveal,1))*-8px)) scale(calc(.985 + var(--menu-reveal,1)*.015));transform-origin:top right;will-change:auto}
.site-nav-mobile[data-menu-moving] .mobile-menu{will-change:transform,opacity}
.site-nav-mobile .menu-icon{display:block;flex:0 0 20px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round}
.site-nav-mobile .menu-icon path{transform-box:fill-box;transform-origin:center;transition:transform var(--ui-release) var(--ui-ease)}
.site-nav-mobile summary[aria-expanded=true] .menu-icon-top,.site-nav-mobile[open] summary:not([aria-expanded]) .menu-icon-top{transform:translateY(5px) rotate(45deg)}
.site-nav-mobile summary[aria-expanded=true] .menu-icon-bottom,.site-nav-mobile[open] summary:not([aria-expanded]) .menu-icon-bottom{transform:translateY(-5px) rotate(-45deg)}
@media(prefers-reduced-motion:reduce){.site-nav-mobile .menu-icon path{transition:none}}
:is(.theme-switch,.site-nav a,.site-nav-mobile summary,.mobile-menu a,.text-link,.form-submit,.testimonial-controls button){transition:background-color var(--ui-release) var(--ui-ease),border-color var(--ui-release) var(--ui-ease),color var(--ui-release) var(--ui-ease),transform var(--ui-release) var(--ui-ease);-webkit-tap-highlight-color:transparent}
:is(.theme-switch,.site-nav a,.site-nav-mobile summary,.mobile-menu a):active{color:var(--accent);transition-duration:0s}
.text-link{min-height:44px;touch-action:manipulation}
.text-link .arrow{transition:transform var(--ui-release) var(--ui-ease)}
.text-link:active{color:var(--accent);transition-duration:0s}
.text-link:active .arrow{transform:translateX(2px);transition-duration:0s}
.testimonial-controls button:active:not(:disabled){transform:scale(.985);transition-duration:0s}
.contact-form input,.contact-form textarea{transition:border-color 120ms var(--ui-ease),background-color var(--ui-release) var(--ui-ease)}
.contact-form .field-error{min-height:0}
.contact-form .field-error:empty{display:none}
.contact-form[aria-busy=true]{cursor:progress}
.contact-form[aria-busy=true] .form-submit::after{content:'';flex:0 0 18px;width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-progress 700ms linear infinite}
.testimonial-controls button[aria-disabled=true]{opacity:.35;cursor:default}
.testimonial-controls button[aria-disabled=true]:is(:hover,:active){border-color:var(--rule);color:var(--text);background:transparent;transform:none;filter:none}
/* Pointer hover is visible and predictable; the element itself never shifts. */
:is(.text-link,.subtle-link,.portfolio-project-link,.portfolio-social a,.about-original a,.case-project-link,.contact-alternatives a,.form-privacy a,.site-footer a,.page-intro .section-label a,.page-content a:not(.portfolio-tab):not([role=tab])){
  text-underline-offset:.24em;
  text-decoration-thickness:1px;
  transition:color var(--ui-release) var(--ui-ease),border-color var(--ui-release) var(--ui-ease),text-decoration-color var(--ui-release) var(--ui-ease);
}
.site-nav a,.mobile-menu nav a{
  text-decoration-line:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:.35em;
}
.mobile-menu nav a[aria-current=page]{text-decoration-color:var(--text)}
:is(.service-table .case-link,.dialog-close,.case-nav a,.testimonial-controls button,.case-flow-controls button,.arena-bons-nav button,.arena-bons-demo-buttons button){
  transition:background-color var(--ui-release) var(--ui-ease),border-color var(--ui-release) var(--ui-ease),color var(--ui-release) var(--ui-ease),transform var(--ui-release) var(--ui-ease);
}
.portfolio-project-link>span[aria-hidden=true]{
  display:inline-block;transition:transform var(--ui-release) var(--ui-ease);
}
#section-5ff94e9f18 :is(#link-60015adc86,#link-5ff36b7432){
  text-decoration-line:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:.24em;
  transition:color var(--ui-release) var(--ui-ease),text-decoration-color var(--ui-release) var(--ui-ease);
}
#section-5ff94e9f18 :is(#link-60015adc86,#link-5ff36b7432)>svg,#link-5ff36add46>svg{transition:transform var(--ui-release) var(--ui-ease)}
@media(hover:hover) and (pointer:fine){
  :is(.text-link,.subtle-link,.portfolio-project-link,.portfolio-social a,.about-original a,.case-project-link,.contact-alternatives a,.form-privacy a,.site-footer a,.page-intro .section-label a,.page-content a:not(.portfolio-tab):not([role=tab])):hover:not(:active):not([aria-disabled=true]){
    color:var(--ui-action-hover);border-bottom-color:currentColor;text-decoration-line:underline;text-decoration-color:currentColor;text-decoration-thickness:2px;
  }
  .text-link:hover:not(:active):not([aria-disabled=true]) .arrow{transform:translateX(3px)}
  .portfolio-project-link:hover:not(:active):not([aria-disabled=true])>span[aria-hidden=true]{transform:translate(3px,-2px)}
  :is(.site-nav a,.mobile-menu nav a):hover:not(:active):not([aria-disabled=true]){color:var(--accent);text-decoration-color:currentColor}
  .site-nav a[aria-current=page]:hover:not(:active){text-decoration-color:transparent;border-bottom-color:var(--accent)}
  .service-table .case-link:hover:not(:active):not(:disabled):not([aria-disabled=true]){
    color:var(--ui-action-hover);background:var(--watermark);text-decoration-line:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:.24em;
  }
  :is(.dialog-close,.case-nav a,.testimonial-controls button,.case-flow-controls button,.arena-bons-nav button,.arena-bons-demo-buttons button):hover:not(:active):not(:disabled):not([aria-disabled=true]){
    color:var(--accent);background:var(--watermark);border-color:var(--accent);
  }
  .case-nav a:hover:not(:active):not([aria-disabled=true]){text-decoration-line:underline;text-decoration-thickness:2px;text-underline-offset:.24em}
  details:not(.site-nav-mobile)>summary:hover:not(:active){color:var(--accent);background:var(--watermark)}
  #section-5ff94e9f18 :is(#link-60015adc86,#link-5ff36b7432):hover:not(:active){color:var(--accent);text-decoration-line:underline;text-decoration-color:currentColor}
  #section-5ff94e9f18 :is(#link-60015adc86,#link-5ff36b7432):hover:not(:active)>svg,#link-5ff36add46:hover:not(:active)>svg{transform:translateX(3px)}
  #link-5ff36add46:hover:not(:active) .thecontent{color:var(--accent);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.24em}
}
/* Neutralize older unscoped :hover rules on touch, without muting press or focus. */
@media(hover:none),(pointer:coarse){
  :is(.site-nav a,.mobile-menu a,.site-footer a,.subtle-link,.contact-alternatives a):hover:not(:active){color:inherit}
  .text-link:hover:not(:active){color:var(--text);border-bottom-color:var(--rule)}
  .text-link:hover:not(:active) .arrow{transform:none}
  :is(.portfolio-project-link,.portfolio-social a,.about-original a,.page-content a:not(.portfolio-tab):not([role=tab])):hover:not(:active){color:var(--accent);text-decoration-thickness:1px}
  .page-intro .section-label a:hover:not(:active){color:inherit}
  .contact-form .form-privacy a:hover:not(:active){color:inherit}
  .service-table .case-link:hover:not(:active){color:var(--text);background:transparent;text-decoration-line:underline;text-decoration-color:var(--accent);text-decoration-thickness:1px}
  .case-chrome .dialog-close:hover:not(:active){color:var(--text);background:transparent}
  .case-nav a:hover:not(:active){color:var(--muted);background:transparent}
  .case-nav a[aria-current=location]:hover:not(:active){color:var(--text)}
  .testimonial-controls button:hover:not(:active):not(:disabled){color:var(--text);background:transparent;border-color:var(--rule)}
  .case-flow-controls button:hover:not(:active){background:transparent;border-bottom-color:transparent}
  .arena-bons-nav button:hover:not(:active){color:var(--muted);background:transparent}
  .arena-bons-nav button[aria-pressed=true]:hover:not(:active){color:var(--text)}
  .arena-bons-demo-buttons button:hover:not(:active):not(:disabled){color:var(--text);background:transparent;border-bottom-color:var(--rule)}
  .contact-form input:not([type=hidden]):not([aria-invalid=true]):not(:focus-visible):hover,.contact-form textarea:not([aria-invalid=true]):not(:focus-visible):hover{border-color:var(--field-border)}
  #section-5ff94e9f18 :is(#link-60015adc86,#link-5ff36b7432):hover:not(:active){color:var(--text);text-decoration-color:transparent}
  #section-6028c7f2e1 #link-5ff36add46:hover:not(:active){color:var(--text)}
}
:is(.service-table .case-link,.dialog-close,.case-nav a,.testimonial-controls button,.case-flow-controls button,.arena-bons-nav button,.arena-bons-demo-buttons button):active:not(:disabled):not([aria-disabled=true]){transition-duration:0s}
/* Disabled controls keep their resting appearance even under a pointer. */
:is(.site-nav a,.mobile-menu a,.text-link,.subtle-link,.portfolio-project-link,.portfolio-social a,.page-content a:not(.portfolio-tab):not([role=tab]))[aria-disabled=true]:is(:hover,:active){color:var(--muted);text-decoration-thickness:1px;transform:none;cursor:default}
:is(.dialog-close,.case-nav a,.testimonial-controls button,.case-flow-controls button,.arena-bons-nav button,.arena-bons-demo-buttons button):is(:disabled,[aria-disabled=true]):is(:hover,:active){
  color:var(--muted);background:transparent;border-color:var(--rule);text-decoration:none;transform:none;filter:none;cursor:default;
}
.service-table .case-link:is(:disabled,[aria-disabled=true]),.service-table .case-link:is(:disabled,[aria-disabled=true]):is(:hover,:active){color:var(--muted);background:transparent;text-decoration-line:underline;text-decoration-color:var(--accent);text-decoration-thickness:1px;transform:none;filter:none;cursor:default}
.contact-form[aria-busy=true] .form-submit:disabled:is(:hover,:active){cursor:progress}
.ui-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
@keyframes ui-progress{to{transform:rotate(1turn)}}
details:not(.site-nav-mobile)>summary{min-height:44px;touch-action:manipulation}
details:not(.site-nav-mobile)>summary>span{transition:transform var(--ui-release) var(--ui-ease)}
details:not(.site-nav-mobile)>summary:active{color:var(--accent)}
html[data-theme-changing] :is(body,.mobile-menu,.case-dialog,.case-chrome,.contact-form input,.contact-form textarea){transition:background-color 200ms ease-out,color 200ms ease-out,border-color 200ms ease-out}
/* One interaction for existing line CTAs, including the archived link layouts. */
#yn-page-stage #inhalt .ui-line-link{
  --ui-line-rest:var(--text);
  text-decoration:none;
  transition:color var(--ui-release) var(--ui-ease),border-color var(--ui-release) var(--ui-ease),text-decoration-color var(--ui-release) var(--ui-ease);
}
#yn-page-stage #inhalt .ui-line-link.ui-line-underline{
  --ui-line-rest:var(--accent);
  text-decoration:underline;text-decoration-color:currentColor;text-decoration-thickness:1px;text-underline-offset:.24em;
}
#yn-page-stage #inhalt.about-original .ui-line-link{--ui-line-rest:var(--about-nav-text)}
#yn-page-stage #inhalt :is(.case-project-link,.subtle-link).ui-line-link{--ui-line-rest:var(--text)}
#yn-page-stage #inhalt .case-project-link.ui-line-link{column-gap:.35em}
#yn-page-stage #inhalt .ui-line-plain .thecontent{text-decoration:none}
#yn-page-stage #inhalt .ui-line-link:not(.ui-line-underline):is(:hover,:active,:focus-visible){text-decoration:none}
#yn-page-stage #inhalt .ui-line-rule:not(.ui-line-link){transition:border-color var(--ui-release) var(--ui-ease)}
#yn-page-stage #inhalt .ui-link-arrow{display:inline-block;transition:transform var(--ui-release) var(--ui-ease)}
#yn-page-stage #inhalt .ui-line-link:is(:active,:focus-visible){color:var(--accent);text-decoration-color:currentColor}
#yn-page-stage #inhalt .ui-line-rule:is(:active,:focus-visible),
#yn-page-stage #inhalt .ui-line-rule:has(>.ui-line-link:is(:active,:focus-visible)){border-bottom-color:var(--accent)}
@media(hover:hover) and (pointer:fine){
  #yn-page-stage #inhalt .ui-line-link:hover:not(:active){color:var(--accent);text-decoration-color:currentColor}
  #yn-page-stage #inhalt .ui-line-link:hover:not(:active) .ui-link-arrow{transform:translateX(3px)}
  #yn-page-stage #inhalt .ui-line-rule.ui-line-link:hover:not(:active),
  #yn-page-stage #inhalt .ui-line-rule:has(>.ui-line-link:hover){border-bottom-color:var(--accent)}
}
@media(hover:none),(pointer:coarse){
  #yn-page-stage #inhalt .ui-line-link:hover:not(:active):not(:focus-visible){color:var(--ui-line-rest)}
  #yn-page-stage #inhalt .ui-line-link:hover:not(:active) .ui-link-arrow{transform:none}
}
@media(prefers-reduced-motion:reduce){
  :root{--ui-release:0ms}
  #yn-page-stage #inhalt .ui-line-link:is(:hover,:active,:focus-visible) .ui-link-arrow{transform:none!important}
  :is(.text-link,.form-submit,.case-primary-action,.portfolio-project-link):is(:hover,:active) :is(.arrow,span[aria-hidden=true]){transform:none!important}
  #section-5ff94e9f18 :is(#link-60015adc86,#link-5ff36b7432):hover>svg,#link-5ff36add46:hover>svg{transform:none!important}
  .site-nav-mobile[data-menu-ready] .mobile-menu{transform:none}
  .contact-form .form-submit:active:not(:disabled),.testimonial-controls button:active:not(:disabled),.theme-switch:active .switch-track::before{transform:none}
  .theme-switch[aria-checked=true]:active .switch-track::before{transform:translateX(19px)}
  .contact-form[aria-busy=true] .form-submit::after{animation:none}
  html[data-theme-changing] :is(body,.mobile-menu,.case-dialog,.case-chrome,.contact-form input,.contact-form textarea){transition:none}
}
@media(prefers-contrast:more){.mobile-menu{border-color:var(--text)}}

/* Keep each action's existing type and size; share the archived Kontakt motion. */
:is(.site-nav,.mobile-menu nav) a.nav-contact-button{
  justify-content:center;min-height:44px;padding:12px 20px;
  border:1px solid var(--ui-primary);border-radius:0;
  font-size:16px;font-weight:700;line-height:1.2;text-transform:uppercase;
}
:is(.site-nav,.mobile-menu nav) a.nav-contact-button:focus-visible{outline:2px solid var(--text);outline-offset:5px}
#yn-page-stage :is(.site-nav a.nav-contact-button,.mobile-menu nav a.nav-contact-button,.work-intro .primary-action,.contact-form .form-submit,.case-content .case-primary-action){
  border-color:var(--ui-primary);
  background-color:transparent;
  background-image:linear-gradient(to right,var(--ui-primary) 50%,transparent 50%);
  background-size:200% 100%;background-position:0 0;background-repeat:no-repeat;
  color:#fff;filter:none;transform:none;
  text-decoration:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  transition:transform .5s cubic-bezier(.71,.01,.38,1),background-position .5s cubic-bezier(.71,.01,.38,1),border-color .3s ease,color .18s ease;
}
@media(hover:hover) and (pointer:fine){
  #yn-page-stage :is(.site-nav a.nav-contact-button,.mobile-menu nav a.nav-contact-button,.work-intro .primary-action,.contact-form:not([aria-busy=true]) .form-submit,.case-content .case-primary-action):hover:not(:active):not(:disabled):not([aria-disabled=true]):not([aria-busy=true]){
    transform:scale(1.1);background-position:-100% 0;border-color:var(--text);color:var(--text);text-decoration:none;
  }
}
#yn-page-stage :is(.site-nav a.nav-contact-button,.mobile-menu nav a.nav-contact-button,.work-intro .primary-action,.contact-form:not([aria-busy=true]) .form-submit,.case-content .case-primary-action):active:not(:disabled):not([aria-disabled=true]):not([aria-busy=true]){
  transform:scale(.98);background-image:none;background-color:var(--ui-primary-pressed);border-color:var(--ui-primary-pressed);color:#fff;text-decoration:none;transition-duration:0s;
}
#yn-page-stage :is(.site-nav a.nav-contact-button,.mobile-menu nav a.nav-contact-button,.work-intro .primary-action,.contact-form .form-submit,.case-content .case-primary-action):is(:disabled,[aria-disabled=true],[aria-busy=true]),
#yn-page-stage .contact-form[aria-busy=true] .form-submit{
  transform:none;background-color:transparent;
  background-image:linear-gradient(to right,var(--ui-primary) 50%,transparent 50%);
  background-position:0 0;border-color:var(--ui-primary);color:#fff;filter:none;
  text-decoration:none;cursor:default;transition:none;
}
#yn-page-stage .contact-form[aria-busy=true] .form-submit{cursor:progress}
@media(prefers-reduced-motion:reduce){
  #yn-page-stage :is(.site-nav a.nav-contact-button,.mobile-menu nav a.nav-contact-button,.work-intro .primary-action,.contact-form .form-submit,.case-content .case-primary-action){transition:none}
  #yn-page-stage :is(.site-nav a.nav-contact-button,.mobile-menu nav a.nav-contact-button,.work-intro .primary-action,.contact-form:not([aria-busy=true]) .form-submit,.case-content .case-primary-action):active:not(:disabled):not([aria-disabled=true]):not([aria-busy=true]){transform:none}
}
@media(prefers-reduced-motion:reduce) and (hover:hover) and (pointer:fine){
  #yn-page-stage :is(.site-nav a.nav-contact-button,.mobile-menu nav a.nav-contact-button,.work-intro .primary-action,.contact-form:not([aria-busy=true]) .form-submit,.case-content .case-primary-action):hover:not(:active):not(:disabled):not([aria-disabled=true]):not([aria-busy=true]){
    transform:none;background-position:0 0;background-color:var(--ui-primary-hover);background-image:none;border-color:var(--ui-primary-hover);color:#fff;
  }
}
