:root {
  --navy-950: #02091c;
  --navy-900: #041536;
  --navy-800: #08245a;
  --blue: #1877f2;
  --cyan: #16d8eb;
  --white: #f7fbff;
  --muted: #aab9d4;
  --header-height: 92px;
  --content: 1440px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--navy-950); }
body { margin: 0; color: var(--white); background: var(--navy-950); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; overflow-x: hidden; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 200; background: #fff; color: #02102c; padding: .75rem 1rem; border-radius: .5rem; }
.skip-link:focus { top: 1rem; }
.content { width: min(var(--content), calc(100% - 64px)); margin-inline: auto; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 100; height: var(--header-height); background: rgba(3, 15, 43, .72); border-bottom: 1px solid rgba(120, 190, 255, .14); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.header-inner { width: min(var(--content), calc(100% - 64px)); height: 100%; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.brand { display: inline-flex; align-items: center; width: 154px; height: 54px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.48); border-radius: 12px; background: rgba(255,255,255,.94); }
.brand img { width: 100%; height: 100%; object-fit: contain; }
.primary-nav { display: flex; align-items: center; gap: clamp(16px, 1.55vw, 30px); font-size: .9rem; }
.primary-nav a { text-decoration: none; color: rgba(247, 251, 255, .88); }
.primary-nav a:hover, .primary-nav a:focus-visible { color: #fff; }
.nav-cta { padding: 12px 18px; border: 1px solid rgba(45, 220, 238, .6); border-radius: 999px; }
.menu-toggle { display: none; width: 46px; height: 46px; padding: 11px; border: 1px solid rgba(255,255,255,.2); border-radius: 12px; background: rgba(255,255,255,.06); color: #fff; }
.menu-toggle span { display: block; height: 2px; margin: 5px 0; background: currentColor; transition: transform .25s ease, opacity .25s ease; }

.hero { position: relative; min-height: 100svh; display: grid; align-items: center; isolation: isolate; padding-top: var(--header-height); overflow: hidden; }
.hero-media, .hero-overlay, .hero-video { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-media { z-index: -3; background: var(--navy-950) var(--hero-poster-desktop, url('../../public/media/video/hero-gaia-desktop-poster.webp')) center/cover no-repeat; }
.hero-video { object-fit: cover; }
.hero-overlay { z-index: -2; background: linear-gradient(90deg, rgba(1,7,24,.96) 0%, rgba(1,7,24,.88) 28%, rgba(1,7,24,.28) 62%, rgba(1,7,24,.16) 100%); }
.hero-content { padding-block: clamp(84px, 12vh, 160px); }
.eyebrow, .section-index { color: var(--cyan); font-size: .76rem; font-weight: 750; letter-spacing: .2em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1 { width: min(760px, 62vw); margin-bottom: 24px; font-size: clamp(3rem, 5.8vw, 6.8rem); line-height: .96; letter-spacing: -.055em; text-wrap: balance; }
.hero-copy { width: min(620px, 52vw); margin-bottom: 36px; color: rgba(247,251,255,.82); font-size: clamp(1rem, 1.2vw, 1.22rem); line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.button { min-height: 52px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; border: 1px solid transparent; text-decoration: none; cursor: pointer; }
.button-primary { color: #001127; background: linear-gradient(120deg, #fff, #75efff); font-weight: 750; }
.button-secondary { color: #fff; background: rgba(4,25,65,.72); border-color: rgba(117,239,255,.42); }

/* Seção 03 — Mais que atendimento */
.gaia-capabilities {
  position: relative;
  isolation: isolate;
  min-height: 1040px;
  overflow: hidden;
  color: var(--white);
  background:
    radial-gradient(circle at 50% 82%, rgba(0, 106, 255, .3), transparent 25%),
    radial-gradient(circle at 12% 55%, rgba(22, 216, 235, .09), transparent 28%),
    linear-gradient(180deg, #02091c 0%, #03132f 38%, #041944 100%);
}
.gaia-capabilities::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  z-index: 8;
  height: 180px;
  pointer-events: none;
  background: linear-gradient(180deg, #02091c 0%, rgba(2, 9, 28, .72) 38%, transparent 100%);
}
.gaia-capabilities::after {
  content: "";
  position: absolute;
  inset: auto -10% -110px;
  z-index: -1;
  height: 300px;
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 20%, rgba(17, 116, 255, .3), transparent 62%);
  filter: blur(22px);
}
.s03-ambient {
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .65;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(66, 166, 255, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(66, 166, 255, .035) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(180deg, transparent, #000 30%, #000 82%, transparent);
}
.s03-content {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px minmax(0, 1fr);
  grid-template-areas:
    "header header header"
    "cards cards cards"
    "customer core team";
  gap: 28px 36px;
  padding-block: 138px 72px;
}
.s03-header { grid-area: header; max-width: 1040px; justify-self: center; text-align: center; }
.s03-eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin: 0 0 20px;
  color: #43dfff;
  font-size: .78rem;
  font-weight: 760;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.s03-eyebrow span { width: 54px; height: 1px; background: linear-gradient(90deg, transparent, #24cfff); }
.s03-eyebrow span:last-child { rotate: 180deg; }
.s03-header h2 {
  margin: 0;
  font-size: clamp(3rem, 5vw, 5.25rem);
  line-height: .98;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.s03-header h2 strong {
  color: #1882ff;
  font-weight: 780;
  text-shadow: 0 0 30px rgba(24, 130, 255, .18);
}
.s03-lead { margin: 24px auto 0; color: rgba(247, 251, 255, .82); font-size: clamp(1rem, 1.5vw, 1.25rem); line-height: 1.48; }

.s03-cards {
  grid-area: cards;
  width: min(100%, 1040px);
  justify-self: center;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.s03-card {
  position: relative;
  min-height: 146px;
  display: grid;
  grid-template-columns: 68px 1fr 36px;
  align-items: center;
  gap: 14px;
  padding: 20px 14px 20px 20px;
  overflow: hidden;
  border: 1px solid rgba(30, 139, 255, .62);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(5, 32, 78, .86), rgba(1, 13, 38, .78));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 16px 38px rgba(0, 5, 24, .26);
  backdrop-filter: blur(16px);
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.s03-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 10% 30%, rgba(22, 216, 235, .12), transparent 34%);
}
.s03-card:hover { transform: translateY(-4px); border-color: rgba(82, 226, 255, .9); box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 18px 42px rgba(0, 76, 185, .24); }
.s03-card-number { position: absolute; top: 10px; right: 14px; color: rgba(101, 205, 255, .26); font-size: .66rem; font-weight: 700; letter-spacing: .14em; }
.s03-card-icon {
  position: relative;
  width: 64px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid rgba(44, 160, 255, .85);
  border-radius: 15px;
  color: #21cfff;
  background: linear-gradient(145deg, rgba(10, 105, 255, .26), rgba(0, 24, 67, .7));
  box-shadow: 0 0 22px rgba(0, 145, 255, .2), inset 0 0 18px rgba(25, 188, 255, .08);
}
.s03-card-icon svg { width: 36px; fill: none; stroke: currentColor; stroke-width: 2.1; stroke-linecap: round; stroke-linejoin: round; }
.s03-card-icon svg path[d^="M7 25V15"] { fill: currentColor; stroke: none; }
.s03-card h3 { margin: 0 0 7px; font-size: 1rem; letter-spacing: .015em; text-transform: uppercase; }
.s03-card p { margin: 0; color: rgba(247, 251, 255, .76); font-size: .91rem; line-height: 1.38; }
.s03-card-arrow { width: 34px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(50, 160, 255, .8); border-radius: 50%; color: #fff; background: rgba(5, 42, 105, .65); transition: translate .3s ease, background .3s ease; }
.s03-card:hover .s03-card-arrow { translate: 3px 0; background: rgba(16, 120, 244, .72); }

.s03-scene { position: relative; align-self: end; min-width: 0; height: 328px; z-index: 3; }
.s03-scene--customer { grid-area: customer; }
.s03-scene--team { grid-area: team; }
.s03-scene > img {
  position: absolute;
  bottom: -72px;
  width: 720px;
  max-width: none;
  height: 405px;
  object-fit: cover;
  border-radius: 42px 42px 0 0;
  filter: saturate(.88) contrast(1.06);
}
.s03-scene--customer > img { right: -10px; object-position: 100% 50%; mask-image: linear-gradient(90deg, transparent 0%, #000 20%, #000 80%, transparent 100%); }
.s03-scene--team > img { left: -10px; object-position: 100% 50%; mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 82%, transparent 100%); }
.s03-chat-stack { position: absolute; left: 0; bottom: 30px; width: 270px; display: grid; gap: 10px; z-index: 3; }
.s03-message, .s03-handoff {
  border: 1px solid rgba(78, 213, 255, .82);
  border-radius: 17px;
  color: #fff;
  background: linear-gradient(135deg, rgba(8, 67, 150, .9), rgba(2, 25, 68, .88));
  box-shadow: 0 0 28px rgba(0, 125, 255, .18), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(14px);
}
.s03-message { position: relative; width: 216px; padding: 14px 16px; }
.s03-message--customer { justify-self: end; }
.s03-message--gaia { width: 246px; display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 12px; }
.s03-message-label { display: block; margin-bottom: 5px; color: #8defff; font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.s03-message p, .s03-handoff p { margin: 0; font-size: .86rem; line-height: 1.35; }
.s03-avatar { width: 40px; aspect-ratio: 1; display: grid; place-items: center; border: 2px solid #79f2ff; border-radius: 50%; color: #9ef7ff; font-weight: 800; box-shadow: 0 0 16px rgba(81, 232, 255, .4); }
.s03-handoff { position: absolute; right: 0; bottom: 44px; width: 286px; display: grid; grid-template-columns: 12px 1fr; gap: 14px; padding: 16px 18px; z-index: 3; }
.s03-handoff strong { display: block; margin-bottom: 5px; font-size: .95rem; }
.s03-handoff-dot { width: 10px; aspect-ratio: 1; margin-top: 4px; border-radius: 50%; background: #5ef2ff; box-shadow: 0 0 16px #29d7ff; }

.s03-core { grid-area: core; position: relative; align-self: end; height: 328px; display: grid; place-items: center; z-index: 5; }
.s03-core-globe {
  position: relative;
  width: 256px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid rgba(84, 228, 255, .78);
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 38%, rgba(9, 57, 135, .68), transparent 44%),
    linear-gradient(145deg, rgba(2, 20, 55, .96), rgba(1, 8, 29, .98));
  box-shadow: 0 0 0 8px rgba(18, 121, 255, .08), 0 0 50px rgba(13, 154, 255, .42), inset 0 0 40px rgba(6, 111, 225, .28);
}
.s03-core-globe::before, .s03-core-globe::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(62, 217, 255, .26);
}
.s03-core-globe::before { inset: 16px; }
.s03-core-globe::after { inset: 32px; border-style: dashed; animation: s03-spin 18s linear infinite; }
.s03-core-globe img { position: relative; z-index: 2; width: 148px; height: auto; object-fit: contain; }
.s03-core-orbit { position: absolute; width: 318px; height: 86px; border: 2px solid rgba(44, 153, 255, .46); border-radius: 50%; rotate: -10deg; box-shadow: 0 0 18px rgba(20, 141, 255, .28); }
.s03-core-orbit--two { rotate: 15deg; opacity: .7; }
.s03-connections { position: absolute; left: 0; right: 0; bottom: 34px; z-index: 2; width: 100%; height: 350px; overflow: visible; pointer-events: none; }
.s03-path { fill: none; stroke-width: 2; stroke-linecap: round; stroke-dasharray: 7 8; animation: s03-flow 8s linear infinite; }
.s03-path--delay { animation-delay: -3s; }
.s03-points { fill: #8ff7ff; animation: s03-pulse 2.8s ease-in-out infinite; }

@keyframes s03-flow { to { stroke-dashoffset: -120; } }
@keyframes s03-pulse { 50% { opacity: .48; } }
@keyframes s03-spin { to { rotate: 360deg; } }

.prototype-section { min-height: 58vh; display: grid; align-items: center; color: #06142e; background: #f5f9ff; border-top: 1px solid rgba(10,65,130,.1); }
.prototype-section > .content { padding-block: 96px; }
.prototype-section-dark { color: #f7fbff; background: #05183d; }
.prototype-section h2 { margin: 12px 0 36px; font-size: clamp(2.1rem, 4vw, 4.8rem); line-height: 1.02; letter-spacing: -.04em; }
.section-shell { min-height: 160px; border: 1px dashed rgba(20,100,180,.28); border-radius: 24px; background: linear-gradient(120deg, rgba(22,216,235,.035), rgba(20,90,180,.025)); }
.prototype-section-dark .section-shell { border-color: rgba(95,220,255,.22); }
.plans-shell { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.plans-shell article { min-height: 180px; padding: 28px; border: 1px dashed rgba(10,70,150,.28); border-radius: 24px; }

.demo-frame { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid rgba(95,220,255,.24); border-radius: 28px; background: #02091c; box-shadow: 0 34px 90px rgba(0,0,0,.34); }
.demo-frame video { width: 100%; height: 100%; display: block; object-fit: contain; background: #02091c; }
.demo-trigger { position: absolute; left: 50%; top: 50%; translate: -50% -50%; min-height: 54px; padding: 0 24px; border: 1px solid rgba(95,220,255,.7); border-radius: 999px; color: #fff; background: rgba(3,18,50,.88); cursor: pointer; backdrop-filter: blur(12px); }
.demo-trigger[hidden] { display: none; }

.site-footer { min-height: 280px; display: grid; align-items: center; background: #02091c; border-top: 1px solid rgba(120,190,255,.16); }
.site-footer .content { padding-block: 72px; }
.site-footer a { color: var(--cyan); }

@media (max-width: 900px) {
  :root { --header-height: 76px; }
  .content, .header-inner { width: min(100% - 36px, var(--content)); }
  .brand { width: 132px; height: 46px; }
  .menu-toggle { display: block; }
  .primary-nav { position: fixed; inset: var(--header-height) 0 auto; display: grid; gap: 0; padding: 18px; background: rgba(2,12,36,.97); border-bottom: 1px solid rgba(117,239,255,.22); transform: translateY(-130%); opacity: 0; pointer-events: none; transition: transform .28s ease, opacity .28s ease; }
  .primary-nav.is-open { transform: translateY(0); opacity: 1; pointer-events: auto; }
  .primary-nav a { padding: 15px 12px; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  h1 { width: min(720px, 92vw); }
  .hero-copy { width: min(600px, 88vw); }
  .plans-shell { grid-template-columns: 1fr; }
  .s03-content { grid-template-columns: minmax(0, 1fr) 240px minmax(0, 1fr); gap-inline: 18px; }
  .s03-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .s03-card { min-height: 138px; }
  .s03-scene > img { opacity: .72; }
  .s03-chat-stack { left: -8px; scale: .9; transform-origin: left bottom; }
  .s03-handoff { right: -8px; width: 250px; }
  .s03-core-globe { width: 210px; }
  .s03-core-globe img { width: 122px; }
  .s03-core-orbit { width: 260px; }
}

@media (max-width: 767px) {
  .hero-media { background-image: var(--hero-poster-mobile, url('../../public/media/video/hero-gaia-mobile-poster.webp')); }
  .hero-video { object-position: center; }
  .hero-overlay { background: linear-gradient(180deg, rgba(1,7,24,.96) 0%, rgba(1,7,24,.78) 40%, rgba(1,7,24,.26) 70%, rgba(1,7,24,.68) 100%); }
  .hero { min-height: 920px; align-items: start; }
  .hero-content { padding-top: 88px; }
  h1 { font-size: clamp(2.8rem, 15vw, 4.8rem); }
  .hero-copy { font-size: 1rem; line-height: 1.55; }
  .hero-actions { max-width: 300px; }
  .button { width: 100%; }
  .prototype-section > .content { padding-block: 72px; }
  .demo-frame { border-radius: 16px; }
  .gaia-capabilities { min-height: 0; }
  .gaia-capabilities::before { height: 110px; }
  .s03-content {
    width: min(100% - 28px, 560px);
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "header"
      "customer"
      "core"
      "cards"
      "team";
    gap: 28px;
    padding-block: 96px 72px;
  }
  .s03-header { text-align: left; }
  .s03-eyebrow { justify-content: flex-start; font-size: .68rem; gap: 10px; }
  .s03-eyebrow span { width: 32px; }
  .s03-eyebrow span:last-child { display: none; }
  .s03-header h2 { font-size: clamp(2.55rem, 12vw, 4rem); line-height: 1; }
  .s03-header h2 br { display: none; }
  .s03-lead { margin-top: 20px; font-size: 1rem; }
  .s03-lead br { display: none; }
  .s03-scene { height: 390px; border: 1px solid rgba(62, 172, 255, .22); border-radius: 26px; overflow: hidden; background: rgba(2, 16, 44, .64); }
  .s03-scene > img { inset: 0; width: 100%; height: 100%; border-radius: inherit; opacity: .82; mask-image: linear-gradient(180deg, #000 0%, #000 65%, transparent 100%); }
  .s03-scene--customer > img { object-position: 76% center; }
  .s03-scene--team > img { object-position: 78% center; }
  .s03-chat-stack { left: 14px; right: 14px; bottom: 18px; width: auto; scale: 1; }
  .s03-message--customer { width: 206px; }
  .s03-message--gaia { width: min(252px, 86%); }
  .s03-core { height: 276px; }
  .s03-core-globe { width: 220px; }
  .s03-core-globe img { width: 126px; }
  .s03-core-orbit { width: 270px; }
  .s03-cards { grid-template-columns: 1fr; gap: 12px; }
  .s03-card { min-height: 132px; grid-template-columns: 62px 1fr 34px; padding-left: 16px; }
  .s03-card-icon { width: 58px; }
  .s03-card:hover { transform: none; }
  .s03-handoff { right: 14px; bottom: 18px; width: min(300px, calc(100% - 28px)); }
  .s03-connections { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .hero-video { display: none; }
  .s03-path, .s03-points, .s03-core-globe::after { animation: none !important; }
}

/* P03-D · Header, Hero e Seção 03 alinhados ao ecossistema Tétis */
@font-face {
  font-family: "Montserrat";
  src: url("../../public/media/fonts/montserrat-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("../../public/media/fonts/montserrat-latin-ext.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

html { scroll-padding-top: calc(var(--header-height) + 16px); }
body { font-family: "Montserrat", Arial, sans-serif; }

/* Header: mesmo comportamento de superfície do Institucional/Logística 360. */
.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  width: 100%;
  height: 92px;
  min-height: 92px;
  padding: 0 max(32px, calc((100vw - 1440px) / 2));
  background: transparent;
  border: 0;
  border-bottom: 1px solid transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transition: background-color .2s ease, backdrop-filter .2s ease, border-color .2s ease;
}
.site-header.is-scrolled.header-theme-dark {
  background: rgb(3 12 34 / 18%);
  border-bottom-color: rgb(255 255 255 / 7%);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.site-header.is-scrolled.header-theme-light {
  background: rgb(247 251 255 / 76%);
  border-bottom-color: rgb(1 4 66 / 10%);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.header-inner {
  width: 100%;
  max-width: 1440px;
  height: 100%;
  margin-inline: auto;
  gap: 36px;
}
.brand {
  display: grid;
  width: 164px;
  height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 0;
}
.brand .brand-logo {
  grid-area: 1 / 1;
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  transition: opacity .16s ease;
}
.brand-logo--white { opacity: 1; }
.brand-logo--blue { opacity: 0; }
.site-header.header-theme-light .brand-logo--white { opacity: 0; }
.site-header.header-theme-light .brand-logo--blue { opacity: 1; }
.site-header.header-theme-dark .brand-logo--white { opacity: 1; }
.site-header.header-theme-dark .brand-logo--blue { opacity: 0; }
.primary-nav { gap: clamp(18px, 1.65vw, 32px); font-size: 11px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.primary-nav a { color: rgb(255 255 255 / 84%); transition: color .15s ease, opacity .15s ease; }
.primary-nav a:hover, .primary-nav a:focus-visible { color: #44dff4; }
.site-header.header-theme-light .primary-nav a:not(.nav-cta) { color: #010442; opacity: 1; }
.site-header.header-theme-light .primary-nav a:not(.nav-cta):hover,
.site-header.header-theme-light .primary-nav a:not(.nav-cta):focus-visible { color: #010442; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }
.site-header a:focus-visible, .site-header button:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.nav-cta {
  min-height: 44px;
  padding: 0 20px;
  display: inline-flex;
  align-items: center;
  border: 0;
  background: linear-gradient(110deg, #079bdf, #125bd8 56%, #2f27a5);
  box-shadow: 0 14px 40px rgb(7 155 223 / 27%);
  color: #fff !important;
  transition: transform .2s ease, box-shadow .2s ease;
}
.nav-cta:hover, .nav-cta:focus-visible { transform: translateY(-2px); box-shadow: 0 18px 44px rgb(7 155 223 / 38%); text-decoration: none !important; }
.menu-toggle { border: 0; border-radius: 8px; background: transparent; }
.site-header.header-theme-light .menu-toggle { color: #010442; }
.site-header.header-theme-light .menu-toggle span { background: #010442; }

/* Hero: contraste localizado na copy; o vídeo permanece vivo no centro e à direita. */
.hero {
  min-height: max(780px, 100svh);
  padding-top: var(--header-height);
  background: #02091c;
}
.hero-video {
  object-fit: cover;
  object-position: center;
  filter: brightness(1.14) contrast(1.045) saturate(1.08);
}
.hero-overlay {
  z-index: -2;
  background:
    linear-gradient(90deg, rgb(1 7 24 / 88%) 0%, rgb(1 7 24 / 74%) 22%, rgb(1 7 24 / 36%) 38%, rgb(1 7 24 / 8%) 54%, transparent 68%),
    linear-gradient(180deg, rgb(1 7 24 / 28%) 0%, transparent 24%, transparent 78%, rgb(2 9 28 / 30%) 100%);
}
.hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  z-index: -1;
  height: 140px;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, #02091c);
}
.hero-content {
  position: relative;
  z-index: 1;
  padding-block: clamp(86px, 12vh, 150px);
  text-shadow: 0 2px 24px rgb(0 0 0 / 64%);
}
.hero-content::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: -120px;
  width: min(760px, 62vw);
  height: 118%;
  translate: 0 -50%;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgb(1 7 24 / 48%) 0%, rgb(1 7 24 / 22%) 52%, transparent 74%);
  filter: blur(18px);
  pointer-events: none;
}
h1 { width: min(650px, 48vw); font-size: clamp(3.2rem, 5.25vw, 6.25rem); }
.hero-copy { width: min(590px, 44vw); color: rgb(247 251 255 / 88%); }

/* Continuidade Hero → Seção 03 e reconstrução fiel da composição aprovada. */
.gaia-capabilities {
  min-height: 980px;
  border: 0;
  background:
    radial-gradient(ellipse at 50% 90%, rgb(0 105 255 / 40%), transparent 30%),
    radial-gradient(circle at 10% 46%, rgb(22 216 235 / 10%), transparent 28%),
    radial-gradient(circle at 90% 44%, rgb(24 119 242 / 13%), transparent 30%),
    linear-gradient(180deg, #02091c 0%, #031431 48%, #061b48 100%);
}
.gaia-capabilities::before {
  z-index: 1;
  height: 150px;
  background: linear-gradient(180deg, #02091c 0%, rgb(2 9 28 / 55%) 38%, transparent 100%);
}
.s03-content {
  width: min(100% - 48px, 1440px);
  min-height: 980px;
  grid-template-columns: minmax(0, 1fr) 310px minmax(0, 1fr);
  grid-template-rows: auto auto 1fr;
  gap: 24px 28px;
  padding-block: 66px 28px;
}
.s03-header { max-width: 1080px; }
.s03-eyebrow { margin-bottom: 14px; color: #39cfff; font-size: .76rem; }
.s03-header h2 { font-size: clamp(3.35rem, 4.85vw, 5.2rem); line-height: .98; }
.s03-header h2 strong { color: #1678f4; }
.s03-lead { max-width: 880px; margin-top: 16px; font-size: clamp(1rem, 1.28vw, 1.22rem); line-height: 1.42; }
.s03-cards { width: min(100%, 1000px); gap: 14px; }
.s03-card {
  min-height: 134px;
  grid-template-columns: 66px 1fr 34px;
  gap: 14px;
  padding: 18px 13px 18px 18px;
  border-radius: 17px;
  background: linear-gradient(135deg, rgb(5 32 78 / 92%), rgb(1 13 38 / 86%));
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 7%), 0 20px 45px rgb(0 5 24 / 34%);
}
.s03-card-icon { width: 62px; border-radius: 14px; box-shadow: 0 0 25px rgb(0 145 255 / 27%), inset 0 0 18px rgb(25 188 255 / 10%); }
.s03-card h3 { font-size: 1rem; }
.s03-card p { font-size: .88rem; }
.s03-scene { height: 390px; z-index: 3; }
.s03-scene > img {
  bottom: -28px;
  width: 760px;
  height: 428px;
  border-radius: 0;
  opacity: 1;
  filter: saturate(.98) contrast(1.08) brightness(.98);
}
.s03-scene--customer > img {
  right: -92px;
  object-position: 100% 50%;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 74%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 74%, transparent 100%);
}
.s03-scene--team > img {
  left: -115px;
  object-position: 100% 50%;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 22%, #000 82%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 22%, #000 82%, transparent 100%);
}
.s03-chat-stack { left: -6px; bottom: 54px; width: 276px; }
.s03-message, .s03-handoff { background: linear-gradient(135deg, rgb(8 67 150 / 94%), rgb(2 25 68 / 92%)); box-shadow: 0 0 32px rgb(0 125 255 / 23%), inset 0 1px 0 rgb(255 255 255 / 10%); }
.s03-handoff { right: -8px; bottom: 70px; }
.s03-core { height: 390px; }
.s03-core-globe { width: 282px; box-shadow: 0 0 0 9px rgb(18 121 255 / 9%), 0 0 62px rgb(13 154 255 / 52%), inset 0 0 46px rgb(6 111 225 / 33%); }
.s03-core-globe img { width: 160px; }
.s03-core-orbit { width: 350px; height: 92px; }
.s03-connections { bottom: 12px; height: 390px; }

@media (max-width: 1200px) {
  .site-header { height: 76px; min-height: 76px; padding-inline: 24px; }
  :root { --header-height: 76px; }
  .brand { width: 132px; }
  .menu-toggle { display: inline-flex; width: 48px; height: 48px; padding: 0; flex-direction: column; align-items: center; justify-content: center; gap: 5px; }
  .menu-toggle span { width: 20px; height: 2px; margin: 0; border-radius: 2px; background: #e9f7ff; }
  .primary-nav {
    position: absolute;
    inset: 100% 0 auto;
    display: flex;
    max-height: calc(100dvh - 76px);
    padding: 16px 24px 24px;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    overflow-y: auto;
    background: #090f27;
    border-bottom: 0;
    box-shadow: 0 16px 24px rgb(0 0 0 / 18%);
    transform: translateY(-130%);
    opacity: 0;
    pointer-events: none;
  }
  .primary-nav.is-open { transform: translateY(0); opacity: 1; pointer-events: auto; }
  .site-header.menu-open { background: #090f27; border-bottom-color: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .site-header.menu-open .brand-logo--white { opacity: 1; }
  .site-header.menu-open .brand-logo--blue { opacity: 0; }
  .site-header.menu-open .menu-toggle span { background: #e9f7ff; }
  .primary-nav a, .site-header.header-theme-light .primary-nav a:not(.nav-cta) { min-height: 48px; padding: 12px 16px; color: #fff; font-size: 14px; letter-spacing: .06em; opacity: 1; }
  .primary-nav a:hover, .primary-nav a:focus-visible,
  .site-header.header-theme-light .primary-nav a:not(.nav-cta):hover,
  .site-header.header-theme-light .primary-nav a:not(.nav-cta):focus-visible { color: #fff; background: rgb(255 255 255 / 10%); text-decoration: none; }
  .nav-cta { width: 100%; margin-top: 12px; justify-content: center; }
  .s03-content { grid-template-columns: minmax(0, 1fr) 240px minmax(0, 1fr); gap-inline: 16px; }
  .s03-core-globe { width: 220px; }
  .s03-core-globe img { width: 128px; }
  .s03-core-orbit { width: 270px; }
}

@media (max-width: 767px) {
  .hero { min-height: 920px; align-items: start; }
  .hero-video { object-position: center; filter: brightness(1.08) contrast(1.04) saturate(1.06); }
  .hero-overlay {
    background:
      linear-gradient(180deg, rgb(1 7 24 / 90%) 0%, rgb(1 7 24 / 72%) 27%, rgb(1 7 24 / 24%) 48%, transparent 64%, rgb(2 9 28 / 34%) 100%),
      linear-gradient(90deg, rgb(1 7 24 / 32%), transparent 72%);
  }
  .hero-content { padding-top: 76px; }
  .hero-content::before { top: 25%; left: -28%; width: 128%; height: 50%; background: radial-gradient(ellipse, rgb(1 7 24 / 54%), transparent 72%); }
  h1 { width: 100%; font-size: clamp(2.8rem, 14vw, 4.5rem); }
  .hero-copy { width: 100%; max-width: 520px; }
  .gaia-capabilities { min-height: 0; }
  .gaia-capabilities::before { height: 90px; }
  .s03-content { min-height: 0; padding-block: 76px 72px; }
  .s03-header h2 { font-size: clamp(2.55rem, 12vw, 4rem); }
  .s03-scene { height: 390px; }
  .s03-scene > img { width: 100%; height: 100%; bottom: auto; filter: saturate(.98) contrast(1.05); }
  .s03-scene--customer > img, .s03-scene--team > img { right: auto; left: auto; -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 65%, transparent 100%); mask-image: linear-gradient(180deg, #000 0%, #000 65%, transparent 100%); }
  .s03-scene--customer > img { object-position: 76% center; }
  .s03-scene--team > img { object-position: 78% center; }
  .s03-chat-stack { left: 14px; bottom: 18px; width: auto; }
  .s03-handoff { right: 14px; bottom: 18px; }
  .s03-core { height: 276px; }
  .s03-core-globe { width: 220px; }
  .s03-core-globe img { width: 126px; }
  .s03-core-orbit { width: 270px; }
}

@media (prefers-reduced-motion: reduce) {
  .site-header, .brand .brand-logo, .primary-nav a, .nav-cta { transition: none; }
}


/* Ajuste de composição mobile: copy e vídeo ocupam zonas complementares. */
@media (max-width: 767px) {
  .hero { min-height: 1080px; background: #02091c; }
  .hero-media { inset: 430px 0 0; height: auto; }
  .hero-video { object-position: center center; }
  .hero-overlay {
    background:
      linear-gradient(180deg, #02091c 0%, #02091c 31%, rgb(2 9 28 / 90%) 39%, rgb(2 9 28 / 24%) 51%, transparent 67%, rgb(2 9 28 / 32%) 100%);
  }
  .hero-content { align-self: start; padding-top: 74px; padding-bottom: 0; }
  .hero-content::before { top: 25%; height: 54%; }
  h1 { margin-bottom: 18px; font-size: clamp(2.7rem, 13vw, 3.55rem); line-height: .96; }
  .hero-copy { margin-bottom: 24px; font-size: .96rem; line-height: 1.48; }
  .hero-actions { gap: 10px; }
  .button { min-height: 48px; }
}
@media (max-width: 767px) {
  .s03-content {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    grid-template-areas:
      "header"
      "customer"
      "core"
      "cards"
      "team";
    gap: 28px;
  }
}

/* Refinamentos finais de fidelidade ao master da Seção 03. */
@media (min-width: 768px) {
  .s03-core-globe img { width: 220px; }
  .s03-scene--team > img { left: -300px; }
}
@media (max-width: 767px) {
  .s03-core-globe img { width: 168px; }
}

/* P03-D3 · Hero em zonas independentes: copy + vídeo V10 integral. */
.hero {
  min-height: max(760px, 100svh);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  padding-top: var(--header-height);
  overflow: clip;
  --hero-environment:
    radial-gradient(ellipse at 68% 62%, rgb(0 167 255 / 11%), transparent 49%),
    radial-gradient(ellipse at 17% 42%, rgb(10 81 180 / 20%), transparent 42%),
    linear-gradient(180deg, rgb(1 11 34 / 92%) 0%, rgb(1 11 34 / 82%) 53%, #010b22 100%),
    url('../../public/media/s03-master/assets/05_fundo_corporativo.png') center / cover no-repeat,
    #010b22;
  background: var(--hero-environment);
}
.hero-layout {
  width: min(calc(100% - 64px), 1760px);
  margin-inline: auto;
  padding-block: clamp(34px, 5vh, 72px);
  display: grid;
  grid-template-columns: minmax(0, 38fr) minmax(0, 62fr);
  align-items: center;
  gap: clamp(24px, 2.4vw, 48px);
}
.hero-content {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 650px;
  padding: clamp(30px, 3.2vw, 56px) clamp(0px, 1vw, 18px);
  text-shadow: none;
}
.hero-content::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -12% -8% -12% -18%;
  border-radius: 44px;
  background: radial-gradient(ellipse at 35% 50%, rgb(5 51 112 / 32%), rgb(1 11 34 / 12%) 58%, transparent 78%);
  filter: blur(20px);
  pointer-events: none;
}
.hero h1 {
  width: 100%;
  max-width: 650px;
  margin-bottom: 24px;
  font-size: clamp(3.4rem, 4.45vw, 5.65rem);
  line-height: .96;
}
.hero-copy {
  width: 100%;
  max-width: 590px;
  margin-bottom: 34px;
  color: rgb(247 251 255 / 88%);
}
.hero-visual {
  min-width: 0;
  width: 100%;
  display: grid;
  place-items: center;
}
.hero-media {
  position: relative;
  inset: auto;
  z-index: auto;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 1px solid rgb(65 196 255 / 18%);
  border-radius: clamp(16px, 1.4vw, 26px);
  background: #02091c var(--hero-poster-desktop, url('../../public/media/video/hero-gaia-desktop-poster.webp')) center / contain no-repeat;
  box-shadow: 0 38px 100px rgb(0 0 0 / 38%), 0 0 64px rgb(0 116 255 / 9%);
}
.hero-video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background: #02091c;
  filter: none;
}
.hero-overlay,
.hero::after { display: none; }
.hero-s03-transition {
  flex: 0 0 clamp(72px, 7vw, 118px);
  width: 100%;
  margin-top: auto;
  background: radial-gradient(ellipse at 50% 0%, rgb(0 154 235 / 6%), transparent 75%), linear-gradient(180deg, transparent, #031c38);
}

@media (max-width: 1180px) {
  .hero { min-height: auto; }
  .hero-layout {
    width: min(calc(100% - 48px), 1040px);
    grid-template-columns: 1fr;
    gap: 18px;
    padding-block: 42px 24px;
  }
  .hero-content {
    max-width: 760px;
    padding: 28px 0 18px;
  }
  .hero-content::before { inset: -10% -8% -10% -10%; }
  .hero h1 { max-width: 760px; font-size: clamp(3.5rem, 7.4vw, 5.4rem); }
  .hero-copy { max-width: 700px; }
  .hero-visual { width: min(100%, 1040px); margin-inline: auto; }
}

@media (max-width: 767px) {
  .hero {
    min-height: auto;
    align-items: stretch;
    padding-top: var(--header-height);
    background: var(--hero-environment);
  }
  .hero-layout {
    width: min(calc(100% - 28px), 560px);
    gap: 22px;
    padding-block: 28px 18px;
  }
  .hero-content {
    padding: 24px 0 4px;
  }
  .hero-content::before {
    inset: -8% -14%;
    border-radius: 30px;
    background: radial-gradient(ellipse at 30% 50%, rgb(5 51 112 / 30%), transparent 74%);
  }
  .hero h1 {
    margin-bottom: 18px;
    font-size: clamp(2.7rem, 13vw, 3.55rem);
    line-height: .96;
  }
  .hero-copy { margin-bottom: 24px; font-size: .96rem; line-height: 1.48; }
  .hero-actions { gap: 10px; }
  .hero-visual { width: 100%; }
  .hero-media {
    aspect-ratio: 1 / 1;
    max-height: none;
    border-radius: 18px;
    background-image: var(--hero-poster-mobile, url('../../public/media/video/hero-gaia-mobile-poster.webp'));
  }
  .hero-video { object-fit: cover; object-position: center 70%; }
  .hero-s03-transition { flex-basis: 76px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-video { display: none; }
}



/* P03-D2F · responsividade global + cena inferior geométrica da S03. */
:root {
  --global-shell: 1440px;
  --hero-shell: 1760px;
  --page-gutter: clamp(18px, 3.2vw, 64px);
}


html, body { width: 100%; max-width: 100%; overflow-x: clip; }

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

a:focus-visible, button:focus-visible { outline: 2px solid #72edff; outline-offset: 4px; }

.content { width: min(var(--global-shell), calc(100% - (2 * var(--page-gutter)))); }

.header-inner { max-width: var(--global-shell); }

.hero-layout { width: min(calc(100% - (2 * var(--page-gutter))), var(--hero-shell)); }

.prototype-section { min-height: clamp(520px, 58vh, 860px); }

.prototype-section > .content { padding-block: clamp(64px, 7vw, 108px); }

.prototype-section h2 { font-size: clamp(2.1rem, 4vw, 4.8rem); }

.section-shell, .plans-shell article { min-width: 0; }

.demo-frame { width: 100%; max-width: 1440px; margin-inline: auto; }


@media (min-width: 1921px) {
  .site-header { padding-inline: max(32px, calc((100vw - var(--global-shell)) / 2)); }

  .hero-layout { max-width: var(--hero-shell); }

  .hero h1 { font-size: 6.25rem; }

  .hero-copy { font-size: 1.22rem; }}


/* Tablet: header compacto, Hero empilhado e S03 no fluxo sem colisões. */
@media (max-width: 1180px) {
  :root { --header-height: 76px; }

  .site-header { height: var(--header-height); min-height: var(--header-height); padding-inline: var(--page-gutter); }

  .header-inner { width: 100%; }

  .brand { width: 132px; }

  .menu-toggle { display: block; min-width: 46px; min-height: 46px; }

  .primary-nav {
    position: fixed;
    inset: var(--header-height) 0 auto;
    display: grid;
    gap: 0;
    max-height: calc(100svh - var(--header-height));
    overflow-y: auto;
    padding: 18px var(--page-gutter) 22px;
    background: rgb(2 12 36 / 97%);
    border-bottom: 1px solid rgb(117 239 255 / 22%);
    transform: translateY(-130%);
    opacity: 0;
    pointer-events: none;
    transition: transform .28s ease, opacity .28s ease;
  }

  .primary-nav.is-open { transform: translateY(0); opacity: 1; pointer-events: auto; }

  .primary-nav a { min-height: 48px; padding: 14px 12px; display: flex; align-items: center; }

  .nav-cta { justify-content: center; margin-top: 8px; }

  .hero-layout { width: min(calc(100% - (2 * var(--page-gutter))), 1040px); }

  .hero h1 { max-width: 760px; }

  .hero-copy { max-width: 700px; }}


@media (max-width: 767px) {
  :root { --page-gutter: 14px; }

  .site-header { padding-inline: 14px; }

  .brand { width: 126px; }

  .hero-layout { width: min(calc(100% - 28px), 560px); }

  .hero h1 { font-size: clamp(2.55rem, 13vw, 3.55rem); }

  .hero-copy { font-size: clamp(.94rem, 4.1vw, 1rem); }

  .hero-media { aspect-ratio: 1 / 1; }

  .button { min-height: 52px; }}


@media (max-width: 359px) {
  .brand { width: 116px; }

  .menu-toggle { width: 44px; min-width: 44px; }

  .hero-actions { max-width: none; }}


@media (min-width: 2000px) and (min-height: 1200px) {
  .hero-layout { margin-block: auto; }

  .hero-s03-transition { margin-top: 0; }}

/* S03 · layouts anteriores fora do desktop desta aprovação. */
.s03v2-lines--desktop, .s03v2-floor-mesh { display: none; }
@media (max-width:1799px), (min-width:2001px) {
.s03v2{
  position: relative;
  min-height: 1080px;
  overflow: clip;
  isolation: isolate;
  background: #02091c;
}
.s03v2::before,
.s03v2::after{ content: none; }
.s03v2-background,
.s03v2-shade{ position: absolute; inset: 0; width: 100%; height: 100%; }
.s03v2-background{ z-index: -3; object-fit: cover; object-position: center; filter: brightness(.55) saturate(1.15) contrast(1.06); }
.s03v2-shade{
  z-index: -2;
  background:
    linear-gradient(180deg, rgb(1 7 25 / 74%) 0%, rgb(1 9 31 / 56%) 26%, rgb(1 9 31 / 18%) 62%, rgb(1 8 28 / 64%) 100%),
    radial-gradient(ellipse at 50% 74%, rgb(0 93 255 / 23%), transparent 42%),
    linear-gradient(90deg, rgb(1 7 25 / 17%), transparent 28%, transparent 72%, rgb(1 7 25 / 17%));
}
.s03v2-stage{ position: relative; width: min(100%, 1920px); height: 1080px; margin-inline: auto; overflow: hidden; }
.s03v2-header{ position: absolute; z-index: 8; top: 46px; left: 50%; width: min(1040px, 70%); translate: -50% 0; text-align: center; }
.s03v2-eyebrow{ margin: 0 0 10px; display: flex; align-items: center; justify-content: center; gap: 18px; color: #29cfff; font-size: .78rem; font-weight: 750; letter-spacing: .18em; text-transform: uppercase; }
.s03v2-eyebrow span{ width: 54px; height: 1px; background: #29cfff; }
.s03v2-header h2{ margin: 0; color: #fff; font-size: clamp(3.4rem, 4.1vw, 5rem); line-height: .98; letter-spacing: -.045em; text-wrap: balance; }
.s03v2-header h2 strong{ color: #1877f2; font-weight: inherit; }
.s03v2-header > p:last-child{ margin: 18px auto 0; color: rgb(255 255 255 / 87%); font-size: clamp(1.02rem, 1.17vw, 1.34rem); line-height: 1.38; }
.s03v2-person{ position: absolute; z-index: 2; bottom: -3px; overflow: hidden; pointer-events: none; }
.s03v2-person img{ display: block; width: 100%; height: 100%; object-fit: contain; object-position: bottom; }
.s03v2-person--woman{ left: -45px; width: 420px; height: 910px; }
.s03v2-person--woman img{ transform: scale(1.015); transform-origin: bottom center; }
.s03v2-person--man{ right: -22px; width: 370px; height: 760px; }
.s03v2-person--man img{ transform: scale(1.02); transform-origin: bottom center; }
.s03v2-cards{ position: absolute; z-index: 6; top: 310px; left: 50%; width: min(1040px, 62%); translate: -50% 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.s03v2-card{ min-width: 0; min-height: 160px; padding: 18px 14px 18px 18px; display: grid; grid-template-columns: 76px minmax(0, 1fr) 34px; align-items: center; gap: 13px; border: 1px solid rgb(23 137 255 / 88%); border-radius: 18px; background: linear-gradient(128deg, rgb(6 38 89 / 90%), rgb(1 15 44 / 88%)); box-shadow: inset 0 1px 0 rgb(255 255 255 / 8%), 0 20px 52px rgb(0 4 20 / 32%); backdrop-filter: blur(14px); }
.s03v2-card:focus-within,
.s03v2-card:hover{ border-color: #42dcff; box-shadow: inset 0 1px 0 rgb(255 255 255 / 12%), 0 20px 58px rgb(0 112 255 / 22%); }
.s03v2-icon{ width: 74px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid #168bff; border-radius: 14px; color: #18bfff; background: linear-gradient(145deg, rgb(4 92 198 / 72%), rgb(2 24 70 / 90%)); box-shadow: inset 0 0 20px rgb(0 173 255 / 25%), 0 0 20px rgb(0 140 255 / 25%); }
.s03v2-icon svg{ width: 45px; height: 45px; fill: none; stroke: currentColor; stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; }
.s03v2-card h3{ margin: 0 0 9px; color: #fff; font-size: 1.08rem; line-height: 1; text-transform: uppercase; }
.s03v2-card p{ margin: 0; color: rgb(255 255 255 / 84%); font-size: .91rem; line-height: 1.36; }
.s03v2-arrow{ width: 32px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid #178aff; border-radius: 50%; color: #fff; font-size: 1.75rem; font-weight: 300; line-height: 1; }
.s03v2-messages{ position: absolute; z-index: 7; left: 28px; bottom: 318px; width: 285px; }
.s03v2-bubble{ position: relative; border: 1px solid #4ad8ff; color: #fff; background: linear-gradient(135deg, rgb(8 83 177 / 92%), rgb(3 31 86 / 91%)); box-shadow: inset 0 1px 0 rgb(255 255 255 / 10%), 0 0 30px rgb(0 139 255 / 26%); backdrop-filter: blur(13px); }
.s03v2-bubble p{ margin: 0; font-size: .94rem; line-height: 1.28; }
.s03v2-bubble small{ position: absolute; right: 12px; bottom: 9px; color: rgb(255 255 255 / 76%); font-size: .66rem; }
.s03v2-bubble small span{ margin-left: 7px; color: #5ff2ff; }
.s03v2-bubble--question{ width: 205px; margin-left: 24px; padding: 17px 17px 28px; border-radius: 16px; transform: rotate(2deg); }
.s03v2-bubble--answer{ width: 258px; min-height: 112px; margin-top: 18px; padding: 24px 16px 24px 84px; border-radius: 18px; transform: rotate(-1deg); }
.s03v2-mini-gaia{ position: absolute; left: 18px; top: 50%; width: 49px; aspect-ratio: 1; translate: 0 -50%; display: grid; place-items: center; border: 3px solid #fff; border-radius: 50%; color: #fff; font-weight: 800; box-shadow: 0 0 16px #49e8ff; }
.s03v2-core{ position: absolute; z-index: 7; left: 50%; bottom: 66px; width: 350px; height: 350px; translate: -50% 0; display: grid; place-items: center; }
.s03v2-sphere{ position: relative; z-index: 2; width: 286px; aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; border: 2px solid #46ddff; border-radius: 50%; background: radial-gradient(circle at 45% 38%, rgb(9 71 156 / 76%), rgb(2 16 50 / 97%) 66%); box-shadow: 0 0 0 9px rgb(20 133 255 / 9%), 0 0 38px #00a7ff, 0 0 88px rgb(0 108 255 / 64%), inset 0 0 52px rgb(3 122 246 / 42%); }
.s03v2-sphere::before{ content: ""; position: absolute; inset: 8%; border: 1px solid rgb(90 223 255 / 24%); border-radius: 50%; background: radial-gradient(circle at 50% 12%, rgb(63 228 255 / 12%), transparent 38%); }
.s03v2-sphere img{ position: relative; z-index: 2; width: 164px; height: auto; }
.s03v2-ring{ position: absolute; z-index: 3; width: 352px; height: 110px; border: 2px solid rgb(43 166 255 / 72%); border-radius: 50%; box-shadow: 0 0 18px rgb(0 147 255 / 48%); transform: rotate(-14deg); }
.s03v2-ring--two{ width: 330px; height: 92px; transform: rotate(17deg); opacity: .64; }
.s03v2-handoff{ position: absolute; z-index: 7; right: 44px; bottom: 350px; width: 290px; min-height: 108px; padding: 16px; display: grid; grid-template-columns: 52px 1fr; align-items: center; gap: 13px; border: 1px solid #39ceff; border-radius: 18px; color: #fff; background: linear-gradient(135deg, rgb(6 79 167 / 92%), rgb(2 27 74 / 93%)); box-shadow: inset 0 1px 0 rgb(255 255 255 / 9%), 0 0 34px rgb(0 132 255 / 25%); backdrop-filter: blur(13px); }
.s03v2-handoff img{ width: 52px; aspect-ratio: 1; object-fit: cover; border: 2px solid #36d6ff; border-radius: 50%; }
.s03v2-handoff strong{ display: block; margin-bottom: 5px; font-size: .95rem; }
.s03v2-handoff p{ margin: 0; color: rgb(255 255 255 / 84%); font-size: .78rem; line-height: 1.35; }
.s03v2-lines{ position: absolute; z-index: 5; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.s03v2-line-group path{ fill: none; stroke-width: 3; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.s03v2-line-points{ fill: #6df5ff; }
@media (max-width: 1540px) and (min-width: 1181px){.s03v2, .s03v2-stage{ min-height: 980px; height: 980px; }
.s03v2-header{ top: 42px; }
.s03v2-header h2{ font-size: clamp(3.2rem, 4.2vw, 4.4rem); }
.s03v2-cards{ top: 284px; width: min(960px, 64%); }
.s03v2-card{ min-height: 146px; grid-template-columns: 66px minmax(0,1fr) 30px; padding: 15px 12px 15px 15px; }
.s03v2-icon{ width: 64px; }
.s03v2-icon svg{ width: 39px; }
.s03v2-card p{ font-size: .82rem; }
.s03v2-person--woman{ width: 365px; height: 800px; }
.s03v2-person--man{ width: 325px; height: 675px; }
.s03v2-messages{ bottom: 270px; transform: scale(.9); transform-origin: left bottom; }
.s03v2-handoff{ right: 26px; bottom: 306px; transform: scale(.9); transform-origin: right bottom; }
.s03v2-core{ bottom: 34px; transform: scale(.9); transform-origin: center bottom; }}
@media (max-width: 1180px){.s03v2{ min-height: 0; padding: 0; overflow: hidden; }
.s03v2-stage{ width: min(100% - 40px, 1000px); height: auto; min-height: 0; padding: 88px 0 70px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "header header" "woman man" "cards cards" "core core"; gap: 30px 24px; overflow: visible; }
.s03v2-header{ position: relative; top: auto; left: auto; width: 100%; translate: none; grid-area: header; }
.s03v2-header h2{ font-size: clamp(3rem, 7vw, 4.5rem); }
.s03v2-person{ position: relative; inset: auto; width: 100%; height: 480px; align-self: end; overflow: hidden; }
.s03v2-person--woman{ grid-area: woman; }
.s03v2-person--man{ grid-area: man; }
.s03v2-person img{ width: 100%; height: 112%; object-position: bottom center; transform: none; }
.s03v2-messages{ left: 16px; top: 420px; bottom: auto; transform: scale(.82); transform-origin: left top; }
.s03v2-handoff{ right: 16px; top: 526px; bottom: auto; transform: scale(.86); transform-origin: right top; }
.s03v2-cards{ position: relative; inset: auto; width: 100%; translate: none; grid-area: cards; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.s03v2-core{ position: relative; inset: auto; translate: none; grid-area: core; justify-self: center; }
.s03v2-lines{ display: none; }}
@media (max-width: 767px){.s03v2-stage{ width: min(100% - 28px, 560px); padding: 72px 0 62px; grid-template-columns: 1fr; grid-template-areas: "header" "woman" "cards" "core" "man"; gap: 24px; }
.s03v2-header h2{ font-size: clamp(2.55rem, 12vw, 3.65rem); }
.s03v2-header > p:last-child{ font-size: .98rem; }
.s03v2-header br{ display: none; }
.s03v2-person{ height: 430px; }
.s03v2-person--woman{ margin-top: 6px; }
.s03v2-person--man{ margin-top: -14px; }
.s03v2-person img{ height: 110%; }
.s03v2-messages{ top: 480px; left: 0; transform: scale(.78); }
.s03v2-handoff{ top: auto; right: 0; bottom: 86px; transform: scale(.86); }
.s03v2-cards{ grid-template-columns: 1fr; gap: 12px; }
.s03v2-card{ min-height: 126px; grid-template-columns: 64px minmax(0, 1fr) 30px; padding: 14px; }
.s03v2-icon{ width: 60px; }
.s03v2-icon svg{ width: 38px; }
.s03v2-core{ width: 290px; height: 290px; margin-block: 6px 0; }
.s03v2-sphere{ width: 230px; }
.s03v2-sphere img{ width: 138px; }
.s03v2-ring{ width: 286px; height: 88px; }
.s03v2-ring--two{ width: 268px; height: 76px; }}
@media (prefers-reduced-motion: reduce){.s03v2-card{ transition: none; }}
@media (min-width: 1181px){.s03v2-header{ top: 98px; }
.s03v2-cards{ top: 352px; }
.s03v2-handoff{ bottom: 342px; min-height: 108px; height: auto; }
.s03v2-handoff img{ width: 52px; height: 52px; }}
@media (max-width: 1180px){.s03v2-handoff img{ width: 52px; height: 52px; }}
@media (min-width: 1181px){.s03v2-cards{ top: 376px; }
.s03v2-person--woman{ left: -20px; width: 460px; height: 1000px; }
.s03v2-person--man{ right: -18px; width: 405px; height: 820px; }}
@media (max-width: 767px){.s03v2-header br{ display: initial; }}
.s03v2-sphere{
  width: 350px;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.s03v2-sphere::before{ content: none; }
.s03v2-sphere img{
  width: 100%;
  height: auto;
  filter: none;
}
.s03v2-ring{ display: none; }
@media (min-width: 1181px){.s03v2-person--woman{ left: -40px; width: 560px; height: 930px; }
.s03v2-person--woman img{ width: auto; max-width: none; height: 100%; object-fit: contain; transform: none; }
.s03v2-person--man{ right: -94px; width: 640px; height: 840px; }
.s03v2-person--man img{ width: auto; max-width: none; height: 100%; object-fit: contain; transform: none; }
.s03v2-core{ width: 370px; height: 370px; bottom: 42px; }}
@media (max-width: 1180px){.s03v2-person img{ width: 100%; height: 100%; object-fit: contain; transform: none; }
.s03v2-sphere{ width: 300px; }}
@media (max-width: 767px){.s03v2-person--woman img{ object-position: center bottom; }
.s03v2-person--man img{ object-position: center bottom; }
.s03v2-sphere{ width: 255px; }}
.s03v2-background{
  filter: brightness(.7) saturate(1.08) contrast(1.03);
}
.s03v2-shade{
  background:
    linear-gradient(180deg, rgb(1 7 25 / 58%) 0%, rgb(1 9 31 / 34%) 25%, rgb(1 9 31 / 8%) 64%, rgb(1 8 28 / 38%) 100%),
    radial-gradient(ellipse at 50% 76%, rgb(0 93 255 / 18%), transparent 44%),
    linear-gradient(90deg, rgb(1 7 25 / 8%), transparent 24%, transparent 76%, rgb(1 7 25 / 8%));
}
.s03v2-connector-nodes{ color: #64efff; fill: rgb(3 25 69 / 92%); stroke: currentColor; stroke-width: 3; filter: url(#s03v2-glow); }
.s03v2-connector-node > circle{ vector-effect: non-scaling-stroke; }
.s03v2-connector-node path{ fill: none; stroke: currentColor; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.s03v2-connector-node .dot{ fill: currentColor; stroke: none; }
@media (min-width: 1541px){.s03v2-header{ top: 46px; }
.s03v2-cards{ top: 320px; width: min(1120px, 68%); }
.s03v2-person--woman{ top: 30px; bottom: auto; left: -60px; width: 530px; height: 720px; }
.s03v2-person--woman img{ width: 530px; height: auto; transform: translateY(-65px); }
.s03v2-person--man{ top: 142px; bottom: auto; right: -120px; width: 520px; height: 580px; }
.s03v2-person--man img{ width: auto; height: 580px; }
.s03v2-core{ width: 510px; height: 510px; bottom: -65px; }
.s03v2-sphere{ width: 500px; }
.s03v2-messages{ left: 42px; bottom: 316px; }
.s03v2-handoff{ right: 38px; bottom: 369px; }}
@media (max-width: 1540px) and (min-width: 1181px){.s03v2-header{ top: 42px; }
.s03v2-cards{ top: 286px; width: min(980px, 68%); }
.s03v2-person--woman{ top: 20px; bottom: auto; left: -12px; width: 390px; height: 600px; }
.s03v2-person--woman img{ width: 390px; height: auto; transform: translateY(-8px); }
.s03v2-person--man{ top: 120px; bottom: auto; right: -14px; width: 440px; height: 500px; }
.s03v2-person--man img{ width: auto; height: 500px; }
.s03v2-messages{ left: 24px; bottom: 270px; transform: scale(.82); }
.s03v2-handoff{ right: 20px; bottom: 300px; transform: scale(.84); }
.s03v2-core{ width: 430px; height: 430px; bottom: -50px; transform: none; }
.s03v2-sphere{ width: 420px; }}
@media (max-width: 1180px){.s03v2-background{ filter: brightness(.6) saturate(1.08) contrast(1.03); }}
@media (max-width: 767px){.s03v2-background{ filter: brightness(.48) saturate(1.06) contrast(1.04); }
.s03v2-person--woman,
  .s03v2-person--man{ bottom: auto; }}
.s03v2-tech-floor{
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  bottom: 0;
  height: 48%;
  overflow: hidden;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 50% 92%, rgb(0 109 255 / 36%), transparent 46%),
    linear-gradient(180deg, transparent 0%, rgb(0 51 142 / 8%) 28%, rgb(0 45 139 / 28%) 100%);
  mask-image: linear-gradient(180deg, transparent 0%, #000 20%, #000 100%);
}
.s03v2-tech-floor::before{
  content: "";
  position: absolute;
  left: -18%;
  right: -18%;
  bottom: -42%;
  height: 128%;
  opacity: .62;
  transform: perspective(540px) rotateX(62deg) scale(1.18);
  transform-origin: center bottom;
  background-image:
    linear-gradient(rgb(42 176 255 / 28%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(42 176 255 / 24%) 1px, transparent 1px),
    radial-gradient(circle, rgb(92 235 255 / 84%) 0 1.5px, transparent 2.5px);
  background-size: 68px 54px, 68px 54px, 68px 54px;
  box-shadow: inset 0 42px 80px rgb(1 8 34 / 70%);
}
.s03v2-tech-floor::after{
  content: "";
  position: absolute;
  inset: auto -8% 4%;
  height: 54%;
  opacity: .72;
  background:
    radial-gradient(ellipse at 50% 100%, transparent 50%, rgb(36 201 255 / 32%) 50.5%, transparent 52%),
    radial-gradient(ellipse at 50% 100%, transparent 62%, rgb(21 120 255 / 27%) 62.5%, transparent 64%),
    radial-gradient(ellipse at 50% 100%, transparent 73%, rgb(48 229 255 / 19%) 73.5%, transparent 75%);
  filter: drop-shadow(0 0 18px rgb(0 144 255 / 50%));
}
.s03v2-tech-wave{ position: absolute; left: 50%; border: 1px solid rgb(49 199 255 / 32%); border-radius: 50%; translate: -50% 0; filter: drop-shadow(0 0 12px rgb(0 137 255 / 45%)); }
.s03v2-tech-wave--one{ bottom: 16%; width: 74%; height: 20%; }
.s03v2-tech-wave--two{ bottom: 7%; width: 94%; height: 28%; opacity: .6; }
.s03v2-core::after{
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: -4%;
  width: 82%;
  height: 15%;
  translate: -50% 0;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgb(58 219 255 / 44%), rgb(0 83 255 / 20%) 46%, transparent 72%);
  filter: blur(14px);
}
@media (min-width: 1181px){.s03v2{
    --s03-stage-height: clamp(820px, 60.4167vw, 1160px);
    --s03-core-size: clamp(330px, 26.0417vw, 500px);
    min-height: var(--s03-stage-height);
  }
.s03v2-stage{ width: min(100%, 1920px); height: var(--s03-stage-height); min-height: var(--s03-stage-height); }
.s03v2-header{ top: clamp(30px, 2.3958vw, 46px); }
.s03v2-cards{
    top: clamp(220px, 16.6667vw, 320px);
    width: min(58.3333vw, 1120px);
    gap: clamp(10px, .8333vw, 16px);
  }
.s03v2-card{
    min-height: clamp(118px, 8.3333vw, 160px);
    padding: clamp(13px, .94vw, 18px) clamp(10px, .73vw, 14px) clamp(13px, .94vw, 18px) clamp(14px, .94vw, 18px);
    grid-template-columns: clamp(54px, 3.85vw, 74px) minmax(0, 1fr) clamp(28px, 1.67vw, 32px);
    gap: clamp(9px, .68vw, 13px);
  }
.s03v2-icon{ width: clamp(54px, 3.85vw, 74px); }
.s03v2-icon svg{ width: clamp(34px, 2.34vw, 45px); }
.s03v2-card h3{ font-size: clamp(.92rem, .9vw, 1.08rem); }
.s03v2-card p{ font-size: clamp(.76rem, .75vw, .91rem); }
.s03v2-person--woman{ top: clamp(20px, 1.5625vw, 30px); bottom: auto; left: max(-60px, -3.125vw); width: clamp(360px, 27.6042vw, 530px); height: 66%; }
.s03v2-person--woman img{ width: 100%; height: auto; transform: translateY(clamp(-65px, -3.3854vw, -36px)); }
.s03v2-person--man{ top: 12.2414%; bottom: auto; right: max(-120px, -6.25vw); width: clamp(360px, 27.0833vw, 520px); height: 56%; }
.s03v2-person--man img{ width: 100%; height: auto; }
.s03v2-messages{ left: clamp(24px, 2.1875vw, 42px); bottom: 27.2414%; transform-origin: left bottom; }
.s03v2-handoff{ right: clamp(20px, 1.9792vw, 38px); bottom: 31.8103%; transform-origin: right bottom; }
.s03v2-core{
    top: calc(76.7241% - (var(--s03-core-size) / 2));
    bottom: auto;
    width: calc(var(--s03-core-size) + 10px);
    height: calc(var(--s03-core-size) + 10px);
    transform: none;
  }
.s03v2-sphere{ width: var(--s03-core-size); }
.s03v2-lines{ inset: 0; }}
@media (min-width: 1921px){.s03v2-background{ object-fit: cover; }}
@media (max-width: 1180px){.s03v2-tech-floor{ height: 42%; opacity: .62; }}
@media (max-width: 767px){.s03v2-stage{ width: min(calc(100% - 28px), 560px); }
.s03v2-header h2{ font-size: clamp(2.35rem, 11.6vw, 3.65rem); }
.s03v2-card{ min-width: 0; }
.s03v2-card p{ overflow-wrap: anywhere; }
.s03v2-tech-floor{ left: -14px; right: -14px; height: 34%; opacity: .5; }
.s03v2-core{ max-width: 100%; }}
@media (max-width: 359px){.s03v2-card{ grid-template-columns: 54px minmax(0, 1fr) 28px; gap: 9px; padding: 12px 10px; }
.s03v2-icon{ width: 52px; }
.s03v2-card h3{ font-size: .9rem; }
.s03v2-card p{ font-size: .78rem; }
.s03v2-messages{ left: -4px; }
.s03v2-handoff{ right: -4px; }}
@media (prefers-reduced-motion: reduce){.s03v2-tech-floor::before,
  .s03v2-tech-floor::after,
  .s03v2-tech-wave{ animation: none !important; }}
@media (min-width: 1181px){.s03v2{ height: var(--s03-stage-height); }
.s03v2-core{ top: calc(75% - (var(--s03-core-size) / 2)); }}
}

/* P03-D2G · única definição ativa da S03 desktop 1920; geometria 1920×1080. */
@media (min-width:1800px) and (max-width:2000px) {
.s03v2 { position:relative; isolation:isolate; width:100%; height:auto; min-height:0; padding:0; overflow:clip; background:#02091c; }
.s03v2::before,.s03v2::after { content:none; }
.s03v2-stage { position:relative; width:100%; max-width:1920px; aspect-ratio:1920 / 1080; height:auto; min-height:0; margin-inline:auto; overflow:hidden; container-type:inline-size; }
.s03v2-background,.s03v2-shade { position:absolute; inset:0; width:100%; height:100%; }
.s03v2-background { z-index:-3; object-fit:cover; object-position:center; filter:brightness(.84) saturate(1.13); transform:scale(1.025); }
.s03v2-shade { z-index:-2; background:radial-gradient(ellipse at 50% 13%,#01091be8 0%,#01091b8a 30%,transparent 61%),linear-gradient(180deg,#02091c1f 42%,#010a2266 72%,#010c294d); }
.s03v2-header { position:absolute; z-index:8; top:4.78%; left:50%; width:64%; translate:-50% 0; text-align:center; }
.s03v2-eyebrow { display:flex; justify-content:center; align-items:center; gap:18px; margin:0 0 10px; color:#20d4ff; font-size:16px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; }
.s03v2-eyebrow span { width:60px; height:1px; background:#14caff; }
.s03v2-header h2 { margin:0; font-size:76px; line-height:.99; font-weight:750; letter-spacing:-.045em; color:#fff; }
.s03v2-header h2 strong { color:#087cf7; font-weight:inherit; }
.s03v2-header>p:last-child { margin:25px auto 0; font-size:25px; line-height:1.38; color:#f4f7ff; }
.s03v2-person { position:absolute; z-index:2; overflow:visible; pointer-events:none; bottom:auto; mask-image:linear-gradient(#000 0%,#000 84%,transparent 100%); }
.s03v2-person img { display:block; width:100%; max-width:none; height:auto; object-fit:contain; transform:none; }
.s03v2-person--woman { left:-5.5%; top:-2.2%; width:29.2%; height:auto; }
.s03v2-person--man { right:-3.8%; top:13%; width:30%; height:auto; }
.s03v2-cards { position:absolute; z-index:6; left:50%; top:31.3%; width:58.5%; translate:-50% 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.s03v2-card { position:relative; min-width:0; height:174px; min-height:174px; padding:18px 20px 18px 20px; display:grid; grid-template-columns:86px minmax(0,1fr); align-items:start; gap:22px; border:1px solid #1bcaff; border-radius:19px; background:linear-gradient(128deg,#041732e6,#010c22eb); box-shadow:inset 0 1px 0 #ffffff08,0 12px 32px #000b2338; backdrop-filter:blur(14px); }
.s03v2-card:hover,.s03v2-card:focus-within { border-color:#77e9ff; }
.s03v2-icon { width:86px; aspect-ratio:1; display:grid; place-items:center; border:1px solid #168bff; border-radius:17px; color:#00c7ff; background:linear-gradient(135deg,#084c9bbb,#001940); box-shadow:inset 0 0 20px #0095ff38,0 0 14px #00a7ff66; }
.s03v2-icon svg { width:52px; height:52px; fill:none; stroke:currentColor; stroke-width:3.2; stroke-linecap:round; stroke-linejoin:round; }
.s03v2-card h3 { margin:10px 0 15px; color:white; font-size:21px; line-height:1; letter-spacing:-.03em; text-transform:uppercase; }
.s03v2-card p { margin:0; color:#f4f7ff; font-size:18px; line-height:1.28; }
.s03v2-arrow { position:absolute; right:18px; bottom:13px; width:43px; aspect-ratio:1; display:grid; place-items:center; border:1px solid #12c6ff; border-radius:50%; font-size:34px; line-height:1; color:white; background:#001834; }
.s03v2-messages { position:absolute; z-index:7; left:2.65%; top:47%; bottom:auto; width:315px; transform:none; }
.s03v2-bubble { position:relative; border:1px solid #69e6ff; color:#fff; background:linear-gradient(135deg,#0756b2e6,#03265de8); box-shadow:inset 0 1px 0 #ffffff28,0 0 22px #009dff80; backdrop-filter:blur(13px); }
.s03v2-bubble p { margin:0; font-size:17px; line-height:1.3; }
.s03v2-bubble small { position:absolute; right:14px; bottom:12px; color:#e0ebff; font-size:13px; }
.s03v2-bubble small span { margin-left:7px; color:#82f5ff; }
.s03v2-bubble--question { width:235px; min-height:97px; margin-left:22px; padding:14px 20px 30px; border-radius:18px; transform:rotate(2deg); }
.s03v2-bubble--answer { width:269px; min-height:123px; margin-top:29px; padding:24px 15px 29px 86px; border-radius:20px; transform:rotate(2deg); }
.s03v2-mini-gaia { position:absolute; left:18px; top:50%; width:55px; aspect-ratio:1; translate:0 -50%; display:grid; place-items:center; border:3px solid #fff; border-radius:50%; color:#fff; font-size:24px; font-weight:800; box-shadow:0 0 16px #49e8ff; }
.s03v2-handoff { position:absolute; z-index:7; right:2%; top:56.5%; bottom:auto; width:325px; min-height:139px; height:auto; padding:17px; display:grid; grid-template-columns:59px 1fr; align-items:start; gap:17px; border:1px solid #53deff; border-radius:22px; color:#fff; background:linear-gradient(135deg,#034992ee,#011f57f0); box-shadow:inset 0 1px 0 #ffffff28,0 0 25px #009dff66; backdrop-filter:blur(13px); transform:none; }
.s03v2-handoff img { width:59px; height:59px; object-fit:cover; border:2px solid #36d6ff; border-radius:50%; }
.s03v2-handoff strong { display:block; margin:1px 0 10px; font-size:18px; }
.s03v2-handoff p { margin:0; color:#f4f7ff; font-size:16px; line-height:1.32; }
.s03v2-core { position:absolute; z-index:7; left:50%; top:56.6%; bottom:auto; width:26.0416667%; height:auto; aspect-ratio:1; translate:-50% 0; display:grid; place-items:center; transform:none; }
.s03v2-sphere { position:relative; z-index:2; width:100%; aspect-ratio:1; overflow:visible; border:0; border-radius:0; background:none; box-shadow:none; }
.s03v2-sphere::before { content:none; }
.s03v2-sphere img { display:block; width:100%; height:auto; filter:none; }
.s03v2-ring { display:none; }
.s03v2-core::after { content:""; position:absolute; z-index:-1; left:50%; bottom:4%; width:105%; height:17%; translate:-50% 0; border-radius:50%; background:radial-gradient(ellipse,#20d9ff8c,#0060e947 48%,transparent 72%); filter:blur(16px); }
.s03v2-tech-floor { position:absolute; z-index:1; left:0; right:0; bottom:0; height:38%; overflow:hidden; pointer-events:none; background:radial-gradient(ellipse at 50% 85%,#006fff66,transparent 51%),linear-gradient(180deg,transparent,#002a5b66); mask-image:linear-gradient(transparent,#000 23%,#000); }
.s03v2-tech-floor::before { content:""; position:absolute; inset:10% -10% -52%; transform:perspective(620px) rotateX(45deg); transform-origin:center 72%; opacity:.9; background-image:radial-gradient(circle,#20bfff 0 1.1px,transparent 1.9px),linear-gradient(#0777c82e 1px,transparent 1px),linear-gradient(90deg,#168acc2b 1px,transparent 1px); background-size:15px 15px,60px 60px,60px 60px; }
.s03v2-floor-mesh { display:block; position:absolute; left:0; bottom:0; width:100%; height:263.1579%; max-width:none; opacity:.6; }
.s03v2-tech-floor::after { content:""; position:absolute; inset:25% 0 0; background:radial-gradient(ellipse at 50% 60%,transparent 42%,#22c5ff77 42.4%,transparent 44%),radial-gradient(ellipse at 50% 60%,transparent 64%,#007dff50 64.5%,transparent 66%); filter:drop-shadow(0 0 11px #008bff); }
.s03v2-tech-wave { position:absolute; left:50%; translate:-50% 0; border:1px solid #38cfff44; border-radius:50%; filter:drop-shadow(0 0 6px #0095ff); }
.s03v2-tech-wave--one { bottom:11%; width:84%; height:33%; }
.s03v2-tech-wave--two { bottom:3%; width:110%; height:47%; opacity:.7; }
.s03v2-lines--legacy { display:none; }
.s03v2-lines--desktop { display:block; position:absolute; z-index:8; inset:0; width:100%; height:100%; max-width:none; pointer-events:none; }
.s03v2-lines--desktop .s03v2-line-group path { fill:none; stroke:#b2f9ff; stroke-width:3; stroke-linecap:round; }
.s03v2-lines--desktop .s03v2-line-points { fill:#ddffff; }
.s03v2-lines--desktop .s03v2-connector-nodes { fill:#001435; stroke:#61e5ff; stroke-width:2.3; filter:url(#s03-desktop-glow); }
.s03v2-lines--desktop .s03v2-connector-node path { fill:none; stroke:#04caff; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
.s03v2-lines--desktop .s03v2-connector-node .dot { fill:#08cfff; stroke:none; }

}

