
  :root{
    /* Paleta tomada del logo Puertas Asistec: teal + azul acero + negro sobre blanco */
    --charcoal:#0a3a3a;
    --charcoal-2:#0d4747;
    --steel:#7090b8;
    --steel-light:#a9bcd9;
    --silver:#dce7e7;
    --paper:#ffffff;
    --paper-2:#f2f7f7;
    --ink:#161b1b;
    --ink-soft:#525f5f;
    --brass:#0d8c8c;
    --brass-light:#14a3a3;
    --led:#3ad07a;
    --line: rgba(10,50,50,0.12);
    --line-dark: rgba(255,255,255,0.14);
    --radius: 2px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;width:100%;}
  body{
    margin:0;
    width:100%;
    max-width:100%;
    background:var(--paper);
    color:var(--ink);
    font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    -webkit-font-smoothing:antialiased;
    text-size-adjust:100%;
    -webkit-text-size-adjust:100%;
    line-height:1.5;
  }
  h1,h2,h3,h4{
    font-family:'Archivo','Inter',sans-serif;
    font-weight:700;
    letter-spacing:-0.01em;
    margin:0;
    color:var(--charcoal);
  }
  p{margin:0;}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  ul{margin:0;padding:0;list-style:none;}

  .mono{
    font-family:'IBM Plex Mono',monospace;
    letter-spacing:0.06em;
    text-transform:uppercase;
  }

  .wrap{
    max-width:1180px;
    margin:0 auto;
    padding:0 28px;
  }

  /* ============ HEADER ============ */
  header{
    position:sticky;top:0;z-index:100;
    background:rgba(255,255,255,0.97);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line);
  }
  .header-inner{
    display:flex;align-items:center;justify-content:space-between;
    padding:14px 28px;
    max-width:1180px;margin:0 auto;
    gap:32px;
  }
  .logo{display:flex;align-items:center;gap:14px;flex-shrink:0;}
  .logo img.logo-img{height:58px;width:auto;}

  nav{display:flex;gap:28px;}
  nav a{
    color:var(--ink-soft);font-size:13.5px;font-weight:500;
    padding:6px 0;border-bottom:1px solid transparent;
    transition:color .15s, border-color .15s;
  }
  nav a:hover{color:var(--brass);border-color:var(--brass);}

  .header-cta{display:flex;align-items:center;gap:10px;}
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:11px 20px;
    font-size:13.5px;font-weight:600;
    border:1px solid transparent;
    cursor:pointer;
    transition:transform .15s, background .15s, border-color .15s, color .15s;
    white-space:nowrap;
  }
  .btn-brass{background:var(--brass);color:var(--charcoal);}
  .btn-brass:hover{background:var(--brass-light);transform:translateY(-1px);}
  .btn-outline{border-color:var(--line);color:var(--ink);}
  .btn-outline:hover{border-color:var(--brass);color:var(--brass);}
  .cta-final .btn-outline{border-color:var(--line-dark);color:#fff;}
  .cta-final .btn-outline:hover{border-color:var(--brass-light);color:var(--brass-light);}
  .btn-dark{background:var(--charcoal);color:#fff;}
  .btn-dark:hover{background:var(--charcoal-2);transform:translateY(-1px);}

  .nav-toggle{
    display:none;flex-direction:column;justify-content:center;gap:5px;
    width:32px;height:32px;background:none;border:none;cursor:pointer;padding:0;flex-shrink:0;
  }
  .nav-toggle span{display:block;width:100%;height:2px;background:var(--ink);transition:transform .2s, opacity .2s;}
  .nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-toggle.open span:nth-child(2){opacity:0;}
  .nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  .mobile-nav{
    display:none;flex-direction:column;
    background:#fff;border-top:1px solid var(--line);
    max-height:0;overflow:hidden;transition:max-height .25s ease;
  }
  .mobile-nav.open{max-height:400px;}
  .mobile-nav a{
    padding:16px 28px;text-align:center;font-size:14.5px;font-weight:600;color:var(--ink);
    border-bottom:1px solid var(--line);
  }

  /* ============ HERO ============ */
  .hero{
    background:
      radial-gradient(ellipse at 12% 0%, rgba(13,140,140,0.09), transparent 55%),
      linear-gradient(180deg,#ffffff 0%, var(--paper-2) 100%);
    color:var(--ink);
    padding:56px 0 0;
    overflow:hidden;
    position:relative;
    border-bottom:1px solid var(--line);
  }
  .hero-grid{
    display:grid;
    grid-template-columns:1.05fr 0.95fr;
    grid-template-areas:
      "eyebrow visual"
      "title   visual"
      "lede    visual"
      "ctas    visual"
      "meta    visual";
    gap:56px;
    align-items:center;
    padding-bottom:56px;
  }
  .hero-eyebrow-area{grid-area:eyebrow;}
  .hero-title-area{grid-area:title;}
  .hero-lede-area{grid-area:lede;}
  .hero-ctas-area{grid-area:ctas;}
  .hero-meta-area{grid-area:meta;}
  .eyebrow{
    display:inline-flex;align-items:center;gap:10px;
    font-family:'IBM Plex Mono',monospace;
    font-size:11.5px;letter-spacing:0.14em;text-transform:uppercase;
    color:var(--brass);
    margin-bottom:22px;
  }
  .eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--led);box-shadow:0 0 8px var(--led);}
  .hero h1{
    font-size:clamp(30px,3.6vw,44px);
    line-height:1.12;
    color:var(--ink);
    margin-bottom:20px;
  }
  .hero h1 .accent{color:var(--brass);}
  .hero-lede{
    font-size:16.5px;color:var(--ink-soft);max-width:52ch;margin-bottom:30px;line-height:1.65;
  }
  .hero-ctas{display:flex;gap:14px;margin-bottom:38px;flex-wrap:wrap;}
  .hero-meta{
    display:grid;grid-template-columns:repeat(3,auto);gap:28px;
    padding-top:26px;border-top:1px solid var(--line);
  }
  .hero-meta .num{font-family:'Archivo',sans-serif;font-weight:800;font-size:22px;color:var(--ink);}
  .hero-meta .lbl{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-soft);margin-top:3px;}

  .hero-visual{position:relative;grid-area:visual;}
  .hero-frame{
    position:relative;
    border:1px solid var(--line);
    padding:10px;
    background:rgba(10,50,50,0.02);
  }
  .hero-frame img{width:100%;height:460px;object-fit:cover;}
  .hero-img-mobile{display:none;}
  .hero-tag{
    position:absolute;bottom:26px;left:26px;
    background:var(--charcoal);
    border:1px solid var(--brass);
    padding:12px 16px;
    display:flex;align-items:center;gap:10px;
  }
  .hero-tag .dot{width:8px;height:8px;border-radius:50%;background:var(--led);box-shadow:0 0 8px var(--led);flex-shrink:0;}
  .hero-tag .txt{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.06em;color:#fff;text-transform:uppercase;line-height:1.4;}

  /* ============ TRUST STRIP ============ */
  .trust-strip{
    background:var(--charcoal-2);
    border-top:1px solid var(--line-dark);
    border-bottom:1px solid var(--line-dark);
    padding:22px 0;
  }
  .trust-row{
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px;
  }
  .trust-item{display:flex;align-items:center;gap:10px;color:var(--silver);}
  .trust-item .ico{color:var(--brass-light);font-family:'IBM Plex Mono',monospace;font-size:13px;}
  .trust-item .txt{font-size:12.5px;font-weight:500;}
  .trust-item .txt strong{color:#fff;font-weight:700;}

  /* ============ GENERIC SECTION ============ */
  section{padding:88px 0;}
  .section-head{max-width:680px;margin-bottom:52px;}
  .section-eyebrow{
    font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.16em;
    text-transform:uppercase;color:var(--brass);margin-bottom:14px;display:block;
  }
  .section-head h2, .section-head .section-title{font-size:clamp(26px,3vw,36px);line-height:1.18;margin-bottom:16px;font-family:'Archivo','Inter',sans-serif;font-weight:700;letter-spacing:-0.01em;color:var(--charcoal);display:block;}
  .section-head p{color:var(--ink-soft);font-size:15.5px;line-height:1.7;}
  .center{text-align:center;margin-left:auto;margin-right:auto;}

  .bg-alt{background:var(--paper-2);}
  .bg-dark{background:var(--charcoal);color:#fff;}
  .bg-dark .section-head p{color:var(--silver);}
  .bg-dark h2, .bg-dark h3{color:#fff;}

  /* ============ ACCESS PANEL CARDS (signature element) ============ */
  .panel-grid{
    display:grid;grid-template-columns:repeat(2,1fr);gap:1px;
    background:var(--line);
    border:1px solid var(--line);
  }
  .panel-card{
    background:var(--paper);
    padding:34px 32px;
    position:relative;
  }
  .panel-card .panel-head{
    display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;
  }
  .panel-card .panel-id{
    font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-soft);letter-spacing:0.08em;
  }
  .panel-card .led{width:7px;height:7px;border-radius:50%;background:var(--led);box-shadow:0 0 6px var(--led);}
  .panel-card h3{font-size:19px;margin-bottom:10px;}
  .panel-card p{color:var(--ink-soft);font-size:14.5px;line-height:1.65;}

  /* ============ SPLIT (image + text) ============ */
  .split{
    display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;
  }
  .split.reverse .split-media{order:2;}
  .split.reverse .split-text{order:1;}
  .split-media img{width:100%;height:420px;object-fit:cover;border:1px solid var(--line);}
  .split-text h3{font-size:24px;margin-bottom:16px;line-height:1.25;}
  .split-text p{color:var(--ink-soft);font-size:15px;line-height:1.7;margin-bottom:18px;}
  .tag-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px;}
  .tag{
    font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.03em;
    padding:7px 12px;border:1px solid var(--line);color:var(--ink-soft);background:#fff;
  }
  .bg-dark .tag{border-color:var(--line-dark);color:var(--silver);background:transparent;}
  .bg-dark .split-text p{color:var(--silver);}

  /* image mosaic */
  .mosaic{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;}
  .mosaic .m-tall{grid-row:span 2;height:100%;}
  .mosaic-equal3{grid-template-columns:repeat(3,1fr) !important;}
  .mosaic-equal3 .eq3-img{width:100%;height:260px;object-fit:cover;border:1px solid var(--line);}
  .mosaic-cobertura{grid-template-columns:1fr !important;}
  .mosaic-col-equal2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .mosaic-col-equal2 .eq2-img{width:100%;height:340px;object-fit:cover;border:1px solid var(--line);}
  .mosaic img{width:100%;height:100%;object-fit:cover;border:1px solid var(--line);}
  .mosaic-col{display:grid;gap:14px;}

  /* ============ COVERAGE ============ */
  .coverage-wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
  .zone-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin-top:8px;}
  .zone-item{
    display:flex;align-items:center;gap:10px;padding:11px 0;
    border-bottom:1px solid var(--line);font-size:14px;color:var(--ink);
  }
  .zone-item::before{content:"";width:5px;height:5px;background:var(--brass);flex-shrink:0;}
  .muni-strip{
    margin-top:24px;padding:18px 20px;background:var(--charcoal);color:#fff;
    display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  }
  .muni-strip .lbl{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--brass-light);}
  .muni-strip .cities{font-size:14px;font-weight:600;}

  /* ============ HERRAJES GRID ============ */
  .herrajes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);}
  .herrajes-item{
    padding:16px 14px;text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
    font-size:12.5px;font-weight:600;color:var(--ink-soft);
  }
  .herrajes-item:nth-child(4n){border-right:none;}

  /* ============ MARCAS / PAGOS strip ============ */
  .logos-strip{
    display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0;
    border:1px solid var(--line);
  }
  .logo-box{
    width:16.66%;min-width:150px;flex:1 1 150px;
    display:flex;align-items:center;justify-content:center;
    padding:26px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
    background:#fff;
  }
  .logo-box img{max-height:64px;max-width:100%;width:auto;object-fit:contain;filter:grayscale(15%);}

  /* ============ PLANS / EMPRESAS ============ */
  .plans-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);}
  .plan-card{background:var(--charcoal-2);padding:36px 30px;}
  .plan-card .plan-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--brass-light);margin-bottom:14px;display:block;}
  .plan-card h4{color:#fff;font-size:19px;margin-bottom:12px;}
  .plan-card p{color:var(--silver);font-size:14px;line-height:1.65;}

  /* ============ FAQ ============ */
  .faq-list{border-top:1px solid var(--line);}
  .faq-item{border-bottom:1px solid var(--line);padding:26px 0;}
  .faq-q{
    display:flex;justify-content:space-between;align-items:center;gap:20px;
    cursor:pointer;
  }
  .faq-q h3{font-size:16.5px;font-weight:600;}
  .faq-q .plus{font-family:'IBM Plex Mono',monospace;font-size:18px;color:var(--brass);flex-shrink:0;transition:transform .2s;}
  .faq-item[open] .plus{transform:rotate(45deg);}
  .faq-a{padding-top:14px;color:var(--ink-soft);font-size:14.5px;line-height:1.7;max-width:74ch;}
  .faq-item summary{list-style:none;}
  .faq-item summary::-webkit-details-marker{display:none;}

  /* ============ CONTACT FORM ============ */
  .contact-wrap{max-width:720px;margin:0 auto;}
  .contact-form{border:1px solid var(--line);padding:40px;background:var(--paper-2);}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;}
  .form-field{margin-bottom:20px;}
  .form-row .form-field{margin-bottom:0;}
  .form-field label{
    display:block;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.08em;
    text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;
  }
  .form-field label .opt{text-transform:none;letter-spacing:0;color:var(--ink-soft);opacity:0.7;}
  .form-field input, .form-field textarea{
    width:100%;border:1px solid var(--line);background:#fff;
    padding:12px 14px;font-family:'Inter',sans-serif;font-size:14.5px;color:var(--ink);
    transition:border-color .15s;
  }
  .form-field input:focus, .form-field textarea:focus{
    outline:none;border-color:var(--brass);
  }
  .form-field textarea{resize:vertical;min-height:110px;}
  .form-submit{width:100%;justify-content:center;margin-top:4px;}
  .form-submit:disabled{opacity:0.6;cursor:default;}

  .contact-success{
    border:1px solid var(--brass);background:#fff;
    padding:52px 40px;text-align:center;
  }
  .success-icon{
    width:52px;height:52px;border-radius:50%;background:var(--brass);color:#fff;
    display:flex;align-items:center;justify-content:center;font-size:24px;
    margin:0 auto 20px;
  }
  .contact-success h3{font-size:20px;margin-bottom:12px;}
  .contact-success p{color:var(--ink-soft);font-size:14.5px;line-height:1.65;max-width:44ch;margin:0 auto 26px;}

  /* ============ FINAL CTA ============ */
  .cta-final{
    background:linear-gradient(120deg,var(--charcoal),var(--charcoal-2));
    color:#fff;padding:80px 0;text-align:center;
  }
  .cta-final h2, .cta-final .section-title{color:#fff;font-size:clamp(26px,3.4vw,38px);margin-bottom:16px;font-family:'Archivo','Inter',sans-serif;font-weight:700;letter-spacing:-0.01em;display:block;}
  .cta-final p{color:var(--silver);font-size:15.5px;margin-bottom:34px;}
  .cta-final .hero-ctas{justify-content:center;}
  .cta-phone{
    font-family:'IBM Plex Mono',monospace;font-size:15px;color:var(--brass-light);margin-top:26px;letter-spacing:0.04em;
  }

  /* ============ FOOTER ============ */
  footer{background:var(--charcoal);color:var(--silver);padding:56px 0 26px;border-top:1px solid var(--line-dark);}
  .footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1.35fr;gap:40px;padding-bottom:40px;border-bottom:1px solid var(--line-dark);}
  .footer-col h5{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--brass-light);margin-bottom:16px;}
  .footer-col p, .footer-col a{font-size:13.5px;color:var(--silver);line-height:2;display:block;}
  .footer-col a:hover{color:var(--brass-light);}
  .footer-email{white-space:nowrap;font-size:12.5px;letter-spacing:0.01em;}
  .footer-logo-card{
    display:inline-flex;align-items:center;gap:12px;
    background:#fff;padding:14px 18px;margin-bottom:18px;
  }
  .footer-logo-card .logo-img{height:46px;width:auto;}
  .footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;flex-wrap:wrap;gap:12px;}
  .footer-bottom p{font-size:12px;color:var(--steel-light);}

  /* ============ RESPONSIVE ============ */
  @media (max-width:960px){
    nav{display:none;}
    .nav-toggle{display:flex;}
    .mobile-nav{display:flex;}
    .hero{padding-top:10px;}
    .hero-grid{
      grid-template-columns:1fr;
      gap:8px;
      grid-template-areas:
        "eyebrow"
        "title"
        "visual"
        "lede"
        "ctas"
        "meta";
    }
    .eyebrow{margin-bottom:6px;}
    .hero h1{margin-bottom:8px;}
    .hero-lede{margin-bottom:14px;}
    .hero-img-desktop{display:none;}
    .hero-img-mobile{display:block;height:250px;}
    .split, .split.reverse{grid-template-columns:1fr;}
    .split.reverse .split-media, .split.reverse .split-text{order:0;}
    .coverage-wrap{grid-template-columns:1fr;}
    .panel-grid{grid-template-columns:1fr;}
    .plans-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .herrajes-grid{grid-template-columns:repeat(2,1fr);}
    .trust-row{justify-content:center;text-align:center;}

    /* Centrar contenido: ya no se ve recargado a la izquierda */
    .wrap{padding:0 18px;}
    .header-inner{padding:12px 18px;gap:14px;}
    .logo img.logo-img{height:46px;}
    .hero{text-align:center;}
    .hero .eyebrow{justify-content:center;}
    .hero-lede{margin-left:auto;margin-right:auto;}
    .hero-meta{justify-items:center;text-align:center;}
    .hero-ctas{justify-content:center;flex-direction:column;align-items:stretch;}
    .hero-ctas .btn{justify-content:center;}
    .section-head{margin-left:auto;margin-right:auto;text-align:center;}
    .section-head p{margin-left:auto;margin-right:auto;}
    .split-text{text-align:center;}
    .tag-list{justify-content:center;}
    .panel-card{text-align:center;}
    .panel-card .panel-head{justify-content:center;gap:8px;}
    .plan-card{text-align:center;}
    .zone-list{text-align:left;max-width:340px;margin:0 auto;}
    .muni-strip{justify-content:center;text-align:center;}
    .coverage-wrap > div:first-child{text-align:center;}
    .cta-final .hero-ctas{flex-direction:column;align-items:stretch;}
    .footer-grid{text-align:center;}
    .footer-col{display:flex;flex-direction:column;align-items:center;}
    .footer-logo-card{margin-left:auto;margin-right:auto;}
    .footer-bottom{justify-content:center;text-align:center;flex-direction:column;}
    .contact-wrap{text-align:center;}
    .form-field{text-align:left;}
  }
  @media (max-width:600px){
    .hero h1{font-size:21px;line-height:1.2;}
    .hero-lede{font-size:14px;line-height:1.45;}
    .header-inner{gap:6px;padding:6px 14px;}
    .logo{gap:5px;}
    .logo img.logo-img{height:26px;}
    .nav-toggle{width:22px;height:22px;gap:3px;}
    .header-cta{flex-direction:column;align-items:stretch;gap:4px;}
    .header-cta .btn{justify-content:center;width:100%;padding:6px 8px;font-size:10.5px;white-space:nowrap;}
    .hero-meta{grid-template-columns:1fr;gap:14px;}
    .zone-list{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr;}
    .mosaic{grid-template-columns:1fr;}
    .mosaic-equal3{grid-template-columns:1fr !important;}
    .mosaic-equal3 .eq3-img{height:220px;}
    .mosaic-col-equal2{grid-template-columns:1fr;}
    .mosaic-col-equal2 .eq2-img{height:220px;}
    .mosaic .m-tall{height:280px;}
    section{padding:64px 0;}
    .logo-box{width:50%;min-width:0;}
    .form-row{grid-template-columns:1fr;gap:0;}
    .contact-form{padding:26px 22px;}
    .contact-success{padding:40px 22px;}
  }

  :focus-visible{outline:2px solid var(--brass);outline-offset:2px;}
  @media (prefers-reduced-motion: reduce){ *{transition:none !important;scroll-behavior:auto !important;} }

/* ============ BLOG ============ */
.breadcrumb{
  display:flex;align-items:center;gap:8px;
  font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--ink-soft);
  margin-bottom:28px;
}
.breadcrumb a{color:var(--brass);}
.breadcrumb a:hover{text-decoration:underline;}

.blog-hero{padding:56px 0 40px;text-align:center;}
.blog-hero h1{font-size:clamp(28px,3.6vw,42px);margin-bottom:14px;}
.blog-hero p{color:var(--ink-soft);font-size:16px;max-width:60ch;margin:0 auto;}

.post-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
  padding-bottom:80px;
}
.post-card{
  border:1px solid var(--line);background:#fff;
  display:flex;flex-direction:column;overflow:hidden;
  transition:transform .15s, box-shadow .15s;
}
.post-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(10,50,50,0.10);}
.post-card img{width:100%;height:200px;object-fit:cover;}
.post-card-body{padding:22px 22px 26px;display:flex;flex-direction:column;flex:1;}
.post-card .cat{
  font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--brass);margin-bottom:10px;
}
.post-card h3{font-size:18px;line-height:1.35;margin-bottom:10px;}
.post-card p{color:var(--ink-soft);font-size:14px;line-height:1.6;flex:1;margin-bottom:16px;}
.post-card .date{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-soft);opacity:0.75;}
.post-card .read-more{
  font-size:13.5px;font-weight:600;color:var(--brass);display:inline-flex;align-items:center;gap:6px;
}
.post-card a.card-link{text-decoration:none;color:inherit;display:flex;flex-direction:column;height:100%;}

.post-loading, .post-empty{
  grid-column:1/-1;text-align:center;color:var(--ink-soft);padding:60px 0;font-size:14.5px;
}

/* Artículo individual */
.article-hero{padding:44px 0 0;}
.article-hero .cat{
  font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--brass);display:block;margin-bottom:14px;
}
.article-hero h1{font-size:clamp(28px,3.6vw,40px);line-height:1.2;margin-bottom:16px;}
.article-meta{
  display:flex;gap:16px;align-items:center;color:var(--ink-soft);font-size:13px;
  font-family:'IBM Plex Mono',monospace;margin-bottom:32px;
}
.article-hero-img{width:100%;height:380px;object-fit:cover;border:1px solid var(--line);margin-bottom:48px;}

.article-body{max-width:760px;margin:0 auto;padding-bottom:70px;}
.article-body h2{font-size:24px;margin:40px 0 16px;line-height:1.3;}
.article-body h3{font-size:19px;margin:28px 0 12px;line-height:1.3;}
.article-body p{font-size:16px;line-height:1.75;color:var(--ink);margin-bottom:18px;}
.article-body ul{margin:0 0 20px 22px;}
.article-body li{font-size:16px;line-height:1.75;color:var(--ink);margin-bottom:8px;list-style:disc;}
.article-body img{width:100%;height:auto;border:1px solid var(--line);margin:12px 0 32px;}
.article-cta{
  margin-top:48px;padding:36px;background:var(--paper-2);border:1px solid var(--line);
  text-align:center;
}
.article-cta h3{margin-top:0;margin-bottom:12px;}
.article-cta p{color:var(--ink-soft);margin-bottom:22px;}
.article-cta .hero-ctas{justify-content:center;}

@media (max-width:960px){
  .post-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:600px){
  .post-grid{grid-template-columns:1fr;}
  .article-hero-img{height:220px;}
  .article-body h2{font-size:21px;}
}
