/* Shared styles for CCS content pages (Nosotros, FAQ, Privacidad, Términos).
   Plain HTML pages (no DC runtime) — classes only, so the Netlify minifier's
   single-quote-in-inline-style bug can never bite. */
:root{ --navy:#20304F; --navy2:#16213A; --red:#DE0712; --red2:#B8060F; --mist:#F4F6FA; --border:#E2E8F1; --muted:#5A6B85; --soft:#8FA3C2; }
*{ box-sizing:border-box; margin:0; padding:0; }
body{ font-family:"Public Sans",sans-serif; color:var(--navy); background:#fff; line-height:1.65; }
a{ color:var(--red); }
:focus-visible{ outline:2px solid var(--red); outline-offset:2px; }
img{ max-width:100%; }

/* hero strip */
.cp-hero{ background:var(--navy2); border-bottom:1px solid var(--border); }
.cp-hero .in{ max-width:900px; margin:0 auto; padding:56px 24px; }
.cp-kicker{ font-family:"Archivo",sans-serif; font-weight:700; font-size:13px; letter-spacing:2px; text-transform:uppercase; color:#FF6B72; }
.cp-hero h1{ font-family:"Archivo",sans-serif; font-weight:900; font-size:38px; letter-spacing:-1px; color:#fff; margin:10px 0 10px; line-height:1.1; }
.cp-hero p{ font-size:16.5px; color:#B9C4D8; max-width:640px; }

/* body */
.cp-body{ max-width:900px; margin:0 auto; padding:48px 24px 80px; }
.cp-body h2{ font-family:"Archivo",sans-serif; font-weight:800; font-size:24px; letter-spacing:-0.4px; color:var(--navy); margin:38px 0 14px; }
.cp-body h2:first-child{ margin-top:0; }
.cp-body h3{ font-family:"Archivo",sans-serif; font-weight:700; font-size:17px; color:var(--navy); margin:22px 0 6px; }
.cp-body p{ font-size:15.5px; color:#374863; margin:0 0 14px; }
.cp-body ul{ margin:0 0 16px; padding-left:22px; }
.cp-body li{ font-size:15.5px; color:#374863; margin:0 0 8px; }
.cp-body strong{ color:var(--navy); font-weight:700; }
.cp-lead{ font-size:17.5px !important; color:var(--navy) !important; font-weight:500; }

/* value/stat cards */
.cp-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:20px 0 8px; }
.cp-card{ border:1px solid var(--border); border-radius:12px; padding:22px; background:var(--mist); }
.cp-card h3{ margin:0 0 6px; }
.cp-card p{ margin:0; font-size:14.5px; color:var(--muted); }

/* brand / client rows */
.cp-tags{ display:flex; flex-wrap:wrap; gap:10px; margin:6px 0 18px; }
.cp-tag{ font-family:"Archivo",sans-serif; font-weight:700; font-size:13px; color:var(--navy); background:var(--mist); border:1px solid var(--border); border-radius:999px; padding:8px 16px; }

/* identity / fiscal block */
.cp-id{ border:1px solid var(--border); border-radius:12px; padding:22px 24px; margin:14px 0; background:#fff; }
.cp-id .row{ display:flex; gap:12px; padding:7px 0; font-size:15px; border-bottom:1px solid var(--border); }
.cp-id .row:last-child{ border-bottom:0; }
.cp-id .k{ flex:0 0 190px; color:var(--muted); font-weight:600; }
.cp-id .v{ color:var(--navy); font-weight:600; }
.cp-pending{ color:#B0741A; background:#FBF3E4; border-radius:5px; padding:1px 8px; font-size:13.5px; font-weight:600; }

/* FAQ accordion (native details) */
.cp-faq details{ border:1px solid var(--border); border-radius:10px; margin:0 0 10px; overflow:hidden; }
.cp-faq summary{ cursor:pointer; padding:16px 18px; font-family:"Archivo",sans-serif; font-weight:700; font-size:15.5px; color:var(--navy); list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.cp-faq summary::-webkit-details-marker{ display:none; }
.cp-faq summary::after{ content:"+"; font-size:20px; color:var(--red); font-weight:700; }
.cp-faq details[open] summary::after{ content:"–"; }
.cp-faq details[open] summary{ border-bottom:1px solid var(--border); }
.cp-faq .a{ padding:14px 18px 18px; font-size:15px; color:#374863; }
.cp-faq .a p{ margin:0 0 10px; } .cp-faq .a p:last-child{ margin:0; }

/* CTA band */
.cp-cta{ background:var(--mist); border-top:1px solid var(--border); }
.cp-cta .in{ max-width:900px; margin:0 auto; padding:40px 24px; text-align:center; }
.cp-cta h2{ font-family:"Archivo",sans-serif; font-weight:800; font-size:22px; color:var(--navy); margin:0 0 8px; }
.cp-cta p{ color:var(--muted); font-size:15px; margin:0 0 20px; }
.cp-btns{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.cp-btn{ display:inline-block; text-decoration:none; font-family:"Archivo",sans-serif; font-weight:700; font-size:15px; padding:14px 26px; border-radius:8px; }
.cp-btn.red{ background:var(--red); color:#fff; } .cp-btn.red:hover{ background:var(--red2); }
.cp-btn.wa{ background:#1FAF54; color:#fff; } .cp-btn.wa:hover{ background:#188F45; }

.cp-updated{ font-size:13px; color:var(--soft); margin-top:26px; }

/* industry landing pages */
.cp-hero-grid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:40px; align-items:center; }
.cp-hero-photo{ width:100%; height:300px; object-fit:cover; border-radius:14px; display:block; }
.cp-hero-btns{ display:flex; gap:12px; flex-wrap:wrap; margin-top:24px; }
.cp-btn.line{ border:1.5px solid #3A4E70; color:#fff; } .cp-btn.line:hover{ border-color:#fff; }
.cp-pillars{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:18px 0 8px; }
.cp-pillar{ background:var(--mist); border-radius:12px; padding:22px; }
.cp-pillar h3{ margin:0 0 6px; }
.cp-pillar p{ margin:0; font-size:14px; color:var(--muted); }
.cp-opsband{ background:var(--mist); border:1px solid var(--border); border-radius:14px; padding:30px; margin:34px 0; }
.cp-opsband h2{ margin-top:0; }
.cp-checks{ list-style:none; padding:0; margin:16px 0 0; display:grid; gap:10px; }
.cp-checks li{ position:relative; padding-left:30px; font-size:15px; color:var(--navy); font-weight:600; }
.cp-checks li::before{ content:"✓"; position:absolute; left:0; top:0; color:var(--red); font-weight:800; }
.cp-others{ display:flex; flex-wrap:wrap; gap:10px; margin:6px 0 8px; }
.cp-others a{ font-family:"Archivo",sans-serif; font-weight:700; font-size:13.5px; color:var(--navy); background:#fff; border:1px solid var(--border); border-radius:999px; padding:9px 16px; text-decoration:none; }
.cp-others a:hover{ border-color:var(--navy); }
@media(max-width:720px){ .cp-hero-grid{ grid-template-columns:1fr; } .cp-hero-photo{ height:220px; } .cp-pillars{ grid-template-columns:1fr; } }

@media(max-width:720px){
  .cp-hero h1{ font-size:28px; }
  .cp-grid{ grid-template-columns:1fr; }
  .cp-id .row{ flex-direction:column; gap:2px; }
  .cp-id .k{ flex:none; }
}
