/* Scoped reference defaults keep the shared navigation and footer intact. */
#iso-soc-article, #iso-soc-article *, #iso-soc-article *::before, #iso-soc-article *::after { box-sizing: border-box; }
#iso-soc-article h1, #iso-soc-article h2, #iso-soc-article h3, #iso-soc-article h4 { font-family: Bitter, Georgia, serif; margin: 0; font-weight: 700; color: var(--ink); }
#iso-soc-article a { color: var(--brand); text-decoration: none; }
#iso-soc-article a:hover { text-decoration: underline; }
#iso-soc-article img { max-width: 100%; }
#iso-soc-article{
  --surface: oklch(97.5% 0.005 245);
  --ink: oklch(22% 0.04 245);
  --ink-muted: oklch(42% 0.05 245);
  --ink-faint: oklch(58% 0.03 245);
  --brand: oklch(38% 0.20 255);
  --brand-pale: oklch(95% 0.03 255);
  --brand-mid: oklch(48% 0.20 255);
  --brand-dark: oklch(25% 0.18 255);
  --amber2: oklch(72% 0.14 70);
  --border: oklch(91% 0.008 245);
  --card: oklch(99.5% 0.003 245);
  --text-xs: clamp(0.75rem, 0.7rem + 0.2vw, 0.85rem);
  --text-sm: clamp(0.875rem, 0.85rem + 0.2vw, 1rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
  --text-xl: clamp(1.375rem, 1.1rem + 1vw, 1.875rem);
  --text-2xl: clamp(1.75rem, 1.3rem + 2vw, 2.75rem);
  background: var(--surface);
  color: var(--ink);
  font-family: "Source Sans 3", system-ui, sans-serif;
  font-size: var(--text-base);
  line-height: 1.65;
}
#iso-soc-article .prose-container{max-width:760px;margin:0 auto;padding:0 clamp(20px,5vw,48px)}
#iso-soc-article .article-header{padding:clamp(48px,8vw,88px) 0 clamp(32px,6vw,48px)}
#iso-soc-article .article-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);margin-bottom:20px}
#iso-soc-article .article-eyebrow-dot{width:6px;height:6px;background:var(--amber2);border-radius:50%;flex-shrink:0}
#iso-soc-article .article-header h1{font-family:Bitter,serif;font-size:clamp(2rem,1.5rem + 2.5vw,3.25rem);font-weight:700;line-height:1.12;letter-spacing:-.02em;color:var(--ink);margin-bottom:20px}
#iso-soc-article .article-sub{font-size:var(--text-lg);color:var(--ink-muted);line-height:1.6;margin-bottom:24px}
#iso-soc-article .article-meta{display:flex;align-items:center;gap:14px;font-size:var(--text-sm);color:var(--ink-faint);flex-wrap:wrap}
#iso-soc-article .article-meta .dot{width:3px;height:3px;background:var(--ink-faint);border-radius:50%}
#iso-soc-article .prose{padding-bottom:clamp(48px,8vw,80px)}
#iso-soc-article .prose p{font-size:var(--text-base);color:var(--ink-muted);line-height:1.75;margin-bottom:22px}
#iso-soc-article .prose h2{font-family:Bitter,serif;font-size:var(--text-2xl);font-weight:700;color:var(--ink);letter-spacing:-.01em;line-height:1.2;margin:48px 0 20px}
#iso-soc-article .prose strong{color:var(--ink);font-weight:700}
#iso-soc-article .prose ul,#iso-soc-article .prose ol:not(.checklist){padding-left:1.4rem;margin:0 0 22px}
#iso-soc-article .prose ul li,#iso-soc-article .prose ol:not(.checklist) li{color:var(--ink-muted);line-height:1.75;margin-bottom:8px;font-size:var(--text-base)}
#iso-soc-article .checklist{list-style:none;margin:28px 0 32px;padding:0;display:flex;flex-direction:column;gap:2px;background:var(--border);border-radius:12px;overflow:hidden}
#iso-soc-article .checklist li{background:var(--card);padding:20px 24px;display:flex;gap:18px;align-items:flex-start}
#iso-soc-article .checklist-num{font-family:Bitter,serif;font-size:var(--text-xl);font-weight:700;color:var(--brand-pale);flex-shrink:0;line-height:1.3;min-width:28px}
#iso-soc-article .checklist-body strong{font-family:Bitter,serif;font-size:var(--text-base);color:var(--ink);display:block;margin-bottom:4px}
#iso-soc-article .checklist-body span{font-size:var(--text-sm);color:var(--ink-muted);line-height:1.6}
#iso-soc-article .cta-soft{background:var(--brand-pale);border:1px solid oklch(0.88 0.05 255);border-radius:12px;padding:24px 28px;margin:8px 0 40px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
#iso-soc-article .cta-soft p{font-size:var(--text-sm);color:var(--ink-muted);margin:0;flex:1 1 0%;min-width:220px;line-height:1.6}
#iso-soc-article .cta-main{background:var(--brand-dark);border-radius:14px;padding:clamp(28px,5vw,40px);margin:40px 0 8px}
#iso-soc-article .cta-main-eyebrow{font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--amber2);margin-bottom:12px}
#iso-soc-article .cta-main h3{font-family:Bitter,serif;font-size:var(--text-xl);font-weight:700;color:#fff;margin-bottom:12px;line-height:1.25}
#iso-soc-article .cta-main p{font-size:var(--text-sm);color:oklch(0.78 0.05 245);line-height:1.7;margin-bottom:24px;max-width:60ch}
#iso-soc-article .btn-primary{background:var(--brand);color:#fff;padding:13px 26px;border-radius:6px;font-family:"Source Sans 3",sans-serif;font-size:var(--text-base);font-weight:700;text-decoration:none;border:none;cursor:pointer;transition:background .15s,transform .15s;display:inline-block;white-space:nowrap}
#iso-soc-article .btn-primary:hover{background:var(--brand-mid);transform:translateY(-1px);text-decoration:none}
#iso-soc-article .btn-amber{background:var(--amber2);color:oklch(0.2 0.05 70);padding:13px 26px;border-radius:6px;font-family:"Source Sans 3",sans-serif;font-size:var(--text-base);font-weight:700;text-decoration:none;border:none;cursor:pointer;transition:opacity .15s,transform .15s;display:inline-block;white-space:nowrap}
#iso-soc-article .btn-amber:hover{opacity:.9;transform:translateY(-1px);text-decoration:none}
#iso-soc-article .article-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px;padding-top:32px;border-top:1px solid var(--border)}
#iso-soc-article .article-tag{font-size:12px;font-weight:600;background:var(--brand-pale);color:var(--brand);padding:5px 12px;border-radius:20px}
@media(max-width:600px){
  #iso-soc-article .cta-soft{flex-direction:column;align-items:stretch}
  #iso-soc-article .cta-soft p{min-width:0;flex:1 1 auto}
  #iso-soc-article .btn-primary,#iso-soc-article .btn-amber{white-space:normal;text-align:center}
}
/* supplementary components (added content, styled to the real tokens above) */
#iso-soc-article .note{font-size:var(--text-sm);color:var(--ink-faint);margin:-6px 0 22px}
#iso-soc-article .resource-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:var(--brand-pale);border:1px solid oklch(0.88 0.05 255);border-radius:12px;padding:24px 28px;margin:12px 0 8px}
#iso-soc-article .resource-cta h3{font-family:Bitter,serif;font-size:var(--text-lg);color:var(--ink);margin-bottom:4px;font-weight:700}
#iso-soc-article .resource-cta p{margin:0;color:var(--ink-muted);font-size:var(--text-sm)}
@media(max-width:600px){#iso-soc-article .resource-cta{flex-direction:column;align-items:stretch}}
#iso-soc-article .criteria-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px;margin:20px 0 32px}
#iso-soc-article .criteria-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:20px}
#iso-soc-article .criteria-card h3{font-family:Bitter,serif;font-size:var(--text-base);color:var(--ink);margin-bottom:8px;font-weight:700}
#iso-soc-article .criteria-card p{font-size:var(--text-sm);color:var(--ink-muted);line-height:1.65;margin:0}
@media(max-width:640px){#iso-soc-article .criteria-grid{grid-template-columns:1fr}}


/* Keep reference components usable with the site's sticky navigation. */
#iso-soc-article [id] { scroll-margin-top: 110px; }
#iso-soc-article a:focus-visible { outline: 3px solid var(--brand-mid); outline-offset: 4px; }
#iso-soc-article .checklist-body { min-width: 0; }
#iso-soc-article .table-wrap:focus-visible { outline: 3px solid var(--brand-mid); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  #iso-soc-article .btn-primary, #iso-soc-article .btn-amber { transition: none; }
}
