/* Óticas Riveliny — Landing page
   Unidade de escala: --u (1px; 1,6px em telas ≥ 2560px). Valores abaixo usam calc(N * var(--u)).
   Base = celular/tablet (≤ 1199px). Depois: desktop (≥ 1200), full width (≥ 1920) e ultrawide (≥ 2560). */

@font-face { font-family: "Manrope"; src: url("../assets/fonts/manrope-latin.woff2") format("woff2"); font-weight: 200 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter"; src: url("../assets/fonts/inter-latin.woff2") format("woff2"); font-weight: 400 700; font-style: normal; font-display: swap; }

:root {
  --u: 1px;
  --red: #8E160E;
  --red-hover: #A51C14;
  --red-press: #630D09;
  --bg: #EEEDE8;
  --ink: #111111;
  --muted: #707070;
  --ease: cubic-bezier(.22, 1, .36, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; position: relative; font-family: "Manrope", system-ui, -apple-system, "Segoe UI", Arial, sans-serif; color: var(--ink); background: #fff; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, p, ul, ol { margin: 0; padding: 0; }
ul, ol { list-style: none; }
button { font: inherit; color: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.mbr { display: inline; }
.dbr { display: none; }
:focus-visible { outline: 2px solid #0099FF; outline-offset: 3px; }

/* ---------- Animação de entrada ---------- */
.rv { opacity: 0; transform: translate(var(--rx, 0), var(--ry, 12px)) scale(var(--rs, 1)); transition: opacity var(--dur, .7s) var(--ease) var(--rd, 0s), transform var(--dur, .7s) var(--ease) var(--rd, 0s); }
.rv.in { opacity: 1; transform: none; }

/* ---------- Botões ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: calc(16 * var(--u)); padding: calc(8 * var(--u)) calc(8 * var(--u)) calc(8 * var(--u)) calc(24 * var(--u)); border-radius: 999px; background: linear-gradient(90deg, #8B140D 0%, #BD2327 100%); color: #fff; font: 700 calc(14 * var(--u))/1.2 "Inter", sans-serif; letter-spacing: 0; text-align: center; cursor: pointer; border: 0; transition: background .25s ease, transform .25s ease; }
.btn:hover { background: var(--red-hover); }
.btn:active { background: var(--red-press); transform: scale(.98); }
.btn__label { white-space: nowrap; }
.btn__arrow { flex: none; display: grid; place-items: center; width: calc(40 * var(--u)); height: calc(40 * var(--u)); border-radius: 50%; background: #fff; transition: transform .25s ease; }
.btn__arrow svg { width: calc(24 * var(--u)); height: calc(24 * var(--u)); fill: none; stroke: var(--red); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.btn:hover .btn__arrow { transform: rotate(-8deg); }
.btn:hover .btn__arrow svg { animation: nudge .65s ease-in-out infinite alternate; }
@keyframes nudge { to { transform: translate(calc(2 * var(--u)), calc(2 * var(--u))); } }
.btn--light { background: #fff; color: #000; }
.btn--light:hover { background: #948F8F; }
.btn--light:active { background: #7d7878; }
.btn--light .btn__arrow { background: var(--red); }
.btn--light .btn__arrow svg { stroke: #fff; }
.btn--block, .btn--block-m { width: 100%; }

/* ---------- Títulos ---------- */
.h2 { font: 700 calc(30 * var(--u))/1.15 "Manrope", sans-serif; letter-spacing: -1px; color: var(--ink); }
.h2--light { color: #fff; }

/* ---------- Ticker (faixa de aviso) ---------- */
.ticker { position: absolute; z-index: 30; top: 0; left: 0; right: 0; overflow: hidden; background: var(--red); color: #fff; padding: calc(9 * var(--u)) 0; }
.ticker__track { display: flex; width: max-content; animation: marquee var(--dur, 60s) linear infinite; will-change: transform; }
.ticker__group { display: flex; align-items: center; gap: calc(28 * var(--u)); padding-right: calc(28 * var(--u)); flex: none; }
.ticker__item, .ticker__dot { font: 500 calc(11 * var(--u))/1.2 "Manrope", sans-serif; white-space: nowrap; font-style: normal; }
.ticker__dot { opacity: .6; }
@keyframes marquee { to { transform: translateX(-50%); } }

/* ---------- Hero ---------- */
.hero { position: relative; overflow: hidden; background: var(--bg); display: flex; flex-direction: column; align-items: center; padding: calc(281 * var(--u)) calc(24 * var(--u)) calc(32 * var(--u)); gap: calc(16 * var(--u)); }
.hero__bg { display: none; }
.hero__portrait { position: absolute; z-index: 0; top: calc(31 * var(--u)); left: 50%; width: 100%; max-width: calc(520 * var(--u)); height: calc(340 * var(--u)); transform: translateX(-50%); background: url("../assets/img/hero-bg.png") 80% center / cover no-repeat; overflow: hidden; animation: fadeUp .7s var(--ease) .1s both; }
.hero__fade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(238,237,232,0) 40%, rgba(238,237,232,.75) 78%, #EEEDE8 100%); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); -webkit-mask-image: linear-gradient(180deg, transparent 35%, #000 85%); mask-image: linear-gradient(180deg, transparent 35%, #000 85%); }
.hero__feather { position: absolute; top: 0; bottom: 0; width: 8%; }
.hero__feather--l { left: 0; background: linear-gradient(90deg, #EEEDE8 0%, rgba(238,237,232,0) 100%); }
.hero__feather--r { right: 0; background: linear-gradient(270deg, #EEEDE8 0%, rgba(238,237,232,0) 100%); }
.hero__portrait-logo { position: absolute; left: calc(24 * var(--u)); top: calc(20 * var(--u)); width: calc(64 * var(--u)); height: calc(48 * var(--u)); }
@keyframes fadeUp { from { opacity: 0; transform: translate(-50%, calc(18 * var(--u))); } to { opacity: 1; transform: translate(-50%, 0); } }

.hero__badge-wrap { position: absolute; z-index: 2; top: calc(196 * var(--u)); left: 50%; width: 100%; max-width: calc(520 * var(--u)); transform: translateX(-50%); display: flex; justify-content: flex-end; padding-right: calc(14 * var(--u)); pointer-events: none; }
.hero__badge-gap { display: none; }
.hero__badge { display: flex; align-items: center; gap: calc(8 * var(--u)); padding: calc(8 * var(--u)) calc(16 * var(--u)) calc(8 * var(--u)) calc(12 * var(--u)); border: 1px solid rgba(139,20,13,.35); border-radius: 999px; background: rgba(255,255,255,.6); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); animation: float 2.2s ease-in-out infinite alternate; }
.hero__badge-icon { width: calc(18 * var(--u)); height: calc(18 * var(--u)); flex: none; }
.hero__badge-text { display: flex; flex-direction: column; gap: calc(3 * var(--u)); }
.hero__badge-title { font: 500 calc(12 * var(--u))/1.2 "Manrope", sans-serif; color: var(--red); }
.hero__badge-title strong { font-weight: 800; }
.hero__badge-note { font: 400 calc(9 * var(--u))/1.2 "Manrope", sans-serif; color: var(--muted); }
@keyframes float { to { transform: translateY(calc(-8 * var(--u))); } }

.hero__content { position: relative; z-index: 1; width: 100%; max-width: calc(520 * var(--u)); display: flex; flex-direction: column; align-items: center; text-align: center; }
.hero__logo { display: none; }
.hero__message { display: flex; flex-direction: column; align-items: stretch; gap: calc(12 * var(--u)); width: 100%; }
.hero h1 { font: 700 calc(30 * var(--u))/1.15 "Manrope", sans-serif; letter-spacing: -1px; color: var(--ink); }
.hero__lead { font: 400 calc(16 * var(--u))/1.3 "Manrope", sans-serif; letter-spacing: -.02em; color: var(--muted); }
.hero__cta { display: flex; align-items: center; justify-content: center; padding: calc(16 * var(--u)) calc(24 * var(--u)); border-radius: 999px; background: var(--red); color: #fff; font: 700 calc(15 * var(--u))/1.2 "Inter", sans-serif; transition: background .25s ease, transform .25s ease; }
.hero__cta:hover { background: var(--red-hover); transform: translateY(calc(-2 * var(--u))); }
.hero__cta:active { transform: scale(.98); }
.hero__cta-arrow { display: none; }

/* ---------- Destaques ---------- */
.trust { background: #fff; padding: calc(64 * var(--u)) calc(24 * var(--u)); overflow: hidden; }
.trust__grid { max-width: calc(1057 * var(--u)); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: calc(12 * var(--u)); }
.trust__card { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: calc(8 * var(--u)); padding: calc(16 * var(--u)) calc(12 * var(--u)); border: 1.65px solid #8B140D; border-radius: calc(19.85 * var(--u)); text-align: center; }
.trust__card img { width: calc(36 * var(--u)); height: calc(36 * var(--u)); }
.trust__card p { font: 700 calc(15 * var(--u))/1.3 "Manrope", sans-serif; letter-spacing: -.03em; color: #000; }
.trust__card p span { color: #8B140D; }
.trust__banner { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; padding: calc(18 * var(--u)) calc(20 * var(--u)); border-radius: calc(19.85 * var(--u)); background: #8B140D; color: #fff; text-align: center; font: 700 calc(16 * var(--u))/1.2 "Manrope", sans-serif; letter-spacing: -.03em; }

/* ---------- Agendamento ---------- */
.agenda { background: linear-gradient(110deg, #8E160E 0%, #541010 100%); padding: calc(64 * var(--u)) calc(24 * var(--u)); overflow: hidden; }
.agenda__wrap { max-width: calc(940 * var(--u)); margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: calc(32 * var(--u)); }
.agenda__intro { width: 100%; display: flex; flex-direction: column; align-items: center; text-align: center; gap: calc(24 * var(--u)); }
.agenda__logo { width: calc(80 * var(--u)); height: calc(60 * var(--u)); }
.agenda__decor { display: none; }
.form { position: relative; width: 100%; display: flex; flex-direction: column; gap: calc(12 * var(--u)); padding: calc(24 * var(--u)) calc(16 * var(--u)); border-radius: calc(24 * var(--u)); background: #fff; box-shadow: inset 0 0 0 calc(6 * var(--u)) #C55D5D; }
.form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.field { display: block; }
.field input, .field select { display: block; width: 100%; height: calc(40 * var(--u)); padding: calc(10 * var(--u)) calc(18 * var(--u)); border: 1px solid #DDDDDD; border-radius: 999px; background: rgba(187,187,187,.15); color: #333; font: 400 calc(14 * var(--u))/1.2 "Inter", sans-serif; outline: none; transition: border-color .2s ease; appearance: none; -webkit-appearance: none; }
.field input::placeholder { color: #999; opacity: 1; }
.field input:focus, .field select:focus { border-color: #0099FF; }
.field input.is-invalid, .field select.is-invalid { border-color: #C0392B; }
.field select { border-color: #777; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right calc(16 * var(--u)) center; background-size: calc(16 * var(--u)); padding-right: calc(40 * var(--u)); }
.form .btn { margin-top: calc(2 * var(--u)); }
.form .btn:disabled { opacity: .7; cursor: wait; }
.form__status { min-height: 0; font: 500 calc(13 * var(--u))/1.4 "Manrope", sans-serif; text-align: center; color: var(--muted); }
.form__status:empty { display: none; }
.form__status.is-error { color: #C0392B; }
.form__status.is-ok { color: #1c7c3a; }

/* ---------- Quando trocar ---------- */
.quando { background: #fff; padding: calc(64 * var(--u)) calc(24 * var(--u)) calc(64 * var(--u)); display: flex; flex-direction: column; align-items: center; gap: calc(100 * var(--u)); overflow: hidden; }
.quando__wrap { width: 100%; max-width: calc(940 * var(--u)); display: flex; flex-direction: column; align-items: center; gap: calc(32 * var(--u)); }
.quando__photo { width: calc(260 * var(--u)); height: auto; aspect-ratio: 548 / 974; }
.quando__text { width: 100%; display: flex; flex-direction: column; gap: calc(24 * var(--u)); }
.quando .h2 { text-align: center; }
.checks { display: flex; flex-direction: column; gap: calc(24 * var(--u)); }
.checks li { display: flex; align-items: center; justify-content: center; gap: calc(24 * var(--u)); }
.checks img { flex: none; width: calc(28 * var(--u)); height: calc(28 * var(--u)); }
.checks--lg li span { flex: 1; font: 400 calc(18 * var(--u))/1.3 "Manrope", sans-serif; letter-spacing: -.02em; color: var(--ink); }
.quando__note { font: 600 calc(16 * var(--u))/1.3 "Manrope", sans-serif; letter-spacing: -.02em; text-align: center; color: var(--ink); }
.quando__triangle { width: calc(62 * var(--u)); height: calc(28 * var(--u)); }

/* ---------- Por que escolher ---------- */
.porque { position: relative; z-index: 3; background: var(--bg); padding: calc(64 * var(--u)) calc(24 * var(--u)) calc(100 * var(--u)); }
.porque__wrap { max-width: calc(1100 * var(--u)); margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: calc(16 * var(--u)); }
.porque__title { font: 800 calc(30 * var(--u))/1.2 "Manrope", sans-serif; letter-spacing: -.03em; text-align: center; color: #000; margin-bottom: calc(24 * var(--u)); }
.porque__title em { font-style: normal; color: #8B140D; }
.porque__grid { width: 100%; display: flex; flex-direction: column; gap: calc(16 * var(--u)); }
.card-why { display: flex; flex-direction: column; align-items: center; gap: calc(16 * var(--u)); padding: calc(32 * var(--u)) calc(24 * var(--u)); border-radius: calc(24 * var(--u)); background: #fff; text-align: center; overflow: hidden; }
.card-why img { width: calc(48 * var(--u)); height: calc(48 * var(--u)); }
.card-why h3 { font: 800 calc(19 * var(--u))/1.25 "Manrope", sans-serif; letter-spacing: -.03em; color: #000; margin-bottom: calc(8 * var(--u)); }
.card-why p { font: 400 calc(14 * var(--u))/1.5 "Manrope", sans-serif; letter-spacing: -.03em; color: rgba(0,0,0,.55); }
.card-why p strong { font-weight: 700; }
.porque .btn { margin-top: calc(24 * var(--u)); }
.wave { position: absolute; left: 0; bottom: -1px; width: 100%; height: calc(32 * var(--u)); }
.porque__seal { position: absolute; left: 50%; bottom: calc(-42 * var(--u)); width: calc(124 * var(--u)); height: calc(124 * var(--u)); transform: translateX(-50%); border-radius: 50%; background: #fff; box-shadow: 0 -2px 2px rgba(0,0,0,.25); display: grid; place-items: center; }
.porque__seal img { width: calc(79 * var(--u)); height: calc(59 * var(--u)); transform: translateY(calc(-6 * var(--u))); }

/* ---------- Como funciona ---------- */
.como { position: relative; z-index: 1; background: linear-gradient(122deg, #8E160E 6%, #541010 111%); padding: calc(100 * var(--u)) calc(24 * var(--u)) calc(64 * var(--u)); overflow: hidden; }
.como__wrap { max-width: calc(940 * var(--u)); margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: calc(32 * var(--u)); text-align: center; }
.como__title { font: 700 calc(30 * var(--u))/1.15 "Manrope", sans-serif; letter-spacing: -1px; color: #fff; }
.como__sub { font: 400 calc(16 * var(--u))/1.5 "Manrope", sans-serif; color: rgb(232, 204, 204); }
.roadmap { width: 100%; display: flex; flex-direction: column; align-items: center; }
.step { width: 100%; display: flex; flex-direction: column; align-items: center; gap: calc(14 * var(--u)); padding: 0 calc(8 * var(--u)); }
.step__icon { width: calc(78 * var(--u)); height: calc(74 * var(--u)); }
.step__tile { display: grid; place-items: center; width: calc(78 * var(--u)); height: calc(74 * var(--u)); border-radius: calc(15 * var(--u)); background: #fff; }
.step__label { font: 700 calc(12 * var(--u))/1.2 "Manrope", sans-serif; letter-spacing: .12em; color: rgb(232, 204, 204); }
.step h3 { font: 700 calc(20 * var(--u))/1.25 "Manrope", sans-serif; letter-spacing: -.01em; color: #fff; }
.step p { font: 400 calc(15 * var(--u))/1.5 "Manrope", sans-serif; color: rgb(232, 204, 204); }
.step p strong { color: #fff; font-weight: 700; }
.link { display: flex; flex-direction: column; align-items: center; gap: calc(8 * var(--u)); padding: calc(20 * var(--u)) 0; }
.link i { display: block; width: calc(2 * var(--u)); height: calc(44 * var(--u)); border-radius: 2px; background: linear-gradient(180deg, rgba(255,255,255,.1) 0%, rgba(255,255,255,.7) 100%); }
.link b { display: block; width: calc(10 * var(--u)); height: calc(10 * var(--u)); border-radius: 50%; background: #fff; }
.como__note { font: 400 calc(16 * var(--u))/1.3 "Inter", sans-serif; color: #fff; }
.como .btn { width: 100%; }

/* ---------- Condições especiais ---------- */
.cond { background: #fff; padding: calc(88 * var(--u)) calc(24 * var(--u)); overflow: hidden; }
.cond__wrap { max-width: calc(940 * var(--u)); margin: 0 auto; display: flex; flex-direction: column; gap: calc(56 * var(--u)); }
.cond__offers { display: flex; flex-direction: column; gap: calc(24 * var(--u)); }
.cond__title { font: 700 calc(30 * var(--u))/1.05 "Inter", sans-serif; text-align: center; color: var(--ink); }
.cond__intro { padding-bottom: calc(12 * var(--u)); font: 400 calc(16 * var(--u))/1.55 "Manrope", sans-serif; text-align: center; color: var(--muted); }
.cond .checks li { justify-content: flex-start; align-items: flex-start; gap: calc(14 * var(--u)); }
.cond .checks img { width: calc(24 * var(--u)); height: calc(24 * var(--u)); }
.cond .checks li span { flex: 1; font: 400 calc(16 * var(--u))/1.5 "Manrope", sans-serif; color: var(--ink); }
.cond__alert { display: flex; align-items: flex-start; gap: calc(16 * var(--u)); padding: calc(20 * var(--u)); border: 1px solid var(--red); border-radius: calc(14 * var(--u)); }
.cond__alert img { flex: none; width: calc(32 * var(--u)); height: calc(32 * var(--u)); }
.cond__alert p { flex: 1; font: 400 calc(13 * var(--u))/1.55 "Manrope", sans-serif; color: #8B140D; }
.cond__collage { position: relative; display: flex; flex-direction: column; gap: calc(16 * var(--u)); }
.cond__portraits { display: flex; gap: calc(16 * var(--u)); }
.cond__portraits img { flex: 1; min-width: 0; width: 100%; height: calc(320 * var(--u)); object-fit: cover; border-radius: calc(24 * var(--u)); }
.cond__lab { width: 100%; height: calc(150 * var(--u)); object-fit: cover; border-radius: calc(24 * var(--u)); }
.cond__badge { position: absolute; left: 50%; bottom: calc(109 * var(--u)); width: calc(96 * var(--u)); height: calc(96 * var(--u)); margin-left: calc(-48 * var(--u)); border-radius: 50%; background: linear-gradient(180deg, #E50914 0%, #B20710 100%); display: grid; place-items: center; }
.cond__badge img { width: calc(71 * var(--u)); height: calc(36 * var(--u)); }

/* ---------- Lentes ---------- */
.lentes { position: relative; background: #fff; padding: calc(64 * var(--u)) calc(24 * var(--u)); overflow: hidden; }
.lentes__glow { position: absolute; left: calc(-1483 * var(--u)); top: calc(380 * var(--u)); width: calc(1613 * var(--u)); height: calc(470 * var(--u)); border-radius: 50%; background: rgb(188, 35, 38); filter: blur(calc(107.78 * var(--u))); transform: rotate(-15deg); pointer-events: none; }
.lentes__wrap { position: relative; z-index: 1; max-width: calc(940 * var(--u)); margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: calc(32 * var(--u)); }
.lentes__intro { width: 100%; display: flex; flex-direction: column; gap: calc(24 * var(--u)); }
.lentes__title { font: 700 calc(30 * var(--u))/1.05 "Manrope", sans-serif; text-align: center; color: var(--red); }
.lentes__visual { position: relative; height: calc(360 * var(--u)); }
.lentes__img { position: absolute; right: calc(-16 * var(--u)); top: 50%; width: calc(523 * var(--u)); max-width: none; height: auto; transform: translateY(-50%) rotate(168deg); }
.lentes__btn { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: auto; z-index: 2; }
.lentes__btn:active { transform: translateX(-50%) scale(.98); }
.lentes__list { width: 100%; display: flex; flex-direction: column; gap: calc(24 * var(--u)); }
.adv { display: flex; align-items: center; gap: calc(16 * var(--u)); padding: calc(24 * var(--u)); border: 1px solid var(--red); border-radius: calc(12 * var(--u)); background: rgba(255,255,255,.9); transition: box-shadow .3s ease; }
.adv img { flex: none; }
.adv__logo { width: calc(93 * var(--u)); height: auto; }
.adv h3 { font: 600 calc(16 * var(--u))/1.25 "Manrope", sans-serif; color: rgb(142, 22, 14); margin-bottom: calc(8 * var(--u)); }
.adv p { font: 400 calc(16 * var(--u))/1.25 "Manrope", sans-serif; color: var(--ink); }
.adv > div { flex: 1; min-width: 0; }
.adv:hover { box-shadow: 0 8px 18px rgba(70,20,15,.10); }

/* ---------- Lojas ---------- */
.lojas { background: var(--bg); padding: calc(64 * var(--u)) calc(24 * var(--u)); overflow: hidden; }
.lojas__wrap { max-width: calc(940 * var(--u)); margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: calc(40 * var(--u)); }
.lojas__text { width: 100%; display: flex; flex-direction: column; gap: calc(20 * var(--u)); text-align: center; }
.lojas__title { font: 700 calc(30 * var(--u))/1.25 "Manrope", sans-serif; color: var(--ink); }
.lojas__lead, .lojas__note { font: 400 calc(16 * var(--u))/1.25 "Manrope", sans-serif; color: var(--muted); }
.cities { display: grid; grid-template-columns: 1fr 1fr; gap: calc(12 * var(--u)) calc(16 * var(--u)); text-align: left; }
.cities a { display: flex; align-items: center; gap: calc(12 * var(--u)); font: 500 calc(15 * var(--u))/1.3 "Manrope", sans-serif; color: var(--ink); transition: transform .3s var(--ease); }
.cities a:hover { transform: translateX(calc(4 * var(--u))); }
.cities i { flex: none; width: calc(8 * var(--u)); height: calc(8 * var(--u)); border-radius: 50%; background: var(--red); }
.map { position: relative; width: calc(300 * var(--u)); max-width: 100%; }
.map > img { width: 100%; height: auto; }
.pin { position: absolute; left: var(--x); top: var(--y); width: 9.17%; transition: transform .3s var(--ease); animation: bob 3s cubic-bezier(.42,0,.58,1) var(--d) infinite alternate; }
.pin img { width: 100%; height: auto; }
.pin:hover { transform: scale(1.12); }
@keyframes bob { to { translate: 0 calc(-5 * var(--u)); } }

/* ---------- Depoimentos ---------- */
.reviews { background: #fff; padding: calc(64 * var(--u)) calc(24 * var(--u)); overflow: hidden; }
.reviews__wrap { max-width: calc(940 * var(--u)); margin: 0 auto; display: flex; flex-direction: column; gap: calc(24 * var(--u)); }
.reviews__title { font: 700 calc(30 * var(--u))/1.25 "Manrope", sans-serif; text-align: center; color: var(--ink); }
.reviews__sub { font: 400 calc(16 * var(--u))/1.25 "Manrope", sans-serif; text-align: center; color: var(--muted); }
.marquee { overflow: hidden; border-radius: calc(10 * var(--u)); -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%); }
.marquee__track { display: flex; width: max-content; animation: marquee var(--dur, 60s) linear infinite; will-change: transform; }
.marquee--reverse .marquee__track { animation-direction: reverse; }
.marquee__group { display: flex; gap: calc(10 * var(--u)); padding-right: calc(10 * var(--u)); flex: none; }
.marquee__group img { flex: none; height: calc(163 * var(--u)); width: auto; max-width: none; border: .625px solid rgba(0,0,0,.15); border-radius: calc(14 * var(--u)); background: #fff; }
.cta { position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: center; gap: calc(32 * var(--u)); padding: calc(32 * var(--u)) calc(24 * var(--u)); border-radius: calc(30 * var(--u)); background: var(--red); }
.cta__bg { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; z-index: 0; }
.cta h2 { position: relative; z-index: 1; width: 100%; font: 700 calc(24 * var(--u))/1.25 "Manrope", sans-serif; text-align: center; color: #fff; }
.cta__btn { position: relative; z-index: 1; width: 100%; }

/* ---------- FAQ ---------- */
.faq { background: var(--bg); padding: calc(64 * var(--u)) calc(24 * var(--u)); }
.faq__wrap { max-width: calc(940 * var(--u)); margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: calc(32 * var(--u)); }
.faq__intro { width: 100%; display: flex; flex-direction: column; align-items: center; gap: calc(24 * var(--u)); text-align: center; }
.faq__intro img { width: calc(80 * var(--u)); height: calc(60 * var(--u)); }
.faq__title { font: 700 calc(30 * var(--u))/1.25 "Manrope", sans-serif; color: var(--ink); }
.faq__sub { font: 400 calc(16 * var(--u))/1.25 "Manrope", sans-serif; color: var(--muted); }
.faq__list { width: 100%; display: flex; flex-direction: column; gap: calc(24 * var(--u)); }
.faq-item { background: #E9E5E3; border-radius: calc(14 * var(--u)); padding: calc(20 * var(--u)) calc(24 * var(--u)); }
.faq-item h3 { font: inherit; }
.faq-q { display: flex; align-items: flex-start; gap: calc(16 * var(--u)); width: 100%; padding: 0; border: 0; background: none; text-align: left; cursor: pointer; font: 600 calc(15 * var(--u))/1.25 "Inter", sans-serif; color: rgb(142, 22, 14); }
.faq-q span { flex: 1; }
.faq-q svg { flex: none; width: calc(20 * var(--u)); height: calc(20 * var(--u)); fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .3s var(--ease); }
.faq-q[aria-expanded="true"] svg { transform: rotate(180deg); }
.faq-a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s var(--ease); }
.faq-a > div { overflow: hidden; min-height: 0; }
.faq-a.is-open { grid-template-rows: 1fr; }
.faq-a__in { padding-top: calc(16 * var(--u)); font: 400 calc(14 * var(--u))/1.5 "Inter", sans-serif; color: #707070; }
.faq-a__in p + p { margin-top: calc(8 * var(--u)); }

/* ---------- Rodapé ---------- */
.footer { background: #000; padding: calc(40 * var(--u)) calc(24 * var(--u)); display: flex; flex-direction: column; align-items: center; gap: calc(28 * var(--u)); }
.footer__top { width: 100%; display: flex; flex-direction: column; align-items: center; gap: calc(24 * var(--u)); }
.footer__up { order: -1; display: grid; place-items: center; width: calc(46 * var(--u)); height: calc(46 * var(--u)); border-radius: 50%; background: rgba(255,1,1,.33); transition: transform .3s var(--ease); }
.footer__up img { width: calc(15 * var(--u)); height: calc(16 * var(--u)); }
.footer__up:hover, .footer__social a:hover { transform: scale(1.08); }
.footer__brand img { width: calc(88 * var(--u)); height: calc(64 * var(--u)); }
.footer__social { display: flex; align-items: center; justify-content: center; gap: calc(12 * var(--u)); }
.footer__social a { display: block; width: calc(40 * var(--u)); height: calc(40 * var(--u)); transition: transform .3s var(--ease); }
.footer__social img { width: 100%; height: 100%; }
.footer__rule { width: 100%; height: 1px; margin: 0; border: 0; background: rgba(255,255,255,.14); }
.footer__bottom { width: 100%; display: flex; flex-direction: column; align-items: center; gap: calc(14 * var(--u)); text-align: center; }
.footer__legal { font: 400 calc(12 * var(--u))/1.25 "Inter", sans-serif; color: #777; }
.footer__credit { display: flex; align-items: center; gap: calc(8 * var(--u)); font: 400 calc(10 * var(--u))/1.2 "Inter", sans-serif; color: #777; }
.footer__credit img { width: calc(51 * var(--u)); height: calc(15 * var(--u)); }

/* =========================================================
   DESKTOP (≥ 1200px)
   ========================================================= */
@media (min-width: 1200px) {
  .mbr { display: none; }
  .dbr { display: inline; }
  .h2 { font-size: calc(30 * var(--u)); }
  .btn--block-m { width: auto; }

  .ticker__item, .ticker__dot { font-size: calc(13 * var(--u)); }
  .ticker__group { gap: calc(40 * var(--u)); padding-right: calc(40 * var(--u)); }

  .hero { height: 100vh; min-height: calc(660 * var(--u)); padding: calc(48 * var(--u)) calc(24 * var(--u)) calc(100 * var(--u)); justify-content: center; align-items: center; gap: 0; }
  .hero__bg { display: block; position: absolute; left: 0; right: 0; top: calc(52 * var(--u)); bottom: 0; background: url("../assets/img/hero-bg.png") center / cover no-repeat; animation: heroIn 1.1s var(--ease) both; }
  @keyframes heroIn { from { opacity: 0; transform: translateX(calc(24 * var(--u))); } to { opacity: 1; transform: none; } }
  .hero__portrait { display: none; }
  .hero__content { width: 88%; max-width: calc(1500 * var(--u)); align-items: flex-start; text-align: left; gap: calc(24 * var(--u)); }
  .hero__logo { display: block; width: calc(80 * var(--u)); height: calc(60 * var(--u)); }
  .hero__message { width: 43%; max-width: calc(640 * var(--u)); align-items: flex-start; gap: calc(20 * var(--u)); }
  .hero h1 { font-size: calc(46 * var(--u)); letter-spacing: -1px; }
  .hero__lead { width: calc(400 * var(--u)); max-width: 100%; }
  .hero__cta { display: inline-flex; width: auto; padding: calc(18 * var(--u)) calc(24 * var(--u)); }
  .hero__badge-wrap { top: calc(120 * var(--u)); left: 0; right: auto; width: 100%; max-width: none; transform: none; justify-content: flex-start; padding-right: 0; }
  .hero__badge-gap { display: block; flex: none; width: 81%; height: 1px; }
  .hero__badge { gap: calc(10 * var(--u)); padding: calc(10 * var(--u)) calc(22 * var(--u)) calc(10 * var(--u)) calc(14 * var(--u)); }
  .hero__badge-icon { width: calc(22 * var(--u)); height: calc(22 * var(--u)); }
  .hero__badge-title { font-size: calc(14 * var(--u)); }
  .hero__badge-note { font-size: calc(10 * var(--u)); }

  .trust { padding: calc(100 * var(--u)) calc(24 * var(--u)); }
  .trust__grid { width: calc(1057 * var(--u)); max-width: 100%; grid-template-columns: repeat(2, 1fr); gap: calc(25 * var(--u)); }
  .trust__card { flex-direction: row; justify-content: flex-start; align-items: center; gap: calc(5 * var(--u)); height: calc(103.4 * var(--u)); padding: 0 calc(12 * var(--u)) 0 calc(29 * var(--u)); text-align: left; }
  .trust__card img { flex: none; width: calc(58 * var(--u)); height: calc(58 * var(--u)); object-fit: contain; }
  .trust__card p { font-size: calc(26.47 * var(--u)); line-height: 1.2; }
  .trust__banner { grid-column: 1 / -1; height: calc(103.4 * var(--u)); font-size: calc(30.49 * var(--u)); line-height: 1.2; }

  .agenda { padding: calc(100 * var(--u)) calc(24 * var(--u)); }
  .agenda__wrap { flex-direction: row; align-items: center; gap: calc(80 * var(--u)); }
  .agenda__intro { align-items: flex-start; text-align: left; flex: 1; }
  .agenda__decor { display: block; width: calc(235 * var(--u)); height: calc(49 * var(--u)); }
  .form { flex: 1; padding: calc(36 * var(--u)); }

  .quando { padding: calc(100 * var(--u)) calc(24 * var(--u)) 0; }
  .quando__wrap { flex-direction: row; align-items: center; gap: calc(70 * var(--u)); }
  .quando__photo { width: calc(360 * var(--u)); }
  .quando__text { flex: 1; }
  .quando .h2 { text-align: left; }
  .checks li { justify-content: center; }
  .checks--lg li { width: calc(512 * var(--u)); max-width: 100%; }
  .quando__note { text-align: left; }

  .porque { padding: calc(100 * var(--u)) calc(24 * var(--u)) calc(200 * var(--u)); }
  .porque__wrap { gap: calc(48 * var(--u)); }
  .porque__title { width: calc(736 * var(--u)); max-width: 100%; margin: 0; font-size: calc(30 * var(--u)); line-height: 1.2; }
  .porque__grid { display: grid; grid-template-columns: 1fr 1fr; gap: calc(48 * var(--u)) calc(24 * var(--u)); }
  .card-why { flex-direction: row; align-items: center; min-height: calc(180 * var(--u)); gap: calc(24 * var(--u)); padding: calc(24 * var(--u)) calc(32 * var(--u)); border-radius: calc(26 * var(--u)); text-align: left; }
  .card-why h3 { font-size: calc(18 * var(--u)); }
  .card-why > div { flex: 1; min-width: 0; }
  .porque .btn { margin-top: 0; }
  .wave { height: calc(70 * var(--u)); }

  .como { padding: calc(100 * var(--u)) calc(24 * var(--u)); }
  .como__wrap { gap: calc(36 * var(--u)); }
  .como__sub { font-size: calc(20 * var(--u)); line-height: 1.25; }
  .roadmap { width: calc(1100 * var(--u)); max-width: calc(100vw - 48px); flex: none; flex-direction: row; justify-content: center; align-items: flex-start; }
  .step { flex: 1; min-width: 0; width: auto; }
  .link { flex-direction: row; align-items: center; padding: calc(32 * var(--u)) 0 0; gap: calc(8 * var(--u)); }
  .link i { width: calc(56 * var(--u)); height: calc(2 * var(--u)); background: linear-gradient(90deg, rgba(255,255,255,.1) 0%, rgba(255,255,255,.7) 100%); }
  .como .btn { width: auto; }
  .como__wrap { gap: calc(36 * var(--u)); }

  .cond { padding: calc(100 * var(--u)) calc(24 * var(--u)); }
  .cond__wrap { flex-direction: row; align-items: flex-start; gap: calc(60 * var(--u)); }
  .cond__offers { flex: 1; min-width: 0; }
  .cond__title, .cond__intro { text-align: left; }
  .cond__intro { padding-bottom: 0; line-height: 1.25; }
  .cond .checks { gap: calc(24 * var(--u)); }
  .cond .checks li { align-items: center; gap: calc(10 * var(--u)); }
  .cond .checks img { width: calc(28 * var(--u)); height: calc(28 * var(--u)); }
  .cond .checks li span { line-height: 1.25; }
  .cond__alert { gap: calc(24 * var(--u)); }
  .cond__alert p { line-height: 1.25; }
  .cond__collage { flex: 1; min-width: 0; gap: calc(24 * var(--u)); }
  .cond__portraits { gap: calc(14 * var(--u)); }

  .lentes { padding: calc(100 * var(--u)) calc(24 * var(--u)); }
  .lentes__glow { left: calc(-1508 * var(--u)); top: auto; bottom: calc(-10 * var(--u)); }
  .lentes__wrap { flex-direction: row; align-items: center; gap: calc(50 * var(--u)); }
  .lentes__intro { flex: 1; min-width: 0; }
  .lentes__title { text-align: left; }
  .lentes__img { right: calc(-17 * var(--u)); top: auto; bottom: calc(-23 * var(--u)); width: calc(730 * var(--u)); transform: rotate(168deg); }
  .lentes__btn { left: 0; transform: none; }
  .lentes__btn:active { transform: scale(.98); }
  .lentes__list { flex: 1; min-width: 0; }

  .lojas { padding: calc(100 * var(--u)) calc(24 * var(--u)); }
  .lojas__wrap { flex-direction: row; align-items: center; gap: calc(60 * var(--u)); }
  .lojas__text { flex: 1; min-width: 0; text-align: left; align-items: flex-start; gap: calc(24 * var(--u)); }
  .cities { display: flex; flex-direction: column; gap: calc(10 * var(--u)); }
  .cities a { font-size: calc(17 * var(--u)); }
  .map { width: calc(480 * var(--u)); flex: none; }

  .reviews { padding: calc(100 * var(--u)) calc(24 * var(--u)); }
  .cta { flex-direction: row; gap: calc(24 * var(--u)); padding: calc(50 * var(--u)); }
  .cta h2 { flex: 1; text-align: left; font-size: calc(30 * var(--u)); width: auto; }
  .cta__btn { width: auto; flex: none; }

  .faq { padding: calc(100 * var(--u)) calc(24 * var(--u)); }
  .faq__wrap { flex-direction: row; align-items: flex-start; gap: calc(60 * var(--u)); }
  .faq__intro { flex: 1; align-items: flex-start; text-align: left; }
  .faq__list { flex: none; width: calc(440 * var(--u)); }

  .footer { padding: calc(40 * var(--u)) calc(80 * var(--u)); }
  .footer__top { flex-direction: row; justify-content: space-between; gap: calc(24 * var(--u)); }
  .footer__brand { flex: 1; }
  .footer__up { order: 0; }
  .footer__social { flex: 1; justify-content: flex-end; }
  .footer__social a { width: calc(32 * var(--u)); height: calc(32 * var(--u)); }
  .footer__bottom { flex-direction: row; justify-content: space-between; gap: calc(24 * var(--u)); text-align: left; }
}

/* =========================================================
   FULL WIDTH (≥ 1920px)
   ========================================================= */
@media (min-width: 1920px) {
  .hero { min-height: calc(780 * var(--u)); padding: calc(48 * var(--u)) calc(200 * var(--u)) calc(100 * var(--u)); }
  .hero__content { width: 100%; max-width: none; }
  .hero__message { width: auto; max-width: none; }
  .hero h1 { width: calc(647 * var(--u)); max-width: 100%; }
  .hero__lead { font-size: calc(24 * var(--u)); width: calc(559 * var(--u)); max-width: min(100%, 30vw); line-height: 1.3; }
  .hero__cta { display: none; }
  .hero__cta-arrow { display: inline-flex; }
  .hero__badge-gap { width: 80%; }

  .agenda { min-height: calc(800 * var(--u)); padding: calc(100 * var(--u)) calc(200 * var(--u)); display: flex; align-items: center; justify-content: center; }
  .agenda__wrap { width: calc(940 * var(--u)); }

  .roadmap { width: calc(1400 * var(--u)); }
  .como__wrap { gap: calc(48 * var(--u)); }
  .footer { padding: calc(40 * var(--u)) calc(128 * var(--u)); }
}

/* =========================================================
   ULTRAWIDE (≥ 2560px): tudo escala 1,6×
   ========================================================= */
@media (min-width: 2560px) {
  :root { --u: 1.6px; }
  .hero__badge-gap { width: 76%; }
  .roadmap { width: calc(1100 * var(--u)); }
  .como__wrap { gap: calc(36 * var(--u)); }
}

@media (prefers-reduced-motion: reduce) {
  .rv { opacity: 1; transform: none; transition: none; }
  .ticker__track, .marquee__track, .pin, .hero__badge, .hero__bg, .hero__portrait { animation: none !important; }
  html { scroll-behavior: auto; }
}
