/* Home hero v2 — 2026-09
   Replaces the old technology-orbit implementation with a simpler,
   recruiter-friendly first fold. No !important overrides are required. */

.home-hero-v2 {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: calc(100vh - 78px);
  padding: clamp(42px, 6vw, 78px) 0 clamp(66px, 7vw, 96px);
}

.home-hero-v2__ambient {
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  overflow: hidden;
}

.home-hero-v2__ambient::before {
  content: "";
  position: absolute;
  width: min(60vw, 760px);
  aspect-ratio: 1;
  right: -12%;
  top: -22%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(91, 100, 116, 0.12) 0%, rgba(91, 100, 116, 0.045) 38%, transparent 70%);
  filter: blur(8px);
}

.home-hero-v2__dot {
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--theme-text-soft, #5B6474) 48%, transparent);
  opacity: .55;
}

.home-hero-v2__dot--1 { left: 7%; top: 27%; }
.home-hero-v2__dot--2 { left: 44%; top: 17%; width: 4px; height: 4px; }
.home-hero-v2__dot--3 { right: 8%; top: 66%; width: 4px; height: 4px; }
.home-hero-v2__dot--4 { left: 31%; bottom: 8%; width: 4px; height: 4px; }

.home-hero-v2__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(400px, .84fr);
  gap: clamp(42px, 6vw, 86px);
  align-items: center;
}

.home-hero-v2__content {
  min-width: 0;
  max-width: 810px;
}

.home-hero-v2__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  max-width: 100%;
  padding: 5px 14px 5px 5px;
  border: 1px solid var(--theme-border, rgba(52, 64, 85, .16));
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-surface-strong, #F8FAFC) 72%, transparent);
  color: var(--theme-text-soft, #344055);
  box-shadow: 0 10px 30px rgba(52, 64, 85, .045);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  font-size: clamp(.73rem, 1vw, .84rem);
  font-weight: 700;
}

.home-hero-v2__eyebrow strong {
  flex: 0 0 auto;
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--theme-text, #0B1324);
  color: var(--theme-bg-start, #F8FAFC);
  font-family: "IBM Plex Mono", "JetBrains Mono", monospace;
  font-size: .67rem;
  font-weight: 600;
  letter-spacing: .08em;
}

.home-hero-v2__title {
  margin: clamp(20px, 2.2vw, 30px) 0 14px;
  color: var(--theme-text, #0B1324);
  font-size: clamp(4.7rem, 8.9vw, 8.7rem);
  font-weight: 700;
  line-height: .84;
  letter-spacing: -.078em;
}

.home-hero-v2__code {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-height: 34px;
  margin: 3px 0 25px;
  padding: 7px 11px;
  overflow: hidden;
  border: 1px solid var(--theme-border, rgba(52, 64, 85, .16));
  border-radius: 10px;
  background: color-mix(in srgb, var(--theme-surface-strong, #F8FAFC) 64%, transparent);
  color: var(--theme-text-soft, #5B6474);
  box-shadow: 0 8px 24px rgba(52, 64, 85, .04);
  font-family: "IBM Plex Mono", "JetBrains Mono", monospace;
  font-size: clamp(.62rem, .78vw, .73rem);
  font-weight: 500;
  white-space: nowrap;
}

.home-hero-v2__positioning {
  max-width: 780px;
  margin: 0;
  color: var(--theme-text-soft, #344055);
  font-size: clamp(1.55rem, 2.22vw, 2.25rem);
  font-weight: 750;
  line-height: 1.29;
  letter-spacing: -.034em;
}

.home-hero-v2__description {
  max-width: 730px;
  margin: 17px 0 0;
  color: var(--theme-text-soft, #5B6474);
  font-size: clamp(.96rem, 1.22vw, 1.14rem);
  line-height: 1.72;
}

.home-hero-v2__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 29px;
}

.home-hero-v2__areas {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 30px;
}

.home-hero-v2__areas span {
  display: inline-flex;
  align-items: center;
  min-height: 35px;
  padding: 0 13px;
  border: 1px solid var(--theme-border, rgba(52, 64, 85, .16));
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-surface-strong, #F8FAFC) 38%, transparent);
  color: var(--theme-text-soft, #344055);
  font-family: "IBM Plex Mono", "JetBrains Mono", monospace;
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.home-hero-v2__profile {
  position: relative;
  min-height: 575px;
  display: grid;
  place-items: center;
  isolation: isolate;
}

.home-hero-v2__profile::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 52px;
  z-index: -2;
  width: 350px;
  height: 120px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(52, 64, 85, .18), transparent 67%);
  filter: blur(17px);
}

.home-hero-v2__orbit {
  position: absolute;
  left: 50%;
  top: 48%;
  z-index: -1;
  border: 1px solid color-mix(in srgb, var(--theme-text-soft, #5B6474) 23%, transparent);
  border-radius: 50%;
  pointer-events: none;
}

.home-hero-v2__orbit::after {
  content: "";
  position: absolute;
  right: -3px;
  top: 50%;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--theme-text-soft, #5B6474) 48%, transparent);
}

.home-hero-v2__orbit--one {
  width: 430px;
  height: 270px;
  transform: translate(-50%, -50%) rotate(-10deg);
}

.home-hero-v2__orbit--two {
  width: 365px;
  height: 365px;
  transform: translate(-50%, -50%);
  border-style: dashed;
  opacity: .62;
}

.home-hero-v2__orbit--three {
  width: 500px;
  height: 210px;
  transform: translate(-50%, -50%) rotate(20deg);
  opacity: .55;
}

.home-hero-v2__photo {
  position: relative;
  z-index: 4;
  width: 300px;
  height: 420px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--theme-text-soft, #5B6474) 15%, transparent);
  border-radius: 150px 150px 36px 36px;
  background: radial-gradient(circle at 50% 30%, rgba(255,255,255,.78), transparent 42%), color-mix(in srgb, var(--theme-bg-mid, #D9E0E7) 86%, var(--theme-surface-strong, #F8FAFC));
  box-shadow: 0 34px 70px rgba(52, 64, 85, .16), 0 1px 0 rgba(255, 255, 255, .55) inset;
}

.home-hero-v2__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 35%;
  transform: scale(1.015);
}

.home-hero-v2__domain {
  position: absolute;
  z-index: 8;
  min-width: 174px;
  padding: 12px 14px;
  border: 1px solid var(--theme-border, rgba(52, 64, 85, .14));
  border-radius: 17px;
  background: color-mix(in srgb, var(--theme-surface-strong, #F8FAFC) 88%, transparent);
  color: var(--theme-text, #0B1324);
  box-shadow: 0 17px 38px rgba(52, 64, 85, .10);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.home-hero-v2__domain:hover {
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--theme-text-soft, #5B6474) 28%, var(--theme-border));
  box-shadow: 0 22px 46px rgba(52, 64, 85, .15);
}

.home-hero-v2__domain strong {
  display: block;
  font-size: .82rem;
  line-height: 1.2;
}

.home-hero-v2__domain span {
  display: block;
  margin-top: 5px;
  color: var(--theme-text-soft, #5B6474);
  font-family: "IBM Plex Mono", "JetBrains Mono", monospace;
  font-size: .61rem;
  font-weight: 500;
  line-height: 1.35;
}

.home-hero-v2__domain--software { left: -2px; top: 54px; }
.home-hero-v2__domain--data { right: -12px; top: 105px; }
.home-hero-v2__domain--engineering { left: -10px; bottom: 118px; }
.home-hero-v2__domain--process { right: 0; bottom: 78px; }

.home-hero-v2__profile-label {
  position: absolute;
  left: 50%;
  bottom: 18px;
  z-index: 9;
  transform: translateX(-50%);
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 0 14px;
  border: 1px solid var(--theme-border, rgba(52, 64, 85, .16));
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-surface-strong, #F8FAFC) 78%, transparent);
  color: var(--theme-text-soft, #344055);
  box-shadow: 0 12px 28px rgba(52, 64, 85, .07);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  font-family: "IBM Plex Mono", "JetBrains Mono", monospace;
  font-size: .62rem;
  font-weight: 600;
  white-space: nowrap;
}

html[data-theme="dark"] .home-hero-v2__ambient::before {
  background: radial-gradient(circle, rgba(201, 208, 214, .075) 0%, rgba(201, 208, 214, .025) 40%, transparent 72%);
}

html[data-theme="dark"] .home-hero-v2__photo {
  box-shadow: 0 34px 70px rgba(0, 0, 0, .28), 0 1px 0 rgba(255, 255, 255, .05) inset;
}

html[data-theme="dark"] .home-hero-v2__domain {
  box-shadow: 0 17px 38px rgba(0, 0, 0, .22);
}

html[data-theme="dark"] .home-hero-v2__profile::after {
  background: radial-gradient(ellipse, rgba(0, 0, 0, .28), transparent 67%);
}

@media (max-width: 1120px) {
  .home-hero-v2__grid {
    grid-template-columns: minmax(0, 1fr) minmax(360px, .78fr);
    gap: 36px;
  }
  .home-hero-v2__title { font-size: clamp(4.5rem, 9vw, 7rem); }
  .home-hero-v2__profile { transform: scale(.92); transform-origin: center; }
}

@media (max-width: 920px) {
  .home-hero-v2 { min-height: auto; padding-top: 44px; }
  .home-hero-v2__grid { grid-template-columns: 1fr; gap: 30px; }
  .home-hero-v2__content { max-width: none; }
  .home-hero-v2__profile { width: min(100%, 580px); margin-inline: auto; transform: none; }
  .home-hero-v2__title { font-size: clamp(4.7rem, 14vw, 7.5rem); }
}

@media (max-width: 640px) {
  .home-hero-v2 { padding: 30px 0 60px; }
  .home-hero-v2__eyebrow { gap: 7px; padding-right: 10px; }
  .home-hero-v2__eyebrow span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .home-hero-v2__title { margin-top: 20px; font-size: clamp(3.9rem, 19vw, 5.9rem); line-height: .86; }
  .home-hero-v2__code { max-width: 100%; font-size: .56rem; }
  .home-hero-v2__positioning { font-size: 1.42rem; }
  .home-hero-v2__description { font-size: .94rem; line-height: 1.62; }
  .home-hero-v2__actions { align-items: stretch; flex-direction: column; }
  .home-hero-v2__actions .btn { width: 100%; }
  .home-hero-v2__areas { gap: 7px; }
  .home-hero-v2__areas span { min-height: 32px; padding-inline: 10px; font-size: .58rem; }
  .home-hero-v2__profile { min-height: 500px; }
  .home-hero-v2__photo { width: 238px; height: 340px; border-radius: 120px 120px 30px 30px; }
  .home-hero-v2__orbit--one { width: 330px; height: 205px; }
  .home-hero-v2__orbit--two { width: 285px; height: 285px; }
  .home-hero-v2__orbit--three { width: 350px; height: 155px; }
  .home-hero-v2__domain { min-width: 132px; padding: 10px 11px; border-radius: 14px; }
  .home-hero-v2__domain strong { font-size: .7rem; }
  .home-hero-v2__domain span { margin-top: 3px; font-size: .49rem; }
  .home-hero-v2__domain--software { left: 0; top: 68px; }
  .home-hero-v2__domain--data { right: 0; top: 120px; }
  .home-hero-v2__domain--engineering { left: 0; bottom: 97px; }
  .home-hero-v2__domain--process { right: 0; bottom: 68px; }
  .home-hero-v2__profile-label { bottom: 12px; font-size: .54rem; }
}

@media (max-width: 430px) {
  .home-hero-v2__profile { min-height: 485px; }
  .home-hero-v2__domain--software { left: -5px; }
  .home-hero-v2__domain--data { right: -5px; }
  .home-hero-v2__domain--engineering { left: -5px; }
  .home-hero-v2__domain--process { right: -5px; }
  .home-hero-v2__domain { min-width: 118px; }
  .home-hero-v2__domain span { max-width: 118px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-hero-v2__domain,
  .home-hero-v2__actions .btn { transition: none; }
}

/*
 * Alinhamento canônico do primeiro elemento da Home.
 * O eyebrow passa a nascer exatamente na mesma linha vertical dos section-kicker
 * usados em Sobre mim, Projetos, Experiências, Competências e Contato.
 */
.home-page-v2 .home-hero-v2 {
  padding-top: var(--ls-internal-page-start, 68px) !important;
}

.home-page-v2 .home-hero-v2__grid {
  align-items: start !important;
}

.home-page-v2 .home-hero-v2__content {
  align-self: start !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media (min-width: 921px) {
  .home-page-v2 .home-hero-v2 {
    min-height: clamp(590px, calc(100svh - 150px), 680px) !important;
    padding-bottom: 24px !important;
  }

  .home-page-v2 .home-hero-v2__profile {
    min-height: 500px !important;
    align-self: start !important;
  }
}

@media (max-width: 640px) {
  .home-page-v2 .home-hero-v2 {
    padding-top: var(--ls-internal-page-start-mobile, 42px) !important;
  }
}
