/* GalateaIA - institucional: estilos compartilhados */
:root {
      --navy: #1A237E;
      --navy-900: #0E1445;
      --navy-700: #283593;
      --accent: #2563EB;
      --accent-light: #3B82F6;
      --slate: #64748B;
      --bg: #FFFFFF;
      --bg-soft: #F5F7FF;
      --text: #0F172A;
      --text-muted: #475569;
      --border: #E2E8F0;
      --radius: 16px;
      --shadow: 0 20px 45px -18px rgba(26, 35, 126, 0.28);
      --shadow-sm: 0 8px 24px -12px rgba(26, 35, 126, 0.20);
    }

    * { margin: 0; padding: 0; box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
      color: var(--text);
      background: var(--bg);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
    }
    a { text-decoration: none; color: inherit; }
    img { max-width: 100%; display: block; }
    .container { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 24px; }

    /* NAV */
    .nav {
      position: sticky; top: 0; z-index: 50;
      background: rgba(255, 255, 255, 0.85);
      backdrop-filter: blur(12px);
      border-bottom: 1px solid var(--border);
    }
    .nav-inner { display: flex; align-items: center; justify-content: space-between; height: 72px; }
    .brand { display: flex; align-items: center; gap: 10px; font-weight: 800; font-size: 1.35rem; letter-spacing: -0.02em; color: var(--navy); }
    .brand-logo { height: 44px; width: auto; display: block; }
    .brand small { display: block; font-weight: 500; font-size: 0.7rem; color: var(--slate); letter-spacing: 0.04em; }
    .nav-links { display: flex; align-items: center; gap: 30px; list-style: none; }
    .nav-links a { font-weight: 500; color: var(--text-muted); transition: color .2s; }
    .nav-links a:hover { color: var(--navy); }
    .btn {
      display: inline-flex; align-items: center; gap: 8px;
      padding: 12px 22px; border-radius: 12px; font-weight: 600; font-size: 0.95rem;
      cursor: pointer; border: 1px solid transparent;
      transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
    }
    .btn:hover { transform: translateY(-1px); }
    .btn-primary { background: linear-gradient(135deg, var(--navy), var(--accent)); color: #fff; box-shadow: var(--shadow-sm); }
    .btn-primary:hover { box-shadow: var(--shadow); }
    .btn-ghost { background: transparent; color: var(--navy); border-color: var(--border); }
    .btn-ghost:hover { border-color: var(--navy); background: var(--bg-soft); }
    .btn-whats { background: #25D366; color: #fff; }
    .menu-toggle { display: none; background: none; border: none; font-size: 1.6rem; color: var(--navy); cursor: pointer; }

    /* HERO */
    .hero {
      position: relative; overflow: hidden;
      background:
        radial-gradient(1000px 500px at 85% -10%, rgba(37, 99, 235, 0.16), transparent 60%),
        radial-gradient(800px 400px at -10% 20%, rgba(26, 35, 126, 0.14), transparent 55%),
        linear-gradient(180deg, #F8FAFF 0%, #FFFFFF 100%);
    }
    .hero-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 56px; align-items: center; padding: 64px 0 56px; }
    .badge {
      display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px;
      border-radius: 999px; background: #EEF2FF; color: var(--navy-700);
      font-weight: 600; font-size: 0.82rem; margin-bottom: 22px;
    }
    .badge .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); }
    .hero h1 { font-size: clamp(2.1rem, 4.4vw, 3.4rem); line-height: 1.08; font-weight: 900; letter-spacing: -0.03em; color: var(--navy-900); margin-bottom: 22px; }
    .hero h1 .grad { background: linear-gradient(120deg, var(--accent), #7C3AED); -webkit-background-clip: text; background-clip: text; color: transparent; }
    .hero p { font-size: 1.15rem; color: var(--text-muted); max-width: 540px; margin-bottom: 32px; }
    .hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }

    /* STATS */
    .stats { border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); background: #fff; }
    .stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; padding: 36px 0; text-align: center; }
    .stats .num { font-size: 2rem; font-weight: 900; color: var(--navy); letter-spacing: -0.02em; }
    .stats .label { font-size: 0.9rem; color: var(--slate); }

    /* SECTION */
    section { padding: 80px 0; }
    .section-head { text-align: center; max-width: 720px; margin: 0 auto 56px; }
    .section-head .eyebrow { display: inline-block; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); margin-bottom: 12px; }
    .section-head h2 { font-size: clamp(1.8rem, 3.4vw, 2.5rem); font-weight: 800; letter-spacing: -0.02em; color: var(--navy-900); margin-bottom: 14px; }
    .section-head p { color: var(--text-muted); font-size: 1.05rem; }

    /* FEATURES */
    .features { background: var(--bg-soft); }
    .grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
    .card {
      background: #fff; border: 1px solid var(--border); border-radius: var(--radius);
      padding: 28px; box-shadow: 0 1px 0 rgba(15, 23, 42, 0.02);
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }
    .card:hover { transform: translateY(-4px); box-shadow: var(--shadow-sm); border-color: #CBD5E1; }
    .card .icon { width: 48px; height: 48px; border-radius: 12px; display: grid; place-items: center; font-size: 1.4rem; margin-bottom: 18px; background: #EEF2FF; color: var(--navy); }
    .card h3 { font-size: 1.12rem; font-weight: 700; color: var(--navy-900); margin-bottom: 8px; }
    .card p { color: var(--text-muted); font-size: 0.94rem; }

    /* PILLARS */
    .pillars { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; max-width: 860px; margin: 0 auto; }
    .pillar { display: flex; gap: 16px; padding: 24px; border: 1px solid var(--border); border-radius: var(--radius); background: #fff; }
    .pillar .num { font-size: 1.6rem; font-weight: 900; color: var(--accent); line-height: 1; }
    .pillar h3 { font-size: 1.05rem; font-weight: 700; color: var(--navy-900); margin-bottom: 6px; }
    .pillar p { color: var(--text-muted); font-size: 0.92rem; }

    /* EVOLUTION */
    .timeline { position: relative; max-width: 860px; margin: 0 auto; }
    .timeline::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 2px; transform: translateX(-50%); background: linear-gradient(180deg, var(--accent), var(--navy)); opacity: 0.25; }
    .tl-item { position: relative; width: 50%; padding: 0 40px 48px; }
    .tl-item:nth-child(odd) { left: 0; text-align: right; }
    .tl-item:nth-child(even) { left: 50%; text-align: left; }
    .tl-item .node { position: absolute; top: 4px; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 4px solid var(--accent); }
    .tl-item:nth-child(odd) .node { right: -9px; }
    .tl-item:nth-child(even) .node { left: -9px; }
    .tl-year { font-size: 0.8rem; font-weight: 800; letter-spacing: 0.06em; color: var(--accent); text-transform: uppercase; }
    .tl-item h3 { font-size: 1.3rem; font-weight: 800; color: var(--navy-900); margin: 6px 0 8px; }
    .tl-item p { color: var(--text-muted); font-size: 0.95rem; }

    /* AI BAND */
    .band { background: linear-gradient(135deg, var(--navy-900), var(--navy) 55%, #283593); color: #fff; position: relative; overflow: hidden; }
    .band::after { content: ""; position: absolute; right: -120px; top: -120px; width: 360px; height: 360px; border-radius: 50%; background: radial-gradient(circle, rgba(59, 130, 246, 0.35), transparent 70%); }
    .band-grid { display: grid; grid-template-columns: 1.3fr 0.7fr; gap: 40px; align-items: center; position: relative; z-index: 1; }
    .band h2 { font-size: clamp(1.7rem, 3vw, 2.3rem); font-weight: 800; letter-spacing: -0.02em; margin-bottom: 14px; }
    .band p { color: #CBD5E1; font-size: 1.05rem; max-width: 560px; }
    .band .list { list-style: none; margin-top: 20px; display: grid; gap: 10px; }
    .band .list li { display: flex; gap: 10px; align-items: flex-start; color: #E2E8F0; }
    .band .list li::before { content: "✓"; color: #60A5FA; font-weight: 700; }
    .band .btn-light { background: #fff; color: var(--navy); padding: 14px 26px; border-radius: 12px; font-weight: 700; text-align: center; box-shadow: 0 16px 40px -16px rgba(0,0,0,0.4); display: inline-block; }

    /* TESTIMONIALS */
    .testimonials { background: var(--bg-soft); }
    .t-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
    .t-card { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); padding: 28px; }
    .t-card p { color: var(--text-muted); font-size: 0.98rem; margin-bottom: 20px; }
    .t-card .author { font-weight: 700; color: var(--navy-900); }
    .t-card .role { font-size: 0.85rem; color: var(--slate); }

    /* CTA */
    .cta { text-align: center; }
    .cta h2 { font-size: clamp(1.8rem, 3.2vw, 2.4rem); font-weight: 800; color: var(--navy-900); letter-spacing: -0.02em; margin-bottom: 12px; }
    .cta p { color: var(--text-muted); max-width: 520px; margin: 0 auto 30px; }

    /* FOOTER */
    footer { background: var(--navy-900); color: #94A3B8; padding: 48px 0; font-size: 0.9rem; }
    .footer-inner { display: flex; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
    .footer-brand { font-weight: 800; color: #fff; font-size: 1.1rem; }
    .footer-links { display: flex; gap: 24px; flex-wrap: wrap; }
    .footer-links a { color: #94A3B8; transition: color .2s; }
    .footer-links a:hover { color: #fff; }
    .footer-bottom { margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(148, 163, 184, 0.2); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }

    /* RESPONSIVE */
    @media (max-width: 960px) {
      .hero-grid { grid-template-columns: 1fr; padding: 48px 0 64px; }
      .grid { grid-template-columns: repeat(2, 1fr); }
      .pillars, .t-grid { grid-template-columns: 1fr; }
      .stats-grid { grid-template-columns: repeat(2, 1fr); }
      .band-grid { grid-template-columns: 1fr; }
      .tl-item, .tl-item:nth-child(odd), .tl-item:nth-child(even) { width: 100%; left: 0; text-align: left; padding: 0 0 40px 40px; }
      .timeline::before { left: 8px; }
      .tl-item:nth-child(odd) .node, .tl-item:nth-child(even) .node { left: -1px; right: auto; }
    }
    @media (max-width: 640px) {
      .nav-links { display: none; }
      .nav-links.open { display: flex; position: absolute; top: 72px; left: 0; right: 0; flex-direction: column; background: #fff; padding: 20px 24px; border-bottom: 1px solid var(--border); gap: 16px; box-shadow: var(--shadow-sm); }
      .menu-toggle { display: block; }
      .grid { grid-template-columns: 1fr; }
      .hero-actions { flex-direction: column; }
      .hero-actions .btn { justify-content: center; }
    }

    /* Refined institutional direction */
    :root {
      --navy: #102a56;
      --navy-900: #071a35;
      --navy-700: #1d477e;
      --accent: #48a8ff;
      --accent-light: #9bd6ff;
      --slate: #718096;
      --bg: #fff;
      --bg-soft: #f3f6fa;
      --text: #14233a;
      --text-muted: #596a80;
      --border: #dce4ed;
      --radius: 20px;
      --shadow: 0 28px 70px -32px rgba(3, 17, 39, .48);
      --shadow-sm: 0 12px 32px -18px rgba(7, 26, 53, .24);
    }
    body { background: #fff; color: var(--text); }
    .container { max-width: 1280px; padding-inline: 32px; }
    .nav {
      background: rgba(255, 255, 255, .94);
      border-bottom-color: rgba(16, 42, 86, .09);
      backdrop-filter: blur(18px);
    }
    .nav-inner { height: 82px; }
    .brand { gap: 12px; font-size: 1.2rem; letter-spacing: -.04em; color: var(--navy-900); }
    .brand-logo { height: 54px; width: 60px; object-fit: contain; }
    .brand small { margin-top: 1px; font-size: .62rem; letter-spacing: .13em; text-transform: uppercase; color: #75849a; }
    .brand-logo { display: none; }
    .brand { gap: 10px; }
    .brand-mark {
      position: relative; display: grid; width: 36px; height: 36px; place-items: center;
      border: 1.5px solid #9ab4cd; border-radius: 10px 10px 10px 3px;
      color: #276f9f; font-size: 1.35rem; font-weight: 800; letter-spacing: -.12em;
    }
    .brand-mark::after {
      position: absolute; top: 3px; right: 3px; width: 6px; height: 6px;
      border-radius: 50%; content: ""; background: #42a5e8;
    }
    .brand-copy { display: grid; gap: 1px; }
    .brand-name { color: #102746; font-size: 1.15rem; font-weight: 800; letter-spacing: -.055em; line-height: 1; }
    .brand-name .brand-ai { color: #347eae; }
    .brand small { margin: 3px 0 0; font-size: .55rem; letter-spacing: .12em; }
    .nav-links { gap: 34px; }
    .nav-links a { font-size: .9rem; color: #53647a; }
    .nav-links a.btn-primary { color: #fff; }
    .nav-links a:not(.btn) { position: relative; }
    .nav-links a:not(.btn)::after {
      position: absolute; right: 0; bottom: -7px; left: 0; height: 2px;
      content: ""; background: var(--accent); transform: scaleX(0); transform-origin: left;
      transition: transform .2s ease;
    }
    .nav-links a:not(.btn):hover::after { transform: scaleX(1); }
    .btn { border-radius: 8px; padding: 14px 22px; font-size: .9rem; }
    .btn-primary { background: var(--navy); box-shadow: none; }
    .btn-primary:hover { background: #19447c; box-shadow: 0 12px 24px -12px rgba(16, 42, 86, .7); }
    .btn-ghost { color: #fff; border-color: rgba(255, 255, 255, .3); }
    .btn-ghost:hover { color: #fff; border-color: rgba(255, 255, 255, .75); background: rgba(255, 255, 255, .08); }
    .btn-whats { background: #fff; color: var(--navy-900); }
    .btn-whats:hover { background: #eaf5ff; }

    .hero {
      isolation: isolate;
      padding: 0;
      color: #fff;
      background:
        radial-gradient(ellipse at 77% 46%, rgba(34, 108, 184, .28), transparent 38%),
        radial-gradient(ellipse at 8% 5%, rgba(39, 91, 151, .28), transparent 42%),
        linear-gradient(112deg, #071a35 0%, #0a2345 56%, #0d3159 100%);
    }
    .hero::before {
      position: absolute; z-index: -1; inset: 0;
      content: ""; opacity: .18; pointer-events: none;
      background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
      background-size: 68px 68px;
      mask-image: linear-gradient(90deg, transparent, #000 70%);
    }
    .hero-grid { min-height: 570px; grid-template-columns: .92fr 1.08fr; gap: 70px; padding: 58px 32px 66px; }
    .hero .badge {
      margin-bottom: 25px; padding: 8px 12px; border: 1px solid rgba(154, 207, 255, .25);
      border-radius: 5px; background: rgba(83, 157, 224, .1); color: #b9ddff;
      font-size: .7rem; letter-spacing: .12em; text-transform: uppercase;
    }
    .badge .dot { width: 6px; height: 6px; background: #75c3ff; box-shadow: 0 0 12px #75c3ff; }
    .hero h1 {
      max-width: 650px; margin-bottom: 24px; color: #fff;
      font-size: clamp(3.2rem, 5.6vw, 5.25rem); line-height: .99;
      font-weight: 700; letter-spacing: -.075em;
    }
    .hero h1 .grad {
      background: linear-gradient(100deg, #81caff, #d4edff 78%);
      -webkit-background-clip: text; background-clip: text; color: transparent;
    }
    .hero p { max-width: 535px; margin-bottom: 32px; color: #c4d3e5; font-size: 1.08rem; line-height: 1.8; }
    .hero-actions { gap: 12px; }
    .hero-actions .btn { padding: 15px 20px; }
    .hero-claims { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 28px; color: #b5c8dc; font-size: .76rem; }
    .hero-claims span { display: inline-flex; align-items: center; gap: 8px; }
    .hero-claims span::before { width: 5px; height: 5px; border-radius: 50%; content: ""; background: #67bbff; }
    .hero-visual { position: relative; min-width: 0; padding: 12px 0 30px 14px; }
    .dashboard-shell {
      position: relative; overflow: hidden; border: 1px solid rgba(188, 218, 246, .38);
      border-radius: 13px; background: #f8fbff; color: var(--text);
      box-shadow: 0 38px 100px -36px rgba(0, 0, 0, .75); transform: perspective(1200px) rotateY(-4deg) rotateX(1deg);
    }
    .dashboard-topbar {
      height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 12px;
      padding: 0 19px; border-bottom: 1px solid #e4eaf1; background: #fff;
      color: #728198; font-size: .58rem; font-weight: 700; letter-spacing: .13em;
    }
    .window-dots { display: flex; gap: 5px; }
    .window-dots i { width: 7px; height: 7px; border-radius: 50%; background: #cad4e0; }
    .live-state { display: flex; align-items: center; gap: 7px; color: #49816c; letter-spacing: .07em; }
    .live-state i { width: 6px; height: 6px; border-radius: 50%; background: #38b582; }
    .dashboard-content { padding: 28px 30px 24px; }
    .dashboard-heading { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 24px; }
    .dashboard-kicker { color: #7b8ba0; font-size: .59rem; font-weight: 700; letter-spacing: .16em; }
    .dashboard-heading h2 { margin-top: 5px; color: #102a4b; font-size: 1.34rem; font-weight: 700; letter-spacing: -.04em; }
    .dashboard-date { padding: 7px 10px; border: 1px solid #e1e8f0; border-radius: 5px; color: #65758a; font-size: .62rem; font-weight: 700; letter-spacing: .08em; }
    .workflow-map { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 18px; }
    .workflow-stage {
      position: relative; min-height: 82px; padding: 14px 13px 12px;
      border: 1px solid #e1e8f0; border-radius: 7px; background: #fff;
    }
    .workflow-stage:not(:last-child)::after {
      position: absolute; top: 50%; right: -11px; z-index: 2; width: 11px; height: 1px;
      content: ""; background: #90a8c2;
    }
    .workflow-stage small { display: block; margin-bottom: 9px; color: #8492a4; font-size: .55rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
    .workflow-stage strong { color: #19395f; font-size: .79rem; font-weight: 700; }
    .workflow-stage.active { border-color: #8ac8ff; background: #f0f8ff; box-shadow: inset 0 0 0 1px rgba(72,168,255,.1); }
    .workflow-list { overflow: hidden; border: 1px solid #e1e8f0; border-radius: 7px; background: #fff; }
    .workflow-item { display: flex; align-items: center; gap: 12px; min-height: 54px; padding: 8px 14px; }
    .workflow-item + .workflow-item { border-top: 1px solid #edf1f5; }
    .workflow-symbol { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 7px; background: #eaf3fb; color: #316b9f; font-size: .6rem; font-weight: 800; }
    .workflow-copy { display: grid; gap: 2px; flex: 1; }
    .workflow-copy strong { color: #213953; font-size: .73rem; }
    .workflow-copy small { color: #8794a5; font-size: .61rem; }
    .workflow-status { color: #4d7d69; font-size: .54rem; font-weight: 700; letter-spacing: .08em; }
    .dashboard-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 18px; color: #718198; font-size: .59rem; }
    .dashboard-footer span:first-child { display: flex; align-items: center; gap: 7px; }
    .dashboard-footer b { width: 6px; height: 6px; border-radius: 50%; background: #50a8ef; box-shadow: 0 0 10px rgba(80,168,239,.65); }
    .dashboard-footer span:last-child { color: #55708d; font-weight: 800; letter-spacing: .12em; }
    .sample-entry { padding: 15px 17px; border: 1px solid #e1e8f0; border-radius: 7px; background: #fff; }
    .sample-label, .suggestion-fields small { display: block; color: #8190a2; font-size: .55rem; font-weight: 700; letter-spacing: .11em; }
    .sample-entry strong { display: block; margin: 7px 0 3px; color: #1b3b60; font-size: .83rem; }
    .sample-caption { color: #8290a1; font-size: .63rem; }
    .ai-suggestion { overflow: hidden; margin-top: 11px; border: 1px solid #cfe2f2; border-radius: 7px; background: #fff; }
    .ai-suggestion-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 11px 14px; background: #f0f7fc; }
    .ai-label { display: flex; align-items: center; gap: 7px; color: #2e6f9c; font-size: .56rem; font-weight: 800; letter-spacing: .1em; }
    .ai-label i { width: 6px; height: 6px; border-radius: 50%; background: #42a5e8; }
    .review-status { color: #76613d; font-size: .55rem; font-weight: 700; }
    .suggestion-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; padding: 12px; }
    .suggestion-fields > div { padding: 10px; border: 1px solid #e8edf2; border-radius: 5px; }
    .suggestion-fields strong { display: block; margin-top: 6px; color: #51657b; font-size: .65rem; line-height: 1.45; }
    .human-review { display: flex; align-items: center; gap: 9px; margin: 0 12px 12px; padding: 10px; border-radius: 5px; background: #f4f8f5; }
    .review-check { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; background: #d9eee3; color: #397b57; font-size: .7rem; font-weight: 800; }
    .human-review strong, .human-review small { display: block; }
    .human-review strong { color: #41624d; font-size: .65rem; }
    .human-review small { margin-top: 2px; color: #72867a; font-size: .57rem; }
    .visual-note { margin: 13px 0 0 5px; color: #8da6c0; font-size: .66rem; letter-spacing: .03em; }
    .frame, .chip { display: none; }

    .stats { position: relative; z-index: 2; border: 0; background: #fff; box-shadow: 0 14px 36px -32px rgba(7, 26, 53, .5); }
    .stats-wrap { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 40px; padding-block: 26px; }
    .stats-intro { max-width: 300px; color: #52667e; font-size: .82rem; font-weight: 600; line-height: 1.6; }
    .stats-grid { grid-template-columns: repeat(3, 1fr); padding: 4px 0; text-align: left; }
    .stats-grid > div { padding: 0 22px; border-left: 1px solid var(--border); }
    .stats-grid > div:first-child { border-left: 0; padding-left: 0; }
    .stats .num { color: var(--navy); font-size: 1.85rem; letter-spacing: -.06em; }
    .stats .label { color: #748398; font-size: .77rem; }

    section { padding: 112px 0; scroll-margin-top: 82px; }
    .section-head { margin-bottom: 58px; text-align: left; }
    .section-head .eyebrow { margin-bottom: 15px; color: #2b75b8; font-size: .68rem; letter-spacing: .16em; }
    .section-head h2 { max-width: 760px; margin-bottom: 16px; color: #102746; font-size: clamp(2.1rem, 4vw, 3.25rem); line-height: 1.08; letter-spacing: -.065em; }
    .section-head p { max-width: 680px; color: #65758a; font-size: 1rem; line-height: 1.8; }
    #pilares .pillars { max-width: none; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
    .pillar { display: block; min-height: 245px; padding: 28px 24px 30px; border: 0; border-right: 1px solid var(--border); border-radius: 0; background: transparent; }
    .pillar:first-child { padding-left: 0; }
    .pillar:last-child { border-right: 0; }
    .pillar .num { display: block; margin-bottom: 42px; color: #4b9be0; font-size: .78rem; letter-spacing: .08em; }
    .pillar h3 { margin-bottom: 10px; color: #142d4b; font-size: 1rem; letter-spacing: -.025em; }
    .pillar p { color: #68798e; font-size: .83rem; line-height: 1.75; }
    .features { background: #f3f6fa; }
    .features .section-head { max-width: 800px; }
    .module-layout { display: grid; grid-template-columns: 1.08fr .92fr; gap: 18px; }
    .module-card { position: relative; overflow: hidden; padding: 30px; border: 1px solid #dce4ed; border-radius: 10px; background: #fff; }
    .module-main { display: flex; min-height: 430px; flex-direction: column; justify-content: space-between; padding: 38px; border-color: #102d51; background: linear-gradient(145deg, #0c2444, #153b63); color: #fff; }
    .module-main::after { position: absolute; right: -100px; bottom: -150px; width: 330px; height: 330px; border: 1px solid rgba(155, 210, 250, .14); border-radius: 50%; content: ""; box-shadow: 0 0 0 36px rgba(155,210,250,.03), 0 0 0 72px rgba(155,210,250,.025); }
    .module-copy, .module-tags { position: relative; z-index: 1; }
    .module-index { display: block; margin-bottom: 16px; color: #5a9bc9; font-size: .64rem; font-weight: 800; letter-spacing: .15em; }
    .module-label { color: #a9c8e2; font-size: .65rem; font-weight: 700; letter-spacing: .15em; }
    .module-main h3 { max-width: 520px; margin: 20px 0 14px; color: #fff; font-size: clamp(1.8rem, 3vw, 2.75rem); line-height: 1.08; letter-spacing: -.055em; }
    .module-main p { max-width: 520px; color: #c3d5e6; font-size: .92rem; line-height: 1.8; }
    .module-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 38px; }
    .module-tags span { padding: 8px 10px; border: 1px solid rgba(190,218,240,.25); border-radius: 4px; color: #e1edf7; font-size: .68rem; }
    .module-side { display: grid; grid-template-rows: 1fr 1fr; gap: 18px; }
    .module-ai { border-top: 3px solid #4ca4db; }
    .module-control { border-top: 3px solid #8da9bf; background: #f9fbfd; }
    .module-card:not(.module-main) h3 { margin: 20px 0 10px; color: #173553; font-size: 1.2rem; letter-spacing: -.035em; }
    .module-card:not(.module-main) p { max-width: 480px; color: #64768b; font-size: .87rem; line-height: 1.75; }
    .module-ai .module-index { color: #3a83b8; }
    .module-control .module-index { color: #74889a; }
    .grid { grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid #dbe3ec; border-left: 1px solid #dbe3ec; }
    .card { min-height: 220px; padding: 28px; border: 0; border-right: 1px solid #dbe3ec; border-bottom: 1px solid #dbe3ec; border-radius: 0; background: rgba(255,255,255,.72); box-shadow: none; }
    .card:hover { position: relative; z-index: 1; transform: none; border-color: #8bbce6; background: #fff; box-shadow: 0 12px 30px -24px rgba(16,42,86,.45); }
    .card .icon { width: auto; height: auto; display: block; margin-bottom: 36px; border-radius: 0; background: transparent; color: #3a83bd; font-size: .65rem; font-weight: 800; letter-spacing: .15em; }
    .card h3 { color: #142d4b; font-size: 1.02rem; letter-spacing: -.025em; }
    .card p { color: #68798e; font-size: .84rem; line-height: 1.75; }
    #evolucao .section-head { max-width: 770px; }
    .timeline { max-width: 1050px; }
    .timeline::before { background: linear-gradient(180deg, #8bc8f8, #244f7e); opacity: .32; }
    .tl-item { padding-bottom: 62px; }
    .tl-item .node { border: 3px solid #4d9cda; box-shadow: 0 0 0 5px #fff; }
    .tl-year { color: #3983bb; font-size: .68rem; letter-spacing: .16em; }
    .tl-item h3 { color: #102746; font-size: 1.45rem; letter-spacing: -.04em; }
    .tl-item p { color: #68798e; font-size: .88rem; line-height: 1.8; }
    .evolution-note { max-width: 760px; margin: 6px auto 0; padding: 14px 18px; border-left: 3px solid #4b9cda; background: #f1f6fa; color: #586d82; font-size: .82rem; line-height: 1.65; }
    .band { background: linear-gradient(112deg, #071a35, #102f55); }
    .band::after { right: 5%; top: 10%; width: 420px; height: 420px; background: radial-gradient(circle, rgba(64,154,225,.2), transparent 72%); }
    .band h2 { max-width: 600px; font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -.06em; line-height: 1.08; }
    .band p { color: #c2d1e2; line-height: 1.8; }
    .band .list { gap: 13px; margin-top: 25px; }
    .band .list li { color: #d8e3ef; font-size: .88rem; }
    .band .list li::before { color: #7cc5ff; }
    .band .btn-light { border-radius: 7px; color: #0b2a4d; box-shadow: 0 18px 44px -20px rgba(0,0,0,.55); }
    .testimonials { background: #f3f6fa; }
    .t-grid { grid-template-columns: repeat(2, 1fr); gap: 1px; background: #dce4ed; border: 1px solid #dce4ed; }
    .t-card { min-height: 220px; padding: 30px; border: 0; border-radius: 0; background: #fff; }
    .t-card p { color: #4f6279; font-size: .9rem; line-height: 1.8; }
    .t-card .author { color: #142d4b; font-size: .88rem; }
    .t-card .role { margin-top: 3px; color: #8190a2; font-size: .75rem; }
    .cta { position: relative; overflow: hidden; color: #fff; background: #0a2343; }
    .cta::before { position: absolute; top: -220px; right: -100px; width: 600px; height: 600px; border: 1px solid rgba(145,198,239,.13); border-radius: 50%; content: ""; box-shadow: 0 0 0 60px rgba(145,198,239,.035), 0 0 0 120px rgba(145,198,239,.025); }
    .cta .container { position: relative; }
    .cta h2 { color: #fff; font-size: clamp(2.2rem, 4vw, 3.2rem); letter-spacing: -.065em; }
    .cta p { max-width: 600px; color: #bdcde0; font-size: 1rem; line-height: 1.8; }
    .cta .btn-ghost { border-color: rgba(255,255,255,.35); }
    footer { background: #06162d; color: #aab8ca; }
    .footer-brand { color: #fff; letter-spacing: -.02em; }
    .footer-links a { font-size: .82rem; }
    .footer-bottom { border-top-color: rgba(184,204,226,.16); font-size: .78rem; }

    @media (max-width: 960px) {
      .hero-grid { min-height: auto; grid-template-columns: 1fr 1fr; gap: 30px; padding: 48px 32px; }
      .hero h1 { font-size: clamp(3rem, 6vw, 4.3rem); }
      .dashboard-content { padding: 22px 20px; }
      .stats-wrap { grid-template-columns: .7fr 1.3fr; gap: 24px; }
      .module-layout { grid-template-columns: 1fr; }
      .module-main { min-height: 360px; }
      .module-side { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
      .module-side .module-card { min-height: 205px; }
      #pilares .pillars { grid-template-columns: repeat(2, 1fr); }
      .pillar:nth-child(2) { border-right: 0; }
      .pillar:nth-child(3), .pillar:nth-child(4) { border-top: 1px solid var(--border); }
      .pillar:nth-child(3) { padding-left: 0; }
      .grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 640px) {
      .container { padding-inline: 22px; }
      .nav-inner { height: 72px; }
      .brand-mark { width: 32px; height: 32px; font-size: 1.2rem; }
      .brand-name { font-size: 1.05rem; }
      .brand small { font-size: .48rem; }
      .nav-links.open { top: 72px; align-items: stretch; background: #fff; }
      .nav-links.open a { color: #32465f; }
      .nav-links.open .btn-primary { color: #fff; justify-content: center; }
      .menu-toggle { color: var(--navy); font-size: 1.35rem; }
      .hero-grid { min-height: 0; grid-template-columns: 1fr; gap: 25px; padding: 20px 22px 38px; }
      .hero .badge { margin-bottom: 16px; padding: 7px 10px; font-size: .63rem; }
      .hero h1 { max-width: 530px; margin-bottom: 16px; font-size: clamp(2.4rem, 10.5vw, 2.8rem); }
      .hero p { margin-bottom: 16px; font-size: .9rem; }
      .hero-actions { flex-direction: row; }
      .hero .hero-actions .btn { justify-content: center; padding: 11px 10px; font-size: .77rem; }
      .hero-claims { gap: 8px 15px; margin-top: 20px; font-size: .66rem; }
      .hero-visual { padding: 0 0 16px; }
      .dashboard-shell { transform: none; }
      .dashboard-topbar { padding-inline: 12px; font-size: .49rem; }
      .dashboard-content { padding: 19px 14px; }
      .dashboard-heading { align-items: flex-start; gap: 8px; }
      .dashboard-heading h2 { font-size: 1rem; }
      .dashboard-date { padding: 6px; font-size: .48rem; }
      .sample-entry { padding: 12px; }
      .suggestion-fields { gap: 6px; padding: 8px; }
      .suggestion-fields > div { padding: 8px; }
      .suggestion-fields strong { font-size: .58rem; }
      .review-status { font-size: .49rem; }
      .human-review { margin: 0 8px 8px; padding: 8px; }
      .dashboard-footer { align-items: flex-start; }
      .workflow-map { gap: 6px; }
      .workflow-stage { min-height: 76px; padding: 11px 8px; }
      .workflow-stage:not(:last-child)::after { right: -7px; width: 7px; }
      .workflow-stage small { font-size: .48rem; }
      .workflow-stage strong { font-size: .66rem; }
      .workflow-status { font-size: .45rem; }
      .dashboard-footer { font-size: .5rem; }
      .visual-note { font-size: .58rem; }
      .stats-wrap { grid-template-columns: 1fr; gap: 12px; padding-block: 21px; }
      .stats-intro { max-width: none; font-size: .72rem; }
      .stats-grid { gap: 0; padding: 7px 0; }
      .stats-grid > div { padding-inline: 9px; }
      .stats-grid > div:first-child { padding-left: 0; }
      .stats-grid > div:nth-child(odd):not(:first-child) { border-left: 1px solid var(--border); padding-left: 9px; }
      .stats .num { font-size: 1.35rem; }
      .stats .label { font-size: .61rem; line-height: 1.4; }
      section { padding: 78px 0; scroll-margin-top: 72px; }
      .section-head { margin-bottom: 38px; }
      .section-head h2 { font-size: 2.2rem; }
      #pilares .pillars { grid-template-columns: 1fr; }
      .pillar, .pillar:first-child, .pillar:nth-child(3) { min-height: 0; padding: 22px 0; border-right: 0; border-top: 1px solid var(--border); }
      .pillar:first-child { border-top: 0; }
      .pillar .num { margin-bottom: 15px; }
      .module-layout { grid-template-columns: 1fr; gap: 12px; }
      .module-main { min-height: 0; padding: 26px 22px; }
      .module-main h3 { margin: 15px 0 12px; font-size: 1.8rem; }
      .module-tags { gap: 6px; margin-top: 25px; }
      .module-tags span { padding: 7px 8px; font-size: .61rem; }
      .module-side { grid-template-columns: 1fr; gap: 12px; }
      .module-side .module-card { min-height: 0; padding: 24px 22px; }
      .module-card:not(.module-main) h3 { margin-top: 13px; }
      .evolution-note { font-size: .75rem; }
      .grid { grid-template-columns: 1fr; }
      .card { min-height: 0; padding: 23px; }
      .card .icon { margin-bottom: 20px; }
      .timeline::before { left: 8px; }
      .tl-item, .tl-item:nth-child(odd), .tl-item:nth-child(even) { padding: 0 0 34px 35px; }
      .tl-item:nth-child(odd) .node, .tl-item:nth-child(even) .node { left: 0; }
      .t-grid { grid-template-columns: 1fr; }
      .t-card { min-height: 0; padding: 24px; }
      .band-grid { gap: 30px; }
      .band .btn-light { width: 100%; }
      .cta .hero-actions { flex-direction: column; }
      .cta .hero-actions .btn { width: 100%; }
      .footer-bottom { margin-top: 25px; }
    }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { transition-duration: .01ms !important; }
    }

    /* ===== Ajustes institucionais (PO, 2026-10-05) ===== */
    /* Logo oficial no header (fundo claro) */
    .brand-img { height: 42px; width: auto; display: block; }
    /* Logo no rodapé (versão branca para contraste no fundo escuro) */
    .footer-logo { height: 34px; width: auto; display: block; filter: brightness(0) invert(1); opacity: .95; }
    /* Centralizar as chamadas de seção (somente os textos de chamada) */
    .section-head,
    .features .section-head,
    #evolucao .section-head { text-align: center; max-width: 860px; margin-left: auto; margin-right: auto; }
    .section-head h2,
    .section-head p { max-width: none; }
    /* 2 colunas equilibradas (bloco "Em desenvolvimento") */
    .grid-2 { grid-template-columns: repeat(2, 1fr); }
    /* Meta padronizada dos cartões de produto (para quem / resolve / disponibilidade) */
    .pmeta { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 6px; }
    .pmeta li { color: #5b6b81; font-size: .86rem; line-height: 1.5; }
    .pmeta b { color: #142d4b; }
    /* CTA de seção (ex.: abaixo da grade do Analytics) */
    .section-cta { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; margin-top: 38px; }
    @media (max-width: 640px) { .grid-2 { grid-template-columns: 1fr; } }
    /* Resumo da oferta em 3 campos (para quem / o que resolve / disponibilidade) */
    .offer { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: #dce4ed; border: 1px solid #dce4ed; border-radius: 10px; overflow: hidden; margin-top: 30px; }
    .offer-item { background: #fff; padding: 18px 20px; }
    .offer-item small { display: block; color: #3a83b8; font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 8px; }
    .offer-item strong { display: block; color: #142d4b; font-size: .92rem; font-weight: 600; line-height: 1.5; }
    @media (max-width: 760px) { .offer { grid-template-columns: 1fr; } }
