/* O Assessor — Ares Oliver · Figma eXo53YdDHAENRy40xJf5hw / 189:198 (Desktop V5, 1920) */

@font-face { font-family: "MADE Mirage"; src: url("../fonts/made-mirage-regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "MADE Mirage"; src: url("../fonts/made-mirage-medium.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Birds of Paradise"; src: url("../fonts/birds-of-paradise.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Neue Montreal"; src: url("../fonts/neue-montreal-regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Neue Montreal"; src: url("../fonts/neue-montreal-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Neue Montreal"; src: url("../fonts/neue-montreal-medium.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Neue Montreal"; src: url("../fonts/neue-montreal-bold.woff2") format("woff2"); font-weight: 700; font-display: swap; }

:root {
  --bg: #091910;
  --cream: #fff5dc;
  --gold: #d0c097;
  --ink: #232f2a;
  --sage: #758e6b;
  --f-display: "MADE Mirage", Georgia, serif;
  --f-script: "Birds of Paradise", "Alex Brush", cursive;
  --f-body: "Neue Montreal", "Helvetica Neue", Arial, sans-serif;
  --grad-btn: linear-gradient(96deg, #fff5dc 46.477%, #bfaa74 155.62%);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
html, body { overflow-x: clip; }
body { background: var(--bg); color: var(--cream); font-family: var(--f-body); font-weight: 400; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: none; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; text-align: left; }

/* Figma text-box-trim (cap / alphabetic) */
h1, h2, h3 { font-weight: 400; }
h1, h2 { font-family: var(--f-display); font-weight: 500; }
h1, h2, h3, p, .trim { text-box: trim-both cap alphabetic; }
.trim > p { text-box: normal; white-space: pre-wrap; }

.wrap { position: relative; width: 1280px; margin: 0 auto; }
.canvas { position: absolute; top: 0; left: 50%; width: 1920px; height: 100%; margin-left: -960px; pointer-events: none; }
.abs { position: absolute; }
.fill { position: absolute; inset: 0; width: 100%; height: 100%; }
.lum { position: absolute; inset: 0; overflow: hidden; mix-blend-mode: luminosity; }
.lum img { position: absolute; }

/* tipografia recorrente */
.d { font-family: var(--f-display); font-weight: 500; }
.d-reg { font-family: var(--f-display); font-weight: 400; }
.s { font-family: var(--f-script); font-weight: 400; }
.b { font-weight: 700; }
.gold { color: var(--gold); }
.gt { -webkit-background-clip: text; background-clip: text; color: transparent; }
span.gt { padding: 0.2em 0.25em; margin: 0 -0.25em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.gt-ad { background-image: linear-gradient(180deg, #dfcfa2, #ad9e72); }
.gt-99 { background-image: linear-gradient(180deg, #dfcfa2, #99895c); }
.gt-5f { background-image: linear-gradient(180deg, #dfcfa2, #5f5434); }

/* CTA dourado (pílula + círculo) */
.cta { display: inline-flex; align-items: center; gap: 8px; }
.cta__pill { display: flex; align-items: center; justify-content: center; height: 86px; padding: 0 100px; border-radius: 100px; background: var(--grad-btn); color: #0e1311; font-size: 22px; line-height: 24px; letter-spacing: -0.22px; white-space: nowrap; transition: transform 0.4s var(--ease-out), filter 0.4s var(--ease-out); }
.cta__dot { flex: none; transition: transform 0.4s var(--ease-out); }
.cta:focus-visible { outline: 2px solid #dfcfa2; outline-offset: 6px; border-radius: 100px; }

/* CTA escuro (seção creme) */
.cta-dark { display: inline-flex; align-items: stretch; gap: 8px; }
.cta-dark__pill { display: flex; align-items: center; justify-content: center; height: 86px; padding: 0 100px; border-radius: 48px; background: var(--ink); color: #fff; font-size: 22px; line-height: 24px; white-space: nowrap; transition: background-color 0.3s var(--ease-out), transform 0.4s var(--ease-out); }
.cta-dark__dot { display: flex; align-items: center; justify-content: center; width: 86px; border-radius: 48px; background: var(--ink); transition: background-color 0.3s var(--ease-out), transform 0.4s var(--ease-out); }
.cta-dark:focus-visible { outline: 2px solid var(--sage); outline-offset: 6px; border-radius: 48px; }

/* seta 12×12 (linha 16.971 rotacionada) */
.arrow12 { position: relative; display: flex; align-items: center; justify-content: center; width: 12px; height: 12px; }
.arrow12 > span { position: relative; flex: none; width: 16.971px; height: 0; }
.arrow12 img { position: absolute; top: -7.36px; bottom: -7.36px; left: 0; right: -5.89%; width: calc(100% + 5.89%); height: 14.72px; }
.r45 > span { transform: rotate(45deg); }
.r-45 > span { transform: rotate(-45deg); }

/* ============ 1. HERO ============ */
.hero { position: relative; z-index: 2; height: 975px; }
.hero__bg { position: absolute; inset: 0; overflow: hidden; background: var(--bg); }
.hero__editorial { left: 529px; top: -4px; width: 1391px; height: 975px; filter: blur(5.85px); }
.hero__editorial .lum { opacity: 0.06; }
.hero__editorial .lum img { left: 0; top: -42.46%; width: 100.01%; height: 190.93%; }
.hero__editorial-fade { position: absolute; inset: 0; background: linear-gradient(90.6deg, #091910 18.512%, rgba(9, 25, 16, 0) 88.088%); }
.hero__texture { left: 0; top: 0; width: 1920px; height: 975px; opacity: 0.17; object-fit: fill; object-position: bottom; }

.stripe { position: absolute; display: flex; align-items: center; justify-content: center; }
.stripe > i { display: block; flex: none; background: linear-gradient(var(--a), #fff5dc 0%, #cfbe8e 101.24%); transform: rotate(var(--r)) scaleY(var(--sy, 0.94)) skewX(var(--k)); }

.hero__copy { position: absolute; left: 0; top: 243px; width: 570px; display: flex; flex-direction: column; gap: 35px; }
.hero__title { color: #f1e7ca; letter-spacing: -1.68px; white-space: pre-wrap; font-size: 42px; line-height: 53px; }
.hero__title .up { font-family: var(--f-display); font-weight: 500; text-transform: uppercase; }
.hero__title .s { font-size: 58px; letter-spacing: 0; }
.hero__lead { font-size: 20px; line-height: 34px; letter-spacing: -0.2px; }

.hero__photo { position: absolute; left: 703px; top: 80.89px; width: 560px; height: 800.5px; }
.hero__shape { position: absolute; left: 0; top: 28.79px; width: 560px; height: 771.741px; border-radius: 350.912px 0; }
.hero__shape--base { background: #17241d; border: 0.877px solid #535353; }
.hero__shape--tex .lum { opacity: 0.1; border-radius: 350.912px 0; }
.hero__shape--tex .lum img { left: -4px; top: -3.63px; width: 568px; height: 779px; }
.hero__img { position: absolute; left: 0.93px; top: 0; width: 558.143px; height: 799.602px; object-fit: fill; border-bottom-right-radius: 350.912px; }

.seal { position: absolute; z-index: 3; left: calc(50% + 0.04px); top: 912.7px; width: 124.991px; height: 124.991px; margin-left: -62.4955px; display: flex; align-items: center; justify-content: center; filter: drop-shadow(-2.265px 2.265px 2.378px rgba(0, 0, 0, 0.21)); }
.seal > div { position: relative; flex: none; width: 113.226px; height: 113.226px; overflow: hidden; transform: rotate(6.31deg); }
.seal img { position: absolute; left: -21.91%; top: -16.29%; width: 141.01%; height: 141.01%; }

/* ============ 2. CHEGOU A HORA ============ */
.s2 { position: relative; margin-top: -1px; height: 907px; padding: 104px 0 100px; background: #09190a; }
.s2__tex { position: absolute; left: 0; top: 1px; width: 1920px; height: 906px; border-top: 1px solid #3c3d3c; }
.s2__tex .lum { opacity: 0.15; }
.s2__tex .lum img { left: -7.13%; top: -12.19%; width: 112.85%; height: 167.36%; }
.s2__inner { position: relative; width: 655px; margin: 0 auto; left: 0.5px; display: flex; flex-direction: column; align-items: flex-start; gap: 44px; }
.s2__title { font-size: 48px; line-height: 65px; white-space: pre-wrap; }
.s2__title .big { font-size: 58px; }
.s2__lead { font-size: 22px; line-height: 32px; }
.s2__body { font-size: 20px; line-height: 26px; }

/* ============ 3. PORTAIS + CASES ============ */
.s3 { position: relative; height: 1465px; padding-top: 100px; background: #efe7d5; }
.portals { position: relative; height: 557px; outline: 1px solid #1e2724; outline-offset: -1px; border-radius: 20px; overflow: hidden; background: var(--bg); }
.portals__copy { position: absolute; left: 74px; top: calc(50% + 0.5px); transform: translateY(-50%); width: 565px; display: flex; flex-direction: column; align-items: flex-start; gap: 30px; }
.portals__line { position: relative; width: 69px; height: 0; transform: rotate(180deg); }
.portals__line img { position: absolute; top: -5.77px; bottom: -5.77px; left: -1.45%; width: 109.82%; height: 11.547px; }
.portals__title { font-size: 42px; line-height: 59px; letter-spacing: -0.84px; white-space: pre-wrap; }
.portals__title .big { font-size: 82px; }
.portals__title .s { font-size: 54px; }
.portals__text { font-size: 18px; line-height: 26px; letter-spacing: -0.18px; opacity: 0.7; }
.checks { display: flex; flex-wrap: wrap; gap: 15px 15.736px; opacity: 0.7; list-style: none; }
.checks li { display: flex; align-items: center; gap: 10.491px; font-size: 14.687px; letter-spacing: -0.1469px; color: #fff; white-space: nowrap; text-box: trim-both cap alphabetic; }
.logos { position: absolute; left: 704px; top: 58px; width: 501px; display: flex; flex-wrap: wrap; gap: 25px; list-style: none; }
.logos li { position: relative; height: 130px; border-radius: 13px; background: #112218; }
.logos li > * { position: absolute; }
.istoe { overflow: hidden; }
.istoe img { position: absolute; left: 0; top: 0.7%; width: 99.69%; height: 98.16%; }
.press .istoe img { top: 0.72%; height: 100.44%; }
.oglobo { overflow: hidden; }
.oglobo img { position: absolute; left: 1.14%; top: 0.25%; width: 97.77%; height: 98.56%; }

.s3__title { height: 117px; width: 1018px; margin: 100px auto 0; color: #182115; text-align: center; font-size: 46px; line-height: normal; }
.s3__title .s { font-size: 54px; color: var(--sage); }
.cases { display: flex; justify-content: center; gap: 20px; margin-top: 51px; position: relative; left: 0.5px; list-style: none; }
.case { position: relative; flex: none; width: 415px; height: 445px; border-radius: 6px; background: #e1dbd1; }
.case__img { position: absolute; left: 0; top: 0; width: 415px; height: 227px; overflow: hidden; border-radius: 6px 6px 20px 20px; box-shadow: 0 9px 11.9px rgba(0, 0, 0, 0.05); }
.case__img img { position: absolute; }
.case__name { position: absolute; left: 30px; top: 257px; font-size: 28px; line-height: 24px; color: #101513; white-space: nowrap; }
.case__handle { position: absolute; left: 30px; top: 293px; font-family: "Ancizar Serif", Georgia, serif; font-size: 16px; line-height: 24px; color: #111614; opacity: 0.3; white-space: nowrap; }
.case__text { position: absolute; left: 30px; top: 327px; font-size: 18px; line-height: 24px; letter-spacing: -0.36px; color: #111a0e; opacity: 0.8; }

/* faixa (marquee) */
.ticker { position: relative; height: 74px; overflow: hidden; background: #0a170d; display: flex; align-items: center; }
.ticker__track { display: flex; width: max-content; margin-left: 7px; animation: marquee 48s linear infinite; }
.ticker__group { display: flex; align-items: center; gap: 27px; padding-right: 27px; list-style: none; }
.ticker__group li { font-size: 20px; line-height: normal; color: #fff; white-space: pre; text-box: trim-both cap alphabetic; }
.ticker__group img { flex: none; }
@keyframes marquee { to { transform: translateX(-50%); } }

/* ============ 4. COMO ============ */
.s4 { position: relative; height: 1281px; padding-top: 79px; overflow: hidden; }
.s4__tex { position: absolute; top: 0; height: 1281px; filter: blur(2px); }
.s4__tex .lum { opacity: 0.03; }
.s4__tex-fade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(2, 18, 14, 0.2), rgba(2, 18, 14, 0)); }
.s4__tex--l { left: 0; width: 970px; transform: scaleX(-1); }
.s4__tex--l .lum img { left: -105.34%; top: -2.65%; width: 243.89%; height: 105.39%; }
.s4__tex--r { left: 970px; width: 948px; }
.s4__tex--r .lum img { left: 0; top: -8.2%; width: 100%; height: 108.2%; }
.s4__inner { position: relative; width: 650px; margin: 0 auto; left: -10px; }
.s4__title { height: 117px; width: 606px; margin: 0 auto; text-align: center; font-size: 48px; line-height: normal; white-space: pre-wrap; }
.s4__title .s { font-size: 54px; }
.steps { position: relative; margin-top: 52px; padding-left: 58px; display: flex; flex-direction: column; gap: 20px; list-style: none; }
.steps__line { position: absolute; left: 0; top: 98px; width: 29.001px; height: 747px; display: flex; align-items: center; justify-content: center; }
.steps__line img { flex: none; transform: rotate(90deg); }
.step { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; width: 592px; padding: 30px 30px 34px; border: 1px solid #1f2d27; border-radius: 6px; background: #091812; }
.step:nth-child(2) { margin-bottom: 1px; }
.step__n { font-family: var(--f-display); font-weight: 500; font-size: 28px; line-height: normal; background-image: linear-gradient(160deg, #fff5dc 5.3485%, #98885f 103.81%); }
.step__t { font-size: 24px; line-height: normal; color: #fff; }
.step__p { font-size: 19px; line-height: normal; color: #bcbcbc; }

/* ============ 5. PERFIL + POR QUE ============ */
.s5 { position: relative; height: 1795px; padding-top: 85px; background: #fffaf0; color: var(--ink); }
.s5__head { position: relative; left: 0.5px; width: 845px; margin: 0 auto; display: flex; flex-direction: column; gap: 29px; text-align: center; }
.s5__title { font-size: 42px; line-height: normal; }
.s5__title .s { font-size: 52px; color: var(--sage); }
.s5__sub { font-size: 22px; line-height: 26px; }
.s5__sub span { color: rgba(35, 47, 42, 0.6); }
.s5 > .wrap { position: absolute; top: 0; left: 50%; margin-left: -640px; height: 100%; pointer-events: none; }
.s5 > .wrap > * { pointer-events: auto; }
.s5__head { position: absolute; top: 85px; left: 50%; margin-left: -422px; }
.fit { position: absolute; top: 290px; left: 50%; margin-left: -532px; display: flex; gap: 20px; }
.fit__card { display: flex; flex-direction: column; align-items: flex-start; width: 522px; height: 486px; border-radius: 20px; padding: 50px 40px 64px; }
.fit__card--yes { background: #1c2622; gap: 35px; }
.fit__card--no { background: #1c0b0b; gap: 26px; padding-bottom: 118px; }
.fit__title { font-family: var(--f-script); font-size: 38px; line-height: normal; height: 33px; }
.fit__card--yes .fit__title { color: #6fdda3; }
.fit__card--no .fit__title { color: #d76767; }
.fit__list { display: flex; flex-direction: column; list-style: none; }
.fit__card--yes .fit__list { gap: 35px; }
.fit__card--no .fit__list { gap: 26px; }
.fit__list li { display: flex; align-items: center; gap: 17px; }
.fit__list li > span { position: relative; flex: none; width: 22px; height: 22px; overflow: hidden; }
.fit__list li > span img { position: absolute; }
.fit__list .ico-check { inset: 7.63% 4.74% 0.81% 3.7%; }
.fit__list .ico-x { inset: 0; }
.fit__list p { width: 403px; font-size: 17px; line-height: 24px; color: #fff; }
.s5__apply { position: absolute; top: 816px; left: 50%; width: 738px; margin-left: -369px; text-align: center; font-size: 22px; line-height: 26px; }
.s5__apply em { color: var(--sage); }
.s5__cta { position: absolute; top: 898px; left: 0; right: 0; display: flex; justify-content: center; }
.s5__down { position: absolute; left: 50%; top: 1060px; width: 0; height: 30px; display: flex; align-items: center; justify-content: center; }
.s5__down > span { position: relative; flex: none; width: 30px; height: 0; transform: rotate(90deg); }
.s5__down img { position: absolute; top: -7.36px; left: 0; width: 31px; height: 14.7279px; }
.orbit { position: absolute; display: flex; align-items: center; justify-content: center; }
.orbit img { flex: none; }
.why { position: absolute; left: 0; top: 1198.77px; width: 588px; display: flex; flex-direction: column; align-items: flex-start; gap: 30px; }
.why__title { font-size: 48px; line-height: 60px; }
.why__title u { text-decoration: underline solid red; text-decoration-thickness: from-font; }
.why__title .s { font-size: 54px; color: var(--sage); }
.why__body { font-size: 20px; line-height: 26px; opacity: 0.7; }
.versus { position: absolute; left: 676px; top: 1211.77px; width: 578px; display: flex; flex-direction: column; gap: 40px; }
.vs { display: flex; flex-direction: column; align-items: flex-start; gap: 25px; padding: 25px; border: 1px solid #dedad1; overflow: hidden; }
.vs--exp { background: #f7f1e7; }
.vs--real { background: #111a0e; color: #fffaf0; }
.vs__tag { display: flex; align-items: center; justify-content: center; height: 31px; padding: 10px; font-weight: 500; font-size: 16px; letter-spacing: -0.32px; line-height: normal; }
.vs--exp .vs__tag { background: #e6dfd4; color: #635a4a; }
.vs--real .vs__tag { background: #272f25; }
.vs__tag span { text-box: trim-both cap alphabetic; }
.vs__t { font-size: 28px; line-height: 60px; }
.vs__p { font-size: 20px; line-height: 26px; opacity: 0.7; }

/* faixa de logos */
.press { position: relative; height: 101px; overflow: hidden; background: #05130b; border-bottom: 1px solid #142c1e; display: flex; align-items: center; }
.press__track { display: flex; width: max-content; margin-left: -30.5px; animation: marquee 60s linear infinite; }
.press__group { display: flex; align-items: center; gap: 50px; padding-right: 50px; list-style: none; }
.press__group li { position: relative; flex: none; }
.press__group .fade { opacity: 0.25; }

/* ============ 6. BIO + GARANTIA + FAQ ============ */
.s6 { position: relative; height: 2248px; padding-top: 100px; overflow: hidden; }
.s6__tex .lum { opacity: 0.04; }
.s6__tex .lum img { left: 0; top: 0; width: 1920px; height: 2248px; }
.bio { position: relative; height: 774px; outline: 1px solid #1b2f15; outline-offset: -1px; background: linear-gradient(143.05deg, #072415 25.638%, #020d07 168.26%); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); }
.bio__tex { position: absolute; left: 586px; top: 0; width: 692px; height: 772px; }
.bio__tex .lum { opacity: 0.07; }
.bio__tex .lum img { left: 0; top: 0; width: 100%; height: 100%; }
.bio__rule { position: absolute; left: 50%; width: 1280px; margin-left: -640px; height: 1px; }
.bio__rule--t { top: -2px; }
.bio__rule--b { top: 772px; }
.bio__photo { position: absolute; left: -1px; top: 28px; width: 588px; height: 745px; }
.bio__img { position: absolute; left: 0; top: -29px; width: 587px; height: 773px; object-fit: fill; }
.bio__fine { position: absolute; left: 16px; width: 419px; font-size: 8px; line-height: 13px; filter: blur(0.5px); }
.bio__fine--a { bottom: calc(100% - 722px); color: #fff; opacity: 0.2; }
.bio__fine--b { left: 536px; top: -12px; width: 32px; height: 419px; display: flex; align-items: center; justify-content: center; }
.bio__fine--b > p { flex: none; width: 419px; transform: rotate(-90deg); color: #0c0c0c; opacity: 0.05; }
.bio__quill { position: absolute; left: 25px; top: -4px; }
.bio__sign { position: absolute; left: 397px; bottom: calc(100% - 227px); width: 41px; text-align: center; font-family: "Nanum Brush Script", cursive; font-size: 22.491px; line-height: 19.68px; color: #7c7c7c; }
.bio__copy { position: absolute; left: 656px; top: 47px; width: 577px; display: flex; flex-direction: column; align-items: flex-start; gap: 40px; }
.bio__copy h2 { text-box: normal; }
.bio__kicker { height: 69px; font-size: 45.091px; line-height: 83.136px; text-box: normal; }
.bio__name { width: 496px; white-space: pre-wrap; font-family: var(--f-display); font-size: 87.907px; line-height: 108.052px; }
.bio__name > .gt { background-image: linear-gradient(103.04deg, #dfcfa2 6.9321%, #a7976a 107.76%); }
.bio__name .o { font-family: var(--f-display); font-weight: 400; font-size: 87.907px; }
.bio__name .sp { font-family: var(--f-display); font-weight: 500; font-size: 87.907px; }
.bio__name .a { font-family: "Alex Brush", cursive; font-size: 90px; }
.bio__name .a2 { font-family: "Alex Brush", cursive; font-size: 87.907px; letter-spacing: -14.9441px; }
.bio__name .a3 { font-family: "Alex Brush", cursive; font-size: 87.907px; letter-spacing: -2.6372px; }
.bio__name .rest { font-family: var(--f-display); font-weight: 400; font-size: 80px; }
.bio__body { font-size: 20px; line-height: 28px; color: #dcd5c3; }
.bio__body .b { color: var(--gold); }
.bio .cta__pill { width: 408px; height: 77px; padding: 0; font-size: 20px; letter-spacing: -0.2px; }

.guarantee { position: relative; left: 0.5px; display: flex; align-items: center; justify-content: center; gap: 70px; margin-top: 60px; }
.badge { position: relative; flex: none; width: 515px; height: 515px; }
.badge > * { position: absolute; }
.badge__rays-in { left: 58px; top: 58px; }
.badge__rays-out { left: 0; top: 0; }
.badge__coin { left: 97px; top: 97px; width: 322px; height: 322px; border-radius: 50%; background: linear-gradient(180deg, #f8da94, #9b8654 99.99%); }
.badge__check { left: 191.07px; top: 212px; width: 134px; height: 92px; }
.badge__check img { position: absolute; top: -7.69%; left: -5.27%; width: 110.54%; height: 118.56%; }
.badge__ring { left: 79.77px; top: 79.77px; width: 356.461px; height: 356.461px; display: flex; align-items: center; justify-content: center; }
.badge__ring img { flex: none; transform: rotate(-72.82deg); }
.guarantee__copy { width: 656px; display: flex; flex-direction: column; gap: 30px; }
.guarantee__title { color: #f8eccc; font-size: 52px; line-height: 53px; }
.guarantee__title .s { font-size: 58px; line-height: 56px; }
.guarantee__text { font-size: 18px; line-height: 26px; }

.faq-row { display: flex; align-items: center; justify-content: space-between; margin-top: 33px; left: -1px; }
.faq { width: 551px; display: flex; flex-direction: column; align-items: flex-start; gap: 40px; }
.faq__title { width: 510px; font-size: 52px; line-height: 64px; }
.faq__hint { width: 510px; font-size: 18px; line-height: 64px; }
.faq__list { width: 100%; display: flex; flex-direction: column; gap: 15px; list-style: none; }
.faq__item { border-radius: 6px; background: #173526; border: 1px solid rgba(61, 87, 67, 0); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); transition: border-color 0.3s var(--ease-out); }
.faq__item:hover, .faq__item.is-open { border-color: rgba(208, 192, 151, 0.35); }
.faq__q { display: flex; align-items: center; justify-content: space-between; width: 100%; height: 75px; padding: 0 30px; font-size: 18px; line-height: 26px; color: #e4e4e4; white-space: nowrap; }
.faq__q:focus-visible { outline: 2px solid #dfcfa2; outline-offset: 2px; border-radius: 6px; }
.faq__q span { text-box: trim-both cap alphabetic; }
.faq__chev { position: relative; flex: none; width: 12px; height: 6px; transition: transform 0.35s var(--ease-out); }
.faq__chev img { position: absolute; top: -16.67%; left: -8.33%; width: 116.66%; height: 133.34%; }
.faq__item.is-open .faq__chev { transform: rotate(180deg); }
.faq__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.4s var(--ease-out); }
.faq__item.is-open .faq__a { grid-template-rows: 1fr; }
.faq__a > div { overflow: hidden; }
.faq__a p { padding: 0 30px 28px; font-size: 17px; line-height: 26px; color: rgba(228, 228, 228, 0.75); text-box: normal; }

.final { display: flex; flex-direction: column; align-items: flex-start; gap: 45px; padding: 50px; border: 1px solid #232d20; border-radius: 21px; background: #072415; backdrop-filter: blur(11.6px); -webkit-backdrop-filter: blur(11.6px); }
.final__title { width: 577px; font-size: 48px; line-height: 56px; }
.final__body { width: 577px; font-size: 20px; line-height: 30px; color: #eee; }
.final .cta { width: 577px; }
.final .cta__pill { width: 485px; height: 83px; padding: 0; }

/* ============ RESPONSIVO (sem frame mobile no Figma — adaptação) ============ */
@media (max-width: 1279px) {
  .wrap, .s2__inner, .s4__inner, .s5__head, .s3__title { width: auto; max-width: 720px; margin-left: auto; margin-right: auto; padding: 0 24px; left: 0; }
  .hero { height: auto; padding: 48px 0 84px; }
  .hero .wrap { display: flex; flex-direction: column; gap: 40px; }
  .hero__copy, .hero__photo { position: relative; left: auto; top: auto; width: 100%; }
  .hero__photo { width: min(80vw, 340px); height: auto; aspect-ratio: 560 / 800.5; margin: 0 auto; }
  .hero__shape { top: 3.6%; width: 100%; height: 96.4%; border-radius: 62.66% 0 62.66% 0 / 45.47% 0 45.47% 0; }
  .hero__shape--tex .lum { border-radius: inherit; }
  .hero__shape--tex .lum img { left: -0.7%; top: -0.47%; width: 101.4%; height: 100.94%; }
  .hero__img { left: 0; width: 100%; height: 100%; border-bottom-right-radius: 62.87% 43.88%; }
  .hero__title { font-size: 30px; line-height: 38px; letter-spacing: -1px; }
  .hero__title span { line-height: 40px !important; }
  .hero__title .s { font-size: 40px; line-height: 44px !important; }
  .hero__lead { font-size: 17px; line-height: 28px; }
  .hero__copy { align-items: center; }
  .hero__title, .hero__lead { text-align: center; }
  .seal { top: auto; bottom: -62px; }
  /* faixas douradas + texturas: mesma composição do desktop, em escala, ancoradas atrás da foto */
  .hero__bg .canvas { top: auto; bottom: 0; left: 50%; height: 975px; margin-left: 0; transform-origin: 0 100%; scale: 0.5; translate: -550px 0; }
  .hero__bg { z-index: 0; }
  .hero__bg::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(9, 25, 16, 0.55) 0%, rgba(9, 25, 16, 0) 45%); z-index: 1; pointer-events: none; }
  .s3__title, .s4__title { height: auto; width: auto; }
  .step { height: auto !important; }
  .guarantee__copy { padding: 0 24px; max-width: 720px; }
  .bio__photo { order: -1; }
  .cta { width: 100%; }
  .cta__pill, .cta-dark__pill, .bio .cta__pill, .final .cta__pill { flex: 1; width: auto; height: 64px; padding: 0 20px; font-size: 17px; }
  .cta__dot { width: 64px; height: 64px; }
  .cta-dark__dot { width: 64px; }
  .s2 { height: auto; padding: 84px 0 48px; }
  .s2__tex { height: 100%; }
  .s2__title, .s4__title, .why__title, .guarantee__title, .faq__title, .final__title { font-size: 32px; line-height: 42px; }
  .s2__title .big, .s4__title .s, .why__title .s, .guarantee__title .s, .faq__title .s, .final__title .s { font-size: 38px; line-height: 42px; }
  .s2__lead { font-size: 19px; line-height: 28px; }
  .s2__body, .why__body, .bio__body, .final__body, .vs__p { font-size: 17px; line-height: 25px; }
  .s3 { height: auto; padding: 48px 0; }
  .portals { height: auto; padding: 32px 24px; display: flex; flex-direction: column; gap: 40px; }
  .portals__copy, .logos { position: relative; left: auto; top: auto; transform: none; width: 100%; }
  .portals__title { font-size: 30px; line-height: 40px; }
  .portals__title .s { font-size: 38px; }
  .portals__title .big { font-size: 30px; }
  .checks li { white-space: normal; }
  .logos { gap: 12px; }
  .logos li { flex: 1 1 40%; height: 96px; display: flex; align-items: center; justify-content: center; }
  .logos li > *:not(.istoe):not(.oglobo) { position: relative; margin: 0 !important; left: auto !important; top: auto !important; max-width: 70%; height: auto; }
  .logos .istoe, .logos .oglobo { position: relative; left: auto !important; top: auto !important; }
  .s3__title { margin-top: 48px; font-size: 30px; }
  .s3__title .s { font-size: 36px; }
  .cases { flex-direction: column; align-items: center; margin-top: 32px; left: 0; padding: 0 24px; }
  .case { width: 100%; max-width: 415px; height: auto; padding: 257px 30px 32px; display: flex; flex-direction: column; gap: 16px; }
  .case__img { width: 100%; }
  .case__name, .case__handle, .case__text { position: static; width: auto !important; }
  .s4 { height: auto; padding: 48px 0; }
  .steps { padding-left: 0; }
  .steps__line { display: none !important; }
  .steps__line { left: 0; }
  .step { width: 100%; }
  .s5 { height: auto; padding: 48px 0 0; }
  .s5__head, .fit, .s5__apply, .s5__cta, .s5 > .wrap { position: relative; top: auto; left: auto; right: auto; margin-left: auto; height: auto; }
  .s5 > .wrap { margin-top: 0; }
  .s5__title { font-size: 30px; }
  .s5__title .s { font-size: 36px; }
  .s5__sub, .s5__apply { font-size: 18px; line-height: 25px; }
  .fit { flex-direction: column; align-items: center; padding: 0 24px; margin-top: 40px; }
  .fit__card, .fit__card--no { width: 100%; max-width: 522px; height: auto; padding: 40px 24px; }
  .fit__list p { width: auto; }
  .s5__apply { width: auto; padding: 0 24px; margin-top: 40px; }
  .s5__cta { padding: 0 24px; margin-top: 32px; }
  .s5__down { position: relative; left: auto; top: auto; width: auto; margin: 32px auto; }
  .orbit { display: none; }
  .s5 > .wrap { display: flex; flex-direction: column; gap: 40px; padding-bottom: 48px; }
  .why, .versus { position: relative; left: auto; top: auto; width: 100%; }
  .vs__t { font-size: 24px; line-height: 32px; }
  .s6 { height: auto; padding: 48px 0 56px; }
  .bio { height: auto; display: flex; flex-direction: column; }
  .bio__photo { position: relative; left: 0; top: 0; width: 100%; height: auto; aspect-ratio: 587 / 773; }
  .bio__img { top: 0; width: 100%; height: 100%; }
  .bio__fine, .bio__sign { display: none; }
  .bio__tex { left: 0; width: 100%; height: 100%; }
  .bio__rule { display: none; }
  .bio__copy { position: relative; left: 0; top: 0; width: 100%; padding: 40px 24px; }
  .bio__copy h2 { text-box: normal; }
.bio__kicker { font-size: 32px; line-height: 48px; height: auto; }
  .bio__name { width: auto; line-height: 70px; }
  .bio__name .o, .bio__name .sp, .bio__name .a2, .bio__name .a3 { font-size: 56px; }
  .bio__name .a { font-size: 58px; }
  .bio__name .a2 { letter-spacing: -9.5px; }
  .bio__name .rest { font-size: 52px; }
  .guarantee { flex-direction: column; gap: 32px; margin-top: 48px; left: 0; }
  .badge { transform: scale(0.62); margin: -98px 0; }
  .guarantee__copy { width: 100%; }
  .faq-row { flex-direction: column; align-items: stretch; gap: 48px; margin-top: 48px; left: 0; }
  .faq, .faq__title, .faq__hint, .final__title, .final__body, .final .cta { width: 100%; }
  .faq__hint { line-height: 26px; }
  .faq__q { height: auto; min-height: 72px; padding: 20px; white-space: normal; gap: 16px; font-size: 16px; }
  .final { padding: 32px 20px; }
  .bio__name { white-space: nowrap; line-height: 64px; }
  .bio__name .o, .bio__name .sp, .bio__name .a3 { font-size: 48px; }
  .bio__name .a { font-size: 50px; }
  .bio__name .a2 { font-size: 48px; letter-spacing: -8.2px; }
  .bio__name .rest { font-size: 44px; }
  .bio .cta__pill, .final .cta__pill { font-size: 15px; padding: 0 12px; }
  /* botões em largura total */
  .cta, .cta-dark { display: flex; width: 100%; }
  .cta-dark__pill { flex: 1; }
  .s5__cta { justify-content: stretch; }
  /* garantia, FAQ e card final centralizados */
  .guarantee__copy, .guarantee__title, .guarantee__text { text-align: center; }
  .faq__title, .faq__hint { text-align: center; }
  .final { align-items: center; }
  .final__title, .final__body { text-align: center; }
  /* expectativa × realidade antes do título "Por que..." */
  .versus { order: -1; }
}

@media (prefers-reduced-motion: reduce) {
  .ticker__track, .press__track { animation: none; }
  *, *::before, *::after { transition-duration: 0.01ms !important; }
}
