/* IA Persona — identidade própria (sobre o layout base) */

:root {
  --sky-top: #1a1033;
  --sky-mid: #2d1b4e;
  --sky-low: #f3eef8;
  --paper: #faf8fc;
  --cream: #ede4f7;
  --cream-2: #e0d4f0;
  --butter: #c4a8ff;
  --butter-2: #dcc9ff;
  --coral: #7c3aed;
  --coral-d: #5b21b6;
  --coral-l: #a78bfa;
  --navy: #120826;
  --navy-2: #2a1454;
  --ink: #1e1035;
  --muted: #5c5478;
  --blue: #06b6d4;
  --blue-l: #67e8f9;
  --mint: #34d399;
  --pink: #f472b6;
  --teal: #0d9488;
  --line: rgba(18, 8, 38, 0.12);
  --pop: 0 6px 0 var(--navy);
  --pop-lg: 0 10px 0 var(--navy);
}

body {
  background: var(--paper);
}

.ticker {
  background: var(--navy) !important;
  color: var(--mint) !important;
  border-color: var(--coral) !important;
}

.ticker--urgent {
  background: linear-gradient(90deg, #120826, #3b0764, #120826) !important;
}

.ticker .star {
  color: var(--butter) !important;
}

.hero {
  background: linear-gradient(165deg, #1a1033 0%, #4c1d95 38%, #fdf4ff 72%, #faf8fc 100%) !important;
  min-height: auto;
}

.hero__rays,
.hero__sun {
  opacity: 0.15 !important;
  filter: hue-rotate(280deg) saturate(0.6);
}

.hero .cloudbank path,
.hero .cloudbank circle {
  fill: #f5f0ff !important;
}

.hero .display.h1 .line:first-child {
  color: #fff;
  text-shadow:
    3px 3px 0 var(--navy),
    0 4px 28px rgba(0, 0, 0, 0.35);
}

.hero .display.h1 .line.outline {
  color: var(--butter-2);
  -webkit-text-stroke: 0;
  text-shadow:
    4px 4px 0 var(--navy),
    -2px -2px 0 var(--navy),
    2px -2px 0 var(--navy),
    -2px 2px 0 var(--navy),
    0 6px 24px rgba(18, 8, 38, 0.45);
}

.ink-coral,
.ink-coral.italic {
  color: var(--blue) !important;
}

.btn-shine {
  background: linear-gradient(135deg, #7c3aed, #06b6d4) !important;
  color: #fff !important;
  border-color: var(--navy) !important;
}

.btn:not(.btn-shine):not(.btn-ghost) {
  background: var(--mint) !important;
}

.chip,
.eyebrow {
  border-color: rgba(124, 58, 237, 0.35) !important;
}

.iap-nav__btn--primary {
  background: linear-gradient(180deg, #a78bfa, #7c3aed) !important;
  box-shadow: 0 4px 0 #120826 !important;
  color: #fff !important;
}

/* Hero visual — polaroids, sem logo de terceiros */
.iap-hero-stack {
  position: relative;
  min-height: 380px;
  margin-bottom: 0.5rem;
  width: min(780px, 96vw) !important;
  max-width: none !important;
  min-width: 0 !important;
  overflow: visible;
}

.iap-wordmark {
  text-align: center;
  margin-bottom: -1rem;
  position: relative;
  z-index: 3;
  pointer-events: none;
}

.iap-wordmark__pre {
  display: block;
  font-family: var(--f-body);
  font-size: clamp(0.85rem, 2vw, 1rem);
  font-weight: 700;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--blue-l);
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

.iap-wordmark__main {
  display: block;
  font-family: var(--f-display);
  font-size: clamp(2.8rem, 9vw, 4.5rem);
  font-weight: 900;
  line-height: 0.95;
  color: #fff;
  text-shadow:
    0 0 40px rgba(167, 139, 250, 0.55),
    3px 3px 0 var(--navy),
    6px 6px 0 rgba(124, 58, 237, 0.45);
  letter-spacing: -0.02em;
}

.iap-char-trio {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: clamp(0.5rem, 3vw, 1.25rem);
  padding: 0 0.5rem;
  position: relative;
  z-index: 2;
}

.iap-polaroid {
  position: relative;
  margin: 0;
  background: #fff;
  padding: 0.5rem 0.5rem 2.1rem;
  border: 3px solid var(--navy);
  box-shadow: var(--pop-lg);
  width: clamp(140px, 28vw, 220px);
  transition: transform 0.25s var(--ease-out);
  flex-shrink: 0;
}

.iap-polaroid img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  min-height: clamp(200px, 42vw, 320px);
  object-fit: contain;
  object-position: center center;
  border: 2px solid var(--navy);
  background: #f3eef8;
}

.iap-polaroid figcaption {
  position: absolute;
  bottom: 0.55rem;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
}

.iap-polaroid--l {
  transform: rotate(-8deg) translateY(12px);
  z-index: 1;
}

.iap-polaroid--c {
  transform: rotate(2deg) scale(1.08);
  z-index: 3;
  border-color: var(--coral);
}

.iap-polaroid--r {
  transform: rotate(7deg) translateY(18px);
  z-index: 2;
}

.iap-polaroid:hover {
  transform: rotate(0deg) scale(1.05) translateY(-4px);
  z-index: 5;
}

.hero__sparkle {
  filter: hue-rotate(240deg);
}

.pop-hint {
  color: var(--navy) !important;
}

.footer__logo {
  display: none;
}

.footer__brand .iap-footer-logo {
  font-family: var(--f-display);
  font-size: 2rem;
  font-weight: 900;
  color: var(--coral);
  margin-bottom: 0.35rem;
}

.idcard--pro .badge-stamp {
  filter: hue-rotate(260deg);
}

.pricing {
  background: linear-gradient(180deg, #faf8fc, #ede4f7) !important;
}

@media (min-width: 900px) {
  .iap-hero-stack {
    min-height: 380px;
  }
  .iap-char-trio {
    gap: 1.5rem;
  }
}

.hero__inner > .hero__logo-wrap.iap-hero-stack {
  width: min(780px, 96vw) !important;
  max-width: none !important;
}

@media (max-width: 760px) {
  body:has(.iap-hero-stack) .iap-nav__brand {
    display: none;
  }

  .iap-wordmark {
    margin-bottom: 0.25rem;
    padding-top: 0.25rem;
  }

  .iap-wordmark__main {
    font-size: clamp(2rem, 10vw, 2.75rem);
  }

  .iap-wordmark__pre {
    font-size: 0.65rem;
    letter-spacing: 0.22em;
  }

  .iap-hero-stack {
    width: min(100%, 340px) !important;
    min-height: 0;
    margin-inline: auto;
  }

  .iap-char-trio {
    flex-wrap: nowrap;
    justify-content: center;
    overflow: visible;
    padding: 0;
    gap: 0;
  }

  .iap-polaroid--l,
  .iap-polaroid--r {
    display: none;
  }

  .iap-polaroid--c {
    transform: none;
    width: min(72vw, 260px);
  }

  .iap-polaroid img {
    min-height: 0;
  }

  .hero__sparkle.s1,
  .hero__sparkle.s3 {
    display: none;
  }

  .hero:has(.iap-hero-stack) {
    padding-top: 0.5rem;
    padding-bottom: clamp(160px, 38vw, 220px);
  }

  .hero:has(.iap-hero-stack) .hero__inner {
    gap: 14px;
    width: 100%;
  }

  .hero:has(.iap-hero-stack) .eyebrow {
    max-width: calc(100% - 0.5rem);
    font-size: 11px;
    letter-spacing: 0.04em;
    padding: 7px 12px 7px 10px;
    text-align: left;
    line-height: 1.25;
  }

  .hero:has(.iap-hero-stack) .h1-sub {
    font-size: clamp(18px, 5vw, 22px);
    max-width: 22ch;
    margin-inline: auto;
  }

  .hero:has(.iap-hero-stack) .hero__lead {
    font-size: 16px;
    text-align: left;
    max-width: 100%;
  }
}

.hero:has(.iap-hero-stack) {
  overflow: visible;
  padding-bottom: clamp(200px, 22vw, 300px);
}

.hero:has(.iap-hero-stack) .hero__inner {
  overflow: visible;
}

.iap-tool-name {
  font-family: var(--f-display);
  font-size: 1.05rem;
  color: var(--coral-d);
  padding: 0.15rem 0.5rem;
  background: rgba(124, 58, 237, 0.12);
  border-radius: 8px;
  border: 2px solid var(--navy);
}

.iap-dossier .redact { display: none; }

.iap-dossier__stamp {
  background: var(--mint) !important;
  color: var(--navy) !important;
}
