/* ═══════════════════════════════════════════════════════════
   GRUPO YASMIN FERREIRA — Harmonização Facial Avançada
   Paleta: off-white acetinado · pérola · champanhe · ouro rosé
   ═══════════════════════════════════════════════════════════ */

:root {
  /* Atmosfera */
  --bg:            #f7f2ec;   /* off-white acetinado */
  --bg-deep:       #efe6da;   /* pérola sombreada */
  --ink:           #2e2620;   /* marrom-carvão (texto) */
  --ink-soft:      #6d5f52;

  /* Metais */
  --champagne:     #e8d3b0;
  --gold:          #c9a06a;
  --gold-rose:     #d4a37f;
  --gold-deep:     #a97c46;

  /* Vidro */
  --glass-bg:      rgba(255, 252, 247, 0.55);
  --glass-stroke:  rgba(212, 163, 127, 0.35);
  --glass-blur:    18px;

  --font-display: "Cormorant Garamond", Georgia, serif;
  --font-body:    "Jost", "Segoe UI", system-ui, sans-serif;

  --ease-lux: cubic-bezier(0.22, 1, 0.36, 1);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

/* scroll-behavior:smooth nativo quebra as medições de pin do
   ScrollTrigger (refresh mede durante o scroll assíncrono).
   A suavidade das âncoras é feita via JS em initAnchors(). */

body {
  background:
    radial-gradient(1200px 800px at 85% -10%, rgba(232, 211, 176, 0.45), transparent 60%),
    radial-gradient(900px 700px at -10% 40%, rgba(212, 163, 127, 0.18), transparent 55%),
    var(--bg);
  color: var(--ink);
  font-family: var(--font-body);
  font-weight: 300;
  line-height: 1.7;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

img, video { display: block; max-width: 100%; }

/* ── Vidro fosco ─────────────────────────────────────────── */
.glass,
.glass-card {
  background: var(--glass-bg);
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(1.25);
  backdrop-filter: blur(var(--glass-blur)) saturate(1.25);
  border: 1px solid var(--glass-stroke);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.8) inset,
    0 20px 50px -20px rgba(169, 124, 70, 0.25);
}

.glass-card { border-radius: 28px; overflow: hidden; }

/* ── Tipografia de seção ────────────────────────────────── */
.section-eyebrow {
  font-size: 0.78rem;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: var(--gold-deep);
  margin-bottom: 1rem;
}

.section-title {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(2.2rem, 4.5vw, 3.6rem);
  line-height: 1.12;
  letter-spacing: 0.01em;
}

.section-title .amp { font-style: italic; color: var(--gold); }

/* ── Botões ─────────────────────────────────────────────── */
.btn {
  display: inline-block;
  padding: 0.95rem 2.2rem;
  border-radius: 999px;
  font-size: 0.82rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-decoration: none;
  transition: transform 0.5s var(--ease-lux), box-shadow 0.5s var(--ease-lux), background 0.4s;
  will-change: transform;
}

.btn--gold {
  color: #fffaf3;
  background: linear-gradient(135deg, var(--gold-rose), var(--gold-deep));
  box-shadow: 0 12px 30px -10px rgba(169, 124, 70, 0.55);
}
.btn--gold:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 45px -12px rgba(169, 124, 70, 0.7),
              0 0 0 1px rgba(255, 240, 214, 0.6) inset;
}

.btn--ghost {
  color: var(--gold-deep);
  border: 1px solid var(--glass-stroke);
  background: rgba(255, 252, 247, 0.4);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.btn--ghost:hover { transform: translateY(-3px); background: rgba(255,252,247,0.75); }

/* ═══ NAV ═══════════════════════════════════════════════── */
.nav {
  position: fixed;
  inset: 1.1rem 1.4rem auto;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 0.8rem 1.6rem;
  border-radius: 999px;
  transition: box-shadow 0.5s;
}

.nav__brand { text-decoration: none; color: var(--ink); line-height: 1.2; }
.nav__brand-name {
  display: block;
  font-family: var(--font-display);
  font-size: 1.25rem;
  letter-spacing: 0.08em;
}
.nav__brand-sub {
  display: block;
  font-size: 0.6rem;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--gold-deep);
}

.nav__links { display: flex; gap: 2rem; }
.nav__links a {
  color: var(--ink-soft);
  text-decoration: none;
  font-size: 0.8rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  position: relative;
  transition: color 0.35s;
}
.nav__links a::after {
  content: "";
  position: absolute;
  left: 0; bottom: -6px;
  width: 100%; height: 1px;
  background: linear-gradient(90deg, var(--gold), transparent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.45s var(--ease-lux);
}
.nav__links a:hover { color: var(--gold-deep); }
.nav__links a:hover::after { transform: scaleX(1); }

.nav__cta { padding: 0.7rem 1.6rem; }

/* ═══ HERO ══════════════════════════════════════════════── */
.hero {
  position: relative;
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 8rem 6vw 4rem;
  overflow: hidden;
}

/* atmosfera: orbes de luz + grão */
.hero__atmo { position: absolute; inset: 0; pointer-events: none; }
.atmo__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(70px);
  opacity: 0.55;
}
.atmo__orb--1 {
  width: 46vw; height: 46vw;
  top: -12vw; right: -8vw;
  background: radial-gradient(circle, rgba(232,211,176,0.9), rgba(212,163,127,0.15) 65%, transparent 75%);
}
.atmo__orb--2 {
  width: 34vw; height: 34vw;
  bottom: -10vw; left: -8vw;
  background: radial-gradient(circle, rgba(212,163,127,0.55), transparent 70%);
}
.atmo__grain {
  position: absolute; inset: 0;
  opacity: 0.05;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
  max-width: 1300px;
  width: 100%;
}

.hero__eyebrow {
  font-size: 0.8rem;
  letter-spacing: 0.5em;
  text-transform: uppercase;
  color: var(--gold-deep);
  margin-bottom: 1.4rem;
}

.hero__title {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(2.6rem, 5.2vw, 4.4rem);
  line-height: 1.08;
  margin-bottom: 1.6rem;
}

/* letras injetadas pelo split — estado inicial via JS/GSAP */
.hero__title .char { display: inline-block; will-change: transform, opacity; }
.hero__title .word { display: inline-block; white-space: nowrap; }

.hero__lead {
  max-width: 46ch;
  color: var(--ink-soft);
  font-size: 1.05rem;
  margin-bottom: 2.4rem;
}

.hero__actions { display: flex; flex-wrap: wrap; gap: 1rem; }

/* — Cena Tilt 3D — */
.hero__visual {
  position: relative;
  perspective: 1200px;
  aspect-ratio: 1 / 1.05;
  max-height: 74vh;
}

.tilt__layer {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
  will-change: transform;
}

.tilt__layer--halo {
  background: radial-gradient(circle at 50% 42%,
    rgba(232, 211, 176, 0.75), rgba(212, 163, 127, 0.2) 55%, transparent 72%);
  filter: blur(30px);
}

.tilt__layer--media {
  border-radius: 36px;
}
.tilt__layer--media img,
.tilt__layer--media video {
  width: 100%; height: 100%;
  object-fit: cover;
}

.tilt__layer--ring {
  inset: -4%;
  border-radius: 44px;
  border: 1px solid rgba(212, 163, 127, 0.45);
  box-shadow: 0 0 60px -18px rgba(201, 160, 106, 0.5) inset;
  pointer-events: none;
}

.hero__scrollcue {
  position: absolute;
  bottom: 2.2rem; left: 50%;
  width: 1px; height: 64px;
  background: linear-gradient(var(--gold), transparent);
  overflow: hidden;
}
.hero__scrollcue span {
  position: absolute; top: -30%;
  width: 100%; height: 30%;
  background: #fff6e6;
  animation: cue 2.2s var(--ease-lux) infinite;
}
@keyframes cue { to { top: 110%; } }

/* ═══ MÉTODO (pinned) ═══════════════════════════════════── */
.method { position: relative; }

.method__stage {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  align-items: center;
  gap: clamp(2rem, 4vw, 4rem);
  padding: 6rem 6vw;
  max-width: 1400px;
  margin: 0 auto;
}

.method__media {
  position: relative;
  border-radius: 32px;
  overflow: hidden;
  box-shadow: 0 40px 90px -35px rgba(46, 38, 32, 0.55);
}
.method__media img, .method__media video { width: 100%; }

.method__threads { position: absolute; inset: 0; width: 100%; height: 100%; }

.thread {
  /* dasharray/offset definidos por JS conforme comprimento real */
  opacity: 0.95;
}
.thread-nodes circle { opacity: 0; }

/* pulso contínuo após acender (classe aplicada pelo JS) */
.threads.is-lit .thread { animation: threadPulse 2.6s ease-in-out infinite; }
@keyframes threadPulse {
  0%, 100% { filter: none; opacity: 0.85; }
  50%      { opacity: 1; }
}

.method__veil {
  position: absolute; inset: 0;
  background: linear-gradient(200deg, rgba(46,38,32,0) 55%, rgba(46,38,32,0.35));
  pointer-events: none;
}

.method__copy {
  border-radius: 28px;
  padding: clamp(2rem, 3vw, 3.2rem);
}

.method__step {
  color: var(--ink-soft);
  margin-top: 1.4rem;
  opacity: 0.28;
  transition: opacity 0.6s var(--ease-lux), transform 0.6s var(--ease-lux);
  transform: translateY(6px);
}
.method__step.is-active { opacity: 1; transform: none; }
.method__step strong { color: var(--ink); font-weight: 500; }

.method__progress {
  margin-top: 2rem;
  height: 2px;
  background: rgba(169, 124, 70, 0.18);
  border-radius: 2px;
  overflow: hidden;
}
#method-bar {
  display: block;
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, var(--champagne), var(--gold-deep));
}

/* ═══ TECNOLOGIAS ═══════════════════════════════════════── */
.tech { padding: 9rem 6vw; max-width: 1300px; margin: 0 auto; }

.tech__head { text-align: center; margin-bottom: 4rem; }

.tech__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: clamp(1.5rem, 3vw, 2.5rem);
}

.tech-card {
  cursor: pointer;
  transition:
    transform 0.6s var(--ease-lux),
    box-shadow 0.6s var(--ease-lux);
  outline: none;
}

.tech-card:hover,
.tech-card:focus-visible {
  transform: translateY(-10px);
  /* brilho interno ouro rosé */
  box-shadow:
    0 1px 0 rgba(255,255,255,0.85) inset,
    0 0 55px -8px rgba(212, 163, 127, 0.55) inset,
    0 34px 70px -25px rgba(169, 124, 70, 0.5);
}

.tech-card__media {
  aspect-ratio: 16 / 11;
  overflow: hidden;
}
.tech-card__media img,
.tech-card__media video {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 1.2s var(--ease-lux);
  will-change: transform;
}
.tech-card:hover .tech-card__media img,
.tech-card:hover .tech-card__media video,
.tech-card:focus-visible .tech-card__media img,
.tech-card:focus-visible .tech-card__media video {
  transform: scale(1.07);
}

.tech-card__body { padding: 1.8rem 2rem 2.2rem; }
.tech-card__body h3 {
  font-family: var(--font-display);
  font-size: 1.7rem;
  font-weight: 500;
  margin-bottom: 0.6rem;
}
.tech-card__body p { color: var(--ink-soft); font-size: 0.96rem; }

.tech-card__tag {
  display: inline-block;
  margin-top: 1.2rem;
  font-size: 0.68rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--gold-deep);
  border-top: 1px solid var(--glass-stroke);
  padding-top: 0.9rem;
}

/* ═══ TECNOLOGIA DE PONTA — banda imersiva escura ═══════── */
.techlive {
  position: relative;
  overflow: hidden;
  padding: 8rem 6vw;
  background:
    radial-gradient(900px 600px at 80% 15%, rgba(201, 160, 106, 0.14), transparent 60%),
    radial-gradient(700px 500px at 10% 85%, rgba(212, 163, 127, 0.1), transparent 60%),
    linear-gradient(160deg, #241c15, #2e2620 55%, #241c15);
  color: #f4ead9;
}

.section-eyebrow--light { color: var(--champagne); }
.techlive .section-title { color: #faf3e6; }

.techlive__particles {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

/* anéis de ultrassom emanando atrás das fotos */
.techlive__rings {
  position: absolute;
  left: 26%; top: 50%;
  width: 0; height: 0;
  pointer-events: none;
}
.techlive__rings span {
  position: absolute;
  left: 50%; top: 50%;
  width: 32vw; height: 32vw;
  transform: translate(-50%, -50%) scale(0.3);
  border-radius: 50%;
  border: 1px solid rgba(227, 184, 120, 0.5);
  opacity: 0;
  animation: ringPulse 5.2s cubic-bezier(0.2, 0.6, 0.4, 1) infinite;
}
.techlive__rings span:nth-child(2) { animation-delay: 1.7s; }
.techlive__rings span:nth-child(3) { animation-delay: 3.4s; }
@keyframes ringPulse {
  0%   { transform: translate(-50%, -50%) scale(0.3); opacity: 0; }
  12%  { opacity: 0.85; }
  100% { transform: translate(-50%, -50%) scale(1.5); opacity: 0; }
}

.techlive__inner {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: clamp(2.5rem, 5vw, 5rem);
  max-width: 1250px;
  margin: 0 auto;
}

.techlive__gallery { position: relative; min-height: 560px; }

.techlive__photo {
  position: absolute;
  width: 64%;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid rgba(227, 184, 120, 0.35);
  box-shadow: 0 40px 90px -30px rgba(0, 0, 0, 0.7),
              0 0 60px -20px rgba(201, 160, 106, 0.35);
}
.techlive__photo img { width: 100%; display: block; }

.techlive__photo:first-child { left: 0; top: 0; z-index: 2; }
.techlive__photo--alt {
  right: 0; bottom: 0;
  width: 52%;
  z-index: 1;
  opacity: 0.96;
}

.techlive__lead { color: #cbb99e; max-width: 48ch; margin-bottom: 1.8rem; }

.techlive__points {
  list-style: none;
  margin-bottom: 2.4rem;
  display: grid;
  gap: 0.85rem;
}
.techlive__points li {
  position: relative;
  padding-left: 1.8rem;
  color: #e6d7bd;
  font-size: 0.97rem;
}
.techlive__points li::before {
  content: "";
  position: absolute;
  left: 0; top: 0.55em;
  width: 9px; height: 9px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #f9e7c8, var(--gold-deep));
  box-shadow: 0 0 10px rgba(227, 184, 120, 0.8);
}

@media (max-width: 980px) {
  .techlive__inner { grid-template-columns: 1fr; }
  .techlive__gallery { min-height: 0; height: 72vw; max-height: 480px; }
  .techlive__rings { left: 50%; top: 30%; }
}

/* ═══ ANTES & DEPOIS — slider ═══════════════════════════── */
.results { padding: 9rem 6vw; max-width: 1300px; margin: 0 auto; }

.results__head { text-align: center; margin-bottom: 3.5rem; }
.results__hint {
  margin-top: 1rem;
  font-size: 0.8rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--gold-deep);
}

.results__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: clamp(1.2rem, 2.5vw, 2rem);
}

.ba-card {
  position: relative;
  aspect-ratio: 3 / 4;
  cursor: ew-resize;
  touch-action: pan-y;          /* permite scroll vertical no mobile */
  user-select: none;
  --pos: 50%;                   /* posição da linha divisória */
}

.ba-img {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 22%;  /* rostos ficam no terço superior */
  pointer-events: none;
}

/* a imagem "antes" fica por cima, recortada até --pos */
.ba-img--antes {
  clip-path: inset(0 calc(100% - var(--pos)) 0 0);
}

.ba-handle {
  position: absolute;
  top: 0; bottom: 0;
  left: var(--pos);
  width: 2px;
  transform: translateX(-1px);
  background: linear-gradient(rgba(249,231,200,0.2), #e3b878, rgba(249,231,200,0.2));
  box-shadow: 0 0 18px rgba(227, 184, 120, 0.8);
  pointer-events: none;
}

.ba-knob {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 44px; height: 44px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: rgba(255, 252, 247, 0.75);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border: 1px solid var(--gold);
  color: var(--gold-deep);
  font-size: 0.9rem;
  letter-spacing: -0.05em;
}

.ba-label {
  position: absolute;
  bottom: 0.9rem;
  padding: 0.3rem 0.9rem;
  border-radius: 999px;
  font-size: 0.62rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  background: rgba(46, 38, 32, 0.45);
  color: #fff6e6;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  pointer-events: none;
}
.ba-label--antes { left: 0.9rem; }
.ba-label--depois { right: 0.9rem; }

/* ═══ EQUIPE ════════════════════════════════════════════── */
.team { padding: 9rem 6vw; max-width: 1200px; margin: 0 auto; }

.team__head { text-align: center; margin-bottom: 4rem; }

.team__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: clamp(1.5rem, 3vw, 2.5rem);
}

.team-card {
  transition: transform 0.6s var(--ease-lux), box-shadow 0.6s var(--ease-lux);
}
.team-card:hover {
  transform: translateY(-8px);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.85) inset,
    0 0 45px -10px rgba(212, 163, 127, 0.5) inset,
    0 30px 60px -22px rgba(169, 124, 70, 0.5);
}

.team-card__photo {
  aspect-ratio: 4 / 5;
  overflow: hidden;
}
.team-card__photo img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center top;
  transition: transform 1.2s var(--ease-lux);
}
.team-card:hover .team-card__photo img { transform: scale(1.06); }

.team-card__body { padding: 1.5rem 1.8rem 1.8rem; text-align: center; }
.team-card__body h3 {
  font-family: var(--font-display);
  font-size: 1.45rem;
  font-weight: 500;
}
.team-card__role {
  margin-top: 0.4rem;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold-deep);
}

.team-card__bio {
  margin-top: 0.9rem;
  padding-top: 0.9rem;
  border-top: 1px solid var(--glass-stroke);
  font-size: 0.88rem;
  color: var(--ink-soft);
  text-align: left;
}

/* ═══ CIÊNCIA — parallax ════════════════════════════════── */
.science {
  position: relative;
  padding: 11rem 6vw;
  overflow: hidden;
  background: linear-gradient(var(--bg), var(--bg-deep) 30%, var(--bg));
}

.science__layers { position: absolute; inset: -20% 0; pointer-events: none; }

.science__layer {
  position: absolute;
  will-change: transform;
  opacity: 0.5;
  filter: saturate(1.05);
}
.science__layer:nth-child(1) { inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.3; }
.science__layer--burst { width: clamp(260px, 30vw, 460px); top: 8%;  right: 4vw;  border-radius: 50%; }
.science__layer--drop  { width: clamp(220px, 24vw, 380px); bottom: 6%; left: 3vw; border-radius: 50%; }

.science__content { position: relative; max-width: 1100px; margin: 0 auto; }

.science__blocks {
  margin-top: 3.5rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.8rem;
}

.science-block {
  border-radius: 24px;
  padding: 2.2rem 2rem;
  transition: transform 0.6s var(--ease-lux), box-shadow 0.6s var(--ease-lux);
}
.science-block:hover {
  transform: translateY(-6px);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.85) inset,
    0 0 40px -10px rgba(212,163,127,0.4) inset,
    0 26px 55px -22px rgba(169,124,70,0.45);
}
.science-block h3 {
  font-family: var(--font-display);
  font-size: 1.45rem;
  font-weight: 500;
  margin-bottom: 0.7rem;
}
.science-block p { color: var(--ink-soft); font-size: 0.94rem; }

/* ═══ SOBRE ═════════════════════════════════════════════── */
.about {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  align-items: center;
  gap: clamp(2.5rem, 5vw, 6rem);
  padding: 9rem 6vw;
  max-width: 1200px;
  margin: 0 auto;
}

.about__portrait { border-radius: 32px; }
.about__portrait img { width: 100%; }

.about__copy p { color: var(--ink-soft); margin: 1.4rem 0; max-width: 52ch; }

.about__quote {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.5rem;
  line-height: 1.4;
  color: var(--gold-deep);
  border-left: 2px solid var(--gold);
  padding-left: 1.4rem;
  margin: 2rem 0 2.4rem;
}

/* ═══ FOOTER ════════════════════════════════════════════── */
.footer { padding: 0 1.4rem 1.4rem; }

.footer__inner {
  border-radius: 28px;
  padding: 2.4rem 3rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

.footer__brand { font-family: var(--font-display); font-size: 1.3rem; }
.footer__sub {
  font-size: 0.6rem;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--gold-deep);
}

.footer__links { display: flex; gap: 1.6rem; }
.footer__links a {
  color: var(--ink-soft);
  text-decoration: none;
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.footer__links a:hover { color: var(--gold-deep); }

.footer__legal { font-size: 0.75rem; color: var(--ink-soft); }

/* ═══ RESPONSIVO ════════════════════════════════════════── */
@media (max-width: 980px) {
  .nav__links { display: none; }

  .hero__inner { grid-template-columns: 1fr; text-align: center; }
  .hero__lead { margin-inline: auto; }
  .hero__actions { justify-content: center; }
  .hero__visual { max-width: 420px; margin: 0 auto; width: 100%; }

  .method__stage { grid-template-columns: 1fr; padding-top: 4rem; }
  .about { grid-template-columns: 1fr; }
  .about__portrait { max-width: 420px; }
}

/* ═══ ACESSIBILIDADE — motion ═══════════════════════════── */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
