.js-motion [data-reveal]{
  opacity:0;
  transform:translateY(10px);
  transition:
    opacity var(--dur-slow) var(--ease),
    transform var(--dur-slow) var(--ease);
  transition-delay:calc(var(--reveal-i, 0) * 60ms);
}
.js-motion [data-reveal].is-visible{
  opacity:1;
  transform:none;
}
header{
  transition:background-color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
header.is-scrolled{
  background:rgba(246,245,242,0.94);
  border-bottom-color:var(--line-strong);
}
.nav-links a{position:relative;}
.nav-links a::after{
  content:'';
  position:absolute;left:0;bottom:-4px;
  width:100%;height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform var(--dur) var(--ease);
}
.nav-links a:hover::after{transform:scaleX(1);}
.case-card{transition:border-color var(--dur) var(--ease), transform var(--dur) var(--ease);}
.case-card:hover{transform:translateY(-3px);}
.case-media img{transition:transform var(--dur-slow) var(--ease);}
.case-card:hover .case-media img{transform:scale(1.03);}
@supports (interpolate-size: allow-keywords){
  :root{interpolate-size:allow-keywords;}
  .faq-item::details-content{
    block-size:0;
    overflow:hidden;
    opacity:0;
    transition:
      block-size var(--dur) var(--ease),
      opacity var(--dur) var(--ease),
      content-visibility var(--dur) allow-discrete;
  }
  .faq-item[open]::details-content{block-size:auto;opacity:1;}
}
.faq-q{transition:color var(--dur-fast) var(--ease);}
.faq-q:hover{color:var(--green-deep);}
@media(prefers-reduced-motion:reduce){
  .js-motion [data-reveal]{
    opacity:1;
    transform:none;
    transition:none;
    transition-delay:0s;
  }
  .case-card:hover{transform:none;}
  .case-card:hover .case-media img{transform:none;}
  .nav-links a::after{transition:none;}
}