/* =========================================================
   NEXUS SENTINEL — Estilo "Corporate" (landing pages formais,
   inspirado no posicionamento visual da Genetec: claro, institucional,
   estruturado, com tipografia sóbria e uso comedido de cor).
   Carregado apenas nas landing pages com template = 'corporate'.
   ========================================================= */

:root{
  --c-navy:      #0b2447;
  --c-blue:      #1a56db;
  --c-blue-dark: #123f9e;
  --c-blue-tint: #eaf1fd;
  --c-bg:        #ffffff;
  --c-bg-alt:    #f6f8fb;
  --c-border:    #e3e8f0;
  --c-text:      #16233d;
  --c-muted:     #5b6b85;
  --c-faint:     #93a0b8;
}

.corp{
  font-family:var(--font-body);
  color:var(--c-text);
  background:var(--c-bg);
  line-height:1.65;
}
.corp *{ box-sizing:border-box; }
.corp .container{ max-width:1180px; margin:0 auto; padding:0 24px; }
.corp h1,.corp h2,.corp h3{ font-family:var(--font-display); font-weight:600; color:var(--c-navy); line-height:1.2; }
.corp a{ color:inherit; text-decoration:none; }

/* topbar institucional */
.corp-topbar{
  background:var(--c-navy); color:#cfd9ee; font-size:13px; padding:9px 0;
}
.corp-topbar .container{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.corp-topbar a{ color:#cfd9ee; }
.corp-topbar a:hover{ color:#fff; }

/* header */
.corp-header{
  border-bottom:1px solid var(--c-border); padding:18px 0; background:#fff;
}
.corp-header .container{ display:flex; align-items:center; justify-content:space-between; gap:20px; }
.corp-brand{ display:flex; align-items:center; gap:10px; }
.corp-brand img{ width:36px; height:36px; object-fit:contain; }
.corp-brand span{ font-family:var(--font-display); font-size:17px; color:var(--c-navy); font-weight:700; }
.corp-header .btn-corp{
  padding:12px 24px; border-radius:4px; background:var(--c-blue); color:#fff; font-weight:600; font-size:14px;
  transition:background .15s;
}
.corp-header .btn-corp:hover{ background:var(--c-blue-dark); }

/* hero */
.corp-hero{
  background:linear-gradient(180deg, var(--c-bg-alt), #fff);
  border-bottom:1px solid var(--c-border);
  padding:76px 0 70px;
}
.corp-hero .container{ display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:center; }
.corp-kicker{
  display:inline-block; font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:var(--c-blue); background:var(--c-blue-tint); padding:6px 14px; border-radius:3px; margin-bottom:20px;
}
.corp-hero h1{ font-size:clamp(30px,3.6vw,46px); letter-spacing:-.01em; }
.corp-hero .lead{ margin-top:18px; font-size:17.5px; color:var(--c-muted); max-width:540px; }
.corp-hero-form{
  background:#fff; border:1px solid var(--c-border); border-radius:6px; padding:32px;
  box-shadow:0 20px 45px -25px rgba(11,36,71,.25);
}
.corp-hero-form h3{ font-size:18px; margin-bottom:6px; }
.corp-hero-form .sub{ font-size:13.5px; color:var(--c-muted); margin-bottom:20px; }

/* form fields (reaproveita estrutura .form-group, mas com tema claro) */
.corp .form-group{ margin-bottom:16px; }
.corp .form-group label{ display:block; font-size:12.5px; font-weight:600; color:var(--c-navy); margin-bottom:6px; }
.corp .form-group input{
  width:100%; padding:11px 13px; border-radius:4px; border:1px solid var(--c-border);
  background:#fbfcfe; color:var(--c-text); font-size:14.5px; font-family:inherit;
}
.corp .form-group input:focus{ outline:none; border-color:var(--c-blue); background:#fff; }
.corp .btn-corp-block{
  width:100%; padding:14px; border:none; border-radius:4px; background:var(--c-blue); color:#fff;
  font-weight:700; font-size:15px; cursor:pointer; transition:background .15s;
}
.corp .btn-corp-block:hover{ background:var(--c-blue-dark); }
.corp .form-note{ font-size:12px; color:var(--c-faint); margin-top:12px; }
.corp .alert-success{ background:#e9f9f1; border:1px solid #b9e9cf; color:#0e7a45; padding:14px 16px; border-radius:4px; font-size:14px; }

/* trust bar / stats */
.corp-stats{ background:var(--c-navy); padding:36px 0; }
.corp-stats .container{ display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:24px; text-align:center; }
.corp-stats .stat b{ display:block; font-family:var(--font-display); font-size:28px; color:#fff; }
.corp-stats .stat span{ font-size:12.5px; color:#9fb0d4; text-transform:uppercase; letter-spacing:.05em; }

/* intro / seção institucional */
.corp-section{ padding:76px 0; }
.corp-section-alt{ background:var(--c-bg-alt); }
.corp-section-head{ max-width:680px; margin:0 auto 46px; text-align:center; }
.corp-section-head h2{ font-size:clamp(24px,3vw,34px); }
.corp-section-head p{ margin-top:14px; color:var(--c-muted); font-size:16px; }
.corp-intro{ max-width:820px; margin:0 auto; text-align:center; }
.corp-intro h2{ font-size:clamp(24px,3vw,32px); margin-bottom:18px; }
.corp-intro p{ color:var(--c-muted); font-size:17px; }

/* benefit / feature grid */
.corp-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:28px; }
.corp-card{
  border:1px solid var(--c-border); border-radius:6px; padding:28px; background:#fff;
  transition:box-shadow .2s, border-color .2s;
}
.corp-card:hover{ box-shadow:0 16px 40px -24px rgba(11,36,71,.3); border-color:#cfdcf3; }
.corp-card .icon-box{
  width:44px; height:44px; border-radius:6px; background:var(--c-blue-tint); color:var(--c-blue);
  display:flex; align-items:center; justify-content:center; margin-bottom:18px; font-family:var(--font-display); font-weight:700;
}
.corp-card h3{ font-size:17px; margin-bottom:10px; }
.corp-card p{ color:var(--c-muted); font-size:14.5px; }

/* features list (mais tabular / enterprise) */
.corp-feature-row{
  display:grid; grid-template-columns:280px 1fr; gap:32px; padding:26px 0; border-bottom:1px solid var(--c-border);
  align-items:start;
}
.corp-feature-row:last-child{ border-bottom:none; }
.corp-feature-row h3{ font-size:17px; }
.corp-feature-row p{ color:var(--c-muted); font-size:15px; }

/* testimonial */
.corp-testimonial{
  background:var(--c-navy); border-radius:8px; padding:52px; text-align:center; color:#fff; max-width:820px; margin:0 auto;
}
.corp-testimonial blockquote{ font-family:var(--font-display); font-size:22px; font-weight:500; line-height:1.5; margin:0 0 20px; }
.corp-testimonial cite{ font-style:normal; color:#9fb0d4; font-size:14px; }

/* FAQ accordion */
.corp-faq{ max-width:760px; margin:0 auto; }
.corp-faq-item{ border-bottom:1px solid var(--c-border); }
.corp-faq-item summary{
  cursor:pointer; padding:20px 4px; font-weight:600; font-size:15.5px; color:var(--c-navy);
  display:flex; justify-content:space-between; align-items:center; list-style:none;
}
.corp-faq-item summary::-webkit-details-marker{ display:none; }
.corp-faq-item summary::after{ content:'+'; font-size:20px; color:var(--c-blue); margin-left:16px; }
.corp-faq-item[open] summary::after{ content:'–'; }
.corp-faq-item p{ padding:0 4px 20px; color:var(--c-muted); font-size:14.5px; }

/* CTA final */
.corp-cta{ background:var(--c-blue-tint); padding:64px 0; text-align:center; }
.corp-cta h2{ font-size:clamp(22px,3vw,30px); margin-bottom:14px; }
.corp-cta p{ color:var(--c-muted); margin-bottom:26px; }

/* footer institucional simples */
.corp-footer{ background:var(--c-navy); color:#9fb0d4; padding:40px 0; font-size:13px; }
.corp-footer .container{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; align-items:center; }
.corp-footer a{ color:#cfd9ee; }
.corp-footer a:hover{ color:#fff; }

@media (max-width:900px){
  .corp-hero .container{ grid-template-columns:1fr; }
  .corp-feature-row{ grid-template-columns:1fr; gap:8px; }
}
