/* ─── FONTE LOCAL ─── */
@font-face {
  font-family: 'Naked Power';
  src: url('../Naked Power Bd.otf') format('opentype');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Naked Power';
  src: url('../Naked Power Bd.otf') format('opentype');
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

/* ─── TOKENS ─── */
:root {
  --bg:      #9FC8B6;
  --surface: #BBA446;
  --ink:     #171717;
  --olive:   #5E6B40;
  --burg:    #B54426;
  --accent:  #E29D02;
  --white:   #FFFFFF;

  --f-display: 'Naked Power', system-ui, sans-serif;
  --f-body:    'Instrument Sans', system-ui, sans-serif;

  --ease:    cubic-bezier(.76,0,.24,1);
  --ease-in: cubic-bezier(.4,0,1,1);
}

/* ─── RESET ─── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  font-family: var(--f-body);
  background: var(--bg);
  color: var(--ink);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
img  { display:block; max-width:100%; }
a    { color:inherit; text-decoration:none; }
ul,ol{ list-style:none; }
button { font-family:inherit; }
cite   { font-style:normal; }

/* ─── SCROLL REVEAL ─── */
.r  { opacity:0; transform:translateY(32px); transition:opacity 1s var(--ease), transform 1s var(--ease); }
.rl { opacity:0; transform:translateX(-28px); transition:opacity 1s var(--ease), transform 1s var(--ease); }
.rr { opacity:0; transform:translateX(28px);  transition:opacity 1s var(--ease), transform 1s var(--ease); }
.r.on,.rl.on,.rr.on { opacity:1; transform:none; }
.d1 { transition-delay:.08s } .d2 { transition-delay:.16s }
.d3 { transition-delay:.24s } .d4 { transition-delay:.32s }
.d5 { transition-delay:.42s }

/* ═══════════════════════════════════════════
   S1 — INTRO
   Visual: oversized display, photo offset-right
═══════════════════════════════════════════ */
.s-intro {
  min-height: 100svh;
  display: flex;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr auto;
  padding-top: 0;
  position: relative;
  overflow: hidden;
  background-color: #C4BCAF;
  align-items: center;
  justify-items: center;
  flex-direction: column;
  justify-content: flex-start;
}
/* background image em pseudo-elemento separado para permitir ken-burns */
.s-intro::after {
  content: '';
  position: absolute;
  inset: -4%;
  background-image: url('../img/sash-gabriel-dupe.jpeg');
  background-size: cover;
  background-position: center top;
  z-index: 0;
  animation: kenBurns 22s ease-in-out infinite alternate;
}
.s-intro::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgb(196 191 163 / 57%);
  z-index: 1;
}

@keyframes kenBurns {
  from { transform: scale(1)    translate(0,    0);    }
  to   { transform: scale(1.06) translate(-1%, -1.5%); }
}

@keyframes dotFloat {
  0%, 100% { transform: translateY(0);    }
  50%       { transform: translateY(-5px); }
}
.intro-body {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction:column;
  justify-content:center;
  padding: 5em;
  grid-row: 1;
  max-width: 820px;
}
.intro-eyebrow {
  display:flex;
  align-items:center;
  gap:.875rem;
  margin-bottom: 0.85em;
  flex-direction: column;
}

.intro-eyebrow-txt {
  font-size:1em; font-weight:400; letter-spacing:.22em;
  text-transform:uppercase; color: #011d0c;
}
.intro-hl {
  font-family: var(--f-display);
  font-size: 8em;
  font-weight:700;
  line-height:.88;
  letter-spacing:-.04em;
  color: #011d0c;
  margin-bottom: clamp(2rem,4vw,3.5rem);
  text-align: center;
}

.intro-hl .dot {
  color: var(--burg);
  display: inline-block;
  animation: dotFloat 3.6s ease-in-out infinite;
  animation-delay: 1.2s;
}
.intro-sub {
  font-size: 1.1em;
  font-weight:800;
  line-height:1.82;
  color: #011d0c;
  text-align: center;
}

/* Bottom strip */
.intro-strip {
  position: relative;
  z-index: 2;
  grid-column: 1 / -1;
  border-top: 1px solid rgba(23,23,23,.12);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 1.25rem clamp(2rem,6vw,5rem);
  gap: 10em;
}
.intro-strip span {
  font-size: .75rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color: #011d0c;
}

/* ═══════════════════════════════════════════
   S2 — CLAIM (dark, oversized statement)
   Visual: full-width ink bg, oversized type
═══════════════════════════════════════════ */
.s-claim {
  background: var(--ink);
  padding: clamp(5rem,10vw,9rem) clamp(2rem,6vw,5rem);
}
.claim-inner {
  max-width: 1400px; margin:0 auto;
  display:grid; grid-template-columns:1fr 36%;
  gap: 4rem; align-items:end;
}
.claim-hl {
  font-family: var(--f-display);
  font-size: clamp(3.5rem,9vw,11rem);
  font-weight:700; line-height:.9;
  letter-spacing:-.035em;
  color: var(--bg);
}
.claim-hl em {
  font-style:italic; font-weight:300;
  color: rgba(248,247,244,.4);
}
.claim-num {
  font-family: var(--f-display);
  font-size: .85rem;
  font-weight:400;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(248,247,244,.25);
  margin-bottom:2rem;
}
.claim-body {
  font-size: .995rem;
  font-weight: 500;
  line-height:1.88;
  color:rgba(248,247,244,.62);
  max-width:320px;
}

/* ═══════════════════════════════════════════
   S3 — PERFIL
   Visual: photo bleeds left, text right, ghost "08"
═══════════════════════════════════════════ */
.s-perfil {
  background: #ebe3ca;
  display:grid; grid-template-columns:42% 1fr;
  min-height:88vh;
}
.perfil-photo-col { position:relative; overflow:hidden; }
.perfil-photo {
  position:absolute; inset:0;
  background-color: #B8AFA4;
  background-image: url('../img/nutri-fernanda.png');
  background-size: cover;
  background-position: top center;
}

.perfil-text-col {
  padding: clamp(4.5rem,8vw,7rem) clamp(2.5rem,5vw,5.5rem);
  display:flex; flex-direction:column; justify-content:center;
  position:relative; overflow:hidden;
}
.perfil-ghost {
  position:absolute; top:0; right:-1rem;
  font-family: var(--f-display);
  font-size: clamp(9rem,18vw,18rem);
  font-weight:800; line-height:1;
  color: rgba(23,23,23,.04);
  pointer-events:none; user-select:none; white-space:nowrap;
}
.perfil-eyebrow {
  font-size:.6rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--ink); margin-bottom:1.75rem;
  display:flex; align-items:center; gap:.75rem; font-weight: 500;
}
.perfil-eyebrow::before { content:''; width:18px; height:1px; background:var(--ink); }
.perfil-name {
  font-family: var(--f-display);
  font-size: clamp(2.75rem,5vw,5.25rem);
  font-weight:500; line-height:1.0;
  letter-spacing:-.025em; color:var(--ink);
  margin-bottom:2.5rem;
}
.perfil-body {
  font-size:.875rem; font-weight:500; line-height:1.9;
  color:rgba(23,23,23,.88); max-width:440px;
  margin-bottom:1.25rem;
}
.perfil-accent {
  margin-top:2.5rem; padding:1.375rem 1.75rem;
  border-left:2px solid var(--burg);
  background: rgba(23,23,23,.03);
}
.perfil-accent p {
  font-family: var(--f-body);
  font-style:italic; font-weight:300;
  font-size:1rem; line-height:1.65; color:var(--ink);
}
.perfil-crn {
  margin-top:3rem;
  font-size:.6rem; letter-spacing:.2em; text-transform:uppercase;
  color:rgba(23,23,23,.72);
  display:flex; align-items:center; gap:.875rem; font-weight: 500;
}
.perfil-crn::before { content:''; width:20px; height:1px; background:rgba(23,23,23,.45); }

/* ═══════════════════════════════════════════
   S4 — CONVICÇÃO
   Visual: massive empty space, single floating quote
═══════════════════════════════════════════ */
.s-conv {
  background: var(--bg);
  padding: 4em;
  position:relative;
}
.conv-inner {
  max-width:1400px; margin:0 auto;
  display:flex; flex-direction:column; align-items:flex-end;
}
.conv-quote {
  font-family: var(--f-body);
  font-size: clamp(3rem,6.5vw,8rem);
  font-weight:300; font-style:italic;
  line-height:1.05; letter-spacing:-.025em;
  color: var(--ink); text-align:right;
  max-width: 900px;
  margin-bottom:2rem;
}
.conv-cite {
  font-size:.65rem; font-weight:500; letter-spacing:.18em;
  text-transform:uppercase; color:rgba(23,23,23,.72);
}

/* ═══════════════════════════════════════════
   S5 — QUEM
   Visual: sticky left label + editorial numbered list
═══════════════════════════════════════════ */
.s-quem {
  background: var(--bg);
  border-top: 1px solid rgba(23,23,23,.1);
  padding-top:0;
}
.quem-inner {
  max-width:1440px; margin:0 auto;
  padding:0 clamp(2rem,5vw,4rem);
  display:grid; grid-template-columns:28% 1fr;
}
.quem-label-col {
  border-right:1px solid rgba(23,23,23,.1);
  padding: clamp(4rem,7vw,6.5rem) clamp(2rem,4vw,3.5rem) clamp(4rem,7vw,6.5rem) 0;
  position:sticky; top:80px; height:fit-content;
}
.quem-section-num {
  font-size: .8rem;
  font-weight: 500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(23,23,23,.68);
  margin-bottom:1.25rem;
}
.quem-label-hl {
  font-family: var(--f-display);
  font-size: clamp(2rem,3.5vw,3.75rem);
  font-weight:500; line-height:1.1;
  letter-spacing:-.02em; color:var(--ink);
}
.quem-list-col {
  padding: clamp(4rem,7vw,6.5rem) 0 clamp(4rem,7vw,6.5rem) clamp(2rem,4vw,3.5rem);
}
.quem-item {
  display:grid; grid-template-columns:3.5rem 1fr;
  gap:1.5rem; align-items:start;
  padding: 2.25rem 0;
  border-bottom:1px solid rgba(23,23,23,.08);
}
.quem-item:first-child { border-top:1px solid rgba(23,23,23,.08); }
.qi-num {
  font-family: var(--f-display);
  font-size:1.375rem; font-weight:300;
  color:rgba(23,23,23,.18); line-height:1.2; padding-top:.2rem;
}
.qi-title {
  font-family: var(--f-display);
  font-size: clamp(1.125rem,2vw,1.5rem);
  font-weight:500; color:var(--ink);
  line-height:1.2; margin-bottom:.625rem;
  letter-spacing:-.01em;
}
.qi-text {
  font-size: 0.98em;
  font-weight: 500;
  line-height:1.85;
  color:rgba(23,23,23,.82);
}

/* ═══════════════════════════════════════════
   S6 — MÉTODO
   Visual: dark bg, three distinct rows
═══════════════════════════════════════════ */
.s-metodo {
  background: var(--ink);
  padding: clamp(5rem,9vw,8.5rem) 0;
}
.metodo-inner {
  max-width:1440px; margin:0 auto;
  padding: 0 clamp(2rem,5vw,4rem);
}
.metodo-head {
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:3rem;
  padding-bottom:3rem;
  border-bottom:1px solid rgba(248,247,244,.09);
  margin-bottom:0;
}
.metodo-tag {
   font-size: .8rem;
  font-weight: 500;letter-spacing:.22em;
  text-transform:uppercase; color:rgba(248,247,244,.6);
}
.metodo-hl {
  font-family: var(--f-display);
  font-size: clamp(2.5rem,5vw,5rem);
  font-weight:500;
  margin-top: 0.65em;
  line-height:1.0;
  letter-spacing:-.025em;
  color:var(--bg);
}
.metodo-intro {
  font-size:.975rem; font-weight:500; line-height:1.85;
  color:rgba(248,247,244,.68); max-width:280px; flex-shrink:0;
}

/* Step rows — each has a different grid */
.mstep {
  padding: 3.5rem 0;
  border-bottom:1px solid rgba(248,247,244,.07);
  display:grid; align-items:center;
}
.mstep:last-child { border-bottom:none; }

.ms1 { grid-template-columns:16% 1fr 30%; gap:4rem; }
.ms2 { grid-template-columns:30% 16% 1fr; gap:4rem; }
.ms3 { grid-template-columns:16% 1fr; gap:4rem; }

.ms-num {
  font-family: var(--f-display);
  font-size: clamp(5rem,10vw,10rem);
  font-weight:200; line-height:1;
  color:rgba(248,247,244,.1); letter-spacing:-.04em;
}
.ms2 .ms-num { order:2; }
.ms2 .ms-body { order:1; }
.ms2 .ms-img  { order:3; }

.ms-step-label {
  font-size:.58rem; letter-spacing:.2em; text-transform:uppercase;
  color:rgba(248,247,244,.58); margin-bottom:1rem;
}
.ms-title {
  font-family: var(--f-display);
  font-size: clamp(1.625rem,2.5vw,2.5rem);
  font-weight:500; line-height:1.15;
  letter-spacing:-.02em; color:var(--bg);
  margin-bottom:1.125rem;
}
.ms-text {
  font-size:.975rem; font-weight:500; line-height:1.88;
  color:rgba(248,247,244,.72); max-width:380px;
}
.ms-aside {
  font-family: var(--f-body);
  font-style:italic; font-weight:300;
  font-size:.95rem; line-height:1.7;
  color:rgba(248,247,244,.62);
  padding-left:1.5rem;
  border-left:1px solid rgba(248,247,244,.2);
}
.ms-img {
  aspect-ratio:4/3;
  background-color: #2E2E2E;
  background-image: url('https://images.unsplash.com/photo-1543352632-5a4b24e4d2a6?q=80&w=1025&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D');
  background-size: cover;
  background-position: center;
}

/* ═══════════════════════════════════════════
   S7 — VOZES
   Visual: staggered testimonials, NO cards, NO grid
═══════════════════════════════════════════ */
.s-vozes {
  background: var(--bg);
  padding: clamp(6rem,11vw,10rem) 0;
}
.vozes-inner {
  max-width:1440px; margin:0 auto;
  padding: 0 clamp(2rem,5vw,4rem);
}
.vozes-header {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom: clamp(4.5rem,8vw,7rem);
  border-bottom:1px solid rgba(23,23,23,.1);
  padding-bottom:1.75rem;
}
.vozes-tag {
    font-size:.8rem;
  font-weight: 500; letter-spacing:.22em; text-transform:uppercase;
  color:rgba(23,23,23,.68);
}
.vozes-count {
  font-family: var(--f-display);
  font-size:3rem; font-weight:200; line-height:1;
  color:rgba(23,23,23,.1); letter-spacing:-.03em;
}

/* Three quotes — each visually distinct */
.voz-1 {
  max-width:520px;
  margin-left: 0;
  margin-bottom: clamp(4rem,8vw,7rem);
  padding-top:1.5rem;
  
}
.voz-2 {
  margin-left: clamp(0rem,8vw,7rem);
  margin-bottom: clamp(4rem,8vw,7rem);
}
.voz-3 {
  max-width:480px;
  margin-left:auto;
  text-align:right;
}

.voz-q {
  font-family: var(--f-display);
  font-style:italic; font-weight:300; line-height:1.3;
  letter-spacing:-.02em; color:var(--ink);
  margin-bottom:1.25rem;
}
.voz-1 .voz-q  { font-size: clamp(1.125rem,2vw,1.5rem); }
.voz-2 .voz-q  { font-size: clamp(2.25rem,5vw,5.5rem); }
.voz-3 .voz-q  { font-size: clamp(1rem,1.75vw,1.375rem); }

.voz-credit {
  font-size:.65rem; font-weight:400; letter-spacing:.16em;
  text-transform:uppercase; color:rgba(23,23,23,.72);
}

/* ═══════════════════════════════════════════
   S8 — IMAGEM (editorial break)
   Visual: full-width oversized photo
═══════════════════════════════════════════ */
.s-imagem {
  background: #ebe3ca ;
  padding: clamp(3rem,5vw,5rem) clamp(2rem,5vw,4rem);
}
.imagem-photo {
  width:100%; height: clamp(280px,55vw,700px);
  background-color: #C0B8AE;
  background-image: url('https://images.unsplash.com/photo-1556911073-52527ac43761?q=80&w=1170&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D');
  background-size: cover;
  background-position: center;
}
.imagem-caption {
  margin-top:1rem;
  text-align:right;
  font-size: .78rem;
  font-weight:400;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(23,23,23,.68);
}

/* ═══════════════════════════════════════════
   S9 — PERGUNTAS (FAQ)
   Visual: surface bg, two-column, clean accordion
═══════════════════════════════════════════ */
.s-perguntas {
  background:  #ff6637eb;
  padding: clamp(5rem,9vw,8.5rem) 0;
}
.perguntas-inner {
  max-width:1440px; margin:0 auto;
  padding: 0 clamp(2rem,5vw,4rem);
  display:grid; grid-template-columns:32% 1fr;
  gap: clamp(3rem,7vw,8rem);
  align-items:start;
}
.perguntas-sticky { position:sticky; top:100px; }
.perguntas-tag {
  font-size:.8rem; font-weight: 500; letter-spacing:.22em; text-transform:uppercase;
  color:rgba(23,23,23,.75); margin-bottom:1.25rem;
}
.perguntas-hl {
  font-family: var(--f-display);
  font-size: clamp(2rem,3.5vw,3.5rem);
  font-weight:500; line-height:1.1;
  letter-spacing:-.02em; color:var(--ink);
  margin-bottom:1.5rem;
}
.perguntas-sub {
  font-size: .95rem;
  font-weight: 600;
  line-height:1.85;
  color:rgba(23,23,23,.82);
  margin-bottom:2.5rem;
}
.perguntas-link {
  font-size: .95rem;
  font-weight: 600;
  color:var(--ink);
  border-bottom:1px solid rgba(23,23,23,.3);
  padding-bottom:1px;
  transition:border-color .2s,color .2s;
}
.perguntas-link:hover { border-color:var(--ink); }

.faq-item { border-bottom:1px solid rgba(23,23,23,.1); }
.faq-item:first-child { border-top:1px solid rgba(23,23,23,.1); }
.faq-q {
  width:100%;
  background:none;
  border:none;
  text-align:left;
  padding:1.5rem 0;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  font-family: var(--f-body);
  font-size: 1rem;
  font-weight: 500;
  color:var(--ink);
  transition:color .2s;
}
.faq-q:hover,.faq-q[aria-expanded="true"] { font-weight:500; }
.fq-i {
  flex-shrink:0; width:16px; height:16px;
  position:relative; color:rgba(23,23,23,.72); transition:color .2s;
}
.fq-i::before,.fq-i::after {
  content:''; position:absolute; top:50%; left:50%;
  background:currentColor; border-radius:1px;
}
.fq-i::before { width:12px; height:1px; transform:translate(-50%,-50%); }
.fq-i::after  { width:1px; height:12px; transform:translate(-50%,-50%); transition:opacity .3s,transform .3s var(--ease); }
.faq-q[aria-expanded="true"] .fq-i { color:var(--ink); }
.faq-q[aria-expanded="true"] .fq-i::after { opacity:0; transform:translate(-50%,-50%) rotate(90deg); }
.faq-p { max-height:0; overflow:hidden; transition:max-height .45s var(--ease); }
.faq-p-in { padding:0 0 1.5rem; }
.faq-p-in p .faq-p-in p {font-size: .99rem;font-weight: 400;line-height:1.88;color:rgba(23,23,23,.82);}

/* ═══════════════════════════════════════════
   S10 — CONTATO
   Visual: oversized heading, minimal underline form
═══════════════════════════════════════════ */
.s-contato {
  background: var(--bg);
  padding: clamp(5rem,10vw,9rem) 0;
  border-top:1px solid rgba(23,23,23,.1);
}
.contato-inner {
  max-width:1440px; margin:0 auto;
  padding: 0 clamp(2rem,5vw,4rem);
  display:grid; grid-template-columns:1fr 42%;
  gap: clamp(4rem,8vw,9rem);
  align-items:start;
}
.contato-tag {
  font-size:.8rem; font-weight: 500; letter-spacing:.22em; text-transform:uppercase;
  color:rgba(23,23,23,.72); margin-bottom:1.5rem;
}
.contato-hl {
  font-family: var(--f-display);
  font-size: clamp(3rem,7vw,8.5rem);
  font-weight:600; line-height:.9;
  letter-spacing:-.04em; color:var(--ink);
  margin-bottom:2.5rem;
}
.contato-hl .hl-light {
  font-weight:200; font-style:italic; display:block;
  color:rgba(23,23,23,.52);
}
.contato-meta {
  font-size:.8rem; font-weight:300; line-height:1.85;
  color:rgba(23,23,23,.8); max-width:340px;
}
.contato-meta {
  font-size: 1em;
  font-weight: 500;
  line-height:1.85;
  color:rgba(23,23,23,.8);
  max-width:340px;
  margin-left: 0.8em;
}
.contato-meta a:hover { border-color:var(--ink); }

/* Form */
.contato-form h3 {
  font-family: var(--f-display);
  font-size:1.375rem; font-weight:500;
  color:var(--ink); margin-bottom:2.5rem;
  padding-bottom:1.75rem; border-bottom:1px solid rgba(23,23,23,.1);
  letter-spacing:-.01em;
}
.ff  { margin-bottom:1.75rem; }
.fl  {
  display:block; font-size:.6rem; font-weight:400;
  letter-spacing:.2em; text-transform:uppercase;
  color:rgba(23,23,23,.72); margin-bottom:.625rem;
}
.fi  {
  width:100%; background:none; border:none;
  border-bottom:1px solid rgba(23,23,23,.2);
  padding:.6rem 0 .8rem;
  font-family: var(--f-body); font-size:.875rem; font-weight:300;
  color:var(--ink); outline:none; border-radius:0;
  transition:border-color .25s;
}
.fi::placeholder { color:rgba(23,23,23,.28); }
.fi:focus { border-color:var(--ink); }
.f-submit {
  width:100%;
  margin-top:.5rem;
  background: #151a18;
  color: #586c63;
  font-family: var(--f-body);
  font-size: .98em;
  font-weight: 600;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:1.125rem 2rem;
  border:none;
  cursor:pointer;
  transition:background .25s;
}
.f-submit:hover { background:#ebe3ca; }

/* ═══════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════ */
.site-footer {
  background:var(--ink);
  border-top:1px solid rgba(248,247,244,.06);
}
.footer-inner {
  max-width:1440px; margin:0 auto;
  padding:clamp(4rem,6vw,5.5rem) clamp(2rem,5vw,4rem);
  display:grid; grid-template-columns:1.6fr 1fr 1fr;
  gap:clamp(3rem,5vw,6rem); align-items:start;
  border-bottom:1px solid rgba(248,247,244,.06);
}
.footer-brand-name {
  display:block; font-family:var(--f-display);
  font-size:clamp(1.5rem,2.2vw,2.1rem); font-weight:400;
  color:rgba(248,247,244,.9); letter-spacing:-.02em;
  margin-bottom:.5rem;
}
.footer-brand-sub {
  display:block; font-size:.55rem; font-weight:400;
  letter-spacing:.22em; text-transform:uppercase;
  color: rgb(248 247 244 / 66%); margin-bottom:.375rem;
}
.footer-brand-crn {
  display:block;
  font-size:.55rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  color: rgb(248 247 244 / 63%);
  margin-bottom:2rem;
}
.footer-brand-desc {
  font-size:.78rem;
  font-weight: 500;
  line-height:1.85;
  color: rgb(248 247 244 / 71%);
  max-width:270px;
}
.footer-col-label {
  display:block;
  font-size: .73rem;
  font-weight: 500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(248,247,244,.28);
  margin-bottom:1.5rem;
  padding-bottom:1rem;
  border-bottom:1px solid rgba(248,247,244,.07);
}
.footer-col nav {
  display:flex; flex-direction:column; gap:.875rem;
}
.footer-col nav a {
  font-size:.8rem; font-weight:300;
  color:rgba(248,247,244,.48); transition:color .2s;
}
.footer-col nav a:hover { color:rgba(248,247,244,.9); }
.footer-contact-info {
  font-size:.78rem; font-weight:300; line-height:1.9;
  color:rgba(248,247,244,.36); margin-bottom:1.75rem;
}
.footer-socials {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.footer-ig {
  display:inline-flex; align-items:center; gap:.625rem;
  font-size:.72rem; font-weight:400;
  color:rgba(248,247,244,.38); transition:color .2s;
}
.footer-ig:hover { color:rgba(248,247,244,.9); }
.footer-ig svg { width:15px; height:15px; }
.footer-bottom {
  max-width:1440px; margin:0 auto;
  padding:1.5rem clamp(2rem,5vw,4rem);
  display:flex; align-items:center;
  justify-content:space-between; flex-wrap:wrap; gap:.75rem;
}
.footer-bottom span {
  font-size:.53rem; letter-spacing:.13em;
  text-transform:uppercase; color: rgb(248 247 244 / 69%);
}

/* ═══════════════════════════════════════════
   FOCUS
═══════════════════════════════════════════ */
:focus-visible { outline:2px solid var(--olive); outline-offset:3px; }

/* ═══════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════ */

/* ─ Mobile ─────────────────── max 480px ─ */
@media (max-width: 480px) {
  .s-intro        { justify-content:center; }
  .s-intro::before {background: rgb(228 242 237 / 63%);}
  .intro-body  { padding:2.5rem 1.75rem; max-width:none; align-items:center; text-align:center; }
  .intro-hl    { font-size:3.25em; }
  .intro-sub   { font-size:.875rem; }
  .intro-strip { display:none; }
  .intro-cta   { width:100%; }

  .s-conv { padding:4rem 1.5rem; }
  .voz-1,.voz-3 { max-width:none; text-align:left; margin-left:0; }

  .claim-inner      { grid-template-columns:1fr; gap:2rem; }
  .s-perfil         { grid-template-columns:1fr; min-height:auto; }
  .perfil-photo-col { height:72vw; min-height:240px; }
  .perfil-ghost     { display:none; }
  .quem-inner       { grid-template-columns:1fr; }
  .quem-label-col   { position:static; border-right:none; border-bottom:1px solid rgba(23,23,23,.1); padding:3rem 0 1.5rem; }
  .quem-list-col    { padding:0 0 3rem; }
  .metodo-head      { flex-direction:column; align-items:flex-start; gap:1rem; }
  .ms1,.ms2,.ms3    { grid-template-columns:1fr; gap:1.25rem; }
  .ms1 .ms-aside    { display:none; }
  .ms2 .ms-num,.ms2 .ms-body,.ms2 .ms-img { order:0; }
  .ms2 .ms-img      { display:block; width:100%; margin-top:.5rem; }
  .ms2              { grid-template-columns:1fr auto; }
  .ms2 .ms-num      { align-self:center; }
  .ms2 .ms-img      { grid-column:1 / -1; }
  .voz-2            { margin-left:0; }
  .perguntas-inner  { grid-template-columns:1fr; }
  .perguntas-sticky { position:static; }
  .contato-inner    { grid-template-columns:1fr; }
  .footer-inner     { grid-template-columns:1fr; gap:2.5rem; padding-top:3rem; padding-bottom:3rem; text-align:center; }
  .footer-brand-desc { max-width:none; }
  .footer-col nav   { align-items:center; }
  .footer-socials   { justify-content:center; }
  .footer-contact-info { text-align:center; }
  .footer-bottom    { flex-direction:column; align-items:center; gap:.5rem; }
}

/* ─ Extra small ─────────── 481px – 767px ─ */
@media (min-width: 481px) and (max-width: 767px) {
  .s-intro        { justify-content:center; }
  .s-intro::before { background:rgba(228,242,237,.85); }
  .intro-body  { padding:3rem 2.5rem; max-width:none; align-items:center; text-align:center; }
  .intro-hl    { font-size:4.5em; }
  .intro-sub   { font-size:.9rem; }
  .intro-strip { display:none; }
  .intro-cta   { width:100%; }

  .s-conv { padding:5rem 2.5rem; }
  .voz-1,.voz-3 { max-width:none; text-align:left; margin-left:0; }

  .claim-inner      { grid-template-columns:1fr; gap:2.5rem; }
  .s-perfil         { grid-template-columns:1fr; min-height:auto; }
  .perfil-photo-col { height:66vw; min-height:260px; }
  .perfil-ghost     { display:none; }
  .quem-inner       { grid-template-columns:1fr; }
  .quem-label-col   { position:static; border-right:none; border-bottom:1px solid rgba(23,23,23,.1); padding:3.5rem 0 2rem; }
  .quem-list-col    { padding:0 0 3.5rem; }
  .metodo-head      { flex-direction:column; align-items:flex-start; gap:1.25rem; }
  .ms1,.ms2,.ms3    { grid-template-columns:1fr; gap:1.5rem; }
  .ms1 .ms-aside    { display:none; }
  .ms2 .ms-num,.ms2 .ms-body,.ms2 .ms-img { order:0; }
  .ms2 .ms-img      { display:block; width:100%; margin-top:.5rem; }
  .ms2              { grid-template-columns:1fr auto; }
  .ms2 .ms-num      { align-self:center; }
  .ms2 .ms-img      { grid-column:1 / -1; }
  .voz-2            { margin-left:0; }
  .perguntas-inner  { grid-template-columns:1fr; }
  .perguntas-sticky { position:static; }
  .contato-inner    { grid-template-columns:1fr; }
  .footer-inner     { grid-template-columns:1fr; gap:2.5rem; padding-top:3.5rem; padding-bottom:3.5rem; text-align:center; }
  .footer-brand-desc { max-width:none; }
  .footer-col nav   { align-items:center; }
  .footer-socials   { justify-content:center; }
  .footer-contact-info { text-align:center; }
  .footer-bottom    { flex-direction:column; align-items:center; gap:.5rem; }
}

/* ─ Small tablets ────────── 768px – 991px ─ */
@media (min-width: 768px) and (max-width: 991px) {
  .intro-body  { padding:4rem 3.5rem; max-width:none; }
  .intro-hl    { font-size:5.5em; }
  .intro-strip { gap:3rem; padding:1.25rem 3.5rem; }

  .claim-inner      { grid-template-columns:1fr; gap:2.5rem; }
  .s-perfil         { grid-template-columns:1fr; min-height:auto; }
  .perfil-photo-col { height:60vw; min-height:280px; }
  .perfil-ghost     { display:none; }
  .quem-inner       { grid-template-columns:1fr; }
  .quem-label-col   { position:static; border-right:none; border-bottom:1px solid rgba(23,23,23,.1); padding:4rem 0 2rem; }
  .quem-list-col    { padding:0 0 4rem; }
  .metodo-head      { flex-direction:column; align-items:flex-start; gap:1.25rem; }
  .ms1,.ms2,.ms3    { grid-template-columns:1fr; gap:1.5rem; }
  .ms1 .ms-aside    { display:none; }
  .ms2 .ms-num,.ms2 .ms-body,.ms2 .ms-img { order:0; }
  .ms2 .ms-img      { display:block; width:100%; margin-top:.5rem; }
  .voz-2            { margin-left:0; }
  .perguntas-inner  { grid-template-columns:1fr; }
  .perguntas-sticky { position:static; }
  .contato-inner    { grid-template-columns:1fr; }
  .footer-inner     { grid-template-columns:1fr 1fr; gap:2.5rem; }
  .footer-brand     { grid-column:1/-1; }
}

/* ─ Large tablets / laptops ─ 992px – 1199px ─ */
@media (min-width: 992px) and (max-width: 1199px) {
  .intro-body  { padding:4.5rem; }
  .intro-hl    { font-size:6.5em; }
  .intro-strip { gap:4rem; }

  .s-perfil         { min-height:auto; }
  .perfil-ghost     { display:none; }
  .quem-label-col   { padding:5rem 0 5rem 0; }
  .metodo-head      { gap:2rem; }
  .perguntas-inner  { gap:4rem; }
  .contato-inner    { gap:4rem; }
}

/* ─ Desktops ──────────── 1200px – 1919px ─ */
@media (min-width: 1200px) and (max-width: 1919px) {
  .intro-body  { padding:5em; }
  .intro-strip {gap: 10rem;}
}

/* ─ Extra large ─────────── min 1920px ─ */
@media (min-width: 1920px) {
  .intro-body  { padding:8rem; max-width:1300px; }
  .intro-hl    { font-size:11em; }
  .intro-sub   { font-size:1.15rem; }
  .intro-strip { gap:12rem; padding:1.5rem 8rem; }
  .intro-cta   { padding:1.125rem 3rem; }
}

/* ─── INTRO CTA ─── */
.intro-cta {
  display:inline-flex;
  align-items:center;
  margin-top:2.5rem;
  padding:.875rem 2.25rem;
  background:#011D0C;
  color:var(--white);
  font-size:.78rem;
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
  transition:background .25s;
  justify-content: center;
}
.intro-cta:hover { 
  color:var(--white);
  background:var(--burg); }

/* ─── FORM ERRORS ─── */
.fi.err { border-color:var(--burg); }
.f-err {
  display:block; font-size:.72rem; font-weight:400;
  color:var(--burg); margin-top:.375rem; min-height:1em;
}
.f-submit.sent { background:var(--olive); }

/* ─── REDUCED MOTION ─── */
@media (prefers-reduced-motion: reduce) {
  .s-intro::after  { animation: none; }
  .intro-hl .dot   { animation: none; }
}

