/* ============================================================
   PERSOM — Content pages (layered on persom-tech-light.css)
   Link order: persom-tech-light.css FIRST, then this file.
   ============================================================ */

/* page hero variant: a bit tighter than home */
.nav-links a{white-space:nowrap}
.page-hero{padding:54px 0 20px}
.page-hero .hero-inner{padding-top:30px}
.page-hero h1{max-width:18ch}
.page-hero .lead{max-width:640px}

/* section rhythm: white band over the cool page bg */
.section.band{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* ---------- generic vertical feature cards ---------- */
.fcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.fcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);padding:26px 24px;transition:.2s ease}
.fcard:hover{border-color:var(--blue);transform:translateY(-3px);box-shadow:0 18px 40px -22px rgba(20,45,80,.35)}
.fcard .fc-ico{width:46px;height:46px;border-radius:12px;background:var(--panel-2);border:1px solid var(--line-2);
  color:var(--blue-bright);display:flex;align-items:center;justify-content:center;margin-bottom:18px;transition:.2s}
.fcard:hover .fc-ico{background:var(--blue);border-color:var(--blue);color:#fff}
.fcard .fc-ico svg{width:23px;height:23px}
.fcard h3{margin-bottom:8px}
.fcard p{font-size:14.5px;color:var(--muted);line-height:1.5}

/* ---------- problem → solution pairs ---------- */
.ps-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ps-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);padding:24px 24px 22px;
  display:flex;flex-direction:column;gap:14px;transition:.2s}
.ps-card:hover{border-color:var(--line-2);box-shadow:0 16px 38px -24px rgba(20,45,80,.3)}
.ps-problem{display:flex;gap:12px;align-items:flex-start;font-family:var(--disp);font-size:17px;font-weight:600;color:var(--text);line-height:1.3}
.ps-problem .pi{width:26px;height:26px;border-radius:8px;background:#FBEDED;color:#C0473B;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;margin-top:1px}
.ps-problem .pi svg{width:14px;height:14px}
.ps-solution{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--muted);line-height:1.5;
  padding-top:14px;border-top:1px solid var(--line)}
.ps-solution .si{width:26px;height:26px;border-radius:8px;background:#E7F1FB;color:var(--blue-bright);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;margin-top:1px}
.ps-solution .si svg{width:14px;height:14px}
.ps-solution b{color:var(--text);font-weight:600}

/* ---------- signals / checklist ---------- */
.signals{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.signal{display:flex;gap:13px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);
  border-radius:12px;padding:18px 20px;font-size:15px;color:var(--text);line-height:1.45}
.signal .xi{width:26px;height:26px;border-radius:50%;background:#FBF0DC;color:#9A6B12;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;margin-top:1px}
.signal .xi svg{width:14px;height:14px}
.signals-note{text-align:center;margin-top:26px;font-size:16px;color:var(--muted)}
.signals-note b{color:var(--text)}

/* ---------- comparison table ---------- */
.cmp{display:flex;flex-direction:column;gap:12px}
.cmp-head{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:12px;padding:0 2px}
.cmp-head .ch{font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;
  color:var(--muted-2);font-weight:600;padding:4px 6px}
.cmp-head .ch.new{color:var(--blue-bright)}
.cmp-row{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:12px;align-items:stretch}
.cmp-feature{display:flex;align-items:center;font-family:var(--disp);font-weight:600;font-size:15.5px;color:var(--text);
  background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.cmp-old,.cmp-new{font-size:14px;line-height:1.45;padding:16px 18px;border-radius:12px;border:1px solid var(--line);display:flex;gap:10px;align-items:flex-start}
.cmp-old{background:var(--panel);color:var(--muted)}
.cmp-new{background:#EEF6FD;border-color:rgba(62,142,207,.35);color:var(--text)}
.cmp-old .ci,.cmp-new .ci{flex-shrink:0;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:1px}
.cmp-old .ci{background:#EEE7DC;color:#9A6B12}
.cmp-new .ci{background:var(--blue);color:#fff}
.cmp-old .ci svg,.cmp-new .ci svg{width:12px;height:12px}

/* ---------- blog grid ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.post{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);
  overflow:hidden;transition:.2s ease}
.post:hover{border-color:var(--blue);transform:translateY(-3px);box-shadow:0 20px 44px -24px rgba(20,45,80,.4)}
.post-cover{aspect-ratio:16/9;background:linear-gradient(135deg,var(--panel-2),#DCE9F5);position:relative;overflow:hidden;
  display:flex;align-items:flex-end;padding:18px}
.post-cover .cat{font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;
  color:var(--blue-deep);background:rgba(255,255,255,.85);border-radius:7px;padding:5px 11px}
.post-cover .deco{position:absolute;inset:0;opacity:.5;pointer-events:none}
.post-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.post .date{font-family:var(--mono);font-size:12px;color:var(--muted-2);margin-bottom:10px}
.post h3{font-size:19px;line-height:1.2;margin-bottom:10px}
.post p{font-size:14.5px;color:var(--muted);line-height:1.5;flex:1}
.post .more{margin-top:16px;font-size:14.5px;font-weight:600;color:var(--blue-bright);display:inline-flex;align-items:center;gap:7px}
.post .more svg{width:15px;height:15px;transition:.2s}
.post:hover .more svg{transform:translateX(3px)}

/* ---------- numbered vertical flow ---------- */
.flow{max-width:760px;margin:0 auto;display:flex;flex-direction:column}
.flow-step{display:grid;grid-template-columns:auto 1fr;gap:22px;padding-bottom:30px;position:relative}
.flow-step::before{content:"";position:absolute;left:23px;top:48px;bottom:-2px;width:2px;background:var(--line-2)}
.flow-step:last-child{padding-bottom:0}
.flow-step:last-child::before{display:none}
.flow-num{width:48px;height:48px;border-radius:50%;background:var(--panel);border:1px solid var(--line-2);
  color:var(--blue-bright);font-family:var(--disp);font-weight:600;font-size:18px;
  display:flex;align-items:center;justify-content:center;position:relative;z-index:1;box-shadow:0 4px 12px -6px rgba(20,45,80,.3)}
.flow-step.reveal.in .flow-num{background:var(--blue);color:#fff;border-color:var(--blue)}
.flow-body{padding-top:6px}
.flow-body h3{font-size:19px;margin-bottom:7px}
.flow-body p{font-size:15px;color:var(--muted);line-height:1.55}

/* ---------- legal / privacy prose ---------- */
.prose{max-width:780px;margin:0 auto}
.prose h2{font-size:24px;margin:40px 0 12px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:18px;margin:26px 0 8px;font-family:var(--sans);font-weight:700}
.prose p{font-size:16px;color:var(--muted);line-height:1.7;margin-bottom:14px}
.prose ul{margin:0 0 16px 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.prose ul li{font-size:15.5px;color:var(--muted);line-height:1.6;padding-left:26px;position:relative}
.prose ul li::before{content:"";position:absolute;left:6px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--blue)}
.prose a{color:var(--blue-bright);font-weight:600}
.prose .updated{font-family:var(--mono);font-size:13px;color:var(--muted-2);margin-bottom:32px}

/* ---------- intro paragraph under section head, centered ---------- */
.sec-intro{max-width:680px;margin:0 auto 44px;text-align:center;font-size:18px;color:var(--muted);line-height:1.6}

/* ---------- blog article ---------- */
.article-head{max-width:780px;margin:0 auto}
.back-blog{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--blue-bright);margin-bottom:22px;white-space:nowrap}
.back-blog svg{width:15px;height:15px;transition:.2s}
.back-blog:hover svg{transform:translateX(-3px)}
.article-head h1{font-size:clamp(30px,4.2vw,46px);line-height:1.12;margin:14px 0 20px}
.article-meta{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:13px;color:var(--muted-2);flex-wrap:wrap}
.article-meta .who{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}
.article-meta .ava{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--blue-deep));
  color:#fff;font-family:var(--sans);font-weight:700;font-size:11px;display:flex;align-items:center;justify-content:center}
.article-meta .sep{width:3px;height:3px;border-radius:50%;background:var(--line-2)}
.article-cat{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;
  color:var(--blue-bright)}
.prose .lead-p{font-size:19px;color:var(--text);line-height:1.6;margin-bottom:26px;font-weight:400}
.prose ol{counter-reset:li;list-style:none;padding-left:0;display:flex;flex-direction:column;gap:12px;margin:0 0 18px}
.prose ol li{counter-increment:li;padding-left:42px;position:relative;font-size:15.5px;color:var(--muted);line-height:1.6}
.prose ol li::before{content:counter(li);position:absolute;left:0;top:1px;width:28px;height:28px;border-radius:9px;
  background:#E7F1FB;color:var(--blue-bright);font-family:var(--mono);font-weight:600;font-size:13px;
  display:flex;align-items:center;justify-content:center}
.prose ol li b{color:var(--text);font-weight:600}
.related{max-width:780px;margin:40px auto 0;background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);padding:24px 26px}
.related h4{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-2);margin-bottom:6px}
.related a{display:flex;gap:12px;align-items:center;padding:13px 0;font-size:16px;font-weight:600;color:var(--text);
  border-top:1px solid var(--line);font-family:var(--disp);transition:.15s}
.related a .ar{color:var(--blue);flex-shrink:0;display:flex}
.related a .ar svg{width:17px;height:17px}
.related a:hover{color:var(--blue-bright)}

/* article table */
.ptable-wrap{overflow-x:auto;margin:8px 0 18px;-webkit-overflow-scrolling:touch}
.prose .ptable{width:100%;border-collapse:separate;border-spacing:0;font-size:14.5px;
  border:1px solid var(--line);border-radius:12px;overflow:hidden;min-width:520px}
.prose .ptable th,.prose .ptable td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.45}
.prose .ptable thead th{background:var(--panel-2);font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-2);font-weight:600}
.prose .ptable thead th:last-child{color:var(--blue-bright)}
.prose .ptable tbody td{color:var(--muted)}
.prose .ptable tbody td:first-child{font-weight:600;color:var(--text);font-family:var(--disp)}
.prose .ptable tbody td:last-child{color:var(--text);background:#EEF6FD}
.prose .ptable tr:last-child td{border-bottom:none}

@media (max-width:860px){
  .ps-grid{grid-template-columns:1fr}
  .signals{grid-template-columns:1fr}
}
@media (max-width:760px){
  .cmp-head{display:none}
  .cmp-row{grid-template-columns:1fr;gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
  .cmp-feature{border:none;border-radius:0;border-bottom:1px solid var(--line);background:var(--panel-2);font-size:16px}
  .cmp-old,.cmp-new{border:none;border-radius:0;border-bottom:1px solid var(--line)}
  .cmp-new{border-bottom:none}
  .cmp-old::before{content:"Planilhas + WhatsApp";font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-2);font-weight:600;display:block;width:100%;margin-bottom:-6px}
  .cmp-new::before{content:"PERSOM";font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--blue-bright);font-weight:600;display:block;width:100%;margin-bottom:-6px}
  .cmp-old{flex-wrap:wrap}.cmp-new{flex-wrap:wrap}
}