/* =========================================================================
   Pamela Otero  ·  Metodo Otero
   Persona visual A - Editorial Premium
   Identidade de cor extraida por amostragem de pixel da logo do cliente.
   ========================================================================= */

:root{
  /* paleta do cliente (origem: logo.png) */
  --bronze:#6E5F3E;
  --bronze-claro:#8A7855;
  --bronze-palido:#B9A886;
  --rose:#C4757C;
  --rose-forte:#A84F58;
  --vinho:#6E2A2E;
  --salvia:#6F7146;
  --salvia-escura:#57592F;
  --creme:#EFE3D2;
  --creme-fundo:#F2EADC;
  --superficie:#F7F1E7;
  --escuro:#14130F;
  --marfim:#F6EFE4;
  --texto:#231F19;
  --texto-suave:#6B6153;
  --linha:rgba(35,31,25,.15);
  --linha-forte:rgba(35,31,25,.26);
  --linha-clara:rgba(246,239,228,.20);

  /* tipografia */
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;

  /* metrica */
  --gutter:clamp(1.25rem,5vw,4rem);
  --largura:1220px;
  --secao:clamp(4rem,6.4vw,5.6rem);
  --raio:2px;
  --sombra:0 18px 48px -30px rgba(35,31,25,.45);

  /* textura de grao editorial, gerada inline (sem binario) */
  --grao:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='.42'/%3E%3C/svg%3E");
}

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{overflow-x:clip}

body{
  margin:0;
  background:var(--superficie);
  color:var(--texto);
  font-family:var(--sans);
  font-size:1.02rem;
  line-height:1.75;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit}

:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}

h1,h2,h3,h4{
  font-family:var(--serif);
  font-weight:300;
  color:var(--texto);
  margin:0;
  line-height:1.08;
  letter-spacing:-.012em;
}
h3,h4{font-weight:500;letter-spacing:0}
p{margin:0}

/* ---------- utilitarios ---------- */

.wrap{width:min(100% - var(--gutter) * 2,var(--largura));margin-inline:auto}
.wrap--estreito{width:min(100% - var(--gutter) * 2,860px);margin-inline:auto}

.secao{padding-block:var(--secao);position:relative}
section[id]{scroll-margin-top:96px}

.pular{
  position:absolute;left:-9999px;top:0;z-index:2000;
  background:var(--escuro);color:var(--marfim);padding:.9rem 1.4rem;font-size:.85rem;
}
.pular:focus{left:1rem;top:1rem}

.rotulo{
  display:inline-flex;flex-direction:column;align-items:flex-start;gap:.6rem;
  font-family:var(--sans);font-size:.7rem;font-weight:600;
  letter-spacing:.26em;text-transform:uppercase;color:var(--bronze);
  margin-bottom:1.5rem;
}
.rotulo::after{content:'';width:26px;height:2px;background:var(--bronze-palido)}
.rotulo--claro{color:var(--bronze-palido)}
.rotulo--claro::after{background:rgba(185,168,134,.55)}

.titulo{font-size:clamp(2.05rem,3.9vw,3.15rem)}
.titulo em{font-style:italic;color:var(--rose-forte)}
.titulo--claro,.titulo--claro em{color:var(--marfim)}
.titulo--claro em{color:var(--creme);font-style:italic}

.lead{font-size:clamp(1.04rem,1.35vw,1.14rem);line-height:1.8;color:var(--texto-suave);max-width:56ch}
.corpo{color:var(--texto-suave);max-width:62ch}
.corpo + .corpo{margin-top:1.1rem}

/* divisor editorial: filete que esmaece nas pontas com no central */
.divisor{
  position:relative;height:1px;width:min(100% - var(--gutter) * 2,var(--largura));
  margin-inline:auto;
  background:linear-gradient(90deg,transparent 0%,var(--linha) 16%,var(--linha) 84%,transparent 100%);
}
.divisor::after{
  content:'';position:absolute;left:50%;top:50%;width:6px;height:6px;
  transform:translate(-50%,-50%) rotate(45deg);
  background:var(--bronze-palido);
}

/* divisor com o brasao do cliente como no central: o filete abre um vao no meio,
   em vez de o brasao carregar um retangulo de fundo por cima da linha */
.divisor--selo{
  background:linear-gradient(90deg,
    transparent 0%,var(--linha) 16%,var(--linha) 41%,
    transparent 45%,transparent 55%,
    var(--linha) 59%,var(--linha) 84%,transparent 100%);
}
.divisor--selo::after{display:none}
.divisor--selo img{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:116px;height:auto;
}

/* botoes */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  min-height:52px;padding:.9rem 1.9rem;
  font-family:var(--sans);font-size:.76rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;
  border:1px solid transparent;border-radius:var(--raio);cursor:pointer;
  transition:background .28s ease,color .28s ease,border-color .28s ease,transform .28s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn svg{flex:0 0 auto}

.btn--solido{background:var(--bronze);color:var(--marfim);border-color:var(--bronze)}
.btn--solido:hover{background:var(--escuro);border-color:var(--escuro)}

.btn--fantasma{background:transparent;color:var(--marfim);border-color:rgba(246,239,228,.55)}
.btn--fantasma:hover{background:var(--marfim);color:var(--escuro);border-color:var(--marfim)}

.btn--claro{background:var(--marfim);color:var(--escuro);border-color:var(--marfim)}
.btn--claro:hover{background:transparent;color:var(--marfim);border-color:rgba(246,239,228,.6)}

.btn--contorno{background:transparent;color:var(--bronze);border-color:var(--linha-forte)}
.btn--contorno:hover{background:var(--bronze);color:var(--marfim);border-color:var(--bronze)}

.link-filete{
  display:inline-flex;align-items:center;gap:.55rem;min-height:44px;
  font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze);
  border-bottom:1px solid var(--linha-forte);transition:color .25s ease,border-color .25s ease;
}
.link-filete:hover{color:var(--vinho);border-color:var(--vinho)}
.link-filete--claro{color:var(--marfim);border-bottom-color:rgba(246,239,228,.45)}
.link-filete--claro:hover{color:var(--creme);border-bottom-color:var(--creme)}

/* camada decorativa */
.decor{position:absolute;pointer-events:none;user-select:none;z-index:0}
.decor img{width:100%;height:auto}
.textura::before{
  content:'';position:absolute;inset:0;background-image:var(--grao);
  opacity:.5;mix-blend-mode:multiply;pointer-events:none;z-index:0;
}
.secao > .wrap,.secao > .wrap--estreito{position:relative;z-index:1}

/* =========================================================================
   CABECALHO
   ========================================================================= */

.cabecalho{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  transition:background .38s ease,box-shadow .38s ease,border-color .38s ease;
  border-bottom:1px solid transparent;
}
.cabecalho__inner{
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
  padding-block:1.15rem;transition:padding .38s ease;
}
.cabecalho.scrolled{
  background:rgba(247,241,231,.93);
  -webkit-backdrop-filter:blur(14px) saturate(1.1);
  backdrop-filter:blur(14px) saturate(1.1);
  border-bottom-color:var(--linha);
  box-shadow:0 10px 34px -28px rgba(35,31,25,.6);
}
.cabecalho.scrolled .cabecalho__inner{padding-block:.7rem}

.marca{display:block;flex:0 0 auto;line-height:0}
.marca img{height:54px;width:auto;transition:height .38s ease,opacity .3s ease}
.marca__escuro{display:none}
.cabecalho.scrolled .marca__claro,body.tema-claro .marca__claro{display:none}
.cabecalho.scrolled .marca__escuro,body.tema-claro .marca__escuro{display:block}
.cabecalho.scrolled .marca img{height:44px}

.nav{display:flex;align-items:center;gap:2.2rem}
.nav__links{display:flex;align-items:center;gap:2.1rem}
.nav__links a{
  position:relative;font-size:.76rem;font-weight:500;letter-spacing:.15em;
  text-transform:uppercase;color:var(--marfim);padding-block:.4rem;
  transition:color .28s ease,opacity .28s ease;
}
.nav__links a::after{
  content:'';position:absolute;left:0;bottom:0;height:1px;width:0;
  background:currentColor;transition:width .3s ease;
}
.nav__links a:hover::after,.nav__links a.ativo::after{width:100%}
.cabecalho.scrolled .nav__links a,body.tema-claro .nav__links a{color:var(--texto)}
.cabecalho.scrolled .nav__links a:hover,body.tema-claro .nav__links a:hover{color:var(--bronze)}

.nav__cta{flex-shrink:0;white-space:nowrap;min-height:44px;padding:.72rem 1.4rem;font-size:.72rem}
.cabecalho .nav__cta{background:transparent;color:var(--marfim);border-color:rgba(246,239,228,.5)}
.cabecalho .nav__cta:hover{background:var(--marfim);color:var(--escuro);border-color:var(--marfim)}
.cabecalho.scrolled .nav__cta,body.tema-claro .nav__cta{background:var(--bronze);color:var(--marfim);border-color:var(--bronze)}
.cabecalho.scrolled .nav__cta:hover,body.tema-claro .nav__cta:hover{background:var(--escuro);border-color:var(--escuro)}

/* cabecalho solido permanente em paginas sem hero escura */
body.tema-claro .cabecalho{
  background:rgba(247,241,231,.95);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-bottom-color:var(--linha);
}

/* hamburguer: contraste garantido nos dois estados */
.nav-toggle{
  display:none;background:none;border:none;cursor:pointer;padding:.4rem;margin:-.4rem;
  line-height:0;color:var(--marfim);transition:color .38s ease;
}
.nav-toggle svg{width:28px;height:28px}
.cabecalho.scrolled .nav-toggle,body.tema-claro .nav-toggle{color:var(--bronze)}

/* drawer mobile (visual sempre definido fora de media query) */
.menu-backdrop{
  position:fixed;inset:0;z-index:1100;background:rgba(20,19,15,.55);
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
  opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;
}
.menu-backdrop.open{opacity:1;visibility:visible}

.mobile-menu{
  position:fixed;top:0;right:0;bottom:0;z-index:1200;width:min(86vw,360px);
  display:flex;flex-direction:column;padding:1.15rem 1.6rem 2rem;
  background:var(--superficie);
  box-shadow:-18px 0 56px -24px rgba(20,19,15,.4);
  transform:translateX(100%);visibility:hidden;overscroll-behavior:contain;
  transition:transform .34s cubic-bezier(.4,0,.2,1),visibility .34s;
}
.mobile-menu.open{transform:none;visibility:visible}
.mobile-menu__head{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding-bottom:1rem;margin-bottom:.4rem;border-bottom:1px solid var(--linha);
}
.mobile-menu__head img{height:38px;width:auto}
.mobile-close{background:none;border:none;color:var(--bronze);cursor:pointer;padding:.35rem;margin:-.35rem;line-height:0}
.mobile-close svg{width:28px;height:28px}
.mobile-menu__links li{border-bottom:1px solid var(--linha)}
.mobile-menu__links a{
  display:flex;align-items:center;min-height:56px;
  font-size:.86rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:var(--texto);transition:color .22s ease;
}
.mobile-menu__links a:hover{color:var(--bronze)}
.mobile-menu__cta{margin-top:auto;width:100%}

/* =========================================================================
   HERO
   ========================================================================= */

.hero{
  position:relative;display:flex;flex-direction:column;
  min-height:100svh;overflow:hidden;background:var(--escuro);isolation:isolate;
}
.hero__midia{position:absolute;inset:0;z-index:0}
.hero__midia img{width:100%;height:100%;object-fit:cover;object-position:center top}
.hero__veu{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(to bottom,rgba(20,19,15,.55) 0%,transparent 18%),
    linear-gradient(to right,
      rgba(20,19,15,.93) 0%,
      rgba(20,19,15,.86) 22%,
      rgba(20,19,15,.74) 52%,
      rgba(20,19,15,.36) 76%,
      rgba(20,19,15,.08) 100%);
}
.hero__grao{position:absolute;inset:0;z-index:2;background-image:var(--grao);opacity:.34;mix-blend-mode:overlay;pointer-events:none}

.hero__conteudo{
  position:relative;z-index:3;margin-block:auto;
  padding-top:clamp(7rem,13vh,9.5rem);padding-bottom:clamp(2.5rem,6vh,4rem);
}
.hero__texto{max-width:min(100%,42rem)}
.hero .rotulo{color:#E2D4BE}
.hero .rotulo::after{background:rgba(185,168,134,.6)}

.hero__titulo{
  font-size:clamp(2.7rem,6.2vw,4.5rem);
  color:var(--marfim);line-height:1.02;letter-spacing:-.02em;font-weight:300;
}
.hero__titulo em{font-style:italic;color:var(--creme)}
.hero__sub{
  margin-top:1.75rem;max-width:44ch;
  font-size:clamp(1rem,1.25vw,1.1rem);line-height:1.78;color:rgba(246,239,228,.86);
}
.hero__acoes{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2.4rem}

.hero__bar{
  position:relative;z-index:3;
  background:rgba(20,19,15,.52);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-top:1px solid var(--linha-clara);
}
.hero__selos{display:flex;align-items:stretch;padding-block:1.35rem}
.hero__selo{flex:1 1 0;min-width:0;padding-inline:clamp(.9rem,2vw,1.8rem);border-left:1px solid var(--linha-clara)}
.hero__selo:first-child{padding-left:0;border-left:none}
.hero__selo:last-child{padding-right:0}
.hero__selo b{
  display:block;font-family:var(--serif);font-size:1.5rem;font-weight:400;
  color:var(--marfim);line-height:1.15;letter-spacing:.01em;
}
.hero__selo span{
  display:block;margin-top:.35rem;font-size:.68rem;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;color:rgba(246,239,228,.80);line-height:1.55;
}

.hero__rolar{
  position:absolute;right:var(--gutter);bottom:calc(100% + 1.6rem);z-index:3;
  display:flex;align-items:center;gap:.7rem;
  font-size:.64rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;
  color:rgba(246,239,228,.76);
}
.hero__rolar i{display:block;width:1px;height:44px;background:linear-gradient(to bottom,rgba(246,239,228,.05),rgba(246,239,228,.7));animation:rolar 2.6s ease-in-out infinite}
@keyframes rolar{0%,100%{transform:scaleY(.45);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}}

/* =========================================================================
   PREMISSA (manifesto)
   ========================================================================= */

.premissa{overflow:hidden}
.premissa .decor{top:-8%;right:-6%;width:min(48vw,540px);opacity:.055}
.premissa__grade{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.premissa__citacao{
  font-family:var(--serif);font-weight:300;font-size:clamp(1.8rem,3.4vw,2.75rem);
  line-height:1.16;letter-spacing:-.012em;color:var(--texto);margin:0;
}
.premissa__citacao em{font-style:italic;color:var(--rose-forte)}
.premissa__filete{width:100%;height:1px;background:var(--linha-forte);margin-block:1.9rem;transform-origin:left;}
.premissa__assina{font-size:.7rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze)}

/* =========================================================================
   METODO
   ========================================================================= */

.metodo{overflow:hidden}
.metodo__grade{display:grid;grid-template-columns:7fr 5fr;gap:clamp(2.4rem,5vw,5rem);align-items:center}

/* moldura editorial: filete deslocado (assinatura da persona A) */
.moldura{position:relative;isolation:isolate}
.moldura::before{
  content:'';position:absolute;inset:-18px -18px 18px 18px;border:1px solid var(--bronze-palido);z-index:-1;
}
.moldura img{width:100%;height:auto;border-radius:0;filter:saturate(.96);transition:transform .8s cubic-bezier(.22,.61,.36,1)}
.moldura:hover img{transform:scale(1.02)}
.moldura--direita::before{inset:-18px 18px 18px -18px}

.territorios{
  display:flex;flex-wrap:wrap;align-items:center;gap:clamp(.9rem,2.2vw,1.9rem);
  margin-top:2.4rem;padding-top:1.7rem;border-top:1px solid var(--linha);
}
.territorios li{
  display:flex;align-items:center;gap:clamp(.9rem,2.2vw,1.9rem);
  font-family:var(--serif);font-size:clamp(1.15rem,1.9vw,1.5rem);color:var(--bronze);letter-spacing:.01em;
}
.territorios li::after{content:'';width:5px;height:5px;transform:rotate(45deg);background:var(--rose)}
.territorios li:last-child::after{display:none}

/* =========================================================================
   FRENTES DE TRABALHO
   ========================================================================= */

.frentes{background:var(--creme-fundo);border-block:1px solid var(--linha);overflow:hidden}
.frentes .decor{bottom:-14%;left:-7%;width:min(42vw,460px);opacity:.06}
.frentes__cabeca{max-width:62ch;margin-bottom:clamp(2.6rem,5vw,3.6rem)}
.grupo + .grupo{margin-top:clamp(2.6rem,5vw,3.8rem)}
.grupo__titulo{
  display:flex;align-items:center;gap:1.1rem;
  font-size:.7rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--bronze);
  margin-bottom:.6rem;
}
.grupo__titulo::after{content:'';flex:1;height:1px;background:var(--linha)}
.servico{
  display:grid;grid-template-columns:minmax(200px,4fr) 8fr;gap:clamp(1rem,3vw,3rem);
  padding-block:clamp(1.35rem,2.2vw,1.8rem);border-bottom:1px solid var(--linha);
  transition:padding-left .35s ease;
}
.servico:hover{padding-left:.7rem}
.servico h4{font-size:clamp(1.15rem,1.8vw,1.45rem);font-weight:500;color:var(--texto)}
.servico p{color:var(--texto-suave);font-size:.98rem}

/* =========================================================================
   FAIXA ANCORA (CTA intermediaria)
   ========================================================================= */

.ancora{
  position:relative;background:var(--escuro);color:var(--marfim);overflow:hidden;
  padding-block:clamp(4.2rem,7vw,6.4rem);isolation:isolate;
}
.ancora::before{
  content:'';position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(120% 90% at 15% 0%,rgba(110,95,62,.5) 0%,transparent 62%),
    radial-gradient(90% 80% at 88% 100%,rgba(110,42,46,.42) 0%,transparent 60%);
}
.ancora__grao{position:absolute;inset:0;z-index:0;background-image:var(--grao);opacity:.32;mix-blend-mode:overlay}
.ancora .decor{top:50%;right:2%;width:min(38vw,420px);transform:translateY(-50%);opacity:.11;z-index:0}
.ancora .wrap{position:relative;z-index:1}
.ancora__grade{display:grid;grid-template-columns:7fr 5fr;gap:clamp(2rem,5vw,4.5rem);align-items:end}
.ancora h1,.ancora h2,.ancora h3,.ancora h4{color:var(--marfim)}
.ancora h2 em{font-style:italic;color:var(--creme)}
.ancora p{color:rgba(246,239,228,.78);margin-top:1.3rem;max-width:52ch}
.ancora__acoes{display:flex;flex-wrap:wrap;gap:.9rem;justify-content:flex-end}

/* =========================================================================
   TRAJETORIA + DIFERENCIAIS
   ========================================================================= */

.trajetoria{overflow:hidden}
.trajetoria__grade{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2.4rem,5vw,5rem);align-items:center}
.trajetoria__citacao{
  font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2.15rem);font-weight:300;
  line-height:1.22;letter-spacing:-.008em;color:var(--texto);margin:0 0 1.6rem;
}
.trajetoria__citacao em{font-style:italic;color:var(--rose-forte)}

.diferenciais{margin-top:clamp(3.4rem,6vw,5rem);border-top:1px solid var(--linha);padding-top:clamp(2.4rem,4vw,3.2rem)}
.diferenciais__grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.diferencial{
  position:relative;padding:clamp(1.8rem,3vw,2.6rem) clamp(1.4rem,3vw,2.6rem);
  border-bottom:1px solid var(--linha);overflow:hidden;
}
.diferencial:nth-child(odd){border-right:1px solid var(--linha);padding-left:0}
.diferencial:nth-child(even){padding-right:0}
.diferencial:nth-last-child(-n+2){border-bottom:none;padding-bottom:0}
.diferencial__num{
  position:absolute;top:.1rem;right:.4rem;z-index:0;
  font-family:var(--serif);font-size:clamp(5rem,9vw,8rem);font-weight:300;line-height:.8;
  color:var(--bronze);opacity:.13;letter-spacing:-.03em;pointer-events:none;
}
.diferencial h3{position:relative;z-index:1;font-size:clamp(1.15rem,1.8vw,1.42rem);font-weight:500}
.diferencial p{position:relative;z-index:1;margin-top:.75rem;color:var(--texto-suave);font-size:.98rem;max-width:44ch}

/* =========================================================================
   PALCO E TELA (frente artistica)
   ========================================================================= */

.palco{
  position:relative;background:var(--creme-fundo);border-block:1px solid var(--linha);overflow:hidden;
}
.palco .decor{top:-18%;left:50%;width:min(50vw,560px);transform:translateX(-50%);opacity:.05}
.palco__grade{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.meios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(1.5rem,4vw,3.5rem)}
.meios li{
  display:flex;align-items:baseline;gap:1rem;padding-block:.95rem;border-bottom:1px solid var(--linha);
  font-family:var(--serif);font-size:clamp(1.1rem,1.7vw,1.32rem);color:var(--texto);
}
.meios li span{
  font-family:var(--sans);font-size:.66rem;font-weight:600;letter-spacing:.16em;
  color:var(--bronze);flex:0 0 auto;
}

/* =========================================================================
   INSTAGRAM
   ========================================================================= */

.insta{overflow:hidden}
.insta__grade-geral{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  gap:clamp(2.4rem,5vw,5rem);align-items:center;
}
.insta__icone{
  display:flex;align-items:center;justify-content:center;
  width:58px;height:58px;background:#fff;border:1px solid var(--linha);
  box-shadow:var(--sombra);color:var(--rose-forte);margin-bottom:1.6rem;
}
.insta__sub{margin-top:1.2rem;color:var(--texto-suave);max-width:44ch}
.insta__botao{margin-top:2rem}

.insta__fotos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
.insta__item{
  position:relative;display:block;aspect-ratio:1 / 1;overflow:hidden;
  background:linear-gradient(135deg,var(--creme) 0%,#E4C9C2 55%,var(--bronze-palido) 100%);
}
.insta__item img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .7s cubic-bezier(.22,.61,.36,1);
}
.insta__item:hover img{transform:scale(1.06)}
.insta__over{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(20,19,15,.55);color:var(--marfim);
  opacity:0;transition:opacity .35s ease;
}
.insta__item:hover .insta__over,.insta__item:focus-visible .insta__over{opacity:1}

/* =========================================================================
   CONTATO
   ========================================================================= */

.contato{background:var(--creme-fundo);border-top:1px solid var(--linha);overflow:hidden}
.contato .decor{bottom:-20%;right:-8%;width:min(44vw,480px);opacity:.06}
.contato__grade{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2.4rem,5vw,4.5rem);align-items:start}

.canais{margin-top:2.2rem;display:flex;flex-direction:column;gap:.2rem}
.canais a{
  display:inline-flex;align-items:center;gap:.85rem;min-height:48px;
  color:var(--texto);transition:color .25s ease;font-size:.98rem;
}
.canais a:hover{color:var(--bronze)}
.canais svg{flex:0 0 auto;color:var(--bronze)}

.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}
.campo{display:flex;flex-direction:column;gap:.5rem}
.campo--largo{grid-column:1 / -1}
.campo label{font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze)}
.campo input,.campo textarea{
  font-family:var(--sans);font-size:1rem;color:var(--texto);
  background:transparent;border:none;border-bottom:1px solid var(--linha-forte);
  padding:.75rem 0;border-radius:0;transition:border-color .25s ease;
  min-height:48px;width:100%;
}
.campo textarea{resize:vertical;min-height:110px;line-height:1.7}
.campo input:focus,.campo textarea:focus{outline:none;border-bottom-color:var(--bronze)}
.campo input::placeholder,.campo textarea::placeholder{color:#6F665A}
.campo.erro input,.campo.erro textarea{border-bottom-color:var(--vinho)}
.campo__erro{font-size:.78rem;color:var(--vinho);min-height:1.1rem;letter-spacing:0;text-transform:none;font-weight:500}

.form__rodape{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:1.4rem;justify-content:space-between}
.form__lgpd{font-size:.82rem;color:var(--texto-suave);max-width:46ch;line-height:1.6}
.form__lgpd a{color:var(--bronze);border-bottom:1px solid var(--linha-forte)}
.form__lgpd a:hover{color:var(--vinho)}
.form__ok{grid-column:1 / -1;font-size:.9rem;color:var(--salvia-escura);font-weight:500}

/* =========================================================================
   RODAPE
   ========================================================================= */

.rodape{position:relative;background:var(--escuro);color:rgba(246,239,228,.72);overflow:hidden;isolation:isolate}
.rodape::before{
  content:'';position:absolute;inset:0;z-index:0;
  background:radial-gradient(100% 120% at 12% 0%,rgba(110,95,62,.34) 0%,transparent 58%);
}
.rodape .wrap{position:relative;z-index:1}
.rodape__topo{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr);
  gap:clamp(2rem,5vw,4rem);padding-block:clamp(3.4rem,6vw,4.6rem);
}
.rodape__marca img{width:min(260px,80%);height:auto;margin-bottom:1.5rem}
.rodape__bio{font-size:.95rem;line-height:1.8;max-width:40ch}
.rodape h4{
  font-family:var(--sans);font-size:.68rem;font-weight:600;letter-spacing:.24em;
  text-transform:uppercase;color:var(--bronze-palido);margin-bottom:1.2rem;
}
.rodape__menu a{display:inline-flex;align-items:center;min-height:40px;font-size:.95rem;color:rgba(246,239,228,.72);transition:color .25s ease}
.rodape__menu a:hover{color:var(--marfim)}

.contatos{display:flex;flex-direction:column;gap:.1rem}
.contatos a{display:inline-flex;align-items:center;gap:.75rem;min-height:44px;color:rgba(246,239,228,.72);transition:color .25s ease;font-size:.95rem}
.contatos a:hover{color:var(--marfim)}
.contatos svg{flex:0 0 auto;color:var(--bronze-palido)}

.rodape__base{
  display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;justify-content:space-between;
  padding:1.7rem 0 5.2rem;border-top:1px solid var(--linha-clara);
  font-size:.82rem;color:rgba(246,239,228,.56);
}
.rodape__base a{color:rgba(246,239,228,.72);border-bottom:1px solid rgba(246,239,228,.24)}
.rodape__base a:hover{color:var(--marfim)}

/* =========================================================================
   WHATSAPP FLUTUANTE
   ========================================================================= */

.whatsapp-flutuante{
  position:fixed;bottom:2rem;right:2rem;z-index:900;
  display:flex;align-items:center;justify-content:center;
  width:58px;height:58px;border-radius:50%;
  background:#25d366;color:#fff;
  box-shadow:0 10px 30px -8px rgba(37,211,102,.55);
  animation:wa-float 3.2s ease-in-out infinite,wa-pulse 2.8s ease-out 1.2s infinite;
  will-change:transform,box-shadow;
  transition:transform .25s ease;
}
.whatsapp-flutuante:hover{animation-play-state:paused;transform:scale(1.13)}
@keyframes wa-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes wa-pulse{
  0%{box-shadow:0 10px 30px -8px rgba(37,211,102,.55),0 0 0 0 rgba(37,211,102,.45)}
  70%{box-shadow:0 10px 30px -8px rgba(37,211,102,.55),0 0 0 20px rgba(37,211,102,0)}
  100%{box-shadow:0 10px 30px -8px rgba(37,211,102,.55),0 0 0 0 rgba(37,211,102,0)}
}

/* =========================================================================
   PAGINA INTERNA (politica de privacidade)
   ========================================================================= */

.interna{padding-top:clamp(8rem,14vh,10rem)}
.interna h1{font-size:clamp(2.2rem,4.4vw,3.2rem);margin-bottom:1rem}
.interna h2{font-size:clamp(1.35rem,2.2vw,1.7rem);font-weight:500;margin-top:2.6rem;margin-bottom:.8rem}
.interna p,.interna li{color:var(--texto-suave)}
.interna p + p{margin-top:1rem}
.interna ul + p{margin-top:1.15rem}
.interna ul{margin-top:.8rem;display:grid;gap:.55rem}
.interna ul li{position:relative;padding-left:1.3rem}
.interna ul li::before{content:'';position:absolute;left:0;top:.75em;width:5px;height:5px;transform:rotate(45deg);background:var(--bronze-palido)}
.interna__data{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);margin-top:2.6rem}

/* =========================================================================
   MOVIMENTO
   ========================================================================= */

.animate-on-scroll{
  opacity:0;transform:translateY(14px);
  transition:opacity .75s cubic-bezier(.22,.61,.36,1),transform .75s cubic-bezier(.22,.61,.36,1);
  transition-delay:calc(var(--i,0) * 90ms);
}
.animate-on-scroll.visible{opacity:1;transform:none}

/* filetes que se desenham */
.filete-anima{transform:scaleX(0);transform-origin:left;transition:transform 1s cubic-bezier(.22,.61,.36,1) .1s}
.filete-anima.visible,.animate-on-scroll.visible .filete-anima{transform:scaleX(1)}

/* entrada do hero no load */
.hero-anima{opacity:0;transform:translateY(16px)}
body.pronto .hero-anima{
  opacity:1;transform:none;
  transition:opacity .9s cubic-bezier(.22,.61,.36,1),transform .9s cubic-bezier(.22,.61,.36,1);
  transition-delay:calc(var(--i,0) * 140ms + 120ms);
}

/* deriva continua da camada decorativa */
@keyframes deriva{
  0%{transform:translate3d(0,0,0) rotate(0)}
  50%{transform:translate3d(0,-16px,0) rotate(1.2deg)}
  100%{transform:translate3d(0,0,0) rotate(0)}
}
.decor-drift{animation:deriva 22s ease-in-out infinite;will-change:transform}
.ancora .decor-drift{animation-duration:26s}

/* =========================================================================
   RESPONSIVO
   ========================================================================= */

@media (max-width:1120px){
  .nav__links{gap:1.5rem}
  .hero__selo b{font-size:1.28rem}
}

@media (max-width:1000px){
  .nav__links,.nav__cta{display:none}
  .nav-toggle{display:block}
  .cabecalho__inner{justify-content:space-between}
  .marca{margin-right:auto}
  .marca img{height:46px}
  .cabecalho.scrolled .marca img{height:40px}

  .premissa__grade,.metodo__grade,.trajetoria__grade,
  .ancora__grade,.palco__grade,.contato__grade{grid-template-columns:1fr}
  .ancora__acoes{justify-content:flex-start}
  .metodo__grade .moldura{order:-1;max-width:460px}
  .trajetoria__grade .moldura{max-width:420px}
  .hero__selos{flex-wrap:wrap;gap:1.1rem 0}
  .hero__selo{flex:1 1 46%;padding-inline:1.1rem}
  .hero__selo:nth-child(odd){padding-left:0;border-left:none}
  .hero__rolar{display:none}
}

/* faixa 761-1100: o texto ocupa fracao maior da largura, entao o veu precisa ser mais forte */
@media (min-width:761px) and (max-width:1100px){
  .hero__veu{
    background:
      linear-gradient(to bottom,rgba(20,19,15,.55) 0%,transparent 18%),
      linear-gradient(to right,
        rgba(20,19,15,.94) 0%,
        rgba(20,19,15,.90) 34%,
        rgba(20,19,15,.80) 62%,
        rgba(20,19,15,.50) 82%,
        rgba(20,19,15,.18) 100%);
  }
  .hero__texto{max-width:34rem}
  .hero__titulo{font-size:clamp(2.5rem,5.2vw,3.4rem)}
}

@media (max-width:900px){
  .insta__grade-geral{grid-template-columns:1fr;justify-items:center;text-align:center}
  .insta__grade-geral .rotulo{align-items:center}
  .insta__icone{margin-inline:auto}
  .insta__sub{margin-inline:auto}
  .insta__fotos{width:min(100%,430px)}
}

@media (max-width:760px){
  body{font-size:1rem}
  /* a foto deixa de ser fundo e vira o primeiro bloco da coluna */
  .hero{min-height:auto}
  .hero__midia{
    position:relative;inset:auto;flex:0 0 auto;
    width:100%;aspect-ratio:1 / 1;max-height:52svh;
  }
  .hero__midia img{object-position:center 20%}
  .hero__midia::after{
    content:'';position:absolute;inset:0;pointer-events:none;
    background:
      linear-gradient(to bottom,rgba(20,19,15,.88) 0%,rgba(20,19,15,.70) 14%,rgba(20,19,15,.30) 26%,transparent 40%),
      linear-gradient(to bottom,transparent 56%,rgba(20,19,15,.55) 84%,var(--escuro) 100%);
  }
  .hero__veu{display:none}
  .hero__conteudo{margin-block:0;padding-top:2.1rem;padding-bottom:2.6rem}
  .hero__titulo{font-size:clamp(2.5rem,10vw,3.2rem)}
  .hero__acoes .btn{width:100%}
  .hero__selo b{font-size:1.18rem}
  .hero__selo span{font-size:.63rem}

  .servico{grid-template-columns:1fr;gap:.5rem}
  .diferenciais__grade{grid-template-columns:1fr}
  .diferencial{padding-inline:0 !important;border-right:none !important}
  .diferencial:nth-last-child(2){border-bottom:1px solid var(--linha);padding-bottom:clamp(1.8rem,3vw,2.6rem)}
  .meios{grid-template-columns:1fr}
  .form{grid-template-columns:1fr}
  .rodape__topo{grid-template-columns:1fr;gap:2.4rem}
  .whatsapp-flutuante{bottom:1.25rem;right:1.25rem;width:54px;height:54px}
  .moldura::before{inset:-12px -12px 12px 12px}
  .moldura--direita::before{inset:-12px 12px 12px -12px}
}

@media (max-width:560px){
  .territorios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1.2rem}
  .territorios li{gap:0}
  .territorios li::after{display:none}
}

@media (max-width:420px){
  .hero__selo{flex:1 1 100%;padding-inline:0;border-left:none}
  .insta__fotos{gap:.5rem}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .animate-on-scroll,.hero-anima{opacity:1 !important;transform:none !important;transition:none !important}
  .filete-anima{transform:none !important;transition:none !important}
  .decor-drift{animation:none !important}
  [data-parallax]{transform:none !important}
  .whatsapp-flutuante{animation:none !important}
  .hero__rolar i{animation:none !important}
  .mobile-menu,.menu-backdrop{transition:none !important}
}
