.hero{height:max(2200px,250svh)}
.hero-panel{background:var(--ink)}
.hero-panel img{transform:scale(1);transition:opacity 1.2s ease,transform 5.5s linear}
.hero-panel img.active{transform:scale(1.045)}
.home header{backdrop-filter:blur(16px);background:#20212415}
.scroll-cue{animation:scroll-bounce 1.8s ease-in-out infinite}
@keyframes scroll-bounce{0%,100%{translate:0 0}50%{translate:0 14px}}
.motion-enabled .reveal{transition-delay:var(--reveal-delay,0ms)}
.animated-heading .word-clip{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.1em;margin-bottom:-.1em}
.animated-heading .word-clip>span{display:inline-block;transform:translateY(115%);transition:transform 1s cubic-bezier(.22,1,.36,1);transition-delay:var(--delay,0ms)}
.animated-heading.visible .word-clip>span{transform:translateY(0)}
.js-motion .animated-heading{transform:none;opacity:1}
.project-card .image-wrap{isolation:isolate}
.project-card img{transform:translateY(var(--parallax,0%)) scale(1.12);transition:filter .5s,scale .7s;will-change:transform}
.project-card:hover img{transform:translateY(var(--parallax,0%)) scale(1.12);scale:1.035}
.service{position:relative;border-top:0}
.service:before{position:absolute;content:'';left:0;right:0;top:0;height:1px;background:#ffffff90;transform:scaleX(var(--line-progress,0));transform-origin:left}
.cta{display:block;min-height:720px;background:var(--ink);padding-top:40px}
.cta-content{padding:55px 20px 75px}
.cta-content h2{font-size:clamp(40px,5.6vw,90px)}
.image-ribbon{width:110%;margin-left:-5%;overflow:hidden;transform:rotate(-3deg);padding:20px 0 45px}
.ribbon-track{display:flex;width:max-content;animation:ribbon-scroll 45s linear infinite}
.ribbon-group{display:flex;flex-shrink:0;gap:24px;padding-right:24px}
.ribbon-group img{width:300px;height:215px;flex-shrink:0;object-fit:cover;border-radius:3px}
@keyframes ribbon-scroll{to{transform:translateX(-50%)}}
.cursor.dot{width:10px;height:10px;border:0;border-radius:50%;background:white;padding:0}
.motion-control{opacity:.7;transition:opacity .2s}
.motion-control:hover,.motion-control:focus-visible{opacity:1}
.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important;transition:none!important;scroll-behavior:auto!important}
.motion-paused .reveal{opacity:1;transform:none}
.motion-paused .word-clip>span{transform:none}
.motion-paused .cursor{display:none}
@media(min-width:810px){
  #sobre{position:relative;isolation:isolate;padding-top:80px;padding-bottom:80px}
  .about-copy{position:sticky;top:80px;z-index:2;pointer-events:none;align-items:start}
  .about-copy .prose{pointer-events:auto}
  .about-images{display:flex;flex-direction:column;align-items:flex-start;gap:80px;margin-top:0;position:relative;z-index:1;width:42%;padding-top:80px}
  .about-images img{width:min(100%,500px);height:auto;aspect-ratio:2/3;object-fit:cover;will-change:transform}
  .about-images img:nth-child(2){height:auto;margin:0 0 0 auto;width:78%}
  .about-images img:nth-child(3){height:auto;margin:0;width:90%}
  .services{position:relative}
  .services>h2{position:sticky;top:80px;text-align:center;margin-bottom:100px;z-index:0}
  .service{position:relative;background:var(--ink);padding:40px 0;min-height:240px;z-index:1}
  .service p{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:none}
  .service p span{margin-top:0}
  .service{grid-template-columns:1fr 1.5fr}
}
@media(max-width:809px){
  .hero{height:220svh;min-height:1300px}
  .hero-copy{padding-top:14vh}
  .about-images{overflow:hidden}
  .image-ribbon{transform:rotate(-4deg)}
  .ribbon-group{gap:15px;padding-right:15px}
  .ribbon-group img{width:210px;height:160px}
  .cta{min-height:560px}
  .motion-control{font-size:10px;padding:8px 11px}
}
@media(min-width:810px) and (max-width:1439px){.about-images{width:29%}}
