:root{--ink:#1c1a17;--paper:#f7f5f2;--tint:#efede9;--line:#dcd8d2;--muted:#746f68;--white:#fff;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:15px;line-height:1.7}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Playfair Display",serif;font-weight:500;line-height:1.03;letter-spacing:-.025em}h1{font-size:clamp(3rem,5.2vw,5.8rem);max-width:820px;margin-bottom:28px}h2{font-size:clamp(2.2rem,3.8vw,4.25rem);max-width:790px;margin-bottom:24px}h3{font-family:"Playfair Display",serif;font-size:1.18rem;line-height:1.25;margin-bottom:10px}.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.site-header{height:76px;display:flex;align-items:center;gap:38px;padding:0 max(24px,calc((100% - var(--max))/2));background:var(--paper);position:relative;z-index:5}.brand{margin-right:auto}.brand img{width:150px;height:62px;object-fit:contain}.site-header nav{display:flex;gap:30px;font-size:.78rem}.site-header nav a{color:var(--muted)}.site-header nav a:hover{color:var(--ink)}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 25px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:0;font-size:.82rem;font-weight:600;cursor:pointer;transition:.2s}.button:hover{background:#38342f;transform:translateY(-1px)}.button--small{min-height:40px;padding:9px 18px;font-size:.74rem}.button--ghost{background:transparent;color:var(--ink);border-color:var(--line)}.button--light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button--light-outline{background:transparent;color:var(--paper);border-color:#4d4943}.hero{border-top:1px solid var(--line)}.hero__content{display:grid;grid-template-columns:1.08fr .92fr;min-height:720px;width:100%;max-width:none}.hero__copy{padding:90px max(40px,calc((100vw - var(--max))/2)) 90px max(24px,calc((100vw - var(--max))/2));align-self:center}.hero__copy .lead{max-width:700px}.hero__copy>p:not(.eyebrow){max-width:630px}.hero__image{background:url("../images/v1_35.webp") center/cover no-repeat;min-height:620px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:#8a837b;font-size:.67rem;font-weight:600;margin-bottom:22px}.lead{color:var(--muted);font-size:1.05rem;line-height:1.7}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.trust-bar{display:flex;justify-content:center;gap:45px;padding:19px 24px;border-block:1px solid var(--line);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.trust-bar span+span:before{content:"·";margin-right:45px}.section{padding:120px 0}.section--tint{background:var(--tint)}.section--dark{background:var(--ink);color:var(--paper)}.section--dark .eyebrow,.section--dark p{color:#aaa39a}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:clamp(60px,10vw,150px);align-items:center}.align-start{align-items:start}.section-heading{margin-bottom:54px}.section-heading>p:last-child{max-width:690px;color:var(--muted)}.stack-card{background:var(--tint);padding:42px 48px}.numbered-list article{position:relative;padding:0 0 26px 44px}.numbered-list article:not(:last-child){margin-bottom:28px;border-bottom:1px solid var(--line)}.numbered-list article:last-child{padding-bottom:0}.numbered-list article>span{position:absolute;left:0;top:3px;font-size:.7rem;color:#918a81}.numbered-list p{font-size:.83rem;color:var(--muted);margin-bottom:0}.compact article{margin-bottom:21px!important;padding-bottom:21px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-bottom:48px;border-top:1px solid #36332f}.feature-grid article{min-height:210px;padding:32px 28px;border-right:1px solid #36332f;border-bottom:1px solid #36332f}.feature-grid article:nth-child(3n){border-right:0}.feature-grid span{font-size:.7rem;color:#777069}.feature-grid h3{margin-top:36px}.feature-grid p{font-size:.8rem;margin:0}.filters{display:flex;gap:12px;flex-wrap:wrap;margin:-18px 0 28px}.filters button{background:transparent;border:0;border-bottom:1px solid transparent;padding:8px 0;margin-right:25px;color:var(--muted);font-size:.76rem;cursor:pointer}.filters button.active{color:var(--ink);border-color:var(--ink)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:34px}.portfolio-grid article{background:var(--paper);border:1px solid var(--line);transition:.25s}.portfolio-grid article.hidden{display:none}.portfolio-grid img{width:100%;height:240px;object-fit:cover}.portfolio-grid article div{padding:22px}.portfolio-grid small{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.6rem}.portfolio-grid h3{margin:9px 0}.portfolio-grid p{font-size:.8rem;color:var(--muted);margin:0}.partner-grid{display:grid;grid-template-columns:repeat(2,1fr);background:var(--tint);margin:0 0 32px}.partner-grid article{padding:34px 42px 34px 78px;margin:0!important;border:1px solid var(--paper)!important}.partner-grid article>span{left:34px;top:38px}.process{list-style:none;padding:0;margin:0 0 40px;max-width:900px}.process li{display:grid;grid-template-columns:72px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid var(--line)}.process li>span{width:42px;height:42px;display:grid;place-items:center;border:1px solid #aaa49d;border-radius:50%;font-size:.7rem}.process h3{margin:0 0 5px}.process p{color:var(--muted);font-size:.85rem;margin:0}.check-list{list-style:none;padding:0;margin:36px 0}.check-list li{padding:18px 0 18px 28px;border-bottom:1px solid var(--line);position:relative}.check-list li:before{content:"+";position:absolute;left:0;color:#8b857d}.contact-card{background:var(--tint);padding:42px 46px;display:grid;gap:16px}.contact-card h3{font-size:1.5rem;margin-bottom:4px}.contact-card label{display:grid;gap:6px;color:var(--muted);font-size:.7rem}.contact-card input,.contact-card select{width:100%;height:45px;border:1px solid transparent;background:var(--white);padding:9px 12px;color:var(--ink);outline:none}.contact-card input:focus,.contact-card select:focus{border-color:#948d84}.contact-card .button{width:100%;margin-top:8px}.form-message{margin:0;text-align:center;font-size:.8rem;color:var(--muted)}.testimonials{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}blockquote{margin:0;padding:42px 35px;border-right:1px solid var(--line);font-family:"Playfair Display",serif;font-size:1.05rem;line-height:1.55}blockquote:last-child{border:0}blockquote:before{content:"“";display:block;font-size:3rem;color:#aaa39a;line-height:.5;margin-bottom:24px}cite{display:block;margin-top:24px;font-family:"DM Sans",sans-serif;font-size:.65rem;font-style:normal;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.final-cta{padding:120px 0;background:var(--ink);color:var(--paper);text-align:center}.final-cta h2{max-width:760px;margin-inline:auto}.final-cta p:not(.eyebrow){color:#aaa39a}.final-cta .actions{justify-content:center}footer{background:var(--ink);color:#7f7971;border-top:1px solid #34312d;padding:30px 0;font-size:.68rem}footer .container{display:flex;align-items:center;justify-content:space-between;gap:24px}footer img{width:105px;filter:invert(1);opacity:.65}
@media(max-width:900px){.site-header nav{display:none}.hero__content{grid-template-columns:1fr}.hero__copy{padding-block:70px}.hero__image{min-height:440px}.split{grid-template-columns:1fr;gap:50px}.feature-grid{grid-template-columns:repeat(2,1fr)}.feature-grid article:nth-child(3n){border-right:1px solid #36332f}.feature-grid article:nth-child(2n){border-right:0}.portfolio-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){body{font-size:14px}.container{width:min(100% - 32px,var(--max))}.site-header{height:68px;padding-inline:16px}.brand img{width:120px}.site-header>.button{font-size:0;width:43px;padding:0}.site-header>.button:after{content:"Falar";font-size:.7rem}.hero__content{min-height:0}.hero__copy{padding:62px 16px}.hero__image{min-height:360px}.trust-bar{justify-content:flex-start;overflow:hidden;white-space:nowrap;gap:26px}.trust-bar span+span:before{margin-right:26px}.section{padding:78px 0}.stack-card{padding:32px 26px}.feature-grid,.portfolio-grid,.partner-grid,.testimonials{grid-template-columns:1fr}.feature-grid article,.feature-grid article:nth-child(3n){border-right:0;min-height:180px}.portfolio-grid img{height:230px}.partner-grid article{padding-left:65px}.testimonials blockquote{border-right:0;border-bottom:1px solid var(--line)}.process li{grid-template-columns:48px 1fr;gap:16px}.process li>span{width:38px;height:38px}.contact-card{padding:30px 24px}.actions{flex-direction:column;align-items:stretch}.actions .button{width:100%}footer .container{flex-direction:column;text-align:center}.final-cta{padding:90px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Hero refinada conforme a proporção do layout de referência */
@media(min-width:901px){
  .site-header{height:64px;padding-inline:max(28px,calc((100% - 1320px)/2));gap:34px}
  .brand img{width:118px;height:44px}
  .site-header nav{gap:28px;font-size:.7rem}
  .site-header .button--small{min-height:36px;padding:8px 20px;font-size:.68rem}
  .hero__content{grid-template-columns:1fr 1fr;min-height:570px}
  .hero__copy{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:48px clamp(54px,7.5vw,120px)}
  .hero__copy h1{max-width:530px;margin-bottom:22px;font-size:clamp(3.15rem,3.65vw,3.8rem);line-height:1.04}
  .hero__copy .eyebrow{display:none}
  .hero__copy .lead{max-width:540px;margin-bottom:16px;font-size:.92rem;line-height:1.65}
  .hero__copy>p:not(.eyebrow):not(.lead){max-width:520px;margin-bottom:0;font-size:.78rem;line-height:1.65}
  .hero__copy .actions{margin-top:25px;gap:12px}
  .hero__copy .button{min-height:40px;padding:9px 20px;font-size:.68rem}
  .hero__image{min-height:570px;background-position:center}
}

/* Hero panorâmica: composição inspirada na referência, mantendo a identidade atual. */
.hero{
  position:relative;
  padding-bottom:48px;
  border-top:1px solid var(--line);
  background:var(--paper);
}
.hero__content{
  position:relative;
  display:block;
  width:100%;
  max-width:none;
  min-height:clamp(560px,39vw,750px);
  background-image:url("../images/bg-hero.webp");
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  overflow:hidden;
}
.hero__content::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,
    rgba(247,245,242,.99) 0%,
    rgba(247,245,242,.96) 27%,
    rgba(247,245,242,.76) 40%,
    rgba(247,245,242,.16) 58%,
    rgba(247,245,242,0) 72%);
}
.hero__copy{
  position:relative;
  z-index:2;
  width:min(var(--max),calc(100% - 48px));
  min-height:clamp(560px,39vw,750px);
  margin-inline:auto;
  padding:70px 0 116px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}
.hero__copy h1{max-width:650px}
.hero__copy .lead{max-width:610px}
.hero__copy>p:not(.eyebrow):not(.lead){max-width:560px}
.hero__image{display:none}
.trust-bar{
  position:relative;
  z-index:3;
  display:block;
  width:min(1160px,calc(100% - 48px));
  margin:-94px auto 0;
  padding:0;
  color:var(--ink);
  background:var(--paper);
  border:1px solid rgba(28,26,23,.09);
  box-shadow:0 22px 50px rgba(28,26,23,.14);
}
.trust-bar__inner{
  width:100%;
  min-height:92px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:center;
  gap:0;
}
.trust-bar__inner span{
  min-height:92px;
  padding:18px 22px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  text-align:left;
  border-right:1px solid var(--line);
  color:var(--muted);
  font-size:.66rem;
  line-height:1.45;
  letter-spacing:.1em;
}
.trust-bar__inner span:last-child{border-right:0}
.trust-bar__inner span::before{
  content:"✓";
  flex:0 0 30px;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid #9a938a;
  border-radius:50%;
  color:var(--ink);
  font-size:.72rem;
  letter-spacing:0;
}
.trust-bar span+span::before{margin:0}

@media(max-width:900px){
  .hero{padding-bottom:38px}
  .hero__content{min-height:690px;background-position:63% center}
  .hero__content::before{background:linear-gradient(90deg,rgba(247,245,242,.98) 0%,rgba(247,245,242,.9) 58%,rgba(247,245,242,.42) 100%)}
  .hero__copy{width:min(var(--max),calc(100% - 48px));min-height:690px;padding:64px 0 130px}
  .trust-bar{width:min(760px,calc(100% - 48px));margin:-100px auto 0}
  .trust-bar__inner{grid-template-columns:repeat(2,1fr)}
  .trust-bar__inner span:nth-child(2){border-right:0}
  .trust-bar__inner span:nth-child(-n+2){border-bottom:1px solid var(--line)}
}

@media(max-width:600px){
  .hero{padding-bottom:30px}
  .hero__content{min-height:720px;background-position:68% center}
  .hero__content::before{background:linear-gradient(90deg,rgba(247,245,242,.98) 0%,rgba(247,245,242,.94) 72%,rgba(247,245,242,.66) 100%)}
  .hero__copy{width:min(var(--max),calc(100% - 32px));min-height:720px;padding:54px 0 178px}
  .hero__copy h1{font-size:clamp(2.55rem,12vw,3.5rem)}
  .trust-bar{width:calc(100% - 32px);margin:-156px auto 0}
  .trust-bar__inner{grid-template-columns:1fr 1fr}
  .trust-bar__inner span{min-height:76px;padding:12px 10px;gap:8px;font-size:.56rem}
  .trust-bar__inner span::before{flex-basis:25px;width:25px;height:25px}
}

@media(max-width:900px){
  .hero__copy h1{max-width:620px;font-size:clamp(2.8rem,8vw,4.5rem)}
}

footer img{width:150px;height:auto;filter:none;opacity:1}

/* Sistema de layout: container de 1280px e grade de 12 colunas */
:root{--max:1280px;--grid-gap:24px}

@media(min-width:901px){
  .site-header{padding-inline:max(24px,calc((100% - var(--max))/2))}
  .hero__content{width:min(var(--max),calc(100% - 48px));max-width:var(--max);grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap)}
  .hero__copy{grid-column:1 / span 6;padding:48px 0}
  .hero__image{grid-column:7 / span 6}
  .split{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gap)}
  .split> :first-child{grid-column:1 / span 5}
  .split> :last-child{grid-column:7 / span 6}
  .feature-grid,.portfolio-grid,.testimonials{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap)}
  .feature-grid article,.portfolio-grid article,.testimonials blockquote{grid-column:span 4}
  .feature-grid article:nth-child(3n){border-right:0}
  .partner-grid{grid-template-columns:repeat(12,minmax(0,1fr))}
  .partner-grid article{grid-column:span 6}
}

@media(max-width:900px){
  .hero__content{width:min(var(--max),calc(100% - 48px))}
  .feature-grid,.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feature-grid article,.portfolio-grid article,.testimonials blockquote,.partner-grid article{grid-column:auto}
}

@media(max-width:600px){
  .hero__content{width:min(var(--max),calc(100% - 32px))}
  .feature-grid,.portfolio-grid,.partner-grid,.testimonials{grid-template-columns:1fr}
}

/* Todas as faixas seguem o mesmo container e a mesma grade no desktop. */
@media(min-width:901px){
  .section>.container:not(.split),.final-cta>.container,footer .container,.trust-bar__inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap)}
  .section>.container:not(.split)>:not(.section-heading),.final-cta>.container>*{grid-column:1 / -1}
  .section>.container:not(.split)>.section-heading{grid-column:1 / span 8}
  .section>.container:not(.split)>.button{justify-self:start}
  .trust-bar{display:block;padding-inline:0}
  .trust-bar__inner{align-items:center;min-height:58px}
  .trust-bar__inner span{grid-column:span 3;text-align:center}
  .trust-bar span+span:before{content:none;margin:0}
  footer .container{align-items:center}
  footer .container>img{grid-column:span 3}
  footer .container>span{grid-column:span 6;text-align:center}
  footer .container>a{grid-column:span 3;justify-self:end}
}

/* Prioridade final da nova hero sobre as regras antigas da grade. */
@media(min-width:901px){
  .hero__content{
    display:block;
    width:100%;
    max-width:none;
    min-height:clamp(560px,39vw,750px);
    column-gap:0;
  }
  .hero__copy{
    width:min(var(--max),calc(100% - 48px));
    min-height:clamp(560px,39vw,750px);
    padding:70px 0 116px;
  }
  .hero__copy h1{
    max-width:540px;
    font-size:clamp(3rem,3.25vw,3.45rem);
    line-height:1.04;
    text-wrap:balance;
  }
  .hero__copy .lead{max-width:520px}
  .hero__copy>p:not(.eyebrow):not(.lead){max-width:500px}
  .hero__image{display:none}
  .trust-bar__inner{
    grid-template-columns:repeat(4,1fr);
    column-gap:0;
    min-height:92px;
  }
  .trust-bar__inner span{
    grid-column:span 1;
    min-height:92px;
    text-align:left;
  }
  .trust-bar .trust-bar__inner span::before{content:"✓";margin:0}
}

@media(min-width:901px){
  .hero__content::before{
    background:linear-gradient(90deg,
      rgba(247,245,242,1) 0%,
      rgba(247,245,242,.99) 30%,
      rgba(247,245,242,.96) 39%,
      rgba(247,245,242,.78) 48%,
      rgba(247,245,242,.32) 58%,
      rgba(247,245,242,0) 70%);
  }
}

@media(max-width:900px){
  .hero__content{display:block;width:100%;max-width:none}
}

@media(max-width:600px){
  .hero__content{width:100%;max-width:none}
}

/* Largura global de conteúdo solicitada. Fundos permanecem em largura total. */
:root{--max:1024px}
.trust-bar{width:min(1024px,calc(100% - 48px))}

@media(max-width:600px){
  .trust-bar{width:calc(100% - 32px)}
}

/* Bloco textual da hero com largura máxima de 450px. */
.hero__copy h1,
.hero__copy .lead,
.hero__copy>p:not(.eyebrow),
.hero__copy .actions{
  width:min(450px,100%);
  max-width:450px;
}

/* Textos da hero na mesma cor escura do título. */
.hero__copy .lead,
.hero__copy>p:not(.eyebrow){
  color:var(--ink);
}

/* Numeração das listas com maior destaque visual. */
.numbered-list article>span{
  font-size:1rem;
  font-weight:600;
  line-height:1;
}

/* Fundo fixo aplicado exclusivamente à seção "O que resolvemos". */
.section--resolved{
  position:relative;
  background-image:
    linear-gradient(rgba(28,26,23,.82),rgba(28,26,23,.82)),
    url("../images/o-que-resolvemos-fundo.webp");
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  background-attachment:fixed;
}
.section--resolved .feature-grid{
  background:rgba(28,26,23,.34);
  backdrop-filter:blur(2px);
}

/* Barra de qualificações centralizada na divisão entre hero e seção seguinte. */
@media(min-width:901px){
  .hero .trust-bar{margin:-46px auto 0}
}

@media(max-width:900px){
  .section--resolved{background-attachment:scroll}
}

/* Botão secundário da hero: contorno escuro e inversão no hover. */
.hero__copy .button--ghost{
  background:transparent;
  color:var(--ink);
  border-color:var(--ink);
}
.hero__copy .button--ghost:hover{
  background:var(--ink);
  color:var(--paper);
  border-color:var(--ink);
}

/* Imagem enviada cobrindo integralmente a seção, sem laterais borradas. */
.section--resolved{
  background-image:
    linear-gradient(rgba(28,26,23,.52),rgba(28,26,23,.52)),
    url("../images/bg-section-resolvemos.webp");
  background-size:cover;
  background-position:center;
}
.section--resolved .feature-grid{
  background:transparent;
  backdrop-filter:none;
}
.section--resolved .feature-grid article{
  background:rgba(28,26,23,.48);
  border-color:rgba(247,245,242,.18);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.section--resolved>.container>.button{
  background:rgba(28,26,23,.4);
  color:var(--paper);
  border-color:rgba(247,245,242,.5);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.section--resolved>.container>.button:hover{
  background:rgba(28,26,23,.88);
  color:var(--paper);
  border-color:var(--paper);
}

/* Soluções: introdução + espaço de imagem e cards em linha. */
.solutions-layout{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:64px 48px;
  align-items:stretch;
}
.section>.container.solutions-layout{
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:48px;
  row-gap:64px;
}
.section>.container.solutions-layout>.solutions-intro{grid-column:1}
.section>.container.solutions-layout>.solutions-media{grid-column:2}
.section>.container.solutions-layout>.solutions-cards{grid-column:1 / -1}
.solutions-intro{align-self:center}
.solutions-media{
  min-height:430px;
  margin:0;
  overflow:hidden;
  background:var(--tint);
  border:1px solid var(--line);
}
.solutions-media img{
  width:100%;
  height:100%;
  min-height:430px;
  object-fit:cover;
  object-position:center;
}
.solutions-cards{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.solutions-cards article{
  min-height:230px;
  margin:0!important;
  padding:58px 24px 26px!important;
  background:var(--tint);
  border:1px solid var(--line)!important;
}
.solutions-cards article>span{left:24px;top:25px}
.solutions-cards h3{font-size:1.08rem}

/* Contraste reforçado no fundo da seção "O que resolvemos". */
.section--resolved{
  background-image:
    linear-gradient(rgba(28,26,23,.7),rgba(28,26,23,.7)),
    url("../images/bg-section-resolvemos.webp");
}
.section--resolved .section-heading>p:last-child{color:var(--paper)}

/* Ícones lineares substituem as numerações nos blocos destacados. */
.item-icon{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  color:#817970;
}
.item-icon svg{
  width:22px;
  height:22px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.section--resolved .feature-grid .item-icon{color:#c9c2b9}
.feature-grid .item-icon+h3{margin-top:26px}

/* Crescimento suave dos cards de depoimentos no desktop. */
.testimonials blockquote{
  position:relative;
  z-index:0;
  background:var(--paper);
  transform:scale(1);
  transform-origin:center;
  transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;
}
@media(hover:hover) and (pointer:fine){
  .testimonials blockquote:hover{
    z-index:2;
    transform:scale(1.045);
    background:var(--white);
    box-shadow:0 18px 45px rgba(28,26,23,.14);
  }
}
@media(prefers-reduced-motion:reduce){
  .testimonials blockquote{transition:none}
}

@media(max-width:900px){
  .section>.container.solutions-layout{grid-template-columns:1fr;gap:38px}
  .section>.container.solutions-layout>.solutions-intro,
  .section>.container.solutions-layout>.solutions-media,
  .section>.container.solutions-layout>.solutions-cards{grid-column:1}
  .solutions-media{min-height:360px}
  .solutions-media img{min-height:360px}
  .solutions-cards{grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:600px){
  .solutions-media{min-height:280px}
  .solutions-media img{min-height:280px}
  .solutions-cards{grid-template-columns:1fr}
  .solutions-cards article{min-height:190px}
}

/* Depoimentos: somente divisórias verticais, sem linhas superior e inferior. */
.testimonials{border-block:0}

/* Etapas aparecem individualmente conforme entram na área visível. */
.process.process--reveal li{
  opacity:0;
  transform:translateY(34px);
  transition:opacity .55s ease var(--reveal-delay,0ms),transform .55s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms);
}
.process.process--reveal li.is-visible{
  opacity:1;
  transform:translateY(0);
}
@media(prefers-reduced-motion:reduce){
  .process.process--reveal li{opacity:1;transform:none;transition:none}
}

/* Mesmo efeito grow dos depoimentos nos cards de soluções e parceiros. */
.solutions-cards article,
.partner-grid article{
  position:relative;
  z-index:0;
  transform:scale(1);
  transform-origin:center;
  transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;
}
@media(hover:hover) and (pointer:fine){
  .solutions-cards article:hover,
  .partner-grid article:hover{
    z-index:3;
    transform:scale(1.045);
    background:var(--white);
    box-shadow:0 18px 45px rgba(28,26,23,.14);
  }
}
@media(prefers-reduced-motion:reduce){
  .solutions-cards article,
  .partner-grid article{transition:none}
}

/* Portfólio: imagem integral com conteúdo sobreposto e degradê inferior. */
.portfolio-grid article{
  position:relative;
  min-height:400px;
  overflow:hidden;
  isolation:isolate;
  background:var(--ink);
  border-color:rgba(28,26,23,.14);
}
.portfolio-grid article::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(to top,
    rgba(16,14,12,.94) 0%,
    rgba(16,14,12,.82) 28%,
    rgba(16,14,12,.48) 50%,
    rgba(16,14,12,.08) 72%,
    rgba(16,14,12,0) 100%);
}
.portfolio-grid img{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.portfolio-grid article div{
  position:absolute;
  inset:auto 0 0;
  z-index:2;
  padding:32px 28px;
  color:var(--paper);
}
.portfolio-grid small{color:rgba(247,245,242,.72)}
.portfolio-grid h3{color:var(--white);font-size:1.28rem}
.portfolio-grid p{color:rgba(247,245,242,.82)}

@media(max-width:600px){
  .portfolio-grid article{min-height:360px}
}

/* Acabamento leve do portfólio e filtros em caixa alta. */
.portfolio-grid article{
  border:0;
  box-shadow:0 10px 28px rgba(28,26,23,.11);
}
.filters button{
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:.68rem;
}

/* Correção dos ícones em tablets e celulares. */
@media(max-width:900px){
  .item-icon{
    display:grid!important;
    visibility:visible;
    opacity:1;
    width:28px;
    height:28px;
    min-width:28px;
  }
  .item-icon svg{width:26px;height:26px}
  .numbered-list article{padding-left:52px}
  .numbered-list article>.item-icon{left:0;top:1px}
  .solutions-cards article{padding:66px 24px 28px!important}
  .solutions-cards article>.item-icon{left:24px;top:25px}
  .partner-grid article{padding:32px 24px 32px 70px!important}
  .partner-grid article>.item-icon{left:26px;top:34px}
  .feature-grid .item-icon{position:relative;inset:auto}
}

@media(max-width:600px){
  .stack-card.numbered-list article{padding-left:48px}
  .stack-card.numbered-list article>.item-icon{left:0}
}

/* Mantém o check em todos os diferenciais da hero, inclusive no mobile. */
.trust-bar .trust-bar__inner span::before{
  content:"✓";
  margin:0;
}

/* Mobile: texto sem foto ao fundo e imagem abaixo da barra flutuante. */
@media(max-width:600px){
  .hero{padding-bottom:0;background:var(--paper)}
  .hero__content{
    background-image:none;
    background-color:var(--paper);
  }
  .hero__content::before{display:none}
  .hero::after{
    content:"";
    position:relative;
    z-index:1;
    display:block;
    width:100%;
    height:clamp(260px,72vw,340px);
    margin-top:-1px;
    background-image:
      linear-gradient(to bottom,
        rgba(247,245,242,1) 0%,
        rgba(247,245,242,.78) 13%,
        rgba(247,245,242,.32) 28%,
        rgba(247,245,242,0) 46%),
      url("../images/bg-hero.webp");
    background-size:cover;
    background-position:68% center;
    background-repeat:no-repeat;
  }
  .hero .trust-bar{position:relative;z-index:3}
}

/* Cabeçalho mobile com CTA completo e filtros mais legíveis. */
.filters button{font-weight:600}

@media(max-width:600px){
  .site-header{gap:10px}
  .brand img{width:104px}
  .site-header>.button{
    width:auto;
    min-width:0;
    padding:8px 11px;
    font-size:.62rem;
    white-space:nowrap;
  }
  .site-header>.button::after{content:none}
}

/* Botões claros mantêm as cores no hover; somente a elevação permanece. */
.button--light:hover{
  background:var(--paper);
  color:var(--ink);
  border-color:var(--paper);
}

/* Página de confirmação do formulário. */
.thank-you-page{min-height:100vh;background:var(--tint)}
.thank-you{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:32px 20px;
  background:
    linear-gradient(rgba(247,245,242,.9),rgba(247,245,242,.94)),
    url("../images/bg-hero.webp") center/cover no-repeat;
}
.thank-you__card{
  width:min(620px,100%);
  padding:58px 54px;
  text-align:center;
  background:rgba(247,245,242,.94);
  border:1px solid rgba(28,26,23,.1);
  box-shadow:0 24px 70px rgba(28,26,23,.14);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.thank-you__card>img{width:145px;margin:0 auto 38px}
.thank-you__icon{
  width:54px;
  height:54px;
  margin:0 auto 26px;
  display:grid;
  place-items:center;
  border:1px solid #918a81;
  border-radius:50%;
  font-size:1.15rem;
}
.thank-you__card h1{margin-bottom:22px;font-size:clamp(2.7rem,7vw,4.4rem)}
.thank-you__card>p:not(.eyebrow){max-width:480px;margin:0 auto 32px;color:var(--muted)}

@media(max-width:600px){
  .thank-you__card{padding:42px 24px}
  .thank-you__card>img{width:125px;margin-bottom:30px}
}

/* Hierarquia tipográfica: todos os títulos de seção menores que a hero. */
.section h2,
.final-cta h2{
  font-size:clamp(2rem,3vw,2.85rem);
  line-height:1.08;
}

@media(max-width:600px){
  .section h2,
  .final-cta h2{
    font-size:clamp(1.9rem,8vw,2.35rem);
  }
}

/* Animações de entrada suaves, sem alterar o layout dos elementos. */
.motion-reveal{
  opacity:0;
  translate:0 24px;
  transition:
    opacity .62s ease var(--motion-delay,0ms),
    translate .72s cubic-bezier(.22,1,.36,1) var(--motion-delay,0ms);
  will-change:opacity,translate;
}
.motion-reveal.is-visible{
  opacity:1;
  translate:0 0;
  will-change:auto;
}
.hero__image.motion-reveal,
.solutions-media.motion-reveal{
  translate:0 16px;
}
.hero__image.motion-reveal.is-visible,
.solutions-media.motion-reveal.is-visible{
  translate:0 0;
}

@media(max-width:600px){
  .motion-reveal{translate:0 16px}
  .motion-reveal.is-visible{translate:0 0}
}

@media(prefers-reduced-motion:reduce){
  .motion-reveal,
  .motion-reveal.is-visible{
    opacity:1;
    translate:none;
    transition:none;
  }
}


/* Formulário dividido em etapas, mantendo o padrão visual do site. */
.contact-card .form-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}
.contact-card .form-heading h3{margin-bottom:0}
.form-step-counter{
  margin:3px 0 0;
  color:var(--muted);
  font-size:.66rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  white-space:nowrap;
}
.form-progress{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
  margin:0 0 4px;
}
.form-progress span{
  display:block;
  height:2px;
  background:#d6d1ca;
  transition:background-color .25s ease;
}
.form-progress span.is-active{background:var(--ink)}
.form-step{display:none;gap:16px}
.form-step.is-active{
  display:grid;
  animation:form-step-in .3s ease both;
}
.form-step-title{
  margin:0 0 2px;
  color:var(--ink);
  font-family:"Playfair Display",serif;
  font-size:1rem;
  line-height:1.3;
}
.form-navigation{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:10px;
  margin-top:6px;
}
.form-navigation--single{grid-template-columns:1fr}
.contact-card .form-navigation .button{
  width:100%;
  margin-top:0;
}
.button--form-ghost{
  background:transparent;
  color:var(--ink);
  border-color:#c9c3bb;
}
.button--form-ghost:hover{
  background:#e7e3de;
  color:var(--ink);
}
@keyframes form-step-in{
  from{opacity:0;transform:translateX(10px)}
  to{opacity:1;transform:translateX(0)}
}
@media(max-width:600px){
  .contact-card .form-heading{gap:12px}
  .form-navigation{grid-template-columns:.7fr 1.3fr}
  .contact-card .form-navigation .button{padding-inline:12px}
}
@media(prefers-reduced-motion:reduce){
  .form-step.is-active{animation:none}
  .form-progress span{transition:none}
}
