/* =========================================================
   Atendix — Landing Page
   Identidade visual: frontend/dockerBuild/atendix
   Azul profundo #061B52 · Azul royal #145BFF
   Azul elétrico #078CFF · Ciano #00BFFF
   Cores chapadas — sem gradientes. Claro por padrão, escuro opcional.
   ========================================================= */

/* ---------- TOKENS: tema claro (padrão) ---------- */
:root{
  --brand:#145BFF;
  --brand-hover:#0B44CC;
  --brand-soft:#E9EFFF;
  --brand-line:#C3D5FF;
  --deep:#061B52;
  --cyan:#0089C7;

  --ok:#0F7A43;
  --ok-soft:#E4F5EC;
  --warn:#9A6100;
  --alert:#B3261E;

  --paper:#FFFFFF;
  --ground:#F4F6FB;
  --sunken:#EDF1F9;

  --ink:#0A1836;
  --ink-2:#40527A;
  --ink-3:#6E7FA3;

  --line:#DEE5F1;
  --line-2:#C6D1E5;

  --shadow:0 1px 2px rgba(10,24,54,.06),0 8px 24px -16px rgba(10,24,54,.18);
  --shadow-lg:0 2px 4px rgba(10,24,54,.05),0 24px 48px -28px rgba(10,24,54,.30);

  --radius:10px;
  --radius-sm:7px;
  --wrap:1160px;
  --ease:cubic-bezier(.22,.61,.36,1);

  color-scheme:light;
}

/* ---------- TOKENS: tema escuro por preferência do sistema ---------- */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --brand:#588DFF;
    --brand-hover:#7BA6FF;
    --brand-soft:#12244C;
    --brand-line:#25406F;
    --deep:#0A1F52;
    --cyan:#3FC2F0;

    --ok:#4ECB86;
    --ok-soft:#10301F;
    --warn:#E0A93C;
    --alert:#FF7A70;

    --paper:#0C1426;
    --ground:#080F1E;
    --sunken:#121B30;

    --ink:#E9EEF9;
    --ink-2:#A7B6D2;
    --ink-3:#7B8AAA;

    --line:#1F2A44;
    --line-2:#2E3C5C;

    --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px -16px rgba(0,0,0,.7);
    --shadow-lg:0 2px 4px rgba(0,0,0,.4),0 24px 48px -28px rgba(0,0,0,.8);

    color-scheme:dark;
  }
}

/* ---------- TOKENS: tema escuro escolhido pelo usuário ---------- */
:root[data-theme="dark"]{
  --brand:#588DFF;
  --brand-hover:#7BA6FF;
  --brand-soft:#12244C;
  --brand-line:#25406F;
  --deep:#0A1F52;
  --cyan:#3FC2F0;

  --ok:#4ECB86;
  --ok-soft:#10301F;
  --warn:#E0A93C;
  --alert:#FF7A70;

  --paper:#0C1426;
  --ground:#080F1E;
  --sunken:#121B30;

  --ink:#E9EEF9;
  --ink-2:#A7B6D2;
  --ink-3:#7B8AAA;

  --line:#1F2A44;
  --line-2:#2E3C5C;

  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px -16px rgba(0,0,0,.7);
  --shadow-lg:0 2px 4px rgba(0,0,0,.4),0 24px 48px -28px rgba(0,0,0,.8);

  color-scheme:dark;
}

/* =========================================================
   BASE
   ========================================================= */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:88px;}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
p{margin:0;}
ul,ol,dl,dd{margin:0;padding:0;}
ul{list-style:none;}
button,input,select,textarea{font:inherit;color:inherit;}

h1,h2,h3,h4{
  font-family:"Sora",system-ui,sans-serif;
  font-weight:700;line-height:1.18;letter-spacing:-.018em;margin:0;
  text-wrap:balance;
}

code{
  font-family:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  font-size:.86em;background:var(--sunken);border:1px solid var(--line);
  border-radius:4px;padding:.05em .35em;color:var(--ink-2);
}

.wrap{width:min(100% - 40px,var(--wrap));margin-inline:auto;}
.wrap.narrow{max-width:780px;}

.skip-link{position:absolute;left:-9999px;top:0;background:var(--brand);color:#fff;padding:10px 16px;z-index:300;}
.skip-link:focus{left:0;}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px;}

.eyebrow{
  font-family:"IBM Plex Mono",monospace;
  font-size:.72rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;
  color:var(--brand);margin-bottom:.85rem;
}

/* =========================================================
   BOTÕES
   ========================================================= */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:"Sora",sans-serif;font-weight:600;font-size:.92rem;line-height:1;
  padding:.78rem 1.35rem;border-radius:var(--radius-sm);
  border:1px solid transparent;cursor:pointer;text-align:center;
  transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease);
}
.btn-primary{background:var(--brand);color:#fff;}
.btn-primary:hover{background:var(--brand-hover);}
.btn-outline{background:var(--paper);border-color:var(--line-2);color:var(--ink);}
.btn-outline:hover{border-color:var(--brand);color:var(--brand);}
.btn-quiet{background:transparent;border-color:var(--line);color:var(--ink-2);}
.btn-quiet:hover{border-color:var(--line-2);color:var(--ink);}
/* Fica sempre sobre a faixa azul-escura do CTA: cores fixas nos dois temas */
.btn-invert{background:#FFFFFF;color:#061B52;}
.btn-invert:hover{background:#DCE6FF;color:#061B52;}
.btn-wa{background:#1E9E4F;color:#fff;width:100%;}
.btn-wa:hover{background:#17853F;}
.btn-sm{padding:.55rem 1rem;font-size:.85rem;}
.btn-lg{padding:.95rem 1.7rem;font-size:1rem;}

.icon-btn{
  width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);
  color:var(--ink-2);cursor:pointer;transition:border-color .18s,color .18s;
}
.icon-btn:hover{border-color:var(--line-2);color:var(--ink);}

/* =========================================================
   HEADER
   ========================================================= */
.site-header{
  position:sticky;top:0;z-index:120;
  background:var(--paper);
  border-bottom:1px solid transparent;
  transition:border-color .2s var(--ease);
}
.site-header.is-stuck{border-bottom-color:var(--line);}
.header-inner{display:flex;align-items:center;gap:1rem;height:72px;}

.brand{display:flex;align-items:center;gap:.6rem;flex-shrink:0;margin-right:auto;}
.brand-mark{width:34px;height:34px;object-fit:contain;}
.brand-text{display:flex;flex-direction:column;line-height:1.12;}
.brand-text strong{font-family:"Sora",sans-serif;font-weight:800;font-size:1.15rem;letter-spacing:-.01em;}
.brand-text small{font-size:.53rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);}

.main-nav{display:flex;align-items:center;gap:1.35rem;}
.main-nav a{font-size:.9rem;color:var(--ink-2);transition:color .18s;}
.main-nav a:hover{color:var(--ink);}
.main-nav .nav-cta{color:#fff;}
.nav-login{font-weight:500;}

.theme-toggle .ico-moon{display:none;}
:root[data-theme="dark"] .theme-toggle .ico-sun{display:none;}
:root[data-theme="dark"] .theme-toggle .ico-moon{display:block;}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .theme-toggle .ico-sun{display:none;}
  :root:not([data-theme="light"]) .theme-toggle .ico-moon{display:block;}
}

.nav-toggle{display:none;flex-direction:column;gap:4px;}
.nav-toggle span{display:block;width:17px;height:2px;background:currentColor;border-radius:2px;
  transition:transform .22s var(--ease),opacity .18s;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

/* =========================================================
   HERO
   ========================================================= */
.hero{padding:clamp(2.5rem,5.5vw,4.25rem) 0 clamp(1.75rem,3.5vw,2.75rem);}
.hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:clamp(2rem,4.5vw,3.5rem);align-items:center;}
.hero-copy{min-width:0;}
.hero h1{font-size:clamp(2rem,4vw,3.1rem);font-weight:800;margin-bottom:1.1rem;}
.lead{font-size:1.04rem;color:var(--ink-2);max-width:58ch;}
.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.9rem;}
.hero-checks{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin-top:1.6rem;font-size:.88rem;color:var(--ink-3);}
.hero-checks li{display:flex;align-items:center;gap:.4rem;}
.hero-checks li::before{
  content:"";width:6px;height:6px;border-radius:1px;background:var(--brand);flex:0 0 6px;
}

.trust-row{
  display:flex;flex-wrap:wrap;gap:.45rem .5rem;margin-top:1.5rem;
  padding-top:1.4rem;border-top:1px solid var(--line);
}
.trust-row li{
  font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.02em;
  color:var(--ink-2);background:var(--ground);border:1px solid var(--line);
  border-radius:999px;padding:.3rem .75rem;
}

/* --- Mock do sistema --- */
.hero-visual{min-width:0;}
.app-window{
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  background:var(--paper);box-shadow:var(--shadow-lg);
}
.app-titlebar{display:flex;align-items:center;gap:.35rem;padding:.55rem .75rem;
  background:var(--ground);border-bottom:1px solid var(--line);}
.tl-dot{width:8px;height:8px;border-radius:50%;background:var(--line-2);}
.tl-url{margin-inline:auto;font-family:"IBM Plex Mono",monospace;font-size:.63rem;color:var(--ink-3);}

.app-body{display:grid;grid-template-columns:44px minmax(0,1fr) minmax(0,1.2fr);min-height:372px;}

.app-rail{background:var(--ground);border-right:1px solid var(--line);
  padding:.6rem .45rem;display:flex;flex-direction:column;align-items:center;gap:.55rem;}
.rail-logo{width:22px;height:22px;margin-bottom:.35rem;}
.rail-item{width:20px;height:4px;border-radius:2px;background:var(--line-2);}
.rail-item.active{background:var(--brand);}

.app-list{border-right:1px solid var(--line);padding:.6rem .55rem;display:flex;flex-direction:column;gap:.35rem;min-width:0;}
.app-search{height:22px;border-radius:5px;background:var(--ground);border:1px solid var(--line);}
.app-tabs{display:flex;gap:.25rem;margin:.15rem 0 .3rem;}
.app-tabs .tab{display:flex;align-items:center;gap:.22rem;font-size:.54rem;padding:.2rem .42rem;border-radius:4px;
  background:var(--ground);color:var(--ink-3);white-space:nowrap;}
.app-tabs .tab.active{background:var(--brand-soft);color:var(--brand);}
.app-tabs .badge{font-style:normal;background:var(--brand);color:#fff;border-radius:99px;padding:0 .26rem;font-size:.5rem;font-weight:600;}

.ticket{display:flex;align-items:center;gap:.45rem;padding:.4rem .45rem;border-radius:5px;border:1px solid transparent;min-width:0;}
.ticket.is-active{background:var(--brand-soft);border-color:var(--brand-line);}
.avatar{width:22px;height:22px;flex:0 0 22px;border-radius:50%;display:grid;place-items:center;
  font-size:.5rem;font-weight:600;color:#fff;background:var(--brand);letter-spacing:.02em;}
.avatar.a2{background:#0F7A8A;}
.avatar.a3{background:#5B54B8;}
.avatar.a4{background:#1E7F52;}
.avatar.a5{background:#8A5A18;}
.t-body{display:flex;flex-direction:column;line-height:1.25;min-width:0;flex:1;}
.t-body b{font-size:.58rem;font-weight:600;}
.t-body i{font-size:.53rem;font-style:normal;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.chip{font-size:.47rem;padding:.12rem .34rem;border-radius:3px;background:var(--sunken);color:var(--ink-3);white-space:nowrap;}
.chip-brand{background:var(--brand);color:#fff;}
.chip-ok{background:var(--ok-soft);color:var(--ok);}

.app-chat{display:flex;flex-direction:column;min-width:0;}
.chat-head{display:flex;align-items:center;gap:.45rem;padding:.55rem .7rem;border-bottom:1px solid var(--line);}
.ch-meta{display:flex;flex-direction:column;line-height:1.2;}
.ch-meta b{font-size:.62rem;}
.ch-meta i{font-size:.5rem;font-style:normal;color:var(--ink-3);}
.chat-stream{flex:1;padding:.7rem;display:flex;flex-direction:column;gap:.4rem;background:var(--ground);}
.msg{max-width:80%;font-size:.58rem;line-height:1.45;padding:.36rem .55rem;border-radius:6px;}
.msg.in{align-self:flex-start;background:var(--paper);border:1px solid var(--line);}
.msg.out{align-self:flex-end;background:var(--brand);color:#fff;}
.msg-file{display:flex;align-items:center;gap:.4rem;}
.mf-ico{width:16px;height:20px;flex:0 0 16px;border-radius:2px;background:rgba(255,255,255,.35);}
.mf-txt{display:flex;flex-direction:column;line-height:1.2;}
.mf-txt b{font-size:.56rem;}
.mf-txt i{font-size:.48rem;font-style:normal;opacity:.85;}
.chat-input{display:flex;align-items:center;gap:.45rem;padding:.55rem .7rem;border-top:1px solid var(--line);}
.ci-field{flex:1;font-size:.54rem;color:var(--ink-3);background:var(--ground);border:1px solid var(--line);border-radius:5px;padding:.26rem .5rem;}
.ci-send{width:20px;height:20px;flex:0 0 20px;border-radius:5px;background:var(--brand);}

/* =========================================================
   SEÇÕES
   ========================================================= */
.section{padding:clamp(3rem,6vw,5rem) 0;}
.section-tight{padding:clamp(1rem,2vw,1.5rem) 0;}
.section-ground{background:var(--ground);border-block:1px solid var(--line);}

.section-head{max-width:700px;margin:0 auto clamp(2rem,4vw,2.75rem);text-align:center;}
.section-head.left{margin-inline:0;text-align:left;}
.section-head h2{font-size:clamp(1.6rem,2.9vw,2.2rem);}
.section-head .sub{margin-top:.9rem;color:var(--ink-2);font-size:1rem;}

/* --- Faixa de canais --- */
.channel-strip{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.5rem;align-items:center;
  border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.4rem;background:var(--paper);}
.cs-label{font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-3);white-space:nowrap;}
.cs-list{display:flex;flex-wrap:wrap;gap:.45rem 1.6rem;}
.cs-list li{font-size:.9rem;font-weight:500;display:flex;align-items:baseline;gap:.4rem;}
.cs-list span{font-size:.72rem;font-weight:400;color:var(--ink-3);}

/* =========================================================
   ANTES E DEPOIS
   ========================================================= */
.compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
.compare-col{border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.6rem;background:var(--paper);}
.compare-col h3{margin-bottom:1.1rem;}
.cc-tag{
  display:inline-block;font-family:"IBM Plex Mono",monospace;font-weight:500;
  font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  border-radius:999px;padding:.3rem .8rem;
}
.compare-before .cc-tag{color:var(--ink-3);background:var(--sunken);}
.compare-after .cc-tag{color:#fff;background:var(--brand);}
.compare-after{border-color:var(--brand-line);}
.compare-col ul{display:flex;flex-direction:column;gap:.75rem;}
.compare-col li{font-size:.92rem;line-height:1.55;color:var(--ink-2);padding-left:1.6rem;position:relative;}
.compare-before li::before{
  content:"";position:absolute;left:0;top:.48em;width:11px;height:11px;border-radius:50%;
  border:1.5px solid var(--line-2);
}
.compare-after li::before{
  content:"\2713";position:absolute;left:0;top:0;width:12px;
  color:var(--brand);font-size:.8rem;font-weight:700;
}

/* =========================================================
   PARA QUEM É
   ========================================================= */
.seg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.seg{background:var(--paper);padding:1.25rem 1.3rem;}
.seg b{display:block;font-family:"Sora",sans-serif;font-size:.94rem;margin-bottom:.3rem;}
.seg span{font-size:.85rem;line-height:1.5;color:var(--ink-3);}

/* =========================================================
   IMPLANTAÇÃO
   ========================================================= */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem;list-style:none;counter-reset:none;}
.step{position:relative;padding-top:1.3rem;border-top:2px solid var(--brand);}
.step-num{
  display:block;font-family:"IBM Plex Mono",monospace;font-size:.78rem;font-weight:500;
  color:var(--brand);letter-spacing:.1em;margin-bottom:.6rem;
}
.step h3{font-size:1.08rem;margin-bottom:.5rem;}
.step p{font-size:.92rem;color:var(--ink-2);}

/* =========================================================
   TELAS / PROVA SOCIAL (seções opcionais)
   ========================================================= */
.shots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;}
.shot{margin:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper);}
.shot img{width:100%;height:auto;border-bottom:1px solid var(--line);}
.shot figcaption{padding:.75rem 1rem;font-size:.88rem;font-weight:500;color:var(--ink-2);}

.logo-wall{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2rem 3rem;
  padding:1.6rem 0 2.4rem;}
.logo-wall img{max-height:34px;width:auto;opacity:.65;}

.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;}
.quote-card{margin:0;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--paper);padding:1.4rem 1.5rem;display:flex;flex-direction:column;gap:1.1rem;}
.quote-card blockquote{margin:0;font-size:.95rem;line-height:1.6;color:var(--ink);}
.quote-card blockquote::before{content:"\201C";color:var(--brand);font-size:1.4rem;line-height:0;
  margin-right:.1rem;vertical-align:-.2em;}
.quote-card figcaption{display:flex;flex-direction:column;margin-top:auto;padding-top:1rem;border-top:1px solid var(--line);}
.quote-card figcaption b{font-family:"Sora",sans-serif;font-size:.9rem;}
.quote-card figcaption span{font-size:.8rem;color:var(--ink-3);}

/* =========================================================
   NÚCLEO
   ========================================================= */
.core-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
.core-col{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.6rem;}
.core-col h3{font-size:1.05rem;padding-bottom:.75rem;margin-bottom:.95rem;border-bottom:1px solid var(--line);}
.core-col p{font-size:.94rem;color:var(--ink-2);max-width:62ch;}
.core-note{
  margin-top:1rem;padding:.9rem 1.2rem;border:1px dashed var(--line-2);border-radius:var(--radius);
  font-size:.88rem;color:var(--ink-3);text-align:center;
}

/* =========================================================
   MÓDULOS
   ========================================================= */
.mod-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem;
  padding-bottom:.9rem;margin-bottom:1.1rem;border-bottom:1px solid var(--line);}
.mod-count{font-size:.92rem;color:var(--ink-2);}
.mod-count b{font-family:"Sora",sans-serif;font-size:1.15rem;color:var(--ink);font-variant-numeric:tabular-nums;}
.mod-toolbar-actions{display:flex;gap:.5rem;}

.mod-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;}

.mod{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.25rem 1.35rem 1.4rem;
  transition:border-color .18s var(--ease),box-shadow .18s var(--ease);
}
.mod:hover{border-color:var(--line-2);}
.mod.is-picked{border-color:var(--brand);box-shadow:inset 3px 0 0 var(--brand);}

.mod-head{display:grid;grid-template-columns:20px auto minmax(0,1fr);align-items:center;
  gap:.5rem .6rem;cursor:pointer;margin-bottom:.7rem;}
.mod-check{position:absolute;opacity:0;width:0;height:0;}
.mod-box{width:20px;height:20px;border:1.5px solid var(--line-2);border-radius:5px;background:var(--paper);
  display:grid;place-items:center;transition:background .16s,border-color .16s;}
.mod-box::after{content:"";width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;
  transform:rotate(-45deg) translate(1px,-1px) scale(0);transition:transform .16s var(--ease);}
.mod-check:checked + .mod-box{background:var(--brand);border-color:var(--brand);}
.mod-check:checked + .mod-box::after{transform:rotate(-45deg) translate(1px,-1px) scale(1);}
.mod-check:focus-visible + .mod-box{outline:2px solid var(--brand);outline-offset:2px;}
.mod-id{font-family:"IBM Plex Mono",monospace;font-size:.7rem;font-weight:500;color:var(--ink-3);
  border:1px solid var(--line);border-radius:3px;padding:.05rem .3rem;}
.mod-name{font-family:"Sora",sans-serif;font-weight:700;font-size:1.02rem;letter-spacing:-.015em;}

.mod-sum{font-size:.91rem;line-height:1.6;color:var(--ink-2);}
.mod-note{
  display:block;margin-top:.95rem;padding-top:.85rem;border-top:1px solid var(--line);
  font-size:.84rem;line-height:1.55;color:var(--ink-3);
}
.mod-note::before{
  content:"+";font-family:"IBM Plex Mono",monospace;font-weight:500;color:var(--brand);
  border:1px solid var(--brand-line);border-radius:3px;
  display:inline-grid;place-items:center;width:16px;height:16px;font-size:.7rem;
  margin-right:.4rem;vertical-align:-3px;
}
.mod-note b{color:var(--ink);font-weight:600;}

/* =========================================================
   ORÇAMENTO
   ========================================================= */
.quote{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1rem;align-items:start;}
.quote-main,.quote-side{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;}
.quote-title{font-size:1.02rem;margin-bottom:1.1rem;}

.quote-block + .quote-block{margin-top:1.4rem;}
.quote-label{font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:.55rem;}
.quote-core{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;font-size:.95rem;
  background:var(--ok-soft);color:var(--ok);border-radius:var(--radius-sm);padding:.5rem .8rem;}
.quote-core::before{content:"✓";font-size:.8rem;}

.quote-list{display:flex;flex-direction:column;gap:.4rem;}
.quote-list li{display:flex;align-items:center;gap:.6rem;font-size:.93rem;
  border:1px solid var(--line);border-radius:var(--radius-sm);padding:.55rem .75rem;background:var(--ground);}
.quote-list .q-id{font-family:"IBM Plex Mono",monospace;font-size:.7rem;color:var(--brand);}
.quote-list .q-drop{margin-left:auto;background:none;border:0;cursor:pointer;color:var(--ink-3);
  font-size:1.1rem;line-height:1;padding:0 .2rem;}
.quote-list .q-drop:hover{color:var(--alert);}
.quote-empty{display:block;color:var(--ink-3);font-size:.9rem;background:transparent;border-style:dashed;}
.quote-empty a{color:var(--brand);text-decoration:underline;text-underline-offset:2px;}

.field{margin-bottom:.95rem;}
.field label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.35rem;}
.field .opt{color:var(--ink-3);font-weight:400;}
.field select,.field input,.field textarea{
  width:100%;background:var(--paper);border:1px solid var(--line-2);border-radius:var(--radius-sm);
  padding:.6rem .7rem;font-size:.92rem;transition:border-color .16s;
}
.field textarea{resize:vertical;min-height:76px;}
.field select:focus,.field input:focus,.field textarea:focus{border-color:var(--brand);outline:none;}

.quote-copy{width:100%;margin-top:.55rem;}
.quote-hint{font-size:.78rem;color:var(--ink-3);margin-top:.7rem;text-align:center;}
.quote-hint.is-ok{color:var(--ok);}

/* =========================================================
   SPLIT / API
   ========================================================= */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,4vw,3.25rem);align-items:center;}
.split-text h2{font-size:clamp(1.5rem,2.6vw,2rem);}
.split-text .sub{margin:.9rem 0 1.4rem;color:var(--ink-2);}
.split-text .sub b{color:var(--ink);}

.tick-list{display:flex;flex-direction:column;gap:.6rem;}
.tick-list li{font-size:.93rem;color:var(--ink-2);padding-left:1.5rem;position:relative;}
.tick-list li::before{content:"→";position:absolute;left:0;top:0;color:var(--brand);font-size:.9rem;}

.flow-card{
  border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);
  padding:1.5rem 1.4rem;display:flex;flex-direction:column;align-items:center;
}
.flow-row{display:grid;gap:.7rem;width:100%;}
.flow-row-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.flow-box{
  border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ground);
  padding:.9rem 1rem;text-align:center;
}
.flow-box img{margin:0 auto .45rem;}
.flow-core img{background:#fff;border-radius:50%;padding:4px;width:30px;height:30px;}
.fb-label{display:block;font-family:"Sora",sans-serif;font-weight:600;font-size:.92rem;margin-bottom:.2rem;}
.fb-text{display:block;font-size:.78rem;color:var(--ink-3);line-height:1.45;}
/* Azul fixo: o contraste do texto branco precisa valer nos dois temas */
.flow-core{background:#145BFF;border-color:#145BFF;}
.flow-core .fb-label{color:#fff;}
.flow-core .fb-text{color:#CFDEFF;}
.flow-link{width:1px;height:22px;background:var(--line-2);position:relative;}
.flow-link::after{content:"";position:absolute;left:-3px;bottom:0;width:7px;height:7px;
  border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);transform:rotate(45deg);}

/* =========================================================
   INFRA
   ========================================================= */
.infra-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.infra-item{background:var(--paper);padding:1.3rem 1.35rem;}
.infra-item h4{font-size:.95rem;margin-bottom:.4rem;}
.infra-item p{font-size:.86rem;color:var(--ink-2);}

/* =========================================================
   FAQ
   ========================================================= */
.faq{border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);padding:1.25rem 0;}
.faq dt{font-family:"Sora",sans-serif;font-weight:600;font-size:1rem;margin-bottom:.45rem;}
.faq dd{font-size:.94rem;color:var(--ink-2);margin:0;max-width:68ch;}

/* =========================================================
   CTA
   ========================================================= */
.cta{background:var(--deep);color:#fff;padding:clamp(3rem,6vw,4.25rem) 0;}
.cta-inner{max-width:640px;text-align:center;}
.cta h2{font-size:clamp(1.6rem,2.9vw,2.2rem);color:#fff;}
.cta p{margin:.9rem auto 1.7rem;color:#B7C7EA;font-size:1rem;max-width:52ch;}

/* =========================================================
   BARRA FIXA
   ========================================================= */
.sticky-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:110;
  background:var(--paper);border-top:1px solid var(--line);
  box-shadow:0 -8px 24px -20px rgba(10,24,54,.5);
  transform:translateY(100%);transition:transform .25s var(--ease);
}
.sticky-bar.is-on{transform:none;}
body.bar-on{padding-bottom:70px;}
@media (max-width:640px){body.bar-on{padding-bottom:118px;}}
.sticky-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;}
.sticky-text{font-size:.9rem;color:var(--ink-2);}
.sticky-text b{font-family:"Sora",sans-serif;font-size:1.1rem;color:var(--ink);font-variant-numeric:tabular-nums;}

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{border-top:1px solid var(--line);padding-top:2.2rem;background:var(--paper);}
.footer-inner{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);
  gap:2rem;padding-bottom:2rem;align-items:start;}
.f-brand{display:grid;grid-template-columns:32px minmax(0,1fr);gap:.55rem;align-items:center;}
.f-brand span{display:flex;flex-direction:column;line-height:1.15;}
.f-brand strong{font-family:"Sora",sans-serif;font-size:.98rem;}
.f-brand small{font-size:.5rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);}
.f-about{grid-column:1 / -1;margin-top:.8rem;font-size:.85rem;color:var(--ink-3);max-width:44ch;}
.f-col{display:flex;flex-direction:column;gap:.5rem;}
.f-col h4{font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:.7rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-3);margin-bottom:.3rem;}
.f-col a{font-size:.88rem;color:var(--ink-2);}
.f-col a:hover{color:var(--brand);}
.f-copy{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;
  border-top:1px solid var(--line);padding:1.1rem 0 1.6rem;font-size:.8rem;color:var(--ink-3);}

/* =========================================================
   RESPONSIVO
   ========================================================= */
@media (max-width:1060px){
  .mod-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .infra-grid,.seg-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .quotes{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:920px){
  .main-nav{
    position:fixed;inset:72px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;
    background:var(--paper);border-bottom:1px solid var(--line);padding:.4rem 20px 1.2rem;
    max-height:calc(100dvh - 72px);overflow-y:auto;
    transform:translateY(-6px);opacity:0;pointer-events:none;transition:opacity .2s var(--ease),transform .2s var(--ease);
  }
  .main-nav.is-open{transform:none;opacity:1;pointer-events:auto;}
  .main-nav a{padding:.85rem 0;border-bottom:1px solid var(--line);font-size:1rem;}
  .main-nav .nav-cta{margin-top:.9rem;border-bottom:0;}
  .nav-toggle{display:flex;}

  .hero-inner,.split,.quote{grid-template-columns:minmax(0,1fr);}
  .compare,.steps,.shots{grid-template-columns:minmax(0,1fr);}
  .steps{gap:1.3rem;}
  .footer-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .f-brand{grid-column:1 / -1;}
  .core-grid{grid-template-columns:minmax(0,1fr);}
  .channel-strip{grid-template-columns:minmax(0,1fr);gap:.7rem;}
}

@media (max-width:640px){
  .mod-grid{grid-template-columns:minmax(0,1fr);}
  .infra-grid,.seg-grid,.quotes{grid-template-columns:minmax(0,1fr);}
  .footer-inner{grid-template-columns:minmax(0,1fr);}
  .app-body{grid-template-columns:38px minmax(0,1fr);min-height:0;}
  .app-chat{display:none;}
  .section-head{text-align:left;}
  .sticky-inner{flex-direction:column;align-items:stretch;gap:.55rem;}
  .sticky-inner .btn{width:100%;}
  .mod-toolbar{flex-direction:column;align-items:flex-start;}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important;}
  html{scroll-behavior:auto;}
}

@media print{
  .site-header,.sticky-bar,.hero-visual,.cta{display:none;}
  body{background:#fff;color:#000;}
}
