/* Shared R3 interaction states. Keep the ink focus treatment visible for keyboard users. */
.w3-portfolio__filters button{
  border-bottom:0;
  border-radius:3px;
  transition:background-color .22s ease,color .22s ease,translate .22s ease;
}
.w3-portfolio__filters button[aria-pressed="true"],
.w3-portfolio__filters button[aria-pressed="true"]:hover{background:#ddff57;color:#22231f}
.w3-portfolio__filters button:hover:not([aria-pressed="true"]){background:#f0ffb5;translate:0 -2px}
.w3-portfolio__filters button:focus-visible{outline:2px solid #22231f;outline-offset:3px}

.w3-faq details{position:relative}
.w3-faq summary{position:relative;isolation:isolate;padding:12px 20px;margin:-12px -20px;transition:color .2s ease}
.w3-faq summary::before{
  content:"";position:absolute;z-index:-1;inset:-5px -3px;
  background:url("../icons/open-quote-frame.cb2925ba63ae.svg") center/100% 100% no-repeat;
  opacity:0;transform:scale(.965,.88);transform-origin:center;
  transition:opacity .3s ease,transform .42s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
.w3-faq details:is(:hover,[open]) summary::before,
.w3-faq summary:focus-visible::before{opacity:1;transform:scale(1)}
.w3-faq summary:hover{color:#22231f}
.w3-faq summary:focus-visible{outline:0!important;color:#22231f}
.w3-faq__indicator{transition:rotate .25s ease,scale .25s ease}
.w3-faq details:is(:hover,[open]) .w3-faq__indicator{scale:1.15;rotate:90deg}
.w3-faq details[open] .w3-faq__indicator{rotate:0deg}

.w3-service-prices summary{cursor:pointer;text-underline-offset:5px;transition:background-color .2s ease,color .2s ease}
.w3-service-prices summary:hover,.w3-service-prices summary:focus-visible{background:#f0ffb5;color:#22231f;text-decoration:underline;text-decoration-color:#22231f}
.w3-service-prices summary:focus-visible{outline:2px solid #22231f;outline-offset:2px}
.services-links__item,.services-cms__tab,.w3-choice,
body .site-header.site-header .header__cta,body .cookie-panel.cookie-panel .button{
  transition:background-color .2s ease,color .2s ease,translate .2s ease;
}
.services-links__item:hover,.services-links__item:focus-visible{border-color:#cdd4e4;background:#f0ffb5;color:#22231f;translate:0 -2px}
.services-links__item:hover strong,.services-links__item:focus-visible strong{text-decoration:underline;text-decoration-color:#22231f;text-underline-offset:5px}
.services-cms__tab:hover,.w3-choice:hover{border-color:#cdd4e4;background:#f0ffb5;translate:0 -2px}
body .site-header.site-header .header__cta:hover{border-color:#d9d9d1;background:#ddff57;color:#22231f}
body .cookie-panel.cookie-panel .button:hover{border-color:transparent;background:#ddff57;color:#22231f}
.w3-project:hover h3,.w3-project:focus-visible h3{color:#22231f;text-decoration:underline;text-decoration-color:#22231f;text-underline-offset:5px}
.w3-project:hover .w3-project__image,.w3-project:focus-visible .w3-project__image{filter:saturate(1.12)}
.w3-portfolio-card:hover h2,.w3-portfolio-card:focus-visible h2{text-decoration:underline;text-decoration-color:#22231f;text-underline-offset:5px}
.w3-portfolio-card:hover h2{color:#22231f}
.w3-portfolio-card:focus-visible{outline:0;box-shadow:0 3px 0 #22231f}
@media(max-width:600px){
  .w3-faq summary{margin:-8px -12px;padding:8px 12px}
  .w3-faq summary::before{background-image:url("../icons/mobile-quote-rail.31e92b0ff499.svg")}
}
@media(prefers-reduced-motion:reduce){
  .w3-faq summary::before,.w3-faq__indicator,.w3-portfolio__filters button,
  .services-links__item,.services-cms__tab,.w3-choice{transition:none!important}
}
