/* =====================================================================
   INSTITUTO VALOCCI GIMENEZ — Sistema visual (v3, editorial premium)
   Paleta e tipografia conforme o Manual de Identidade Visual (Neural Strategy)
   ===================================================================== */

:root{
  --oliva:#3D4A38; --oliva-2:#2E3A2B; --oliva-3:#232C21; --oliva-4:#1A2118;
  --salvia:#DDE4DB; --greige:#CEC7BC;
  --dourado:#C9AD7A; --dourado-2:#B8975F; --dourado-3:#D8C08F;
  --marfim:#F6F4EF; --marfim-2:#EFECE4; --marfim-3:#E7E3D8;
  --tinta:#25281F; --tinta-mute:#62665B; /* mute calibrado para AA (≥4.5:1) também sobre marfim-2 */
  --linha:rgba(61,74,56,.15);
  --linha-forte:rgba(61,74,56,.28);
  --linha-clara:rgba(246,244,239,.16);

  /* Tipografia estrita ao Manual de Identidade Visual: Montserrat (títulos/display) + Inter (apoio).
     As variáveis mantêm os nomes históricos para não tocar em todas as regras. */
  --serif:'Montserrat','Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --fraunces:'Montserrat','Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;

  --wrap:1280px;
  --pad:clamp(1.25rem,5vw,4rem);
  --ease:cubic-bezier(.16,1,.3,1);
  --ease-2:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}

body{font-family:var(--sans);color:var(--tinta);background:var(--marfim);line-height:1.6;font-weight:400;font-size:clamp(16px,1.05vw,17.5px);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--oliva);color:var(--marfim);}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden;}

.container{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad);}
.skip-link{position:absolute;left:-999px;top:0;z-index:2000;background:var(--oliva);color:var(--marfim);padding:.7rem 1.2rem;border-radius:0 0 8px 0;}
.skip-link:focus{left:0;}
:focus-visible{outline:2px solid var(--oliva);outline-offset:3px;}
.hero :focus-visible,.metodo :focus-visible,.contato :focus-visible,.quote-band :focus-visible,.site-footer :focus-visible,.marquee :focus-visible{outline-color:var(--dourado-3);}

/* Grão */
.grain{position:fixed;inset:0;z-index:1500;pointer-events:none;opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
@media (prefers-reduced-motion:reduce){.grain{display:none;}}

/* =====================================================================
   PRELOADER (fundo escuro)
   ===================================================================== */
.preloader{position:fixed;inset:0;z-index:1800;background:var(--oliva-3);display:flex;align-items:center;justify-content:center;transition:opacity .9s var(--ease),visibility .9s;}
.preloader-inner{display:flex;flex-direction:column;align-items:center;gap:1.5rem;}
.preloader-logo{width:min(300px,60vw);height:auto;opacity:0;transform:translateY(14px);animation:preLogo 1s var(--ease) .1s forwards;}
.preloader-line{width:0;height:1px;background:var(--dourado);animation:preLine 1.1s var(--ease) .5s forwards;}
@keyframes preLogo{to{opacity:1;transform:none;}}
@keyframes preLine{to{width:min(300px,60vw);}}
.preloader.done{opacity:0;visibility:hidden;}
html:not(.js) .preloader{display:none;}
@media (prefers-reduced-motion:reduce){.preloader{display:none;}}

/* =====================================================================
   HEADER  (claro/escuro conforme rolagem)
   ===================================================================== */
/* Barra sempre marfim: o fundo oficial do logo primário (assinatura 100% legível) */
/* Cabeçalho acima do grão de filme (z 1500): o logo renderiza limpo, sem textura sobreposta */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1550;background:var(--marfim);box-shadow:0 1px 0 var(--linha);transition:box-shadow .5s;}
.site-header.scrolled{box-shadow:0 1px 0 var(--linha),0 14px 34px -26px rgba(61,74,56,.55);}
.scroll-progress{position:absolute;left:0;bottom:0;height:2px;width:0;background:linear-gradient(90deg,var(--dourado),var(--dourado-2));transition:width .1s linear;}
.header-inner{display:flex;align-items:center;gap:1.5rem;min-height:112px;transition:min-height .5s var(--ease-2);}
.site-header.scrolled .header-inner{min-height:88px;}

.brand{margin-right:auto;display:flex;align-items:center;}
.brand-logo{width:auto;height:74px;transition:height .5s var(--ease-2);image-rendering:auto;}
.site-header.scrolled .brand-logo{height:60px;}

.nav{display:flex;gap:.3rem;}
.nav a{position:relative;font-size:.82rem;letter-spacing:.02em;font-weight:500;padding:.6rem .95rem;border-radius:999px;overflow:hidden;transition:color .3s;color:var(--tinta);}
.nav a span{position:relative;z-index:1;}
.nav a::before{content:'';position:absolute;inset:0;background:var(--oliva);border-radius:999px;transform:translateY(101%);transition:transform .45s var(--ease);}
.nav a:hover{color:var(--marfim);}
.nav a:hover::before{transform:translateY(0);}

.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;font-family:var(--sans);font-weight:500;font-size:.8rem;letter-spacing:.08em;padding:.95rem 1.8rem;border-radius:999px;cursor:pointer;border:1px solid transparent;text-transform:uppercase;transition:transform .5s var(--ease),background .4s,color .4s,border-color .4s,box-shadow .4s;will-change:transform;}
.btn-primary{background:var(--oliva);color:var(--marfim);}
.btn-primary:hover{background:var(--oliva-2);box-shadow:0 16px 34px -16px rgba(61,74,56,.9);}
.btn-ghost{background:transparent;color:var(--oliva);border-color:var(--linha-forte);}
.btn-ghost:hover{border-color:var(--oliva);background:rgba(61,74,56,.04);}
.btn-ghost-light{background:transparent;color:var(--marfim);border-color:rgba(246,244,239,.4);}
.btn-ghost-light:hover{border-color:var(--dourado);color:var(--dourado);}
.btn-gold{background:var(--dourado);color:var(--oliva-3);}
.btn-gold:hover{background:var(--dourado-3);box-shadow:0 16px 34px -16px rgba(201,173,122,.7);}
.btn-header{flex-shrink:0;background:var(--oliva);color:var(--marfim);}
.btn-header:hover{background:var(--oliva-2);box-shadow:0 16px 34px -16px rgba(61,74,56,.9);}
.contato-form .btn-gold,.field+.btn-gold{width:100%;}
.contato-form .btn{width:100%;}

.nav-toggle{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;flex-direction:column;gap:6px;justify-content:center;align-items:center;}
.nav-toggle span{display:block;width:26px;height:1.5px;background:var(--oliva);transition:transform .4s var(--ease),opacity .3s;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(3.75px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){transform:translateY(-3.75px) rotate(-45deg);}

.mobile-nav{display:none;flex-direction:column;gap:.2rem;padding:1rem var(--pad) 2.4rem;background:var(--marfim);border-top:1px solid var(--linha);}
.mobile-nav a{padding:1rem .2rem;font-family:var(--serif);font-size:1.6rem;color:var(--oliva);border-bottom:1px solid var(--linha);}
.mobile-nav a:last-child{border:0;margin-top:1.4rem;font-family:var(--sans);font-size:.8rem;color:var(--marfim);}

/* =====================================================================
   HERO — escuro, cinematográfico, split com retrato
   ===================================================================== */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:120px 0 90px;overflow:hidden;color:var(--marfim);
  background:radial-gradient(120% 90% at 82% 8%,#37452F 0%,transparent 55%),linear-gradient(160deg,var(--oliva-2) 0%,var(--oliva-3) 55%,var(--oliva-4) 100%);}
.hero-monogram{position:absolute;left:-10vw;bottom:-10vw;width:min(60vw,760px);height:auto;opacity:.06;pointer-events:none;user-select:none;}
.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:center;width:100%;}

.hero-eyebrow{display:inline-flex;align-items:center;gap:.7rem;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;color:var(--dourado-3);font-weight:600;margin-bottom:clamp(1.4rem,3vw,2.2rem);}
.eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--dourado);display:inline-block;}
html.js .hero-eyebrow{opacity:0;transform:translateY(12px);}
html.js .ready .hero-eyebrow{opacity:1;transform:none;transition:opacity 1s var(--ease) .2s,transform 1s var(--ease) .2s;}

.hero-title{font-family:var(--fraunces);font-weight:300;font-size:clamp(2.2rem,4.4vw,3.8rem);line-height:1.1;letter-spacing:-.015em;color:var(--marfim);max-width:15ch;text-wrap:balance;margin-bottom:.2rem;}
html.js .hero-title{opacity:0;transform:translateY(18px);}
html.js .ready .hero-title{opacity:1;transform:none;transition:opacity 1s var(--ease) .32s,transform 1s var(--ease) .32s;}
.hero-title em{font-style:italic;font-weight:400;color:var(--dourado-3);}

.hero-sub{font-size:clamp(1rem,1.4vw,1.18rem);color:rgba(246,244,239,.76);max-width:44ch;margin:clamp(1.6rem,3vw,2.2rem) 0 2.4rem;}
.hero-sub strong{color:var(--marfim);font-weight:500;}
.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;}
html.js .hero-sub,html.js .hero-actions{opacity:0;transform:translateY(16px);}
html.js .ready .hero-sub{opacity:1;transform:none;transition:opacity 1s var(--ease) .8s,transform 1s var(--ease) .8s;}
html.js .ready .hero-actions{opacity:1;transform:none;transition:opacity 1s var(--ease) .92s,transform 1s var(--ease) .92s;}

/* Retrato do hero */
.hero-portrait{position:relative;margin:0;}
.portrait-media{position:relative;border-radius:20px;overflow:hidden;background:var(--oliva-4);}
/* Fotos ambientadas na paleta da marca: tratamento leve, só para assentar tons */
.portrait-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(35,44,33,.02) 0%,rgba(35,44,33,.22) 100%),linear-gradient(120deg,rgba(61,74,56,.12),transparent 55%);mix-blend-mode:multiply;pointer-events:none;}
.portrait-media img{width:100%;height:100%;object-fit:cover;object-position:50% 16%;filter:saturate(.94) contrast(1.02);}
.hero-portrait .portrait-media{aspect-ratio:4/5;box-shadow:0 50px 90px -50px rgba(0,0,0,.8);border:1px solid rgba(201,173,122,.35);}
.hero-portrait::before{content:'';position:absolute;inset:-10px;border:1px solid rgba(201,173,122,.22);border-radius:26px;pointer-events:none;}
.hero-portrait figcaption{margin-top:1.1rem;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(246,244,239,.6);}
.hero-portrait figcaption span{color:var(--dourado);font-weight:600;display:block;font-size:.82rem;margin-bottom:.15rem;}
html.js .hero-portrait{opacity:0;transform:translateY(30px) scale(.98);}
html.js .ready .hero-portrait{opacity:1;transform:none;transition:opacity 1.3s var(--ease) .5s,transform 1.3s var(--ease) .5s;}

/* (marquee e indicador de scroll removidos na revisão de composição) */

/* =====================================================================
   SECTIONS — base
   ===================================================================== */
.section{padding:clamp(4.5rem,10vw,9rem) 0;position:relative;}
.section-head{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.2rem,3vw,2.4rem);align-items:start;max-width:960px;margin-bottom:clamp(3rem,6vw,5rem);}
.section-index{font-family:var(--serif);font-size:1rem;font-weight:600;letter-spacing:.15em;color:var(--dourado-2);padding-top:.6rem;border-top:1px solid var(--linha-forte);}
.section-index.light{color:var(--dourado);border-top-color:rgba(201,173,122,.4);}
.section-kicker{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--dourado-2);font-weight:600;margin-bottom:1rem;}
.section-kicker.gold{color:var(--dourado);}
.section-title{font-family:var(--serif);font-weight:500;letter-spacing:-.005em;font-size:clamp(1.9rem,4.4vw,3.4rem);line-height:1.1;color:var(--oliva);text-wrap:balance;}
.section-title.light{color:var(--marfim);}

/* ---------- Manifesto ---------- */
.manifesto{padding:clamp(5rem,12vw,10rem) 0;background:var(--salvia);}
.manifesto-text{font-family:var(--fraunces);font-weight:300;font-size:clamp(1.5rem,3.6vw,2.9rem);line-height:1.34;letter-spacing:-.01em;color:var(--oliva);max-width:30ch;text-wrap:balance;}
.manifesto-text em{font-style:italic;color:var(--dourado-2);}

/* ---------- O que você busca (lista cinética) ---------- */
.busca-list{list-style:none;display:grid;max-width:980px;}
.busca-list li{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.2rem,3vw,2.4rem);align-items:baseline;padding:clamp(1.2rem,2.4vw,1.9rem) 0;border-top:1px solid var(--linha);}
.busca-list li:last-child{border-bottom:1px solid var(--linha);}
.busca-n{font-family:var(--serif);font-size:.95rem;letter-spacing:.15em;color:var(--dourado-2);}
.busca-list p{font-family:var(--fraunces);font-weight:300;font-size:clamp(1.4rem,3.4vw,2.6rem);line-height:1.16;color:var(--tinta-mute);letter-spacing:-.01em;transition:color .5s var(--ease);}
.busca-list p em{font-style:italic;color:var(--oliva);}
.busca-list li:hover p{color:var(--oliva);}
.busca-list li:hover p em{color:var(--dourado-2);}
.busca-close{margin-top:clamp(2.4rem,5vw,3.6rem);max-width:640px;}
.busca-strong{font-family:var(--serif);font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:600;color:var(--oliva);margin-bottom:.8rem;line-height:1.2;}
.busca-close>p:last-child{color:var(--tinta-mute);font-size:1.05rem;}

/* ---------- Nutrição individualizada (statement) ---------- */
.statement{background:var(--salvia);}
.statement-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2.5rem,6vw,5rem);align-items:end;}
.statement-body p{font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--tinta-mute);margin-bottom:1.2rem;max-width:52ch;}
.statement-body strong{color:var(--oliva);font-weight:600;}
.statement-close{font-family:var(--fraunces);font-weight:300;font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.24;color:var(--oliva);border-left:2px solid var(--dourado);padding-left:clamp(1.2rem,2.4vw,2rem);}
.statement-close em{font-style:italic;color:var(--dourado-2);}

/* ---------- Card largo (5º objetivo) + CTA ---------- */
.card--wide{grid-column:1/-1;min-height:auto;}
.cards-cta{margin-top:clamp(2rem,4vw,3rem);display:flex;justify-content:center;}

/* ---------- Dr. Fábio destaque ---------- */
.fabio-destaque{font-family:var(--fraunces);font-weight:300;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.3;color:var(--oliva) !important;border-left:2px solid var(--dourado);padding-left:1.2rem;margin:1.8rem 0 !important;}
.fabio-destaque em{font-style:italic;color:var(--dourado-2);}

/* ---------- Além do peso ---------- */
.alem{background:var(--marfim);}
.alem-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2.5rem,6vw,5rem);align-items:center;}
.alem-visual{background:var(--oliva-3);border-radius:20px;padding:clamp(2rem,4vw,3rem);display:flex;flex-direction:column;align-items:center;gap:1.6rem;border:1px solid rgba(201,173,122,.25);box-shadow:0 40px 70px -50px rgba(35,44,33,.75);}
.alem-visual .precision-rings{width:min(220px,55%);height:auto;}
.alem-visual .precision-meta{align-items:center;text-align:center;}
.alem-text>p{font-size:clamp(1.05rem,1.6vw,1.2rem);color:var(--tinta-mute);margin-bottom:1.2rem;max-width:54ch;}
.alem-close{font-family:var(--serif);font-size:clamp(1.3rem,2.4vw,1.7rem);color:var(--oliva) !important;line-height:1.3;border-left:2px solid var(--dourado);padding-left:1.2rem;margin-top:1.8rem;}
.alem-close em{font-style:italic;color:var(--dourado-2);}

/* ---------- Áreas de cuidado ---------- */
/* Continuidade tonal: vem de Tensão (marfim-2) e entrega em marfim para o Dr. Fábio */
.cuidado{background:linear-gradient(180deg,var(--marfim-2) 0%,var(--marfim) 100%);}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--linha);border:1px solid var(--linha);border-radius:20px;overflow:hidden;}
.card{background:var(--marfim);padding:clamp(2rem,3.4vw,3.2rem);position:relative;transition:background .5s var(--ease);min-height:clamp(220px,26vw,300px);display:flex;flex-direction:column;}
.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:auto;}
.card-num{font-family:var(--serif);font-size:.95rem;letter-spacing:.15em;color:var(--dourado-2);}
.card-arrow{font-size:1.2rem;color:var(--dourado-2);opacity:0;transform:translate(-6px,6px);transition:opacity .5s var(--ease),transform .5s var(--ease);}
.card h3{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2rem);font-weight:600;color:var(--oliva);margin:1.8rem 0 .8rem;line-height:1.12;}
.card p{color:var(--tinta-mute);font-size:.98rem;}
.card:hover{background:var(--salvia);}
.card:hover .card-arrow{opacity:1;transform:none;}

/* ---------- Faixa editorial (duotono) ---------- */
/* Faixa mais alta e foto ancorada no topo: o logo VG da parede permanece visível */
.quote-band{position:relative;min-height:clamp(480px,64vh,680px);display:flex;align-items:flex-end;overflow:hidden;background:var(--oliva-4);}
.quote-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 12%;}
/* Texto no canto inferior direito, longe do rosto: escurece a direita e a base */
/* Foto em cor natural; o escurecimento entra só como véu que se adensa até a área do texto */
.quote-band::after{content:'';position:absolute;inset:0;background:linear-gradient(92deg,rgba(26,33,24,.10) 0%,transparent 28%,transparent 52%,rgba(26,33,24,.42) 64%,rgba(26,33,24,.84) 76%,rgba(26,33,24,.96) 100%);}
.quote-inner{position:relative;z-index:1;max-width:min(540px,46%);margin-left:auto;margin-right:0;}
.quote-mark{font-family:var(--fraunces);font-size:4.5rem;line-height:.6;color:var(--dourado);opacity:.55;margin-bottom:.6rem;}
.quote-text{font-family:var(--fraunces);font-weight:300;font-size:clamp(1.45rem,2.5vw,2.2rem);line-height:1.32;letter-spacing:-.008em;color:var(--marfim);max-width:24ch;text-wrap:pretty;text-shadow:0 1px 26px rgba(26,33,24,.6),0 0 2px rgba(26,33,24,.35);}
.quote-text em{font-style:italic;color:var(--dourado-3);}
.quote-author{margin-top:1.5rem;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(246,244,239,.7);font-weight:500;}

/* ---------- Método (escuro) ---------- */
.metodo{background:var(--oliva);color:var(--marfim);overflow:hidden;}
.metodo-watermark{position:absolute;right:-8vw;bottom:-6vw;width:min(46vw,540px);height:auto;opacity:.06;pointer-events:none;}
.metodo-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2.5rem,6vw,6rem);align-items:start;position:relative;}
.metodo-aside{position:sticky;top:120px;}
.metodo-aside .section-head{margin-bottom:2.4rem;}
.metodo-aside .section-title{font-size:clamp(1.9rem,3.6vw,3rem);}
.metodo-lead{color:rgba(246,244,239,.82);font-size:1.08rem;max-width:42ch;}
.metodo-steps{list-style:none;display:grid;gap:0;}
.metodo-steps li{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.2rem,3vw,2.4rem);padding:clamp(1.8rem,3vw,2.6rem) 0;border-top:1px solid var(--linha-clara);}
.metodo-steps li:last-child{border-bottom:1px solid var(--linha-clara);}
.step-n{font-family:var(--serif);font-size:1.1rem;color:var(--dourado);padding-top:.35rem;}
.metodo-steps h3{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2rem);font-weight:600;color:var(--marfim);margin-bottom:.5rem;line-height:1.12;}
.metodo-steps p{color:rgba(246,244,239,.7);font-size:1rem;max-width:52ch;}

/* ---------- Instituto ---------- */
.instituto-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2.5rem,6vw,5.5rem);align-items:center;}
.instituto-portrait{margin:0;position:relative;}
.instituto-portrait::before{content:'';position:absolute;inset:-10px;border:1px solid var(--linha-forte);border-radius:26px;pointer-events:none;}
.portrait-media--tall{aspect-ratio:4/5;border-radius:20px;box-shadow:0 40px 80px -50px rgba(61,74,56,.7);border:1px solid rgba(201,173,122,.3);}
.instituto-text>p{color:var(--tinta-mute);font-size:1.08rem;margin-bottom:1.3rem;max-width:56ch;}
.instituto-text strong{color:var(--oliva);}
.signature{font-family:var(--serif);font-size:1.7rem;color:var(--oliva);font-weight:600;margin-top:2rem;line-height:1.2;}
.signature span{display:block;font-family:var(--sans);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dourado-2);font-weight:500;margin-top:.5rem;}

/* ---------- FAQ ---------- */
.faq{background:var(--marfim-2);}
.faq-list{max-width:900px;}
.faq-item{border-top:1px solid var(--linha-forte);}
.faq-item:last-child{border-bottom:1px solid var(--linha-forte);}
.faq-item summary{list-style:none;cursor:pointer;padding:1.7rem 3rem 1.7rem 0;font-family:var(--serif);font-size:clamp(1.3rem,2.4vw,1.7rem);font-weight:600;color:var(--oliva);position:relative;transition:color .3s;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'';position:absolute;right:.4rem;top:50%;width:14px;height:14px;margin-top:-7px;background:linear-gradient(var(--dourado-2),var(--dourado-2)) center/14px 1.5px no-repeat,linear-gradient(var(--dourado-2),var(--dourado-2)) center/1.5px 14px no-repeat;transition:transform .4s var(--ease);}
.faq-item[open] summary::after{transform:rotate(135deg);}
.faq-item summary:hover{color:var(--dourado-2);}
.faq-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease);}
.faq-item[open] .faq-body{grid-template-rows:1fr;}
.faq-body>p{overflow:hidden;color:var(--tinta-mute);padding-right:2.5rem;max-width:70ch;}
.faq-item[open] .faq-body>p{padding-bottom:1.7rem;}

/* ---------- Contato ---------- */
.contato{background:var(--oliva);color:var(--marfim);overflow:hidden;}
.contato-watermark{position:absolute;right:-6vw;top:-4vw;width:min(40vw,480px);height:auto;opacity:.06;pointer-events:none;}
.contato-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,5rem);align-items:start;position:relative;}
.contato-title{font-size:clamp(2.4rem,6vw,4.4rem);margin-top:.6rem;}
.contato-lead{color:rgba(246,244,239,.8);font-size:1.1rem;margin:1.6rem 0 2.6rem;max-width:40ch;}
.contato-info{list-style:none;display:grid;gap:0;}
.contato-info li{display:grid;gap:.35rem;border-top:1px solid var(--linha-clara);padding:1.3rem 0;}
.ci-label{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dourado);font-weight:600;}
.ci-value{font-size:1.15rem;color:var(--marfim);transition:color .3s;width:fit-content;}
a.ci-value{position:relative;}
a.ci-value::after{content:'';position:absolute;left:0;bottom:-2px;height:1px;width:0;background:var(--dourado);transition:width .4s var(--ease);}
a.ci-value:hover{color:var(--dourado);}
a.ci-value:hover::after{width:100%;}
/* Localização: endereço + atendimento ao lado do mapa (faixa de largura total) */
.contato-local{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,5rem);align-items:stretch;margin-top:clamp(2.6rem,5vw,4rem);padding-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--linha-clara);position:relative;}
.local-text{display:flex;flex-direction:column;gap:1.7rem;justify-content:center;}
.local-item{display:grid;gap:.4rem;}
.contato-map{position:relative;border-radius:16px;overflow:hidden;border:1px solid rgba(201,173,122,.35);box-shadow:0 30px 60px -40px rgba(0,0,0,.6);min-height:260px;}
.contato-map iframe{display:block;width:100%;height:100%;min-height:260px;border:0;filter:grayscale(.25) contrast(1.02);}
.contato-map .map-link{position:absolute;right:.9rem;bottom:.9rem;background:var(--marfim);color:var(--oliva);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600;padding:.55rem 1rem;border-radius:999px;box-shadow:0 6px 18px -6px rgba(0,0,0,.5);transition:background .3s,color .3s;}
.contato-map .map-link:hover{background:var(--dourado);color:var(--oliva-3);}

.contato-form{background:var(--marfim);border-radius:22px;padding:clamp(1.8rem,3.5vw,2.8rem);color:var(--tinta);box-shadow:0 40px 80px -40px rgba(0,0,0,.6);}
.form-intro{font-family:var(--serif);font-size:1.3rem;color:var(--oliva);margin-bottom:1.8rem;line-height:1.3;}
.field{margin-bottom:1.2rem;}
.field label{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-mute);font-weight:600;margin-bottom:.5rem;}
.field input,.field textarea{width:100%;font-family:var(--sans);font-size:1rem;padding:.9rem 1.05rem;border:1px solid var(--greige);border-radius:12px;background:var(--marfim);color:var(--tinta);transition:border-color .3s,box-shadow .3s;resize:vertical;}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--oliva);box-shadow:0 0 0 3px rgba(61,74,56,.1);}
.field select{width:100%;font-family:var(--sans);font-size:1rem;padding:.9rem 2.6rem .9rem 1.05rem;border:1px solid var(--greige);border-radius:12px;background-color:var(--marfim);color:var(--tinta);appearance:none;-webkit-appearance:none;cursor:pointer;transition:border-color .3s,box-shadow .3s;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%233D4A38' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1.05rem center;}
.field select:focus{outline:none;border-color:var(--oliva);box-shadow:0 0 0 3px rgba(61,74,56,.1);}
.consent{display:flex;gap:.8rem;align-items:flex-start;margin:1.4rem 0 1.5rem;cursor:pointer;}
.consent input{appearance:none;-webkit-appearance:none;width:20px;height:20px;flex-shrink:0;border:1px solid var(--greige);border-radius:5px;background:var(--marfim);cursor:pointer;position:relative;transition:background .3s,border-color .3s;margin-top:1px;}
.consent input:checked{background:var(--oliva);border-color:var(--oliva);}
.consent input:checked::after{content:'';position:absolute;left:6px;top:2.5px;width:5px;height:10px;border:solid var(--marfim);border-width:0 1.5px 1.5px 0;transform:rotate(45deg);}
.consent input:focus-visible{outline:2px solid var(--dourado-2);outline-offset:2px;}
.consent span{font-size:.82rem;color:var(--tinta-mute);line-height:1.5;}
.form-note{font-size:.76rem;color:var(--tinta-mute);margin-top:.9rem;text-align:center;}

/* =====================================================================
   FOOTER
   ===================================================================== */
.site-footer{background:var(--oliva-4);color:var(--marfim);padding:clamp(3.5rem,7vw,5.5rem) 0 2.5rem;}
.footer-top{display:grid;grid-template-columns:1.5fr .7fr;gap:clamp(2rem,5vw,4rem);align-items:start;padding-bottom:3rem;border-bottom:1px solid var(--linha-clara);}
.footer-logo{height:58px;width:auto;}
.footer-desc{margin-top:1.4rem;font-size:.9rem;color:rgba(246,244,239,.6);line-height:1.7;max-width:38ch;}
.footer-col-title{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--dourado);font-weight:600;margin-bottom:1.2rem;}
.footer-nav{display:flex;flex-direction:column;gap:.75rem;}
.footer-nav a{font-size:.9rem;color:rgba(246,244,239,.72);transition:color .3s;width:fit-content;}
.footer-nav a:hover{color:var(--dourado);}
.footer-address{font-style:normal;font-size:.9rem;color:rgba(246,244,239,.72);line-height:1.9;}
.footer-address a{color:rgba(246,244,239,.85);transition:color .3s;}
.footer-address a:hover{color:var(--dourado);}
.footer-legal{margin-top:2.4rem;}
.footer-legal p{font-size:.76rem;color:rgba(246,244,239,.5);line-height:1.75;max-width:980px;}
.footer-tech{margin-top:1rem;color:rgba(246,244,239,.4) !important;}

/* Floating WhatsApp */
.wa-float{position:fixed;right:clamp(1rem,3vw,2.2rem);bottom:clamp(1rem,3vw,2.2rem);z-index:900;width:56px;height:56px;border-radius:50%;background:var(--oliva);color:var(--marfim);display:flex;align-items:center;justify-content:center;box-shadow:0 14px 34px -10px rgba(61,74,56,.8);transition:transform .5s var(--ease),background .4s;will-change:transform;}
.wa-float:hover{background:var(--dourado);color:var(--oliva-3);}

/* =====================================================================
   CAMADAS TECNOLÓGICAS  (canvas do hero, cursor, precisão, console)
   ===================================================================== */
/* Guias editoriais do hero (colunas de fio fino) */
.hero-guides{position:absolute;inset:0;z-index:0;pointer-events:none;}
.hero-guides span{position:absolute;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,rgba(246,244,239,.10) 18%,rgba(246,244,239,.10) 82%,transparent);}
.hero-guides span:nth-child(1){left:25%;}
.hero-guides span:nth-child(2){left:50%;}
.hero-guides span:nth-child(3){left:75%;}
.hero-guides span:nth-child(4){left:100%;transform:translateX(-1px);}
.hero-grid{z-index:2;}
.hero-monogram{z-index:1;}

/* mono label */
.mono{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;}
/* (anéis de precisão removidos na revisão de composição — decorativos) */

/* =====================================================================
   DETALHISMO  (cantos, réguas finas, índices, marcas)
   ===================================================================== */
/* Régua fina antes do kicker */
.section-kicker{display:inline-flex;align-items:center;}
.section-kicker::before{content:'';width:26px;height:1px;background:currentColor;opacity:.55;margin-right:.75rem;}

/* Índice da seção como chip com moldura */
.section-index{border-top:0;padding-top:0;width:48px;height:48px;border:1px solid var(--linha-forte);border-radius:3px;display:inline-flex;align-items:center;justify-content:center;}
.section-index.light{border-color:rgba(201,173,122,.4);}

/* Molduras com cantos (brackets editoriais) nos retratos */
.hero-portrait::before,.instituto-portrait::before{
  content:'';position:absolute;inset:-13px;pointer-events:none;border:0 !important;border-radius:0;--s:22px;
  background:
    linear-gradient(var(--c),var(--c)) left top/var(--s) 1px no-repeat,
    linear-gradient(var(--c),var(--c)) left top/1px var(--s) no-repeat,
    linear-gradient(var(--c),var(--c)) right top/var(--s) 1px no-repeat,
    linear-gradient(var(--c),var(--c)) right top/1px var(--s) no-repeat,
    linear-gradient(var(--c),var(--c)) left bottom/var(--s) 1px no-repeat,
    linear-gradient(var(--c),var(--c)) left bottom/1px var(--s) no-repeat,
    linear-gradient(var(--c),var(--c)) right bottom/var(--s) 1px no-repeat,
    linear-gradient(var(--c),var(--c)) right bottom/1px var(--s) no-repeat;
}
.hero-portrait::before{--c:rgba(201,173,122,.6);}
.instituto-portrait::before{--c:rgba(61,74,56,.45);}

/* Régua superior sutil nas seções claras alternadas */
/* (hairlines substituídos pelo sistema de divisores de ato — ver TRANSIÇÕES) */

/* Âncoras respeitam o cabeçalho fixo */
[id]{scroll-margin-top:118px;}

/* =====================================================================
   PROFUNDIDADE SCROLL-DRIVEN  (CSS scroll-driven animations, nativo 2025)
   As imagens "assentam" de uma escala maior conforme entram na tela —
   profundidade cinematográfica sem JS. Fallback: imagem estática.
   ===================================================================== */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .portrait-media--tall img{
      animation:imgSettle linear both;
      animation-timeline:view();
      animation-range:entry 0% cover 45%;
    }
    .quote-bg{
      animation:bgDrift linear both;
      animation-timeline:view();
      animation-range:entry 0% exit 100%;
    }
  }
}
@keyframes imgSettle{from{transform:scale(1.14);}to{transform:scale(1);}}
@keyframes bgDrift{from{transform:scale(1.05) translateY(-1%);}to{transform:scale(1) translateY(1%);}}

/* =====================================================================
   REVEAL
   ===================================================================== */
html.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1s var(--ease);}
html.js [data-reveal].in{opacity:1;transform:none;}
html.js .reveal-lines{opacity:0;transform:translateY(20px);transition:opacity 1s var(--ease),transform 1s var(--ease);}
html.js .reveal-lines.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  html.js [data-reveal],html.js .reveal-lines{opacity:1 !important;transform:none !important;transition:none;}
  html.js .hero-title,html.js .hero-eyebrow,html.js .hero-sub,html.js .hero-note,html.js .hero-actions,html.js .hero-portrait{opacity:1 !important;transform:none !important;}
}

/* =====================================================================
   REFINAMENTO MONTSERRAT — pesos mais leves para elegância geométrica
   ===================================================================== */
.card h3,.metodo-steps h3,.faq-item summary,.busca-strong{font-weight:500;}
.signature{font-weight:500;}
.quote-mark{font-weight:300;}
.hero-title,.manifesto-text,.statement-close,.busca-list p{letter-spacing:-.01em;}

/* =====================================================================
   REVISÃO · SISTEMA DE IDENTIDADE VISUAL (Brand Guidelines 2026)
   "O dourado reprova como cor de texto sobre marfim (1,96:1) — reservado
   a acentos, filetes e detalhes." → texto pequeno em fundo claro vira
   verde oliva; o dourado permanece em filetes, ícones e fundos escuros
   (AA grande/acento, com tom clareado --dourado-3 para mais contraste).
   ===================================================================== */
/* Fundo claro: texto dourado → oliva */
.section-kicker{color:var(--oliva);}
.section-kicker::before{background:var(--dourado-2);opacity:1;}
.section-index{color:var(--oliva);}
.card-num,.busca-n{color:var(--oliva);opacity:.75;}
.signature span{color:var(--oliva);opacity:.8;}
.manifesto-text em,.statement-close em,.fabio-destaque em,.alem-close em{color:var(--oliva-2);}
.busca-list li:hover p em{color:var(--oliva-2);}
.tech-lead em{color:var(--oliva-2);}
.faq-item summary:hover{color:var(--oliva-2);}
/* Fundo escuro: dourado clareado para texto pequeno (AA) */
.section-kicker.gold{color:var(--dourado-3);}
.section-index.light{color:var(--dourado-3);}
.step-n{color:var(--dourado-3);}
.ci-label{color:var(--dourado-3);}
.footer-col-title{color:var(--dourado-3);}
.hero-portrait figcaption span{color:var(--dourado-3);}
.console-live{color:var(--dourado-3);}
.precision-meta .mono{color:var(--dourado-3);}

/* Ornamento de 4 pétalas (sistema) */
.orn{width:13px;height:13px;fill:var(--dourado-2);flex-shrink:0;}
.hero-eyebrow .orn{fill:var(--dourado);}
.footer-orn{display:flex;justify-content:center;padding-top:2.4rem;}
.footer-orn .orn{width:16px;height:16px;fill:var(--dourado);opacity:.75;}

/* =====================================================================
   DIAGRAMAÇÃO — refinamentos de espaçamento (revisão final)
   ===================================================================== */
.busca-list li{padding:clamp(1.4rem,2.6vw,2.1rem) 0;}
.cards-cta{margin-top:clamp(2.5rem,5vw,3.5rem);}
.metodo-aside{top:140px;}
.quote-inner{padding-block:clamp(3.5rem,7vw,5rem);}
@media (max-width:640px){
  /* No mobile o retrato ocupa a largura toda: citação em largura plena, sobre a base escurecida */
  .quote-inner{max-width:100%;margin-left:0;}
  /* Véu sobe do rodapé; o rosto permanece em cor natural no topo */
  .quote-band::after{background:linear-gradient(0deg,rgba(26,33,24,.94) 0%,rgba(26,33,24,.72) 32%,rgba(26,33,24,.26) 58%,transparent 78%);}
}
.instituto-text .section-head{margin-bottom:clamp(2rem,4vw,3rem);}
/* Card largo (Longevidade): layout editorial em duas colunas */
@media (min-width:641px){
  .card--wide{display:grid;grid-template-columns:1fr 1.15fr;grid-template-areas:"top top" "titulo texto";column-gap:clamp(2rem,4vw,3.5rem);}
  .card--wide .card-top{grid-area:top;margin-bottom:1.8rem;}
  .card--wide h3{grid-area:titulo;margin:0;align-self:start;}
  .card--wide p{grid-area:texto;align-self:start;}
}

/* =====================================================================
   ARQUITETURA FINAL — novas seções (03 Diferenciação, 04 Tensão,
   08 Vida real, 09 Permanência) + nota do hero
   ===================================================================== */
/* Hero: linha de apoio */
.hero-note{font-size:.95rem;color:rgba(246,244,239,.62);margin:-1.4rem 0 2.4rem;max-width:44ch;}
.hero-note em{font-style:italic;color:var(--dourado-3);}
html.js .hero-note{opacity:0;transform:translateY(16px);}
html.js .ready .hero-note{opacity:1;transform:none;transition:opacity 1s var(--ease) .86s,transform 1s var(--ease) .86s;}

/* 03 · Diferenciação — contraste "Uma / Outra" (banda sálvia: degrau tonal após a Identificação) */
.contraste{background:var(--salvia);}
.contraste-intro{font-family:var(--fraunces);font-weight:300;font-size:clamp(1.5rem,3.2vw,2.4rem);line-height:1.2;color:var(--oliva);margin-bottom:clamp(2rem,4vw,3rem);letter-spacing:-.01em;}
.contraste-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:stretch;max-width:980px;}
.contraste-line{width:1px;background:linear-gradient(180deg,transparent,var(--dourado) 20%,var(--dourado) 80%,transparent);}
.contraste-tag{display:inline-block;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--oliva);font-weight:600;border:1px solid var(--linha-forte);border-radius:999px;padding:.4rem 1.1rem;margin-bottom:1.4rem;}
.contraste-col p{font-family:var(--fraunces);font-weight:300;font-size:clamp(1.2rem,2.2vw,1.7rem);line-height:1.3;color:var(--tinta);padding:1rem 0;border-top:1px solid var(--linha);letter-spacing:-.005em;}
.contraste-col p:last-child{border-bottom:1px solid var(--linha);}
.contraste-close{margin-top:clamp(2.4rem,5vw,3.6rem);max-width:720px;}
.contraste-punch{font-family:var(--fraunces);font-weight:300;font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.24;color:var(--oliva);margin-bottom:1rem;letter-spacing:-.01em;}
.contraste-punch em{font-style:italic;color:var(--oliva-2);}
.contraste-close>p:last-child{color:var(--tinta-mute);font-size:1.05rem;max-width:58ch;}

/* 04 · Tensão — chips da rotina */
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:clamp(2.4rem,5vw,3.6rem);}
.chips li{font-family:var(--serif);font-weight:400;font-size:clamp(1rem,1.8vw,1.25rem);color:var(--oliva);border:1px solid var(--linha-forte);border-radius:999px;padding:.65rem 1.4rem;background:var(--marfim);transition:background .4s var(--ease),border-color .4s;}
.chips li:hover{background:var(--salvia);border-color:transparent;}

/* 08 · Vida real */
.vida{background:var(--marfim);border-top:1px solid var(--linha);}
.vida-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2.5rem,6vw,5rem);align-items:end;}
.vida-intro{color:var(--tinta-mute);font-size:1.05rem;margin-bottom:1.8rem;max-width:44ch;}
.vida-list{list-style:none;display:grid;}
.vida-list li{font-family:var(--fraunces);font-weight:300;font-size:clamp(1.3rem,2.6vw,2rem);line-height:1.25;color:var(--tinta);padding:clamp(.9rem,1.8vw,1.3rem) 0;border-top:1px solid var(--linha);letter-spacing:-.005em;transition:color .4s;}
.vida-list li:last-child{border-bottom:1px solid var(--linha);}
.vida-list li:hover{color:var(--oliva);}
.vida-close{font-family:var(--fraunces);font-weight:300;font-size:clamp(1.4rem,2.8vw,2.1rem);line-height:1.3;color:var(--oliva);border-left:2px solid var(--dourado);padding-left:clamp(1.2rem,2.4vw,2rem);letter-spacing:-.01em;}
.vida-close em{font-style:italic;color:var(--oliva-2);}

/* 09 · Permanência */
.perm{background:var(--marfim-2);}
.perm-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,5rem);align-items:center;}
.perm-body p{font-size:clamp(1.05rem,1.6vw,1.2rem);color:var(--tinta-mute);margin-bottom:1.1rem;max-width:50ch;}
.perm-close{background:var(--oliva);border-radius:20px;padding:clamp(2.2rem,4vw,3.4rem);}
.perm-close p{font-family:var(--fraunces);font-weight:300;font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.32;color:var(--marfim);letter-spacing:-.01em;}
.perm-close p+p{margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid rgba(201,173,122,.35);}
.perm-close em{font-style:italic;color:var(--dourado-3);}

/* Detalhismo tipográfico: sem viúvas nas linhas editoriais e parágrafos-chave */
.busca-list p,.contraste-col p,.contraste-punch,.vida-list li,.vida-close,
.statement-body p,.statement-close,.perm-body p,.perm-close p,
.instituto-text>p,.busca-close p,.contraste-close p,.manifesto-text,
.metodo-steps p,.card p,.hero-sub,.hero-note{text-wrap:pretty;}

/* Seleção de texto nas superfícies escuras: dourado sobre oliva */
.hero ::selection,.metodo ::selection,.contato ::selection,.quote-band ::selection,
.site-footer ::selection,.perm-close ::selection,.marquee ::selection{background:var(--dourado);color:var(--oliva-4);}

/* Chips são informativos, não interativos */
.chips li{cursor:default;user-select:none;}

/* =====================================================================
   FAIXAS DE RUPTURA VISUAL — apenas 3 pontos, para quebrar seções claras
   consecutivas. Imagem full-bleed, overlay sutil de coesão, altura contida
   (respiro, não banner). Assunto à direita; foco preservado no mobile.
   ===================================================================== */
.ruptura{position:relative;width:100%;overflow:hidden;background:var(--oliva-4);line-height:0;content-visibility:auto;contain-intrinsic-size:auto 460px;}
.ruptura picture,.ruptura img{display:block;width:100%;height:clamp(320px,48vw,560px);object-fit:cover;object-position:70% 24%;}
.ruptura::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(35,44,33,.28) 0%,rgba(35,44,33,.08) 40%,transparent 70%),linear-gradient(0deg,rgba(26,33,24,.14),transparent 30%);}
.ruptura--clara::after{background:linear-gradient(90deg,rgba(26,33,24,.62) 0%,rgba(26,33,24,.3) 32%,transparent 56%);}
.ruptura--clara picture,.ruptura--clara img{object-position:50% 62%;}
/* Sujeito à esquerda (prato composto): preserva a peça, escurece o vazio à direita */
.ruptura--esq picture,.ruptura--esq img{object-position:20% 88%;}
.ruptura--centro picture,.ruptura--centro img{object-position:42% 68%;}
.ruptura--peca::after{background:linear-gradient(270deg,rgba(35,44,33,.42) 0%,rgba(35,44,33,.18) 34%,transparent 52%),linear-gradient(0deg,rgba(26,33,24,.12),transparent 22%);}
/* Legenda editorial sobre a área livre da imagem (direita) */
.ruptura-caption{position:absolute;z-index:1;right:clamp(2rem,8vw,8.5rem);top:50%;transform:translateY(-50%);line-height:1.35;pointer-events:none;}
.rc-kicker{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--dourado-3);font-weight:500;margin-bottom:.8rem;}
.rc-text{font-family:var(--fraunces);font-weight:300;font-size:clamp(1.25rem,1.9vw,1.75rem);line-height:1.4;color:var(--marfim);max-width:17ch;text-wrap:pretty;}
.rc-text em{font-style:italic;color:var(--dourado-3);}
/* Variante à esquerda: sobre o véu escuro do lado esquerdo da imagem */
.ruptura-caption--esq{right:auto;left:clamp(2rem,8vw,8.5rem);}
.ruptura-caption--esq .rc-kicker{color:var(--marfim);opacity:.85;}
@media (max-width:640px){
  .ruptura picture,.ruptura img{height:clamp(300px,62vw,420px);object-position:65% 50%;}
  .ruptura--esq picture,.ruptura--esq img,
  .ruptura--centro picture,.ruptura--centro img{object-position:50% 50%;}
  /* No mobile o crop fecha no prato: a imagem fala sozinha */
  .ruptura-caption{display:none;}
}

/* =====================================================================
   TRANSIÇÕES DE ATO — cadência tonal completa + divisor assinado da marca
   Cada fronteira entre seções é um degrau tonal deliberado; as seções
   claras abrem com o florão de 4 pétalas do sistema, cujos fios dourados
   se desenham do centro para fora ao entrar na tela (scroll-driven,
   nativo, com fallback estático e respeito a reduced-motion).
   Sequência: escuro → marfim → sálvia → marfim-2 → marfim → marfim-2 →
   foto escura → oliva → marfim → marfim-2 → sálvia → oliva → oliva-4
   ===================================================================== */
.cuidado{background:var(--marfim);}
.instituto{background:var(--marfim-2);}
.metodo{border-top:1px solid rgba(201,173,122,.22);}
.contato{border-top:1px solid rgba(201,173,122,.22);}
.site-footer{border-top:1px solid rgba(201,173,122,.16);}

/* Divisor de ato (florão + fios) no topo das seções claras */
.busca::before,.contraste::before,.statement::before,.cuidado::before,.instituto::before,.vida::before,.perm::before,.manifesto::before{
  content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:min(380px,72%);height:15px;pointer-events:none;opacity:.85;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='%23B8975F'%3E%3Cpath d='M12 1.5c2.5 3 2.5 6 0 9-2.5-3-2.5-6 0-9Z'/%3E%3Cpath d='M12 13.5c2.5 3 2.5 6 0 9-2.5-3-2.5-6 0-9Z'/%3E%3Cpath d='M1.5 12c3-2.5 6-2.5 9 0-3 2.5-6 2.5-9 0Z'/%3E%3Cpath d='M13.5 12c3-2.5 6-2.5 9 0-3 2.5-6 2.5-9 0Z'/%3E%3C/g%3E%3C/svg%3E") center/13px 13px no-repeat,
    linear-gradient(var(--dourado-2),var(--dourado-2)) left center/calc(50% - 16px) 1px no-repeat,
    linear-gradient(var(--dourado-2),var(--dourado-2)) right center/calc(50% - 16px) 1px no-repeat;
}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .busca::before,.contraste::before,.statement::before,.cuidado::before,.instituto::before,.vida::before,.perm::before,.manifesto::before{
      animation:divDraw linear both;
      animation-timeline:view();
      animation-range:entry 0% entry 45%;
    }
  }
}
@keyframes divDraw{
  from{opacity:0;background-size:13px 13px,0 1px,0 1px;}
  to{opacity:.85;background-size:13px 13px,calc(50% - 16px) 1px,calc(50% - 16px) 1px;}
}

/* =====================================================================
   PERFORMANCE — renderização sob demanda (content-visibility, nativo 2024+)
   Seções fora da tela não são renderizadas até se aproximarem do viewport;
   `auto` em contain-intrinsic-size memoriza a altura real após a 1ª pintura
   (scrollbar estável). Degrada de forma invisível em navegadores antigos.
   ===================================================================== */
.busca,.contraste,.statement,.cuidado,.instituto,.quote-band,.metodo,.vida,.perm,.manifesto,.contato,.site-footer{
  content-visibility:auto;
  contain-intrinsic-size:auto 900px;
}

/* =====================================================================
   ENTREGA FINAL — scrollspy, feedback de formulário e impressão
   ===================================================================== */
/* Seção ativa destacada no menu */
.nav a.active{background:rgba(61,74,56,.08);color:var(--oliva-2);}
.nav a.active::after{content:'';position:absolute;left:50%;bottom:3px;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--dourado-2);}

/* Mensagem de status do formulário (acessível) */
.form-status{display:none;margin:0 0 1.1rem;padding:.8rem 1rem;border-left:2px solid var(--dourado-2);background:var(--marfim-2);border-radius:0 10px 10px 0;font-size:.86rem;color:var(--oliva-2);font-weight:500;}
.form-status.show{display:block;animation:statusIn .35s var(--ease);}
@keyframes statusIn{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:none;}}

/* Impressão: documento limpo */
@media print{
  .busca,.contraste,.statement,.cuidado,.instituto,.quote-band,.metodo,.vida,.perm,.manifesto,.contato,.site-footer{content-visibility:visible;contain-intrinsic-size:none;}
  .preloader,.grain,.wa-float,.nav,.nav-toggle,.mobile-nav,.btn,.hero-scroll,.marquee,.scroll-progress,.hero-guides,.hero-monogram,.metodo-watermark,.contato-watermark{display:none !important;}
  .site-header{position:static;box-shadow:none;}
  body{background:#fff;color:#000;}
  .hero,.metodo,.contato,.quote-band,.site-footer{background:#fff !important;color:#000 !important;min-height:0;}
  .perm-close{background:#fff !important;border:1px solid #bbb;}
  .perm-close p,.perm-close em{color:#000 !important;}
  .section{padding:1.5rem 0;}
  .section-title,.hero-title,.metodo-steps h3{color:#000 !important;}
  html.js [data-reveal],html.js .reveal-lines,html.js .hero-title,html.js .hero-sub,html.js .hero-note,html.js .hero-actions,html.js .hero-portrait,html.js .hero-eyebrow{opacity:1 !important;transform:none !important;}
}

/* =====================================================================
   DIREÇÃO DE ARTE FINAL — picos e vales, inteligência visual
   (refina hierarquia sem alterar identidade, paleta, tipos ou copy)
   ===================================================================== */

/* — HERO: split limpo e alinhado (todo o texto numa coluna, retrato à direita) — */
.hero{padding-top:calc(112px + clamp(1.4rem,4vw,3rem));padding-bottom:clamp(3rem,6vw,5rem);}
.hero-grid{align-items:center;}
.hero-portrait .portrait-media{aspect-ratio:4/4.6;}
.hero-actions{margin:1.9rem 0 1.7rem;}
.hero-sub{margin:0 0 .8rem;font-size:1rem;color:rgba(246,244,239,.62);max-width:46ch;}
.hero-note{margin:0;font-size:.82rem;color:rgba(246,244,239,.42);}
.hero-note em{color:rgba(216,192,143,.7);}
html.js .ready .hero-actions{transition:opacity 1s var(--ease) .7s,transform 1s var(--ease) .7s;}
html.js .ready .hero-sub{transition:opacity 1s var(--ease) .84s,transform 1s var(--ease) .84s;}
html.js .ready .hero-note{transition:opacity 1s var(--ease) .94s,transform 1s var(--ease) .94s;}

/* — IDENTIFICAÇÃO: numeração discreta que responde; fecho com mais presença — */
.busca-n{color:var(--greige);transition:color .25s var(--ease-2);}
.busca-list li{transition:transform .3s var(--ease-2);}
.busca-list li:hover{transform:translateX(10px);}
.busca-list li:hover .busca-n{color:var(--dourado-2);}
.busca-strong{font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.16;}

/* — DIFERENCIAÇÃO: comparativo editorial de informação — */
.contraste-grid{grid-template-columns:1fr auto 1fr;max-width:1020px;gap:clamp(1.8rem,4.5vw,4rem);}
.cmp-label{display:block;font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;color:var(--tinta-mute);font-weight:600;margin-bottom:.55rem;}
.cmp-obj{font-family:var(--fraunces);font-weight:400;font-size:clamp(1.25rem,2.2vw,1.65rem);line-height:1.15;color:var(--oliva);margin-bottom:1.7rem;letter-spacing:-.005em;}
.contraste-div{display:flex;flex-direction:column;align-items:center;gap:.9rem;}
.contraste-div i{flex:1;width:1px;min-height:40px;background:linear-gradient(180deg,transparent,var(--dourado));}
.contraste-div i:last-child{background:linear-gradient(180deg,var(--dourado),transparent);}
.contraste-div span{font-family:var(--fraunces);font-weight:300;font-size:clamp(1.5rem,2.4vw,2rem);color:var(--dourado-2);line-height:1;}
.contraste-punch{font-size:clamp(1.9rem,4.2vw,3.4rem);}

/* Contraste de leitura sobre a banda sálvia (AA) */
.contraste .cmp-label{color:var(--oliva-2);}
.contraste .section-kicker{color:var(--oliva-2);}
.contraste-close>p:last-child{color:var(--tinta);opacity:.82;}
.contraste-col p{color:var(--oliva-2);}
.contraste-col p{border-top-color:rgba(61,74,56,.22);}
.contraste-col p:last-child{border-bottom-color:rgba(61,74,56,.22);}
.contraste .section-index{border-color:rgba(61,74,56,.32);}

/* — TENSÃO: mapa editorial da rotina (sem chips) + pull quote maior — */
.rotina-map{display:flex;flex-wrap:wrap;align-items:center;gap:1.1rem 1.5rem;margin-bottom:clamp(2.6rem,5vw,4rem);max-width:920px;}
.rotina-map span{font-size:clamp(.82rem,1.5vw,1.02rem);letter-spacing:.22em;text-transform:uppercase;color:var(--oliva);font-weight:500;white-space:nowrap;}
.rotina-map i{color:var(--dourado-2);font-style:normal;line-height:1;}
.rotina-map .rm-up{transform:translateY(-5px);}
.rotina-map .rm-down{transform:translateY(6px);}
.statement-close{font-size:clamp(1.8rem,3.8vw,3.1rem);}

/* — ATUAÇÃO: numeral-âncora fantasma; hover em verde institucional — */
.card{transition:background .35s var(--ease-2);}
.card-num{font-family:var(--fraunces);font-size:clamp(1.7rem,2.6vw,2.3rem);font-weight:300;letter-spacing:0;color:var(--oliva);opacity:.24;transition:color .35s,opacity .35s;}
.card h3,.card p{transition:color .35s;}
.card:hover{background:var(--oliva);}
.card:hover h3{color:var(--marfim);}
.card:hover p{color:rgba(246,244,239,.72);}
.card:hover .card-num{color:var(--dourado-3);opacity:1;}
.card-arrow{color:var(--dourado-3);}

/* — DR. FÁBIO: retrato com mais presença; "Parte da sua." como pico —
   (seletor com especificidade acima de .instituto-text>p, que silenciava o pico) */
.instituto-inner{grid-template-columns:.82fr 1.18fr;gap:clamp(2.5rem,5vw,4.5rem);align-items:start;}
/* Título alinhado ao topo do retrato, com linhas mais longas (preenchimento horizontal) */
.instituto-text .section-title{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.18;max-width:none;}
.instituto-text>p{max-width:62ch;font-size:1.1rem;}
.instituto-portrait{margin-top:.5rem;}
.portrait-media--tall{aspect-ratio:3.75/5;}
.instituto-text>p.fabio-destaque{font-family:var(--fraunces);font-weight:300;font-size:clamp(1.65rem,2.9vw,2.4rem);line-height:1.24;letter-spacing:-.01em;color:var(--oliva);border-left:0;padding-left:0;margin:clamp(2rem,3.8vw,3rem) 0;max-width:none;}
.instituto-text>p.fabio-destaque em{display:block;margin-top:.3em;font-style:italic;color:var(--oliva-2);}

/* — NA PRÁTICA: sequência progressiva de raciocínio (não 4 blocos iguais) — */
html.js .metodo-steps li{opacity:.38;transition:opacity .5s var(--ease-2);}
html.js .metodo-steps li.is-active{opacity:1;}
.step-n{font-family:var(--fraunces);font-size:clamp(1.6rem,2.4vw,2.2rem);font-weight:300;line-height:1;color:rgba(246,244,239,.32);transition:color .4s var(--ease-2);padding-top:.1rem;}
.metodo-steps li.is-active .step-n{color:var(--dourado-3);}
.metodo-steps li{border-top-color:rgba(246,244,239,.1);}

/* — VIDA REAL: situações dominantes, fecho isolado — */
.vida-list li{font-size:clamp(1.5rem,3.2vw,2.6rem);}

/* — PERMANÊNCIA: o espaço entre o plano e o retorno — */
.perm-labels{font-family:var(--sans);font-size:.64rem;letter-spacing:.3em;text-transform:uppercase;color:var(--dourado-3);font-weight:600;margin-bottom:1.7rem;}

/* — INSTITUTO: desaceleração, respiro amplo, marca d'água oficial — */
.manifesto{position:relative;overflow:hidden;padding:clamp(6rem,14vw,11rem) 0;}
.manifesto .container{position:relative;z-index:1;}
.manifesto-mark{position:absolute;right:-5%;top:50%;transform:translateY(-50%);width:min(44vw,500px);height:auto;opacity:.045;pointer-events:none;}

/* — FORMULÁRIO: começa pelo objetivo, lista selecionável calma — */
/* (campo "objetivo" padronizado como select — regras de rádio removidas) */

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:1000px){
  .nav,.btn-header{display:none;}
  .nav-toggle{display:flex;}
  .site-header.menu-open .mobile-nav{display:flex;}
  .hero-grid{grid-template-columns:1fr;gap:2.5rem;}
  .hero-portrait{max-width:440px;margin-top:.5rem;}
  .hero{min-height:auto;padding-top:130px;}
  .hero-scroll{display:none;}
  .metodo-inner,.instituto-inner,.contato-inner,.statement-grid,.alem-grid,.vida-grid,.perm-grid,.contato-local{grid-template-columns:1fr;}
  .contato-map{min-height:300px;}
  .contraste-grid{grid-template-columns:1fr;}
  .contraste-line{width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--dourado) 20%,var(--dourado) 80%,transparent);}
  .vida-grid{align-items:start;}
  .alem-visual{max-width:420px;}
  .metodo-aside{position:static;}
}
@media (max-width:760px){
  .brand-logo{height:56px;}
  .site-header.scrolled .brand-logo{height:48px;}
  .header-inner{min-height:92px;}
  .site-header.scrolled .header-inner{min-height:78px;}
}
@media (max-width:400px){
  .brand-logo{height:48px;}
}
@media (max-width:640px){
  .cards{grid-template-columns:1fr;}
  .section-head{grid-template-columns:1fr;gap:.8rem;}
  .section-index{border-top:0;padding-top:0;}
  .footer-top{grid-template-columns:1fr;gap:2rem;}
  .footer-logo{height:48px;}
  .instituto-portrait{max-width:420px;}
}

/* Comparativo e mapa da rotina no empilhamento vertical */
@media (max-width:1000px){
  .contraste-div{flex-direction:row;width:100%;min-height:0;}
  .contraste-div i{width:auto;height:1px;min-height:0;flex:1;}
  .contraste-div i:first-child{background:linear-gradient(90deg,transparent,var(--dourado));}
  .contraste-div i:last-child{background:linear-gradient(90deg,var(--dourado),transparent);}
}
@media (max-width:640px){
  .rotina-map{gap:.7rem 1rem;}
  .rotina-map .rm-up,.rotina-map .rm-down{transform:none;}
}
@media (prefers-reduced-motion:reduce){
  html.js .metodo-steps li{opacity:1 !important;}
  .busca-list li:hover{transform:none;}
}

/* =====================================================================
   LAPIDAÇÃO FINAL — profundidade, envidraçamento e microdetalhes
   (vidro com fallback sólido; tudo respeita prefers-reduced-motion)
   ===================================================================== */

/* Cabeçalho envidraçado ao rolar (fallback: marfim sólido já definido) */
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .site-header.scrolled{background:rgba(246,244,239,.78);-webkit-backdrop-filter:saturate(1.5) blur(16px);backdrop-filter:saturate(1.5) blur(16px);}
  .site-header.menu-open{background:var(--marfim);-webkit-backdrop-filter:none;backdrop-filter:none;}
  .mobile-nav{background:rgba(246,244,239,.88);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);}
}

/* Legendas das faixas: placas de vidro (contraste local garantido pela placa) */
.ruptura-caption{padding:1.35rem 1.7rem 1.5rem;border-radius:18px;background:rgba(26,33,24,.38);border:1px solid rgba(246,244,239,.14);box-shadow:0 26px 54px -30px rgba(0,0,0,.6),inset 0 1px 0 rgba(246,244,239,.09);}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .ruptura-caption{background:rgba(26,33,24,.26);-webkit-backdrop-filter:blur(12px) saturate(1.05);backdrop-filter:blur(12px) saturate(1.05);}
}
/* Com a placa de vidro, o véu esquerdo da piscina pode ser mais leve */
.ruptura--clara::after{background:linear-gradient(90deg,rgba(26,33,24,.42) 0%,rgba(26,33,24,.18) 32%,transparent 56%);}

/* Faixas assentadas na página: sombra interna sutil nas bordas */
.ruptura::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(26,33,24,.14),transparent 26px),linear-gradient(0deg,rgba(26,33,24,.14),transparent 26px);}

/* Retratos: brilho de vitrine + gradê original fundidos + sombra em camadas */
.portrait-media::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;mix-blend-mode:normal;
  background:linear-gradient(160deg,rgba(255,255,255,.12),transparent 34%),linear-gradient(180deg,rgba(35,44,33,.02) 0%,rgba(35,44,33,.2) 100%),linear-gradient(120deg,rgba(61,74,56,.1),transparent 55%);}
.instituto-portrait .portrait-media{box-shadow:0 44px 88px -48px rgba(35,44,33,.55),0 10px 30px -18px rgba(35,44,33,.25);}

/* Cards: fio dourado interno no hover (profundidade sem quebrar a grade) */
.card:hover{box-shadow:inset 0 0 0 1px rgba(201,173,122,.4);}

/* Botões: luz interna superior + elevação no hover */
.btn-gold{box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 10px 26px -16px rgba(201,173,122,.55);}
.btn-primary,.btn-header{box-shadow:inset 0 1px 0 rgba(255,255,255,.12);}
.btn:hover{transform:translateY(-2px);}
.btn:active{transform:translateY(0);}
@media (prefers-reduced-motion:reduce){.btn:hover,.btn:active{transform:none;}}

/* Formulário: vitrine sobre o oliva (fio dourado + sombra profunda + campos assentados) */
.contato-form{border:1px solid rgba(201,173,122,.28);box-shadow:0 60px 120px -60px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.55);}
.field input,.field select,.field textarea{box-shadow:inset 0 1px 3px rgba(35,44,33,.06);}

/* WhatsApp flutuante envidraçado */
.wa-float{background:rgba(61,74,56,.86);border:1px solid rgba(246,244,239,.2);}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .wa-float{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);}
}
.wa-float:hover{background:var(--dourado);border-color:transparent;}

/* Barra de rolagem discreta na paleta da marca */
html{scrollbar-color:#BDB6A9 var(--marfim);}

/* Citação: fio dourado a assentar a faixa entre seções claras */
.quote-band{box-shadow:inset 0 1px 0 rgba(201,173,122,.22),inset 0 -1px 0 rgba(201,173,122,.16);}
