/*
Theme Name: RLM OPS NEXUS
Theme URI: https://rlmopsnexus.com.br
Author: RLM OPS NEXUS
Author URI: https://rlmopsnexus.com.br
Description: Tema institucional premium para a RLM OPS NEXUS — tecnologia, integração e automação com IA. Desenvolvido sob medida a partir do Guia da Marca v1.0, com vídeo de fundo no topo, seções de essência, pilares, metodologia e contato. Compatível com All-in-One WP Migration, Contact Form 7/WPForms e os principais plugins de cache, SEO e segurança.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: rlm-ops-nexus
*/

/* O CSS completo do design abaixo foi gerado a partir do sistema de tokens
   da marca (Guia da Marca v1.0): Azul Nexus #0B2F62, Ciano #00A6E5, Azul #005B9A. */


  /* ============================================================
     RLM OPS NEXUS — DESIGN TOKENS
     ============================================================ */
  :root{
    --navy:#0B2F62;
    --navy-ink:#081F44;
    --blue:#005B9A;
    --cyan:#00A6E5;
    --cyan-dim:#3FC1EE;
    --ink:#0B1B33;
    --muted:#5A6B84;
    --muted-soft:#8592A8;
    --paper:#FFFFFF;
    --mist:#F4F7FB;
    --mist-2:#EBF1F8;
    --line:#E1E7F0;
    --line-soft:#EDF1F6;

    --container: 1180px;
    --gutter: clamp(22px, 5vw, 64px);
    --radius: 4px;

    --shadow-1: 0 1px 2px rgba(11,31,68,.06), 0 1px 1px rgba(11,31,68,.04);
    --shadow-2: 0 18px 40px -14px rgba(11,47,98,.28);

    --ease: cubic-bezier(.22,.61,.36,1);
    --dur-1: .5s;
    --dur-2: .8s;
  }

  /* ============================================================
     RESET & BASE
     ============================================================ */
  *,*::before,*::after{ box-sizing:border-box; }
  html{
    scroll-behavior:smooth;
  }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  }
  body{
    margin:0;
    font-family:'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color:var(--ink);
    background:var(--paper);
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    line-height:1.6;
  }
  img{ max-width:100%; display:block; }
  a{ color:inherit; text-decoration:none; }
  button{ font-family:inherit; cursor:pointer; }
  ul{ margin:0; padding:0; list-style:none; }
  h1,h2,h3,h4,p{ margin:0; }
  section{ position:relative; }
  ::selection{ background:var(--cyan); color:#fff; }

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

  a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
    outline:2.5px solid var(--cyan);
    outline-offset:3px;
    border-radius:2px;
  }

  /* Typographic scale */
  h1{ font-weight:700; letter-spacing:-0.015em; line-height:1.06; }
  h2{ font-weight:700; letter-spacing:-0.01em; line-height:1.14; font-size:clamp(1.9rem, 1.2rem + 2.6vw, 2.7rem); }
  h3{ font-weight:600; line-height:1.3; font-size:clamp(1.05rem, .95rem + .5vw, 1.25rem); }
  .eyebrow-none{ /* intentionally no eyebrow labels used site-wide */ }

  .lede{
    font-size:clamp(1.05rem, .95rem + .4vw, 1.2rem);
    color:var(--muted);
    max-width:52ch;
    line-height:1.65;
  }
  .body-copy{
    color:var(--muted);
    max-width:62ch;
    font-size:1.02rem;
  }
  .body-copy + .body-copy{ margin-top:1.1em; }

  /* ============================================================
     BUTTONS
     ============================================================ */
  .btn{
    display:inline-flex;
    align-items:center;
    gap:.55em;
    padding:.9em 1.5em;
    font-size:.98rem;
    font-weight:600;
    border-radius:3px;
    border:1.5px solid transparent;
    transition:background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease), transform .25s var(--ease);
    white-space:nowrap;
  }
  .btn:active{ transform:translateY(1px); }
  .btn-primary{
    background:var(--navy);
    color:#fff;
  }
  .btn-primary:hover{ background:var(--blue); }
  .btn-ghost-dark{
    border-color:rgba(255,255,255,.55);
    color:#fff;
  }
  .btn-ghost-dark:hover{ border-color:#fff; background:rgba(255,255,255,.08); }
  .btn-ghost-light{
    border-color:rgba(11,47,98,.28);
    color:var(--navy);
  }
  .btn-ghost-light:hover{ border-color:var(--navy); background:rgba(11,47,98,.04); }

  /* ============================================================
     HEADER
     ============================================================ */
  .site-header{
    position:fixed; inset:0 0 auto 0;
    z-index:100;
    padding:18px 0;
    transition:background var(--dur-1) var(--ease), padding var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);
  }
  .site-header .container{ display:flex; align-items:center; justify-content:space-between; gap:24px; }
  .brand{ display:block; height:34px; }
  .brand img{ height:100%; width:auto; }
  .brand .logo-color{ display:none; }
  .site-header.is-scrolled{
    background:rgba(255,255,255,.92);
    backdrop-filter:saturate(160%) blur(10px);
    padding:12px 0;
    box-shadow:0 1px 0 rgba(11,31,68,.07), 0 12px 24px -18px rgba(11,31,68,.18);
  }
  .site-header.is-scrolled .brand .logo-negative{ display:none; }
  .site-header.is-scrolled .brand .logo-color{ display:block; }

  .main-nav{ display:flex; align-items:center; gap:2.4vw; }
  .main-nav a{
    font-size:.94rem;
    font-weight:500;
    color:rgba(255,255,255,.86);
    position:relative;
    padding:6px 0;
    margin-right:clamp(10px, 2.4vw, 30px);
    transition:color .3s var(--ease);
  }
  .main-nav a:last-child{ margin-right:0; }
  .main-nav a::after{
    content:"";
    position:absolute; left:0; right:100%; bottom:0;
    height:2px; background:var(--cyan);
    transition:right .3s var(--ease);
  }
  .main-nav a:hover{ color:#fff; }
  .main-nav a:hover::after{ right:0; }
  .site-header.is-scrolled .main-nav a{ color:var(--ink); }
  .site-header.is-scrolled .main-nav a:hover{ color:var(--navy); }

  .header-actions{ display:flex; align-items:center; gap:14px; }
  .header-actions .btn{ padding:.72em 1.35em; font-size:.92rem; }
  .nav-cta{ display:none; }

  .nav-toggle{
    display:none;
    width:40px; height:40px;
    border:none; background:none;
    position:relative;
  }
  .nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{
    content:""; position:absolute; left:8px; right:8px; height:2px; background:#fff; border-radius:2px;
    transition:transform .3s var(--ease), opacity .3s var(--ease), background .3s var(--ease);
  }
  .site-header.is-scrolled .nav-toggle span, .site-header.is-scrolled .nav-toggle span::before, .site-header.is-scrolled .nav-toggle span::after{ background:var(--navy); }
  .nav-toggle span{ top:19px; }
  .nav-toggle span::before{ top:-7px; }
  .nav-toggle span::after{ top:7px; }
  .nav-open .nav-toggle span{ background:transparent; }
  .nav-open .nav-toggle span::before{ transform:translateY(7px) rotate(45deg); background:var(--navy); }
  .nav-open .nav-toggle span::after{ transform:translateY(-7px) rotate(-45deg); background:var(--navy); }

  /* ============================================================
     HERO
     ============================================================ */
  .hero{
    min-height:100vh;
    display:flex;
    align-items:flex-end;
    position:relative;
    overflow:hidden;
    background:linear-gradient(155deg, #081F44 0%, #0B2F62 45%, #06213f 100%);
    isolation:isolate;
  }
  .hero-media{ position:absolute; inset:0; z-index:0; }
  .hero-media video{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    opacity:.5;
    mix-blend-mode:screen;
  }
  .hero-media .hero-overlay{
    position:absolute; inset:0;
    background:
      radial-gradient(60% 60% at 18% 92%, rgba(6,20,45,.92) 0%, rgba(6,20,45,.55) 42%, rgba(6,20,45,0) 72%),
      linear-gradient(0deg, rgba(6,17,38,.86) 0%, rgba(6,17,38,.32) 46%, rgba(6,17,38,.55) 100%);
  }
  .hero-media .hero-grain{
    position:absolute; inset:0;
    background-image:radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px);
    background-size:3px 3px;
    opacity:.35;
    mix-blend-mode:overlay;
  }
  @media (max-width:720px){
    .hero-media video{ display:none; }
    .hero-media .hero-overlay{ background:linear-gradient(180deg, rgba(6,17,38,.35), rgba(6,17,38,.88)); }
  }

  .hero-content{
    position:relative; z-index:2;
    padding-block: 160px 92px;
    width:100%;
  }
  @keyframes heroReveal{ from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:none; } }
  @keyframes pulse{
    0%{ box-shadow:0 0 0 0 rgba(0,166,229,.55); }
    70%{ box-shadow:0 0 0 9px rgba(0,166,229,0); }
    100%{ box-shadow:0 0 0 0 rgba(0,166,229,0); }
  }
  .hero-eyebrow{
    display:inline-flex; align-items:center; gap:9px;
    color:#EAF2FB;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.16);
    padding:7px 14px 7px 11px;
    border-radius:99px;
    font-size:.86rem;
    font-weight:500;
    margin-bottom:26px;
    animation:heroReveal .9s var(--ease) .15s both;
  }
  .hero-eyebrow .dot{
    width:7px; height:7px; border-radius:50%; background:var(--cyan);
    box-shadow:0 0 0 0 rgba(0,166,229,.6);
    animation:pulse 2.4s ease-out .9s infinite;
  }
  .hero h1{
    color:#fff;
    font-size:clamp(2.5rem, 1.7rem + 4vw, 4.3rem);
    max-width:15ch;
    animation:heroReveal .9s var(--ease) .28s both;
  }
  .hero .lede{
    color:#D6E2F1;
    margin-top:26px;
    max-width:46ch;
    font-size:clamp(1.05rem, 1rem + .3vw, 1.2rem);
    animation:heroReveal .9s var(--ease) .42s both;
  }
  .hero-ctas{
    display:flex; flex-wrap:wrap; gap:16px;
    margin-top:40px;
    animation:heroReveal .9s var(--ease) .54s both;
  }
  .hero-tagline{
    margin-top:56px;
    color:rgba(255,255,255,.6);
    font-size:.86rem;
    letter-spacing:.02em;
    animation:heroReveal .9s var(--ease) .66s both;
  }
  .hero-tagline .dot-sep{ color:var(--cyan); margin-inline:.5em; }

  .scroll-cue{
    position:absolute; left:var(--gutter); bottom:28px; z-index:2;
    display:flex; align-items:center; gap:10px;
    color:rgba(255,255,255,.55);
    font-size:.82rem;
  }
  .scroll-cue svg{ animation:bob 2.2s ease-in-out infinite; }
  @keyframes bob{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(5px);} }
  @media (max-width:640px){ .scroll-cue{ display:none; } }

  /* ============================================================
     SECTION HEADINGS (shared)
     ============================================================ */
  .section{ padding-block:clamp(72px, 10vw, 132px); }
  .section-alt{ background:var(--mist); }
  .section-head{ max-width:640px; margin-bottom:56px; }
  .section-head h2{ color:var(--navy); }
  .section-head .lede{ margin-top:16px; }

  /* ============================================================
     ESSÊNCIA
     ============================================================ */
  .essencia-grid{
    display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(40px,6vw,90px); align-items:center;
  }
  .essencia-copy .kicker-word{ color:var(--navy); font-weight:700; }
  .essencia-callout{
    margin-top:28px;
    padding:20px 24px;
    border-left:3px solid var(--cyan);
    background:var(--mist);
    color:var(--ink);
    font-size:.98rem;
    max-width:56ch;
  }
  .essencia-callout strong{ color:var(--navy); }
  .essencia-art{ display:flex; justify-content:center; }
  .essencia-art svg{ width:100%; max-width:420px; height:auto; }

  @media (max-width:900px){
    .essencia-grid{ grid-template-columns:1fr; }
    .essencia-art{ order:-1; max-width:260px; margin-inline:auto; }
  }

  /* ============================================================
     SERVIÇOS (linhas divididas)
     ============================================================ */
  .service-list{ border-top:1px solid var(--line); }
  .service-row{
    display:grid;
    grid-template-columns:56px 1.1fr 1.6fr 28px;
    gap:28px;
    align-items:center;
    padding:30px 18px;
    border-bottom:1px solid var(--line);
    transition:background .35s var(--ease);
  }
  .service-row:hover{ background:var(--mist); }
  .service-icon{
    width:44px; height:44px;
    display:flex; align-items:center; justify-content:center;
    border-radius:50%;
    background:var(--mist-2);
    color:var(--navy);
    flex-shrink:0;
  }
  .service-row:hover .service-icon{ background:var(--navy); color:#fff; }
  .service-icon svg{ width:22px; height:22px; }
  .service-title{ font-weight:600; color:var(--ink); font-size:1.05rem; }
  .service-desc{ color:var(--muted); font-size:.98rem; }
  .service-arrow{ color:var(--muted-soft); transition:transform .35s var(--ease), color .35s var(--ease); justify-self:end; }
  .service-row:hover .service-arrow{ transform:translateX(4px); color:var(--cyan); }

  @media (max-width:760px){
    .service-row{ grid-template-columns:44px 1fr; grid-template-areas:"icon title" "desc desc"; row-gap:10px; }
    .service-icon{ grid-area:icon; }
    .service-title{ grid-area:title; align-self:center; }
    .service-desc{ grid-area:desc; }
    .service-arrow{ display:none; }
  }

  /* ============================================================
     PILARES
     ============================================================ */
  .pillars-sequence-label{
    color:var(--muted);
    font-size:.95rem;
    margin-top:14px;
  }
  .pillars{
    margin-top:56px;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    position:relative;
  }
  .pillars::before{
    content:"";
    position:absolute; left:calc(100%/6); right:calc(100%/6); top:34px;
    height:1px; background:var(--line);
    z-index:0;
  }
  .pillar{
    position:relative; z-index:1;
    padding-right:34px;
  }
  .pillar-num{
    display:flex; align-items:center; justify-content:center;
    width:68px; height:68px;
    border-radius:50%;
    background:#fff;
    border:1.5px solid var(--line);
    color:var(--navy);
    font-weight:700;
    font-size:1.05rem;
    margin-bottom:26px;
  }
  .pillar[data-p="2"] .pillar-num{ border-color:var(--cyan); color:var(--cyan); }
  .pillar h3{ color:var(--navy); font-size:1.2rem; margin-bottom:10px; }
  .pillar p{ color:var(--muted); font-size:.98rem; max-width:32ch; }

  @media (max-width:860px){
    .pillars{ grid-template-columns:1fr; gap:40px; }
    .pillars::before{ display:none; }
    .pillar{ padding-right:0; }
  }

  /* ============================================================
     METODOLOGIA
     ============================================================ */
  .steps{
    margin-top:56px;
    display:grid; grid-template-columns:repeat(4,1fr); gap:0;
  }
  .step{
    position:relative;
    padding:0 22px 0 0;
    border-left:1px solid var(--line);
    padding-left:24px;
  }
  .step:first-child{ border-left:none; padding-left:0; }
  .step-num{
    font-size:.82rem; font-weight:700; color:var(--cyan); letter-spacing:.04em;
  }
  .step h3{ margin-top:10px; color:var(--navy); }
  .step p{ margin-top:10px; color:var(--muted); font-size:.95rem; }

  @media (max-width:860px){
    .steps{ grid-template-columns:1fr; gap:28px; }
    .step{ border-left:none; padding-left:0; border-top:1px solid var(--line); padding-top:24px; }
    .step:first-child{ border-top:none; padding-top:0; }
  }

  /* ============================================================
     DIFERENCIAIS (Como somos)
     ============================================================ */
  .somos-grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(40px,6vw,90px); }
  .somos-lede{ color:var(--muted); font-size:1.05rem; max-width:38ch; }
  .traits{ border-top:1px solid var(--line); }
  .trait{
    display:grid; grid-template-columns:180px 1fr;
    gap:24px;
    padding:22px 0;
    border-bottom:1px solid var(--line);
  }
  .trait dt{ font-weight:600; color:var(--navy); }
  .trait dd{ margin:0; color:var(--muted); font-size:.98rem; }
  @media (max-width:900px){
    .somos-grid{ grid-template-columns:1fr; }
    .trait{ grid-template-columns:1fr; gap:6px; }
  }

  /* ============================================================
     CONFIANÇA (Como usamos IA)
     ============================================================ */
  .confianca{ background:var(--navy); color:#fff; }
  .confianca .section-head h2{ color:#fff; }
  .confianca .section-head .lede{ color:rgba(255,255,255,.72); }
  .confianca-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,64px); }
  .confianca-card{
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.14);
    border-radius:6px;
    padding:32px clamp(22px,3vw,36px);
  }
  .confianca-card h3{ color:#fff; margin-bottom:18px; font-size:1.1rem; }
  .confianca-card ul li{
    position:relative; padding-left:22px; margin-bottom:14px; color:rgba(255,255,255,.82); font-size:.97rem;
  }
  .confianca-card ul li::before{
    content:""; position:absolute; left:0; top:.55em; width:7px; height:7px; border-radius:50%; background:var(--cyan);
  }
  .confianca-card.avoid li::before{ background:rgba(255,255,255,.35); }
  .confianca-card.avoid li{ color:rgba(255,255,255,.62); }
  @media (max-width:820px){ .confianca-grid{ grid-template-columns:1fr; } }

  /* ============================================================
     CONTATO
     ============================================================ */
  .contato-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(40px,6vw,80px); }
  .contato-info-item{ margin-bottom:26px; }
  .contato-info-item .label{ font-size:.82rem; color:var(--muted-soft); text-transform:uppercase; letter-spacing:.06em; margin-bottom:6px; }
  .contato-info-item .value{ font-weight:600; color:var(--navy); font-size:1.05rem; }
  .contato-info-item .value.placeholder{ color:var(--muted); font-weight:500; font-style:italic; }

  .form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  .form-grid .full{ grid-column:1 / -1; }
  .field label{ display:block; font-size:.86rem; font-weight:600; color:var(--navy); margin-bottom:8px; }
  .field input, .field select, .field textarea{
    width:100%;
    border:1.5px solid var(--line);
    border-radius:3px;
    padding:.85em 1em;
    font-family:inherit;
    font-size:.96rem;
    color:var(--ink);
    background:#fff;
    transition:border-color .25s var(--ease);
  }
  .field input:focus, .field select:focus, .field textarea:focus{ border-color:var(--cyan); outline:none; }
  .field textarea{ resize:vertical; min-height:120px; }
  .form-note{ margin-top:16px; font-size:.84rem; color:var(--muted-soft); }
  .form-success{
    display:none; margin-top:18px; padding:14px 18px; background:var(--mist); border-left:3px solid var(--cyan); color:var(--navy); font-size:.94rem; font-weight:500;
  }
  .form-success.is-visible{ display:block; }

  @media (max-width:900px){
    .contato-grid{ grid-template-columns:1fr; }
    .form-grid{ grid-template-columns:1fr; }
  }

  /* ============================================================
     FOOTER
     ============================================================ */
  .site-footer{ background:var(--navy-ink); color:rgba(255,255,255,.72); padding-top:clamp(56px,7vw,88px); }
  .footer-top{ display:grid; grid-template-columns:1.3fr .9fr .9fr 1fr; gap:40px; padding-bottom:56px; border-bottom:1px solid rgba(255,255,255,.12); }
  .footer-brand img{ height:78px; width:auto; margin-bottom:18px; }
  .footer-brand p{ font-size:.92rem; color:rgba(255,255,255,.55); max-width:34ch; }
  .footer-col h4{ color:#fff; font-size:.86rem; letter-spacing:.03em; margin-bottom:18px; }
  .footer-col ul li{ margin-bottom:11px; }
  .footer-col a{ font-size:.92rem; color:rgba(255,255,255,.62); transition:color .25s var(--ease); }
  .footer-col a:hover{ color:#fff; }
  .footer-bottom{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; padding-block:24px; font-size:.82rem; color:rgba(255,255,255,.48); }
  .footer-social{ display:flex; gap:14px; }
  .footer-social a{ width:34px; height:34px; border:1px solid rgba(255,255,255,.18); border-radius:50%; display:flex; align-items:center; justify-content:center; transition:border-color .25s var(--ease), background .25s var(--ease); }
  .footer-social a:hover{ border-color:var(--cyan); background:rgba(0,166,229,.12); }
  .footer-social svg{ width:15px; height:15px; }

  @media (max-width:860px){
    .footer-top{ grid-template-columns:1fr 1fr; row-gap:36px; }
  }
  @media (max-width:560px){
    .footer-top{ grid-template-columns:1fr; }
  }

  /* ============================================================
     RESPONSIVE — NAV / HERO
     ============================================================ */
  @media (max-width:960px){
    .main-nav{
      position:fixed; inset:0 0 0 auto;
      width:min(78vw, 340px);
      background:#fff;
      flex-direction:column;
      align-items:flex-start;
      justify-content:flex-start;
      gap:2px;
      padding:96px 30px 30px;
      transform:translateX(100%);
      transition:transform .4s var(--ease);
      box-shadow:-20px 0 50px rgba(11,31,68,.18);
    }
    .nav-open .main-nav{ transform:translateX(0); }
    .main-nav a{ color:var(--navy) !important; width:100%; padding:14px 0; border-bottom:1px solid var(--line-soft); font-size:1.02rem; }
    .main-nav a::after{ display:none; }
    .main-nav a.nav-cta{ color:#fff !important; border-bottom:none; width:auto; padding:.9em 1.5em; justify-content:center; }
    .header-actions .btn{ display:none; }
    .nav-toggle{ display:block; }
    .nav-cta{ display:inline-flex !important; margin-top:22px; }
    body.nav-open{ overflow:hidden; }
  }
  @media (min-width:961px){
    .nav-scrim{ display:none !important; }
  }
  .nav-scrim{
    position:fixed; inset:0; background:rgba(6,17,38,.4); z-index:90;
    opacity:0; pointer-events:none; transition:opacity .35s var(--ease);
  }
  .nav-open .nav-scrim{ opacity:1; pointer-events:auto; }

  @media (max-width:560px){
    .hero-content{ padding-block:130px 70px; }
  }
