:root {
  color-scheme: dark;
  --navy: #06121f;
  --navy-deep: #020b14;
  --ivory: #fbf8f1;
  --gold: #efbc6a;
  --gold-light: #ffd993;
  --white: #f7f6f4;
  --muted: #c7c9ce;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--navy-deep); color: var(--white); font-family: Arial, Helvetica, sans-serif; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; }
a, button, summary { -webkit-tap-highlight-color: transparent; }
.container { width: min(100% - 2rem, 64rem); margin-inline: auto; }
.container--narrow { max-width: 54rem; }
.section { position: relative; isolation: isolate; padding-block: 3.4rem; background-color: var(--navy); color: var(--white); }
.section--light { color-scheme: light; background-color: var(--ivory); color: #071827; }
.section h2 { margin: 0; font-size: clamp(1.95rem, 8.4vw, 3.4rem); font-weight: 900; line-height: 1.06; letter-spacing: -0.045em; text-wrap: balance; }
.section__header { max-width: 50rem; margin: 0 auto 1.9rem; text-align: center; }
.section__header > p { max-width: 43rem; margin: 1rem auto 0; font-size: 1rem; line-height: 1.5; }
.gold { color: var(--gold-light); }
.section--light .gold { color: #996b2a; }
.section__closing { max-width: 46rem; margin: 1.5rem auto; font-size: 1rem; line-height: 1.5; text-align: center; }
.section__closing p { margin: 0; }
.section__closing p + p { margin-top: 0.55rem; }
.section__emphasis { font-weight: 800; }
.cta, .hero__cta { display: flex; align-items: center; justify-content: center; gap: 0.75rem; width: min(100%, 42rem); min-height: 4rem; margin-inline: auto; padding: 1rem 0.9rem; border: 1px solid #ffe5b2; border-radius: 999px; background: linear-gradient(105deg, #edc984, #ffdc9b 52%, #eabb70); box-shadow: 0 0.6rem 1.8rem #ce9d4c26, inset 0 1px 0 #ffffff66; color: #06111b; font-size: clamp(0.82rem, 3.6vw, 1.25rem); font-weight: 900; line-height: 1.2; text-align: center; text-decoration: none; }
.cta, .hero__cta { position: relative; isolation: isolate; }
.cta::before, .hero__cta::before { content: ''; position: absolute; z-index: -1; inset: 0; border-radius: inherit; box-shadow: 0 0 1.6rem 0.35rem #e6b45b80; opacity: 0; pointer-events: none; }
@media (prefers-reduced-motion: no-preference) {
  .cta, .hero__cta { animation: cta-pulse 4s ease-in-out infinite; }
  .cta::before, .hero__cta::before { animation: cta-glow 4s ease-in-out infinite; }
  .cta:is(:hover, :focus-visible, :active), .hero__cta:is(:hover, :focus-visible, :active),
  .cta:is(:hover, :focus-visible, :active)::before, .hero__cta:is(:hover, :focus-visible, :active)::before { animation: none; }
}
@keyframes cta-pulse {
  0%, 40%, 100% { transform: scale(1); }
  20% { transform: scale(1.018); }
}
@keyframes cta-glow {
  0%, 40%, 100% { opacity: 0; }
  20% { opacity: 0.8; }
}
.cta:hover, .hero__cta:hover { filter: brightness(1.04); }
a:focus-visible, button:focus-visible, summary:focus-visible, .carousel__track:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.section--light a:focus-visible, .section--light button:focus-visible, .section--light .carousel__track:focus-visible { outline-color: #071827; }

/* 01 — abertura escura */
.hero { position: relative; isolation: isolate; padding: 1.6rem 0 2.5rem; background: radial-gradient(ellipse at 50% 58%, #1f3f5647, transparent 65%), linear-gradient(180deg, #071522, #030d17 58%, #071623); }
.hero::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(103deg, transparent 9%, #0003 16%, transparent 25% 76%, #0003 86%, transparent 94%), repeating-linear-gradient(98deg, transparent 0 13%, #ffffff03 14%, transparent 27%); pointer-events: none; }
.hero__content { width: min(100% - 2rem, 64rem); margin-inline: auto; text-align: center; }
.hero__eyebrow { display: inline-block; max-width: 100%; margin: 0; padding: 0.7rem 0.8rem; border: 1px solid var(--gold); border-radius: 999px; color: var(--gold-light); font-size: clamp(0.625rem, 2.8vw, 0.95rem); letter-spacing: 0.065em; line-height: 1.4; }
.hero__title { margin: 1.3rem auto 0; font-size: clamp(1.55rem, 7.65vw, 4rem); font-weight: 900; letter-spacing: -0.045em; line-height: 1.02; text-transform: uppercase; }
.hero__title span { display: block; }
.hero__title-intro { margin-bottom: 0.15em; font-size: 0.9em; font-weight: 400; }
.hero__title-gold { color: var(--gold); }
.hero__title-end { margin-top: 0.16em; font-size: 0.87em; letter-spacing: -0.035em; }
.hero__divider { display: block; width: 3rem; height: 2px; margin: 1.05rem auto; background: var(--gold); }
.hero__description { max-width: 45rem; margin: 0 auto; color: #d6d8dc; font-size: 1rem; line-height: 1.5; }
.hero__mockup { position: relative; left: 50%; transform: translateX(-50%); width: min(100% + 1rem, 44rem); margin: 0.9rem 0 1rem; }
.hero__mockup img { display: block; width: 100%; height: auto; }

/* 02 — resultados claros, com os cartões escuros e dourados da referência */
.results { background-image: radial-gradient(circle at 13% 14%, #ddb15e1f, transparent 28rem), linear-gradient(180deg, #faf8f3, #f4f0e8); }
.results h2 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.7rem, 6.9vw, 3.4rem); font-weight: 700; line-height: 1.1; }
.results .section__highlight { color: #946323; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.85rem, 7.7vw, 3.1rem); line-height: 1.05; font-weight: 700; }
.carousel { max-width: 60rem; margin-inline: auto; }
.carousel__track { position: relative; display: flex; align-items: stretch; gap: 1rem; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 0.3rem; }
.carousel__track::-webkit-scrollbar { display: none; }
.carousel__slide { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; }
.result-card { display: flex; flex-direction: column; padding: 1rem 1rem 1.25rem; border: 2px solid #d5a34d; border-radius: 1.35rem; background: radial-gradient(circle at 50% -10%, #1f4657ad, transparent 40%), linear-gradient(145deg, #0b2632, #04121c 62%, #061824); color: #f9f7f1; }
.result-card h3 { margin: 0 0 0.9rem; font-family: Georgia, 'Times New Roman', serif; font-size: 2.6rem; line-height: 1; text-align: center; }
.result-card__media { overflow: hidden; border: 1px solid #dbae5c73; border-radius: 0.8rem; background: #0d2231; }
.result-card__media img { display: block; width: 100%; height: auto; }
.result-card__labels { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #e7b8599e; background: #03111b; }
.result-card__labels span { padding: 0.65rem 0.55rem; color: white; font-size: 0.75rem; font-weight: 800; text-align: center; letter-spacing: 0.05em; text-transform: uppercase; }
.result-card__labels span:last-child { color: var(--gold-light); border-left: 1px solid #e7b85961; }
.result-card > p { flex: 1; margin: 1.1rem 0 0; padding: 0 0.45rem; color: #f3f0e9; font-size: 1rem; line-height: 1.5; text-align: center; }
.carousel__controls { display: flex; align-items: center; justify-content: center; gap: 1.2rem; margin-top: 1rem; }
.carousel__controls[hidden] { display: none; }
.carousel__button { display: grid; place-items: center; width: 3rem; height: 3rem; padding: 0; border: 1px solid #cba669; border-radius: 50%; background: #071827; box-shadow: 0 4px 12px #07182714; color: var(--gold-light); cursor: pointer; }
.carousel__button svg { width: 1.5rem; height: 1.5rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.carousel__button:disabled { opacity: 0.35; cursor: default; }
.carousel__status { min-width: 5rem; font-size: 0.9rem; text-align: center; font-variant-numeric: tabular-nums; }

/* 03 — benefícios escuros, imagem recortada sobre o fundo */
.benefits { overflow: hidden; background-image: radial-gradient(circle at 8% 35%, #30506666, transparent 36%), linear-gradient(180deg, #071827, #04121e 58%, #061725); }
.benefits::before { content: ''; position: absolute; z-index: 0; inset: 0 0 auto; height: 16rem; background: linear-gradient(180deg, #071827 0% 68%, #07182700); pointer-events: none; }
.benefits > .container { position: relative; z-index: 1; }
.benefits__portrait { position: absolute; z-index: -1; top: 8rem; bottom: 4rem; left: -4rem; pointer-events: none; mask-image: linear-gradient(180deg, transparent, #000 5% 83%, transparent); }
.benefits__portrait img { display: block; width: auto; max-width: none; height: 100%; opacity: 0.88; }
.benefits__grid { display: grid; width: 86%; margin-left: auto; gap: 0.75rem; }
.benefit { display: flex; align-items: flex-start; gap: 0.65rem; padding: 1rem 0.8rem; border: 1px solid #698ea780; border-radius: 0.85rem; background: linear-gradient(105deg, #082030f7, #081c2de8); box-shadow: 0 0.5rem 1.5rem #00000014; }
.benefit__icon { display: grid; flex: 0 0 2.15rem; min-height: 3rem; place-items: center; padding-right: 0.55rem; border-right: 1px solid #ffffff4d; color: var(--gold-light); }
.benefit__icon svg { fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.benefit h3 { margin: 0; font-size: 1rem; line-height: 1.3; font-weight: 800; color: var(--gold); }
.benefit p { margin: 0.45rem 0 0; font-size: 0.9375rem; line-height: 1.45; color: #f0f1f3; }
.benefits .section__closing { padding: 1.1rem; border: 1px solid #698ea74d; border-radius: 0.8rem; background: #051827ed; }

/* 04 — feedbacks claros */
.feedback { background-image: radial-gradient(circle at 85% 40%, #e9cf9f33, transparent 50%); }
.feedback .carousel { max-width: 52rem; }
.feedback-card { overflow: hidden; border: 1px solid #c2a16e; border-radius: 1rem; background: #fffdf8; }
.feedback-card__link { display: block; padding: 0.5rem 0.5rem 0; color: #071827; text-decoration: none; }
.feedback-card__link:focus-visible { outline-offset: -4px; }
.feedback-card__media { display: grid; place-items: center; aspect-ratio: 3 / 4; overflow: hidden; border-radius: 0.6rem; background: radial-gradient(ellipse at center, #fffdf8, #eee8dc); }
.feedback-card__media img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.feedback-card__caption { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; min-height: 3.5rem; padding: 0.65rem 0.5rem; }
.feedback-card__caption strong { font-size: 1rem; }
.feedback-card__caption span { display: flex; align-items: center; gap: 0.4rem; color: #815b26; font-size: 0.85rem; }
.feedback-card__caption svg { width: 1.2rem; height: 1.2rem; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; }
.feedback .section__closing { margin-bottom: 0; font-size: 1.2rem; color: #936523; }
.feedback-viewer { width: min(calc(100% - 1rem), 60rem); max-width: none; max-height: calc(100dvh - 1rem); padding: 0; border: 1px solid #c2a16e; border-radius: 1rem; background: #fbf8f1; color: #071827; color-scheme: light; }
.feedback-viewer[open] { display: flex; flex-direction: column; }
.feedback-viewer::backdrop { background: #020b14e8; }
.feedback-viewer__header { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.5rem 0.75rem 0.5rem 1rem; }
.feedback-viewer__header p { margin: 0; font-size: 1rem; font-weight: 700; }
.feedback-viewer__close { flex: 0 0 2.75rem; height: 2.75rem; padding: 0; border: 1px solid #c2a16e; border-radius: 50%; background: #fffdf8; color: #071827; font-size: 1.75rem; cursor: pointer; }
.feedback-viewer__toolbar { display: flex; align-items: center; gap: 0.75rem; padding: 0 1rem 0.75rem; border-bottom: 1px solid #c2a16e66; }
.feedback-viewer__zoom { min-height: 2.75rem; padding: 0.6rem 0.85rem; border: 0; border-radius: 0.5rem; background: #071827; color: #ffdc9b; font: inherit; font-size: 0.875rem; white-space: nowrap; cursor: pointer; }
.feedback-viewer__toolbar span { color: #59616a; font-size: 0.75rem; line-height: 1.4; }
.feedback-viewer__body { min-height: 0; overflow: auto; overscroll-behavior: contain; background: #ede8df; }
.feedback-viewer__body img { display: block; width: 100%; height: auto; }
.feedback-viewer__body.is-zoomed img { width: max(100%, 75rem); max-width: none; }
html.feedback-viewer-open { overflow: hidden; }

/* 05 — público escuro, cards com ícones e fotografia à direita */
.audience { overflow: hidden; background-image: radial-gradient(circle at 88% 33%, #2b4a5e47, transparent 30%), linear-gradient(180deg, #071827, #04121e 58%, #061725); }
.audience::before { content: ''; position: absolute; z-index: -2; inset: 0; background: repeating-linear-gradient(100deg, transparent 0% 15%, #ffffff03 16%, transparent 30%); pointer-events: none; }
.audience__portrait { position: absolute; z-index: -1; inset: 0 0 0 auto; pointer-events: none; mask-image: linear-gradient(90deg, transparent, #0003 9%, #000 30%); }
.audience__portrait img { display: block; width: auto; max-width: none; height: 100%; opacity: 0.9; }
.audience__body { position: relative; }
.audience h2 { max-width: 50rem; margin-inline: auto; text-align: center; }
.audience__list { display: grid; width: 84%; list-style: none; padding: 0; margin: 1.8rem 0 1.3rem; gap: 0.65rem; }
.audience__list li { display: flex; align-items: center; gap: 0.75rem; padding: 0.9rem 0.7rem; border: 1px solid #698ea785; border-radius: 0.8rem; background: linear-gradient(90deg, #051623f7, #061826df); font-size: 0.9375rem; line-height: 1.4; box-shadow: 0 0.5rem 1.5rem #00000014; }
.audience__icon { display: grid; flex: 0 0 2.5rem; width: 2.5rem; height: 2.5rem; place-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-light); }
.audience__icon svg { width: 1.5rem; height: 1.5rem; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.audience__closing { display: flex; align-items: center; gap: 0.9rem; padding: 1rem; border: 1px solid #698ea799; border-radius: 0.85rem; background: #041421ed; margin: 0 0 1.5rem; }
.audience__closing p { margin: 0; padding-left: 0.9rem; border-left: 1px solid #ffffff57; font-size: 1rem; line-height: 1.4; }
.audience__closing strong { color: var(--gold-light); }
.audience__check { display: grid; flex: 0 0 2.5rem; height: 2.5rem; place-items: center; border-radius: 50%; background: linear-gradient(145deg, #f5d393, #e4b561); color: #071522; }
.audience__check svg { width: 1.6rem; height: 1.6rem; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.audience .cta { margin-left: 0; }

/* 06 — apresentação clara, retrato separado do texto no celular */
.about { overflow: hidden; background-color: #faf7ef; background-image: radial-gradient(ellipse at 90% 45%, #e4c38d55, transparent 65%); }
.about__grid { position: relative; }
.about__header { position: relative; z-index: 2; }
.about h2 { max-width: 51rem; text-transform: uppercase; }
.about__name { margin: 1.3rem 0 0; font-size: clamp(1.6rem, 7vw, 2.25rem); line-height: 1.1; letter-spacing: -0.035em; }
.about__role { max-width: 34rem; margin: 0.65rem 0 0; color: #946323; font-size: 1rem; line-height: 1.4; font-weight: 700; }
.about__layout { position: relative; margin-top: 1.5rem; }
.about__text { position: relative; z-index: 1; color: #283541; font-size: 1rem; line-height: 1.65; }
.about__text p { margin: 1.25rem 0 0; }
.about__text strong { color: #071827; }
.about__portrait { position: relative; width: min(100%, 23rem); aspect-ratio: 1; margin-inline: auto; overflow: hidden; border-bottom: 2px solid #b1843c; border-radius: 1rem; background: radial-gradient(ellipse at 50% 25%, #fffdf7, #ead5b1); }
.about__portrait img { display: block; width: 90%; height: auto; margin: 1rem auto 0; }
.about__closing { position: relative; margin: 1.5rem 0; padding: 1rem 1.15rem; border: 1px solid #b1843c; border-left: 4px solid #b1843c; border-radius: 0.8rem; background: #fffdf8ed; color: #071827; font-size: 1rem; line-height: 1.5; font-weight: 700; }

/* 07 — FAQ escuro */
.faq { background-image: radial-gradient(ellipse at 50% 0%, #24445966, transparent 70%), linear-gradient(180deg, #071827, #020b14); }
.faq h2 { text-transform: uppercase; }
.faq h2 .gold { display: block; }
.faq__list { display: grid; gap: 0.75rem; margin-bottom: 1.8rem; }
.faq__item { overflow: hidden; border: 1px solid #698ea75c; border-radius: 0.85rem; background: #0a1e2d; box-shadow: 0 0.45rem 1.25rem #00000014; }
.faq summary { display: grid; grid-template-columns: minmax(0, 1fr) 2rem; align-items: center; gap: 1rem; min-height: 4.4rem; padding: 1rem; cursor: pointer; list-style: none; font-size: 1rem; font-weight: 800; line-height: 1.35; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary:focus-visible { outline-offset: -4px; }
.faq__icon { position: relative; width: 2rem; height: 2rem; border: 1px solid #efbc6a66; border-radius: 50%; color: var(--gold); }
.faq__icon::before, .faq__icon::after { content: ''; position: absolute; top: 50%; left: 50%; width: 0.85rem; height: 2px; background: currentColor; transform: translate(-50%, -50%); }
.faq__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.faq__item[open] .faq__icon::after { transform: translate(-50%, -50%); }
.faq__item[open] { border-color: #b1843c; }
.faq__answer { padding: 0 1rem 1.1rem; color: #d3d9df; font-size: 1rem; line-height: 1.55; }
.faq__answer::before { content: ''; display: block; height: 1px; margin-bottom: 0.9rem; background: linear-gradient(90deg, #d4a554, transparent); }
.faq__answer p { margin: 0; }

/* Rodapé claro para concluir a alternância, com a identidade e o texto preservados. */
.site-footer { padding-block: 2.8rem 2.5rem; border-top: 1px solid #b1843c66; background: linear-gradient(180deg, #fbf8f1, #f1ebe0); color: #071827; color-scheme: light; }
.site-footer__content { width: min(100% - 2rem, 56rem); margin-inline: auto; text-align: center; }
.site-footer__logo { display: block; width: 7.5rem; height: auto; margin: 0 auto 0.5rem; }
.site-footer__brand { margin-bottom: 1.4rem; line-height: 1; text-transform: uppercase; }
.site-footer__brand strong, .site-footer__brand span { display: block; }
.site-footer__brand strong { font-size: 1.2rem; font-weight: 900; letter-spacing: 0.035em; }
.site-footer__brand span { margin-top: 0.4rem; font-size: 0.68rem; letter-spacing: 0.34em; }
.site-footer__identity { font-size: 0.94rem; line-height: 1.45; }
.site-footer__identity p { margin: 0; }
.site-footer__identity p + p { margin-top: 0.3rem; color: #815b26; }
.site-footer__legal { max-width: 50rem; margin: 1.3rem auto 0; padding-top: 1.2rem; border-top: 1px solid #07182726; color: #4c555c; font-size: 0.8rem; line-height: 1.6; }

@media (min-width: 48rem) {
  .container { width: min(100% - 3rem, 64rem); }
  .container--narrow { max-width: 54rem; }
  .section { padding-block: 4.5rem; }
  .section__header { margin-bottom: 2.5rem; }
  .section__header > p, .section__closing { font-size: 1.125rem; }
  .hero { padding-block: 2.25rem 3rem; }
  .hero__content { width: min(100% - 3rem, 64rem); }
  .hero__eyebrow { padding-inline: 1.5rem; letter-spacing: 0.12em; }
  .hero__description { font-size: 1.2rem; }
  .hero__mockup { margin-block: 1.2rem; }
  .cta, .hero__cta { min-height: 4.75rem; }
  .carousel__slide { flex-basis: calc((100% - 1rem) / 2); }
  .result-card { padding: 1.25rem 1.25rem 1.5rem; }
  .result-card h3 { font-size: 3rem; }
  .result-card > p { font-size: 1.125rem; }
  .benefits__grid { width: 68%; gap: 0.85rem; }
  .benefits__portrait { left: max(0px, calc((100vw - 1440px) / 2)); }
  .benefit { padding: 1.25rem; gap: 1rem; align-items: center; }
  .benefit h3 { font-size: 1.15rem; }
  .benefit p { font-size: 1.0625rem; }
  .benefit__icon { flex-basis: 4rem; min-height: 4rem; padding-right: 1rem; }
  .benefit__icon svg { width: 2.5rem; height: 2.5rem; }
  .audience__list { width: 64%; gap: 0.8rem; }
  .audience__list li { font-size: 1.0625rem; padding: 1.1rem; gap: 1rem; min-height: 6rem; }
  .audience__icon { flex-basis: 3.5rem; height: 3.5rem; }
  .audience__icon svg { width: 2rem; height: 2rem; }
  .audience__closing { max-width: 45rem; padding: 1.3rem; }
  .audience__check { flex-basis: 3rem; height: 3rem; }
  .audience__closing p { font-size: 1.125rem; }
  .about__text { width: 55%; font-size: 1.0625rem; line-height: 1.6; }
  .about__text p { margin-top: 1.1rem; }
  .about__layout { min-height: 28rem; margin-top: 0.4rem; padding-top: 0.01px; }
  .about__portrait { position: absolute; inset: -2rem -1.5rem 0; width: auto; aspect-ratio: auto; margin: 0; border: 0; border-radius: 0; background: none; pointer-events: none; mask-image: linear-gradient(180deg, #000 0% 82%, transparent); }
  .about__portrait img { position: absolute; top: 0; right: -12%; width: 73%; max-width: none; margin: 0; mask-image: linear-gradient(180deg, #000 0% 72%, transparent 100%); }
  .about__portrait::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #faf7ef 0% 49%, #faf7eff2 55%, transparent 68%); }
  .about__closing { max-width: 44rem; }
  .about__action .cta { margin-left: 0; }
  .faq summary { padding: 1.25rem; font-size: 1.125rem; }
  .faq__answer { padding-inline: 1.25rem; }
  .site-footer { padding-block: 3.5rem 3rem; }
}
@media (min-width: 64rem) {
  /* Composição exclusiva para computador; celular e tablet mantêm o layout aprovado. */
  .hero { padding-block: 4.5rem; }
  .hero__content { display: grid; grid-template-columns: 1fr 1fr; column-gap: 3rem; width: min(100% - 6rem, 74rem); text-align: left; }
  .hero__eyebrow { grid-column: 1; grid-row: 1; justify-self: start; padding: 0.7rem 1rem; font-size: 0.75rem; letter-spacing: 0.07em; }
  .hero__title { grid-column: 1; grid-row: 2; margin: 1.5rem 0 0; font-size: clamp(3rem, 4vw, 3.6rem); line-height: 1.04; }
  .hero__title-end { font-size: 0.7em; line-height: 1.15; }
  .hero__divider { grid-column: 1; grid-row: 3; margin: 1.4rem 0; }
  .hero__description { grid-column: 1; grid-row: 4; margin: 0; font-size: 1.125rem; line-height: 1.65; }
  .hero__mockup { grid-column: 2; grid-row: 1 / 6; align-self: center; justify-self: center; left: auto; transform: none; width: 112%; margin: 0; }
  .hero__cta { grid-column: 1; grid-row: 5; width: min(100%, 30rem); min-height: 4.25rem; margin: 1.75rem 0 0; font-size: 1.05rem; }

  .benefits { display: grid; grid-template-columns: minmax(1.5rem, 1fr) minmax(0, 22rem) minmax(0, 52rem) minmax(1.5rem, 1fr); background: radial-gradient(ellipse at 28% 50%, #b28a4621, transparent 38%), #030e18; }
  .benefits::before { content: none; }
  .benefits > .container { display: contents; }
  .benefits .section__header { grid-column: 2 / 4; grid-row: 1; max-width: 52rem; margin-bottom: 3rem; }
  .benefits h2 { font-size: 2.8rem; }
  .benefits__portrait { position: relative; grid-column: 2; grid-row: 2; align-self: center; inset: auto; z-index: 0; aspect-ratio: 0.48; overflow: hidden; margin-right: 1.75rem; mask-image: linear-gradient(180deg, #000 0% 85%, transparent); }
  .benefits__portrait img { position: absolute; left: 0; top: -10%; width: 220%; max-width: none; height: auto; opacity: 1; }
  .benefits__grid { grid-column: 3; grid-row: 2; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 0; }
  .benefit { align-items: flex-start; gap: 0.8rem; padding: 1.2rem; border-color: #b7985c47; background: linear-gradient(135deg, #102331, #081723); }
  .benefit__icon { flex-basis: 2.5rem; min-height: 2.8rem; padding-right: 0.7rem; }
  .benefit__icon svg { width: 1.8rem; height: 1.8rem; }
  .benefit h3 { font-size: 1.0625rem; }
  .benefit p { font-size: 0.9375rem; line-height: 1.5; }
  .benefits .section__closing { grid-column: 2 / 4; grid-row: 3; width: min(100%, 46rem); margin: 2rem auto 1.5rem; background: #091a26; border-color: #b7985c47; }
  .benefits .cta { grid-column: 2 / 4; grid-row: 4; }

  .audience { background: radial-gradient(ellipse at 50% 25%, #172c3a70, transparent 65%), #030e18; }
  .audience > .container { width: min(100% - 6rem, 68rem); }
  .audience h2 { max-width: 54rem; margin-bottom: 2.8rem; font-size: 2.8rem; }
  .audience__portrait { display: none; }
  .audience__list { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; gap: 1rem; }
  .audience__list li { min-height: 7rem; padding: 1.4rem; gap: 1.1rem; border-color: #b7985c55; background: linear-gradient(135deg, #102331, #081723); font-size: 1.0625rem; line-height: 1.5; }
  .audience__icon { flex-basis: 3rem; height: 3rem; background: #04131f; }
  .audience__icon svg { width: 1.75rem; height: 1.75rem; }
  .audience__closing { max-width: 46rem; margin: 2rem auto 1.5rem; padding: 1.25rem; border-color: #b7985c70; }
  .audience__closing p { font-size: 1.0625rem; }
  .audience .cta { width: min(100%, 34rem); min-height: 4.25rem; margin-inline: auto; font-size: 1.05rem; }

  .about__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); column-gap: 3.5rem; width: min(100% - 6rem, 74rem); }
  .about__header { grid-column: 1; grid-row: 1; max-width: none; }
  .about h2 { font-size: 2.65rem; }
  .about__name { margin-top: 1.5rem; font-size: 2rem; }
  .about__layout { display: contents; }
  .about__text { grid-column: 1; grid-row: 2; width: 100%; font-size: 1rem; line-height: 1.65; }
  .about__portrait { position: relative; grid-column: 2; grid-row: 1 / 5; align-self: center; inset: auto; width: 100%; aspect-ratio: 17 / 20; margin: 0; border: 1px solid #b1843c99; border-radius: 1.5rem; background: radial-gradient(ellipse at 50% 25%, #fffdf7, #ead5b1); box-shadow: 0 1rem 3rem #80633b14; mask-image: none; }
  .about__portrait img { position: static; width: 100%; max-width: 100%; height: auto; margin: 1rem 0 0; mask-image: none; }
  .about__portrait::after { content: none; }
  .about__closing { grid-column: 1; grid-row: 3; margin: 1.5rem 0; }
  .about__action { grid-column: 1; grid-row: 4; }
  .about__action .cta { min-height: 4.25rem; font-size: 1.05rem; }
}
