header{
  position:sticky;
  top:0;
  z-index:50;
  transition:background-color .35s ease,box-shadow .35s ease,padding .35s ease;
}

header.is-scrolled{
  background:rgba(250,248,245,.9);
  box-shadow:0 10px 35px rgba(48,43,45,.08);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}

.motion-ready .hero-copy>*{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1);
}

.motion-ready.page-loaded .hero-copy>*{opacity:1;transform:none}
.motion-ready.page-loaded .hero-copy>*:nth-child(2){transition-delay:.08s}
.motion-ready.page-loaded .hero-copy>*:nth-child(3){transition-delay:.16s}
.motion-ready.page-loaded .hero-copy>*:nth-child(4){transition-delay:.24s}
.motion-ready.page-loaded .hero-copy>*:nth-child(5){transition-delay:.3s}

.hero-visual{overflow:visible}
.hero-visual img{
  transform:translateY(var(--parallax-y,0)) scale(1.045);
  transition:transform .2s linear;
  will-change:transform;
}

.motion-ready .hero-visual{
  opacity:0;
  transform:translateY(28px) scale(.98);
  transition:opacity .9s .12s cubic-bezier(.22,1,.36,1),transform .9s .12s cubic-bezier(.22,1,.36,1);
}

.motion-ready.page-loaded .hero-visual{opacity:1;transform:none}

.image-note{animation:ecoFloat 5s ease-in-out infinite}
.testimonial-swipe-hint{display:none}

.motion-ready .reveal{
  opacity:0;
  transform:translateY(34px);
  transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);
  transition-delay:var(--reveal-delay,0ms);
}

.motion-ready .reveal.is-visible{opacity:1;transform:none}

.steps article,.deliverables article,.testimonial-grid blockquote,.plan{
  transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease,border-color .4s ease,background-color .4s ease;
}

@media (hover:hover) and (pointer:fine){
  .motion-ready .steps article.reveal.is-visible:hover{transform:translateY(-7px)}
  .motion-ready .deliverables article.reveal.is-visible:hover{transform:translateX(8px);border-color:#b993a0}
  .motion-ready .testimonial-grid blockquote.reveal.is-visible:hover{
    transform:translateY(-9px) rotate(-.35deg);
    border-color:#c8a9b3;
    box-shadow:0 22px 45px rgba(85,36,53,.1);
  }
  .motion-ready .testimonial-grid blockquote.reveal.is-visible:nth-child(even):hover{transform:translateY(-9px) rotate(.35deg)}
  .motion-ready .plan.reveal.is-visible:hover{
    transform:translateY(-10px);
    box-shadow:0 26px 55px rgba(85,36,53,.12);
    border-color:#b88c9b;
  }
  .button:hover .arrow-icon,.plan-link:hover .arrow-icon,.text-link:hover .arrow-icon{transform:translate(3px,-3px)}
}

.arrow-icon{transition:transform .35s cubic-bezier(.22,1,.36,1)}

summary:after{transition:transform .35s ease}
details[open] summary:after{transform:rotate(180deg)}
details p{animation:faqIn .4s cubic-bezier(.22,1,.36,1)}

@keyframes ecoFloat{
  0%,100%{transform:translateY(0) rotate(-.35deg)}
  50%{transform:translateY(-8px) rotate(.35deg)}
}

@keyframes faqIn{
  from{opacity:0;transform:translateY(-7px)}
  to{opacity:1;transform:none}
}

@keyframes swipeCue{
  0%,100%{transform:translateX(0)}
  50%{transform:translateX(5px)}
}

@media(max-width:650px){
  header.is-scrolled{padding-top:15px;padding-bottom:15px}
  .motion-ready .reveal{transform:translateY(22px)}
  .hero-visual img{transform:scale(1.025)}
  .image-note{animation-duration:6s}
  .testimonial-swipe-hint{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin:24px 0 8px;
    color:var(--wine);
    font-size:12px;
    font-weight:600;
    letter-spacing:.15px;
  }
  .testimonial-swipe-hint svg{
    width:18px;
    height:18px;
    flex:0 0 18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    animation:swipeCue 1.35s ease-in-out infinite;
  }
  .testimonial-grid{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    margin-left:-24px;
    margin-right:-24px;
    padding:4px 24px 22px;
  }
  .testimonial-grid::-webkit-scrollbar{display:none}
  .testimonial-grid blockquote{
    flex:0 0 84vw;
    width:84vw;
    min-width:84vw;
    max-width:none;
    scroll-snap-align:center;
  }
  .testimonials .center h2 br{display:block}
  .testimonials .center h2 em{
    display:block;
    white-space:nowrap;
    font-size:clamp(30px,9vw,35px);
  }
  .plans .center h2 br{display:block}
  .plans .center h2 em{
    display:block;
    white-space:nowrap;
    font-size:clamp(25px,8vw,31px);
  }
}

@media(prefers-reduced-motion:reduce){
  header,.hero-copy>*,.hero-visual,.hero-visual img,.reveal,.steps article,.deliverables article,.testimonial-grid blockquote,.plan,.arrow-icon,summary:after,.testimonial-swipe-hint svg{
    animation:none!important;
    transition:none!important;
    transform:none!important;
  }
  .motion-ready .hero-copy>*,.motion-ready .hero-visual,.motion-ready .reveal{opacity:1!important}
}

/* Paleta laranja com acentos complementares em verde-petróleo. */
:root{
  --wine:#b84a1b;
  --ink:#2e2926;
  --muted:#70655f;
  --paper:#fff9f4;
  --line:#e7d7ca;
  --blush:#f7e7da;
}

a:focus-visible,summary:focus-visible{outline-color:#2f6663}
.button:hover{background:#963a15}
.image-note{box-shadow:0 10px 35px rgba(58,28,12,.09)}
.principles span+span:before{color:#f4b98f}
.steps article{border-color:#ddb99f}
.number,.deliverables article>span{color:#2f6663}
.plans{background:#f3e8df}
.plan{border-color:#e2cdbe}
.featured .plan-desc{color:#f7d8c2}
.featured .plan ul{border-color:#d4784e}
.closing em{color:#ffd7bd}
.featured .plan-link:hover{background:#f8e8dd}

header.is-scrolled{
  background:rgba(255,249,244,.92);
  box-shadow:0 10px 35px rgba(46,41,38,.08);
}

@media (hover:hover) and (pointer:fine){
  .motion-ready .deliverables article.reveal.is-visible:hover{border-color:#9abcb8}
  .motion-ready .testimonial-grid blockquote.reveal.is-visible:hover{
    border-color:#e1a27d;
    box-shadow:0 22px 45px rgba(184,74,27,.11);
  }
  .motion-ready .plan.reveal.is-visible:hover{
    box-shadow:0 26px 55px rgba(184,74,27,.13);
    border-color:#d68a61;
  }
}
