/* ============================================================
   Helô Nanzer — Estrategista de Imagem
   Palette: deep navy + light grey + silver accent
   Type: Cinzel (logo) · Fraunces (títulos/frases) · Montserrat (texto)
   ============================================================ */
:root{
  --cream:      #e0e0e0;   /* main light bg */
  --cream-2:    #d7d7d7;
  --cream-3:    #ececec;   /* raised cards on light */
  --green-deep: #141937;   /* large dark sections (navy) */
  --green:      #1a2247;   /* header / cards (lifted navy) */
  --green-soft: #232c56;
  --gold:       #cfd4db;   /* silver accent — reads on dark bg */
  --gold-2:     #bcc2cb;   /* silver hover */
  --gold-dark:  #9aa0aa;
  --pewter:     #6e7480;   /* accent on light bg */
  --ink:        #141937;   /* headings/text on light */
  --muted:      #565b66;   /* body text on light */
  --cream-text: #eef1f5;   /* text on navy */
  --cream-mut:  #aab0bd;   /* muted text on navy */
  --line:       #cacaca;   /* borders on light */
  --blue-card:  #e6ecf7;   /* testimonials card bg */
  --blue-quote: #ccd6ea;   /* quote glyph — ~10% mais escuro que o card */
  --wrap: 1240px;
  --r: 14px;
  --ease: cubic-bezier(.22,.61,.36,1);
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; scroll-padding-top:24px; overflow-x:hidden; }
body{
  font-family:"Montserrat", system-ui, sans-serif;
  background:var(--cream);
  color:var(--ink);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
.wrap{ width:100%; max-width:var(--wrap); margin:0 auto; padding:0 40px; }

h1,h2,h3,h4{
  font-family:"Fraunces", Georgia, serif;
  font-weight:400;
  color:var(--ink);
  line-height:1.12;
  letter-spacing:-.01em;
}

/* ---- kicker label (default: light bg) ---- */
.kicker{
  display:block;
  font-size:12px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--pewter);
  margin-bottom:18px;
}
.kicker.center{ text-align:center; }
/* kickers sitting on dark navy → silver */
.about-copy .kicker,
.scard-body .kicker{ color:var(--gold); }

/* ---- buttons ---- */
.btn{
  display:inline-flex; align-items:center; gap:11px;
  font-family:"Montserrat",sans-serif;
  font-size:13px; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase;
  padding:16px 30px; border-radius:40px;
  cursor:pointer; border:1px solid transparent;
  transition:.35s var(--ease);
  white-space:nowrap;
}
.btn-dark{ background:var(--green-deep); color:var(--cream-text); }
.btn-dark:hover{ background:#0c1030; transform:translateY(-2px); }
.btn-gold{ background:var(--gold); color:#141937; box-shadow:0 10px 30px -14px rgba(0,0,0,.5); }
.btn-gold:hover{ background:var(--gold-2); transform:translateY(-2px); }
.btn-outline{ background:transparent; color:var(--cream-text); border-color:rgba(238,241,245,.4); }
.btn-outline:hover{ border-color:var(--gold); color:var(--gold); }

/* ---- monogram mark (masked, recolorable) ---- */
.brand-mark{
  width:42px; height:46px; display:inline-block; flex:none; position:relative;
  background:var(--gold);
  -webkit-mask:url("assets/logo-mark.png") no-repeat center/contain;
          mask:url("assets/logo-mark.png") no-repeat center/contain;
}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{
  position:absolute; top:0; left:0; right:0; z-index:60;
  background:var(--green);
  transition:padding .3s var(--ease), background .3s var(--ease), box-shadow .3s var(--ease);
}
.header-inner{ display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:24px; height:80px; }
/* full-bleed header: logo aligned to content on the left, CTA pushed near the right edge */
.site-header .wrap{
  max-width:none;
  padding-left:28px;
  padding-right:40px;
}
.site-header.scrolled{ box-shadow:0 8px 30px -18px rgba(0,0,0,.6); }
.site-header.scrolled .header-inner{ height:66px; }

.brand{ display:flex; align-items:center; gap:14px; }
.brand-text{ display:flex; flex-direction:column; line-height:1; }
.brand-name{
  font-family:"Cinzel", serif; font-weight:500;
  font-size:20px; letter-spacing:.11em; color:var(--cream-text);
  text-transform:uppercase; white-space:nowrap;
}
.brand-tag{
  font-size:8.5px; letter-spacing:.32em; text-transform:uppercase;
  color:var(--gold); margin-top:5px; font-weight:500; white-space:nowrap;
}

.main-nav{ display:flex; justify-content:center; gap:24px; margin:0 auto; }
.main-nav a{
  font-size:11.5px; font-weight:500; letter-spacing:.13em; text-transform:uppercase;
  color:var(--cream-text); opacity:.85; position:relative; padding:4px 0;
  transition:.25s; white-space:nowrap;
}
.main-nav a::after{
  content:""; position:absolute; left:0; bottom:-2px; height:1px; width:0;
  background:var(--gold); transition:.3s var(--ease);
}
.main-nav a.nav-color::after{
  width:100%;
  bottom:-5px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#5ebd3e 0%,#ffb900 25%,#f78200 50%,#e23838 72%,#973999 100%);
  opacity:.95;
}
.main-nav a:hover{ opacity:1; color:var(--gold); }
.main-nav a:hover::after{ width:100%; }
.main-nav a.nav-color:hover::after{ width:100%; }

.header-cta{ padding:12px 18px; }
.nav-toggle{ display:none; }

/* ============================================================
   HERO
   ============================================================ */
.hero{ position:relative; background:var(--cream); padding-top:80px; overflow:hidden; }
.hero .wrap{ max-width:1380px; }
.hero-media{
  position:absolute; top:0; right:0; bottom:0; width:50%; z-index:1;
}
.hero-media picture{ display:block; width:100%; height:100%; }
.hero-media img{ width:100%; height:100%; object-fit:cover; object-position:center 16%; }
.hero-media::before{
  content:""; position:absolute; inset:0; z-index:2;
  background:linear-gradient(90deg, var(--cream) 0%, rgba(224,224,224,.55) 9%, rgba(224,224,224,0) 28%);
}
.hero-inner{ position:relative; z-index:3; display:flex; align-items:center;
  min-height:calc(100vh - 80px); padding-top:40px; padding-bottom:60px; }
.hero-copy{ max-width:620px; }
.hero-copy h1{ font-size:clamp(44px,5.6vw,76px); letter-spacing:-.02em; line-height:1.08; }
.hero-copy .rule{ display:block; width:66px; height:2px; background:var(--pewter); margin:38px 0 30px; }
.hero-copy p{ font-size:17px; color:var(--muted); max-width:480px; line-height:1.65; }
.hero-copy p strong{ color:var(--ink); font-weight:600; }
.hero-copy .btn-dark{ margin-top:38px; }
.hero-trust{
  display:flex; align-items:center; gap:9px;
  margin-top:28px; font-size:13px; color:var(--muted);
}

/* ============================================================
   SOBRE
   ============================================================ */
.about{ background:var(--green-deep); color:var(--cream-text); padding:50px 0 48px; }
.about .wrap{ max-width:1320px; }
.about-inner{ display:grid; grid-template-columns:0.8fr 1.2fr; gap:54px; align-items:center; }
.about-photo{ position:relative; }
.about-photo img{ width:100%; height:534px; object-fit:cover; object-position:center 12%; border-radius:16px; }
.about-copy h2{ color:var(--cream-text); font-size:clamp(28px,3vw,38px); max-width:560px; margin-bottom:16px; }
.about-copy > p{ color:var(--cream-mut); font-size:15px; max-width:640px; margin-bottom:11px; }
.about-features{
  display:grid; grid-template-columns:repeat(4,1fr); gap:30px;
  margin-top:26px; padding-top:24px; border-top:1px solid rgba(238,241,245,.14);
}
.feat h4{
  font-family:"Montserrat",sans-serif; font-size:13px; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; color:var(--gold);
  margin:18px 0 9px; line-height:1.35;
}
.feat p{ font-size:13px; color:var(--cream-mut); line-height:1.5; }
.feat-ico{ display:block; width:42px; height:42px; color:var(--gold); }

/* ============================================================
   PROBLEMA / SOLUÇÃO
   ============================================================ */
.problem{ background:var(--cream); padding:88px 0; }
.problem-inner{ display:grid; grid-template-columns:1.55fr 1fr; gap:64px; align-items:center; }
.problem-col{ position:relative; }
.problem-col::after{ display:none; }
.problem-col h2{ text-align:center; font-size:clamp(26px,3vw,36px); max-width:640px; margin:0 auto 44px; }
.problem-items{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.pitem{ text-align:center; }
.pico{ display:inline-block; width:42px; height:42px; color:var(--pewter); margin-bottom:16px; }
.pitem p{ font-size:13px; color:var(--muted); line-height:1.5; }

.solution-col{ display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  background:var(--cream-3); border:1px solid var(--line); border-radius:18px;
  padding:48px 40px; box-shadow:0 26px 54px -36px rgba(19,24,55,.42); }
.solution-text{ font-size:17px; color:var(--muted); line-height:1.65; max-width:345px; margin:0 auto 32px; }
.solution-col .btn{ border-radius:9px; padding:20px 42px; white-space:normal; text-align:center;
  line-height:1.45; max-width:300px; font-size:13px; }

/* ============================================================
   SOLUÇÕES
   ============================================================ */
.solutions{ background:var(--cream); padding:20px 0 88px; }
/* wider cards — less side margin than the standard content width */
.solutions .wrap{ max-width:1500px; }
.section-head{ text-align:center; margin-bottom:46px; }
.section-head h2{ font-size:clamp(28px,3.2vw,40px); }
.solution-cards{ display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.scard{
  display:grid; grid-template-columns:288px minmax(0,1fr);
  background:var(--green-deep); border-radius:16px; overflow:hidden;
  min-height:340px; box-shadow:0 30px 60px -40px rgba(19,24,55,.55);
}
.scard-media{ position:relative; }
.scard-media img{ width:100%; height:100%; object-fit:cover; }
.scard-body{
  padding:38px 36px; color:var(--cream-text);
  display:grid; grid-template-rows:auto minmax(82px,auto) minmax(140px,1fr) auto;
}
.scard-body > p{ color:var(--cream-mut); font-size:14.5px; margin-bottom:0; }
.ticks{ list-style:none; display:flex; flex-direction:column; gap:11px; margin:0; align-self:center; }
.ticks li{ position:relative; padding-left:20px; font-size:14px; color:var(--cream-text); }
.ticks li::before{
  content:""; position:absolute; left:0; top:8px; width:6px; height:6px;
  border-radius:50%; background:var(--gold);
}
.saiba{
  display:inline-flex; align-items:center; gap:10px; margin-top:0; align-self:end; justify-self:start;
  font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--gold);
}
.saiba .arrow{ transition:transform .3s var(--ease); }
.saiba:hover .arrow{ transform:translateX(6px); }

/* ============================================================
   DEPOIMENTOS
   ============================================================ */
.testimonials{ background:#fff; padding:16px 0 80px; }
.testimonials .section-sub{
  font-family:"Montserrat",sans-serif;
  font-size:15px; font-weight:400; line-height:1.6;
  color:var(--muted); text-align:center;
  max-width:560px; margin:14px auto 0;
}
.testimonials-rail{ position:relative; }
.testimonials-nav{
  display:flex; justify-content:flex-end; gap:12px;
  margin-bottom:18px;
}
.tcards{
  display:flex; overflow-x:auto; gap:26px;
  scroll-snap-type:x mandatory;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  padding:4px 2px 10px;
}
.tcards::-webkit-scrollbar{ display:none; }
.tcard{
  flex:0 0 calc((100% - 2 * 26px) / 3);
  scroll-snap-align:start;
  background:var(--blue-card);
  border:1px solid transparent;
  border-radius:20px;
  padding:30px 32px 32px;
  min-height:252px;
  position:relative;
  display:flex; flex-direction:column;
  box-shadow:0 18px 44px -36px rgba(17,27,61,.28);
}
/* aspas: âncora visual no topo, fora do fluxo pra crescer sem empurrar o card */
.tcard .quote{
  position:absolute; top:26px; left:30px;
  font-family:"Fraunces",serif; font-weight:400;
  font-size:128px; line-height:.72;
  color:var(--blue-quote); margin:0;
  pointer-events:none; user-select:none;
}
.tcard .who{
  display:flex; flex-direction:column; gap:3px;
  margin-top:66px; line-height:1.3;
  /* altura reservada pra 2 linhas de cargo: mantém o depoimento
     começando na mesma altura em todos os cards */
  min-height:64px;
}
.tcard .who strong{
  font-family:"Montserrat",sans-serif;
  font-size:21px; font-weight:600; color:var(--ink);
}
.tcard .who em{
  font-family:"Montserrat",sans-serif;
  font-style:normal; font-size:13px; font-weight:500; color:var(--pewter);
}
.tcard blockquote{
  margin-top:26px;
  font-family:"Montserrat",sans-serif;
  font-size:15px; font-weight:400; line-height:1.65;
  color:var(--muted);
}
.tcard-dots{
  display:flex; justify-content:center; align-items:center;
  gap:10px; margin-top:28px;
}
.tcard-dot{
  width:8px; height:8px; border-radius:50%;
  border:0; padding:0; cursor:pointer;
  background:var(--line);
  transition:background .25s var(--ease), transform .25s var(--ease);
}
.tcard-dot.is-active{
  background:var(--ink);
  transform:scale(1.2);
}
.tcard-dot:hover{ background:var(--pewter); }

/* ============================================================
   LOGOS
   ============================================================ */
.trust{ background:var(--cream); padding:40px 0 84px; }
.trust-label{
  text-align:center; font-size:12px; font-weight:600; letter-spacing:.2em;
  text-transform:uppercase; color:var(--muted); margin-bottom:44px;
}
.logos-marquee{
  position:relative; overflow:hidden;
  -webkit-mask:linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%);
          mask:linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%);
}
.logos-track{
  display:flex; width:max-content; align-items:center;
  animation:logos-scroll 32s linear infinite;
}
.logos-marquee:hover .logos-track{ animation-play-state:paused; }
@keyframes logos-scroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){ .logos-track{ animation:none; } }
.logo-item{
  display:flex; align-items:center; gap:11px; color:#4b515e; opacity:.75;
  transition:opacity .3s;
}
.logos-track .logo-item{ flex:0 0 auto; justify-content:flex-start; padding:0 34px; }
.logo-item:hover{ opacity:1; }
/* logos reais: cinza uniforme, na mesma altura óptica dos lockups de texto */
.lg-img{
  height:36px; width:auto; display:block;
  filter:grayscale(1) contrast(.92) brightness(.78);
  opacity:.72;
  transition:opacity .3s var(--ease), filter .3s var(--ease);
}
.lg-img--tall{ height:42px; }
.logo-item:hover .lg-img{ opacity:1; }
.lg-ico{ width:34px; height:34px; display:grid; place-items:center; color:#3c4250; }
.lg-ico svg{ width:100%; height:100%; }
.lg-oab{
  font-family:"Fraunces",serif; font-weight:600; font-size:15px;
  width:38px; height:38px; border-radius:50%; background:#3c4250; color:#eef1f5;
  display:grid; place-items:center; letter-spacing:.03em;
}
.lg-txt{ display:flex; flex-direction:column; line-height:1.15; }
.lg-txt b{ font-size:14px; font-weight:700; letter-spacing:.02em; }
.lg-txt small{ font-size:10px; letter-spacing:.14em; }
.lg-strong b{ font-family:"Fraunces",serif; font-size:26px; font-weight:600; letter-spacing:.02em; }
.lg-strong small{ font-size:9px; letter-spacing:.2em; }

/* ============================================================
   CTA FINAL
   ============================================================ */
.final-cta{ position:relative; background:var(--green-deep); color:var(--cream-text); overflow:hidden; }
.final-inner{
  position:relative; z-index:2; max-width:1800px;
  display:grid; grid-template-columns:minmax(0,1.45fr) auto auto;
  align-items:center; gap:clamp(32px,4.5vw,80px); padding:64px 3%;
}
.final-copy{ min-width:0; }
.final-copy h2{ color:var(--cream-text); font-size:clamp(24px,2.35vw,36px); line-height:1.2; max-width:560px; }
.final-sub{ color:var(--gold); font-family:"Fraunces",serif; font-size:20px; margin-top:16px; font-style:italic; }
.final-feats{ position:relative; z-index:3; display:flex; flex-direction:row; justify-content:center; gap:0; }
.ffeat{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:11px;
  font-size:12.5px; color:var(--cream-mut); line-height:1.42; padding:0 20px; }
.ffeat span{ white-space:nowrap; }
.ffeat + .ffeat{ border-left:1px solid rgba(238,241,245,.14); }
.ff-ico{ width:34px; height:34px; color:var(--gold); }
.final-action{ position:relative; z-index:4; display:flex; flex-direction:column; align-items:center; text-align:center; }
.final-action .btn{ width:auto; justify-content:center; white-space:nowrap; font-size:15px; padding:17px 32px; }
.final-or{ font-size:14px; color:var(--cream-mut); margin:16px 0 14px; }
.socials{ display:flex; gap:20px; justify-content:center; }
.soc{ color:var(--cream-text); transition:.3s; display:inline-flex; }
.soc svg{ width:26px; height:26px; }
.soc:hover{ color:var(--gold); }

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{ background:var(--cream); padding:44px 0 32px; }
.footer-inner{ display:grid; grid-template-columns:1.6fr 1fr 1.1fr; gap:48px; }
.foot-brand{ display:flex; flex-direction:column; align-items:flex-start; }
.foot-logo{ display:block; }
.foot-logo-mark{
  display:block; width:178px; height:182px;
  background:var(--ink);
  -webkit-mask:url("assets/logo-badge.png") no-repeat left center/contain;
          mask:url("assets/logo-badge.png") no-repeat left center/contain;
}
.foot-tag{ font-size:14px; color:var(--muted); max-width:340px; margin-top:18px; line-height:1.65; }
.foot-col h5{
  font-family:"Montserrat",sans-serif; font-size:12px; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase; color:var(--pewter); margin-bottom:16px;
}
.footer-inner .foot-col:last-child h5{ padding-left:0; }
.foot-col a, .foot-plain{
  display:flex; align-items:center; gap:10px;
  font-size:14px; color:var(--muted); margin-bottom:11px; transition:.25s;
}
.foot-col a:hover{ color:var(--ink); }
.fi{ width:17px; height:17px; color:var(--pewter); flex:none; }
/* ícones de contato do footer nunca renderizaram (sem mask) — removidos p/ alinhar tudo à esquerda em 0 */
.foot-col .fi{ display:none; }
/* thin full-width navy bottom bar */
.foot-bottom{ background:var(--green-deep); }
.foot-bottom-inner{
  display:flex; justify-content:space-between; align-items:center;
  padding:11px 0; font-size:12px; color:var(--cream-mut);
}
.foot-bottom-inner a{ color:var(--cream-mut); }
.foot-bottom-inner a:hover{ color:var(--cream-text); }

/* ============================================================
   ICONS (mask-based)
   ============================================================ */
.ico{ width:18px; height:18px; display:inline-block; background:currentColor;
  -webkit-mask-size:contain; mask-size:contain; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-position:center; mask-position:center; flex:none; }
.ico-wa{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.32 4.95L2 22l5.25-1.38a9.9 9.9 0 0 0 4.79 1.22h.01c5.46 0 9.91-4.45 9.91-9.91 0-2.65-1.03-5.14-2.9-7.01A9.82 9.82 0 0 0 12.04 2Zm0 1.8c2.16 0 4.19.84 5.72 2.37a8.06 8.06 0 0 1 2.37 5.72c0 4.47-3.64 8.11-8.11 8.11a8.1 8.1 0 0 1-4.13-1.13l-.3-.18-3.12.82.83-3.04-.19-.31a8.05 8.05 0 0 1-1.24-4.29c0-4.47 3.64-8.11 8.11-8.11ZM8.53 7.33c-.17 0-.44.06-.67.31-.23.25-.88.86-.88 2.1s.9 2.43 1.03 2.6c.13.17 1.76 2.69 4.28 3.77.6.26 1.06.41 1.42.53.6.19 1.14.16 1.57.1.48-.07 1.47-.6 1.68-1.18.21-.58.21-1.07.14-1.18-.06-.1-.23-.16-.48-.28-.25-.13-1.47-.73-1.7-.81-.23-.08-.39-.13-.56.13-.17.25-.64.81-.79.97-.14.17-.29.19-.54.06-.25-.13-1.05-.39-2-1.23-.74-.66-1.24-1.48-1.39-1.73-.14-.25-.01-.39.11-.51.11-.11.25-.29.37-.44.13-.14.17-.25.25-.41.08-.17.04-.31-.02-.44-.06-.13-.55-1.37-.77-1.87-.2-.48-.4-.42-.56-.43-.14 0-.31-.01-.48-.01Z'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.32 4.95L2 22l5.25-1.38a9.9 9.9 0 0 0 4.79 1.22h.01c5.46 0 9.91-4.45 9.91-9.91 0-2.65-1.03-5.14-2.9-7.01A9.82 9.82 0 0 0 12.04 2Zm0 1.8c2.16 0 4.19.84 5.72 2.37a8.06 8.06 0 0 1 2.37 5.72c0 4.47-3.64 8.11-8.11 8.11a8.1 8.1 0 0 1-4.13-1.13l-.3-.18-3.12.82.83-3.04-.19-.31a8.05 8.05 0 0 1-1.24-4.29c0-4.47 3.64-8.11 8.11-8.11ZM8.53 7.33c-.17 0-.44.06-.67.31-.23.25-.88.86-.88 2.1s.9 2.43 1.03 2.6c.13.17 1.76 2.69 4.28 3.77.6.26 1.06.41 1.42.53.6.19 1.14.16 1.57.1.48-.07 1.47-.6 1.68-1.18.21-.58.21-1.07.14-1.18-.06-.1-.23-.16-.48-.28-.25-.13-1.47-.73-1.7-.81-.23-.08-.39-.13-.56.13-.17.25-.64.81-.79.97-.14.17-.29.19-.54.06-.25-.13-1.05-.39-2-1.23-.74-.66-1.24-1.48-1.39-1.73-.14-.25-.01-.39.11-.51.11-.11.25-.29.37-.44.13-.14.17-.25.25-.41.08-.17.04-.31-.02-.44-.06-.13-.55-1.37-.77-1.87-.2-.48-.4-.42-.56-.43-.14 0-.31-.01-.48-.01Z'/></svg>"); }
.ico-lock{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'><rect x='5' y='11' width='14' height='9' rx='2'/><path d='M8 11V8a4 4 0 0 1 8 0v3'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'><rect x='5' y='11' width='14' height='9' rx='2'/><path d='M8 11V8a4 4 0 0 1 8 0v3'/></svg>"); }
.ico-mail{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'><rect x='3' y='5' width='18' height='14' rx='2'/><path d='m3 7 9 6 9-6'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'><rect x='3' y='5' width='18' height='14' rx='2'/><path d='m3 7 9 6 9-6'/></svg>"); }
.ico-pin{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'><path d='M12 21s7-6.3 7-11a7 7 0 1 0-14 0c0 4.7 7 11 7 11Z'/><circle cx='12' cy='10' r='2.5'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'><path d='M12 21s7-6.3 7-11a7 7 0 1 0-14 0c0 4.7 7 11 7 11Z'/><circle cx='12' cy='10' r='2.5'/></svg>"); }

/* feature / problem icons (larger, thin stroke) */
.feat-ico,.pico,.ff-ico{ background:currentColor;
  -webkit-mask-size:contain; mask-size:contain; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-position:center; mask-position:center; }
.ico-people{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'><circle cx='9' cy='8' r='3'/><path d='M3 20a6 6 0 0 1 12 0'/><path d='M16 5.5a3 3 0 0 1 0 5M17 20a6 6 0 0 0-2-4.5'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'><circle cx='9' cy='8' r='3'/><path d='M3 20a6 6 0 0 1 12 0'/><path d='M16 5.5a3 3 0 0 1 0 5M17 20a6 6 0 0 0-2-4.5'/></svg>"); }
.ico-shield{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'><path d='M12 3l7 3v5c0 4.4-3 7.6-7 9-4-1.4-7-4.6-7-9V6z'/><path d='M9.5 12l1.8 1.8 3.2-3.6'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'><path d='M12 3l7 3v5c0 4.4-3 7.6-7 9-4-1.4-7-4.6-7-9V6z'/><path d='M9.5 12l1.8 1.8 3.2-3.6'/></svg>"); }
.ico-diamond{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'><path d='M6 3h12l3 5-9 13L3 8z'/><path d='M3 8h18M9 3l-3 5 6 13 6-13-3-5'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'><path d='M6 3h12l3 5-9 13L3 8z'/><path d='M3 8h18M9 3l-3 5 6 13 6-13-3-5'/></svg>"); }
.ico-flower{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'><circle cx='12' cy='12' r='2.2'/><path d='M12 2c1.6 1.2 1.6 4.4 0 6-1.6-1.6-1.6-4.8 0-6ZM12 22c1.6-1.2 1.6-4.4 0-6-1.6 1.6-1.6 4.8 0 6ZM2 12c1.2-1.6 4.4-1.6 6 0-1.6 1.6-4.8 1.6-6 0ZM22 12c-1.2-1.6-4.4-1.6-6 0 1.6 1.6 4.8 1.6 6 0ZM5 5c2 .2 3.9 2.1 4.1 4.1C7.1 8.9 5.2 7 5 5ZM19 5c-2 .2-3.9 2.1-4.1 4.1C16.9 8.9 18.8 7 19 5ZM5 19c2-.2 3.9-2.1 4.1-4.1C7.1 15.1 5.2 17 5 19ZM19 19c-2-.2-3.9-2.1-4.1-4.1C16.9 15.1 18.8 17 19 19Z'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'><circle cx='12' cy='12' r='2.2'/><path d='M12 2c1.6 1.2 1.6 4.4 0 6-1.6-1.6-1.6-4.8 0-6ZM12 22c1.6-1.2 1.6-4.4 0-6-1.6 1.6-1.6 4.8 0 6ZM2 12c1.2-1.6 4.4-1.6 6 0-1.6 1.6-4.8 1.6-6 0ZM22 12c-1.2-1.6-4.4-1.6-6 0 1.6 1.6 4.8 1.6 6 0ZM5 5c2 .2 3.9 2.1 4.1 4.1C7.1 8.9 5.2 7 5 5ZM19 5c-2 .2-3.9 2.1-4.1 4.1C16.9 8.9 18.8 7 19 5ZM5 19c2-.2 3.9-2.1 4.1-4.1C7.1 15.1 5.2 17 5 19ZM19 19c-2-.2-3.9-2.1-4.1-4.1C16.9 15.1 18.8 17 19 19Z'/></svg>"); }
.ico-clarity{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'><circle cx='12' cy='9' r='3'/><path d='M6 20a6 6 0 0 1 12 0'/><circle cx='12' cy='9' r='7' stroke-dasharray='2 3'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'><circle cx='12' cy='9' r='3'/><path d='M6 20a6 6 0 0 1 12 0'/><circle cx='12' cy='9' r='7' stroke-dasharray='2 3'/></svg>"); }
.ico-comm{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'><path d='M4 5h11a3 3 0 0 1 3 3v3a3 3 0 0 1-3 3H9l-4 3v-3a3 3 0 0 1-1-2V8a3 3 0 0 1 3-3Z'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'><path d='M4 5h11a3 3 0 0 1 3 3v3a3 3 0 0 1-3 3H9l-4 3v-3a3 3 0 0 1-1-2V8a3 3 0 0 1 3-3Z'/></svg>"); }
.ico-mirror{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'><ellipse cx='12' cy='9' rx='6' ry='7'/><path d='M12 16v5M9 21h6'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'><ellipse cx='12' cy='9' rx='6' ry='7'/><path d='M12 16v5M9 21h6'/></svg>"); }
.ico-chart{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'><path d='M4 20V4M4 20h16M8 16l3-4 3 2 4-6'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'><path d='M4 20V4M4 20h16M8 16l3-4 3 2 4-6'/></svg>"); }
.ico-building{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'><path d='M4 21V5h11v16M15 9h5v12M8 9h3M8 13h3M8 17h3M17 13h1M17 17h1M2 21h20'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'><path d='M4 21V5h11v16M15 9h5v12M8 9h3M8 13h3M8 17h3M17 13h1M17 17h1M2 21h20'/></svg>"); }
.ico-compass{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'><circle cx='12' cy='12' r='8'/><path d='m15.8 8.2-2.3 5.3-5.3 2.3 2.3-5.3 5.3-2.3Z'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3'><circle cx='12' cy='12' r='8'/><path d='m15.8 8.2-2.3 5.3-5.3 2.3 2.3-5.3 5.3-2.3Z'/></svg>"); }

/* ============================================================
   REVEAL
   ============================================================ */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ .reveal{ opacity:1; transform:none; } html{ scroll-behavior:auto; } }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1180px){
  .main-nav{ gap:18px; }
  .main-nav a{ font-size:10.5px; }
  .header-cta{ display:none; }
}
@media (max-width:1080px){
  .wrap{ padding:0 28px; }
  .about-inner{ grid-template-columns:1fr; gap:40px; }
  .about-photo img{ height:420px; }
  .about-features{ grid-template-columns:repeat(2,1fr); gap:24px 20px; }
  .final-inner{ grid-template-columns:1fr; gap:26px; text-align:center; padding:42px 32px; }
  .final-feats{ max-width:520px; margin:0 auto; }
}
@media (max-width:900px){
  .main-nav, .header-cta{ display:none; }
  .site-header .wrap{ padding-left:28px; padding-right:28px; }
  .nav-toggle{ display:flex; flex-direction:column; gap:5px; margin-left:auto; background:none; border:0; cursor:pointer; padding:6px; }
  .nav-toggle span{ width:26px; height:2px; background:var(--cream-text); transition:.3s; }
  .site-header.open .nav-toggle span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .site-header.open .nav-toggle span:nth-child(2){ opacity:0; }
  .site-header.open .nav-toggle span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
  .mobile-menu{ position:fixed; inset:0 0 auto 0; top:80px; background:var(--green); z-index:55;
    display:flex; flex-direction:column; padding:18px 28px 28px; gap:6px;
    transform:translateY(-120%); transition:transform .4s var(--ease); }
  .site-header.open + .mobile-menu, .mobile-menu.open{ transform:translateY(0); }
  .mobile-menu a{ padding:13px 0; font-size:13px; letter-spacing:.14em; text-transform:uppercase;
    color:var(--cream-text); border-bottom:1px solid rgba(238,241,245,.1); }
  .mobile-menu .btn{ margin-top:14px; justify-content:center; }
  .mobile-menu .btn-gold{ color:var(--ink); }

  .hero-media{ position:relative; inset:auto; width:100%; height:96vw; max-height:540px; }
  .hero-media img{ object-position:74% 14%; }
  .hero-media::before{ background:linear-gradient(0deg, var(--cream) 2%, rgba(224,224,224,0) 42%); }
  .hero-inner{ min-height:auto; padding:38px 0 20px; }
  .hero-copy{ max-width:none; }

  .problem-inner{ grid-template-columns:1fr; gap:48px; }
  .problem-col::after{ display:none; }
  .solution-cards{ grid-template-columns:1fr; }
  .scard{ min-height:0; }

  .testimonials-nav{ display:none; }
  .tcards{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:16px;
    margin:0 -28px; padding:4px 28px 10px; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .tcards::-webkit-scrollbar{ display:none; }
  .tcard{ flex:0 0 78%; scroll-snap-align:center; min-height:230px; padding:26px 26px 28px; }
  .tcard .quote{ font-size:112px; top:22px; left:26px; right:auto; }
  .tcard .who{ margin-top:58px; }
  .tcard blockquote{ margin-top:24px; }
  .tcard .who strong{ font-size:18px; }
  .tcard .who em{ font-size:12.5px; }

  .final-inner{ grid-template-columns:1fr; text-align:center; padding:48px 28px; }
  .final-feats{ flex-direction:row; justify-content:center; gap:30px; }
  .final-copy h2{ max-width:none; margin:0 auto; }
  .logos{ gap:26px 18px; }
  .logo-item{ flex:0 0 40%; }

  .footer-inner{ grid-template-columns:1fr 1fr; gap:30px 22px; }
  .foot-brand{ grid-column:1 / -1; }
  .foot-col{ min-width:0; }
  .foot-col a{ overflow-wrap:anywhere; }
  .foot-bottom{ flex-direction:column; gap:10px; text-align:center; }
}
@media (max-width:640px){
  .scard{ grid-template-columns:1fr; }
  .scard-media{ height:220px; }
  .scard-body{ display:flex; flex-direction:column; padding:30px 28px; }
  .scard-body > p{ margin-bottom:22px; }
  .ticks{ margin-bottom:0; }
  .saiba{ margin-top:26px; }
}
@media (max-width:480px){
  .wrap{ padding:0 20px; }
  .hero-copy h1{ font-size:34px; }
  .about-features{ grid-template-columns:1fr; }
  .problem-items{ grid-template-columns:1fr 1fr; gap:22px 16px; }
  .scard-media{ height:200px; }
  .final-feats{ flex-direction:column; }
  .tcard{ flex-basis:86%; }
  .tcard .quote{ font-size:100px; top:20px; left:24px; right:auto; }
  .tcard .who{ margin-top:52px; }
  .tcard blockquote{ margin-top:22px; }
}

/* Mobile polish only. Desktop rules above remain untouched. */
@media (max-width:900px){
  html{ scroll-padding-top:20px; }

  .header-inner{ height:72px; }
  .site-header.scrolled .header-inner{ height:66px; }
  .brand{ gap:10px; }
  .brand-mark{ width:35px; height:39px; }
  .brand-name{ font-size:17px; letter-spacing:.1em; }
  .brand-tag{ font-size:7.5px; letter-spacing:.28em; }
  .mobile-menu{ top:72px; }

  .hero{ padding-top:72px; }
  .hero-media{
    height:82vw;
    max-height:390px;
    min-height:286px;
  }
  .hero-media img{ object-position:64% 12%; }
  .hero-media::before{
    background:linear-gradient(0deg, var(--cream) 0%, rgba(224,224,224,.55) 7%, rgba(224,224,224,0) 27%);
  }
  .hero-inner{ padding-top:24px; padding-bottom:38px; }
  .hero-copy h1{ max-width:9.5em; }
  .hero-copy .rule{ margin:26px 0 22px; }
  .hero-copy p{ font-size:15px; line-height:1.65; }
  .hero-copy .btn-dark{ margin-top:26px; }
  .hero-trust{ margin-top:18px; }

  .about{ padding:36px 0 48px; }
  .about-photo img{
    height:64vw;
    min-height:240px;
    max-height:360px;
    border-radius:16px;
    object-position:center 18%;
  }
  .about-copy h2{ font-size:31px; }
  .about-copy > p{ font-size:15px; line-height:1.65; }
  .about-features{ margin-top:28px; }
  .feat{
    padding:2px 0 4px;
    text-align:center;
  }
  .feat-ico{ margin-left:auto; margin-right:auto; }
  .feat h4{ margin-top:14px; }

  .problem{ padding:64px 0; }
  .problem-col h2{ margin-bottom:34px; }
  .problem-items{ gap:28px 18px; }
  .solution-col{ padding:36px 26px; }
  .solution-col .btn{
    width:100%;
    max-width:320px;
    padding:18px 22px;
  }

  .solutions{ padding:8px 0 64px; }
  .section-head{ margin-bottom:34px; }
  .section-head h2{ font-size:31px; }
  .solution-cards{ gap:30px; }
  .scard{
    border-radius:14px;
    box-shadow:0 24px 44px -34px rgba(19,24,55,.65);
  }
  .scard-media{ height:255px; }
  .scard-media img{ object-position:center 18%; }
  .scard-body{ padding:31px 28px 34px; }
  .ticks{ gap:10px; }

  .trust{ padding:24px 0 58px; }
  .trust-label{ margin-bottom:34px; line-height:1.6; }
  .logos{ justify-content:center; gap:26px 12px; }
  .logo-item{
    flex:0 0 calc(50% - 12px);
    min-height:42px;
  }

  .testimonials{ padding:12px 0 64px; background:#fff; }
  .testimonials .section-sub{ font-size:14px; max-width:420px; }
  .tcards{ padding-bottom:16px; }
  .tcard{
    min-height:230px;
    border-radius:18px;
  }

  .final-inner{ padding:54px 28px 48px; }
  .final-copy h2{ font-size:29px; }
  .final-sub{ font-size:19px; }
  .final-feats{
    gap:0;
    align-items:stretch;
  }
  .ffeat{
    padding:0 18px;
    min-width:0;
  }
  .final-action .btn{
    width:100%;
    max-width:320px;
    padding:17px 24px;
  }

  .site-footer{ padding:38px 0 34px; }
  .foot-logo-mark{ width:150px; height:154px; }
  .foot-tag{ margin-top:14px; max-width:310px; }
  .footer-inner .foot-col:last-child h5{ padding-left:0; }
  .foot-bottom-inner{
    flex-direction:column;
    gap:7px;
    text-align:center;
  }
}

@media (max-width:480px){
  .site-header .wrap{ padding-left:20px; padding-right:20px; }
  .brand-mark{ width:33px; height:37px; }
  .brand-name{ font-size:16px; }
  .brand-tag{ font-size:7px; }

  .hero-media{ height:78vw; min-height:272px; }
  .hero-trust{ justify-content:center; }
  .hero-copy h1{
    font-size:33px;
    line-height:1.07;
  }
  .btn{
    width:100%;
    justify-content:center;
    min-height:54px;
    padding-left:20px;
    padding-right:20px;
    white-space:normal;
    text-align:center;
  }

  .about-copy h2,
  .section-head h2{ font-size:29px; }
  .about-features{ gap:24px; }
  .feat-ico{ width:36px; height:36px; }

  .problem{ padding:58px 0; }
  .problem-col h2{ font-size:27px; }
  .pico{ width:38px; height:38px; margin-bottom:13px; }
  .pitem p{ font-size:12.5px; }
  .solution-text{ font-size:16px; }

  .scard-media{ height:228px; }
  .scard-body{ padding:29px 28px 32px; }
  .saiba{ width:auto; }

  .logo-item{ flex-basis:calc(50% - 10px); justify-content:flex-start; }
  .lg-txt b{ font-size:13px; }

  .tcards{ margin-left:-20px; margin-right:-20px; padding-left:20px; padding-right:20px; }
  .tcard{ flex-basis:82%; padding:24px 24px 26px; min-height:220px; }
  .tcard .who strong{ font-size:17px; }

  .final-feats{ flex-direction:row; gap:0; align-items:stretch; }
  .ffeat{ flex:1 1 0; padding:0 4px; font-size:10.5px; gap:8px; letter-spacing:-.01em; line-height:1.32; }
  .ffeat span{ white-space:normal; }
  .ffeat + .ffeat{
    border-left:1px solid rgba(238,241,245,.14);
    border-top:0;
    padding-top:0;
  }
  .ff-ico{ width:26px; height:26px; }
  .final-inner{ padding-left:12px; padding-right:12px; }

  .foot-logo-mark{ width:138px; height:142px; }
}

/* ============================================================
   REVISÃO EDITORIAL APROVADA — JUL/2026
   Mais fundo claro, navy como contraste e fluxo mobile-first.
   ============================================================ */
:root{
  --cream:      #f7f8fa;
  --cream-2:    #eef1f5;
  --cream-3:    #ffffff;
  --green-deep: #101936;
  --green:      #142044;
  --green-soft: #22305a;
  --gold:       #cfd5df;
  --gold-2:     #e2e6ec;
  --gold-dark:  #8f98a7;
  --pewter:     #6c7481;
  --ink:        #111b3d;
  --muted:      #525b69;
  --cream-text: #f7f8fb;
  --cream-mut:  #c3cad5;
  --line:       #dfe3e9;
  --blue-card:  #e6ecf7;
  --blue-quote: #ccd6ea;
}

body{ background:var(--cream); }

/* Header claro: o azul passa a ser acento, não uma faixa dominante. */
.site-header{
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(17,27,61,.08);
  backdrop-filter:blur(14px);
}
.site-header.scrolled{ background:rgba(255,255,255,.985); box-shadow:0 14px 40px -30px rgba(17,27,61,.55); }
.brand-mark{ background:var(--ink); }
.brand-name{ color:var(--ink); }
.brand-tag{ color:var(--muted); }
.main-nav a{ color:var(--ink); opacity:.82; }
.main-nav a:hover{ color:var(--ink); }
.main-nav a::after{ background:var(--ink); }
.header-cta{
  background:var(--green-deep);
  border-color:var(--green-deep);
  color:var(--cream-text);
}
.header-cta:hover{ background:#091127; border-color:#091127; color:#fff; }

/* Hero com mensagem em dois tempos: competência → presença. */
.hero{
  min-height:760px;
  background:var(--cream);
}
.hero .wrap{
  max-width:none;
  padding-left:clamp(40px,6vw,104px);
  padding-right:0;
}
.hero-media{ top:0; width:50%; }
.hero-media img{ object-position:55% 13%; }
.hero-media::before{
  background:linear-gradient(90deg, var(--cream) 0%, rgba(247,248,250,.72) 8%, rgba(247,248,250,0) 27%);
}
.hero-inner{
  min-height:760px;
  padding-top:128px;
  padding-bottom:72px;
}
.hero-copy{ width:49%; max-width:680px; }
.hero-kicker{ margin-bottom:22px; color:var(--muted); }
.hero-copy h1{
  max-width:650px;
  font-size:clamp(48px,5vw,72px);
  line-height:1.01;
  letter-spacing:-.035em;
}
.hero-copy h1 span,
.hero-copy h1 strong{ display:block; }
.hero-copy h1 strong{
  margin-top:10px;
  color:#525b68;
  font-weight:400;
}
.hero-copy > p{
  max-width:540px;
  margin-top:30px;
  font-size:16px;
}
.hero-copy .btn-dark{ margin-top:30px; border-radius:9px; }
.hero-trust{
  display:inline-flex;
  margin-left:24px;
  color:var(--ink);
  font-size:12px;
  font-weight:500;
}

/* Identificação imediata, sem nova área escura. */
.signals{
  background:#fff;
  padding:56px 0 60px;
}
.signals .wrap{
  max-width:1380px;
  padding-left:clamp(36px,4vw,64px);
  padding-right:clamp(36px,4vw,64px);
}
.signals-title{
  margin-bottom:36px;
  text-align:center;
  color:var(--ink);
  font-family:"Fraunces", Georgia, serif;
  font-size:clamp(16px,5.2vw,38px);
  font-weight:500;
  line-height:1.15;
  letter-spacing:-.01em;
  white-space:nowrap;
}
.audience-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 20px;
}
.signal-column{
  min-width:0;
  display:grid;
  gap:16px;
  align-content:start;
}
.signal{
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  align-items:center;
  column-gap:20px;
  padding:22px 26px;
  background:var(--cream-2);
  border-radius:var(--r);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.signal:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px -22px rgba(17,27,61,.35);
}
.signal-icon{
  display:block;
  width:46px;
  height:46px;
  color:var(--ink);
  background:currentColor;
  -webkit-mask-size:contain;
          mask-size:contain;
  -webkit-mask-repeat:no-repeat;
          mask-repeat:no-repeat;
  -webkit-mask-position:center;
          mask-position:center;
}
.signal p{
  margin:0;
  color:var(--muted);
  font-size:15.5px;
  line-height:1.6;
}
.journey-icon{
  display:inline-block;
  width:34px;
  height:34px;
  color:var(--ink);
  background:currentColor;
  -webkit-mask-size:contain;
          mask-size:contain;
  -webkit-mask-repeat:no-repeat;
          mask-repeat:no-repeat;
  -webkit-mask-position:center;
          mask-position:center;
}

/* Sobre claro, com a foto funcionando como divisão visual. */
.about{
  background:var(--cream);
  color:var(--ink);
  padding:72px 0 76px;
}
.about-inner{ grid-template-columns:.82fr 1.18fr; gap:64px; }
.about-photo img{
  height:590px;
  border-radius:2px;
  box-shadow:0 30px 70px -52px rgba(17,27,61,.6);
}
.about-copy .kicker{ color:var(--pewter); }
.about-copy h2{ color:var(--ink); font-size:clamp(34px,3.2vw,46px); }
.about-copy > p{ color:var(--muted); font-size:15px; }
.about-features{ border-color:var(--line); }
.feat-ico{ color:var(--ink); }
.feat h4{ color:var(--ink); }
.feat p{ color:var(--muted); }

/* Timeline independente: o método nasce da sequência de vivências. */
.journey{
  background:var(--cream-2);
  padding:74px 0 82px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.journey .wrap{
  max-width:none;
  padding-left:clamp(44px,5vw,88px);
  padding-right:clamp(44px,5vw,88px);
}
.journey-inner{
  display:grid;
  grid-template-columns:minmax(400px,430px) minmax(0,1fr);
  gap:clamp(52px,4vw,72px);
  align-items:start;
}
.journey-intro h2{
  max-width:430px;
  font-size:clamp(34px,3vw,46px);
  line-height:1.08;
}
.journey-track{
  position:relative;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:clamp(14px,1.3vw,24px);
}
.journey-track::before{
  content:"";
  position:absolute;
  top:38px;
  left:8.333%;
  right:8.333%;
  height:1px;
  background:#b8bec8;
}
.journey-item{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  min-width:0;
  text-align:center;
}
.journey-item::after{
  content:"";
  position:absolute;
  z-index:2;
  top:34px;
  left:50%;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--ink);
  box-shadow:0 0 0 5px var(--cream-2);
  transform:translateX(-50%);
}
.journey-icon{
  width:38px;
  height:38px;
  margin-top:34px;
  padding:0;
  color:var(--ink);
  background-color:var(--ink);
  border:0;
  border-radius:0;
  box-shadow:none;
}
.journey-item strong{
  display:block;
  min-height:18px;
  margin-top:0;
  color:var(--ink);
  font-size:11.5px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.journey-item h3{
  margin-top:13px;
  color:var(--ink);
  font-family:"Montserrat",sans-serif;
  font-size:13px;
  font-weight:600;
  line-height:1.35;
}
.journey-item p{
  margin-top:9px;
  color:var(--muted);
  font-size:11.5px;
  line-height:1.58;
}

/* ================= TRAJETÓRIA v2 (polaroids) ================= */
.journey-v2{ border-top:none; background:var(--cream-2); padding:52px 0 58px; }
.journey-v2 .wrap{
  max-width:none;
  padding-left:clamp(44px,5vw,88px);
  padding-right:0;
}
.journey-v2-inner{
  display:grid;
  grid-template-columns:minmax(320px,400px) minmax(0,1fr);
  gap:clamp(40px,3.5vw,64px);
  align-items:center;
}
.journey-v2-intro h2{
  max-width:400px;
  font-size:clamp(34px,3vw,46px);
  line-height:1.08;
}
.journey-v2-nav{
  display:flex;
  gap:12px;
  margin-top:30px;
}
.journey-v2-btn{
  border:0;
  background:none;
  padding:8px;
  color:var(--ink);
  line-height:0;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:.25s var(--ease);
}
.journey-v2-btn svg{ display:block; }
/* a seta desliza no sentido do movimento em vez de preencher um círculo */
.journey-v2-btn:hover{ opacity:.6; transform:translateX(3px); }
.journey-v2-btn[data-dir="-1"]:hover{ transform:translateX(-3px); }
.journey-v2-btn:disabled{
  opacity:.22;
  cursor:default;
  transform:none;
}
.journey-v2-rail{ min-width:0; }
.journey-v2-track{
  display:flex;
  align-items:flex-start;
  gap:clamp(18px,1.6vw,26px);
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  scroll-padding-left:56px;
  padding:6px 0 36px 56px;
  min-height:390px;
  scrollbar-width:none;
  -webkit-mask-image:linear-gradient(to right,#000 0%,#000 calc(100% - 120px),transparent 100%);
          mask-image:linear-gradient(to right,#000 0%,#000 calc(100% - 120px),transparent 100%);
}
.journey-v2-track.navigating{ scroll-snap-type:none; }
.journey-v2-track::-webkit-scrollbar{ display:none; }
/* espaçador: permite o último card chegar até a esquerda */
.journey-v2-track::after{
  content:"";
  flex:0 0 calc(100% - 310px);
}
.journey-v2-track.scrolled{
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 56px,#000 calc(100% - 120px),transparent 100%);
          mask-image:linear-gradient(to right,transparent 0%,#000 56px,#000 calc(100% - 120px),transparent 100%);
}
.journey-v2-track.at-end{
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 56px,#000 100%);
          mask-image:linear-gradient(to right,transparent 0%,#000 56px,#000 100%);
}
.journey-v2-card{
  flex:0 0 204px;
  scroll-snap-align:start;
  transition:flex-basis .65s var(--ease);
}
.journey-v2-card.is-active{ flex-basis:306px; }
.journey-v2-polaroid{
  background:#fdfdfc url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  border:1px solid rgba(20,25,55,.06);
  border-radius:0;
  padding:10px 10px 0;
  box-shadow:0 18px 34px -16px rgba(20,25,55,.15);
  transition:transform .45s var(--ease), box-shadow .45s var(--ease);
}
.journey-v2-card:hover .journey-v2-polaroid{
  transform:translateY(-4px);
  box-shadow:0 26px 44px -20px rgba(20,25,55,.2);
}
.journey-v2-media{
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:0;
}
.journey-v2-media img{
  width:100%; height:100%;
  object-fit:cover;
  /* o frame é 1:1 e as fotos são retrato, então o cover corta.
     --crop ajusta o enquadramento por foto: 0% mostra o topo, 50% o meio. */
  object-position:50% var(--crop, 50%);
  transition:transform .6s var(--ease);
}
.journey-v2-card:hover .journey-v2-media img{ transform:scale(1.04); }
/* placeholder de foto (cards sem imagem ainda) */
.journey-v2-media--empty{
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--cream-2);
}
.journey-v2-media--empty span{
  font-family:"Montserrat",sans-serif;
  font-weight:700;
  font-size:22px;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:#b3b7c2;
  color:color-mix(in srgb, var(--green-deep) 22%, var(--cream-2));
}
/* ano "escrito a caneta" na faixa inferior da polaroid */
.journey-v2-year{
  display:flex;
  align-items:center;
  justify-content:center;
  height:52px;
  color:#39404e;
  font-family:"Caveat",cursive;
  font-size:28px;
  font-weight:600;
  line-height:1;
  transform:rotate(-1.5deg);
}
/* legenda do card em destaque (troca conforme o card da esquerda) */
.journey-v2-caption{
  margin:14px 0 0 56px;
  max-width:340px;
  min-height:132px;
  transition:opacity .22s var(--ease);
}
.journey-v2-caption.is-switching{ opacity:0; }
.journey-v2-caption-title{
  color:var(--ink);
  font-size:22px;
  line-height:1.25;
}
.journey-v2-caption-text{
  margin-top:8px;
  color:var(--muted);
  font-size:13.5px;
  line-height:1.6;
}

.solutions{ padding:76px 0 84px; }
.solutions .wrap{ max-width:1420px; }
.scard{ border-radius:10px; box-shadow:0 30px 60px -44px rgba(17,27,61,.75); }
.scard-body .kicker{ color:var(--gold); }

.trust{ background:#fff; padding:38px 0 62px; border-top:1px solid var(--line); }
.testimonials{ background:#fff; padding:64px 0 84px; }
.tcard{
  min-height:252px;
  padding:30px 32px 32px;
  box-shadow:0 18px 44px -36px rgba(17,27,61,.28);
}
.tcard blockquote{ font-size:15px; line-height:1.65; }

.final-copy h2 strong{
  display:block;
  margin-top:8px;
  color:var(--gold);
  font-weight:400;
}
.final-inner{ grid-template-columns:minmax(330px,1fr) minmax(430px,auto) auto; gap:clamp(32px,4.5vw,80px); }
.final-feats{ min-width:430px; }
.ffeat{ padding:0 14px; font-size:11.5px; }
.ffeat span{ white-space:normal; }

.site-footer{ background:#fff; }
.foot-bottom{ background:var(--green-deep); }

@media (max-width:1180px){
  .journey-inner{ grid-template-columns:1fr; }
  .journey-intro{ max-width:680px; }
  .journey-intro h2{ max-width:680px; }
  .journey-v2-inner{ grid-template-columns:1fr; }
  .journey-v2-intro h2{ max-width:680px; }
  .final-inner{ grid-template-columns:1fr; }
  .final-feats{ min-width:0; }
}

@media (max-width:900px){
  .nav-toggle span{ background:var(--ink); }
  .mobile-menu{
    background:#fff;
    border-top:1px solid var(--line);
    box-shadow:0 24px 42px -32px rgba(17,27,61,.55);
  }
  .mobile-menu a{ color:var(--ink); border-color:var(--line); }
  .mobile-menu .btn-gold{ background:var(--green-deep); color:#fff; }

  .hero{ min-height:0; padding-top:72px; }
  .hero-media{
    top:auto;
    width:100%;
    height:78vw;
    min-height:290px;
    max-height:500px;
  }
  .hero-media img{ object-position:60% 13%; }
  .hero-media::before{
    background:linear-gradient(0deg, var(--cream) 0%, rgba(247,248,250,.52) 7%, rgba(247,248,250,0) 27%);
  }
  .hero-inner{
    min-height:0;
    padding:26px 28px 58px;
  }
  .hero-copy{ width:100%; max-width:none; }
  .hero-copy h1{ max-width:760px; font-size:clamp(42px,10vw,62px); }
  .hero-copy > p{ margin-top:24px; }
  .hero-copy .btn-dark{ margin-top:26px; }
  .hero-trust{ margin:18px 0 0; }

  .signals{ padding:48px 0 52px; }
  .signals .wrap{ padding-left:28px; padding-right:28px; }
  .audience-grid{ grid-template-columns:1fr; }

  .about{ padding:54px 0 64px; }
  .about-inner{ grid-template-columns:1fr; gap:40px; }
  .about-photo img{
    height:72vw;
    max-height:620px;
    border-radius:2px;
  }
  .about-copy h2{ font-size:clamp(34px,7vw,45px); }
  .about-features{ grid-template-columns:repeat(2,1fr); }
  .feat{ text-align:left; }
  .feat-ico{ margin-left:0; margin-right:0; }

  .journey{ padding:60px 0 68px; }
  .journey .wrap{ padding-left:28px; padding-right:28px; }
  .journey-track{
    grid-template-columns:1fr;
    gap:0;
    margin-top:44px;
    padding-left:0;
  }
  .journey-track::before{
    top:8px;
    bottom:8px;
    left:23px;
    right:auto;
    width:1px;
    height:auto;
  }
  .journey-item{
    display:block;
    min-height:132px;
    padding:0 0 34px 76px;
    text-align:left;
  }
  .journey-item::after{ display:none; }
  .journey-icon{
    position:absolute;
    top:0;
    left:0;
    width:46px;
    height:46px;
    margin-top:0;
    box-shadow:0 0 0 8px var(--cream-2);
  }
  .journey-item strong{ margin-top:0; padding-top:3px; }
  .journey-item p{ max-width:540px; font-size:12px; }

  .journey-v2 .wrap{ padding-left:28px; padding-right:28px; }
  /* O gap vem da regra desktop (clamp 40-64px) e no mobile aparecia duas
     vezes: entre título e foto, e entre legenda e botões. Zerado aqui,
     o espaçamento passa a ser controlado só pelas margens abaixo. */
  .journey-v2-inner{ display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .journey-v2-intro{ display:contents; }
  .journey-v2-intro h2{ font-size:34px; text-align:center; margin:0 auto; }
  .journey-v2-rail{ order:2; margin-top:60px; }
  .journey-v2-nav{ order:3; justify-content:center; margin-top:16px; }

  /* O trilho sai do padding do .wrap e ocupa a viewport inteira.
     Sem isso a largura do card resolvia contra 302px (wrap 20+20 e
     trilho 24+24 já descontados) e a foto ficava em 68% da tela. */
  .journey-v2-rail{
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
  }

  /* Medidas em vw: não compõem com padding de ancestral. */
  .journey-v2-card,
  .journey-v2-card.is-active{
    flex:0 0 88vw;
    scroll-snap-align:center;
  }
  .journey-v2-year{ height:44px; font-size:23px; }

  .journey-v2-caption{
    margin:14px auto 0;
    max-width:86vw;
    min-height:110px;   /* legenda mais alta = 109px, medida */
    text-align:center;
  }
  .journey-v2-caption-title{ font-size:19px; line-height:1.22; }
  .journey-v2-caption-text{ margin-top:6px; font-size:12.5px; line-height:1.5; }

  .journey-v2-track{
    padding:6px 0 26px;
    scroll-padding:0;
    gap:12px;
    min-height:calc(88vw + 20px);
  }
  /* Entrada e saída: metade da sobra, menos meia goteira.
     São eles que permitem o primeiro e o último card centralizarem —
     sem isso o carrossel encosta na borda e parece torto. */
  .journey-v2-track::before,
  .journey-v2-track::after{
    content:"";
    flex:0 0 calc(6vw - 6px);
  }
  .journey-v2-track,
  .journey-v2-track.scrolled,
  .journey-v2-track.at-end{
    -webkit-mask-image:linear-gradient(to right,transparent 0,#000 5vw,#000 calc(100% - 5vw),transparent 100%);
            mask-image:linear-gradient(to right,transparent 0,#000 5vw,#000 calc(100% - 5vw),transparent 100%);
  }

  .solutions{ padding:60px 0 70px; }
  .testimonials{ padding:54px 0 70px; background:#fff; }
  .testimonials-nav{ display:none; }
  .tcard{ min-height:230px; border-radius:18px; }

  .final-inner{ padding:56px 28px 50px; }
  .final-feats{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px 0;
  }
  .ffeat{ padding:0 16px; }
  .ffeat:nth-child(3){ border-left:0; }
}

/* Teste desktop: hero escuro com a fotografia preservada e integração por degradê. */
@media (min-width:901px){
  .hero{
    background:#111113;
  }
  .hero-media{
    inset:0;
    width:100%;
    background:#111113;
  }
  .hero-media img{
    display:block;
    width:62%;
    margin-left:auto;
    object-position:center 22%;
  }
  .hero-media::before{
    display:block;
    background:linear-gradient(
      90deg,
      #111113 0%,
      #111113 38%,
      rgba(17,17,19,.94) 46%,
      rgba(17,17,19,.48) 58%,
      rgba(17,17,19,0) 72%
    );
  }
  .hero-inner{
    padding-top:84px;
    padding-bottom:132px;
  }
  .hero-copy{
    width:52%;
    max-width:700px;
  }
  .hero-kicker{
    color:rgba(255,255,255,.68);
  }
  .hero-copy h1 span{
    color:#fff;
  }
  .hero-copy h1 strong{
    color:rgba(255,255,255,.78);
  }
  .hero-copy > p{
    color:rgba(255,255,255,.76);
  }
  .hero-copy .btn-dark{
    background:#fff;
    border-color:#fff;
    color:var(--green-deep);
  }
  .hero-copy .btn-dark:hover{
    background:var(--cream);
    border-color:var(--cream);
    color:var(--green-deep);
  }
  .hero-trust{
    color:rgba(255,255,255,.72);
  }
}

/* Mobile: transição mais orgânica no hero e timeline em três eixos. */
@media (max-width:900px){
  .hero{
    position:relative;
    background:var(--green-deep);
  }
  .hero-media{
    position:absolute;
    inset:72px 0 0;
    width:100%;
    height:auto;
    min-height:0;
    max-height:none;
    margin:0;
    overflow:hidden;
  }
  .hero-media img{
    height:103%;
    object-position:50% 12%;
    transform:translateY(-8%);
  }
  .hero-media::before{
    background:linear-gradient(
      180deg,
      rgba(8,13,31,.02) 0%,
      rgba(8,13,31,.06) 22%,
      rgba(8,13,31,.22) 34%,
      rgba(8,13,31,.7) 44%,
      rgba(8,13,31,.92) 58%,
      rgba(8,13,31,.97) 100%
    );
  }
  .hero .hero-inner{
    min-height:0;
    padding-top:clamp(350px,88vw,395px);
    padding-bottom:64px;
    padding-left:20px;
    padding-right:20px;
    background:none;
  }
  .hero-copy{
    text-align:center;
  }
  .hero-copy h1,
  .hero-copy > p{
    margin-left:auto;
    margin-right:auto;
  }
  .hero-kicker{
    display:none;
  }
  .hero-copy h1 span{
    color:#fff;
  }
  .hero-copy h1 strong{
    color:rgba(255,255,255,.82);
  }
  .hero-copy > p{
    color:rgba(255,255,255,.8);
  }
  .hero-copy .btn-dark{
    display:flex;
    width:min(100%,360px);
    margin:30px auto 0;
    background:#fff;
    border-color:#fff;
    color:var(--green-deep);
  }
  .hero-copy .btn-dark:hover{
    background:var(--cream);
    border-color:var(--cream);
    color:var(--green-deep);
  }
  .hero-trust{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    max-width:none;
    margin:18px auto 0;
    text-align:center;
    color:rgba(255,255,255,.72);
  }

  .journey-track{
    gap:0;
    margin-top:38px;
    padding-left:0;
  }
  .journey-track::before{
    top:7px;
    bottom:16px;
    left:10px;
  }
  .journey-item{
    display:grid;
    grid-template-columns:36px minmax(0,1fr);
    grid-template-rows:auto auto auto;
    column-gap:12px;
    min-height:0;
    padding:0 0 42px 22px;
    text-align:left;
  }
  .journey-item:last-child{
    padding-bottom:8px;
  }
  .journey-item::after{
    display:block;
    top:3px;
    left:10px;
    width:9px;
    height:9px;
    background:var(--ink);
    box-shadow:0 0 0 5px var(--cream-2);
  }
  .journey-item strong{
    grid-column:2;
    grid-row:1;
    min-height:0;
    margin:0;
    padding-top:0;
    align-self:start;
  }
  .journey-icon{
    position:static;
    grid-column:1;
    grid-row:1 / span 3;
    width:36px;
    height:36px;
    margin:0;
    box-shadow:none;
  }
  .journey-item h3{
    grid-column:2;
    grid-row:2;
    margin:6px 0 0;
    padding-top:0;
    font-size:13.5px;
  }
  .journey-item p{
    grid-column:2;
    grid-row:3;
    margin-top:7px;
    font-size:12px;
    line-height:1.58;
  }
}

@media (max-width:480px){
  .hero-inner{ padding:24px 20px 52px; }
  .hero-kicker{ font-size:10px; line-height:1.5; }
  .hero-copy h1{
    max-width:100%;
    font-size:clamp(38px,11.2vw,46px);
    line-height:1.01;
    overflow-wrap:break-word;
  }
  .hero-copy h1 strong{ margin-top:9px; }
  .hero-copy > p{ font-size:14.5px; }
  .hero-trust{ text-align:center; }

  .signals .wrap{ padding:0 20px; }
  .signals-title{ padding:0 10px; }
  .signal-column{ gap:12px; }
  .signal{ grid-template-columns:44px minmax(0,1fr); column-gap:16px; padding:18px 20px; }
  .signal-icon{ width:38px; height:38px; }
  .signal p{ font-size:15px; line-height:1.58; }

  .about-inner{ gap:34px; }
  .about-photo img{ height:104vw; min-height:390px; }
  .about-features{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 18px; }
  .feat{ text-align:left; }
  .feat h4{ font-size:11px; letter-spacing:.08em; }
  .feat p{ font-size:11.5px; }

  .journey .wrap{ padding-left:20px; padding-right:20px; }
  .journey-intro h2{ font-size:34px; }

  .section-head h2{ font-size:32px; }
  .scard{ border-radius:8px; }
  .scard-body .kicker{ font-size:10px; }

  .tcard{ flex-basis:88%; min-height:220px; }
  .tcard .quote{ font-size:100px; }
  .tcard-dots{ margin-top:22px; }

  .final-inner{ padding-left:20px; padding-right:20px; }
  .final-copy h2{ font-size:31px; }
  .final-feats{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ffeat{
    padding:0 8px;
    font-size:10.5px;
  }
  .ffeat + .ffeat{ border-left:1px solid rgba(238,241,245,.14); }
  .ffeat:nth-child(3){ border-left:0; }
}

/* Depoimentos — tablet: 2 cards por tela (entre 641px e 900px) */
@media (min-width:641px) and (max-width:900px){
  .tcard{ flex:0 0 calc((100% - 16px) / 2); scroll-snap-align:start; }
  .tcard .quote{ font-size:110px; }
  .tcard .who{ margin-top:56px; }
}
