/* Fichas del Norte — hoja de estilos principal */

:root{
  --violet-900:#3B0F6E;
  --violet-700:#5B21B6;
  --violet-600:#6D28D9;
  --violet-500:#7C3AED;
  --violet-100:#F1E9FE;
  --violet-50:#F8F4FF;
  --lime-500:#9AE600;
  --lime-400:#B4F53C;
  --lime-100:#EEFFC7;
  --ink-900:#1A1330;
  --ink-700:#3B3352;
  --ink-500:#6B6480;
  --paper:#FFFFFF;
  --paper-soft:#FBFAFF;
  --line:#E7E1F5;
  --radius-lg:22px;
  --radius-md:14px;
  --radius-sm:10px;
  --shadow-soft:0 12px 32px -12px rgba(59,15,110,0.18);
  --shadow-card:0 2px 0 rgba(26,19,48,0.02), 0 10px 24px -14px rgba(59,15,110,0.20);
  --maxw:1180px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--ink-900);
  background:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:"Manrope",Inter,system-ui,sans-serif;
  font-weight:800;
  line-height:1.18;
  letter-spacing:-0.01em;
  margin:0 0 .5em;
  color:var(--ink-900);
}
h1{font-size:clamp(2.1rem,4vw,3.4rem);}
h2{font-size:clamp(1.6rem,2.6vw,2.35rem);}
h3{font-size:1.28rem;}
p{margin:0 0 1em;color:var(--ink-700);}
a{color:var(--violet-600);text-decoration:none;}
a:hover{text-decoration:underline;}
ul,ol{color:var(--ink-700);}
img{max-width:100%;display:block;}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px;}
section{padding:72px 0;}
section.tight{padding:48px 0;}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:"Manrope",sans-serif;font-weight:700;font-size:.78rem;
  letter-spacing:.08em;text-transform:uppercase;color:var(--violet-700);
  background:var(--violet-100);padding:6px 14px;border-radius:100px;margin-bottom:16px;
}
.lead{font-size:1.13rem;color:var(--ink-700);max-width:62ch;}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:"Manrope",sans-serif;font-weight:700;font-size:.98rem;
  padding:13px 24px;border-radius:100px;border:2px solid transparent;
  cursor:pointer;transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  white-space:nowrap;
}
.btn-primary{background:var(--violet-600);color:#fff;box-shadow:0 10px 22px -8px rgba(109,40,217,.55);}
.btn-primary:hover{background:var(--violet-700);text-decoration:none;transform:translateY(-1px);}
.btn-lime{background:var(--lime-500);color:var(--ink-900);box-shadow:0 10px 22px -8px rgba(154,230,0,.5);}
.btn-lime:hover{background:var(--lime-400);text-decoration:none;transform:translateY(-1px);}
.btn-ghost{background:transparent;color:var(--violet-700);border-color:var(--line);}
.btn-ghost:hover{border-color:var(--violet-500);text-decoration:none;}
.btn-sm{padding:9px 18px;font-size:.88rem;}
.btn-block{width:100%;}

/* Header */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:20px;}
.brand{display:flex;align-items:center;gap:10px;font-family:"Manrope",sans-serif;font-weight:800;font-size:1.18rem;color:var(--ink-900);}
.brand:hover{text-decoration:none;}
.brand-mark{width:38px;height:38px;flex:0 0 auto;}
.top-nav{display:flex;align-items:center;gap:26px;}
.top-nav a{font-family:"Manrope",sans-serif;font-weight:600;font-size:.94rem;color:var(--ink-700);}
.top-nav a:hover{color:var(--violet-700);text-decoration:none;}
.header-cta{display:flex;align-items:center;gap:14px;}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink-900);margin:5px 0;border-radius:2px;}

.age-pill{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;background:var(--ink-900);color:#fff;
  font-family:"Manrope",sans-serif;font-weight:800;font-size:.78rem;
}

/* Notice bar */
.notice-bar{background:var(--violet-900);color:#EFE6FF;font-size:.85rem;}
.notice-bar .container{display:flex;align-items:center;gap:10px;padding:8px 24px;flex-wrap:wrap;}
.notice-bar strong{color:var(--lime-400);}

/* Hero */
.hero{padding:64px 0 40px;background:linear-gradient(180deg,var(--violet-50) 0%, #fff 100%);}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.hero-visual{position:relative;}
.hero-card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft);padding:26px;
}
.hero-card h3{margin-bottom:14px;font-size:1.05rem;}
.hero-stat-row{display:flex;justify-content:space-between;gap:12px;margin-top:18px;}
.hero-stat{flex:1;text-align:center;background:var(--violet-50);border-radius:var(--radius-sm);padding:14px 8px;}
.hero-stat b{display:block;font-family:"Manrope",sans-serif;font-size:1.4rem;color:var(--violet-700);}
.hero-stat span{font-size:.78rem;color:var(--ink-500);}
.hero-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;}
.badge{
  display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;
  color:var(--ink-700);background:var(--paper-soft);border:1px solid var(--line);
  padding:7px 12px;border-radius:100px;
}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px;}

/* Trust strip */
.trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-soft);}
.trust-strip .container{display:flex;flex-wrap:wrap;gap:30px;padding:20px 24px;justify-content:space-between;}
.trust-item{display:flex;align-items:center;gap:10px;font-size:.88rem;color:var(--ink-700);font-weight:600;}
.trust-item .dot{width:8px;height:8px;border-radius:50%;background:var(--lime-500);flex:0 0 auto;}

/* Section headers */
.section-head{max-width:720px;margin:0 auto 40px;text-align:center;}
.section-head.left{margin:0 0 36px;text-align:left;}

/* Operator grid */
.op-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.op-card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:26px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:14px;
  border-top:4px solid var(--violet-600);position:relative;
}
.op-card.accent-lime{border-top-color:var(--lime-500);}
.op-top{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.op-logo-wrap{
  height:46px;display:flex;align-items:center;
}
.op-logo-wrap img{max-height:46px;max-width:150px;object-fit:contain;}
.op-logo-text{
  font-family:"Manrope",sans-serif;font-weight:800;font-size:1.3rem;color:var(--ink-900);
  letter-spacing:-.02em;
}
.verdict-tag{
  font-family:"Manrope",sans-serif;font-weight:700;font-size:.74rem;letter-spacing:.03em;
  background:var(--violet-100);color:var(--violet-700);padding:5px 11px;border-radius:100px;white-space:nowrap;
}
.op-desc{font-size:.94rem;color:var(--ink-700);margin:0;}
.op-facts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;}
.op-facts li{font-size:.85rem;color:var(--ink-700);display:flex;gap:8px;align-items:flex-start;}
.op-facts li::before{content:"✓";color:var(--lime-500);font-weight:800;flex:0 0 auto;}
.op-actions{display:flex;gap:10px;margin-top:auto;padding-top:6px;}

/* Comparison table */
.table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--line);}
table.compare{width:100%;border-collapse:collapse;min-width:680px;font-size:.92rem;}
table.compare th,table.compare td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);}
table.compare thead th{background:var(--violet-50);font-family:"Manrope",sans-serif;color:var(--violet-800,var(--violet-700));font-weight:700;}
table.compare tbody tr:last-child td{border-bottom:none;}
table.compare tbody tr:hover{background:var(--paper-soft);}

/* Generic content cards */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.card-grid.cols-2{grid-template-columns:repeat(2,1fr);}
.info-card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);
  padding:24px;box-shadow:var(--shadow-card);
}
.info-card .icon{
  width:44px;height:44px;border-radius:12px;background:var(--violet-100);
  display:flex;align-items:center;justify-content:center;margin-bottom:14px;
}
.info-card h3{margin-bottom:8px;font-size:1.08rem;}
.info-card p{font-size:.92rem;margin-bottom:0;}

/* Panels */
.panel{background:var(--paper-soft);border:1px solid var(--line);border-radius:var(--radius-lg);padding:36px;}
.panel-violet{background:linear-gradient(135deg,var(--violet-700),var(--violet-900));color:#F3ECFF;}
.panel-violet h2,.panel-violet h3{color:#fff;}
.panel-violet p{color:#DACBF4;}
.panel-lime-edge{border-left:5px solid var(--lime-500);}

/* Two column */
.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;}

/* Steps */
.steps{display:flex;flex-direction:column;gap:0;}
.step{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);}
.step:last-child{border-bottom:none;}
.step-num{
  width:38px;height:38px;border-radius:50%;background:var(--violet-600);color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:"Manrope",sans-serif;font-weight:800;
  flex:0 0 auto;
}

/* FAQ */
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{
  width:100%;text-align:left;background:none;border:none;cursor:pointer;
  padding:20px 4px;font-family:"Manrope",sans-serif;font-weight:700;font-size:1.02rem;color:var(--ink-900);
  display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.faq-q .plus{font-size:1.4rem;color:var(--violet-600);transition:transform .2s ease;flex:0 0 auto;}
.faq-item[data-open="true"] .plus{transform:rotate(45deg);}
.faq-a{padding:0 4px 20px;color:var(--ink-700);font-size:.95rem;display:none;}
.faq-item[data-open="true"] .faq-a{display:block;}

/* Resource / official links */
.resource-card{
  display:flex;align-items:center;gap:16px;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--radius-md);padding:18px 20px;box-shadow:var(--shadow-card);
}
.resource-card .r-icon{
  width:46px;height:46px;border-radius:12px;background:var(--ink-900);color:#fff;
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;
}
.resource-card img.r-logo{height:36px;width:auto;max-width:120px;object-fit:contain;}
.resource-card b{display:block;font-family:"Manrope",sans-serif;font-size:.98rem;}
.resource-card span{font-size:.84rem;color:var(--ink-500);}

/* Callout */
.callout{
  display:flex;gap:16px;align-items:flex-start;padding:20px 22px;border-radius:var(--radius-md);
  background:var(--lime-100);border:1px solid #D8F08A;
}
.callout.violet{background:var(--violet-100);border-color:#E0D2FA;}
.callout .c-mark{font-size:1.5rem;flex:0 0 auto;line-height:1;}
.callout p{margin:0;font-size:.92rem;color:var(--ink-700);}

/* Breadcrumb */
.breadcrumb{font-size:.84rem;color:var(--ink-500);margin-bottom:18px;}
.breadcrumb a{color:var(--ink-500);}

/* Page hero (secondary pages) */
.page-hero{background:linear-gradient(180deg,var(--violet-50),#fff);padding:52px 0 36px;border-bottom:1px solid var(--line);}
.page-hero h1{margin-bottom:10px;}

/* Prose */
.prose h2{margin-top:2em;}
.prose h3{margin-top:1.6em;}
.prose ul{padding-left:1.2em;}
.prose li{margin-bottom:.5em;}
.prose{max-width:760px;}

/* Footer */
.site-footer{background:var(--ink-900);color:#C9C2E0;padding:64px 0 28px;margin-top:40px;}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;margin-bottom:44px;}
.footer-brand{display:flex;align-items:center;gap:10px;font-family:"Manrope",sans-serif;font-weight:800;color:#fff;font-size:1.1rem;margin-bottom:14px;}
.footer-brand svg{width:32px;height:32px;}
.site-footer p{color:#9B92BE;font-size:.9rem;}
.footer-col h4{color:#fff;font-family:"Manrope",sans-serif;font-size:.86rem;letter-spacing:.05em;text-transform:uppercase;margin-bottom:16px;}
.footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
.footer-col a{color:#C9C2E0;font-size:.92rem;}
.footer-col a:hover{color:var(--lime-400);}
.footer-legal-strip{border-top:1px solid rgba(255,255,255,.12);padding-top:24px;font-size:.82rem;color:#8A81AA;}
.footer-legal-strip p{color:#8A81AA;margin-bottom:10px;}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;margin-top:20px;font-size:.82rem;color:#8A81AA;}
.footer-bottom a{color:#8A81AA;}
.footer-official{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;}
.footer-official img{height:26px;filter:grayscale(1) brightness(2.2);opacity:.85;}

/* Responsive */
@media (max-width: 980px){
  .hero-grid{grid-template-columns:1fr;}
  .op-grid{grid-template-columns:repeat(2,1fr);}
  .card-grid{grid-template-columns:repeat(2,1fr);}
  .split{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr 1fr;}
}
@media (max-width: 720px){
  .top-nav{position:fixed;top:66px;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;
    padding:18px 24px;gap:16px;border-bottom:1px solid var(--line);box-shadow:0 12px 24px -12px rgba(0,0,0,.1);
    display:none;}
  .top-nav.open{display:flex;}
  .nav-toggle{display:block;}
  .header-cta .btn-ghost{display:none;}
  .op-grid{grid-template-columns:1fr;}
  .card-grid{grid-template-columns:1fr;}
  .card-grid.cols-2{grid-template-columns:1fr;}
  section{padding:52px 0;}
  .footer-top{grid-template-columns:1fr;}
}
