/* Motion-only layer. Deliberately excludes the hero, header and inner pages. */
.compact-home,.c-footer{--rv-ease:cubic-bezier(.22,1,.36,1);--rv-fast:320ms}
.compact-home .rv-title-line{display:block;clip-path:inset(-.14em -.08em -.2em)}
.compact-home .rv-title-line>span{display:block}
.compact-home .c-heading h2 em{background-image:linear-gradient(currentColor,currentColor);background-size:calc(var(--rv-accent,0) * 100%) 1px;background-position:left 96%;background-repeat:no-repeat}
.compact-home :is(.c-project,.c-process li,.c-service-list,.c-section-end),.c-footer-bottom{position:relative}
.compact-home :is(.c-section-end,.c-service-list)::after,.c-footer-bottom::after{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:currentColor;opacity:.35;transform:scaleX(var(--rv-line,0));transform-origin:left;transition:transform 900ms var(--rv-ease);pointer-events:none}
.c-footer-bottom::after{top:auto;bottom:0}
.compact-home .c-service-list::before{content:'';position:absolute;top:-1px;left:0;right:0;height:2px;background:#075a3b;transform:scaleX(var(--rv-service-progress,.1667));transform-origin:left;transition:transform 650ms var(--rv-ease);pointer-events:none}
.compact-home :is(.c-project,.c-process li)::after{content:'';position:absolute;inset:0;z-index:2;background:radial-gradient(260px circle at var(--rv-x,50%) var(--rv-y,50%),rgba(180,208,191,.13),transparent 72%);opacity:0;transition:opacity var(--rv-fast) var(--rv-ease);pointer-events:none}
.compact-home .c-project-image::after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(7,90,59,0);transition:box-shadow var(--rv-fast) var(--rv-ease);pointer-events:none}
.compact-home :is(.c-project-image,.c-process li,.c-button,.c-text-link,.c-zoom,.c-service summary),.c-footer :is(.c-text-link,.rv-film-control){transition:transform var(--rv-fast) var(--rv-ease),translate var(--rv-fast) var(--rv-ease),box-shadow var(--rv-fast) var(--rv-ease),border-color var(--rv-fast) var(--rv-ease),background-color var(--rv-fast) var(--rv-ease),color var(--rv-fast) var(--rv-ease)}
.compact-home :is(.c-image-arrow,.c-button svg,.c-button .arrow,.c-text-link svg,.c-plus){transition:transform var(--rv-fast) var(--rv-ease)}
.compact-home .c-project-image img{transition:transform 900ms var(--rv-ease)}
.compact-home .c-button{translate:var(--rv-mx,0px) var(--rv-my,0px)}
.compact-home :is(.c-solutions,.c-contact){position:relative;isolation:isolate}
.compact-home :is(.c-solutions,.c-contact)::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:var(--rv-tone,0);background:linear-gradient(135deg,rgba(14,80,52,.07),transparent 75%)}
.compact-home .c-contact::before{background:radial-gradient(ellipse at 75% 30%,rgba(64,131,89,.22),transparent 65%)}
.compact-home .c-contact-arrow{translate:0 var(--rv-parallax,0px)}
.compact-home .c-service-photos img{translate:0 var(--rv-parallax,0px)}
.compact-home .c-form-visual img{object-fit:contain;translate:0 var(--rv-parallax,0px)}
.compact-home .c-form-visual{background:transparent}
.compact-home .c-form-visual figure::after{content:none}
.compact-home .c-form :is(.t-form-status,.t-brief-email){color:#dbe7dd}
.c-footer .c-footer-signature{height:100vh;height:100dvh;border:0;box-shadow:none;background:transparent;contain:paint}
.c-footer .c-footer-signature::after{content:none}
.c-footer .c-footer-signature video{width:100%;height:100%;max-height:none;aspect-ratio:auto;filter:none;object-fit:cover;object-position:center;visibility:visible}
.c-footer .rv-film-control{position:absolute;right:16px;bottom:16px;z-index:3;width:44px;height:44px;border:0;border-radius:50%;background:rgba(4,16,10,.7);color:#fff;display:grid;place-items:center;cursor:pointer;font-size:15px}
@media(hover:hover) and (pointer:fine) and (min-width:801px) and (prefers-reduced-motion:no-preference){
  .compact-home .c-project-image:hover,.compact-home .c-project-image:focus-visible{transform:translateY(-6px);box-shadow:0 16px 30px #17302024}
  .compact-home .c-project-image:hover img,.compact-home .c-project-image:focus-visible img{transform:scale(1.04)}
  .compact-home .c-project-image:hover::after{box-shadow:inset 0 0 0 1px rgba(7,90,59,.5)}
  .compact-home :is(.c-project,.c-process li):hover::after{opacity:1}
  .compact-home .c-process li:hover{transform:translateY(-4px);border-color:#b2cabb}
  .compact-home .c-project:hover .c-image-arrow{transform:translate(3px,-3px)}
  .compact-home .c-button:hover svg,.compact-home .c-text-link:hover svg{transform:translate(2px,-2px)}
  .compact-home .c-button:hover{box-shadow:0 0 0 1px rgba(201,226,207,.3),0 8px 26px rgba(2,18,10,.16)}
  .c-footer .c-text-link:hover{transform:translateY(-2px)}
}
@media(max-width:800px),(pointer:coarse){.compact-home .c-button{translate:none}.compact-home :is(.c-service-photos img,.c-form-visual img,.c-contact-arrow){translate:none}}
@media(max-width:768px) and (orientation:portrait){
  .c-footer .c-footer-signature{height:100vh;height:100dvh;min-height:0}
  .c-footer .c-footer-signature video{transform:translateZ(0);backface-visibility:hidden}
  .c-footer .rv-film-control{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){
  .compact-home .rv-title-line{clip-path:none}
  .compact-home :is(.rv-title-line>span,.c-project,.c-project-image,.c-project-image img,.c-process li,.c-service-photos img,.c-form-visual img,.c-contact-arrow,.c-button,.c-text-link,.c-plus,.c-service-list::before),.c-footer .c-text-link{animation:none!important;transition:none!important;translate:none!important}
  .compact-home .c-heading h2 em{background-size:100% 1px}
  .c-footer .c-footer-signature{background:#020806 url('assets/rossi-brand-signature-poster.webp') center/cover no-repeat;aspect-ratio:auto}
  .c-footer .c-footer-signature video{visibility:hidden}
}
@media(prefers-reduced-motion:reduce) and (max-width:768px) and (orientation:portrait){.c-footer .c-footer-signature{background-image:url('assets/rossi-brand-signature-mobile.webp')}}

/* Keep the closing film full-bleed after every optional motion rule. */
.c-footer{
  position:relative;
  isolation:isolate;
  width:100%;
  height:100vh;
  height:100svh;
  height:100dvh;
  min-height:100svh;
  overflow:hidden;
  padding:0;
  background:#020806;
}
.c-footer .c-footer-signature{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  min-height:0;
  margin:0;
}
.c-footer .c-footer-signature video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:cover;
  object-position:center;
}
.c-footer .c-footer-bottom{
  position:absolute;
  z-index:3;
  left:var(--pad);
  right:var(--pad);
  bottom:max(20px,env(safe-area-inset-bottom));
  margin:0;
}
.c-footer .rv-film-control{
  top:max(18px,env(safe-area-inset-top));
  right:max(18px,env(safe-area-inset-right));
  bottom:auto;
}
@media(max-width:768px){
  .c-footer{
    height:100vh;
    height:100svh;
    height:100dvh;
    min-height:100svh;
  }
  .c-footer .c-footer-bottom{left:18px;right:18px}
}

/* No retrato, preservar todo o filme horizontal e a assinatura legível. */
@media(max-width:768px){
  .c-footer .c-footer-signature{
    background:#020806 url('assets/rossi-brand-signature-poster.webp') center/86% auto no-repeat;
  }
  .c-footer .c-footer-signature video{
    left:7%;
    right:auto;
    width:86%;
    height:100%;
    object-fit:contain;
    object-position:center;
    transform:none;
    background:transparent;
  }
}
@media(prefers-reduced-motion:reduce) and (max-width:768px){
  .c-footer .c-footer-signature{
    background-image:url('assets/rossi-brand-signature-poster.webp');
    background-size:86% auto;
  }
}

/* Em telas pequenas, encerrar a página após a seção de contato. */
@media(max-width:768px){
  .c-footer{display:none!important}
}
