@import url('variables.css');

/* ==========================================================================
   Teia de Reia — fonts
   ========================================================================== */

@font-face {
  font-family: 'Bodoni Moda';
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url("../fonts/bodoni-moda-italic-math.woff2") format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url("../fonts/bodoni-moda-italic-symbols.woff2") format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url("../fonts/bodoni-moda-italic-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url("../fonts/bodoni-moda-italic-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("../fonts/bodoni-moda-normal-math.woff2") format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("../fonts/bodoni-moda-normal-symbols.woff2") format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("../fonts/bodoni-moda-normal-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("../fonts/bodoni-moda-normal-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/jetbrains-mono-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/jetbrains-mono-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/jetbrains-mono-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/jetbrains-mono-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/jetbrains-mono-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/jetbrains-mono-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================================
   Base
   ========================================================================== */

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--color-bg-primary);
  color: var(--color-text);
  font-family: 'Hanken Grotesk', system-ui, sans-serif;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; }

::selection { background: rgba(245, 158, 11, .35); color: var(--color-gold-soft); }

.mono {
  font-family: 'JetBrains Mono', monospace;
}

@keyframes tdr-breathe {
  0%, 100% { opacity: .55; transform: scale(1); }
  50% { opacity: .85; transform: scale(1.04); }
}

@keyframes tdr-glowpulse {
  0%, 100% { box-shadow: 0 0 24px rgba(107, 33, 168, 0.4), 0 0 60px rgba(107, 33, 168, 0.15); }
  50% { box-shadow: 0 0 48px rgba(139, 92, 246, 0.7), 0 0 100px rgba(107, 33, 168, 0.3); }
}

/* ==========================================================================
   Background layers
   ========================================================================== */

#tdr-canvas {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  z-index: 0;
  pointer-events: none;
  display: block;
}

.tdr-nebula {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.tdr-nebula__blob {
  position: absolute;
  border-radius: 50%;
  animation: tdr-breathe 14s ease-in-out infinite;
}

.tdr-nebula__blob--1 {
  top: -10%;
  left: -15%;
  width: 70vw;
  height: 70vw;
  background: radial-gradient(circle, rgba(107, 33, 168, 0.45), rgba(107, 33, 168, 0) 68%);
  filter: blur(30px);
}

.tdr-nebula__blob--2 {
  top: 35%;
  right: -20%;
  width: 65vw;
  height: 65vw;
  background: radial-gradient(circle, rgba(139, 92, 246, 0.32), rgba(139, 92, 246, 0) 66%);
  filter: blur(34px);
  animation-duration: 18s;
  animation-delay: 2s;
}

.tdr-nebula__blob--3 {
  bottom: -10%;
  left: 20%;
  width: 55vw;
  height: 55vw;
  background: radial-gradient(circle, rgba(45, 212, 191, 0.10), rgba(45, 212, 191, 0) 62%);
  filter: blur(40px);
  animation-duration: 22s;
  animation-delay: 4s;
}

.tdr-page {
  position: relative;
  z-index: 1;
}

/* ==========================================================================
   Reveal-on-scroll
   ========================================================================== */

[data-reveal] {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.9s cubic-bezier(.2, .7, .2, 1), transform 0.9s cubic-bezier(.2, .7, .2, 1);
}

[data-reveal].is-visible {
  opacity: 1;
  transform: none;
}

/* ==========================================================================
   Nav
   ========================================================================== */

.tdr-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px clamp(20px, 5vw, 64px);
  backdrop-filter: blur(12px);
  background: linear-gradient(180deg, rgba(5, 0, 16, 0.72), rgba(5, 0, 16, 0));
  border-bottom: 1px solid rgba(167, 139, 250, 0.08);
}

.tdr-nav__brand {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}

.tdr-nav__logo {
  height: 42px;
  width: auto;
  filter: brightness(1.35) saturate(1.1) drop-shadow(0 0 10px rgba(139, 92, 246, 0.5));
}

.tdr-nav__links {
  display: flex;
  align-items: center;
  gap: clamp(14px, 2.4vw, 34px);
}

.tdr-nav__links a {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(240, 230, 255, 0.6);
  text-decoration: none;
}

/* ==========================================================================
   Hero
   ========================================================================== */

.tdr-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  /* topo fica maior que --section-padding-y de propósito: precisa
     limpar a nav fixa (~78px), senão o título fica atrás dela */
  padding: clamp(72px, 7vw, 92px) var(--section-padding-x) var(--section-padding-y);
}

.tdr-hero__inner {
  max-width: 1000px;
}

.tdr-hero__avatar {
  position: relative;
  width: clamp(140px, 18vw, 176px);
  height: clamp(140px, 18vw, 176px);
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 40px;
  animation: tdr-glowpulse 4s ease-in-out infinite;
}

.tdr-hero__avatar img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  -webkit-mask-image: radial-gradient(circle at 50% 50%, black 60%, transparent 80%);
  mask-image: radial-gradient(circle at 50% 50%, black 60%, transparent 80%);
}

.tdr-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 34px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--color-gold);
  position: relative;
}

.tdr-hero__title {
  font-family: 'Bodoni Moda', serif;
  font-weight: 500;
  font-size: clamp(42px, 7.2vw, 104px);
  line-height: 1.02;
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--color-text);
  text-shadow: 0 0 60px rgba(107, 33, 168, 0.5);
}

.tdr-hero__title span { display: block; }

.tdr-hero__title span.is-accent {
  font-style: italic;
  background: linear-gradient(100deg, var(--color-gold-soft), var(--color-purple-light) 55%, var(--color-purple-mid));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.tdr-hero__sub {
  max-width: 620px;
  margin: 32px auto 0;
  font-size: clamp(16px, 1.5vw, 20px);
  line-height: 1.65;
  color: rgba(240, 230, 255, 0.72);
  font-weight: 300;
}

.tdr-hero__actions {
  margin-top: 44px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.tdr-hero__hint {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-teal);
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.tdr-btn {
  text-decoration: none;
  display: inline-block;
  cursor: pointer;
  font-family: 'JetBrains Mono', monospace;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--color-text);
  padding: 17px 40px;
  border-radius: var(--radius-full);
  background: var(--gradient-cta);
  box-shadow: 0 0 34px rgba(139, 92, 246, 0.55), 0 0 70px rgba(107, 33, 168, 0.35);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.tdr-btn:hover {
  box-shadow: 0 0 44px rgba(139, 92, 246, 0.8), 0 0 90px rgba(107, 33, 168, 0.5);
  transform: translateY(-2px);
}

.tdr-btn--sm {
  padding: 16px 40px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  box-shadow: 0 0 30px rgba(139, 92, 246, 0.55);
}

.tdr-btn--sm:hover {
  box-shadow: 0 0 44px rgba(139, 92, 246, 0.8);
}

/* ==========================================================================
   Section shared
   ========================================================================== */

.tdr-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: 22px;
}

.tdr-section-title {
  font-family: 'Bodoni Moda', serif;
  font-weight: 500;
  font-size: clamp(34px, 5vw, 64px);
  line-height: 1.08;
  margin: 0;
  color: var(--color-text);
}

/* ==========================================================================
   01 · O espelho
   ========================================================================== */

.tdr-espelho {
  position: relative;
  padding: var(--section-padding-y) var(--section-padding-x);
  max-width: 1180px;
  margin: 0 auto;
}

.tdr-espelho__intro {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 64px;
}

.tdr-espelho__intro .tdr-eyebrow { text-align: left; }

.tdr-espelho__intro em { font-style: italic; color: var(--color-purple-light); }

.tdr-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
}

.tdr-card {
  padding: 34px 30px;
  border: 1px solid rgba(167, 139, 250, 0.14);
  border-radius: 18px;
  background: linear-gradient(160deg, rgba(13, 11, 42, 0.6), rgba(5, 0, 16, 0.4));
  backdrop-filter: blur(6px);
}

.tdr-card__mark {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  color: var(--color-gold);
}

.tdr-card p {
  margin: 16px 0 0;
  font-size: 18px;
  line-height: 1.55;
  color: rgba(240, 230, 255, 0.82);
}

.tdr-card p .highlight { color: var(--color-gold-soft); }

.tdr-espelho__closing {
  text-align: center;
  margin-top: 56px;
}

.tdr-espelho__closing p {
  font-family: 'Bodoni Moda', serif;
  font-style: italic;
  font-size: clamp(22px, 3vw, 34px);
  color: var(--color-teal);
  margin: 0;
}

/* ==========================================================================
   02 · O invisível que governa
   ========================================================================== */

.tdr-invisivel {
  position: relative;
  padding: var(--section-padding-y) var(--section-padding-x);
  border-top: 1px solid rgba(167, 139, 250, 0.08);
  border-bottom: 1px solid rgba(167, 139, 250, 0.08);
  background: linear-gradient(180deg, rgba(13, 11, 42, 0.55), rgba(5, 0, 16, 0.2));
}

.tdr-invisivel__inner {
  max-width: 1100px;
  margin: 0 auto;
}

.tdr-invisivel__lead {
  max-width: 680px;
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.55;
  color: rgba(240, 230, 255, 0.7);
  font-weight: 300;
  margin: 0 0 70px;
}

.tdr-invisivel__lead .tone-violet { color: var(--color-purple-light); }
.tdr-invisivel__lead .tone-teal { color: var(--color-teal); }

.tdr-invisivel__statement {
  margin: 0 0 24px;
}

.tdr-invisivel__statement p {
  font-family: 'Bodoni Moda', serif;
  font-weight: 500;
  font-size: clamp(38px, 7vw, 88px);
  line-height: 1.04;
  letter-spacing: -0.015em;
  margin: 0;
  color: var(--color-text);
}

.tdr-invisivel__statement .is-accent {
  font-style: italic;
  background: linear-gradient(100deg, var(--color-gold-soft), var(--color-purple-light) 60%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.tdr-invisivel__note {
  max-width: 600px;
  font-size: 17px;
  line-height: 1.6;
  color: rgba(240, 230, 255, 0.6);
  margin: 0 0 80px;
}

.tdr-invisivel__note .tone-teal { color: var(--color-teal); }

.tdr-triade {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 2px;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid rgba(167, 139, 250, 0.16);
}

.tdr-triade__item {
  padding: 40px 32px;
  background: rgba(5, 0, 16, 0.55);
}

.tdr-triade__label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.2em;
  color: var(--color-gold);
  margin-bottom: 18px;
}

.tdr-triade__title {
  font-family: 'Bodoni Moda', serif;
  font-size: 26px;
  line-height: 1.2;
  margin: 0 0 14px;
  color: var(--color-text);
}

.tdr-triade__desc {
  font-size: 15px;
  line-height: 1.6;
  color: rgba(240, 230, 255, 0.6);
  margin: 0;
}

/* ==========================================================================
   03 · Os portais
   ========================================================================== */

.tdr-portais {
  position: relative;
  padding: var(--section-padding-y) var(--section-padding-x);
  max-width: 1180px;
  margin: 0 auto;
}

.tdr-portais__intro {
  max-width: 720px;
  margin: 0 0 60px;
}

.tdr-portais__intro h2 { margin: 0 0 18px; }

.tdr-portais__intro p {
  font-size: 18px;
  line-height: 1.6;
  color: rgba(240, 230, 255, 0.68);
  font-weight: 300;
  margin: 0;
}

.tdr-portal-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 22px;
}

.tdr-portal {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  padding: 36px 32px;
  border-radius: 22px;
  border: 1px solid rgba(167, 139, 250, 0.2);
  min-height: 340px;
  transition: border-color 0.3s ease, transform 0.3s ease;
}

.tdr-portal:hover {
  border-color: rgba(167, 139, 250, 0.55);
  transform: translateY(-4px);
}

.tdr-portal--masterclass { background: linear-gradient(165deg, rgba(107, 33, 168, 0.28), rgba(13, 11, 42, 0.5)); }
.tdr-portal--jornada { background: linear-gradient(165deg, rgba(139, 92, 246, 0.2), rgba(13, 11, 42, 0.5)); }
.tdr-portal--mapa { background: linear-gradient(165deg, rgba(45, 212, 191, 0.14), rgba(13, 11, 42, 0.5)); }

.tdr-portal__tag {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  letter-spacing: 0.18em;
  color: var(--color-gold-soft);
  padding: 5px 12px;
  border: 1px solid rgba(253, 230, 138, 0.4);
  border-radius: var(--radius-full);
  align-self: flex-start;
}

.tdr-portal__title {
  font-family: 'Bodoni Moda', serif;
  font-weight: 500;
  font-size: 30px;
  line-height: 1.12;
  margin: auto 0 14px;
  color: var(--color-text);
}

.tdr-portal__desc {
  font-size: 15.5px;
  line-height: 1.6;
  color: rgba(240, 230, 255, 0.68);
  margin: 0 0 20px;
}

.tdr-portal__cta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.05em;
  color: var(--color-teal);
}

/* ==========================================================================
   04 · Quem guia
   ========================================================================== */

.tdr-sibele {
  position: relative;
  padding: var(--section-padding-y) var(--section-padding-x);
  border-top: 1px solid rgba(167, 139, 250, 0.08);
  background: linear-gradient(180deg, rgba(13, 11, 42, 0.5), rgba(5, 0, 16, 0.15));
}

.tdr-sibele__grid {
  max-width: 1120px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: clamp(36px, 5vw, 72px);
  align-items: center;
}

.tdr-sibele__photo {
  position: relative;
}

.tdr-sibele__photo-glow {
  position: absolute;
  inset: -14px;
  border-radius: 24px;
  background: radial-gradient(circle at 40% 30%, rgba(139, 92, 246, 0.5), transparent 70%);
  filter: blur(30px);
}

.tdr-sibele__photo img {
  position: relative;
  width: 100%;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(167, 139, 250, 0.25);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6);
  display: block;
}

.tdr-sibele__name {
  font-family: 'Bodoni Moda', serif;
  font-weight: 500;
  font-size: clamp(40px, 5.5vw, 68px);
  line-height: 1;
  margin: 0 0 16px;
  color: var(--color-text);
}

.tdr-sibele__role {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.12em;
  line-height: 1.8;
  color: var(--color-purple-light);
  text-transform: uppercase;
  margin: 0 0 28px;
}

.tdr-sibele__bio {
  font-size: 18px;
  line-height: 1.7;
  color: rgba(240, 230, 255, 0.78);
  margin: 0 0 20px;
}

.tdr-sibele__quote {
  font-family: 'Bodoni Moda', serif;
  font-style: italic;
  font-size: clamp(20px, 2.4vw, 26px);
  line-height: 1.4;
  color: var(--color-teal);
  margin: 0;
}

/* ==========================================================================
   Campo / CTA final
   ========================================================================== */

.tdr-campo {
  position: relative;
  padding: var(--section-padding-y) var(--section-padding-x);
}

.tdr-campo__box {
  max-width: 840px;
  margin: 0 auto;
  text-align: center;
  padding: clamp(44px, 6vw, 80px) clamp(28px, 5vw, 64px);
  border-radius: 30px;
  border: 1px solid rgba(167, 139, 250, 0.28);
  background: linear-gradient(165deg, rgba(107, 33, 168, 0.35), rgba(13, 11, 42, 0.7));
  box-shadow: 0 0 80px rgba(107, 33, 168, 0.35), inset 0 0 60px rgba(139, 92, 246, 0.08);
  backdrop-filter: blur(8px);
}

.tdr-campo__label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-gold-soft);
  margin-bottom: 22px;
}

.tdr-campo__video {
  position: relative;
  width: 100%;
  max-width: 640px;
  margin: 0 auto 36px;
  aspect-ratio: 16 / 9;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(167, 139, 250, 0.3);
  box-shadow: 0 0 50px rgba(107, 33, 168, 0.4);
}

.tdr-campo__video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.tdr-campo__title {
  font-family: 'Bodoni Moda', serif;
  font-weight: 500;
  font-size: clamp(32px, 5vw, 58px);
  line-height: 1.08;
  margin: 0 0 20px;
  color: var(--color-text);
}

.tdr-campo__sub {
  font-size: clamp(17px, 2vw, 21px);
  line-height: 1.6;
  color: rgba(240, 230, 255, 0.75);
  font-weight: 300;
  max-width: 560px;
  margin: 0 auto 40px;
}

.tdr-campo__sub .tone-teal { color: var(--color-teal); }

.tdr-campo__footnote {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-teal);
  margin: 22px 0 0;
}

/* ==========================================================================
   05 · Yatra
   ========================================================================== */

.tdr-yatra {
  position: relative;
  padding: var(--section-padding-y) var(--section-padding-x);
  text-align: center;
}

.tdr-yatra__inner {
  max-width: 1000px;
  margin: 0 auto;
}

.tdr-yatra__quote {
  font-family: 'Bodoni Moda', serif;
  font-weight: 500;
  font-style: italic;
  font-size: clamp(34px, 6.2vw, 86px);
  line-height: 1.1;
  letter-spacing: -0.01em;
  margin: 0;
  background: linear-gradient(100deg, var(--color-text), var(--color-purple-light) 45%, var(--color-gold-soft));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.tdr-yatra__author {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-teal);
  margin: 34px 0 0;
}

/* ==========================================================================
   Footer
   ========================================================================== */

.tdr-footer {
  position: relative;
  padding: var(--section-padding-y) var(--section-padding-x);
  border-top: 1px solid rgba(167, 139, 250, 0.1);
  text-align: center;
}

.tdr-footer__logo {
  height: 70px;
  width: auto;
  filter: brightness(1.35) drop-shadow(0 0 14px rgba(139, 92, 246, 0.5));
  margin-bottom: 18px;
}

.tdr-footer__tagline {
  font-family: 'Bodoni Moda', serif;
  font-style: italic;
  font-size: 20px;
  color: var(--color-teal);
  margin: 0 0 8px;
}

.tdr-footer__credit {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #9B59B6;
  margin: 0;
}

/* ==========================================================================
   Pink accent + extra components
   (used by sales landing pages — e.g. hackeando-o-amor-romantico.html)
   ========================================================================== */

.tone-pink { color: #F9A8D4; }

.tdr-eyebrow--pink { color: #EC4899; }

.is-accent-pink {
  font-style: italic;
  background: linear-gradient(100deg, #FBCFE8, #F472B6 55%, var(--color-purple-light));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.tdr-btn--pink {
  background: linear-gradient(135deg, #EC4899, #9B59B6);
  box-shadow: 0 0 34px rgba(236, 72, 153, 0.55), 0 0 70px rgba(107, 33, 168, 0.35);
}

.tdr-btn--pink:hover {
  box-shadow: 0 0 44px rgba(236, 72, 153, 0.8), 0 0 90px rgba(107, 33, 168, 0.5);
}

/* Hero — video-first variant */

.tdr-hero--video {
  min-height: 100vh;
  /* topo mantém clearance da nav fixa, igual .tdr-hero */
  padding: clamp(72px, 7vw, 92px) var(--section-padding-x) var(--section-padding-y);
}

.tdr-hero--video .tdr-hero__title {
  font-size: clamp(30px, 4.4vw, 54px);
  margin-bottom: 8px;
}

.tdr-hero__video {
  position: relative;
  width: 100%;
  max-width: 860px;
  margin: 32px auto 0;
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid rgba(236, 72, 153, 0.35);
  box-shadow: 0 0 60px rgba(236, 72, 153, 0.35), 0 0 110px rgba(107, 33, 168, 0.3);
}

.tdr-hero__video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Numbered cards (reuses .tdr-card mark slot for an index instead of ✦) */

.tdr-card__mark--pink { color: #EC4899; }

/* Pull-quote (Bodoni italic, centered) */

.tdr-pullquote {
  font-family: 'Bodoni Moda', serif;
  font-style: italic;
  font-size: clamp(20px, 2.6vw, 28px);
  line-height: 1.4;
  color: #F9A8D4;
  margin: 0;
  text-align: center;
}

/* Investimento */

.tdr-preco {
  position: relative;
  padding: var(--section-padding-y) var(--section-padding-x);
}

.tdr-preco__box {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
  padding: clamp(44px, 6vw, 72px) clamp(28px, 5vw, 56px);
  border-radius: 30px;
  border: 1px solid rgba(236, 72, 153, 0.3);
  background: linear-gradient(165deg, rgba(236, 72, 153, 0.16), rgba(13, 11, 42, 0.7));
  box-shadow: 0 0 80px rgba(236, 72, 153, 0.25), inset 0 0 60px rgba(139, 92, 246, 0.08);
  backdrop-filter: blur(8px);
}

.tdr-preco__value {
  font-family: 'Bodoni Moda', serif;
  font-weight: 500;
  font-size: clamp(48px, 8vw, 80px);
  line-height: 1;
  margin: 0 0 14px;
  color: var(--color-text);
}

.tdr-preco__methods {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: rgba(240, 230, 255, 0.6);
  margin: 0 0 34px;
}

.tdr-preco__note {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-teal);
  margin: 22px 0 0;
}

/* Garantia */

.tdr-garantia {
  position: relative;
  padding: 0 var(--section-padding-x) var(--section-padding-y);
  text-align: center;
}

.tdr-garantia__box {
  max-width: 620px;
  margin: 0 auto;
  padding: 44px clamp(24px, 4vw, 48px);
  border-radius: 24px;
  border: 1px solid rgba(167, 139, 250, 0.18);
  background: linear-gradient(160deg, rgba(13, 11, 42, 0.6), rgba(5, 0, 16, 0.4));
}

.tdr-garantia__badge {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 1px solid rgba(236, 72, 153, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 22px;
  color: #EC4899;
}

.tdr-garantia__title {
  font-family: 'Bodoni Moda', serif;
  font-weight: 500;
  font-size: clamp(24px, 3vw, 32px);
  margin: 0 0 14px;
  color: var(--color-text);
}

.tdr-garantia__text {
  font-size: 16px;
  line-height: 1.6;
  color: rgba(240, 230, 255, 0.68);
  margin: 0;
}

/* FAQ */

.tdr-faq {
  position: relative;
  padding: var(--section-padding-y) var(--section-padding-x);
  max-width: 820px;
  margin: 0 auto;
}

.tdr-faq-list {
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(167, 139, 250, 0.16);
}

.tdr-faq-item {
  background: rgba(13, 11, 42, 0.45);
  border-bottom: 1px solid rgba(167, 139, 250, 0.14);
}

.tdr-faq-item:last-child { border-bottom: none; }

.tdr-faq-item summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 24px 28px;
  font-size: 17px;
  color: var(--color-text);
}

.tdr-faq-item summary::-webkit-details-marker { display: none; }

.tdr-faq-item summary .tdr-faq-icon {
  flex: none;
  font-family: 'JetBrains Mono', monospace;
  font-size: 18px;
  color: #EC4899;
  transition: transform 0.3s ease;
}

.tdr-faq-item[open] summary .tdr-faq-icon { transform: rotate(45deg); }

.tdr-faq-item p {
  margin: 0;
  padding: 0 28px 26px;
  font-size: 15.5px;
  line-height: 1.65;
  color: rgba(240, 230, 255, 0.68);
}

/* Minimal nav (single-page sales layout) */

.tdr-nav--minimal .tdr-nav__links a { color: rgba(240, 230, 255, 0.6); }

/* ==========================================================================
   Captação — formulário de leads
   (usado por captacao.html, antes de rotear para as LPs)
   ========================================================================== */

.tdr-captacao {
  position: relative;
  padding: clamp(72px, 7vw, 92px) clamp(20px, 6vw, 40px) clamp(24px, 4vw, 40px);
  max-width: 720px;
  margin: 0 auto;
}

.tdr-captacao__intro {
  text-align: center;
  margin: 0 0 20px;
}

.tdr-captacao__intro .tdr-eyebrow { justify-content: center; }

.tdr-captacao__intro em { font-style: italic; color: var(--color-purple-light); }

/* Título principal desta página — 20% menor que .tdr-section-title
   base (que é compartilhada com outras páginas, não mexe nela) */
.tdr-captacao__intro .tdr-section-title {
  font-size: clamp(27px, 4vw, 52px);
}

.tdr-captacao__sub {
  max-width: 520px;
  margin: 12px auto 0;
  font-size: 17px;
  line-height: 1.6;
  color: rgba(240, 230, 255, 0.68);
  font-weight: 300;
}

.tdr-form {
  display: flex;
  flex-direction: column;
  gap: var(--gap-form);
  padding: var(--card-padding);
  border-radius: 24px;
  border: 1px solid rgba(167, 139, 250, 0.16);
  background: linear-gradient(160deg, rgba(13, 11, 42, 0.6), rgba(5, 0, 16, 0.4));
  backdrop-filter: blur(6px);
}

.tdr-form__row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--gap-form);
}

.tdr-form__field {
  display: flex;
  flex-direction: column;
  gap: var(--gap-elements);
}

.tdr-form__field label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-gold);
}

.tdr-form__field input[type="text"],
.tdr-form__field input[type="email"],
.tdr-form__field input[type="tel"] {
  font-family: 'Hanken Grotesk', system-ui, sans-serif;
  font-size: 16px;
  color: var(--color-text);
  background: rgba(5, 0, 16, 0.5);
  border: 1px solid rgba(167, 139, 250, 0.25);
  border-radius: var(--radius-md);
  height: var(--input-height);
  padding: 0 14px;
  outline: none;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.tdr-form__field input::placeholder {
  color: rgba(240, 230, 255, 0.32);
}

.tdr-form__field input:focus {
  border-color: rgba(167, 139, 250, 0.7);
  box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.2);
}

.tdr-form__field input:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.tdr-form__checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(240, 230, 255, 0.55);
  cursor: pointer;
}

.tdr-form__checkbox input {
  accent-color: var(--color-purple-mid);
  width: 15px;
  height: 15px;
}

.tdr-form__error {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  color: #F472B6;
  text-align: center;
  margin: 0;
}

.tdr-form__submit {
  align-self: stretch;
  text-align: center;
  border: none;
  font: inherit;
  font-family: 'JetBrains Mono', monospace;
  padding: 13px 32px;
  margin-top: 2px;
}

.tdr-form__submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none !important;
}

/* Layout de duas colunas (formulário + hero do Mapa Pocket) */

.tdr-captacao--grid {
  max-width: 1180px;
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
}

@media (max-width: 860px) {
  .tdr-captacao--grid {
    grid-template-columns: 1fr;
  }
  .tdr-captacao-hero { order: 2; }
  .tdr-captacao-col-form { order: 1; }
}

.tdr-captacao-hero {
  padding-top: 0;
}

.tdr-captacao-hero__eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: 12px;
}

.tdr-captacao-hero__title {
  font-family: 'Bodoni Moda', serif;
  font-weight: 500;
  font-size: clamp(24px, 2.9vw, 35px);
  line-height: 1.12;
  color: var(--color-text);
  margin: 0 0 10px;
}

.tdr-captacao-hero__title em {
  font-style: italic;
  background: linear-gradient(100deg, var(--color-gold-soft), var(--color-purple-light) 60%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.tdr-captacao-hero__sub {
  font-size: 14px;
  line-height: 1.6;
  color: rgba(240, 230, 255, 0.7);
  font-weight: 300;
  margin: 0 0 16px;
}

.tdr-captacao-hero__beneficios {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tdr-captacao-hero__beneficios li {
  display: flex;
  gap: 12px;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(240, 230, 255, 0.78);
}

.tdr-captacao-hero__beneficios li::before {
  content: '✦';
  color: var(--color-teal);
  flex: none;
}

/* Estados de validação */

.tdr-form__field input.is-invalido,
.tdr-form__whatsapp.is-invalido input,
.tdr-form__whatsapp.is-invalido select {
  border-color: var(--color-error) !important;
}

.tdr-form__field input.is-valido,
.tdr-form__whatsapp.is-valido input,
.tdr-form__whatsapp.is-valido select {
  border-color: var(--color-success) !important;
}

.tdr-form__erro-msg {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: var(--color-error);
  margin: -2px 0 0;
  min-height: 1em;
}

/* Campo composto de WhatsApp (DDI + número) */

.tdr-form__whatsapp {
  display: grid;
  grid-template-columns: 118px 1fr;
  gap: 10px;
}

.tdr-form__whatsapp select {
  font-family: 'Hanken Grotesk', system-ui, sans-serif;
  font-size: 15px;
  color: var(--color-text);
  background: rgba(5, 0, 16, 0.5);
  border: 1px solid rgba(167, 139, 250, 0.25);
  border-radius: var(--radius-md);
  height: var(--input-height);
  padding: 0 8px;
  outline: none;
}

/* Checkbox "não sei a hora" + legenda explicativa */

.tdr-form__legenda-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
}

.tdr-form__info-icon {
  cursor: pointer;
  font-size: 13px;
  line-height: 1;
  background: none;
  border: none;
  padding: 0;
}

.tdr-form__legenda {
  font-family: 'Hanken Grotesk', system-ui, sans-serif;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--color-purple-light);
  margin: -6px 0 0;
}

/* Autocomplete de cidade */

.tdr-autocomplete {
  position: relative;
}

.tdr-autocomplete__lista {
  position: absolute;
  z-index: 20;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  max-height: 260px;
  overflow-y: auto;
  background: var(--color-bg-secondary);
  border: 1px solid rgba(167, 139, 250, 0.25);
  border-radius: var(--radius-md);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
}

.tdr-autocomplete__item {
  padding: 12px 16px;
  font-size: 14.5px;
  color: var(--color-text);
  cursor: pointer;
  border-bottom: 1px solid rgba(167, 139, 250, 0.08);
}

.tdr-autocomplete__item:last-child { border-bottom: none; }
.tdr-autocomplete__item:hover,
.tdr-autocomplete__item.is-destacado { background: var(--color-border); }

.tdr-autocomplete__status {
  padding: 12px 16px;
  font-size: 13px;
  color: rgba(240, 230, 255, 0.55);
}

/* Aviso de cadastro duplicado */

.tdr-form__duplicata {
  padding: 16px 18px;
  border-radius: 14px;
  border: 1px solid rgba(253, 230, 138, 0.35);
  background: rgba(253, 230, 138, 0.08);
  font-size: 14px;
  line-height: 1.6;
  color: var(--color-text);
}

.tdr-form__duplicata p { margin: 0 0 12px; }

.tdr-form__duplicata-acoes {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.tdr-form__duplicata-acoes button {
  cursor: pointer;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12.5px;
  padding: 9px 16px;
  border-radius: var(--radius-full);
  border: 1px solid rgba(167, 139, 250, 0.3);
  background: transparent;
  color: var(--color-text);
}

.tdr-form__duplicata-acoes button.tdr-form__duplicata-sim {
  background: var(--gradient-cta);
  border-color: transparent;
}

/* Spinner do botão de envio */

.tdr-btn__spinner {
  display: inline-block;
  width: 13px;
  height: 13px;
  margin-left: 8px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.35);
  border-top-color: #fff;
  vertical-align: -2px;
  animation: tdr-spin 0.7s linear infinite;
}

@keyframes tdr-spin {
  to { transform: rotate(360deg); }
}
