/* ============================================================================
   ISNEWS v2 — newsroom additions for ironshieldsystems.com
   Append to css/styles.css and bump the ?v= query on every page to 61.
   Uses only the site's existing design tokens; adds no new colors or fonts.
   ========================================================================= */

/* --- news list: thumbnail + linked cards ---------------------------------- */
.news-item h3 a{color:inherit;transition:color .2s var(--ease)}
.news-item:hover h3 a{color:var(--accent)}
.news-item .news-cat{transition:border-color .2s,color .2s}
a.news-cat:hover{border-color:var(--accent);color:var(--accent)}
.news-thumb{flex:0 0 auto;width:170px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--bg-2)}
.news-thumb img{width:100%;height:114px;object-fit:cover;display:block;transition:transform .45s var(--ease)}
.news-item:hover .news-thumb img{transform:scale(1.04)}
.news-more{display:inline-flex;align-items:center;gap:7px;margin-top:12px;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:500}
.news-more svg{width:15px;height:15px;transition:transform .25s var(--ease)}
.news-item:hover .news-more svg,.news-lead:hover .news-more svg{transform:translateX(4px)}
@media(max-width:760px){.news-thumb{width:100%}.news-thumb img{height:180px}}

/* --- news list: featured --------------------------------------------------*/
.news-item.is-featured{border-color:var(--line-2);box-shadow:var(--shadow-lg,0 40px 80px -30px rgba(12,35,24,.24))}
.news-pin{display:inline-block;font-family:var(--f-mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink,#06301d);background:var(--accent);border-radius:20px;padding:4px 10px;margin:0 0 11px 8px;vertical-align:top}

/* --- lead story ------------------------------------------------------------*/
.news-lead{display:block;
  background:linear-gradient(180deg,#ffffff,#fafcfb);border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;box-shadow:var(--shadow);margin:0 auto 34px;max-width:940px;
  transition:transform .25s var(--ease),border-color .25s}
.news-lead:hover{transform:translateY(-3px);border-color:var(--line-2)}
.lead-media{display:block;line-height:0;background:var(--bg-3,#f0f4f2);overflow:hidden}
.lead-media img{width:100%;height:100%;min-height:280px;object-fit:cover;transition:transform .5s var(--ease)}
.news-lead:hover .lead-media img{transform:scale(1.03)}
.lead-b{padding:32px 36px}
.lead-kick{display:flex;align-items:center;gap:0;margin-bottom:14px}
.lead-b h3{font-size:clamp(1.3rem,2.4vw,1.75rem);line-height:1.22;margin:0 0 12px}
.lead-b h3 a{color:inherit;transition:color .2s var(--ease)}
.news-lead:hover h3 a{color:var(--accent)}
.lead-b p{color:var(--muted);font-size:1rem;line-height:1.66;margin:0}
.lead-foot{display:flex;align-items:center;gap:12px;margin-top:16px;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2)}
.lead-foot .dot{width:3px;height:3px;border-radius:50%;background:currentColor;display:inline-block}
@media(max-width:820px){.lead-b{padding:24px 22px}}

/* --- filters + search ------------------------------------------------------*/
.news-filters{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  max-width:940px;margin:0 auto 30px;padding-bottom:22px;border-bottom:1px solid var(--line)}
/* min-width:0 because a flex item will not shrink below its content by
   default, and with seven categories the chip row pushed the page wider
   than the viewport on a phone. */
.nf-chips{display:flex;flex-wrap:wrap;gap:7px;min-width:0;max-width:100%}
.nf-chip{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);border:1px solid var(--line);background:var(--panel,#fff);
  border-radius:20px;padding:6px 13px;transition:border-color .2s,color .2s,background .2s;cursor:pointer}
.nf-chip:hover{border-color:var(--line-2);color:var(--heading)}
.nf-chip span{font-size:.62rem;color:var(--muted-2)}
.nf-chip.is-on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink,#06301d)}
.nf-chip.is-on span{color:inherit;opacity:.7}
.nf-search{position:relative;display:flex;align-items:center;min-width:230px;flex:0 1 auto}
.nf-search svg{position:absolute;left:13px;width:16px;height:16px;color:var(--muted-2);pointer-events:none}
.nf-search input{width:100%;padding:10px 14px 10px 38px;border:1px solid var(--line);border-radius:24px;
  background:var(--panel,#fff);font-family:var(--f-body);font-size:.9rem;color:var(--heading)}
.nf-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(18,184,102,.12)}
.news-results{max-width:940px;margin:0 auto}
.nf-count{display:block;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);margin-bottom:16px}
.nf-none{text-align:center;color:var(--muted);padding:44px 0}
.nf-none button{background:none;border:0;color:var(--accent);cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.news-filters{gap:14px}.nf-chips{width:100%}.nf-search{width:100%;min-width:0}}

/* --- pagination ------------------------------------------------------------*/
.news-pager{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:44px;flex-wrap:wrap}
.news-pager a,.news-pager span{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.08em;padding:9px 14px;
  border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);transition:border-color .2s,color .2s}
.news-pager a:hover{border-color:var(--accent);color:var(--accent)}
.news-pager .is-on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink,#06301d)}
.news-pager .pg-prev,.news-pager .pg-next{text-transform:uppercase;letter-spacing:.14em}

/* --- topic cloud -----------------------------------------------------------*/
.topic-cloud{display:flex;flex-wrap:wrap;gap:9px;max-width:940px;margin:0 auto}
.topic-cloud .art-tag{display:inline-flex;align-items:center;gap:8px;transition:border-color .2s,color .2s}
.topic-cloud .art-tag:hover{border-color:var(--accent);color:var(--accent)}
.topic-cloud .art-tag em{font-style:normal;font-size:.62rem;color:var(--muted-2)}

/* --- press strip -----------------------------------------------------------*/
.press-strip{display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;
  max-width:940px;margin:0 auto}
.press-strip h3{font-size:1.25rem;text-transform:none}

/* --- article: header ------------------------------------------------------ */
.art-top{padding:130px 0 0;border-bottom:1px solid var(--line)}
.art-top .wrap{max-width:840px;padding-bottom:44px}
.art-crumb{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);margin-bottom:26px}
.art-crumb a{color:var(--muted);transition:color .2s}
.art-crumb a:hover{color:var(--accent)}
.art-title{font-size:clamp(1.55rem,3.1vw,2.25rem);text-transform:none;letter-spacing:-.005em;line-height:1.14;margin:16px 0 0;max-width:26ch}
.art-meta{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin:22px 0 0;font-family:var(--f-mono);font-size:.78rem;letter-spacing:.08em;color:var(--muted)}
.art-by{padding-left:18px;border-left:1px solid var(--line-2)}

/* --- article: reading progress --------------------------------------------*/
.art-progress{position:sticky;top:0;z-index:40;height:2px;background:transparent;pointer-events:none}
.art-progress span{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:0 50%;transition:transform .1s linear}

/* --- article: body -------------------------------------------------------- */
.art-wrap{padding-top:46px}
.art-wrap .wrap{max-width:840px}
.art-hero{margin:0 0 44px;border-radius:var(--r-lg,10px);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}
.art-hero img{width:100%;height:auto;object-fit:cover;display:block}
.art-hero figcaption{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.06em;color:var(--muted);padding:12px 18px;background:var(--panel-2);border-top:1px solid var(--line)}
.art-lede{font-size:1.2rem;line-height:1.6;color:var(--heading);font-weight:500;margin-bottom:30px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.art-body{font-size:1.05rem;line-height:1.78}
.art-body p{margin:0 0 1.35rem}
.art-body h2{font-size:1.7rem;margin:2.4rem 0 1rem;text-transform:none;letter-spacing:-.005em}
.art-body h3{font-size:1.25rem;margin:2rem 0 .8rem;text-transform:none}
.art-body h4{font-size:1.05rem;margin:1.7rem 0 .6rem;font-family:var(--f-body);font-weight:700;color:var(--heading)}
.art-body ul,.art-body ol{margin:0 0 1.35rem;padding-left:1.35rem}
.art-body li{margin-bottom:.55rem}
.art-body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.art-body a:hover{color:var(--accent-hover,var(--accent))}
.art-body img{border-radius:var(--radius);border:1px solid var(--line);margin:1.6rem 0;max-width:100%;height:auto}
.art-body figure{margin:1.8rem 0}
.art-body figure img{margin:0;width:100%}
.art-body figcaption{font-family:var(--f-mono);font-size:.72rem;color:var(--muted);margin-top:10px;letter-spacing:.05em}
.art-body blockquote{margin:1.8rem 0;padding:4px 0 4px 26px;border-left:2px solid var(--accent);font-size:1.12rem;line-height:1.62;color:var(--heading);font-style:normal}
.art-body blockquote p:last-child{margin-bottom:0}
.art-body hr{border:0;border-top:1px solid var(--line);margin:2.4rem 0}
.art-body code{font-family:var(--f-mono);font-size:.88em;background:var(--bg-3);padding:2px 6px;border-radius:4px}
.art-body pre{background:var(--bg-3);border:1px solid var(--line);border-radius:var(--radius);padding:18px;overflow-x:auto;margin:0 0 1.35rem}
.art-body pre code{background:none;padding:0}
.art-body table{width:100%;border-collapse:collapse;margin:0 0 1.6rem;font-size:.95rem}
.art-body th,.art-body td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line)}
.art-body th{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:var(--panel-2)}

/* --- article: video embeds -------------------------------------------------*/
.art-body .art-embed{position:relative;padding-bottom:56.25%;height:0;margin:0;border-radius:var(--r-lg,10px);
  overflow:hidden;background:#0A1310;border:1px solid var(--line)}
.art-body .art-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* --- article: alignment + image sizing (set by the editor) ---------------- */
.art-body .align-center{text-align:center}
.art-body .align-right{text-align:right}
.art-body .align-left{text-align:left}
.art-body img.align-center{margin-left:auto;margin-right:auto;display:block}
.art-body img.align-right{margin-left:auto;display:block}
.art-body img.img-small{max-width:340px}
.art-body img.img-wide{width:calc(100% + 120px);max-width:none;margin-left:-60px}
@media(max-width:980px){.art-body img.img-wide{width:100%;margin-left:0}}

/* --- article: topic tags -------------------------------------------------- */
.art-tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:40px}
.art-tags .mono{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-2);margin-right:4px}
.art-tag{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.06em;color:var(--muted);border:1px solid var(--line);background:var(--panel-2);border-radius:20px;padding:5px 12px;transition:border-color .2s,color .2s}
a.art-tag:hover{border-color:var(--accent);color:var(--accent)}

/* --- article: prev/next ---------------------------------------------------- */
/* The share row that used to sit here was removed at Serge's request. The rule
   below carries the divider it provided, so the prev/next pair still reads as a
   separate block from the article body rather than running straight on. */
.art-nav{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:44px;padding-top:30px;border-top:1px solid var(--line)}
.art-nav a{display:block;padding:20px 22px;border:1px solid var(--line);border-radius:var(--r-lg,10px);background:var(--panel);transition:border-color .25s,transform .25s var(--ease)}
.art-nav a:hover{border-color:var(--accent);transform:translateY(-2px)}
.art-nav .mono{display:block;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.art-nav b{font-family:var(--f-display);font-weight:600;font-size:1.02rem;line-height:1.28;color:var(--heading);display:block}
.art-next{text-align:right}

/* --- article: related ------------------------------------------------------*/
.art-rel{border-top:1px solid var(--line);background:var(--bg-2)}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rel-card{display:block;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg,10px);
  overflow:hidden;padding:0 0 20px;transition:transform .25s var(--ease),border-color .25s}
.rel-card:hover{transform:translateY(-3px);border-color:var(--accent)}
.rel-media{display:block;line-height:0;background:var(--bg-3,#f0f4f2);border-bottom:1px solid var(--line)}
.rel-media img{width:100%;height:150px;object-fit:cover;display:block}
.rel-media.rel-blank{height:150px;display:block}
.rel-cat{display:inline-block;margin:20px 20px 8px;font-family:var(--f-mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.rel-card b{display:block;padding:0 20px;font-family:var(--f-display);font-weight:600;font-size:1.02rem;line-height:1.3;color:var(--heading)}
.rel-card em{display:block;padding:10px 20px 0;font-style:normal;font-size:.68rem;letter-spacing:.14em;color:var(--muted-2)}
@media(max-width:860px){.rel-grid{grid-template-columns:1fr}}

/* --- archive ---------------------------------------------------------------*/
.arc{max-width:840px;margin:0 auto}
.arc-year{margin-bottom:44px}
.arc-year h3{display:flex;align-items:baseline;gap:12px;font-size:1.5rem;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:4px}
.arc-year h3 em{font-family:var(--f-mono);font-style:normal;font-size:.7rem;letter-spacing:.14em;color:var(--muted-2)}
.arc-list{list-style:none;margin:0;padding:0}
.arc-list a{display:grid;grid-template-columns:52px 1fr auto;gap:16px;align-items:baseline;padding:14px 6px;
  border-bottom:1px solid var(--line);transition:background .2s,padding .2s}
.arc-list a:hover{background:var(--panel-2);padding-left:12px}
.arc-list .mono{font-size:.68rem;letter-spacing:.12em;color:var(--accent)}
.arc-list b{font-weight:500;font-size:1rem;line-height:1.4;color:var(--heading)}
.arc-list a:hover b{color:var(--accent)}
.arc-list em{font-family:var(--f-mono);font-style:normal;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}
@media(max-width:640px){.arc-list a{grid-template-columns:44px 1fr}.arc-list em{display:none}}

/* --- press kit -------------------------------------------------------------*/
.pk-quote{max-width:840px;margin:0 auto 40px;text-align:center}
.pk-quote blockquote{margin:10px 0 0;font-family:var(--f-display);font-weight:600;font-size:clamp(1.5rem,3.6vw,2.4rem);
  line-height:1.2;color:var(--heading);text-transform:uppercase;letter-spacing:.01em}
.pk-block{max-width:840px;margin:0 auto 30px;border:1px solid var(--line);border-radius:var(--r-lg,10px);
  background:var(--panel);padding:24px 28px;box-shadow:var(--shadow)}
.pk-block h3{font-size:1.05rem;text-transform:uppercase;letter-spacing:.06em;margin:0 0 14px}
.pk-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.pk-head h3{margin:0}
.pk-copy{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
  border:1px solid var(--line-2);background:var(--panel);border-radius:20px;padding:6px 13px;cursor:pointer;
  color:var(--muted);transition:border-color .2s,color .2s}
.pk-copy:hover{border-color:var(--accent);color:var(--accent)}
.pk-copy.is-done{border-color:var(--accent);color:var(--accent)}
.pk-body{margin:0;font-size:1rem;line-height:1.72;color:var(--muted)}
.pk-facts{width:100%;border-collapse:collapse;font-size:.94rem}
.pk-facts th{text-align:left;width:190px;padding:11px 0;color:var(--muted-2);font-family:var(--f-mono);font-size:.68rem;
  letter-spacing:.14em;text-transform:uppercase;font-weight:400;vertical-align:top;border-bottom:1px solid var(--line)}
.pk-facts td{padding:11px 0;color:var(--heading);border-bottom:1px solid var(--line)}
.pk-lines{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pk-line{display:block;border:1px solid var(--line);border-radius:var(--radius);padding:15px 17px;background:var(--panel-2);
  transition:border-color .2s,transform .2s var(--ease)}
.pk-line:hover{border-color:var(--accent);transform:translateY(-2px)}
.pk-line b{display:block;font-family:var(--f-display);font-weight:600;font-size:1rem;color:var(--heading);margin-bottom:5px}
.pk-line span{display:block;font-size:.86rem;line-height:1.55;color:var(--muted)}
.pk-logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.pk-logo{display:block;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel-2);
  transition:border-color .2s}
.pk-logo:hover{border-color:var(--accent)}
.pk-logo-img{display:grid;place-items:center;height:110px;padding:20px;background:var(--bg-2)}
.pk-logo-img img{max-width:100%;max-height:100%;object-fit:contain}
.pk-logo b{display:block;padding:11px 14px 2px;font-size:.86rem;font-weight:500;color:var(--heading)}
.pk-logo em{display:block;padding:0 14px 12px;font-style:normal;font-family:var(--f-mono);font-size:.62rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.pk-usage{margin:0;padding-left:1.2rem;color:var(--muted);font-size:.95rem;line-height:1.7}
.pk-usage li{margin-bottom:.5rem}
.pk-recent{list-style:none;margin:0;padding:0}
.pk-recent a{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--line)}
.pk-recent b{font-weight:500;color:var(--heading)}
.pk-recent a:hover b{color:var(--accent)}
.pk-recent em{font-style:normal;font-size:.68rem;letter-spacing:.1em;color:var(--muted-2);flex:0 0 auto}
.pk-contact{max-width:840px;margin:0 auto;text-align:center;padding:36px 28px;border:1px solid var(--line);
  border-radius:var(--r-lg,10px);background:linear-gradient(180deg,#ffffff,#f5fbf8)}
.pk-contact h3{font-size:clamp(1.3rem,3vw,1.9rem);margin:8px 0 12px;text-transform:none}
.pk-contact p{max-width:60ch;margin:0 auto}
@media(max-width:700px){.pk-lines{grid-template-columns:1fr}.pk-facts th{width:130px;font-size:.62rem}}

/* --- shared responsive ---------------------------------------------------- */
@media(max-width:640px){
  .art-top{padding-top:104px}
  .art-nav{grid-template-columns:1fr}
  .art-next{text-align:left}
  .art-meta{gap:10px}
  .art-by{padding-left:0;border-left:none;width:100%}
  .press-strip{flex-direction:column;align-items:flex-start;gap:18px}
}
