/* =====================================================================
   AFINCO — Site público
   Sistema de medidas: a referência tem 800 px de largura. Todas as medidas
   desktop são escritas em "px da referência" multiplicados por --s, onde
   --s = largura útil / 800 (≥1200 px). Assim a composição mantém proporções
   exatas da referência em qualquer largura desktop. Abaixo de 1200 px o
   layout é reorganizado (tablet/mobile) com --s fixo.
   ===================================================================== */

@font-face { font-family: "Source Serif 4"; src: url("../fonts/source-serif-4-var-opsz.woff2") format("woff2-variations"), url("../fonts/source-serif-4-var-opsz.woff2") format("woff2"); font-weight: 200 900; font-display: swap; }
@font-face { font-family: "Inter"; src: url("../fonts/inter-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Inter"; src: url("../fonts/inter-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Inter"; src: url("../fonts/inter-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Inter"; src: url("../fonts/inter-latin-700-normal.woff2") format("woff2"); font-weight: 700; font-display: swap; }

:root {
  /* Identidade — valores extraídos da referência e do logotipo oficial */
  --navy: #0D1925;
  --navy-2: #142131;
  --navy-logo: #211B41;
  --red: #8B1F2A;
  --red-hover: #a12633;
  --red-deep: #6A111B;
  --red-soft: #A3343D;
  --red-text: #8E1F2B;
  --red-on-dark: #C35A64;
  --grey-logo: #555555;
  --ink: #131D29;
  --text: #3D4045;
  --muted: #6A6D72;
  --line: rgba(19, 29, 41, .09);
  --card: #EFEEEC;
  --card-2: #EBEAE7;
  --page: #F8F8F6;
  --white: #FFFFFF;

  --serif: "Source Serif 4", "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --serif-opsz: "opsz" 20;
  --sans: "Inter", "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;

  /* fator de escala (ver cabeçalho) */
  --s: calc(min(100cqw, 1920px) / 800);
  --min-txt: 11.5px;
  --ease: cubic-bezier(.2, .7, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; overflow-x: clip; }
body { margin: 0; background: var(--page); color: var(--text); font-family: var(--sans); font-size: 15px; line-height: 1.55; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img, svg, picture { display: block; max-width: 100%; }
picture { width: 100%; height: 100%; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, p, ul, ol, dl, dd, figure, blockquote, address { margin: 0; padding: 0; }
ul, ol { list-style: none; }
address { font-style: normal; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
:focus-visible { outline: 2px solid var(--red-soft); outline-offset: 2px; }
[hidden] { display: none !important; }

.page { container-type: inline-size; max-width: 1920px; margin: 0 auto; background: var(--page); overflow-x: clip; }
.skip { position: absolute; left: -9999px; top: 0; background: var(--navy); color: #fff; padding: 10px 16px; z-index: 100; }
.skip:focus { left: 8px; top: 8px; }

/* ---------- Primitivos ---------- */
.ico { width: 1em; height: 1em; flex: none; }
.ico--red { color: var(--red); }
.ico--navy { color: var(--ink); }
.cover { width: 100%; height: 100%; object-fit: cover; }
.h-serif, .hero__title, .help__title, .principle h3, .plan h3, .stat dt, .b07__quote p, .site-footer__tagline, .badge, .avatar, .section-title, .ph h1, .tile h3, .prose h2, .post-card h2, .post-card h3, .plan-card h2, .faq summary, .auth-card h1 { font-optical-sizing: none; font-variation-settings: var(--serif-opsz); }
.h-serif { font-family: var(--serif); font-weight: 600; color: var(--ink); letter-spacing: -.012em; }
.h-lg  { font-size: calc(var(--s) * 19.6); line-height: 1.13; }
.h-md  { font-size: calc(var(--s) * 15.4); line-height: 1.17; }
.h-md2 { font-size: calc(var(--s) * 12.6); line-height: 1.2; }
.h-md3 { font-size: calc(var(--s) * 13.6); line-height: 1.2; }
.txt { font-size: max(var(--min-txt), calc(var(--s) * 6.3)); line-height: 1.68; color: var(--text); }

.shead { display: flex; align-items: center; gap: calc(var(--s) * 11); }
.badge { display: inline-grid; place-items: center; width: calc(var(--s) * 18); height: calc(var(--s) * 16); flex: none; background: var(--navy-2); color: #fff; font-family: var(--serif); font-weight: 500; font-size: calc(var(--s) * 8.4); line-height: 1; border-radius: calc(var(--s) * 1.5); }
.eyebrow { font-family: var(--sans); font-weight: 500; font-size: max(10px, calc(var(--s) * 5.9)); letter-spacing: .17em; text-transform: uppercase; color: #5C5F64; }
.shead--strong .eyebrow { font-size: calc(var(--s) * 7.4); font-weight: 600; letter-spacing: .14em; color: var(--ink); }
.shead--light .badge { background: var(--navy); box-shadow: 0 0 0 1px rgba(255,255,255,.35); }
.shead--light .eyebrow, .shead--overlay .eyebrow { color: rgba(255,255,255,.88); }
.shead--overlay .eyebrow { font-size: calc(var(--s) * 7.2); font-weight: 600; letter-spacing: .16em; }

/* Botões */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: calc(var(--s) * 5); height: calc(var(--s) * 25); padding: 0 calc(var(--s) * 13); font-family: var(--sans); font-weight: 600; font-size: max(10.5px, calc(var(--s) * 6.3)); letter-spacing: .02em; text-transform: uppercase; white-space: nowrap; border-radius: calc(var(--s) * 2.6); border: 1px solid transparent; transition: background-color .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease); }
.btn__arrow { width: 1.35em; height: 1.35em; transition: transform .25s var(--ease); }
.btn:hover .btn__arrow { transform: translateX(3px); }
.btn--red { background: var(--red); color: #fff; box-shadow: 0 1px 2px rgba(80, 10, 18, .25); }
.btn--red:hover { background: var(--red-hover); }
.btn--red-soft { background: var(--red-soft); color: #fff; }
.btn--red-soft:hover { background: #b33c45; }
.btn--navy { background: var(--navy); color: #fff; }
.btn--navy:hover { background: #1c2c3e; }
.btn--white { background: #fff; color: var(--ink); }
.btn--outline { background: rgba(255,255,255,.55); color: var(--ink); border-color: rgba(19,29,41,.32); }
.btn--outline:hover { border-color: var(--ink); background: #fff; }
.btn--outline-light { background: transparent; color: #fff; border-color: rgba(255,255,255,.75); }
.btn--outline-light:hover { background: rgba(255,255,255,.1); border-color: #fff; }
.btn--outline-red { background: rgba(255,255,255,.7); color: var(--red-text); border-color: rgba(139,31,42,.55); }
.btn--outline-red:hover { background: #fff; border-color: var(--red); }
.btn--link { height: auto; padding: 0; color: var(--red-text); font-weight: 600; letter-spacing: .1em; font-size: max(11px, calc(var(--s) * 7)); }
.btn--sm { height: calc(var(--s) * 21); font-size: max(10px, calc(var(--s) * 5.7)); padding: 0 calc(var(--s) * 9); }
.btn--md { height: calc(var(--s) * 21); font-size: max(10px, calc(var(--s) * 5.9)); padding: 0 calc(var(--s) * 13); }
.btn--xs { height: calc(var(--s) * 14); font-size: max(9.5px, calc(var(--s) * 4.6)); padding: 0 calc(var(--s) * 8); letter-spacing: .05em; border-radius: calc(var(--s) * 1.8); }

/* ---------- Header ---------- */
.site-header { position: relative; z-index: 30; background: var(--navy); }
.site-header--overlay { position: absolute; top: 0; left: 0; right: 0; background: linear-gradient(180deg, rgba(23,35,47,.9), rgba(23,35,47,.78)); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.site-header__inner { display: flex; align-items: center; height: calc(var(--s) * 44); padding: 0 calc(var(--s) * 30) 0 calc(var(--s) * 47); }
.site-header__brand { display: block; flex: none; }
.logo { display: block; }
.logo svg { width: auto; height: 100%; }
.site-header .logo { height: calc(var(--s) * 30); }
.logo--light .lg-grey { fill: #fff; }
.logo--light .lg-navy { fill: #8F8BB5; }
.logo--light .lg-red { fill: #C23B3D; }
.logo--dark .lg-grey { fill: var(--grey-logo); }
.logo--dark .lg-navy { fill: var(--navy-logo); }
.logo--dark .lg-red { fill: #8B1B19; }
.site-nav { flex: 1; display: flex; align-items: center; }
.site-nav ul { display: flex; gap: calc(var(--s) * 17.2); margin-left: calc(var(--s) * 106); }
.site-nav ul a { position: relative; color: #fff; font-size: calc(var(--s) * 8.6); font-weight: 500; letter-spacing: -.005em; padding: calc(var(--s) * 4) 0; }
.site-nav ul a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--red-on-dark); transform: scaleX(0); transition: transform .25s var(--ease); }
.site-nav ul a:hover::after, .site-nav ul a[aria-current]::after { transform: scaleX(1); }
.site-nav__ctas { margin-left: auto; display: flex; gap: calc(var(--s) * 10); }
.btn--header { height: calc(var(--s) * 26); min-width: calc(var(--s) * 92); font-size: calc(var(--s) * 6.2); padding: 0 calc(var(--s) * 11); border-radius: calc(var(--s) * 2.6); }
.btn--header.btn--red { min-width: calc(var(--s) * 102); background: #9B202C; }
.nav-toggle { display: none; }

/* ---------- 01 Hero ---------- */
.hero { position: relative; height: calc(var(--s) * 262); background: #0A141E; color: #fff; overflow: hidden; }
.hero__media { position: absolute; top: 0; right: 0; bottom: 0; width: calc(var(--s) * 510); }
.hero__media picture, .hero__img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #0A141E 0%, rgba(10,20,30,.9) 6%, rgba(10,20,30,.45) 22%, rgba(10,20,30,.08) 42%, rgba(10,20,30,0) 60%); }
.hero__content { position: absolute; left: calc(var(--s) * 47); top: calc(var(--s) * 60); z-index: 2; }
.hero__eyebrow { font-size: calc(var(--s) * 7.6); letter-spacing: .27em; font-weight: 500; color: rgba(255,255,255,.92); margin-bottom: calc(var(--s) * 7.5); }
.hero__title { font-family: var(--serif); font-weight: 600; font-size: calc(var(--s) * 30.2); line-height: 1.045; letter-spacing: -.016em; }
.hero__title em { font-style: normal; color: var(--red-on-dark); }
.hero__text { margin-top: calc(var(--s) * 11); font-size: calc(var(--s) * 9.6); line-height: 1.55; color: rgba(255,255,255,.92); }
.hero__actions { display: flex; gap: calc(var(--s) * 19); margin-top: calc(var(--s) * 9); }
.hero__actions .btn { height: calc(var(--s) * 25.5); font-size: calc(var(--s) * 6.4); padding: 0 calc(var(--s) * 14); }
.hero__side { position: absolute; z-index: 2; left: calc(var(--s) * 656); top: calc(var(--s) * 80); padding: calc(var(--s) * 9) 0 calc(var(--s) * 13) calc(var(--s) * 16); border-left: 1px solid var(--red-on-dark); font-size: calc(var(--s) * 8.1); line-height: 1.86; letter-spacing: .19em; font-weight: 500; color: #fff; }
.hero__side::after { content: ""; position: absolute; left: calc(var(--s) * 16); bottom: 0; width: calc(var(--s) * 36); height: 1px; background: var(--red-on-dark); }

/* ---------- Bento ---------- */
.bento { display: grid; gap: calc(var(--s) * 4.5); padding: calc(var(--s) * 3) calc(var(--s) * 4) calc(var(--s) * 3) calc(var(--s) * 5); }
.row { display: grid; gap: calc(var(--s) * 4.5); }
.row--1 { grid-template-columns: 403fr 384fr; min-height: calc(var(--s) * 175); }
.row--2 { grid-template-columns: 400fr 387fr; min-height: calc(var(--s) * 158); }
.row--3 { grid-template-columns: 402fr 385fr; min-height: calc(var(--s) * 200); }
.row--4 { grid-template-columns: 317fr 209fr 257fr; min-height: calc(var(--s) * 193); }
.row--5 { grid-template-columns: 278fr 246fr 259fr; min-height: calc(var(--s) * 124); }
.row--6 { grid-template-columns: 284fr 246fr 255fr; min-height: calc(var(--s) * 131); }
.row--7 { grid-template-columns: 462fr 324fr; min-height: calc(var(--s) * 133); }
.row > :only-child { grid-column: 1 / -1; }
.card { position: relative; overflow: hidden; background: linear-gradient(180deg, #F2F1EF 0%, var(--card) 60%, var(--card-2) 100%); border-radius: calc(var(--s) * 3.2); box-shadow: 0 1px 0 rgba(255,255,255,.9) inset, 0 calc(var(--s) * .6) calc(var(--s) * 2) rgba(19,29,41,.05); }
.card > .shead { position: absolute; left: calc(var(--s) * 10); top: calc(var(--s) * 8); z-index: 3; }

/* 02 Como podemos ajudar */
.b02 { padding: calc(var(--s) * 7) calc(var(--s) * 7) calc(var(--s) * 8) calc(var(--s) * 4); }
.b02__head { display: flex; align-items: center; justify-content: space-between; padding-right: calc(var(--s) * 5); }
.b02__head .shead .badge { width: calc(var(--s) * 18); }
.b02__aside { font-size: max(9px, calc(var(--s) * 5.1)); letter-spacing: .02em; color: #3F4247; font-weight: 500; text-transform: uppercase; }
.b02__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(var(--s) * 7); margin: calc(var(--s) * 13) 0 0 calc(var(--s) * 6); height: calc(var(--s) * 131); }
.help { display: flex; flex-direction: column; align-items: center; text-align: center; padding: calc(var(--s) * 9) calc(var(--s) * 6) calc(var(--s) * 9); border-radius: calc(var(--s) * 4.5); transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.help:hover { transform: translateY(-2px); box-shadow: 0 calc(var(--s) * 4) calc(var(--s) * 10) rgba(19,29,41,.09); }
.help--cinza { background: linear-gradient(180deg, #D3D4D8 0%, #DCDDE0 55%, #E3E4E6 100%); }
.help--claro { background: linear-gradient(180deg, #EEEDEB 0%, #ECEBE8 100%); }
.help--rosado { background: linear-gradient(180deg, #F3E6E6 0%, #EFE2E1 60%, #EBDEDC 100%); }
.help__icon { font-size: calc(var(--s) * 33); line-height: 0; height: calc(var(--s) * 36); display: grid; place-items: center; }
.help__icon .ico { stroke-width: 1.35; }
.help__title { margin-top: calc(var(--s) * 9); font-family: var(--serif); font-weight: 600; color: var(--ink); font-size: calc(var(--s) * 12.6); line-height: 1.15; letter-spacing: -.01em; }
.help__text { margin-top: calc(var(--s) * 4); font-size: max(10.5px, calc(var(--s) * 6.2)); line-height: 1.68; color: #4B4E53; }
.help__btn { margin-top: auto; }
.help--rosado .help__btn { align-self: stretch; }

/* 03 A Afinco */
.b03 { display: grid; grid-template-columns: 1fr calc(var(--s) * 202); }
.b03__body { padding: calc(var(--s) * 8) calc(var(--s) * 10) calc(var(--s) * 10) calc(var(--s) * 10); }
.b03__body .h-serif { margin: calc(var(--s) * 6) 0 0 calc(var(--s) * 18); }
.b03__body .txt { margin: calc(var(--s) * 9) 0 0 calc(var(--s) * 18); font-size: max(var(--min-txt), calc(var(--s) * 6.5)); }
.b03__body .btn--link { margin: calc(var(--s) * 9) 0 0 calc(var(--s) * 18); }
.b03__media { position: relative; margin: calc(var(--s) * 3) 0 calc(var(--s) * 2) 0; border-radius: calc(var(--s) * 3) 0 0 calc(var(--s) * 3); overflow: hidden; }

/* 04 Nossa história */
.b04 { display: grid; grid-template-columns: 1fr calc(var(--s) * 215); grid-template-areas: "body media"; }
.b04__media { grid-area: media; position: relative; margin: calc(var(--s) * 3) 0 0; border-radius: 0 calc(var(--s) * 3) 0 0; overflow: hidden; }
.b04__media::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, var(--card) 0%, rgba(239,238,236,.55) 10%, rgba(239,238,236,0) 26%); pointer-events: none; }
.b04__body { grid-area: body; padding: calc(var(--s) * 8) 0 calc(var(--s) * 10) calc(var(--s) * 10); position: relative; z-index: 2; margin-right: calc(var(--s) * -30); }
.b04__body .h-serif { margin: calc(var(--s) * 5) 0 0 calc(var(--s) * 32); font-size: calc(var(--s) * 19.4); line-height: 1.06; }
.b04__body .txt { margin: calc(var(--s) * 8) 0 0 calc(var(--s) * 32); font-size: max(var(--min-txt), calc(var(--s) * 6.3)); line-height: 1.6; }
.b04__body .btn { margin: calc(var(--s) * 10) 0 0 calc(var(--s) * 32); height: calc(var(--s) * 22); padding: 0 calc(var(--s) * 13); }

/* 05 Princípios */
.b05 { padding: calc(var(--s) * 8) calc(var(--s) * 10) calc(var(--s) * 10) calc(var(--s) * 11); }
.b05 > .shead { position: static; }
.b05__title { margin: calc(var(--s) * 3) 0 0 calc(var(--s) * 31); }
.principles { display: grid; grid-template-columns: repeat(6, 1fr); margin: calc(var(--s) * 11) 0 0 calc(var(--s) * 3); }
.principle { display: flex; flex-direction: column; align-items: center; text-align: center; padding: calc(var(--s) * 7) calc(var(--s) * 2) calc(var(--s) * 8); background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0)); border-right: 1px solid rgba(255,255,255,.7); box-shadow: 1px 0 0 rgba(19,29,41,.04); }
.principle:last-child { border-right: 0; box-shadow: none; }
.principle .ico { font-size: calc(var(--s) * 22); stroke-width: 1.35; }
.principle h3 { margin-top: calc(var(--s) * 10); font-family: var(--serif); font-weight: 600; font-size: calc(var(--s) * 7.1); color: var(--ink); letter-spacing: -.015em; white-space: nowrap; }
.principle p { margin-top: calc(var(--s) * 7); font-size: max(9.5px, calc(var(--s) * 4.8)); line-height: 1.7; color: var(--muted); }

/* 06 Soluções */
.b06 { display: grid; grid-template-columns: 1fr calc(var(--s) * 102); }
.b06__media { grid-column: 2; grid-row: 1; position: relative; margin: calc(var(--s) * 3) 0 0; }
.b06__media::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, var(--card) 0%, rgba(239,238,236,0) 30%); }
.b06__body { grid-column: 1 / 3; grid-row: 1; position: relative; z-index: 2; padding: calc(var(--s) * 8) calc(var(--s) * 102) calc(var(--s) * 10) calc(var(--s) * 10); }
.b06__body .h-serif { margin: calc(var(--s) * 2) 0 0 calc(var(--s) * 30); font-size: calc(var(--s) * 15.3); line-height: 1.17; }
.services { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: calc(var(--s) * 9) calc(var(--s) * -2) 0 calc(var(--s) * 5); }
.services a { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; height: calc(var(--s) * 47); padding: calc(var(--s) * 3); background: rgba(255,255,255,.34); border-radius: calc(var(--s) * 2); font-size: max(9.5px, calc(var(--s) * 5.5)); line-height: 1.52; color: #2F3338; transition: background-color .25s var(--ease); }
.services a:hover { background: rgba(255,255,255,.85); }
.services .ico { font-size: calc(var(--s) * 15.5); margin-bottom: calc(var(--s) * 3.5); stroke-width: 1.4; }
.b06__btn { margin: calc(var(--s) * 14) 0 0 calc(var(--s) * 5); height: calc(var(--s) * 18); min-width: calc(var(--s) * 166); letter-spacing: .1em; }

/* 07 Por que Afinco */
.b07 { display: grid; grid-template-columns: 1fr calc(var(--s) * 108); }
.b07__body { padding: calc(var(--s) * 9) calc(var(--s) * 8) calc(var(--s) * 10) calc(var(--s) * 8); }
.b07__body > .h-serif { margin: calc(var(--s) * 4) 0 0 calc(var(--s) * 30); }
.b07__sub { margin: calc(var(--s) * 2) 0 0 calc(var(--s) * 30); font-size: max(10px, calc(var(--s) * 5.7)); }
.diffs { display: grid; grid-template-columns: repeat(3, 1fr); row-gap: calc(var(--s) * 18); margin-top: calc(var(--s) * 15); }
.diffs li { display: flex; flex-direction: column; align-items: center; text-align: center; font-size: max(10px, calc(var(--s) * 5.7)); line-height: 1.6; color: #2F3338; }
.diffs .ico { font-size: calc(var(--s) * 21); margin-bottom: calc(var(--s) * 5); stroke-width: 1.35; }
.b07__quote { position: relative; margin: calc(var(--s) * 3) 0 calc(var(--s) * 2); padding: calc(var(--s) * 58) calc(var(--s) * 10) calc(var(--s) * 18) calc(var(--s) * 13); border-radius: calc(var(--s) * 3); color: #fff; background:
    radial-gradient(120% 60% at 80% 20%, rgba(170, 40, 52, .55), transparent 60%),
    linear-gradient(180deg, #7B1520 0%, #6A111B 50%, #741520 100%); }
.b07__quote p { font-family: var(--serif); font-weight: 400; font-size: calc(var(--s) * 13.2); line-height: 1.36; letter-spacing: -.01em; }
.b07__quote::after { content: ""; position: absolute; left: calc(var(--s) * 13); bottom: calc(var(--s) * 16); width: calc(var(--s) * 26); height: 1px; background: rgba(255,255,255,.7); }

/* 08 Tecnologia */
.b08 { display: grid; grid-template-columns: 1fr calc(var(--s) * 128); }
.b08__body { padding: calc(var(--s) * 8) 0 calc(var(--s) * 10) calc(var(--s) * 10); }
.b08__body > .h-serif { margin: calc(var(--s) * 3) 0 0 calc(var(--s) * 32); font-size: calc(var(--s) * 12.8); line-height: 1.17; }
.b08__body > .txt { margin: calc(var(--s) * 8) 0 0 calc(var(--s) * 16); font-size: max(10.5px, calc(var(--s) * 5.9)); line-height: 1.65; }
.checks { margin: calc(var(--s) * 6) 0 0 calc(var(--s) * 18); display: grid; gap: calc(var(--s) * 3.4); }
.checks li { display: flex; align-items: center; gap: calc(var(--s) * 11); font-size: max(10.5px, calc(var(--s) * 6.2)); color: #3A3D42; line-height: 1.6; }
.ico--check { font-size: calc(var(--s) * 10.5); color: var(--red-deep); }
.b08__body > .btn { margin: calc(var(--s) * 11) 0 0 calc(var(--s) * 6); height: calc(var(--s) * 19); min-width: calc(var(--s) * 168); letter-spacing: .1em; }
.b08__device { position: relative; overflow: visible; }
.b08__mock { position: absolute; left: 0; top: calc(var(--s) * 8); width: calc(var(--s) * 120); }
.phone { position: absolute; left: calc(var(--s) * 0); top: calc(var(--s) * 10); width: calc(var(--s) * 116); height: calc(var(--s) * 192); padding: calc(var(--s) * 4); border-radius: calc(var(--s) * 17); background: linear-gradient(145deg, #2A2E35, #0B0D10 40%, #1E2127); box-shadow: 0 calc(var(--s) * 6) calc(var(--s) * 16) rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.12); transform: rotate(1.2deg); }
.phone__screen { position: relative; height: 100%; border-radius: calc(var(--s) * 13.5); overflow: hidden; background: linear-gradient(180deg, var(--navy) 0, var(--navy) calc(var(--s) * 44), #F1F1F2 calc(var(--s) * 44)); display: flex; flex-direction: column; }
.phone__status { display: flex; justify-content: space-between; padding: calc(var(--s) * 5) calc(var(--s) * 12) 0; font-size: calc(var(--s) * 4.2); color: #fff; font-weight: 600; }
.phone__icons { width: calc(var(--s) * 15); height: calc(var(--s) * 3.5); border-radius: 1px; background: linear-gradient(90deg, #fff 0 30%, transparent 30% 40%, #fff 40% 70%, transparent 70% 78%, #fff 78%); }
.phone__top { display: flex; align-items: center; justify-content: space-between; padding: calc(var(--s) * 7) calc(var(--s) * 9) 0 calc(var(--s) * 9); height: calc(var(--s) * 36); }
.phone__logo { height: calc(var(--s) * 17); }
.phone__bell { width: calc(var(--s) * 8); height: calc(var(--s) * 8); color: #fff; }
.phone__grid { display: grid; grid-template-columns: 1fr 1fr; gap: calc(var(--s) * 3); padding: calc(var(--s) * 6) calc(var(--s) * 6) 0; flex: 1; align-content: start; }
.phone__tile { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: calc(var(--s) * 3); height: calc(var(--s) * 33); background: #fff; border-radius: calc(var(--s) * 3); box-shadow: 0 1px 2px rgba(19,29,41,.06); color: var(--ink); }
.phone__tile .ico, .phone__tile svg { width: calc(var(--s) * 9); height: calc(var(--s) * 9); }
.phone__tile small, .phone__nav small { font-size: calc(var(--s) * 3.6); font-weight: 600; color: #2E3237; }
.phone__nav { display: flex; justify-content: space-around; align-items: center; height: calc(var(--s) * 22); background: var(--navy); margin: calc(var(--s) * 4) calc(var(--s) * 5) calc(var(--s) * 5); border-radius: calc(var(--s) * 3); color: #fff; }
.phone__nav span { display: flex; flex-direction: column; align-items: center; gap: 1px; }
.phone__nav svg { width: calc(var(--s) * 6.5); height: calc(var(--s) * 6.5); }
.phone__nav small { color: rgba(255,255,255,.8); font-weight: 500; font-size: calc(var(--s) * 3.2); }

/* 09 Para o síndico */
.b09 { display: grid; grid-template-columns: calc(var(--s) * 104) 1fr; background: linear-gradient(180deg, #F3F3F2, #ECECEB); }
.b09__media { position: relative; margin-left: calc(var(--s) * -8); }
.b09__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(239,238,236,0) 70%, #EFEFEE 100%); }
.b09__head { position: absolute; left: calc(var(--s) * 13); top: calc(var(--s) * 8); z-index: 3; }
.b09__body { padding: calc(var(--s) * 25) calc(var(--s) * 6) calc(var(--s) * 10) 0; position: relative; z-index: 2; margin-left: calc(var(--s) * -2); }
.b09__body .h-serif { font-size: calc(var(--s) * 13.8); line-height: 1.19; }
.b09__body .txt { margin-top: calc(var(--s) * 13); font-size: max(10px, calc(var(--s) * 5.8)); line-height: 1.75; margin-right: calc(var(--s) * -6); }
.b09__body .btn { margin-top: calc(var(--s) * 9); height: calc(var(--s) * 22); }

/* 10 Planos */
.b10 { padding: calc(var(--s) * 8) calc(var(--s) * 9) calc(var(--s) * 10) calc(var(--s) * 5); display: flex; flex-direction: column; }
.b10 > .shead { position: static; }
.b10__title { margin: calc(var(--s) * -1) 0 0 calc(var(--s) * 30); }
.plans { display: grid; grid-template-columns: 73fr 79fr 74fr; gap: calc(var(--s) * 6); margin: calc(var(--s) * 13) 0 0 calc(var(--s) * 4); align-items: center; }
.plan { display: flex; flex-direction: column; align-items: center; text-align: center; height: calc(var(--s) * 60); padding: calc(var(--s) * 9) calc(var(--s) * 4) calc(var(--s) * 7); background: linear-gradient(180deg, #ECE9E5, #E8E5E0); border-radius: calc(var(--s) * 2.5); }
.plan h3 { font-family: var(--serif); font-weight: 600; font-size: calc(var(--s) * 8.6); color: var(--ink); }
.plan p { margin-top: calc(var(--s) * 3); font-size: max(9px, calc(var(--s) * 4.6)); line-height: 1.7; color: var(--muted); }
.plan .btn { margin-top: auto; min-width: calc(var(--s) * 60); }
.plan--featured { height: calc(var(--s) * 66); background: var(--navy); }
.plan--featured h3 { color: #fff; }
.plan--featured p { color: rgba(255,255,255,.72); }
.b10__note { margin-top: calc(var(--s) * 17); text-align: center; font-size: max(9.5px, calc(var(--s) * 4.75)); color: #3A3D42; }
.b10__btn { align-self: center; margin-top: calc(var(--s) * 9); height: calc(var(--s) * 19); min-width: calc(var(--s) * 128); }

/* 11 Números */
.b11 { padding: calc(var(--s) * 7) calc(var(--s) * 6) calc(var(--s) * 8) calc(var(--s) * 10); }
.b11 > .shead { position: static; }
.b11 > .h-serif { margin: calc(var(--s) * 1) 0 0 calc(var(--s) * 32); }
.stats { display: grid; grid-template-columns: repeat(4, 1fr); margin: calc(var(--s) * 10) 0 0 calc(var(--s) * 4); }
.stat { text-align: center; padding: calc(var(--s) * 2) calc(var(--s) * 2); border-right: 1px solid rgba(19,29,41,.07); }
.stat:last-child { border-right: 0; }
.stat dt { font-family: var(--serif); font-weight: 400; font-size: calc(var(--s) * 17.4); line-height: 1.1; color: var(--red-text); letter-spacing: -.02em; white-space: nowrap; }
.stat dd { margin-top: calc(var(--s) * 4); font-size: max(9.5px, calc(var(--s) * 5.6)); line-height: 1.75; color: #3A3D42; }
.stat dd br + * , .stat dd { }

/* 12 Depoimentos */
.b12 { padding: calc(var(--s) * 6) calc(var(--s) * 5) calc(var(--s) * 4) calc(var(--s) * 6); }
.b12 > .shead { position: static; }
.b12 > .h-serif { margin: calc(var(--s) * -1) 0 0 calc(var(--s) * 31); }
.tcarousel { margin-top: calc(var(--s) * 6); }
.testimonial { display: grid; grid-template-columns: calc(var(--s) * 80) 1fr; gap: calc(var(--s) * 11); height: calc(var(--s) * 81); padding: 0 calc(var(--s) * 8) 0 0; background: rgba(255,255,255,.62); border-radius: calc(var(--s) * 3); animation: fadeIn .45s var(--ease); }
.testimonial__photo { border-radius: calc(var(--s) * 3); overflow: hidden; background: #DCDAD6; }
.avatar { display: grid; place-items: center; width: 100%; height: 100%; font-family: var(--serif); font-size: calc(var(--s) * 22); color: #fff; background: linear-gradient(145deg, var(--red-soft), var(--red-deep)); }
.testimonial__body { position: relative; padding-top: calc(var(--s) * 6); }
.testimonial blockquote p { font-size: max(10.5px, calc(var(--s) * 5.9)); line-height: 1.82; color: #43464B; }
.testimonial figcaption { display: grid; margin-top: calc(var(--s) * 5); }
.testimonial figcaption strong { font-size: max(10px, calc(var(--s) * 5.5)); font-weight: 600; color: var(--ink); }
.testimonial figcaption span { font-size: max(9.5px, calc(var(--s) * 4.9)); color: var(--muted); }
.tcarousel__arrows { position: absolute; right: 0; bottom: calc(var(--s) * 9); display: flex; gap: calc(var(--s) * 4); }
.tcarousel__arrows button { width: calc(var(--s) * 10); height: calc(var(--s) * 10); display: grid; place-items: center; color: var(--ink); }
.tcarousel__arrows svg { width: 100%; height: 100%; stroke-width: 2; }
.tcarousel__dots { display: flex; justify-content: center; gap: calc(var(--s) * 3.5); margin-top: calc(var(--s) * 4); }
.tcarousel__dots button { width: calc(var(--s) * 3.6); height: calc(var(--s) * 3.6); border-radius: 50%; background: #C9A9AC; padding: 0; }
.tcarousel__dots button[aria-selected="true"] { background: var(--red); }
@keyframes fadeIn { from { opacity: 0; transform: translateX(6px); } to { opacity: 1; transform: none; } }

/* 13 Parceiros */
.b13 { padding: calc(var(--s) * 7) calc(var(--s) * 9) calc(var(--s) * 6) calc(var(--s) * 5); display: flex; flex-direction: column; }
.b13 > .shead { position: static; }
.b13 > .h-serif { margin: calc(var(--s) * -1) 0 0 calc(var(--s) * 33); }
.partners { position: relative; margin: calc(var(--s) * 6) 0 0 0; }
.partners__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 4 * var(--s) * 3) / 5); gap: calc(var(--s) * 3); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.partners__track::-webkit-scrollbar { display: none; }
.partners__track li { scroll-snap-align: start; display: grid; place-items: center; height: calc(var(--s) * 41); background: #fff; border-radius: calc(var(--s) * 3); box-shadow: 0 1px 2px rgba(19,29,41,.05); padding: calc(var(--s) * 5); }
.partners__track a { display: grid; place-items: center; width: 100%; height: 100%; }
.partners__logo { max-height: calc(var(--s) * 22); width: auto; object-fit: contain; filter: grayscale(.1); }
.partners__name { font-family: var(--sans); font-weight: 700; font-size: max(10px, calc(var(--s) * 7)); letter-spacing: -.02em; color: #2C3036; text-align: center; line-height: 1.1; }
.partners__next { position: absolute; right: calc(var(--s) * -6); bottom: calc(var(--s) * -14); width: calc(var(--s) * 9); height: calc(var(--s) * 9); color: var(--ink); }
.partners__next svg { width: 100%; height: 100%; stroke-width: 2; }
.b13__link { align-self: center; margin-top: calc(var(--s) * 19); font-size: max(10px, calc(var(--s) * 6)); letter-spacing: .01em; }

/* 14 Além dos condomínios */
.b14 { display: grid; grid-template-columns: calc(var(--s) * 145) 1fr; }
.b14__media { position: relative; }
.b14__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(239,238,236,0) 75%, rgba(239,238,236,.9) 100%); }
.b14__head { position: absolute; left: calc(var(--s) * 7); top: calc(var(--s) * 4); z-index: 3; }
.b14__body { padding: calc(var(--s) * 9) calc(var(--s) * 6) calc(var(--s) * 10) calc(var(--s) * 3); }
.b14__body .eyebrow { font-size: max(9.5px, calc(var(--s) * 5.5)); letter-spacing: .07em; }
.b14__body .h-serif { margin-top: calc(var(--s) * 7); }
.b14__body .txt { margin-top: calc(var(--s) * 8); font-size: max(10px, calc(var(--s) * 5.9)); line-height: 1.7; }
.b14__body .btn { margin-top: calc(var(--s) * 4); height: calc(var(--s) * 19); padding: 0 calc(var(--s) * 7); font-size: max(9.5px, calc(var(--s) * 5.4)); }

/* 15 Conteúdo */
.b15 { display: grid; grid-template-columns: calc(var(--s) * 128) 1fr; }
.b15__media { position: relative; }
.b15__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(239,238,236,0) 60%, rgba(239,238,236,.95) 100%); }
.b15__head { position: absolute; left: calc(var(--s) * 6); top: calc(var(--s) * 6); z-index: 3; }
.b15__head .eyebrow { color: #4F5257; }
.b15__body { padding: calc(var(--s) * 24) calc(var(--s) * 6) calc(var(--s) * 10) 0; position: relative; z-index: 2; margin-left: calc(var(--s) * -8); }
.b15__body .h-serif { font-size: calc(var(--s) * 11.6); line-height: 1.3; padding-left: calc(var(--s) * 9); }
.b15__body .txt { margin-top: calc(var(--s) * 9); font-size: max(9.5px, calc(var(--s) * 5.6)); line-height: 1.72; text-align: right; }
.b15__body .btn { margin: calc(var(--s) * 9) 0 0 calc(var(--s) * -6); height: calc(var(--s) * 23); padding: 0 calc(var(--s) * 12); font-size: max(9.5px, calc(var(--s) * 5.4)); }
.latest { margin-top: calc(var(--s) * 6); display: grid; gap: calc(var(--s) * 2); font-size: max(10px, calc(var(--s) * 5.4)); }
.latest a { color: var(--red-text); text-decoration: underline; text-underline-offset: 2px; }

/* 16 CTA final */
.b16 { padding: calc(var(--s) * 10) calc(var(--s) * 14) calc(var(--s) * 12) calc(var(--s) * 14); color: #fff; text-align: center; display: flex; flex-direction: column; align-items: center; background:
    var(--cta-bg, none) center / cover,
    radial-gradient(90% 70% at 85% 20%, rgba(176, 44, 56, .5), transparent 60%),
    radial-gradient(70% 60% at 10% 90%, rgba(80, 8, 16, .55), transparent 70%),
    linear-gradient(160deg, #84202A 0%, #741720 55%, #6B121B 100%); }
.b16 > .shead { position: static; align-self: flex-start; }
.b16 .h-serif { align-self: flex-start; color: #fff; margin: calc(var(--s) * 1) 0 0 calc(var(--s) * 34); text-align: left; font-size: calc(var(--s) * 15.2); line-height: 1.18; }
.b16__text { margin-top: calc(var(--s) * 9); font-size: max(10.5px, calc(var(--s) * 6.7)); line-height: 1.62; color: rgba(255,255,255,.9); }
.b16 .btn { margin-top: calc(var(--s) * 11); height: calc(var(--s) * 21); min-width: calc(var(--s) * 120); }

/* 17 Onde estamos */
.b17 { display: grid; grid-template-columns: calc(var(--s) * 170) calc(var(--s) * 130) 1fr; }
.b17__media { position: relative; margin: calc(var(--s) * 1) 0 calc(var(--s) * 1) calc(var(--s) * 1); border-radius: calc(var(--s) * 3); overflow: hidden; }
.b17__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,20,30,.45) 0%, rgba(10,20,30,0) 35%); }
.b17__media .shead { position: absolute; left: calc(var(--s) * 7); top: calc(var(--s) * 6); z-index: 2; gap: calc(var(--s) * 17); }
.b17__info { padding: calc(var(--s) * 23) calc(var(--s) * 8) calc(var(--s) * 12) calc(var(--s) * 22); display: flex; flex-direction: column; }
.info { display: flex; gap: calc(var(--s) * 9); font-size: max(10px, calc(var(--s) * 6)); line-height: 1.75; color: #3E4146; }
.info + .info { margin-top: calc(var(--s) * 14); align-items: center; }
.info .ico { font-size: calc(var(--s) * 12.5); margin-top: calc(var(--s) * -1); }
.b17__info .btn { margin-top: auto; height: calc(var(--s) * 26); width: calc(var(--s) * 96); }
.b17__map { position: relative; overflow: hidden; background: #E9E8E5; }
.b17__map iframe { position: absolute; inset: -40px; width: calc(100% + 80px); height: calc(100% + 80px); border: 0; filter: grayscale(1) contrast(.82) brightness(1.08); }
.map-pin { position: absolute; left: 50%; top: 50%; transform: translate(-58%, -78%); display: flex; align-items: flex-start; gap: calc(var(--s) * 3); pointer-events: none; }
.map-pin svg { width: calc(var(--s) * 17); height: calc(var(--s) * 22); color: var(--red); filter: drop-shadow(0 2px 2px rgba(0,0,0,.25)); }
.map-pin span { display: grid; font-size: calc(var(--s) * 5.6); line-height: 1.6; color: #2E3237; margin-top: calc(var(--s) * 3); text-shadow: 0 0 3px #fff, 0 0 6px #fff; }
.map-pin strong { font-weight: 700; font-size: calc(var(--s) * 7.4); color: var(--ink); line-height: 1.2; }

/* 18 Fale com a Afinco */
.b18 { padding: calc(var(--s) * 10) calc(var(--s) * 6) calc(var(--s) * 10) calc(var(--s) * 8); }
.b18 > .shead { position: static; }
.b18 > .h-serif { margin: calc(var(--s) * -1) 0 0 calc(var(--s) * 31); }
.b18__grid { display: grid; grid-template-columns: calc(var(--s) * 112) calc(var(--s) * 120) 1fr; grid-template-rows: auto auto; column-gap: calc(var(--s) * 3); row-gap: calc(var(--s) * 16); margin: calc(var(--s) * 12) 0 0 calc(var(--s) * 5); align-items: center; }
.channel { display: flex; align-items: center; gap: calc(var(--s) * 10); color: #2E3237; }
.channel:nth-child(odd) { padding-right: calc(var(--s) * 8); border-right: 1px solid rgba(19,29,41,.07); }
.channel:nth-child(2), .channel:nth-child(4) { padding-left: calc(var(--s) * 10); }
.channel:nth-child(1) { grid-column: 1; grid-row: 1; }
.channel:nth-child(2) { grid-column: 2; grid-row: 1; }
.channel:nth-child(3) { grid-column: 1; grid-row: 2; }
.channel:nth-child(4) { grid-column: 2; grid-row: 2; }
.channel .ico { font-size: calc(var(--s) * 13.5); }
.channel span { display: grid; line-height: 1.65; }
.channel strong { font-weight: 500; font-size: max(10px, calc(var(--s) * 5.6)); color: #2E3237; }
.channel small { font-size: max(9.5px, calc(var(--s) * 5.1)); color: #55585D; }
a.channel:hover strong { color: var(--red-text); }
.b18__btn { grid-column: 3; grid-row: 2; justify-self: end; height: calc(var(--s) * 27) !important; padding: 0 calc(var(--s) * 9) !important; font-size: max(9.5px, calc(var(--s) * 5.4)) !important; }

/* ---------- Footer ---------- */
.site-footer { background: var(--navy); color: #C9CED4; margin-top: calc(var(--s) * 2); }
.site-footer__main { display: grid; grid-template-columns: calc(var(--s) * 185) calc(var(--s) * 128) calc(var(--s) * 109) calc(var(--s) * 114) calc(var(--s) * 95) 1fr; padding: calc(var(--s) * 26) calc(var(--s) * 25) calc(var(--s) * 23) calc(var(--s) * 47); min-height: calc(var(--s) * 125); }
.site-footer__brand .logo { height: calc(var(--s) * 30); }
.site-footer__tagline { margin-top: calc(var(--s) * 9); font-family: var(--serif); font-size: calc(var(--s) * 8.8); line-height: 1.75; color: #AEB4BB; }
.site-footer__col { padding-left: 0; }
.site-footer__col:not(:nth-child(2)) { border-left: 1px solid rgba(255,255,255,.05); padding-left: calc(var(--s) * 0); }
.site-footer__col h2 { font-size: calc(var(--s) * 7.6); font-weight: 500; color: #fff; }
.site-footer__col ul { margin-top: calc(var(--s) * 6); display: grid; gap: calc(var(--s) * 1.4); }
.site-footer__col a { font-size: max(11px, calc(var(--s) * 6.4)); line-height: 1.6; color: #CDD2D8; transition: color .2s; }
.site-footer__col a:hover { color: #fff; }
.site-footer__col:nth-child(2) { padding-left: 0; }
.site-footer__col:nth-child(3), .site-footer__col:nth-child(4), .site-footer__col:nth-child(5) { padding-left: calc(var(--s) * 26); margin-left: calc(var(--s) * 0); }
.site-footer__aside { display: flex; flex-direction: column; align-items: flex-end; }
.social { display: flex; gap: calc(var(--s) * 8); margin-top: calc(var(--s) * 7); margin-right: calc(var(--s) * 13); }
.social a { display: grid; place-items: center; width: calc(var(--s) * 19); height: calc(var(--s) * 19); border: 1px solid rgba(255,255,255,.45); border-radius: calc(var(--s) * 5); color: #fff; transition: background-color .2s, border-color .2s; }
.social a:hover { background: rgba(255,255,255,.1); border-color: #fff; }
.social svg { width: 62%; height: 62%; }
.btn--footer { margin-top: calc(var(--s) * 21); height: calc(var(--s) * 28); min-width: calc(var(--s) * 99); font-size: calc(var(--s) * 6.4); background: #9B202C; }
.site-footer__bottom { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.07); padding: 0 calc(var(--s) * 40) 0 calc(var(--s) * 47); height: calc(var(--s) * 40); padding-bottom: calc(var(--s) * 2); }
.site-footer__bottom { min-height: calc(var(--s) * 63); align-items: flex-start; padding-top: calc(var(--s) * 14); }
.site-footer__bottom p, .site-footer__bottom a { font-size: max(10px, calc(var(--s) * 5.2)); color: #AEB4BB; }
.site-footer__bottom ul { display: flex; }
.site-footer__bottom li + li::before { content: "|"; margin: 0 calc(var(--s) * 6); color: rgba(255,255,255,.25); font-size: calc(var(--s) * 5.2); }
.site-footer__bottom a:hover { color: #fff; }


/* ---------- Calibração tipográfica (medida contra a referência: largura de linha e entrelinha) ---------- */
.hero__title { font-size: calc(var(--s) * 32.4); line-height: calc(var(--s) * 31.6); }
.hero__eyebrow { font-size: calc(var(--s) * 9); letter-spacing: .26em; }
.hero__text { font-size: calc(var(--s) * 10.9); line-height: calc(var(--s) * 15); margin-top: calc(var(--s) * 9); }
.hero__side { font-size: calc(var(--s) * 9.5); line-height: calc(var(--s) * 15); letter-spacing: .17em; }
.hero__actions .btn { font-size: calc(var(--s) * 7.4); }
.site-nav ul a { font-size: calc(var(--s) * 8.2); }
.btn--header { font-size: calc(var(--s) * 6.8); }
.b03 .h-serif { font-size: calc(var(--s) * 19.4); line-height: calc(var(--s) * 21.5); }
.b04__body .h-serif { font-size: calc(var(--s) * 18.4); line-height: calc(var(--s) * 20.5); }
.b05__title { font-size: calc(var(--s) * 16.2); line-height: 1.15; }
.b06__body .h-serif { font-size: calc(var(--s) * 14.95); line-height: calc(var(--s) * 18); }
.b07__body > .h-serif { font-size: calc(var(--s) * 12.55); }
.b08__body > .h-serif { font-size: calc(var(--s) * 11.9); line-height: calc(var(--s) * 14.5); }
.b09__body .h-serif { font-size: calc(var(--s) * 13); line-height: calc(var(--s) * 16.5); }
.b10__title { font-size: calc(var(--s) * 11.6); line-height: calc(var(--s) * 14); }
.b11 > .h-serif { font-size: calc(var(--s) * 12.45); line-height: calc(var(--s) * 15); }
.b12 > .h-serif { font-size: calc(var(--s) * 11.8); }
.b13 > .h-serif { font-size: calc(var(--s) * 11.8); line-height: calc(var(--s) * 14.5); }
.b14__body .h-serif { font-size: calc(var(--s) * 12.9); line-height: calc(var(--s) * 16.5); }
.b15__body .h-serif { font-size: calc(var(--s) * 11.55); line-height: calc(var(--s) * 15); }
.b16 .h-serif { font-size: calc(var(--s) * 14.95); line-height: calc(var(--s) * 17.5); }
.b18 > .h-serif { font-size: calc(var(--s) * 12); }
.help__title { font-size: calc(var(--s) * 12.65); }
.principle h3 { font-size: calc(var(--s) * 7.5); }
.plan h3 { font-size: calc(var(--s) * 8.7); }
.stat dt { font-size: calc(var(--s) * 15.1); }
.b07__quote p { font-size: calc(var(--s) * 10.95); line-height: calc(var(--s) * 18); }
.site-footer__tagline { font-size: calc(var(--s) * 10); line-height: calc(var(--s) * 16); }

.txt { font-size: max(var(--min-txt), calc(var(--s) * 7.7)); line-height: calc(var(--s) * 11); }
.b03__body .txt { font-size: max(var(--min-txt), calc(var(--s) * 7.75)); line-height: calc(var(--s) * 11.2); }
.b04__body .txt { font-size: max(var(--min-txt), calc(var(--s) * 7.75)); line-height: calc(var(--s) * 11); }
.help__text { font-size: max(var(--min-txt), calc(var(--s) * 8)); line-height: calc(var(--s) * 11); }
.principle p { font-size: max(9.5px, calc(var(--s) * 5.15)); line-height: calc(var(--s) * 8.5); }
.services a { font-size: max(10px, calc(var(--s) * 7.1)); line-height: calc(var(--s) * 9.75); }
.diffs li { font-size: max(10px, calc(var(--s) * 6.95)); line-height: calc(var(--s) * 11); }
.b08__body > .txt { font-size: max(10.5px, calc(var(--s) * 7.35)); line-height: calc(var(--s) * 11); }
.checks li { font-size: max(10.5px, calc(var(--s) * 7.55)); line-height: calc(var(--s) * 10.5); }
.checks { gap: calc(var(--s) * 3.3); }
.b09__body .txt { font-size: max(10px, calc(var(--s) * 6.9)); line-height: calc(var(--s) * 10.5); }
.plan p { font-size: max(9px, calc(var(--s) * 4.1)); line-height: calc(var(--s) * 8.5); }
.b10__note { font-size: max(9.5px, calc(var(--s) * 5.45)); }
.stat dd { font-size: max(9.5px, calc(var(--s) * 7.7)); line-height: calc(var(--s) * 11); }
.testimonial blockquote p { font-size: max(10.5px, calc(var(--s) * 6.55)); line-height: calc(var(--s) * 11); }
.b14__body .txt { font-size: max(10px, calc(var(--s) * 7.4)); line-height: calc(var(--s) * 10.3); }
.b15__body .txt { font-size: max(9.5px, calc(var(--s) * 6.95)); line-height: calc(var(--s) * 10); }
.b16__text { font-size: max(10.5px, calc(var(--s) * 8.35)); line-height: calc(var(--s) * 11); }
.info { font-size: max(10px, calc(var(--s) * 5.85)); line-height: calc(var(--s) * 10.5); }
.channel strong { font-size: max(10px, calc(var(--s) * 6.6)); }
.channel small { font-size: max(9.5px, calc(var(--s) * 6)); }
.channel span { line-height: calc(var(--s) * 11); }
.site-footer__col a { font-size: max(11px, calc(var(--s) * 7.5)); line-height: calc(var(--s) * 12.2); }
.site-footer__col ul { gap: 0; }
.site-footer__col h2 { font-size: calc(var(--s) * 9.2); }
.shead--strong .eyebrow { font-size: calc(var(--s) * 9.1); }
.btn--link { font-size: max(11px, calc(var(--s) * 7.3)); }
.btn--md, .btn--sm { font-size: max(10px, calc(var(--s) * 7.05)); }

.plan p { font-size: max(8px, calc(var(--s) * 4.05)); }
.eyebrow { font-size: max(10px, calc(var(--s) * 7.2)); letter-spacing: .16em; }
.b14__body .eyebrow { font-size: max(9.5px, calc(var(--s) * 6.3)); letter-spacing: .07em; }
.b02__aside { font-size: max(9px, calc(var(--s) * 5.9)); }
.b06__btn { font-size: max(10px, calc(var(--s) * 6.6)) !important; letter-spacing: .06em; }
.b08__body > .btn { letter-spacing: .06em; }
.site-footer__bottom p, .site-footer__bottom a { font-size: max(10px, calc(var(--s) * 6.35)); }
.testimonial figcaption span { font-size: max(9.5px, calc(var(--s) * 6.7)); }
.testimonial figcaption strong { font-size: max(10px, calc(var(--s) * 6.4)); }
.badge { width: calc(var(--s) * 21); height: calc(var(--s) * 16.5); font-size: calc(var(--s) * 9.8); }

.h-serif, .hero__title, .help__title { font-weight: 650; }
.plan h3, .principle h3 { font-weight: 650; }
.stat dt { font-weight: 500; }
.b07__quote p { font-weight: 500; }
.hero__eyebrow { margin-bottom: calc(var(--s) * 2); }
.site-nav ul { gap: calc(var(--s) * 21); }
.help__icon { font-size: calc(var(--s) * 37); height: calc(var(--s) * 36); }
.help__title { margin-top: calc(var(--s) * 3); }
.b02__cards { margin-top: calc(var(--s) * 11); }
.principle .ico { font-size: calc(var(--s) * 26); }
.principle h3 { margin-top: calc(var(--s) * 8); }
.b06__body .h-serif { margin-top: calc(var(--s) * -3); }
.services .ico { font-size: calc(var(--s) * 18.5); margin-bottom: calc(var(--s) * 3); }
.services a span { white-space: nowrap; font-weight: 500; color: #2A2D31; }
.diffs { margin-top: calc(var(--s) * 9); row-gap: calc(var(--s) * 13); }
.diffs .ico { font-size: calc(var(--s) * 25); margin-bottom: calc(var(--s) * 4); }
.diffs li { font-weight: 500; color: #2F3338; }
.b09__body { padding-top: calc(var(--s) * 30); padding-right: 0; margin-right: calc(var(--s) * -8); }
.testimonial__body { padding-right: calc(var(--s) * 20); }
.tcarousel__arrows { right: calc(var(--s) * -14); }
.b15__body .txt { margin-left: calc(var(--s) * -16); }
.b15__body .btn { font-size: max(9.5px, calc(var(--s) * 6.3)); padding: 0 calc(var(--s) * 12); height: calc(var(--s) * 22); }
.b14__body .btn { font-size: max(9.5px, calc(var(--s) * 6.3)); padding: 0 calc(var(--s) * 9); height: calc(var(--s) * 19.5); }
.info { font-size: max(10px, calc(var(--s) * 6.6)); }
.info .ico { font-size: calc(var(--s) * 15); }
.b17__map { background-color: #ECEBE8; background-image:
    linear-gradient(28deg, transparent 47%, rgba(255,255,255,.95) 47.5% 50.5%, transparent 51%),
    linear-gradient(118deg, transparent 31%, rgba(255,255,255,.9) 31.5% 33.5%, transparent 34%),
    linear-gradient(118deg, transparent 63%, rgba(255,255,255,.9) 63.5% 65.5%, transparent 66%),
    repeating-linear-gradient(28deg, transparent 0 calc(var(--s) * 18), rgba(255,255,255,.55) calc(var(--s) * 18) calc(var(--s) * 19)),
    repeating-linear-gradient(118deg, transparent 0 calc(var(--s) * 16), rgba(255,255,255,.55) calc(var(--s) * 16) calc(var(--s) * 17)); }
.b18__grid { grid-template-columns: auto auto 1fr; }
.channel strong { white-space: nowrap; }
.channel:nth-child(odd) { padding-right: calc(var(--s) * 14); }
.channel:nth-child(2), .channel:nth-child(4) { padding-left: calc(var(--s) * 12); }
.site-footer__main { grid-template-columns: calc(var(--s) * 185) calc(var(--s) * 102) calc(var(--s) * 111) calc(var(--s) * 112) calc(var(--s) * 108) 1fr; }
.site-footer__col:nth-child(2) { border-left: 0; padding-left: 0; }
.site-footer__col:nth-child(3), .site-footer__col:nth-child(4), .site-footer__col:nth-child(5) { padding-left: calc(var(--s) * 25); }
.site-footer__col h2 { font-weight: 500; }

.b03__body { padding-bottom: calc(var(--s) * 5); }
.b03__body .txt { margin-top: calc(var(--s) * 7); }
.b04__body { padding-bottom: calc(var(--s) * 4); }
.b06__body { padding-bottom: calc(var(--s) * 6); }
.b08__body { padding-bottom: calc(var(--s) * 4); }
.b12 { padding-top: calc(var(--s) * 6); padding-bottom: calc(var(--s) * 1); }
.tcarousel { margin-top: calc(var(--s) * 4); }
.testimonial { height: calc(var(--s) * 79); }
.tcarousel__dots { margin-top: calc(var(--s) * 1.5); }
.b13 { padding-top: calc(var(--s) * 6); padding-bottom: calc(var(--s) * 3); }
.partners { margin-top: calc(var(--s) * 3); }
.b13__link { margin-top: calc(var(--s) * 13); }
.b16 { padding-top: calc(var(--s) * 8); padding-bottom: calc(var(--s) * 8); }
.b16__text { margin-top: calc(var(--s) * 7); }
.b16 .btn { margin-top: calc(var(--s) * 9); }
.b17__info { padding-top: calc(var(--s) * 21); padding-bottom: calc(var(--s) * 9); }

.b03__media > picture, .b04__media > picture, .b06__media > picture, .b09__media > picture, .b14__media > picture, .b15__media > picture, .b17__media > picture,
.b03__media > img, .b04__media > img, .b06__media > img, .b09__media > img, .b14__media > img, .b15__media > img, .b17__media > img { position: absolute; inset: 0; width: 100%; height: 100%; }
.b03__media, .b04__media, .b06__media, .b09__media, .b14__media, .b15__media, .b17__media { min-height: 100%; }

.site-footer__main { padding-top: calc(var(--s) * 24); padding-bottom: calc(var(--s) * 20); }
.site-footer__bottom { min-height: calc(var(--s) * 60); padding-top: calc(var(--s) * 15); }

.phone { left: calc(var(--s) * 8); }
.b09__body .txt { font-size: max(10px, calc(var(--s) * 6.55)); margin-right: calc(var(--s) * -4); }
.plans { margin-top: calc(var(--s) * 7); }
.plan { height: calc(var(--s) * 71); padding-top: calc(var(--s) * 12); }
.plan--featured { height: calc(var(--s) * 78); padding-top: calc(var(--s) * 13); }
.plan p { margin-top: calc(var(--s) * 4); }
.plan .btn { height: calc(var(--s) * 16); min-width: calc(var(--s) * 60); font-size: max(9px, calc(var(--s) * 5)); }
.b10__note { margin-top: calc(var(--s) * 10); }

.plan p { font-size: max(9px, calc(var(--s) * 5.6)); line-height: calc(var(--s) * 8.5); margin-top: calc(var(--s) * 3); }
.testimonial blockquote p { font-size: max(10.5px, calc(var(--s) * 7.3)); line-height: calc(var(--s) * 11); }
.testimonial__body { padding-top: calc(var(--s) * 5); padding-right: calc(var(--s) * 22); }
.testimonial figcaption { margin-top: calc(var(--s) * 3); }
.stat dt { font-weight: 600; }
.b17__map { background-image:
    linear-gradient(28deg, transparent 47%, rgba(255,255,255,.9) 47.5% 50%, transparent 50.5%),
    linear-gradient(118deg, transparent 31%, rgba(255,255,255,.85) 31.5% 33%, transparent 33.5%),
    linear-gradient(118deg, transparent 63%, rgba(255,255,255,.85) 63.5% 65%, transparent 65.5%),
    repeating-linear-gradient(28deg, transparent 0 calc(var(--s) * 18), rgba(255,255,255,.38) calc(var(--s) * 18) calc(var(--s) * 18.8)),
    repeating-linear-gradient(118deg, transparent 0 calc(var(--s) * 16), rgba(255,255,255,.38) calc(var(--s) * 16) calc(var(--s) * 16.8)); }
.map-pin strong { font-size: calc(var(--s) * 8.4); }
.map-pin span { font-size: calc(var(--s) * 6.2); }
.map-pin svg { width: calc(var(--s) * 19); height: calc(var(--s) * 25); }
.b18 { padding-right: calc(var(--s) * 4); }
.channel { gap: calc(var(--s) * 8); }
.channel strong { font-size: max(10px, calc(var(--s) * 6.1)); }
.channel small { font-size: max(9.5px, calc(var(--s) * 5.6)); }
.channel:nth-child(odd) { padding-right: calc(var(--s) * 9); }
.channel:nth-child(2), .channel:nth-child(4) { padding-left: calc(var(--s) * 9); }
.b18__btn { min-width: calc(var(--s) * 70); }

.testimonial figcaption span { font-size: max(9.5px, calc(var(--s) * 5.9)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding-right: calc(var(--s) * 4); }
.testimonial figcaption { padding-right: calc(var(--s) * 4); min-width: 0; }
.testimonial__body { min-width: 0; }

/* ---------- Animações discretas ---------- */
@media (prefers-reduced-motion: no-preference) {
  .js [data-reveal] { opacity: 0; transform: translateY(14px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
  .js [data-reveal].is-in { opacity: 1; transform: none; }
  .js .hero__content, .js .hero__side { animation: heroIn .9s var(--ease) both; }
  .js .hero__side { animation-delay: .25s; }
}
@keyframes heroIn { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { animation: none !important; transition: none !important; } }

/* Captura de tela / impressão sem animação */
.no-anim [data-reveal] { opacity: 1 !important; transform: none !important; }

/* ---------- Flash ---------- */
.flash { max-width: 960px; margin: 16px auto; padding: 12px 16px; border-radius: 4px; font-size: 14px; background: #fff; border-left: 4px solid var(--navy); }
.flash--success { border-color: #2E7D4F; }
.flash--error { border-color: var(--red); }
.flash--warning { border-color: #B7791F; }

/* =====================================================================
   PÁGINAS INTERNAS
   ===================================================================== */
.page-inner .site-header { position: sticky; top: 0; }
.inner { --s: 1.6px; }
.ph { position: relative; background: #0A141E; color: #fff; overflow: hidden; }
.ph__media { position: absolute; inset: 0 0 0 40%; opacity: .9; }
.ph__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #0A141E 0%, rgba(10,20,30,.55) 35%, rgba(10,20,30,.15) 100%); }
.ph__inner { position: relative; max-width: 1240px; margin: 0 auto; padding: 72px 24px 64px; }
.ph__eyebrow { font-size: 12px; letter-spacing: .26em; text-transform: uppercase; color: rgba(255,255,255,.85); }
.ph h1 { margin-top: 12px; font-family: var(--serif); font-weight: 500; font-size: clamp(34px, 4.2vw, 54px); line-height: 1.08; letter-spacing: -.015em; max-width: 760px; }
.ph p { margin-top: 16px; max-width: 620px; font-size: 17px; color: rgba(255,255,255,.88); }
.crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 12.5px; color: rgba(255,255,255,.7); margin-bottom: 18px; }
.crumbs a:hover { color: #fff; }
.crumbs li + li::before { content: "›"; margin-right: 8px; opacity: .6; }
.wrap { max-width: 1240px; margin: 0 auto; padding: 56px 24px; }
.wrap--narrow { max-width: 820px; }
.section-title { font-family: var(--serif); font-weight: 500; font-size: clamp(26px, 2.6vw, 34px); line-height: 1.15; color: var(--ink); letter-spacing: -.01em; }
.section-sub { margin-top: 8px; color: var(--muted); }
.grid { display: grid; gap: 16px; }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--4 { grid-template-columns: repeat(4, 1fr); }
.grid--2 { grid-template-columns: repeat(2, 1fr); }
.tile { background: linear-gradient(180deg, #F2F1EF, var(--card)); border-radius: 6px; padding: 28px; box-shadow: 0 1px 2px rgba(19,29,41,.05); transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.tile:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(19,29,41,.08); }
.tile .ico { font-size: 34px; color: var(--red); stroke-width: 1.35; }
.tile h3 { margin-top: 16px; font-family: var(--serif); font-weight: 500; font-size: 21px; color: var(--ink); }
.tile p { margin-top: 8px; font-size: 15px; color: var(--text); }
.prose { font-size: 17px; line-height: 1.75; color: #34373C; }
.prose > * + * { margin-top: 1em; }
.prose h2 { font-family: var(--serif); font-weight: 500; font-size: 28px; line-height: 1.2; color: var(--ink); margin-top: 1.6em; scroll-margin-top: 90px; }
.prose h3 { font-family: var(--serif); font-weight: 600; font-size: 21px; color: var(--ink); margin-top: 1.4em; }
.prose a { color: var(--red-text); text-decoration: underline; text-underline-offset: 3px; }
.prose ul { list-style: disc; padding-left: 1.3em; }
.prose ol { list-style: decimal; padding-left: 1.3em; }
.prose img { border-radius: 6px; height: auto; }
.prose blockquote { border-left: 3px solid var(--red); padding-left: 18px; font-family: var(--serif); font-size: 21px; color: var(--ink); }
.split { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; }
.split__media { border-radius: 8px; overflow: hidden; aspect-ratio: 4 / 3; }
.plans-page { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: stretch; }
.plan-card { display: flex; flex-direction: column; padding: 32px; border-radius: 8px; background: linear-gradient(180deg, #F2F1EF, var(--card)); scroll-margin-top: 100px; }
.plan-card h2 { font-family: var(--serif); font-weight: 500; font-size: 28px; color: var(--ink); }
.plan-card .price { margin-top: 6px; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; color: var(--red-text); font-weight: 600; }
.plan-card > p { margin-top: 12px; color: var(--text); }
.plan-card ul { margin: 20px 0 28px; display: grid; gap: 10px; }
.plan-card li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; }
.plan-card li .ico { font-size: 18px; color: var(--red-deep); margin-top: 3px; }
.plan-card .btn { margin-top: auto; --s: 2px; }
.plan-card--featured { background: var(--navy); color: #fff; box-shadow: 0 18px 40px rgba(13,25,37,.25); }
.plan-card--featured h2 { color: #fff; }
.plan-card--featured > p, .plan-card--featured li { color: rgba(255,255,255,.85); }
.plan-card--featured li .ico { color: #fff; }
.plan-card--featured li .ico circle { fill: var(--red); }
.posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.post-card { display: flex; flex-direction: column; background: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 1px 2px rgba(19,29,41,.06); transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.post-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(19,29,41,.09); }
.post-card__media { aspect-ratio: 16 / 10; background: var(--card); }
.post-card__body { padding: 22px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.post-card__meta { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--red-text); font-weight: 600; }
.post-card h2, .post-card h3 { font-family: var(--serif); font-weight: 500; font-size: 22px; line-height: 1.25; color: var(--ink); }
.post-card p { font-size: 15px; color: var(--text); }
.cats { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.cats a { padding: 7px 14px; border-radius: 999px; border: 1px solid rgba(19,29,41,.18); font-size: 13.5px; }
.cats a[aria-current] { background: var(--navy); color: #fff; border-color: var(--navy); }
.pager { display: flex; justify-content: center; gap: 8px; margin-top: 40px; }
.pager a, .pager span { min-width: 40px; height: 40px; display: grid; place-items: center; border-radius: 4px; border: 1px solid rgba(19,29,41,.15); font-size: 14px; }
.pager [aria-current] { background: var(--navy); color: #fff; border-color: var(--navy); }
.article-cover { border-radius: 8px; overflow: hidden; aspect-ratio: 16 / 8; margin-bottom: 36px; }
.faq details { border-bottom: 1px solid var(--line); padding: 18px 0; }
.faq summary { cursor: pointer; font-family: var(--serif); font-size: 20px; color: var(--ink); list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; color: var(--red); font-family: var(--sans); font-size: 22px; line-height: 1; transition: transform .2s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { margin-top: 10px; color: var(--text); }

/* Formulário de contato */
.contact-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 40px; align-items: start; }
.contact-aside { background: var(--navy); color: #fff; border-radius: 8px; padding: 32px; display: grid; gap: 22px; }
.contact-aside a, .contact-aside p { display: flex; gap: 14px; align-items: flex-start; font-size: 15px; color: rgba(255,255,255,.9); }
.contact-aside .ico { font-size: 22px; color: #E07A83; flex: none; margin-top: 2px; }
.contact-aside strong { display: block; color: #fff; font-weight: 600; }
.form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; background: #fff; border-radius: 8px; padding: 32px; box-shadow: 0 1px 2px rgba(19,29,41,.06); }
.field { display: grid; gap: 6px; }
.field--full { grid-column: 1 / -1; }
.field label { font-size: 13px; font-weight: 600; color: var(--ink); }
.field input, .field select, .field textarea { width: 100%; font: inherit; font-size: 15px; padding: 12px 14px; border: 1px solid rgba(19,29,41,.2); border-radius: 4px; background: #FCFCFB; color: var(--ink); transition: border-color .2s, box-shadow .2s; }
.field textarea { min-height: 150px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--navy); box-shadow: 0 0 0 3px rgba(13,25,37,.1); }
.field .err { color: var(--red); font-size: 12.5px; }
.field--check { grid-column: 1 / -1; display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; color: var(--text); }
.field--check input { width: auto; margin-top: 4px; }
.hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.form .btn { --s: 2.1px; justify-self: start; }
.form__ok { grid-column: 1 / -1; padding: 16px; background: #EEF6F1; border-left: 4px solid #2E7D4F; border-radius: 4px; }

/* Área do cliente / login */
.auth-wrap { min-height: 100vh; display: grid; place-items: center; padding: 32px 16px; background: radial-gradient(80% 60% at 80% 0%, rgba(139,31,42,.18), transparent 60%), linear-gradient(180deg, #0A141E, var(--navy)); }
.auth-card { width: 100%; max-width: 420px; background: #fff; border-radius: 10px; padding: 40px 36px; box-shadow: 0 30px 60px rgba(0,0,0,.35); }
.auth-card .logo { height: 54px; margin: 0 auto 26px; }
.auth-card .logo svg { margin: 0 auto; }
.auth-card h1 { font-family: var(--serif); font-weight: 500; font-size: 28px; color: var(--ink); text-align: center; }
.auth-card .sub { text-align: center; color: var(--muted); font-size: 14px; margin-top: 4px; }
.auth-card form { display: grid; gap: 16px; margin-top: 26px; }
.auth-card .btn { --s: 2.2px; width: 100%; }
.auth-card .alert { padding: 12px 14px; border-radius: 4px; font-size: 14px; background: #FBEDEE; color: #7A1822; border-left: 3px solid var(--red); }
.auth-card .alert--ok { background: #EEF6F1; color: #1F5A39; border-color: #2E7D4F; }
.auth-links { display: flex; justify-content: space-between; align-items: center; font-size: 13.5px; }
.auth-links a { color: var(--red-text); }
.auth-back { margin-top: 22px; text-align: center; font-size: 13px; }
.auth-back a { color: var(--muted); }
.client-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }

/* Erros */
.err-page { min-height: 70vh; display: grid; place-items: center; text-align: center; padding: 60px 20px; }
.err-page h1 { font-family: var(--serif); font-size: 72px; font-weight: 500; color: var(--red-text); line-height: 1; }
.err-page p { margin: 12px 0 24px; color: var(--text); }
.err-page .btn { --s: 2px; }

/* =====================================================================
   TABLET / MOBILE (< 1200 px): composição reorganizada, não apenas reduzida
   ===================================================================== */
@media (max-width: 1199px) {
  :root { --s: 1.9px; }
  .hero { height: auto; min-height: 620px; }
  .hero__media { width: 100%; }
  .hero__media::after { background: linear-gradient(90deg, rgba(10,20,30,.92) 0%, rgba(10,20,30,.6) 55%, rgba(10,20,30,.25) 100%), linear-gradient(0deg, rgba(10,20,30,.7), transparent 50%); }
  .hero__content { position: relative; left: auto; top: auto; padding: 150px 32px 64px; max-width: 760px; }
  .hero__title { font-size: clamp(40px, 6vw, 58px); }
  .hero__side { left: auto; right: 32px; top: 140px; }

  .site-header__inner { padding: 0 24px; height: 76px; }
  .site-header .logo { height: 46px; }
  .nav-toggle { display: grid; place-items: center; margin-left: auto; width: 44px; height: 44px; color: #fff; }
  .nav-toggle svg { width: 26px; height: 26px; }
  .nav-toggle__close { display: none; }
  .nav-open .nav-toggle__open { display: none; }
  .nav-open .nav-toggle__close { display: block; }
  .site-nav { position: fixed; inset: 76px 0 0 0; background: var(--navy); flex-direction: column; align-items: stretch; padding: 24px; gap: 24px; opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .3s var(--ease), transform .3s var(--ease), visibility 0s .3s; overflow-y: auto; }
  .nav-open .site-nav { opacity: 1; visibility: visible; transform: none; transition: opacity .3s var(--ease), transform .3s var(--ease); }
  .site-nav ul { flex-direction: column; gap: 0; margin: 0; }
  .site-nav ul a { display: block; font-size: 20px; padding: 14px 4px; border-bottom: 1px solid rgba(255,255,255,.08); }
  .site-nav ul a::after { display: none; }
  .site-nav__ctas { margin: 0; flex-direction: column; gap: 12px; }
  .site-nav__ctas .btn { height: 50px; font-size: 13px; }
  .nav-open { overflow: hidden; }

  .bento { padding: 10px; gap: 10px; }
  .row { gap: 10px; min-height: 0 !important; }
  .row--1, .row--2, .row--3, .row--7 { grid-template-columns: 1fr; }
  .row--4, .row--5, .row--6 { grid-template-columns: 1fr 1fr; }
  .row--4 .b08, .row--5 .b11, .row--6 .b16 { grid-column: 1 / -1; }
  .card { min-height: 0; }
}

@media (max-width: 1199px) and (min-width: 768px) {
  .b03 { grid-template-columns: 1fr 40%; }
  .b04 { grid-template-columns: 1fr 42%; }
}

@media (max-width: 767px) {
  :root { --s: 2px; }
  body { font-size: 15px; }
  .hero { min-height: 0; }
  .hero__media { opacity: .85; }
  .hero__content { padding: 120px 20px 40px; }
  .hero__title { font-size: 38px; }
  .hero__text { font-size: 16px; }
  .hero__text br, .br-desk br { display: none; }
  .hero__actions { flex-direction: column; align-items: stretch; gap: 12px; }
  .hero__actions .btn { height: 48px; font-size: 12.5px; }
  .hero__side { position: relative; left: auto; right: auto; top: auto; margin: 0 20px 36px; font-size: 13px; }
  .site-header__inner { height: 68px; padding: 0 16px; }
  .site-nav { inset: 68px 0 0 0; }
  .site-header .logo { height: 40px; }

  .bento { padding: 8px; gap: 8px; }
  .row--4, .row--5, .row--6 { grid-template-columns: 1fr; }
  .card > .shead { position: static; }
  .h-lg { font-size: 34px; } .h-md { font-size: 28px; } .h-md2, .h-md3 { font-size: 26px; }
  .b02 { padding: 16px; }
  .b02__head { flex-wrap: wrap; gap: 8px; }
  .b02__cards { grid-template-columns: 1fr; height: auto; margin: 16px 0 0; gap: 10px; }
  .help { padding: 22px 18px; }
  .help__btn { margin-top: 16px; }
  .b03, .b04, .b06, .b07, .b08, .b09, .b14, .b15, .b17 { display: flex; flex-direction: column; }
  .b03__media, .b04__media, .b06__media, .b09__media, .b14__media, .b15__media, .b17__media { order: -1; height: 220px; margin: 0; border-radius: 0; }
  .b04__media::before, .b06__media::before, .b09__media::after, .b14__media::after, .b15__media::after { display: none; }
  .b03__body, .b04__body, .b05, .b06__body, .b07__body, .b08__body, .b09__body, .b10, .b11, .b12, .b13, .b14__body, .b15__body, .b16, .b17__info, .b18 { padding: 20px !important; margin: 0 !important; }
  .b03__body > *, .b04__body > *, .b05__title, .b06__body > *, .b07__body > *, .b08__body > *, .b10__title, .b11 > .h-serif, .b12 > .h-serif, .b13 > .h-serif, .b16 .h-serif, .b18 > .h-serif { margin-left: 0 !important; }
  .b03__body .h-serif, .b04__body .h-serif, .b05__title, .b06__body .h-serif, .b07__body > .h-serif, .b08__body > .h-serif { margin-top: 12px !important; }
  .b09__head, .b14__head, .b15__head { position: static; padding: 20px 20px 0; }
  .principles { grid-template-columns: repeat(2, 1fr); margin: 18px 0 0; gap: 8px; }
  .principle { border: 0; box-shadow: none; background: rgba(255,255,255,.5); border-radius: 6px; padding: 16px 8px; }
  .principle h3 { font-size: 16px; }
  .services { grid-template-columns: repeat(2, 1fr); margin: 16px 0 0; gap: 6px; }
  .services a { height: auto; padding: 16px 8px; }
  .b06__btn, .b08__body > .btn { margin: 18px 0 0 !important; min-width: 0; width: 100%; height: 46px; }
  .diffs { grid-template-columns: repeat(2, 1fr); row-gap: 20px; }
  .b07__quote { margin: 0; border-radius: 0; padding: 32px 22px 40px; }
  .b07__quote p { font-size: 26px; }
  .b07__quote br { display: none; }
  .b08__device { height: 420px; overflow: hidden; }
  .phone { left: 50%; margin-left: -116px; width: 232px; height: 384px; --s: 2px; }
  .b08__body > .txt, .checks { margin-left: 0 !important; }
  .plans { grid-template-columns: 1fr; margin: 16px 0 0; }
  .plan, .plan--featured { height: auto; padding: 20px; }
  .plan .btn { margin-top: 14px; }
  .stats { grid-template-columns: repeat(2, 1fr); margin: 16px 0 0; row-gap: 16px; }
  .stat:nth-child(2) { border-right: 0; }
  .testimonial { grid-template-columns: 1fr; height: auto; padding: 0 0 16px; }
  .testimonial__photo { height: 220px; }
  .testimonial__body { padding: 0 16px 36px; }
  .partners__track { grid-auto-columns: 40%; }
  .partners__next { right: 0; bottom: -28px; }
  .b13__link { margin-top: 36px; }
  .b15__body .txt { text-align: left; }
  .b15__body .btn, .b14__body .btn { margin-left: 0 !important; }
  .b16 { align-items: flex-start; text-align: left; }
  .b16 .btn { align-self: stretch; }
  .b17__info .btn { width: 100%; margin-top: 18px; }
  .b17__map { height: 260px; }
  .b18__grid { grid-template-columns: 1fr; row-gap: 16px; margin: 18px 0 0; }
  .channel, .channel:nth-child(n) { grid-column: 1 !important; grid-row: auto !important; border: 0 !important; padding: 0 !important; }
  .b18__btn { grid-column: 1 !important; grid-row: auto !important; justify-self: stretch; height: 46px !important; }

  .site-footer__main { grid-template-columns: 1fr 1fr; gap: 28px 16px; padding: 40px 20px; }
  .site-footer__brand, .site-footer__aside { grid-column: 1 / -1; }
  .site-footer__aside { align-items: flex-start; }
  .site-footer__col, .site-footer__col:nth-child(n) { border: 0; padding: 0; }
  .site-footer__col h2 { font-size: 16px; }
  .site-footer__bottom { flex-direction: column; gap: 12px; height: auto; padding: 20px; }
  .site-footer__bottom ul { flex-wrap: wrap; }

  .grid--3, .grid--4, .grid--2, .posts, .plans-page, .client-grid, .split, .contact-layout, .form { grid-template-columns: 1fr; }
  .wrap { padding: 36px 16px; }
  .ph__inner { padding: 48px 16px 40px; }
  .ph__media { inset: 0; opacity: .5; }
}

@media (max-width: 1199px) and (min-width: 768px) {
  .grid--4 { grid-template-columns: repeat(2, 1fr); }
  .posts, .plans-page, .client-grid { grid-template-columns: repeat(2, 1fr); }
  .site-footer__main { grid-template-columns: repeat(4, 1fr); gap: 32px 20px; padding: 48px 32px; }
  .site-footer__brand, .site-footer__aside { grid-column: 1 / -1; }
  .site-footer__aside { flex-direction: row; justify-content: space-between; align-items: center; }
  .site-footer__aside .btn { margin-top: 0; }
  .site-footer__col, .site-footer__col:nth-child(n) { border: 0; padding: 0; }
}
.err-logo{height:60px;display:inline-block}

/* Ajustes finais tablet/mobile (sobrepõem a calibração desktop) */
@media (max-width: 1199px) {
  .b14__body .btn, .b15__body .btn { white-space: normal; height: auto; min-height: calc(var(--s) * 19.5); padding-top: 6px; padding-bottom: 6px; text-align: center; }
  .hero__media::after { background: linear-gradient(90deg, rgba(10,20,30,.9) 0%, rgba(10,20,30,.55) 50%, rgba(10,20,30,.15) 100%); }
}
@media (max-width: 767px) {
  .b03__media, .b04__media, .b06__media, .b09__media, .b14__media, .b15__media, .b17__media { min-height: 0 !important; height: 220px !important; flex: none; }
  .b17__map { flex: none; }
  .hero__title { line-height: 1.12; }
  .h-serif { line-height: 1.18 !important; }
  .b07__quote p { line-height: 1.35; }
  .hero__text { line-height: 1.55; }
}
@media (max-width: 767px) {
  .b15__body .txt { margin-left: 0 !important; }
  .b15__body .h-serif { padding-left: 0; }
  .b09__body .txt { margin-right: 0 !important; }
}
