/*
Theme Name: Shepco Industrial
Theme URI: https://shepcoindustrial.co.zw
Author: Shepco Industrial Supplies (Pvt) Ltd
Author URI: https://shepcoindustrial.co.zw
Description: Bespoke industrial-premium WordPress theme for Shepco Industrial Supplies (Pvt) Ltd — manufacturers and suppliers of quality mining, engineering and industrial products.
Version: 1.2
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.5
License: Unlicense
Text Domain: shepco
*/



  :root{
    --graphite:#171b2e;
    --steel:#3b4269;
    --steel-light:#7d84a3;
    --plate:#f5f3ee;
    --plate-dim:#e9e6de;
    --patina:#2f3557;
    --patina-dark:#1f2440;
    --brass:#e30613;
    --ink:#1d2030;
    --ink-soft:#5b6072;
    --line:rgba(29,32,48,0.12);
    --line-dark:rgba(245,243,238,0.14);
  }

  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}

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

  body{
    background:var(--plate);
    color:var(--ink);
    font-family:'IBM Plex Sans', sans-serif;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }

  h1,h2,h3,h4{
    font-family:'Big Shoulders Display', sans-serif;
    text-transform:uppercase;
    letter-spacing:0.01em;
    font-weight:800;
    line-height:0.96;
    color:var(--graphite);
  }

  .mono{
    font-family:'IBM Plex Mono', monospace;
    letter-spacing:0.04em;
  }

  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}

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

  /* ---------- hazard rule (signature divider, used sparingly) ---------- */
  .hazard-rule{
    height:6px;
    background:repeating-linear-gradient(
      -45deg,
      var(--brass) 0px, var(--brass) 14px,
      var(--graphite) 14px, var(--graphite) 28px
    );
    opacity:0.9;
  }

  /* ---------- header ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:var(--graphite);
    border-bottom:1px solid var(--line-dark);
  }
  .nav-inner{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 32px;
    max-width:1180px; margin:0 auto;
  }
  .logo{
    display:flex; align-items:center; gap:14px;
  }
  .logo-chip{
    background:var(--plate);
    padding:8px 14px;
    display:flex;
    align-items:center;
    border:1px solid rgba(239,234,225,0.2);
  }
  .logo-chip img{
    height:38px;
    width:auto;
    display:block;
  }
  nav ul{
    display:flex; gap:34px; list-style:none;
  }
  nav ul li a{
    color:var(--plate-dim);
    font-size:14px;
    font-weight:500;
    letter-spacing:0.02em;
    transition:color 0.2s;
    position:relative;
  }
  nav ul li a:hover{color:var(--brass);}
  .nav-links{display:flex; align-items:center; gap:40px;}

  .btn{
    display:inline-flex; align-items:center; gap:8px;
    font-family:'IBM Plex Mono', monospace;
    font-size:12.5px;
    font-weight:600;
    letter-spacing:0.06em;
    text-transform:uppercase;
    padding:13px 22px;
    border:1.5px solid var(--brass);
    color:var(--plate);
    transition:all 0.2s ease;
    white-space:nowrap;
  }
  .btn:hover{background:var(--brass); color:var(--graphite);}
  .btn-solid{
    background:var(--patina);
    border-color:var(--patina);
    color:var(--plate);
  }
  .btn-solid:hover{background:var(--patina-dark); border-color:var(--patina-dark); color:var(--plate);}
  .btn:focus-visible, a:focus-visible, button:focus-visible{
    outline:2px solid var(--brass);
    outline-offset:3px;
  }

  .menu-toggle{display:none;}

  /* ---------- hero ---------- */
  .hero{
    position:relative;
    color:var(--plate);
    padding:120px 0 100px;
    overflow:hidden;
    background:var(--graphite);
  }
  .hero-bg{
    position:absolute; inset:0;
    background-image:
      linear-gradient(120deg, rgba(14,16,28,0.95) 15%, rgba(20,24,42,0.82) 55%, rgba(47,53,87,0.55)),
      url('https://images.unsplash.com/photo-1523848309072-c199db53f137?auto=format&fit=crop&w=1800&q=70');
    background-size:cover;
    background-position:center 65%;
    z-index:0;
  }
  .hero-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1.15fr 0.85fr;
    gap:60px;
    align-items:end;
  }
  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:12.5px;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--brass);
    margin-bottom:22px;
    display:flex; align-items:center; gap:12px;
  }
  .eyebrow::before{
    content:'';
    width:28px; height:1.5px;
    background:var(--brass);
    display:inline-block;
  }
  .hero h1{
    font-size:clamp(42px, 6vw, 76px);
    color:var(--plate);
    margin-bottom:26px;
    text-shadow:0 2px 24px rgba(0,0,0,0.35);
  }
  .hero p{
    font-size:17.5px;
    color:var(--plate-dim);
    max-width:480px;
    margin-bottom:36px;
  }
  .hero-cta{display:flex; gap:16px; flex-wrap:wrap;}

  .plate-card{
    background:linear-gradient(155deg, rgba(59,66,105,0.92), rgba(23,27,46,0.92));
    backdrop-filter:blur(2px);
    border:1px solid rgba(239,234,225,0.18);
    padding:30px 28px;
    position:relative;
  }
  .rivets{position:absolute; inset:0; pointer-events:none;}
  .rivets span{
    position:absolute;
    width:7px; height:7px;
    border-radius:50%;
    background:radial-gradient(circle at 35% 30%, #cfc8b8, #8b8578 60%, #5a564c);
    box-shadow:0 1px 2px rgba(0,0,0,0.5);
  }
  .rivets span:nth-child(1){top:10px; left:10px;}
  .rivets span:nth-child(2){top:10px; right:10px;}
  .rivets span:nth-child(3){bottom:10px; left:10px;}
  .rivets span:nth-child(4){bottom:10px; right:10px;}

  .plate-card h3{
    color:var(--plate);
    font-size:15px;
    letter-spacing:0.1em;
    margin-bottom:16px;
    font-family:'IBM Plex Mono', monospace;
    font-weight:600;
    text-transform:uppercase;
  }
  .stat-row{
    display:flex; justify-content:space-between;
    padding:13px 0;
    border-bottom:1px solid rgba(239,234,225,0.12);
  }
  .stat-row:last-child{border-bottom:none;}
  .stat-row .num{
    font-family:'Big Shoulders Display', sans-serif;
    font-weight:700;
    font-size:26px;
    color:var(--brass);
  }
  .stat-row .label{
    font-size:12.5px;
    color:var(--plate-dim);
    max-width:180px;
    text-align:right;
    align-self:center;
  }

  /* ---------- sectors strip ---------- */
  .sectors{
    background:var(--steel);
    padding:22px 0;
    overflow:hidden;
    border-top:1px solid var(--line-dark);
  }
  .sectors-track{
    display:flex;
    gap:56px;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
  }
  .sectors-track div{
    color:var(--plate-dim);
    font-family:'IBM Plex Mono', monospace;
    font-size:13px;
    letter-spacing:0.1em;
    text-transform:uppercase;
    display:flex;
    align-items:center;
    gap:10px;
  }
  .sectors-track div::before{
    content:'';
    width:5px; height:5px;
    background:var(--brass);
  }

  /* ---------- sections generic ---------- */
  section{padding:100px 0;}
  .section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:40px;
    margin-bottom:56px;
    border-bottom:2px solid var(--graphite);
    padding-bottom:26px;
  }
  .section-head .tag{
    font-family:'IBM Plex Mono', monospace;
    font-size:12.5px;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--patina-dark);
    margin-bottom:10px;
    display:block;
  }
  .section-head h2{font-size:clamp(30px,4vw,46px);}
  .section-head p{color:var(--ink-soft); max-width:340px; font-size:15px; padding-bottom:4px;}

  /* ---------- catalogue grid ---------- */
  .cat-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:2px;
    background:var(--graphite);
    border:2px solid var(--graphite);
  }
  .cat-card{
    background:var(--plate);
    position:relative;
    transition:transform 0.25s ease;
    overflow:hidden;
  }
  .cat-photo{
    position:relative;
    height:150px;
    overflow:hidden;
  }
  .cat-photo img{
    width:100%; height:100%;
    object-fit:cover;
    filter:grayscale(35%) contrast(1.05);
    transition:filter 0.3s ease, transform 0.4s ease;
  }
  .cat-card:hover .cat-photo img{
    filter:grayscale(0%) contrast(1.05);
    transform:scale(1.04);
  }
  .cat-photo::after{
    content:'';
    position:absolute; inset:0;
    background:linear-gradient(0deg, rgba(26,28,30,0.55), transparent 55%);
  }
  .cat-photo .code{
    position:absolute;
    bottom:10px; left:16px;
    font-family:'IBM Plex Mono', monospace;
    font-size:12px;
    color:var(--plate);
    letter-spacing:0.1em;
    font-weight:600;
    z-index:1;
  }
  .cat-body{
    padding:22px 22px 26px;
  }
  .cat-card h3{
    font-size:22px;
    margin-bottom:10px;
    line-height:1.02;
  }
  .cat-card p{
    font-size:14px;
    color:var(--ink-soft);
    margin-bottom:16px;
  }
  .cat-card .items{
    font-size:12px;
    color:var(--steel-light);
    font-family:'IBM Plex Mono', monospace;
    line-height:1.8;
  }

  /* ---------- why / value props ---------- */
  .why-wrap{
    display:grid;
    grid-template-columns:0.85fr 1.15fr;
    gap:70px;
    align-items:start;
  }
  .why-list{display:flex; flex-direction:column;}
  .why-item{
    display:grid;
    grid-template-columns:64px 1fr;
    gap:22px;
    padding:26px 0;
    border-bottom:1px solid var(--line);
  }
  .why-item:first-child{padding-top:0;}
  .why-item .icon{
    width:44px; height:44px;
  }
  .why-item h4{
    font-size:19px;
    margin-bottom:8px;
    letter-spacing:0.01em;
  }
  .why-item p{font-size:14.5px; color:var(--ink-soft);}

  .why-visual{
    position:relative;
    background:var(--graphite);
    overflow:hidden;
    align-self:stretch;
    min-height:520px;
    display:flex;
    flex-direction:column;
  }
  .why-photo{
    position:relative;
    height:190px;
    overflow:hidden;
  }
  .why-photo img{
    width:100%; height:100%;
    object-fit:cover;
    filter:grayscale(20%);
  }
  .why-photo::after{
    content:'';
    position:absolute; inset:0;
    background:linear-gradient(0deg, var(--graphite), transparent 70%);
  }
  .why-visual-body{
    padding:36px 38px 40px;
    flex:1;
  }
  .why-visual h3{
    color:var(--plate);
    font-size:24px;
    margin-bottom:24px;
    max-width:320px;
  }
  .process-step{
    display:flex; gap:18px;
    padding:17px 0;
    border-top:1px solid var(--line-dark);
  }
  .process-step:first-of-type{border-top:none;}
  .process-step .pnum{
    font-family:'IBM Plex Mono', monospace;
    color:var(--brass);
    font-size:13px;
    padding-top:2px;
  }
  .process-step h5{
    color:var(--plate);
    font-family:'IBM Plex Sans';
    font-size:15.5px;
    font-weight:600;
    text-transform:none;
    margin-bottom:5px;
  }
  .process-step p{
    color:var(--plate-dim);
    font-size:13.5px;
  }

  /* ---------- testimonial band ---------- */
  .testimonial-band{
    background:var(--patina);
    color:var(--plate);
    padding:80px 0;
  }
  .testimonial-band blockquote{
    font-family:'Big Shoulders Display', sans-serif;
    font-weight:700;
    font-size:clamp(26px, 3.4vw, 40px);
    text-transform:none;
    line-height:1.15;
    max-width:820px;
    margin-bottom:26px;
  }
  .testimonial-band cite{
    font-style:normal;
    font-family:'IBM Plex Mono', monospace;
    font-size:13px;
    letter-spacing:0.05em;
    color:rgba(239,234,225,0.85);
  }

  /* ---------- certifications strip ---------- */
  .certs{
    padding:56px 0;
    border-bottom:1px solid var(--line);
  }
  .certs-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:24px;
  }
  .certs-inner .label{
    font-family:'IBM Plex Mono', monospace;
    font-size:12px;
    letter-spacing:0.1em;
    color:var(--ink-soft);
    text-transform:uppercase;
  }
  .cert-badges{display:flex; gap:34px; flex-wrap:wrap;}
  .cert-badges div{
    font-family:'IBM Plex Mono', monospace;
    font-size:12.5px;
    letter-spacing:0.06em;
    color:var(--graphite);
    border:1px solid var(--graphite);
    padding:8px 14px;
  }

  /* ---------- contact ---------- */
  .contact-wrap{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
  }
  .contact-info h2{font-size:clamp(30px,4vw,44px); margin-bottom:18px;}
  .contact-info > p{color:var(--ink-soft); font-size:15.5px; margin-bottom:36px; max-width:400px;}
  .info-line{
    display:flex; gap:16px;
    padding:16px 0;
    border-top:1px solid var(--line);
    font-size:14.5px;
  }
  .info-line:last-child{border-bottom:1px solid var(--line);}
  .info-line .k{
    font-family:'IBM Plex Mono', monospace;
    font-size:11.5px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--brass);
    width:110px;
    flex-shrink:0;
    padding-top:1px;
  }

  form{display:flex; flex-direction:column; gap:18px;}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
  label{
    font-family:'IBM Plex Mono', monospace;
    font-size:11px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--ink-soft);
    margin-bottom:7px;
    display:block;
  }
  input, textarea, select{
    width:100%;
    background:transparent;
    border:none;
    border-bottom:1.5px solid var(--line);
    padding:10px 2px;
    font-family:'IBM Plex Sans', sans-serif;
    font-size:14.5px;
    color:var(--ink);
    transition:border-color 0.2s;
  }
  input:focus, textarea:focus, select:focus{
    outline:none;
    border-color:var(--patina);
  }
  textarea{resize:vertical; min-height:80px;}
  .field{display:flex; flex-direction:column;}
  .submit-row{margin-top:8px; display:flex; align-items:center; gap:18px;}
  .submit-row .btn{
    background:var(--graphite);
    border-color:var(--graphite);
    color:var(--plate);
  }
  .submit-row .btn:hover{background:var(--patina); border-color:var(--patina);}
  .form-note{font-size:12.5px; color:var(--ink-soft);}
  .form-status{font-size:12.5px; color:var(--patina-dark); font-family:'IBM Plex Mono', monospace;}

  /* ---------- footer ---------- */
  footer{
    background:var(--graphite);
    color:var(--plate-dim);
    padding:60px 0 30px;
  }
  .footer-grid{
    display:grid;
    grid-template-columns:1.3fr 1fr 1fr 1fr;
    gap:40px;
    padding-bottom:40px;
    border-bottom:1px solid var(--line-dark);
    margin-bottom:26px;
  }
  .footer-logo-chip{
    background:var(--plate);
    padding:8px 14px;
    display:inline-flex;
    margin-bottom:16px;
  }
  .footer-logo-chip img{height:32px; width:auto; display:block;}
  .footer-grid h5{
    font-family:'IBM Plex Mono', monospace;
    font-size:12px;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--brass);
    margin-bottom:18px;
  }
  .footer-grid ul{list-style:none; display:flex; flex-direction:column; gap:10px;}
  .footer-grid ul li a{font-size:14px; transition:color 0.2s;}
  .footer-grid ul li a:hover{color:var(--plate);}
  .footer-bottom{
    display:flex; justify-content:space-between;
    font-size:12.5px;
    flex-wrap:wrap; gap:10px;
    font-family:'IBM Plex Mono', monospace;
  }

  /* ---------- responsive ---------- */
  @media (max-width:900px){
    .hero-grid{grid-template-columns:1fr;}
    .cat-grid{grid-template-columns:repeat(2,1fr);}
    .why-wrap{grid-template-columns:1fr; gap:40px;}
    .why-visual{min-height:auto;}
    .contact-wrap{grid-template-columns:1fr; gap:48px;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    nav ul{display:none;}
    .menu-toggle{display:block; background:none; border:1px solid var(--brass); color:var(--plate); padding:8px 12px; font-family:'IBM Plex Mono'; font-size:12px;}
  }
  @media (max-width:620px){
    .cat-grid{grid-template-columns:1fr;}
    .form-row{grid-template-columns:1fr;}
    .section-head{flex-direction:column; align-items:flex-start;}
    .certs-inner{flex-direction:column; align-items:flex-start;}
    section{padding:70px 0;}
  }

/* =========================================================
   ADDITIONAL COMPONENTS — inner pages (About, Footprint,
   Products & Services, News, Contact)
   ========================================================= */

/* ---------- page banner (compact hero for sub-pages) ---------- */
.page-banner{
  position:relative;
  color:var(--plate);
  padding:76px 0 56px;
  overflow:hidden;
  background:var(--graphite);
}
.page-banner-bg{
  position:absolute; inset:0;
  background-image:
    linear-gradient(120deg, rgba(14,16,28,0.93) 20%, rgba(20,24,42,0.86) 60%, rgba(47,53,87,0.6)),
    var(--banner-img, none);
  background-size:cover;
  background-position:center;
  z-index:0;
}
.page-banner .wrap{position:relative; z-index:1;}
.page-banner .eyebrow{margin-bottom:14px;}
.page-banner h1{font-size:clamp(34px, 5vw, 56px); color:var(--plate);}
.page-banner p{color:var(--plate-dim); font-size:16px; max-width:560px; margin-top:16px;}

/* ---------- quick link strip (jump nav within long pages) ---------- */
.quick-links{
  background:var(--plate-dim);
  border-bottom:1px solid var(--line);
  position:sticky;
  top:75px;
  z-index:20;
}
.quick-links .wrap{
  display:flex; gap:28px; flex-wrap:wrap;
  padding:16px 32px;
}
.quick-links a{
  font-family:'IBM Plex Mono', monospace;
  font-size:12px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--ink-soft);
  border-bottom:2px solid transparent;
  padding-bottom:3px;
  transition:color 0.2s, border-color 0.2s;
}
.quick-links a:hover{color:var(--patina-dark); border-color:var(--brass);}

/* ---------- generic prose section ---------- */
.prose{font-size:16px; color:var(--ink-soft); line-height:1.75; max-width:720px;}
.prose p{margin-bottom:18px;}
.prose strong{color:var(--ink);}

/* ---------- timeline (evolution / partnerships) ---------- */
.timeline{border-left:2px solid var(--patina); margin-left:6px; padding-left:32px;}
.timeline-item{position:relative; padding-bottom:38px;}
.timeline-item:last-child{padding-bottom:0;}
.timeline-item::before{
  content:'';
  position:absolute; left:-38px; top:4px;
  width:11px; height:11px; border-radius:50%;
  background:var(--brass);
  box-shadow:0 0 0 4px var(--plate-dim);
}
.timeline-year{
  font-family:'IBM Plex Mono', monospace;
  font-size:12.5px;
  letter-spacing:0.08em;
  color:var(--brass);
  text-transform:uppercase;
  display:block;
  margin-bottom:6px;
}
.timeline-item h4{font-size:19px; margin-bottom:8px; letter-spacing:0.01em; text-transform:none; font-family:'IBM Plex Sans'; font-weight:600; color:var(--ink);}
.timeline-item p{font-size:14.5px; color:var(--ink-soft); max-width:560px;}

/* ---------- region / subsidiary / milestone card grids ---------- */
.panel-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:2px;
  background:var(--graphite);
  border:2px solid var(--graphite);
}
.panel-grid.cols-2{grid-template-columns:repeat(2, 1fr);}
.panel-card{
  background:var(--plate);
  padding:28px 26px;
}
.panel-card .code{
  font-family:'IBM Plex Mono', monospace;
  font-size:12px;
  color:var(--brass);
  letter-spacing:0.08em;
  display:block;
  margin-bottom:14px;
  font-weight:600;
  text-transform:uppercase;
}
.panel-card h3{font-size:22px; margin-bottom:10px; line-height:1.05;}
.panel-card p{font-size:14px; color:var(--ink-soft); margin-bottom:14px;}
.panel-card .items{
  font-size:12px;
  color:var(--steel-light);
  font-family:'IBM Plex Mono', monospace;
  line-height:1.8;
}

/* ---------- spec rows (roller specs / product data) ---------- */
.spec-block{margin-bottom:10px;}
.spec-row{
  display:flex; gap:16px;
  padding:14px 0;
  border-top:1px solid var(--line);
  font-size:14px;
}
.spec-row:last-child{border-bottom:1px solid var(--line);}
.spec-row .k{
  font-family:'IBM Plex Mono', monospace;
  font-size:11px;
  letter-spacing:0.05em;
  text-transform:uppercase;
  color:var(--brass);
  width:180px;
  flex-shrink:0;
  padding-top:1px;
}
.spec-row .v{color:var(--ink-soft);}

/* ---------- product section (anchored blocks on Products page) ---------- */
.prod-section{padding:76px 0; border-bottom:1px solid var(--line);}
.prod-section.alt{background:var(--plate-dim);}
.prod-section .section-head{margin-bottom:40px;}

/* ---------- client / badge row ---------- */
.badge-row{display:flex; gap:14px; flex-wrap:wrap; margin-top:20px;}
.badge-row .badge{
  font-family:'IBM Plex Mono', monospace;
  font-size:12px;
  letter-spacing:0.05em;
  color:var(--graphite);
  border:1px solid var(--graphite);
  padding:8px 14px;
}

/* ---------- stat strip (reusable plate-card row, light bg version) ---------- */
.stat-strip{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:2px;
  background:var(--graphite);
  border:2px solid var(--graphite);
  margin:44px 0;
}
.stat-strip div{
  background:var(--graphite);
  color:var(--plate);
  padding:26px 22px;
  text-align:left;
}
.stat-strip .num{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:700;
  font-size:34px;
  color:var(--brass);
  display:block;
  line-height:1;
  margin-bottom:8px;
}
.stat-strip .label{
  font-size:12px;
  color:var(--plate-dim);
  font-family:'IBM Plex Mono', monospace;
  letter-spacing:0.03em;
}

/* ---------- CTA band (used to link Home -> inner pages) ---------- */
.cta-band{
  background:var(--graphite);
  color:var(--plate);
  padding:64px 0;
}
.cta-band .wrap{
  display:flex; justify-content:space-between; align-items:center;
  gap:30px; flex-wrap:wrap;
}
.cta-band h3{color:var(--plate); font-size:clamp(24px,3vw,34px); max-width:520px;}
.cta-band p{color:var(--plate-dim); font-size:14.5px; margin-top:10px; max-width:480px;}

@media (max-width:900px){
  .panel-grid{grid-template-columns:repeat(2,1fr);}
  .stat-strip{grid-template-columns:repeat(2,1fr);}
  .quick-links{position:static;}
}
@media (max-width:620px){
  .panel-grid{grid-template-columns:1fr;}
  .stat-strip{grid-template-columns:1fr;}
  .spec-row{flex-direction:column; gap:4px;}
  .spec-row .k{width:auto;}
}

/* ---------- pull quote (About page) ---------- */
.pull-quote{
  border-left:3px solid var(--brass);
  padding:4px 0 4px 24px;
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:700;
  font-size:clamp(20px,2.4vw,28px);
  text-transform:none;
  color:var(--graphite);
  line-height:1.25;
  margin:38px 0;
  max-width:640px;
}

/* ---------- single post: prev/next navigation ---------- */
.post-nav{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:56px;
  padding-top:32px;
  border-top:1px solid var(--line);
}
.post-nav .code{
  display:block;
  font-family:'IBM Plex Mono', monospace;
  font-size:11px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--steel-light);
  margin-bottom:8px;
}
.post-nav a{
  font-family:'Big Shoulders Display', sans-serif;
  font-size:20px;
  text-transform:uppercase;
  color:var(--ink);
  line-height:1.15;
  transition:color 0.2s;
}
.post-nav a:hover{color:var(--brass);}
.post-nav-next{text-align:right;}

/* ---------- archive pagination ---------- */
.archive-pagination{margin-top:40px;}
.archive-pagination .nav-links{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.archive-pagination .page-numbers{
  font-family:'IBM Plex Mono', monospace;
  font-size:13px;
  padding:8px 14px;
  border:1px solid var(--line);
  color:var(--ink-soft);
  background:var(--plate);
  transition:all 0.2s;
}
.archive-pagination .page-numbers.current,
.archive-pagination .page-numbers:hover{
  background:var(--patina-dark);
  color:var(--plate);
  border-color:var(--patina-dark);
}

/* ---------- prose: WordPress editor content ---------- */
.prose h2, .prose h3{margin:32px 0 14px; color:var(--ink);}
.prose h2{font-size:28px;}
.prose h3{font-size:22px;}
.prose ul, .prose ol{margin:0 0 18px 22px;}
.prose li{margin-bottom:8px;}
.prose a{color:var(--patina-dark); border-bottom:2px solid var(--brass);}
.prose img{max-width:100%; height:auto; display:block; margin:24px 0;}
.prose blockquote{
  border-left:3px solid var(--brass);
  padding:6px 0 6px 20px;
  margin:24px 0;
  color:var(--ink);
  font-style:italic;
}
.prose figure{margin:24px 0;}
.prose figcaption{
  font-family:'IBM Plex Mono', monospace;
  font-size:12px;
  color:var(--steel-light);
  margin-top:8px;
}
.badge-row .badge a{color:inherit;}

@media (max-width:640px){
  .post-nav{grid-template-columns:1fr;}
  .post-nav-next{text-align:left;}
}
