/* Fontes auto-hospedadas (DM Sans, Instrument Serif — SIL Open Font License) */
@font-face{font-family:'DM Sans';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/DMSans-italic-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/DMSans-italic-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/DMSans-normal-300_700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/DMSans-normal-300_700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/InstrumentSerif-italic-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/InstrumentSerif-italic-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/InstrumentSerif-normal-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/InstrumentSerif-normal-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* Quaestor Educação — identidade Quaestor: preto #0C0C0C · azul-petróleo #173440 · verde-menta #46CCB1 · branco-esverdeado #EBFFF9 */
:root {
  --preto: #0C0C0C;
  --petroleo: #173440;
  --petroleo-2: #1E4352;
  --petroleo-fundo: #0F232B;
  --menta: #46CCB1;
  --menta-clara: #7FE0CB;
  --menta-texto: #1F7F6C;          /* menta escurecida para texto sobre fundo claro (contraste AA) */
  --gelo: #EBFFF9;
  --branco: #FFFFFF;
  --tinta: #0C0C0C;
  --tinta-2: #3C4F57;
  --linha-clara: rgba(23, 52, 64, .12);
  --linha-escura: rgba(235, 255, 249, .14);
  --texto-escuro-2: rgba(235, 255, 249, .72);

  --f-sans: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --f-serif: "Instrument Serif", Georgia, "Times New Roman", serif;

  --raio: 18px;
  --raio-sm: 12px;
  --sombra: 0 1px 2px rgba(12, 12, 12, .04), 0 12px 32px -12px rgba(23, 52, 64, .18);
  --wrap: 1200px;
  --gutter: clamp(16px, 4vw, 40px);
  --sec: clamp(72px, 10vw, 136px);
  --ease: cubic-bezier(.2, .7, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 84px; }
body {
  margin: 0; font-family: var(--f-sans); font-size: 1.0625rem; line-height: 1.65; color: var(--tinta);
  background: var(--branco); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
  font-optical-sizing: auto;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
h1, h2, h3 { margin: 0; line-height: 1.12; letter-spacing: -.02em; font-weight: 600; }
p { margin: 0 0 1em; }
ul, ol { margin: 0; padding: 0; list-style: none; }
em { font-family: var(--f-serif); font-style: italic; font-weight: 400; letter-spacing: 0; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--menta); outline-offset: 3px; border-radius: 6px; }

.sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: 16px; top: -60px; z-index: 100; background: var(--menta); color: var(--preto); padding: 10px 16px; border-radius: 8px; font-weight: 600; text-decoration: none; }
.skip:focus { top: 12px; }
.wrap { width: 100%; max-width: calc(var(--wrap) + var(--gutter) * 2); margin: 0 auto; padding: 0 var(--gutter); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
/* ---------------------------------------------------------------- botões */
.btn {
  --bg: transparent; --fg: inherit; --bd: currentColor;
  display: inline-flex; align-items: center; justify-content: center; gap: .6em;
  min-height: 52px; padding: 0 1.5em; border-radius: 999px; border: 1px solid var(--bd);
  background: var(--bg); color: var(--fg); font-weight: 600; font-size: .98rem; letter-spacing: .005em;
  text-decoration: none; cursor: pointer; white-space: nowrap;
  transition: transform .35s var(--ease), background-color .25s, color .25s, border-color .25s, box-shadow .35s var(--ease);
}
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }
.btn .seta { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .35s var(--ease); }
.btn:hover .seta { transform: translateX(4px); }
.btn--menta { --bg: var(--menta); --fg: var(--preto); --bd: var(--menta); }
.btn--menta:hover { --bg: var(--menta-clara); --bd: var(--menta-clara); box-shadow: 0 10px 30px -10px rgba(70, 204, 177, .7); }
.btn--linha { --fg: var(--gelo); --bd: rgba(235, 255, 249, .35); }
.btn--linha:hover { --bd: var(--menta); --fg: var(--menta); }
.btn--escuro { --bg: var(--petroleo); --fg: var(--gelo); --bd: var(--petroleo); }
.btn--escuro:hover { --bg: var(--preto); --bd: var(--preto); box-shadow: var(--sombra); }
.btn--sm { min-height: 42px; padding: 0 1.15em; font-size: .9rem; }
.btn--bloco { width: 100%; }
.btn[disabled] { opacity: .7; cursor: progress; transform: none; }
.acoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }

/* ---------------------------------------------------------------- topo */
.topo { position: fixed; inset: 0 0 auto; z-index: 50; color: var(--gelo); transition: background-color .35s, box-shadow .35s, backdrop-filter .35s; }
.topo__in { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 80px; transition: height .35s var(--ease); }
.topo.rolou { background: rgba(12, 12, 12, .82); backdrop-filter: saturate(140%) blur(14px); -webkit-backdrop-filter: saturate(140%) blur(14px); box-shadow: 0 1px 0 var(--linha-escura); }
.topo.rolou .topo__in { height: 68px; }
.marca { display: inline-flex; flex-direction: column; gap: 5px; text-decoration: none; line-height: 1; }
.marca img { width: 132px; height: auto; }
.marca span { font-size: .64rem; letter-spacing: .52em; text-transform: uppercase; font-weight: 500; color: var(--menta); padding-left: 2px; }
.nav { display: flex; align-items: center; gap: 24px; }
.nav ul { display: flex; gap: 20px; }
.nav__botoes { display: flex; gap: 8px; }
.nav ul a { position: relative; text-decoration: none; font-size: .9rem; white-space: nowrap; font-weight: 500; color: rgba(235, 255, 249, .82); padding: 6px 0; transition: color .2s; }
.nav ul a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--menta); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease); }
.nav ul a:hover, .nav ul a[aria-current] { color: var(--gelo); }
.nav ul a:hover::after, .nav ul a[aria-current]::after { transform: scaleX(1); }
.menu-btn { display: none; width: 44px; height: 44px; border: 1px solid var(--linha-escura); border-radius: 50%; background: transparent; cursor: pointer; position: relative; }
.menu-btn i { position: absolute; left: 13px; right: 13px; height: 1.5px; background: var(--gelo); transition: transform .3s var(--ease), top .3s var(--ease); }
.menu-btn i:nth-of-type(1) { top: 17px; } .menu-btn i:nth-of-type(2) { top: 25px; }
.menu-btn[aria-expanded="true"] i:nth-of-type(1) { top: 21px; transform: rotate(45deg); }
.menu-btn[aria-expanded="true"] i:nth-of-type(2) { top: 21px; transform: rotate(-45deg); }

@media (max-width: 1240px) {
  .menu-btn { display: block; z-index: 2; }
  .nav {
    position: fixed; inset: 0; flex-direction: column; align-items: stretch; justify-content: center; gap: 40px;
    padding: 96px var(--gutter) 40px; background: var(--preto); opacity: 0; visibility: hidden;
    transition: opacity .35s var(--ease), visibility 0s .35s;
  }
  .nav.aberto { opacity: 1; visibility: visible; transition: opacity .35s var(--ease); }
  .nav ul { flex-direction: column; gap: 6px; }
  .nav ul a { display: block; font-size: 1.6rem; font-weight: 500; padding: 10px 0; color: var(--gelo); border-bottom: 1px solid var(--linha-escura); }
  .nav ul a::after { display: none; }
  .nav__botoes { flex-direction: column; }
  .nav__botoes .btn { min-height: 54px; font-size: 1rem; }
  body.menu-aberto { overflow: hidden; }
}

/* ---------------------------------------------------------------- hero */
.hero {
  position: relative; overflow: hidden; color: var(--gelo); padding: 152px 0 56px;
  background: radial-gradient(1100px 600px at 85% 10%, rgba(70, 204, 177, .16), transparent 60%),
              radial-gradient(900px 600px at 0% 100%, rgba(23, 52, 64, .9), transparent 70%),
              linear-gradient(160deg, var(--preto) 0%, var(--petroleo-fundo) 55%, var(--petroleo) 100%);
}
.hero__grade {
  position: absolute; inset: 0; pointer-events: none; opacity: .5;
  background-image: linear-gradient(var(--linha-escura) 1px, transparent 1px), linear-gradient(90deg, var(--linha-escura) 1px, transparent 1px);
  background-size: 88px 88px; mask-image: radial-gradient(ellipse at 70% 30%, #000 10%, transparent 70%);
  -webkit-mask-image: radial-gradient(ellipse at 70% 30%, #000 10%, transparent 70%);
}
.hero__in { position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); grid-template-areas: "selo selo" "titulo titulo" "sub visual" "acoes visual"; column-gap: clamp(32px, 6vw, 96px); align-items: start; }
.hero__texto { display: contents; }
.selo { grid-area: selo; justify-self: start; }
.hero h1 { grid-area: titulo; }
.hero__sub { grid-area: sub; }
.hero .acoes { grid-area: acoes; align-self: start; }
.hero__visual { grid-area: visual; align-self: start; margin-top: 10px; }
.selo { display: inline-flex; align-items: center; gap: 10px; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: var(--texto-escuro-2); margin-bottom: 28px; }
.ponto { width: 8px; height: 8px; border-radius: 50%; background: var(--menta); box-shadow: 0 0 0 0 rgba(70, 204, 177, .6); animation: pulso 2.6s infinite; flex: none; }
@keyframes pulso { 0% { box-shadow: 0 0 0 0 rgba(70, 204, 177, .55); } 70% { box-shadow: 0 0 0 12px rgba(70, 204, 177, 0); } 100% { box-shadow: 0 0 0 0 rgba(70, 204, 177, 0); } }
.hero h1 { font-size: clamp(2.5rem, 6vw, 5.4rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.02; }
.hero h1 .linha { display: block; opacity: 0; transform: translateY(22px); animation: sobe .9s var(--ease) forwards; }
.hero h1 .linha:nth-child(2) { animation-delay: .12s; } .hero h1 .linha:nth-child(3) { animation-delay: .24s; }
.hero h1 em { color: var(--menta); font-size: 1.08em; }
@keyframes sobe { to { opacity: 1; transform: none; } }
.hero__sub { max-width: 560px; margin-top: 28px; font-size: clamp(1.05rem, 1.6vw, 1.22rem); color: var(--texto-escuro-2); }
.hero__visual { position: relative; }
.pilares { position: relative; display: grid; gap: 14px; }
.pilar {
  position: relative; display: flex; align-items: center; gap: 18px; padding: 24px 26px; border-radius: var(--raio);
  border: 1px solid var(--linha-escura); background: linear-gradient(135deg, rgba(235, 255, 249, .07), rgba(235, 255, 249, .015));
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  opacity: 0; transform: translateX(24px); animation: entra .9s var(--ease) forwards;
}
.pilar--1 { animation-delay: .35s; margin-right: 18%; } .pilar--2 { animation-delay: .5s; margin-left: 9%; margin-right: 9%; } .pilar--3 { animation-delay: .65s; margin-left: 18%; }
@keyframes entra { to { opacity: 1; transform: none; } }
.pilar span { font-size: .78rem; letter-spacing: .1em; color: var(--menta); font-weight: 600; }
.pilar strong { font-weight: 500; font-size: 1.12rem; }
.pilar::after { content: ""; position: absolute; right: 20px; width: 34px; height: 1px; background: var(--menta); opacity: .6; }
.pilares__x { position: absolute; z-index: -1; width: 74%; right: -14%; top: -18%; fill: rgba(70, 204, 177, .07); }
.faixa { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); margin-top: clamp(64px, 8vw, 104px); border-top: 1px solid var(--linha-escura); }
.faixa li { padding: 22px 20px 0 0; font-size: .92rem; color: var(--texto-escuro-2); }
.faixa b { display: block; color: var(--gelo); font-weight: 600; font-size: 1.02rem; margin-bottom: 2px; }

/* ---------------------------------------------------------------- seções */
.secao { padding: var(--sec) 0; position: relative; }
.secao--clara { background: var(--gelo); }
.secao--escura { background: linear-gradient(180deg, var(--petroleo-fundo), var(--preto)); color: var(--gelo); }
.rotulo { display: inline-flex; align-items: center; gap: 10px; font-size: .78rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--menta-texto); margin-bottom: 18px; }
.rotulo::before { content: ""; width: 22px; height: 1px; background: currentColor; }
.secao--escura .rotulo, .contato .rotulo, .cab--claro .rotulo { color: var(--menta); }
h2 { font-size: clamp(2rem, 4.2vw, 3.35rem); font-weight: 500; letter-spacing: -.03em; }
h2 em { color: var(--menta-texto); }
.secao--escura h2 em { color: var(--menta); }
.cab { max-width: 720px; margin-bottom: clamp(40px, 6vw, 64px); }
.cab > p:not(.rotulo) { margin-top: 20px; font-size: 1.12rem; color: var(--tinta-2); }
.secao--escura .cab > p:not(.rotulo) { color: var(--texto-escuro-2); }
.cab a:not(.btn) { color: var(--menta-texto); font-weight: 600; }

/* sobre */
.narrativa { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 6vw, 96px); }
.narrativa__texto { font-size: 1.1rem; color: var(--tinta-2); }
.narrativa__texto .lead { font-size: clamp(1.2rem, 1.8vw, 1.42rem); color: var(--tinta); line-height: 1.5; }
.narrativa__texto strong { color: var(--petroleo); }
.proposito { margin: clamp(56px, 8vw, 96px) 0; padding: clamp(32px, 5vw, 64px); border-radius: calc(var(--raio) + 6px); background: var(--petroleo); color: var(--gelo); position: relative; overflow: hidden; }
.proposito::before { content: "“"; position: absolute; right: 4%; top: -12%; font-family: var(--f-serif); font-size: 18rem; line-height: 1; color: rgba(70, 204, 177, .12); }
.proposito blockquote { margin: 0; max-width: 900px; position: relative; }
.proposito p { font-size: clamp(1.45rem, 3vw, 2.35rem); line-height: 1.25; letter-spacing: -.02em; margin: 0; }
.proposito em { color: var(--menta); }
.proposito figcaption { margin-top: 24px; font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; color: var(--texto-escuro-2); }
.tres { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.eixo { padding: 32px 28px; border-radius: var(--raio); background: var(--branco); border: 1px solid var(--linha-clara); transition: transform .45s var(--ease), box-shadow .45s var(--ease); }
.eixo:hover { transform: translateY(-4px); box-shadow: var(--sombra); }
.eixo__n { display: block; font-family: var(--f-serif); font-size: 2.4rem; line-height: 1; color: var(--menta-texto); margin-bottom: 22px; }
.eixo h3 { font-size: 1.3rem; margin-bottom: 10px; }
.eixo p { color: var(--tinta-2); margin: 0; font-size: 1rem; }
.mv { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 20px; }
.mv__item { padding: 28px; border-top: 1px solid var(--linha-clara); }
.mv__item p:last-child { margin: 0; font-size: 1.08rem; }

/* cards */
.cards { display: grid; gap: 20px; }
.cards--3 { grid-template-columns: repeat(3, 1fr); }
.card { padding: 32px 28px; border-radius: var(--raio); border: 1px solid var(--linha-clara); background: var(--branco); transition: transform .45s var(--ease), box-shadow .45s var(--ease), border-color .3s; }
.card:hover { transform: translateY(-4px); box-shadow: var(--sombra); border-color: rgba(70, 204, 177, .5); }
.ic { width: 44px; height: 44px; padding: 10px; border-radius: 12px; background: var(--gelo); fill: none; stroke: var(--petroleo); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; margin-bottom: 22px; transition: background-color .3s, stroke .3s; }
.card:hover .ic { background: var(--menta); stroke: var(--preto); }
.card h3 { font-size: 1.2rem; margin-bottom: 10px; }
.card p { margin: 0; color: var(--tinta-2); font-size: 1rem; }

/* soluções (abas) */
.abas__lista { display: flex; gap: 8px; padding: 6px; border-radius: 999px; border: 1px solid var(--linha-escura); background: rgba(235, 255, 249, .03); width: max-content; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.abas__lista::-webkit-scrollbar { display: none; }
.abas__lista button { flex: none; min-height: 44px; padding: 0 18px; border: 0; border-radius: 999px; background: transparent; color: var(--texto-escuro-2); font-weight: 500; font-size: .94rem; cursor: pointer; transition: background-color .25s, color .25s; }
.abas__lista button:hover { color: var(--gelo); }
.abas__lista button[aria-selected="true"] { background: var(--menta); color: var(--preto); font-weight: 600; }
.painel { margin-top: 28px; padding: clamp(28px, 4vw, 48px); border-radius: calc(var(--raio) + 6px); border: 1px solid var(--linha-escura); background: linear-gradient(160deg, rgba(30, 67, 82, .55), rgba(12, 12, 12, .4)); animation: aparece .5s var(--ease); }
@keyframes aparece { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.painel__cab { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 24px 48px; align-items: end; padding-bottom: 28px; border-bottom: 1px solid var(--linha-escura); }
.painel__cab h3 { font-size: clamp(1.6rem, 3vw, 2.3rem); font-weight: 500; }
.painel__cab p { margin: 0; color: var(--texto-escuro-2); font-size: 1.08rem; }
.temas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 32px; padding: 8px 0 12px; }
.temas li { padding: 20px 0; border-bottom: 1px solid var(--linha-escura); }
.temas strong { display: block; font-weight: 600; margin-bottom: 4px; }
.temas strong::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--menta); margin: 0 10px 2px 0; }
.temas span { display: block; color: var(--texto-escuro-2); font-size: .96rem; line-height: 1.5; }
.painel__pe { display: grid; grid-template-columns: 1fr 1fr auto; gap: 24px 40px; align-items: end; padding-top: 28px; }
.painel__pe p { margin: 0; color: var(--texto-escuro-2); font-size: .98rem; }
.mini { font-size: .74rem !important; letter-spacing: .14em; text-transform: uppercase; color: var(--menta) !important; font-weight: 600; margin-bottom: 10px !important; }
.checks li { position: relative; padding-left: 24px; font-size: .97rem; color: var(--gelo); margin-bottom: 4px; }
.checks li::before { content: ""; position: absolute; left: 2px; top: .55em; width: 10px; height: 6px; border-left: 1.6px solid var(--menta); border-bottom: 1.6px solid var(--menta); transform: rotate(-45deg); }
.aviso { margin: 24px 0 0; font-size: .86rem; color: rgba(235, 255, 249, .6); }
.nr1 { display: grid; grid-template-columns: 1fr auto; gap: 24px 48px; align-items: center; margin-top: 28px; padding: clamp(28px, 4vw, 44px); border-radius: calc(var(--raio) + 6px); border: 1px dashed rgba(70, 204, 177, .45); }
.nr1 h3 { font-size: 1.5rem; font-weight: 500; margin-bottom: 12px; }
.nr1 p { color: var(--texto-escuro-2); max-width: 820px; }
.nr1 .aviso { margin: 0; }

/* para empresas */
.duas { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.duas .cab { margin-bottom: 0; position: sticky; top: 110px; }
.tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.tags li { padding: 8px 14px; border-radius: 999px; border: 1px solid var(--linha-clara); background: var(--branco); font-size: .88rem; font-weight: 500; color: var(--petroleo); }
.formatos { display: grid; gap: 14px; counter-reset: f; }
.formato { position: relative; padding: 28px 28px 28px 84px; border-radius: var(--raio); background: var(--branco); border: 1px solid var(--linha-clara); transition: transform .45s var(--ease), box-shadow .45s var(--ease); }
.formato:hover { transform: translateX(6px); box-shadow: var(--sombra); }
.formato::before { counter-increment: f; content: "0" counter(f); position: absolute; left: 28px; top: 28px; font-family: var(--f-serif); font-size: 1.6rem; line-height: 1; color: var(--menta-texto); }
.formato h3 { font-size: 1.16rem; margin-bottom: 6px; }
.formato p { margin: 0; color: var(--tinta-2); font-size: 1rem; }

/* como funciona */
.etapas { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; position: relative; }
.etapa { position: relative; padding: 0 24px 0 0; }
.etapa::before { content: ""; position: absolute; left: 44px; right: 0; top: 22px; height: 1px; background: var(--linha-clara); }
.etapa:last-child::before { display: none; }
.etapa__n { position: relative; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--petroleo); font-weight: 600; color: var(--petroleo); background: var(--branco); margin-bottom: 22px; transition: background-color .3s, color .3s; }
.etapa:hover .etapa__n { background: var(--petroleo); color: var(--gelo); }
.etapa h3 { font-size: 1.12rem; margin-bottom: 8px; }
.etapa p { margin: 0; color: var(--tinta-2); font-size: .96rem; }
.modelo { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: clamp(48px, 7vw, 80px); }
.modelo__card, .modelo__inv { padding: clamp(28px, 4vw, 44px); border-radius: calc(var(--raio) + 6px); }
.modelo__card { background: var(--gelo); }
.modelo__inv { background: var(--petroleo); color: var(--gelo); }
.modelo__inv .rotulo { color: var(--menta); }
.modelo__inv h3 { font-size: clamp(1.5rem, 2.6vw, 2rem); font-weight: 500; margin-bottom: 16px; }
.modelo__inv p { color: var(--texto-escuro-2); }
.modelo__inv .btn { margin-top: 12px; --bg: var(--menta); --fg: var(--preto); --bd: var(--menta); }
.lista-modelo li { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--linha-clara); }
.lista-modelo span { color: var(--tinta-2); font-size: .94rem; }
.lista-modelo b { font-weight: 600; text-align: right; }
.nota { margin: 20px 0 0; font-size: .88rem; color: var(--tinta-2); }
.modelo__inv .nota { color: rgba(235, 255, 249, .6); }

/* faq */
.faq { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.faq .cab { position: sticky; top: 110px; }
.faq__lista details { border-bottom: 1px solid var(--linha-clara); }
.faq__lista details:first-child { border-top: 1px solid var(--linha-clara); }
.faq__lista summary { position: relative; list-style: none; cursor: pointer; padding: 24px 48px 24px 0; font-weight: 600; font-size: 1.08rem; transition: color .2s; }
.faq__lista summary::-webkit-details-marker { display: none; }
.faq__lista summary::before, .faq__lista summary::after { content: ""; position: absolute; right: 8px; top: 50%; width: 14px; height: 1.5px; background: var(--petroleo); transition: transform .35s var(--ease); }
.faq__lista summary::after { transform: rotate(90deg); }
.faq__lista details[open] summary::after { transform: rotate(0); }
.faq__lista summary:hover { color: var(--menta-texto); }
.faq__lista details p { margin: 0; padding: 0 48px 24px 0; color: var(--tinta-2); animation: aparece .4s var(--ease); }

/* contato */
.contato { background: radial-gradient(900px 500px at 100% 0%, rgba(70, 204, 177, .12), transparent 60%), linear-gradient(170deg, var(--preto), var(--petroleo-fundo)); }
.contato__in { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(32px, 6vw, 88px); align-items: start; }
.contato__info > p { color: var(--texto-escuro-2); font-size: 1.1rem; margin-top: 20px; }
.dados { margin: 40px 0 0; display: grid; gap: 0; }
.dados div { display: grid; grid-template-columns: 110px 1fr; gap: 16px; padding: 18px 0; border-top: 1px solid var(--linha-escura); }
.dados dt { font-size: .76rem; letter-spacing: .14em; text-transform: uppercase; color: var(--menta); font-weight: 600; padding-top: 3px; }
.dados dd { margin: 0; color: var(--gelo); }
.dados a { text-decoration: none; border-bottom: 1px solid rgba(70, 204, 177, .5); }
.dados a:hover { color: var(--menta); }
.form { padding: clamp(24px, 4vw, 44px); border-radius: calc(var(--raio) + 6px); background: var(--branco); color: var(--tinta); box-shadow: 0 30px 80px -30px rgba(0, 0, 0, .6); }
.form__tit { font-size: 1.5rem; font-weight: 500; margin-bottom: 24px; }
.campos { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 18px; }
.campo { display: flex; flex-direction: column; }
.campo--largo { grid-column: 1 / -1; }
.campo label { font-size: .86rem; font-weight: 600; margin-bottom: 6px; color: var(--petroleo); }
.campo abbr { text-decoration: none; color: var(--menta-texto); }
.opc { font-weight: 400; color: var(--tinta-2); font-size: .8rem; margin-left: 4px; }
.campo input:not([type="checkbox"]), .campo select, .campo textarea {
  width: 100%; min-height: 50px; padding: 12px 14px; border-radius: var(--raio-sm); border: 1px solid rgba(23, 52, 64, .22);
  background: #FAFDFC; font-size: 1rem; transition: border-color .2s, box-shadow .2s, background-color .2s; appearance: none; -webkit-appearance: none;
}
.campo select { background-image: linear-gradient(45deg, transparent 50%, var(--petroleo) 50%), linear-gradient(135deg, var(--petroleo) 50%, transparent 50%); background-position: calc(100% - 20px) 22px, calc(100% - 15px) 22px; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 40px; }
.campo textarea { resize: vertical; min-height: 120px; }
.campo input:hover, .campo select:hover, .campo textarea:hover { border-color: rgba(23, 52, 64, .45); }
.campo input:focus, .campo select:focus, .campo textarea:focus { outline: none; border-color: var(--menta-texto); box-shadow: 0 0 0 4px rgba(70, 204, 177, .22); background: var(--branco); }
.campo [aria-invalid="true"] { border-color: #B42318 !important; box-shadow: 0 0 0 4px rgba(180, 35, 24, .1) !important; }
.erro { min-height: 1.4em; margin: 4px 0 6px; font-size: .82rem; color: #B42318; }
.campo--isca { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.aceite { display: grid !important; grid-template-columns: 22px 1fr; gap: 12px; align-items: start; font-weight: 400 !important; font-size: .9rem !important; color: var(--tinta-2) !important; cursor: pointer; margin-top: 6px; }
.aceite input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--petroleo); }
.aceite a { color: var(--petroleo); font-weight: 600; }
.form__status { margin: 14px 0 0; min-height: 1.5em; font-size: .92rem; color: var(--tinta-2); }
.form__status.erro-geral { color: #B42318; }
.sucesso { grid-column: 2; padding: clamp(32px, 5vw, 56px); border-radius: calc(var(--raio) + 6px); background: var(--branco); color: var(--tinta); text-align: center; animation: aparece .5s var(--ease); }
.sucesso svg { width: 64px; height: 64px; margin: 0 auto 20px; fill: none; stroke: var(--menta-texto); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.sucesso h3 { font-size: 1.7rem; font-weight: 500; margin-bottom: 12px; }
.sucesso p { color: var(--tinta-2); max-width: 440px; margin-left: auto; margin-right: auto; }
.protocolo { font-size: .88rem; letter-spacing: .04em; }
.sucesso:focus { outline: none; }

/* rodapé */
.rodape { background: var(--preto); color: var(--texto-escuro-2); padding: 72px 0 32px; font-size: .94rem; }
.rodape__in { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 40px; padding-bottom: 48px; }
.rodape__marca p { margin-top: 18px; max-width: 320px; }
.rodape ul { display: grid; gap: 10px; }
.rodape a { text-decoration: none; transition: color .2s; }
.rodape a:hover { color: var(--menta); }
.rodape__links { display: grid; gap: 10px; align-content: start; }
.rodape__base { font-size: .82rem; color: rgba(235, 255, 249, .5); }
.rodape__base p { padding-top: 24px; border-top: 1px solid var(--linha-escura); }
.nw { white-space: nowrap; }
.etapas__nota { margin: 8px 0 0; max-width: 820px; font-size: .94rem; color: var(--tinta-2); }
.rodape__base p { margin: 0; }

/* revelação ao rolar (só com JS; sem JS tudo aparece) */
.js .revela { opacity: 0; transform: translateY(24px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.js .revela.visivel { opacity: 1; transform: none; }

/* ---------------------------------------------------------------- responsivo */
@media (max-width: 1080px) {
  .hero__in { grid-template-columns: 1fr; grid-template-areas: "selo" "titulo" "sub" "acoes" "visual"; }
  .hero__visual { max-width: 560px; margin-top: 48px; }
  .temas { grid-template-columns: repeat(2, 1fr); }
  .painel__pe { grid-template-columns: 1fr 1fr; }
  .painel__pe .btn { grid-column: 1 / -1; justify-self: start; }
  .etapas { grid-template-columns: 1fr; gap: 0; }
  .etapa { display: grid; grid-template-columns: 44px 1fr; gap: 0 20px; padding: 0 0 28px; }
  .etapa::before { left: 22px; right: auto; top: 44px; bottom: 0; width: 1px; height: auto; }
  .etapa__n { grid-row: span 2; margin: 0; }
  .etapa h3 { padding-top: 10px; }
}
@media (max-width: 860px) {
  .narrativa, .duas, .faq, .contato__in, .modelo, .painel__cab { grid-template-columns: 1fr; }
  .duas .cab, .faq .cab { position: static; }
  .cards--3, .tres { grid-template-columns: 1fr 1fr; }
  .faixa { grid-template-columns: 1fr 1fr; }
  .nr1 { grid-template-columns: 1fr; }
  .nr1 .btn { justify-self: start; }
  .sucesso { grid-column: auto; }
  .rodape__in { grid-template-columns: 1fr 1fr; }
  .rodape__marca { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  body { font-size: 1rem; }
  .hero { padding-top: 120px; }
  .hero h1 { font-size: clamp(2.3rem, 11vw, 3rem); }
  .pilar { padding: 18px 20px; }
  .pilar--1, .pilar--2, .pilar--3 { margin-left: 0; margin-right: 0; }
  .acoes .btn { width: 100%; }
  .cards--3, .tres, .mv, .temas, .painel__pe, .campos { grid-template-columns: 1fr; }
  .faixa { grid-template-columns: 1fr 1fr; }
  .faixa li { padding-right: 12px; font-size: .85rem; }
  .abas__lista { border-radius: 16px; width: 100%; }
  .painel__pe .btn { width: 100%; }
  .formato { padding: 24px 22px 24px 66px; }
  .formato::before { left: 22px; top: 24px; }
  .dados div { grid-template-columns: 1fr; gap: 4px; }
  .lista-modelo li { flex-direction: column; gap: 2px; }
  .lista-modelo b { text-align: left; }
  .rodape__in { grid-template-columns: 1fr; }
  .marca img { width: 116px; }
}

/* ---------------------------------------------------------------- v2: assessoria, equipe, Neurovendas */
.ext { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.rodape__logo { width: 190px; height: auto; }
.rodape__marca .btn { margin-top: 20px; --fg: var(--gelo); }

/* equipe */
.equipe { margin-top: clamp(72px, 10vw, 128px); }
.pessoas { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.pessoa { border-radius: var(--raio); background: var(--branco); border: 1px solid var(--linha-clara); overflow: hidden; transition: transform .45s var(--ease), box-shadow .45s var(--ease); }
.pessoa:hover { transform: translateY(-4px); box-shadow: var(--sombra); }
.pessoa__foto { position: relative; aspect-ratio: 4 / 5; background: linear-gradient(160deg, var(--petroleo), var(--petroleo-fundo)); display: grid; place-items: center; overflow: hidden; }
.pessoa__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--foco, 50% 30%); filter: saturate(.92); transition: transform .8s var(--ease), filter .5s; }
.pessoa:hover .pessoa__foto img { transform: scale(1.035); filter: saturate(1); }
.pessoa__foto span { font-family: var(--f-serif); font-size: clamp(3rem, 6vw, 4.6rem); color: var(--menta); letter-spacing: .02em; }
.pessoa__foto::after { content: ""; position: absolute; inset: auto 0 0; height: 40%; background: linear-gradient(transparent, rgba(12, 12, 12, .28)); pointer-events: none; }
.pessoa__info { padding: 22px 22px 24px; }
.pessoa__info h3 { font-size: 1.18rem; margin-bottom: 4px; }
.pessoa__info p { margin: 0; color: var(--tinta-2); font-size: .95rem; }
.in { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; font-size: .88rem; font-weight: 600; color: var(--petroleo); text-decoration: none; border-bottom: 1px solid transparent; transition: color .2s, border-color .2s; }
.in svg { width: 16px; height: 16px; fill: currentColor; }
.in:hover { color: var(--menta-texto); border-color: currentColor; }

/* Neurovendas na home */
.nv-home { background: radial-gradient(800px 500px at 100% 0%, rgba(70, 204, 177, .16), transparent 60%), var(--petroleo); color: var(--gelo); }
.nv-home .rotulo { color: var(--menta); }
.nv-home h2 em { color: var(--menta); }
.nv-home__in { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(32px, 6vw, 88px); align-items: start; }
.nv-home__lead { margin-top: 22px; font-size: 1.15rem; color: var(--texto-escuro-2); max-width: 620px; }
.nv-blocos { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; margin-top: 28px; }
.nv-blocos li { padding: 18px 0; border-top: 1px solid var(--linha-escura); }
.nv-blocos b { display: block; font-weight: 600; margin-bottom: 4px; }
.nv-blocos span { color: var(--texto-escuro-2); font-size: .95rem; line-height: 1.5; display: block; }
.nv-home__lado { padding: clamp(24px, 3vw, 36px); border-radius: calc(var(--raio) + 6px); border: 1px solid var(--linha-escura); background: rgba(12, 12, 12, .25); }
.fluxo { display: flex; flex-wrap: wrap; gap: 8px; counter-reset: fl; }
.fluxo li { counter-increment: fl; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 999px; background: rgba(235, 255, 249, .06); border: 1px solid var(--linha-escura); font-size: .9rem; font-weight: 500; }
.fluxo li::before { content: counter(fl); font-size: .72rem; font-weight: 700; color: var(--preto); background: var(--menta); width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; }
.nv-ia { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--linha-escura); }
.nv-ia > p:not(.mini) { color: var(--texto-escuro-2); font-size: .97rem; }
.cores { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 20px; }
.cor { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px 7px 10px; border-radius: 999px; background: rgba(235, 255, 249, .06); font-size: .88rem; font-weight: 500; }
.cor::before { content: ""; width: 12px; height: 12px; border-radius: 50%; background: var(--c); }
.cor--verde, .perfil--verde { --c: #3FAE6A; }
.cor--vermelho, .perfil--vermelho { --c: #D9483B; }
.cor--azul, .perfil--azul { --c: #2F6FD6; }
.cor--ouro, .perfil--ouro { --c: #C9A227; }
.link-seta { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--menta); text-decoration: none; }
.link-seta::after { content: "→"; transition: transform .3s var(--ease); }
.link-seta:hover::after { transform: translateX(4px); }

/* soluções: rótulos */
.painel__cab > div .mini { margin-bottom: 6px !important; }
.painel__rot { margin: 24px 0 0 !important; }
.aviso a { color: var(--menta); font-weight: 600; }

/* como funciona v2 */
.modelo--3 { grid-template-columns: 1fr 1fr 1.1fr; }
.lista-simples li { position: relative; padding: 10px 0 10px 22px; border-bottom: 1px solid var(--linha-clara); font-weight: 500; }
.lista-simples li::before { content: ""; position: absolute; left: 2px; top: 1.15em; width: 10px; height: 1.5px; background: var(--menta-texto); }
.modelo__inv .btn { margin-top: 8px; }

/* página Neurovendas */
.hero--nv { padding-bottom: 56px; }
.hero--nv h1 { font-size: clamp(2.3rem, 5.4vw, 4.6rem); }
.hero--nv .hero__sub { max-width: 640px; }
.nv-grade { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.nv-card { padding: 30px 26px; border-radius: var(--raio); border: 1px solid var(--linha-clara); background: var(--branco); transition: transform .45s var(--ease), box-shadow .45s var(--ease), border-color .3s; }
.nv-card:hover { transform: translateY(-4px); box-shadow: var(--sombra); border-color: rgba(70, 204, 177, .5); }
.nv-card__n { display: block; font-family: var(--f-serif); font-size: 2.2rem; line-height: 1; color: var(--menta-texto); margin-bottom: 18px; }
.nv-card h3 { font-size: 1.2rem; margin-bottom: 12px; }
.nv-card .lista-simples li { font-weight: 400; color: var(--tinta-2); font-size: .97rem; padding-top: 8px; padding-bottom: 8px; }
.objecoes li { padding: 9px 12px; margin-bottom: 8px; border-radius: 10px; background: var(--gelo); font-family: var(--f-serif); font-style: italic; font-size: 1.12rem; color: var(--petroleo); }
.passos { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.passo { position: relative; padding: 26px 20px; border-radius: var(--raio); border: 1px solid var(--linha-escura); background: rgba(235, 255, 249, .03); }
.passo span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--menta); color: var(--preto); font-weight: 700; margin-bottom: 18px; }
.passo h3 { font-size: 1.1rem; margin-bottom: 8px; }
.passo p { margin: 0; color: var(--texto-escuro-2); font-size: .93rem; line-height: 1.5; }
.passo:not(:last-child)::after { content: ""; position: absolute; right: -12px; top: 43px; width: 10px; height: 1px; background: var(--menta); }
.nv-segmentos { margin-top: 32px; padding: 24px 28px; border-radius: var(--raio); border-left: 3px solid var(--menta); background: rgba(235, 255, 249, .04); }
.nv-segmentos p { margin: 0; color: var(--texto-escuro-2); }
.nv-segmentos b { color: var(--gelo); font-weight: 600; }
.tags--grandes { align-content: start; margin-top: 0; }
.tags--grandes li { font-size: 1.02rem; padding: 12px 20px; }
.ia { background: linear-gradient(180deg, var(--preto), var(--petroleo-fundo)); color: var(--gelo); }
.ia .rotulo { color: var(--menta); }
.ia h2 em { color: var(--menta); }
.ia .cab > p:not(.rotulo) { color: var(--texto-escuro-2); }
.ia-etapas { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 40px; }
.ia-etapas li { padding-top: 20px; border-top: 1px solid var(--linha-escura); }
.ia-etapas span { font-family: var(--f-serif); font-size: 2rem; color: var(--menta); line-height: 1; display: block; margin-bottom: 12px; }
.ia-etapas h3 { font-size: 1.08rem; margin-bottom: 6px; }
.ia-etapas p { margin: 0; color: var(--texto-escuro-2); font-size: .94rem; }
.perfis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.perfil { position: relative; padding: 26px 24px; border-radius: var(--raio); background: rgba(235, 255, 249, .04); border: 1px solid var(--linha-escura); overflow: hidden; transition: transform .45s var(--ease), border-color .3s; }
.perfil:hover { transform: translateY(-4px); border-color: var(--c); }
.perfil::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: var(--c); }
.perfil__cor { display: block; width: 36px; height: 36px; border-radius: 50%; background: var(--c); box-shadow: 0 0 0 6px rgba(235, 255, 249, .06); margin-bottom: 18px; }
.perfil h3 { font-size: 1.3rem; }
.perfil__eixo { margin: 2px 0 10px; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--c); font-weight: 700; }
.perfil p:last-child { margin: 0; color: var(--texto-escuro-2); font-size: .96rem; }
.ia__entrega { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 48px; margin-top: 40px; padding-top: 36px; border-top: 1px solid var(--linha-escura); }
.ia__aviso { padding: 28px; border-radius: var(--raio); background: rgba(235, 255, 249, .05); border: 1px solid var(--linha-escura); }
.ia__aviso p:not(.mini) { color: var(--texto-escuro-2); font-size: .95rem; }
.ia__aviso .btn { margin-top: 8px; }
.cta-final__in { max-width: 860px; text-align: center; }
.cta-final h2 em { color: var(--menta); }
.cta-final p { color: var(--texto-escuro-2); margin: 20px auto 0; max-width: 680px; font-size: 1.1rem; }
.cta-final .acoes { justify-content: center; }

@media (max-width: 1080px) {
  .pessoas { grid-template-columns: repeat(2, 1fr); }
  .nv-home__in, .ia__entrega { grid-template-columns: 1fr; }
  .nv-grade, .ia-etapas, .perfis { grid-template-columns: repeat(2, 1fr); }
  .passos { grid-template-columns: repeat(3, 1fr); }
  .passo::after { display: none; }
  .modelo--3 { grid-template-columns: 1fr 1fr; }
  .modelo--3 .modelo__inv { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .pessoas { grid-template-columns: 1fr 1fr; gap: 12px; }
  .pessoa__info { padding: 16px 14px 18px; }
  .pessoa__info h3 { font-size: 1.02rem; }
  .pessoa__info p { font-size: .86rem; }
  .nv-blocos, .nv-grade, .ia-etapas, .perfis, .passos, .modelo--3 { grid-template-columns: 1fr; }
  .modelo--3 .modelo__inv { grid-column: auto; }
}
/* foco de cada foto da equipe (fotos originais quadradas, cortadas só na lateral) */
[data-foto="pedro"] img { --foco: 50% 30%; }
[data-foto="evandro-matias"] img { --foco: 56% 30%; }
[data-foto="vitor-pereira"] img { --foco: 50% 30%; }
[data-foto="lucas-neves"] img { --foco: 78% 30%; }
