/*
Theme Name: NS Workshop
Description: Article-first Nick's Software blog, aligned with the main NS website. Standalone classic theme; no activation-side content or settings changes.
Version: 0.1.3
Author: Nick's Software
Text Domain: ns-workshop
Requires at least: 6.4
Requires PHP: 8.0
*/
/**
 * Nick's Software - Global CSS
 * Contains: CSS variables, resets, base typography, containers
 */

/* ===== CSS Variables ===== */
:root {
  /* Colors */
  --primary: #0f172a;
  --primary-light: #1e293b;
  --secondary: #1e40af;
  --accent: #3b82f6;
  --accent-light: #60a5fa;
  --accent-bright: #38bdf8;
  --accent-dark: #2563eb;

  /* Backgrounds */
  --bg-light: #f8fafc;
  --bg-white: #ffffff;
  --bg-dark: #0f172a;
  --surface: #f8fafc;
  --surface-dark: #1e293b;

  /* Text */
  --text: #1e293b;
  --text-dark: #1e293b;
  --text-medium: #475569;
  --text-light: #64748b;
  --text-inverse: #f1f5f9;

  /* Status Colors */
  --success: #10b981;
  --warning: #f59e0b;
  --error: #ef4444;

  /* Category Colors */
  --manufacturing: #059669;
  --healthcare: #7c3aed;
  --business: #d97706;
  --iot: #0ea5e9;

  /* Gradients */
  --gradient-primary: linear-gradient(135deg, #1e40af 0%, #3b82f6 50%, #0ea5e9 100%);
  --gradient-dark: linear-gradient(180deg, #0f172a 0%, #1e293b 100%);
  --gradient-manufacturing: linear-gradient(135deg, #059669 0%, #10b981 100%);
  --gradient-healthcare: linear-gradient(135deg, #7c3aed 0%, #a78bfa 100%);
  --gradient-business: linear-gradient(135deg, #92400e 0%, #d97706 50%, #f59e0b 100%);

  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
  --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1);
  --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);
  --shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1);

  /* Spacing & Layout */
  --section-padding: 100px;
  --container-max: 1200px;

  /* Border Radius */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-full: 100px;
}

/* ===== Reset ===== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  overflow-y: scroll;
}

body {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--text-dark);
  background: var(--bg-white);
}

/* ===== Typography ===== */
a {
  color: var(--accent);
  text-decoration: none;
  transition: color 0.2s;
}

a:hover {
  color: var(--accent-dark);
}

h1, h2, h3, h4 {
  font-weight: 700;
  line-height: 1.2;
  color: var(--primary);
}

h1 {
  font-size: clamp(2.5rem, 5vw, 3.5rem);
}

h2 {
  font-size: clamp(2rem, 4vw, 2.75rem);
}

h3 {
  font-size: clamp(1.25rem, 2vw, 1.5rem);
}

p {
  margin-bottom: 1rem;
}

/* ===== Layout ===== */
.container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 5%;
}

.section {
  padding: var(--section-padding) 0;
}

.section-header {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 60px;
}

.section-label {
  display: inline-block;
  background: rgba(59, 130, 246, 0.1);
  color: var(--accent);
  padding: 8px 16px;
  border-radius: var(--radius-full);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 16px;
}

/* ===== Text Utilities ===== */
.text-gradient {
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ===== Responsive ===== */
@media (max-width: 768px) {
  :root {
    --section-padding: 60px;
  }
}

/* Force scrollbar to prevent layout shift */
html {
  overflow-y: scroll !important;
}

/* Shared Navigation Styles */
nav, .nav {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  background: rgba(255,255,255,0.95) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-bottom: 1px solid rgba(0,0,0,0.05) !important;
  z-index: 1000 !important;
  padding: 0 5vw !important;
}

.nav-inner {
  max-width: 1400px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 72px !important;
}

.logo {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}

.logo-mark {
  width: 42px;
  height: 42px;
  background: linear-gradient(135deg, #1e40af 0%, #3b82f6 50%, #0ea5e9 100%);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-family: 'Space Mono', monospace;
  font-weight: 700;
  font-size: 16px;
}

.logo-text {
  font-weight: 700;
  font-size: 18px;
  color: #0f172a;
}

.nav-links {
  display: flex;
  gap: 32px;
  list-style: none;
  align-items: center;
}

.nav-links a {
  color: #1e293b;
  font-weight: 500;
  font-size: 15px;
  text-decoration: none;
}

.nav-links a:hover {
  color: #3b82f6;
}

.nav-dropdown {
  display: flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
}

.nav-dropdown svg {
  width: 16px;
  height: 16px;
  transition: transform 0.2s;
}

.nav-links > li {
  position: relative;
}

.nav-links li:hover .nav-dropdown svg {
  transform: rotate(180deg);
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  background: white;
  border-radius: 16px;
  box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1);
  border: 1px solid rgba(0,0,0,0.08);
  padding: 12px;
  min-width: 680px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
  z-index: 100;
  max-height: calc(100vh - 90px);
  overflow-y: auto;
}

.nav-links li:hover .dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.dropdown-menu a {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  border-radius: 10px;
  transition: background 0.2s;
}

.dropdown-menu a:hover {
  background: #f8fafc;
}

.dropdown-icon {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.dropdown-icon svg {
  width: 16px;
  height: 16px;
  color: white;
}

.dropdown-icon.flagship { background: linear-gradient(135deg, #7c3aed 0%, #a78bfa 100%); }
.dropdown-icon.manufacturing { background: linear-gradient(135deg, #059669 0%, #10b981 100%); }
.dropdown-icon.business { background: linear-gradient(135deg, #d97706 0%, #f59e0b 100%); }
.dropdown-icon.iot { background: linear-gradient(135deg, #0ea5e9 0%, #38bdf8 100%); }
.dropdown-icon.healthcare { background: linear-gradient(135deg, #7c3aed 0%, #a78bfa 100%); }

.dropdown-text {
  flex: 1;
}

.dropdown-title {
  font-family: 'Space Mono', monospace;
  font-weight: 700;
  font-size: 12px;
  color: #0f172a;
  display: block;
}

.dropdown-desc {
  font-size: 11px;
  color: #64748b;
  display: block;
}

.dropdown-divider {
  height: 1px;
  background: rgba(0,0,0,0.08);
  margin: 8px 0;
}

.dropdown-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.dropdown-category {
  padding: 8px 12px 4px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #3b82f6;
  grid-column: 1 / -1;
}

.dropdown-category:not(:first-child) {
  margin-top: 8px;
  border-top: 1px solid rgba(0,0,0,0.06);
  padding-top: 12px;
}

/* Services dropdown - narrower with single column */
.dropdown-menu-services {
  min-width: 320px;
}

.dropdown-menu-services .dropdown-grid {
  grid-template-columns: 1fr;
}

.dropdown-all {
  text-align: center;
  padding: 10px 12px !important;
  justify-content: center !important;
}

.dropdown-all span {
  font-weight: 600;
  color: #3b82f6;
  font-size: 14px;
}

.nav-cta {
  background: #0f172a;
  color: white !important;
  padding: 10px 20px;
  border-radius: 6px;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
}

.nav-cta:hover {
  background: #1e40af;
  color: white !important;
}

.mobile-menu-btn {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
}

.mobile-menu-btn svg {
  width: 24px;
  height: 24px;
  stroke: #0f172a;
}

@media (max-width: 1024px) {
  .nav-links {
    display: none;
  }
  .nav-cta {
    display: none;
  }
  .mobile-menu-btn {
    display: block;
  }
}

/* Custom scrollbar for dropdown */
.dropdown-menu::-webkit-scrollbar {
  width: 6px;
}

.dropdown-menu::-webkit-scrollbar-track {
  background: transparent;
}

.dropdown-menu::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,0.2);
  border-radius: 3px;
}

.dropdown-menu::-webkit-scrollbar-thumb:hover {
  background: rgba(0,0,0,0.3);
}

/* ===== Mobile Navigation Overlay ===== */
.mobile-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(15, 23, 42, 0.98);
  z-index: 2000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  overflow-y: auto;
}

.mobile-nav.active {
  opacity: 1;
  visibility: visible;
}

.mobile-nav-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 5%;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

.mobile-nav-header .logo {
  color: white;
}

.mobile-nav-header .logo-text {
  color: white;
}

.mobile-nav-close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
}

.mobile-nav-close svg {
  width: 28px;
  height: 28px;
  stroke: white;
}

.mobile-nav-links {
  list-style: none;
  padding: 20px 5%;
}

.mobile-nav-links > li {
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

.mobile-nav-links > li > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
  color: white;
  text-decoration: none;
  font-size: 18px;
  font-weight: 500;
}

.mobile-nav-links > li > a svg {
  width: 20px;
  height: 20px;
  transition: transform 0.3s;
}

.mobile-nav-links > li.open > a svg {
  transform: rotate(180deg);
}

.mobile-submenu {
  display: none;
  padding: 0 0 16px 0;
}

.mobile-nav-links > li.open .mobile-submenu {
  display: block;
}

.mobile-submenu-category {
  padding: 12px 0 8px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #3b82f6;
}

.mobile-submenu a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  color: rgba(255,255,255,0.8);
  text-decoration: none;
  font-size: 15px;
}

.mobile-submenu a:hover {
  color: white;
}

.mobile-submenu .dropdown-icon {
  width: 32px;
  height: 32px;
}

.mobile-submenu .dropdown-icon svg {
  width: 16px;
  height: 16px;
}

.mobile-nav-cta {
  display: block;
  margin: 20px 5%;
  padding: 16px 24px;
  background: linear-gradient(135deg, #1e40af 0%, #3b82f6 50%, #0ea5e9 100%);
  color: white;
  text-decoration: none;
  text-align: center;
  font-weight: 600;
  font-size: 16px;
  border-radius: 10px;
}

.mobile-nav-cta:hover {
  opacity: 0.9;
}

/**
 * Nick's Software - Footer CSS
 * Contains: Footer base styles + responsive
 */

/* ===== Footer Base ===== */
footer {
  background: var(--surface-dark, #1e293b);
  padding: 80px 5% 40px;
}

.footer-grid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr repeat(3, 1fr);
  gap: 60px;
  margin-bottom: 60px;
}

.footer-brand p {
  color: var(--text-light, #64748b);
  font-size: 14px;
  line-height: 1.7;
  margin-top: 16px;
  max-width: 300px;
}

.footer-col h4 {
  color: white;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 20px;
}

.footer-col ul {
  list-style: none;
}

.footer-col li {
  margin-bottom: 12px;
}

.footer-col a {
  color: var(--text-light, #64748b);
  text-decoration: none;
  font-size: 14px;
  transition: color 0.2s;
}

.footer-col a:hover {
  color: var(--accent-bright, #60a5fa);
}

.footer-bottom {
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 40px;
  border-top: 1px solid rgba(255,255,255,0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer-copyright {
  color: var(--text-light, #64748b);
  font-size: 14px;
}

.footer-contact {
  display: flex;
  gap: 24px;
}

.footer-contact a {
  color: var(--text-light, #64748b);
  text-decoration: none;
  font-size: 14px;
  transition: color 0.2s;
}

.footer-contact a:hover {
  color: var(--accent-bright, #60a5fa);
}

/* ===== Footer Responsive - Tablet ===== */
@media (max-width: 1024px) {
  .footer-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ===== Footer Responsive - Mobile ===== */
@media (max-width: 768px) {
  footer {
    padding: 60px 5% 40px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 20px;
    text-align: center;
  }

  .footer-contact {
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
  }
}


body{padding-top:72px}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #2563eb;outline-offset:4px}button{color:inherit}a{transition:color .2s}svg{max-width:100%}[hidden]{display:none!important}.wrap{width:90%;max-width:1400px;margin:auto}.mono,.topic,.eyebrow,.card-meta,.byline{font-family:'Space Mono',monospace}.prototype{background:#eaf2ff;border-bottom:1px solid #cadbfa;padding:9px 5%;font-size:12px;color:#24416f;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.prototype strong{margin-right:auto}.prototype a{color:#1e40af;text-decoration:underline}.prototype button{border:1px solid #93b4e8;background:#fff;border-radius:5px;padding:6px 12px;min-height:36px}.prototype button[aria-pressed=true]{background:#0f172a;color:white;border-color:#0f172a}.masthead{padding:48px 0 30px;display:flex;align-items:end;gap:32px;justify-content:space-between}.eyebrow{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:#2563eb;font-weight:700}.masthead h1{font-size:clamp(36px,4.3vw,64px);letter-spacing:-2.4px;line-height:1.05;margin:13px 0}.masthead p{color:#475569;max-width:510px;margin:0;font-size:16px}.edition{font-size:11px;text-align:right;line-height:1.9;color:#64748b;max-width:260px}.feature{background:#0f172a;color:#dce6f4;border:1px solid #24344c;display:grid;grid-template-columns:1.04fr 1fr;overflow:hidden;border-radius:12px;position:relative}.feature-copy{padding:42px 42px 35px}.feature .eyebrow{color:#93c5fd}.feature h2{font-size:clamp(27px,2.8vw,42px);color:white;letter-spacing:-1.1px;line-height:1.16;margin:18px 0}.feature p{font-size:15px;line-height:1.7;color:#bac9db;max-width:500px}.feature-meta{font-size:11px;letter-spacing:.2px;color:#9eb2ca;margin-bottom:22px}.read-btn{display:inline-flex;gap:22px;align-items:center;border:1px solid #3b82f6;background:#2563eb;color:white;padding:12px 18px;min-height:46px;border-radius:6px;font-weight:600;font-size:14px}.read-btn:hover{background:#1e40af;color:white}.feature-visual{background:#142137;display:flex;flex-direction:column;justify-content:center;padding:28px;min-width:0;position:relative;overflow:hidden}.visual-label{display:flex;justify-content:space-between;gap:12px;font:10px 'Space Mono',monospace;letter-spacing:1px;color:#99b7d8;margin-bottom:14px}.screenshot-btn{background:none;border:0;padding:0;text-align:left;width:100%;border-radius:6px;box-shadow:0 14px 35px #0004;overflow:hidden}.screenshot-btn img{width:100%;display:block;aspect-ratio:1.85;object-fit:cover;object-position:top left;transition:transform .3s}.screenshot-btn:hover img{transform:scale(1.025)}.visual-caption{font-size:11px!important;margin:14px 0 0!important;color:#a8b9cc!important}.browse{padding:42px 0 60px}.browse-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.browse-header h2{font-size:25px;letter-spacing:-.5px}.article-search{display:flex;align-items:center;gap:10px;border:1px solid #cbd5e1;background:white;border-radius:6px;padding:0 13px;min-width:260px}.article-search input{border:0;outline:none;background:transparent;padding:12px 0;width:100%;font-size:14px;min-height:44px;color:#0f172a}.article-search svg{width:17px;height:17px;flex-shrink:0}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.filters button{border:1px solid #cbd5e1;background:white;color:#475569;border-radius:5px;padding:10px 14px;font-size:12px;min-height:44px}.filters button:hover{border-color:#3b82f6;color:#1e40af}.filters button[aria-pressed=true]{background:#0f172a;color:white;border-color:#0f172a}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.post-card{border:1px solid #e2e8f0;background:white;border-radius:8px;padding:27px;display:flex;flex-direction:column;transition:border-color .2s,transform .2s,box-shadow .2s;min-width:0}.post-card:hover{border-color:#93b4e8;transform:translateY(-3px);box-shadow:0 12px 25px #0f172a0a}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.topic{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:#2563eb}.card-arrow{font-size:21px;color:#94a3b8}.post-card h3{font-size:21px;letter-spacing:-.5px;line-height:1.28;margin-bottom:13px}.post-card h3 a{color:#0f172a}.post-card h3 a:hover{color:#1e40af}.post-card p{font-size:14px;line-height:1.7;color:#526175;margin-bottom:26px}.card-meta{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#64748b;border-top:1px solid #e2e8f0;padding-top:17px;margin-top:auto}.results{font-size:12px;color:#64748b;margin:18px 0}.empty{padding:50px;border:1px dashed #94a3b8;background:#f8fafc;text-align:center}.business-band{border-top:1px solid #dce4ef;background:#f8fafc;padding:40px 5%}.business-inner{max-width:1400px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.business-band h2{font-size:25px;letter-spacing:-.5px;margin:5px 0 10px}.business-band p{color:#475569;font-size:15px;margin:0}.business-links{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}.business-links a{color:#1e40af;background:white;border:1px solid #cbd5e1;border-radius:5px;padding:12px 16px;font-size:13px}.footer-brand p,.footer-col a,.footer-copyright,.footer-contact a{color:#b7c5d7}.footer-contact{flex-wrap:wrap}.footer-contact svg{width:20px;height:20px}.footer-grid,.footer-bottom{max-width:1400px}.dropdown-menu{max-width:90vw}.nav-links>li:focus-within .dropdown-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.article-top{padding:30px 0;color:#64748b;font-size:12px}.article-top button{background:none;border:0;color:#1e40af;min-height:44px;font-size:13px}.article-head{max-width:1000px;padding:15px 0 35px}.article-head h1{font-size:clamp(34px,4.2vw,58px);line-height:1.08;letter-spacing:-1.8px;margin:20px 0 24px}.article-head .dek{font-size:19px;line-height:1.6;color:#526175;max-width:780px}.byline{font-size:11px;color:#64748b;display:flex;gap:18px;flex-wrap:wrap}.draft-label{background:#fff3d6;color:#805600;padding:5px 9px;border-radius:3px;font-size:10px}.article-layout{display:grid;grid-template-columns:210px minmax(0,780px) 220px;gap:35px;align-items:start;padding-bottom:75px;border-top:1px solid #e2e8f0;padding-top:35px}.contents{position:sticky;top:100px}.contents h2{font-size:11px;text-transform:uppercase;letter-spacing:1px;margin-bottom:15px}.contents a{display:block;font-size:12px;color:#64748b;padding:8px 0;line-height:1.5}.contents a:hover{color:#2563eb}.prose{font-size:18px;line-height:1.8;min-width:0;color:#334155}.prose p{margin-bottom:22px}.prose>p:first-child{font-size:21px;color:#0f172a;line-height:1.65}.prose h2{font-size:29px;letter-spacing:-.6px;line-height:1.25;margin:43px 0 20px;scroll-margin-top:100px}.prose ul,.prose ol{padding-left:24px;margin:22px 0}.prose li{margin:8px 0}.prose a{color:#1e40af;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.prose figure{margin:28px 0}.prose figure img{width:100%;height:auto;display:block}.prose figcaption{font-size:12px;color:#64748b;margin-top:9px}.article-related{border:1px solid #dce4ef;border-radius:8px;padding:20px;background:#f8fafc;position:sticky;top:100px}.article-related h3{font-size:19px;margin:12px 0}.article-related p{font-size:13px;color:#526175}.article-related a{font-size:13px;font-weight:600}.read-progress{position:fixed;left:0;top:72px;height:3px;width:0;background:#2563eb;z-index:1001}.journal .masthead{border-bottom:2px solid #0f172a;padding-bottom:32px}.journal .masthead h1{font-size:clamp(38px,4.8vw,70px)}.journal .edition{border-top:1px solid #94a3b8;padding-top:8px}.journal .feature{margin-top:30px;background:white;color:#0f172a;border:0;border-radius:0;grid-template-columns:1.35fr .7fr;gap:50px;align-items:center}.journal .feature-copy{padding:8px 0 24px}.journal .feature h2{color:#0f172a;font-size:clamp(28px,3vw,44px)}.journal .feature .eyebrow{color:#2563eb}.journal .feature p{color:#526175}.journal .feature-meta{color:#64748b}.journal .feature-visual{padding:25px;border-radius:3px;min-height:260px}.journal .feature-visual .visual-caption{color:#a8b9cc}.journal .post-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:45px;row-gap:0}.journal .post-card{border:0;border-top:1px solid #cbd5e1;border-radius:0;padding:27px 0 30px;box-shadow:none}.journal .post-card:hover{transform:none;border-color:#2563eb}.journal .card-meta{border:0;padding-top:3px}.journal .card-top{margin-bottom:12px}.journal .post-card h3{font-size:25px;max-width:520px}.journal .post-card p{max-width:540px}.journal .browse{padding-top:35px}.journal .article-head{max-width:1050px}.journal .article-head h1{font-size:clamp(36px,4.5vw,64px)}.journal .article-layout{grid-template-columns:200px minmax(0,760px);justify-content:center;gap:60px}.journal .article-related{position:static;grid-column:2;margin-top:0}.journal .filters button{border-radius:0}.journal .article-search{border-radius:0}dialog{border:1px solid #475569;background:#0f172a;color:white;border-radius:10px;padding:20px;width:95vw;max-width:1550px;max-height:92vh;margin:auto}dialog::backdrop{background:#020617d9}dialog img{width:100%;display:block}dialog button{background:white;color:#0f172a;border:0;border-radius:5px;padding:10px 16px;margin-bottom:15px;min-height:44px}.skip-link{position:fixed;left:15px;top:-100px;background:#fff;padding:12px;z-index:4000}.skip-link:focus{top:10px}
@media(min-width:1800px){.wrap{max-width:1680px}.nav-inner{max-width:1680px!important}.feature-copy{padding:52px}.feature h2{font-size:48px}.masthead h1{font-size:72px}.article-layout{grid-template-columns:240px minmax(0,850px) 260px;gap:55px;justify-content:center}.prose{font-size:20px}.footer-grid,.footer-bottom,.business-inner{max-width:1680px}.journal .article-layout{grid-template-columns:230px minmax(0,850px)}}
@media(max-width:1100px){.article-layout{grid-template-columns:170px minmax(0,1fr)}.article-related{position:static;grid-column:2}.feature-copy{padding:30px}.feature-visual{padding:20px}.feature h2{font-size:32px}.post-grid{gap:15px}.post-card{padding:20px}.edition{display:none}.journal .feature{gap:25px}.business-inner{align-items:start;flex-direction:column}}
@media(max-width:760px){.masthead{padding:32px 0 25px}.masthead h1{letter-spacing:-1.5px}.masthead p{font-size:15px}.feature,.journal .feature{grid-template-columns:1fr;gap:0}.feature-copy{padding:26px}.feature h2,.journal .feature h2{font-size:30px}.feature-visual{padding:20px}.feature-visual img{aspect-ratio:2}.journal .feature-visual{min-height:0}.post-grid,.journal .post-grid{grid-template-columns:1fr}.browse-header{align-items:start;flex-direction:column}.article-search{width:100%;min-width:0}.filters{gap:6px}.filters button{padding:10px;font-size:11px}.article-layout,.journal .article-layout{display:block}.contents{position:static;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #e2e8f0}.contents a{display:inline-block;padding:7px 10px 7px 0}.article-related{margin-top:35px}.article-head h1,.journal .article-head h1{font-size:37px;letter-spacing:-1px}.article-head .dek{font-size:17px}.prose{font-size:17px}.prose>p:first-child{font-size:19px}.prose h2{font-size:26px}.prototype{gap:8px}.prototype strong{width:100%;font-size:11px}.prototype button{min-height:44px}.logo-text{font-size:16px}.business-links{flex-shrink:1}.business-links a{overflow-wrap:anywhere}.byline{font-size:10px}.footer-contact{overflow-wrap:anywhere}.feature-meta{line-height:1.8}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* WordPress-specific integration. Shared navigation is isolated from content navigation. */
body.admin-bar>nav{top:32px!important}.admin-bar .read-progress{top:104px}.admin-bar .contents,.admin-bar .article-related{top:132px}.ns-content-nav{position:static!important;background:none!important;backdrop-filter:none!important;padding:0!important;border:0!important;z-index:auto!important}.pagination{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0}.page-numbers{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;min-height:44px;border:1px solid #cbd5e1;border-radius:5px;color:#1e40af}.page-numbers.current{background:#0f172a;color:white}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.filters a{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border:1px solid #cbd5e1;border-radius:5px;color:#475569;font-size:12px}.filters a:hover{border-color:#2563eb;color:#1e40af}.filters a[aria-current=page]{background:#0f172a;color:white;border-color:#0f172a}.article-search button{border:0;background:none;color:#1e40af;padding:10px;min-height:44px}.feature h2 a{color:inherit}.feature-visual .feature-art{width:100%;height:auto;display:block;max-height:310px;object-fit:contain;background:#fff;border-radius:5px}.post-card .card-thumbnail{width:100%;height:170px;object-fit:cover;margin-bottom:20px;border-radius:4px}.prose img{max-width:100%;height:auto}.prose iframe,.prose video,.prose embed{max-width:100%}.prose table{border-collapse:collapse;width:100%;display:block;overflow-x:auto;font-size:15px}.prose th,.prose td{padding:10px;border:1px solid #cbd5e1;text-align:left}.prose blockquote{background:#f1f5f9;padding:24px;margin:25px 0;border-radius:5px}.prose pre{overflow-x:auto;padding:20px;background:#0f172a;color:#e2e8f0;border-radius:6px;font-size:14px}.prose a{word-break:normal}.prose .alignwide,.prose .alignfull{max-width:100%;margin-left:0;margin-right:0}.prose .wp-block-columns{flex-wrap:wrap!important}.prose .wp-block-column{min-width:0}.prose figcaption{line-height:1.5}.comments-area{margin-top:45px;border-top:1px solid #e2e8f0;padding-top:25px}.comment-list{padding-left:22px}.comment-form input:not([type=checkbox]),.comment-form textarea{max-width:100%;width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:4px}.comment-form input[type=submit]{background:#2563eb;color:white;cursor:pointer}.wp-block-button__link{color:white!important}.post-links{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #e2e8f0;padding-top:25px;margin-top:40px;font-size:14px}.post-links>div{max-width:48%}.feature-topic-list{display:flex;flex-direction:column;gap:15px;padding:20px;font-size:18px;color:#dce6f4}.feature-topic-list span{border-bottom:1px solid #334155;padding-bottom:15px}.prose h1{font-size:38px}.prose h3{font-size:24px;margin:30px 0 15px}.archive-description{max-width:780px;color:#475569;margin:0 0 20px}.password-form input{max-width:100%}.site-page .article-layout{grid-template-columns:minmax(0,850px);justify-content:center}.site-page .article-head{max-width:1000px}.site-page .article-related{position:static}.archive-heading{max-width:1000px}.prose .wp-caption{max-width:100%}.prose .wp-caption img{max-width:100%}.prose ol ol{list-style:lower-alpha}.preview-note{padding:9px 5%;font-size:12px;background:#eaf2ff;color:#24416f}.contents:empty{display:none}dialog img{max-height:75vh;object-fit:contain}
@media(max-width:782px){body.admin-bar>nav{top:46px!important}.admin-bar .read-progress{top:118px}}
@media(max-width:760px){.desktop-break{display:none}.filters a{padding:9px 11px}.prose h1{font-size:30px}.prose .wp-block-columns{display:block}.post-links{flex-direction:column}.post-links>div{max-width:100%}}

.pagination>ul{list-style:none;border:0;display:flex;gap:8px;flex-wrap:wrap;padding:0;margin:0}.pagination li{list-style:none}
.legacy-page{background:#0a0e27;color:#e2e8f0}.legacy-page h1,.legacy-page h2,.legacy-page h3{color:white}.legacy-page .hero{padding:70px 0 35px;text-align:center}.legacy-page .hero p{max-width:800px;margin:20px auto;color:#cbd5e1}.legacy-page .content-area{padding:45px 0}.legacy-page .page-content{padding:25px;border:1px solid #334155;border-radius:12px}.legacy-page .section-title{text-align:center;margin-bottom:20px}.legacy-page .section-subtitle{text-align:center;color:#cbd5e1}.legacy-page .cta-button,.legacy-page .contact-button{display:inline-block;background:#2563eb;color:white;padding:13px 20px;border:0;border-radius:6px;text-decoration:none;min-height:44px}.legacy-page .animate-on-scroll{opacity:1!important;transform:none!important}.legacy-page .container{max-width:1200px}.legacy-page section{overflow-wrap:anywhere}.legacy-page a{overflow-wrap:anywhere}
@media(max-width:760px){.legacy-page [style*="display: grid"]{grid-template-columns:1fr!important;gap:24px!important}.legacy-page .founder-visual>div{max-width:100%!important}.legacy-page .page-content{padding:20px}.legacy-page [style*="padding: 100px"]{padding:45px 0!important}}
/* Optional contents panels must never change which column owns the article. */
.single .article-layout {
  grid-template-areas: "contents article related";
}
.single .article-layout > .contents { grid-area: contents; }
.single .article-layout > .prose { grid-area: article; }
.single .article-layout > .article-related { grid-area: related; }
.single .article-layout:has(> .contents:empty) {
  grid-template-columns: minmax(0, 850px) 220px;
  grid-template-areas: "article related";
  justify-content: center;
}
@media (min-width: 1800px) {
  .single .article-layout:has(> .contents:empty) {
    grid-template-columns: minmax(0, 850px) 260px;
  }
}
@media (max-width: 1100px) {
  .single .article-layout {
    grid-template-areas: "contents article" ". related";
  }
  .single .article-layout:has(> .contents:empty) {
    grid-template-columns: minmax(0, 850px);
    grid-template-areas: "article" "related";
  }
}

.article-search input{min-width:0}.article-search button{white-space:nowrap}.article-search{max-width:100%}
