/* ==========================================================================
   GlassManager — Landing page
   Paleta derivada do design system "GlassParceiro" do produto.
   ========================================================================== */
:root {
  --blue-50:#E6F2FF; --blue-100:#CFE3FF; --blue-300:#6FA8FF;
  --blue-400:#3D82FF; --blue-500:#1565FF; --blue-600:#0F4FD6; --blue-700:#0B3DA8;
  --navy-800:#103A73; --navy-900:#0B2D59;
  --cyan-400:#22C7FF; --cyan-500:#08A9E6;
  --green-500:#27C97C; --green-600:#1FA866;
  --amber-500:#F59E0B; --red-500:#EF4444;

  --white:#FFFFFF;
  --gray-50:#F6F8FB; --gray-100:#EEF2F8; --gray-200:#E2E8F0; --gray-300:#CBD5E1;
  --gray-400:#94A3B8; --gray-500:#64748B; --gray-600:#475569; --gray-700:#334155;
  --gray-800:#1E293B; --gray-900:#0F172A;

  --grad-brand: linear-gradient(135deg, #22C7FF 0%, #1565FF 55%, #0F4FD6 100%);
  --grad-hero: radial-gradient(1200px 600px at 75% -10%, rgba(34,199,255,.28), transparent 60%),
               linear-gradient(160deg, #0B2D59 0%, #103A73 55%, #0B3DA8 100%);

  --text-strong: var(--navy-900);
  --text-body: var(--gray-700);
  --text-muted: var(--gray-500);

  --radius: 16px;
  --radius-lg: 24px;
  --shadow-card: 0 20px 50px -20px rgba(11,45,89,.45);
  --shadow-soft: 0 10px 30px -12px rgba(15,23,42,.18);
  --maxw: 1160px;
  --ease: cubic-bezier(.4,.0,.2,1);

  --font: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0; font-family:var(--font); color:var(--text-body);
  background:var(--white); line-height:1.6; -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img { max-width:100%; display:block; }
a { color:var(--blue-600); text-decoration:none; }
h1,h2,h3 { color:var(--text-strong); line-height:1.15; margin:0 0 .5em; letter-spacing:-.02em; }

.container { width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:24px; }

.grad-text {
  background:var(--grad-brand); -webkit-background-clip:text; background-clip:text;
  color:transparent;
}

.eyebrow {
  display:inline-block; font-size:.8rem; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color:var(--cyan-400); margin-bottom:14px;
}
.eyebrow-dark { color:var(--blue-600); }

/* ---------- Botões ---------- */
.btn {
  --pad-y:13px; --pad-x:22px;
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:inherit; font-size:.98rem; font-weight:600; line-height:1;
  padding:var(--pad-y) var(--pad-x); border-radius:999px; border:1px solid transparent;
  cursor:pointer; transition:transform .15s var(--ease), box-shadow .2s var(--ease), background .2s;
  white-space:nowrap;
}
.btn-primary {
  background:var(--grad-brand); color:#fff;
  box-shadow:0 10px 24px -8px rgba(21,101,255,.6);
}
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 16px 30px -8px rgba(21,101,255,.7); }
.btn-primary:active { transform:translateY(0); }
.btn-ghost { background:rgba(255,255,255,.08); color:#fff; border-color:rgba(255,255,255,.25); }
.btn-ghost:hover { background:rgba(255,255,255,.16); }
.btn-sm { --pad-y:9px; --pad-x:16px; font-size:.88rem; }
.btn-lg { --pad-y:16px; --pad-x:30px; font-size:1.05rem; }
.btn-block { width:100%; }
.btn[disabled] { opacity:.7; cursor:progress; }

.spinner {
  width:18px; height:18px; border-radius:50%;
  border:2.5px solid rgba(255,255,255,.4); border-top-color:#fff;
  animation:spin .7s linear infinite;
}
@keyframes spin { to { transform:rotate(360deg); } }

/* ---------- Header ---------- */
.site-header {
  position:absolute; top:0; left:0; right:0; z-index:20;
}
.header-inner { display:flex; align-items:center; justify-content:space-between; padding-block:22px; }
.brand-logo { height:34px; width:auto; }
.nav { display:flex; align-items:center; gap:28px; }
.nav a { color:rgba(255,255,255,.85); font-weight:500; font-size:.95rem; transition:color .2s; }
.nav a:hover { color:#fff; }
.nav .btn { color:#fff; }

/* ---------- Hero ---------- */
.hero { position:relative; background:var(--grad-hero); color:#fff; overflow:hidden;
  padding:140px 0 90px; }
.hero-glow { position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(600px 300px at 15% 110%, rgba(39,201,124,.18), transparent 70%); }
.hero-grid { position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
.hero-copy h1 { color:#fff; font-size:clamp(2.1rem, 4.2vw, 3.4rem); font-weight:800; margin-bottom:18px; }
.hero-copy .lead { font-size:1.12rem; color:rgba(255,255,255,.82); max-width:540px; margin:0 0 26px; }
.hero-checks { list-style:none; padding:0; margin:0 0 32px; display:grid; gap:12px; }
.hero-checks li { position:relative; padding-left:34px; color:rgba(255,255,255,.92); font-weight:500; }
.hero-checks li::before {
  content:""; position:absolute; left:0; top:1px; width:22px; height:22px; border-radius:50%;
  background:var(--green-500) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/14px no-repeat;
}
.hero-stats { display:flex; gap:32px; flex-wrap:wrap; padding-top:8px; border-top:1px solid rgba(255,255,255,.14); }
.hero-stats div { display:flex; flex-direction:column; }
.hero-stats strong { font-size:1.5rem; font-weight:800; color:#fff; }
.hero-stats span { font-size:.85rem; color:rgba(255,255,255,.7); }

/* ---------- Glass cards ---------- */
.glass {
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.6);
  box-shadow:var(--shadow-card);
}

/* ---------- Form ---------- */
.form-card { border-radius:var(--radius-lg); padding:34px 32px; }
.form-card h2 { font-size:1.5rem; margin-bottom:6px; }
.form-sub { color:var(--text-muted); margin:0 0 22px; font-size:.96rem; }
.field { margin-bottom:15px; }
.field label { display:block; font-size:.86rem; font-weight:600; color:var(--gray-700); margin-bottom:6px; }
.field .opt { color:var(--gray-400); font-weight:400; }
.field input, .field textarea {
  width:100%; font-family:inherit; font-size:.98rem; color:var(--gray-900);
  padding:12px 14px; border:1.5px solid var(--gray-200); border-radius:12px;
  background:#fff; transition:border-color .2s, box-shadow .2s; resize:vertical;
}
.field input::placeholder, .field textarea::placeholder { color:var(--gray-400); }
.field input:focus, .field textarea:focus {
  outline:none; border-color:var(--blue-500); box-shadow:0 0 0 4px rgba(21,101,255,.14);
}
.field.invalid input, .field.invalid textarea { border-color:var(--red-500); }
.field .error { display:block; color:var(--red-500); font-size:.8rem; margin-top:5px; min-height:0; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.form-note { font-size:.8rem; color:var(--gray-400); text-align:center; margin:14px 0 0; }
.form-feedback { margin-top:16px; padding:14px 16px; border-radius:12px; font-size:.92rem; font-weight:500; }
.form-feedback.success { background:var(--green-100,#D6F5E6); color:var(--green-600); border:1px solid #b6ecd2; }
.form-feedback.error { background:#FDE0E0; color:#b91c1c; border:1px solid #f6caca; }

/* ---------- Sections ---------- */
.section { padding:88px 0; }
.section-head { max-width:680px; margin:0 auto 52px; text-align:center; }
.section-head h2 { font-size:clamp(1.7rem,3vw,2.4rem); font-weight:800; }
.section-head p { color:var(--text-muted); font-size:1.05rem; margin:0; }

.section-dark { background:var(--grad-hero); color:#fff; }
.section-dark .section-head h2 { color:#fff; }
.section-dark .section-head p { color:rgba(255,255,255,.78); }

/* ---------- Feature cards ---------- */
.cards-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.feature {
  background:#fff; border:1px solid var(--gray-200); border-radius:var(--radius);
  padding:30px 26px; box-shadow:var(--shadow-soft);
  transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s;
}
.feature:hover { transform:translateY(-4px); box-shadow:0 22px 44px -22px rgba(11,45,89,.35); border-color:var(--blue-100); }
.feature h3 { font-size:1.18rem; margin-bottom:8px; }
.feature p { margin:0; color:var(--text-muted); font-size:.96rem; }
.feat-ic {
  width:52px; height:52px; border-radius:14px; margin-bottom:18px;
  background:var(--grad-brand); display:grid; place-items:center;
  -webkit-mask-clip:border-box;
}
.feat-ic::after {
  content:""; width:28px; height:28px; background:#fff;
  -webkit-mask:var(--icon) center/contain no-repeat; mask:var(--icon) center/contain no-repeat;
}
.feat-ic[data-ic="pedido"]{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 11l3 3L22 4'/%3E%3Cpath d='M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11'/%3E%3C/svg%3E");}
.feat-ic[data-ic="prod"]{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 20h20'/%3E%3Cpath d='M4 20V8l6 4V8l6 4V8l4 3v9'/%3E%3C/svg%3E");}
.feat-ic[data-ic="crm"]{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");}
.feat-ic[data-ic="fiscal"]{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='8' y1='13' x2='16' y2='13'/%3E%3Cline x1='8' y1='17' x2='16' y2='17'/%3E%3C/svg%3E");}
.feat-ic[data-ic="fin"]{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='1' x2='12' y2='23'/%3E%3Cpath d='M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6'/%3E%3C/svg%3E");}
.feat-ic[data-ic="ia"]{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");}

/* ---------- Pipeline ---------- */
.pipeline { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; counter-reset:s; }
.pipeline li {
  position:relative; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16);
  border-radius:var(--radius); padding:28px 22px;
}
.pipeline li::after {
  content:"→"; position:absolute; right:-16px; top:50%; transform:translateY(-50%);
  color:var(--cyan-400); font-size:1.4rem; font-weight:700;
}
.pipeline li:last-child::after { display:none; }
.step-num {
  display:grid; place-items:center; width:40px; height:40px; border-radius:12px;
  background:var(--grad-brand); color:#fff; font-weight:800; margin-bottom:14px;
}
.pipeline h3 { color:#fff; font-size:1.15rem; margin-bottom:6px; }
.pipeline p { margin:0; color:rgba(255,255,255,.72); font-size:.92rem; }

/* ---------- Diferenciais ---------- */
.diff-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.diff { padding:26px 22px; border-radius:var(--radius); background:var(--gray-50); border:1px solid var(--gray-200); border-left:4px solid var(--blue-500); }
.diff h3 { font-size:1.1rem; margin-bottom:8px; }
.diff p { margin:0; color:var(--text-muted); font-size:.94rem; }

/* ---------- CTA final ---------- */
.cta-final { padding:60px 0 90px; }
.cta-inner {
  border-radius:var(--radius-lg); padding:46px 48px; display:flex; align-items:center;
  justify-content:space-between; gap:32px; flex-wrap:wrap;
  background:var(--grad-hero); color:#fff; box-shadow:var(--shadow-card);
}
.cta-inner h2 { color:#fff; font-size:1.7rem; margin-bottom:6px; }
.cta-inner p { margin:0; color:rgba(255,255,255,.82); }

/* ---------- Footer ---------- */
.site-footer { background:var(--navy-900); color:rgba(255,255,255,.7); padding:48px 0; }
.footer-inner { display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; }
.footer-logo { height:30px; }
.footer-tag { margin:4px 0 0; }
.footer-copy { margin:0; font-size:.85rem; color:rgba(255,255,255,.45); }

/* ---------- Página de confirmação / erro ---------- */
.status-page { min-height:100vh; display:grid; place-items:center; background:var(--grad-hero); padding:24px; }
.status-card { max-width:520px; width:100%; text-align:center; background:#fff; border-radius:var(--radius-lg);
  padding:48px 40px; box-shadow:var(--shadow-card); }
.status-card .badge {
  width:76px; height:76px; border-radius:50%; margin:0 auto 22px; display:grid; place-items:center;
}
.status-card .badge.ok { background:var(--green-500); }
.status-card .badge.warn { background:var(--amber-500); }
.status-card .badge svg { width:40px; height:40px; stroke:#fff; }
.status-card h1 { font-size:1.6rem; }
.status-card p { color:var(--text-muted); margin:0 0 26px; }
.status-card .brand-logo { height:32px; margin:30px auto 0; opacity:.9; }

/* ---------- Responsivo ---------- */
@media (max-width:900px){
  .hero-grid { grid-template-columns:1fr; gap:40px; }
  .cards-grid { grid-template-columns:repeat(2,1fr); }
  .pipeline { grid-template-columns:repeat(2,1fr); }
  .pipeline li:nth-child(2)::after { display:none; }
  .diff-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  .nav a:not(.btn) { display:none; }
  .hero { padding:110px 0 70px; }
  .cards-grid, .pipeline, .diff-grid { grid-template-columns:1fr; }
  .pipeline li::after { display:none; }
  .cta-inner { flex-direction:column; text-align:center; align-items:center; }
  .section { padding:64px 0; }
}
