/* ============================================================
   INNOVARE CODE — Páginas de Produto (compartilhado)
   Cor de destaque por página: variável --accent
   ============================================================ */
:root { --accent:#0030B8; --accent-light:#1A47D6; }

body { background:#fff; color:#374151; }
.pp-container { max-width:1200px; margin:0 auto; padding:0 1.5rem; }
a:focus-visible, button:focus-visible { outline:2px solid #1A47D6; outline-offset:3px; border-radius:4px; }

/* NAV */
.pp-nav { position:sticky; top:0; z-index:100; height:72px; display:flex; align-items:center; background:rgba(255,255,255,.96); backdrop-filter:blur(20px); border-bottom:1px solid rgba(13,27,75,.08); }
.pp-nav .pp-container { display:flex; align-items:center; justify-content:space-between; }
.pp-nav img { height:44px; width:auto; }
.pp-nav-actions { display:flex; align-items:center; gap:1.5rem; }
.pp-back { font-size:.875rem; font-weight:600; color:#64748B; }
.pp-back:hover { color:var(--accent); }
.pp-nav-cta { display:inline-flex; align-items:center; gap:.5rem; padding:.6rem 1.3rem; background:var(--accent); color:#fff; font-size:.875rem; font-weight:600; border-radius:50px; transition:all .25s; }
.pp-nav-cta:hover { background:var(--accent-light); transform:translateY(-2px); }

/* HERO */
.pp-hero { background:linear-gradient(160deg,#04081C 0%,#0D1B4B 55%,var(--accent) 140%); padding:5rem 0; position:relative; overflow:hidden; }
.pp-hero-orb { position:absolute; width:480px; height:480px; border-radius:50%; filter:blur(90px); background:var(--accent); opacity:.3; top:-160px; right:-120px; pointer-events:none; }
.pp-hero-inner { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; position:relative; z-index:2; }
.pp-kicker { display:inline-flex; align-items:center; gap:.5rem; padding:.4rem 1rem; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); border-radius:50px; font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#fff; margin-bottom:1.5rem; }
.pp-h1 { font-family:'Outfit',sans-serif; font-size:clamp(2.4rem,5vw,3.6rem); font-weight:800; line-height:1.08; color:#fff; letter-spacing:-.02em; margin-bottom:1.25rem; }
.pp-tagline { font-size:1.15rem; color:#B8C0D0; line-height:1.7; margin-bottom:2rem; max-width:480px; }
.pp-hero-feats { list-style:none; display:flex; flex-direction:column; gap:.75rem; margin-bottom:2.5rem; }
.pp-hero-feats li { display:flex; align-items:center; gap:.65rem; color:#E2E8F0; font-size:.95rem; }
.pp-hero-feats li::before { content:'✓'; width:22px; height:22px; flex-shrink:0; border-radius:6px; background:var(--accent); color:#fff; display:flex; align-items:center; justify-content:center; font-size:.7rem; font-weight:700; }
.pp-actions { display:flex; gap:1rem; flex-wrap:wrap; }
.pp-btn-primary { display:inline-flex; align-items:center; gap:.6rem; padding:1rem 2rem; background:#fff; color:#0D1B4B; font-weight:700; border-radius:50px; transition:all .3s; box-shadow:0 4px 24px rgba(255,255,255,.15); }
.pp-btn-primary:hover { transform:translateY(-3px); box-shadow:0 12px 36px rgba(255,255,255,.25); }
.pp-btn-wpp { display:inline-flex; align-items:center; gap:.6rem; padding:1rem 2rem; background:linear-gradient(135deg,#25D366,#128C7E); color:#fff; font-weight:700; border-radius:50px; transition:all .3s; box-shadow:0 4px 24px rgba(37,211,102,.35); }
.pp-btn-wpp:hover { transform:translateY(-3px); box-shadow:0 12px 40px rgba(37,211,102,.5); }

/* HERO mockup */
.pp-mockup { background:#1E2A4A; border-radius:16px; overflow:hidden; box-shadow:0 32px 80px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.05); transform:perspective(1000px) rotateY(-8deg) rotateX(4deg); }
.pp-mockup-bar { display:flex; align-items:center; gap:.6rem; padding:.75rem 1rem; background:#0D1427; }
.pp-dot { width:11px; height:11px; border-radius:50%; }
.pp-dot.r{background:#FF5F56}.pp-dot.y{background:#FFBD2E}.pp-dot.g{background:#27C93F}
.pp-mockup img { width:100%; display:block; }

/* SECTION HEADER */
.pp-sec { padding:6rem 0; }
.pp-sec.alt { background:#F8F9FC; border-top:1px solid rgba(13,27,75,.06); border-bottom:1px solid rgba(13,27,75,.06); }
.pp-sec-head { text-align:center; max-width:620px; margin:0 auto 3.5rem; }
.pp-eyebrow { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--accent); margin-bottom:1rem; }
.pp-h2 { font-family:'Outfit',sans-serif; font-size:clamp(1.8rem,4vw,2.6rem); font-weight:800; color:#0D1B4B; letter-spacing:-.02em; margin-bottom:1rem; }
.pp-sub { font-size:1.05rem; color:#64748B; line-height:1.7; }

/* FEATURES */
.pp-feat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.pp-feat-card { background:#fff; border:1px solid rgba(13,27,75,.07); border-radius:20px; padding:2.25rem 1.75rem; transition:all .3s cubic-bezier(.34,1.56,.64,1); }
.pp-sec.alt .pp-feat-card { background:#fff; }
.pp-feat-card:hover { transform:translateY(-6px); box-shadow:0 24px 56px rgba(13,27,75,.1); border-color:var(--accent); }
.pp-feat-icon { width:54px; height:54px; border-radius:14px; background:var(--accent); display:flex; align-items:center; justify-content:center; font-size:1.4rem; margin-bottom:1.25rem; }
.pp-feat-title { font-family:'Outfit',sans-serif; font-size:1.1rem; font-weight:700; color:#0D1B4B; margin-bottom:.6rem; }
.pp-feat-desc { font-size:.9rem; color:#64748B; line-height:1.7; }

/* CTA */
.pp-cta { background:linear-gradient(135deg,#04081C 0%,var(--accent) 130%); padding:5rem 0; text-align:center; }
.pp-cta h2 { font-family:'Outfit',sans-serif; font-size:clamp(1.8rem,4vw,2.8rem); font-weight:800; color:#fff; margin-bottom:1rem; }
.pp-cta p { font-size:1.1rem; color:#C8D0E0; max-width:520px; margin:0 auto 2.5rem; line-height:1.7; }

/* SOBRE — stats no hero */
.pp-hero-stats { display:flex; gap:2.5rem; margin-top:2.5rem; flex-wrap:wrap; }
.pp-hero-stats div { display:flex; flex-direction:column; }
.pp-hero-stats b { font-family:'Outfit',sans-serif; font-size:2.4rem; font-weight:800; color:#fff; line-height:1; }
.pp-hero-stats span { font-size:.82rem; color:#B8C0D0; margin-top:.35rem; }

/* SOBRE — texto institucional */
.pp-prose { max-width:720px; margin:0 auto; }
.pp-prose p { font-size:1.05rem; color:#475569; line-height:1.8; margin-bottom:1.25rem; }

/* SOBRE — equipe */
.pp-team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }
.pp-team-card { text-align:center; background:#fff; border:1px solid rgba(13,27,75,.07); border-radius:20px; padding:2rem 1.25rem; transition:all .3s cubic-bezier(.34,1.56,.64,1); }
.pp-team-card:hover { transform:translateY(-6px); box-shadow:0 24px 56px rgba(13,27,75,.1); border-color:var(--accent); }
.pp-team-avatar { width:84px; height:84px; border-radius:50%; margin:0 auto 1rem; background:linear-gradient(135deg,var(--accent),var(--accent-light)); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Outfit',sans-serif; font-weight:800; font-size:1.6rem; }
.pp-team-name { font-family:'Outfit',sans-serif; font-size:1.05rem; font-weight:700; color:#0D1B4B; }
.pp-team-role { font-size:.85rem; color:var(--accent); font-weight:600; margin-top:.2rem; }

/* FOOTER */
.pp-footer { background:#04081C; padding:3rem 0; text-align:center; }
.pp-footer img { height:36px; width:auto; margin:0 auto 1.25rem; }
.pp-footer p { font-size:.85rem; color:#64748B; }
.pp-footer a { color:#B0B8C9; }
.pp-footer a:hover { color:#fff; }

/* RESPONSIVE */
@media (max-width:768px) {
  .pp-hero { padding:3.5rem 0; }
  .pp-hero-inner { grid-template-columns:1fr; gap:3rem; }
  .pp-mockup { transform:none; }
  .pp-feat-grid { grid-template-columns:1fr; }
  .pp-team-grid { grid-template-columns:1fr 1fr; }
  .pp-sec { padding:4rem 0; }
  .pp-sec-head { margin-bottom:2.5rem; }
  .pp-cta { padding:3.5rem 0; }
  .pp-tagline { max-width:none; }
  .pp-nav-actions { gap:1rem; }
  .pp-back { display:none; }
}
@media (max-width:480px) {
  .pp-container { padding:0 1.2rem; }
  .pp-team-grid { grid-template-columns:1fr; }
  .pp-actions { flex-direction:column; align-items:stretch; }
  .pp-btn-primary, .pp-btn-wpp { justify-content:center; }
  .pp-hero-stats { gap:1.5rem; }
  .pp-hero-stats b { font-size:2rem; }
  .pp-nav img { height:38px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
  .pp-mockup { transform:none!important; }
}
