/* Shared presentation used by the reusable footer. */
.footer-tagline{max-width:240px;}
.footer-col p.footer-company-name{color:var(--text-primary);font-size:12px;margin-bottom:6px;font-weight:700;}
.footer-col p.footer-location{color:var(--text-muted);font-size:12px;margin-bottom:12px;}
.footer-col a.footer-contact-cta{color:var(--accent-cyan);font-family:'IBM Plex Mono',monospace;font-size:12.5px;margin-top:10px;display:inline-flex;align-items:center;gap:6px;}
.footer-contact-cta span{font-size:14px;}
.footer-col h3{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px;}
nav .wrap{padding-top:8px;padding-bottom:8px;}
@media(max-width:860px){.mobile-menu{top:63px;}}

/* Shared image system */
.media-feature{width:min(100%,920px);margin:36px auto 0;box-sizing:border-box;}
.media-feature img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:16px;border:1px solid var(--border-glass);box-shadow:0 22px 56px rgba(0,0,0,.32);background:var(--bg-surface);}
.media-feature figcaption{margin:12px 4px 0;color:var(--text-muted);font-family:'IBM Plex Mono',monospace;font-size:11px;line-height:1.6;letter-spacing:.02em;}
.media-feature--compact{max-width:720px;}
.media-feature--placeholder img{border-style:dashed;}

.article-card .thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.article-card:hover .thumb img{transform:scale(1.025);}
.article-featured{width:min(100%,900px);margin:32px auto 0;padding:0 24px;box-sizing:border-box;}
.article-featured img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--border-glass);border-radius:14px;box-shadow:0 24px 64px rgba(0,0,0,.35);}
.article-featured figcaption{margin-top:10px;color:var(--text-muted);font-family:'IBM Plex Mono',monospace;font-size:11px;line-height:1.55;}
.article-body .source-note{margin-top:42px;padding-top:24px;border-top:1px solid var(--line);font-size:13px;color:var(--text-muted);}
.article-body .source-note a{color:var(--accent-cyan);text-decoration:underline;text-underline-offset:3px;}

@media(max-width:640px){
  .media-feature{width:100%;margin-top:28px;}
  .media-feature img,.article-featured img{border-radius:11px;}
  .article-featured{width:100%;padding:0 18px;}
  .media-feature figcaption,.article-featured figcaption{font-size:10.5px;}
}
