:root {
  --ink: #172027;
  --ink-2: #27323a;
  --gunmetal: #303a42;
  --gunmetal-deep: #202a31;
  --steel: #62717c;
  --silver: #c7d0d6;
  --silver-light: #e9eef1;
  --paper: #ffffff;
  --paper-2: #f5f7f8;
  --paper-3: #edf1f3;
  --line: #d5dde2;
  --line-dark: rgba(255,255,255,.18);
  --accent: #2f6f93;
  --accent-deep: #1d526f;
  --accent-soft: #dcebf3;
  --news: #7d2430;
  --news-deep: #541923;
  --news-soft: #f4e8ea;
  --success: #24644b;
  --danger: #8d2d37;
  --shadow-sm: 0 8px 24px rgba(20,30,37,.08);
  --shadow-md: 0 18px 50px rgba(20,30,37,.13);
  --shadow-lg: 0 28px 80px rgba(12,20,26,.22);
  --radius-sm: 8px;
  --radius: 14px;
  --radius-lg: 24px;
  --shell: 1220px;
  --header-height: 78px;
  --chrome: #080b0d;
  --chrome-2: #10171c;
  --chrome-3: #182229;
  --chrome-text: #e9eef1;
  --chrome-muted: #aebbc3;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper-3);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.menu-open, body.dialog-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
::selection { background: var(--accent); color: #fff; }

.shell { width: min(calc(100% - 40px), var(--shell)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 9999; top: 12px; left: 12px; padding: 10px 14px; background: #fff; color: var(--ink); border-radius: 6px; transform: translateY(-150%); }
.skip-link:focus { transform: none; }

.utility-bar { background: #020304; color: #c9d3d9; border-bottom: 1px solid rgba(255,255,255,.08); font-size: .76rem; letter-spacing: .02em; }
.utility-bar__inner { min-height: 34px; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.utility-bar__social { display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.utility-bar__social > span { color:#91a1ab; font-size:.62rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }

.social-links { display:flex; align-items:center; gap:7px; }
.social-links a { display:inline-flex; align-items:center; justify-content:center; width:29px; height:29px; border:1px solid rgba(255,255,255,.18); border-radius:50%; background:rgba(255,255,255,.055); color:#e8eef1; text-decoration:none; transition:transform .16s ease, background .16s ease, border-color .16s ease, color .16s ease; }
.social-links a:hover, .social-links a:focus-visible { transform:translateY(-1px); background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.4); color:#fff; text-decoration:none; outline:none; }
.social-links a:focus-visible { box-shadow:0 0 0 3px rgba(143,183,204,.32); }
.social-links svg { width:14px; height:14px; fill:currentColor; }
.social-links--utility a { width:26px; height:26px; }
.social-links--utility svg { width:13px; height:13px; }

.site-header {
  position: sticky;
  z-index: 1000;
  top: 0;
  background: rgba(8,11,13,.975);
  border-bottom: 1px solid rgba(255,255,255,.13);
  box-shadow: 0 8px 26px rgba(0,0,0,.28);
  backdrop-filter: blur(16px);
}
.site-header__scan { position: absolute; inset: auto 0 0; height: 2px; overflow: hidden; opacity: .75; }
.site-header__scan::after { content:""; display:block; width: 18%; height:100%; background: linear-gradient(90deg, transparent, var(--accent), transparent); animation: scan 7s linear infinite; }
@keyframes scan { from { transform: translateX(-120%); } to { transform: translateX(680%); } }
.header-inner { min-height: var(--header-height); display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--chrome-text); text-decoration: none; min-width: 230px; }
.brand__mark { flex: 0 0 auto; width: 50px; height: 54px; object-fit: contain; background: transparent; filter: drop-shadow(0 4px 10px rgba(0,0,0,.42)); }
.brand__words { display: grid; line-height: 1.05; }
.brand__words strong { color: #fff; font-size: 1rem; letter-spacing: .115em; }
.brand__words small { margin-top: 6px; color: var(--chrome-muted); font-size: .64rem; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.main-nav { display: flex; align-items: center; gap: 1px; }
.main-nav__social { display:none; }
.main-nav > a, .nav-search { position: relative; padding: 10px 10px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: #d6e0e5; text-decoration: none; font-size: .86rem; font-weight: 720; cursor: pointer; }
.main-nav > a:hover, .nav-search:hover { background: rgba(255,255,255,.08); color: #fff; }
.main-nav > a[aria-current="page"], .nav-search[aria-current="page"] { background: linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.07)); border-color: rgba(255,255,255,.10); color: #fff; box-shadow: inset 0 -2px 0 #8fb7cc; }
.nav-search { display: inline-flex; align-items: center; gap: 7px; }
.nav-search svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 2; }
.menu-toggle { display: none; border: 0; padding: 10px; background: transparent; color: var(--chrome-text); font-weight: 800; cursor: pointer; }
.menu-toggle i, .menu-toggle i::before, .menu-toggle i::after { display: block; width: 24px; height: 2px; background: currentColor; transition: .2s ease; }
.menu-toggle i { position: relative; margin-left: 9px; }
.menu-toggle i::before, .menu-toggle i::after { content:""; position:absolute; left:0; }
.menu-toggle i::before { top:-7px; } .menu-toggle i::after { top:7px; }

.search-dialog { width:min(940px,calc(100% - 32px)); max-height:calc(100dvh - 32px); border:0; border-radius:var(--radius-lg); padding:0; overflow:hidden; box-shadow:var(--shadow-lg); color:var(--ink); }
.search-dialog.search-dialog--has-results { height:min(760px,calc(100dvh - 32px)); }
.search-dialog::backdrop { background:rgba(15,23,29,.72); backdrop-filter:blur(4px); }
.search-dialog__panel { position:relative; display:flex; min-height:0; max-height:calc(100dvh - 32px); flex-direction:column; padding:clamp(26px,4vw,44px); overflow:hidden; background:linear-gradient(145deg,#fff,#edf2f4); }
.search-dialog--has-results .search-dialog__panel { height:100%; }
.search-dialog__intro { flex:0 0 auto; padding-right:56px; }
.search-dialog__description { max-width:760px; margin-bottom:0; color:#40515b; line-height:1.55; }
.search-dialog__close { position:absolute; z-index:4; top:16px; right:18px; width:42px; height:42px; border:1px solid var(--line); border-radius:50%; background:#fff; font-size:1.7rem; line-height:1; cursor:pointer; }
.search-dialog__close:hover { border-color:#7f98a6; background:#f5f8f9; }
.search-dialog__close:focus-visible { outline:3px solid rgba(47,111,147,.28); outline-offset:2px; }
.search-dialog h2 { margin:4px 0 10px; font-size:clamp(1.8rem,4vw,2.8rem); line-height:1.05; }
.search-dialog .search-form--dialog { display:flex; min-height:0; flex:1 1 auto; flex-direction:column; margin-top:20px; }
.search-dialog__controls { display:flex; flex:0 0 auto; gap:10px; align-items:stretch; }
.search-dialog__controls .button { flex:0 0 auto; }
.search-form--dialog > .search-dialog__results { display:none; min-height:0; flex:1 1 auto; flex-direction:column; gap:0; margin-top:12px; }
.search-dialog--has-results .search-form--dialog > .search-dialog__results { display:flex; }
.search-dialog__results-footer { display:flex; flex:0 0 auto; justify-content:space-between; gap:18px; align-items:center; padding:10px 2px 0; color:#62737c; font-size:.76rem; }
.search-dialog__results-footer a { color:var(--accent-deep); font-weight:850; text-decoration:none; white-space:nowrap; }
.search-dialog__results-footer a:hover { text-decoration:underline; }

.eyebrow { margin: 0 0 9px; color: var(--accent-deep); font-size: .72rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.eyebrow--light { color: #dbe8ef; }
h1,h2,h3 { margin-top:0; color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; font-stretch:normal; line-height:1.08; letter-spacing:-.025em; }
h1 { font-size: clamp(2.6rem, 6vw, 5.6rem); }
h2 { font-size: clamp(1.8rem, 3.7vw, 3.25rem); }
h3 { font-size: clamp(1.1rem, 2vw, 1.5rem); }
p { margin-top:0; }

.button-row { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:46px; padding: 11px 18px; border:1px solid transparent; border-radius:8px; font-size:.86rem; font-weight:850; letter-spacing:.02em; text-decoration:none; transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease; cursor:pointer; }
.button:hover { transform: translateY(-2px); }
.button--primary { background:var(--accent-deep); color:#fff; box-shadow:0 8px 20px rgba(29,82,111,.18); }
.button--primary:hover { background:#17435d; }
.button--secondary { background:#fff; border-color:#aebbc3; color:var(--ink); }
.button--secondary:hover { border-color:var(--accent); color:var(--accent-deep); }
.button--light { background:#fff; color:var(--gunmetal-deep); box-shadow:0 8px 20px rgba(0,0,0,.15); }
.button--outline-light { border-color:rgba(255,255,255,.62); color:#fff; background:transparent; }
.button--outline-light:hover { background:rgba(255,255,255,.1); border-color:#fff; }
.button--ghost { border-color:var(--line); color:var(--accent-deep); background:transparent; }
.text-link { color:var(--accent-deep); font-weight:850; text-decoration:none; }
.text-link:hover { text-decoration:underline; }

.section { padding: clamp(68px, 8vw, 112px) 0; background:var(--paper); }
.section--tight { padding: clamp(50px, 6vw, 82px) 0; }
.section--steel { background: linear-gradient(180deg,#eef2f4,#e5eaed); border-block:1px solid var(--line); }
.section--books { background:linear-gradient(135deg,#f6f2ea,#e8edf0); }
.section-heading { max-width: 820px; margin-bottom:36px; }
.section-heading h2 { margin-bottom:0; }
.section-heading--split { max-width:none; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr); gap:50px; align-items:end; }
.section-heading--split > p { margin-bottom:4px; color:#53636d; max-width:570px; }
.heading-actions { justify-self:end; }
.center-action { display:flex; justify-content:center; margin-top:34px; }

.hero, .page-hero, .course-hero, .podcast-hero, .episode-hero, .wiki-entry-hero, .news-hero, .article-hero, .about-hero, .not-found {
  position:relative; overflow:hidden; color:#fff; background:
    radial-gradient(circle at 85% 15%, rgba(112,166,196,.30), transparent 27%),
    radial-gradient(circle at 10% 80%, rgba(255,255,255,.08), transparent 28%),
    linear-gradient(135deg,#202a31 0%,#3d4952 52%,#202a31 100%);
}
.hero::after, .page-hero::after, .course-hero::after, .podcast-hero::after, .episode-hero::after, .wiki-entry-hero::after, .news-hero::after, .article-hero::after, .about-hero::after, .not-found::after {
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.36; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:44px 44px; mask-image:linear-gradient(to right,transparent,#000 60%);
}
.hero > *, .page-hero > *, .course-hero > *, .podcast-hero > *, .episode-hero > *, .wiki-entry-hero > *, .news-hero > *, .article-hero > *, .about-hero > *, .not-found > * { position:relative; z-index:1; }
.hero h1, .hero h2, .page-hero h1, .page-hero h2, .course-hero h1, .podcast-hero h1, .episode-hero h1, .wiki-entry-hero h1, .news-hero h1, .article-hero h1, .about-hero h1, .not-found h1 { color:#fff; }
.page-hero { padding: clamp(68px, 9vw, 126px) 0; }
.page-hero--compact { padding: clamp(56px, 7vw, 88px) 0; }
.page-hero--compact h1 { max-width:900px; margin-bottom:14px; font-size:clamp(2.5rem,5vw,4.5rem); }
.page-hero--compact p:not(.eyebrow) { max-width:760px; font-size:1.1rem; color:#e3e9ed; }
.page-hero__inner { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:70px; align-items:center; }
.page-hero__inner > div:first-child > p:not(.eyebrow) { max-width:780px; font-size:1.13rem; color:#e2e8ec; }
.hero-metric { min-height:240px; padding:28px; display:flex; flex-direction:column; justify-content:center; border:1px solid rgba(255,255,255,.2); border-radius:var(--radius-lg); background:rgba(12,20,25,.28); backdrop-filter:blur(7px); }
.hero-metric strong { color:#fff; font-size:clamp(2rem,4vw,3.8rem); line-height:1; }
.hero-metric span { margin:5px 0 17px; color:#cfd9df; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }

.hero--home { min-height: 650px; display:flex; align-items:center; padding: clamp(70px, 9vw, 118px) 0; }
.hero-grid { position:absolute; inset:0; opacity:.24; background-image:radial-gradient(circle at center,rgba(255,255,255,.24) 0 1px,transparent 1.5px); background-size:28px 28px; mask-image:linear-gradient(90deg,transparent 10%,#000 65%); }
.hero__layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.65fr); gap:clamp(46px,8vw,100px); align-items:center; }
.hero__copy h1 { max-width:900px; margin-bottom:22px; }
.hero__copy h1 span { color:#a9d2e6; }
.hero__lede { max-width:740px; margin-bottom:30px; color:#e0e7eb; font-size:clamp(1.02rem,1.7vw,1.25rem); }
.hero-start { padding:26px; border:1px solid rgba(255,255,255,.23); border-radius:var(--radius-lg); background:rgba(14,23,29,.46); box-shadow:var(--shadow-lg); backdrop-filter:blur(9px); }
.hero-start > a { display:grid; grid-template-columns:42px 1fr; column-gap:12px; padding:16px 0; border-top:1px solid rgba(255,255,255,.13); color:#fff; text-decoration:none; }
.hero-start > a:first-of-type { border-top:0; }
.hero-start > a span { grid-row:1/3; color:#8fc1da; font-weight:900; font-size:.78rem; }
.hero-start > a strong { font-size:1rem; }
.hero-start > a small { color:#bdc9cf; }
.hero-start > a:hover strong { color:#a9d2e6; }

.route-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.route-card { position:relative; min-height:280px; padding:28px; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow-sm); text-decoration:none; transition:.2s ease; }
.route-card::before { content:""; position:absolute; inset:0 auto 0 0; width:5px; background:var(--accent); }
.route-card--news::before { background:var(--news); }
.route-card--wiki::before { background:#506b57; }
.route-card--podcasts::before { background:#6b587d; }
.route-card:hover { transform:translateY(-5px); border-color:#aebbc3; box-shadow:var(--shadow-md); }
.route-card__number { color:#84939c; font-size:.76rem; font-weight:900; letter-spacing:.14em; }
.route-card h3 { margin:42px 0 12px; font-size:1.65rem; }
.route-card p { color:#53636d; }
.route-card .text-link { position:absolute; left:28px; bottom:25px; }

.feature-split { display:grid; grid-template-columns:1.25fr .75fr; gap:20px; }
.featured-course { min-height:360px; display:grid; grid-template-columns:180px 1fr; gap:30px; align-items:center; padding:34px; border-radius:var(--radius-lg); background:#fff; box-shadow:var(--shadow-md); }
.featured-course__mark { aspect-ratio:1; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid #aebbc3; border-radius:50%; background:radial-gradient(circle at 30% 25%,#fff,#cfd7dc 55%,#82909a); box-shadow:inset 0 0 0 8px rgba(255,255,255,.3),0 15px 35px rgba(27,42,51,.18); }
.featured-course__mark span { font-size:2rem; font-weight:950; letter-spacing:-.05em; }
.featured-course__mark small { font-size:.62rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.featured-course h3 { margin-bottom:12px; font-size:clamp(2rem,4vw,3.1rem); }
.mini-course-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.mini-course { min-height:170px; padding:22px; display:flex; flex-direction:column; justify-content:flex-end; border:1px solid var(--line); border-radius:var(--radius); background:#f9fafb; color:var(--ink); text-decoration:none; transition:.18s ease; }
.mini-course:hover { transform:translateY(-3px); background:#fff; box-shadow:var(--shadow-sm); }
.mini-course > span { margin-bottom:auto; color:var(--accent-deep); font-size:.7rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.mini-course strong { line-height:1.2; }
.mini-course small { margin-top:7px; color:var(--steel); }

.path-grid, .topic-grid, .entry-card-grid, .course-grid, .article-grid, .resource-grid, .news-value-grid { display:grid; gap:18px; }
.path-grid { grid-template-columns:repeat(3,1fr); }
.path-card { min-height:210px; padding:25px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; text-decoration:none; box-shadow:var(--shadow-sm); }
.path-card span { display:inline-grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--accent-soft); color:var(--accent-deep); font-weight:900; }
.path-card h3 { margin:28px 0 9px; }
.path-card p { color:#566670; }
.topic-grid { grid-template-columns:repeat(4,1fr); }
.topic-grid--home { grid-template-columns:repeat(3,1fr); }
.topic-card { min-height:240px; padding:25px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; text-decoration:none; box-shadow:var(--shadow-sm); }
a.topic-card { transition:.2s ease; }
a.topic-card:hover { transform:translateY(-4px); border-color:#9dabb4; box-shadow:var(--shadow-md); }
.topic-card__icon { display:inline-grid; place-items:center; min-width:42px; height:42px; padding:0 10px; border-radius:8px; background:#dfe6ea; color:#30414c; font-size:.76rem; font-weight:950; }
.topic-card h3 { margin:28px 0 10px; }
.topic-card p { color:#53636d; }
.topic-card small { color:var(--accent-deep); font-weight:800; }
.entry-card-grid { grid-template-columns:repeat(3,1fr); }
.entry-card { min-height:210px; padding:24px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; text-decoration:none; box-shadow:var(--shadow-sm); }
a.entry-card { transition:.18s ease; }
a.entry-card:hover { transform:translateY(-3px); border-color:#9cabb4; }
.entry-card > span, .entry-card--article > span { color:var(--accent-deep); font-size:.7rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.entry-card h3 { margin:22px 0 10px; }
.entry-card p { color:#566670; }

.course-grid { grid-template-columns:repeat(3,1fr); }
.course-card { position:relative; min-height:310px; display:flex; flex-direction:column; padding:26px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow-sm); }
.course-card--connected { border-top:4px solid var(--accent); }
.course-card__top { display:flex; justify-content:space-between; gap:16px; color:var(--accent-deep); font-size:.7rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.course-card h3 { margin:34px 0 11px; }
.course-card h3 a { text-decoration:none; }
.course-card h3 a:hover { color:var(--accent-deep); }
.course-card p { color:#586871; }
.course-card__meta { margin-top:auto; padding-top:18px; display:flex; justify-content:space-between; gap:12px; border-top:1px solid var(--line); color:#63747e; font-size:.78rem; }
.course-card .text-link { margin-top:15px; }

.academy-directory { background:linear-gradient(180deg,#fff,#f5f7f8); scroll-margin-top:calc(var(--header-height) + 24px); }
.academy-directory__heading { margin-bottom:25px; }
.academy-directory__intro { align-self:end; color:#53636d; }
.academy-directory__intro p { margin-bottom:8px; }
.provider-jump { display:flex; flex-wrap:wrap; gap:9px; margin:0 0 48px; padding:18px; border:1px solid var(--line); border-radius:var(--radius); background:#edf1f3; }
.provider-jump a { display:inline-flex; align-items:center; gap:9px; min-height:38px; padding:7px 11px; border:1px solid #c8d1d7; border-radius:7px; background:#fff; color:#33434d; font-size:.78rem; font-weight:800; text-decoration:none; }
.provider-jump a:hover { border-color:var(--accent); color:var(--accent-deep); box-shadow:0 5px 14px rgba(20,30,37,.08); }
.provider-jump small { display:inline-grid; place-items:center; min-width:24px; height:24px; padding:0 6px; border-radius:999px; background:#e1e7ea; color:#52636e; font-size:.68rem; }
.provider-directory { display:grid; gap:54px; }
.provider-group { scroll-margin-top:calc(var(--header-height) + 26px); }
.provider-group__heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:17px; padding-bottom:14px; border-bottom:2px solid #aeb9c0; }
.provider-group__heading .eyebrow { margin-bottom:5px; }
.provider-group__heading h3 { margin:0; font-size:clamp(1.55rem,2.8vw,2.25rem); }
.provider-group__heading > span { flex:0 0 auto; padding:6px 10px; border-radius:999px; background:#dfe6ea; color:#465861; font-size:.72rem; font-weight:850; }
.course-directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.course-directory-card { position:relative; min-height:118px; display:flex; flex-direction:column; padding:18px 42px 16px 18px; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); text-decoration:none; box-shadow:0 5px 16px rgba(20,30,37,.05); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.course-directory-card::after { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:#9ba8b0; }
.course-directory-card:hover { transform:translateY(-2px); border-color:#9dabb4; box-shadow:var(--shadow-sm); }
.course-directory-card--connected::after { width:5px; background:var(--accent); }
.course-directory-card__path { color:var(--accent-deep); font-size:.65rem; font-weight:900; letter-spacing:.075em; line-height:1.35; text-transform:uppercase; }
.course-directory-card strong { margin:11px 0 12px; font-size:1rem; line-height:1.25; }
.course-directory-card small { margin-top:auto; display:flex; justify-content:space-between; gap:14px; color:#667781; font-size:.73rem; font-weight:700; }
.course-directory-card small b { position:absolute; right:17px; bottom:14px; color:var(--accent-deep); font-size:1.05rem; }

.filter-panel { display:grid; grid-template-columns:minmax(280px,2fr) minmax(180px,1fr) minmax(180px,1fr) auto; gap:14px; align-items:end; margin-bottom:30px; padding:20px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow-sm); }
.filter-panel--episodes { grid-template-columns:minmax(280px,1fr) auto; }
.filter-field { display:grid; gap:7px; }
.filter-field label, .search-form label, .contact-form label { color:#34434c; font-size:.75rem; font-weight:850; letter-spacing:.06em; }
.filter-field input, .filter-field select, .search-form input, .contact-form input, .contact-form textarea { width:100%; border:1px solid #b8c3c9; border-radius:8px; background:#fff; color:var(--ink); padding:12px 13px; outline:none; }
.filter-field input:focus, .filter-field select:focus, .search-form input:focus, .contact-form input:focus, .contact-form textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(47,111,147,.14); }
.filter-count { grid-column:1/-1; margin:0; color:#64747d; font-size:.8rem; }
.filter-reset { min-height:44px; }
.record-count { color:#596973; font-weight:800; }

.news-feature, .news-hero__layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.65fr); gap:70px; align-items:center; }
.section--news, .news-hero { background:
  radial-gradient(circle at 90% 20%, rgba(255,255,255,.12),transparent 28%),
  linear-gradient(135deg,var(--news-deep),var(--news) 58%,#3b141a); color:#fff; }
.section--news h2, .news-hero h1 { color:#fff; }
.section--news { padding:clamp(68px,8vw,110px) 0; }
.news-feature__copy p:not(.eyebrow), .news-hero p:not(.eyebrow) { color:#f0dfe2; }
.news-feature__board, .briefing-board { padding:28px; border-radius:var(--radius-lg); background:#f8f4ed; color:#211b1c; box-shadow:0 24px 70px rgba(0,0,0,.26); transform:rotate(1.5deg); }
.news-feature__board > span { display:block; padding-bottom:14px; border-bottom:4px solid var(--news); color:var(--news); font-size:.82rem; font-weight:950; letter-spacing:.15em; }
.news-feature__board > strong { display:block; margin:20px 0; font-family:Georgia,serif; font-size:2.8rem; }
.news-feature__board ol { margin:0; padding-left:20px; }
.news-feature__board small { display:block; margin-top:22px; color:#6c5a5d; }
.news-hero { padding:clamp(70px,9vw,118px) 0; }
.briefing-board { transform:rotate(1deg); }
.briefing-board__mast { padding-bottom:15px; border-bottom:5px solid var(--news); display:grid; }
.briefing-board__mast span { color:var(--news); font-weight:950; letter-spacing:.15em; }
.briefing-board__mast strong { font-family:Georgia,serif; font-size:2.2rem; line-height:1; }
.briefing-board__mast small { color:#77676a; }
.briefing-board__line { display:grid; grid-template-columns:36px 1fr; gap:12px; padding:15px 0; border-bottom:1px solid #d8cdd0; }
.briefing-board__line > span { color:var(--news); font-weight:950; }
.briefing-board__line p { display:grid; margin:0; }
.briefing-board__line small { color:#75676a; }
.redirect-note { margin-top:18px!important; font-size:.82rem!important; }
.news-value-grid { grid-template-columns:repeat(3,1fr); }
.news-value-grid article { padding:28px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
.news-value-grid article > span { color:var(--news); font-size:.7rem; font-weight:950; letter-spacing:.14em; }
.news-value-grid h3 { margin:28px 0 10px; }
.news-value-grid p { color:#596872; }
.section--news-paper { background:#eee9e2; }
.news-edition-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.6fr); gap:24px; align-items:start; }
.news-edition { padding:clamp(28px,5vw,55px); border:1px solid #d1c7bb; background:#fbf8f1; box-shadow:var(--shadow-md); }
.news-edition__top { display:flex; justify-content:space-between; gap:20px; padding-bottom:25px; border-bottom:5px solid var(--news); }
.news-edition__top > span { height:fit-content; padding:5px 10px; border-radius:999px; background:var(--news); color:#fff; font-size:.72rem; font-weight:900; text-transform:uppercase; }
.news-edition__intro { margin:28px 0; font-family:Georgia,serif; font-size:1.15rem; }
.news-action-list { display:grid; border-top:1px solid #d6cdc2; }
.news-action-list a { display:flex; justify-content:space-between; gap:25px; padding:17px 0; border-bottom:1px solid #d6cdc2; text-decoration:none; }
.news-action-list a:hover strong { color:var(--news); }
.news-sidebar-card { padding:30px; border-radius:var(--radius); background:var(--gunmetal); color:#e3e9ed; }
.news-sidebar-card h2 { color:#fff; font-size:2rem; }
.connection-flow { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid #cbd4d9; border-radius:var(--radius); overflow:hidden; }
.connection-flow a { min-height:190px; padding:25px; display:flex; flex-direction:column; border-right:1px solid #cbd4d9; background:#fff; text-decoration:none; }
.connection-flow a:last-child { border-right:0; }
.connection-flow span { color:var(--accent-deep); font-size:.72rem; font-weight:950; }
.connection-flow strong { margin:auto 0 5px; font-size:1.2rem; }
.connection-flow small { color:#60717a; }

.media-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.media-card { min-height:250px; padding:26px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow-sm); }
.media-card:has(.media-card__art) { display:grid; grid-template-columns:110px 1fr; gap:22px; }
.media-card__art { width:110px; height:110px; display:grid; place-items:center; border-radius:50%; background:radial-gradient(circle at 30% 30%,#f7f9fa,#9aa8b1 68%,#4d5b64); color:#1f2b32; box-shadow:inset 0 0 0 6px rgba(255,255,255,.35); }
.media-card__art span { font-size:1.4rem; font-weight:950; }
.media-card__art--mag { border-radius:10px; background:#7a2732; color:#fff; }
.media-card h3 { margin-bottom:10px; }
.media-card p { color:#586872; }
.media-card > span { color:var(--accent-deep); font-weight:900; }
.books-callout { display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:70px; align-items:center; }
.book-stack { min-height:280px; position:relative; }
.book-stack i { position:absolute; left:10%; width:63%; height:75px; border-radius:5px; background:linear-gradient(90deg,#263139,#596873); box-shadow:0 10px 25px rgba(25,35,42,.18); }
.book-stack i:nth-child(1) { bottom:28px; transform:rotate(-3deg); }
.book-stack i:nth-child(2) { bottom:97px; left:20%; width:68%; transform:rotate(2deg); background:linear-gradient(90deg,#8a2a36,#4f1720); }
.book-stack i:nth-child(3) { bottom:162px; left:13%; width:72%; transform:rotate(-1deg); background:linear-gradient(90deg,#375f76,#1c3f52); }
.book-stack > span { position:absolute; right:0; top:16px; display:grid; place-items:center; width:145px; height:145px; border-radius:50%; background:#fff; box-shadow:var(--shadow-md); font-size:2rem; font-weight:950; }
.book-stack span small { font-size:.65rem; letter-spacing:.08em; text-transform:uppercase; }
.book-stack--hero { display:flex; gap:8px; min-height:260px; align-items:flex-end; }
.book-stack--hero span { position:static; width:62px; height:220px; border-radius:4px 4px 0 0; writing-mode:vertical-rl; transform:rotate(180deg); color:#fff; font-size:.85rem; letter-spacing:.15em; background:linear-gradient(#71818c,#29343b); }
.book-stack--hero span:nth-child(2) { height:245px; background:linear-gradient(#9b4651,#531923); }
.book-stack--hero span:nth-child(3) { height:200px; background:linear-gradient(#4c7590,#1b4056); }
.book-stack--hero span:nth-child(4) { height:230px; background:linear-gradient(#6b675e,#39362f); }

.show-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.show-card { display:grid; grid-template-columns:210px 1fr; min-height:350px; border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; background:#fff; box-shadow:var(--shadow-md); }
.show-card__art { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:25px; background:radial-gradient(circle at 30% 25%,#dfe7eb,#778792 58%,#263139); color:#fff; text-align:center; }
.show-card__art span { font-size:2.4rem; font-weight:950; }
.show-card__art small { margin-top:12px; font-weight:800; line-height:1.2; }
.show-card__body { padding:30px; }
.show-card__body h2 { font-size:2.15rem; }
.show-card__body h2 a { text-decoration:none; }
.show-card__meta { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0; }
.show-card__meta span { padding:5px 9px; border-radius:999px; background:var(--paper-3); color:#52626c; font-size:.7rem; font-weight:800; }
.show-card__art--hero { width:250px; min-height:250px; border-radius:50%; box-shadow:var(--shadow-lg); }
.podcast-hero, .course-hero, .episode-hero, .wiki-entry-hero, .article-hero, .about-hero { padding:clamp(62px,8vw,100px) 0; }
.podcast-hero__layout, .course-hero__layout, .episode-hero__layout, .wiki-entry-hero__layout, .about-hero__layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.42fr); gap:70px; align-items:center; }
.podcast-hero__layout { grid-template-columns:260px minmax(0,1fr); }
.course-hero__layout p:not(.eyebrow), .podcast-hero__layout p:not(.eyebrow), .episode-hero__layout p:not(.eyebrow), .wiki-entry-hero__layout p:not(.eyebrow), .about-hero__layout p:not(.eyebrow), .article-hero p:not(.eyebrow) { color:#dce4e8; font-size:1.08rem; }
.course-facts { display:grid; gap:12px; padding:24px; border:1px solid rgba(255,255,255,.2); border-radius:var(--radius); background:rgba(10,20,25,.3); }
.course-facts div { display:grid; grid-template-columns:95px 1fr; gap:15px; border-bottom:1px solid rgba(255,255,255,.12); padding-bottom:11px; }
.course-facts div:last-child { border-bottom:0; }
.course-facts span { color:#afbec6; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.course-facts strong { color:#fff; }
.course-overview-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.55fr); gap:30px; align-items:start; }
.study-loop { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:30px; }
.study-loop div { padding:18px; border-radius:10px; background:var(--paper-3); }
.study-loop span { color:var(--accent-deep); font-size:.72rem; font-weight:900; }
.study-loop strong { display:block; margin-top:15px; }
.course-next { padding:28px; border-radius:var(--radius); background:var(--gunmetal); color:#e3e8eb; }
.course-next h2 { color:#fff; }

.episode-list { display:grid; border-top:1px solid var(--line); }
.episode-row { display:grid; grid-template-columns:120px minmax(0,1fr) 40px; gap:24px; align-items:start; padding:25px 10px; border-bottom:1px solid var(--line); }
.episode-code { display:grid; }
.episode-code span { color:var(--accent-deep); font-weight:950; letter-spacing:.05em; }
.episode-code small { color:#788790; }
.episode-row h2, .episode-row h3 { margin:0 0 8px; font-size:1.35rem; }
.episode-row h2 a, .episode-row h3 a { text-decoration:none; }
.episode-row h2 a:hover, .episode-row h3 a:hover { color:var(--accent-deep); }
.episode-row p { margin:0; color:#596a73; }
.episode-open { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:#e3e9ec; color:var(--accent-deep); text-decoration:none; font-weight:950; }
.episode-open:hover { background:var(--accent-deep); color:#fff; }
.episode-list--preview .episode-row { grid-template-columns:90px 1fr 40px; }
.episode-list--compact .episode-row { grid-template-columns:80px 1fr 36px; }
.episode-number { width:200px; height:200px; display:grid; place-items:center; align-content:center; border:1px solid rgba(255,255,255,.25); border-radius:50%; background:rgba(10,20,25,.25); }
.episode-number small { color:#b8c7cf; text-transform:uppercase; letter-spacing:.12em; }
.episode-number strong { color:#fff; font-size:4.8rem; line-height:1; }
.episode-meta { display:flex; gap:9px; flex-wrap:wrap; }
.episode-meta span { padding:5px 9px; border:1px solid rgba(255,255,255,.23); border-radius:999px; color:#dce5e9; font-size:.75rem; }
.episode-page-grid, .wiki-layout, .article-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:36px; align-items:start; }
.episode-main { display:grid; gap:34px; }
.player-card, .content-card, .sidebar-card, .editorial-notice { padding:28px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow-sm); }
.content-card--large { padding:clamp(28px,5vw,50px); }
.player-card iframe { width:100%; border:0; }
.sidebar-card { display:grid; gap:10px; margin-bottom:18px; }
.sidebar-card a { text-decoration:none; color:var(--accent-deep); font-weight:800; }
.sidebar-card > span { color:#6d7c85; font-size:.78rem; }
.episode-pagination { display:grid; grid-template-columns:1fr 1fr; gap:18px; padding-bottom:70px; }
.episode-pagination a { padding:22px; display:grid; border:1px solid var(--line); border-radius:var(--radius); background:#fff; text-decoration:none; }
.episode-pagination small { color:#70818b; }
.episode-pagination__next { text-align:right; }
.related-block { padding-top:12px; }

.wiki-entry-hero__layout aside { display:grid; gap:6px; padding:24px; border:1px solid rgba(255,255,255,.2); border-radius:var(--radius); background:rgba(10,20,25,.28); }
.wiki-entry-hero__layout aside span { color:#afbec6; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.wiki-entry-hero__layout aside strong { margin-bottom:14px; color:#fff; }
.wiki-subtitle { font-size:1.3rem!important; font-weight:750; }
.wiki-article { min-width:0; }
.wiki-article > section { padding:8px 0 24px; }
.wiki-article h2 { margin-top:25px; font-size:2rem; }
.wiki-article p, .wiki-article li { color:#45565f; font-size:1.03rem; }
.wiki-article li + li { margin-top:8px; }
.wiki-summary { margin-bottom:22px; padding:26px; border-left:5px solid var(--accent); background:#e8f0f4; }
.wiki-summary p:last-child { margin:0; font-size:1.08rem; font-weight:650; }
.tag-list { display:flex; flex-wrap:wrap; gap:8px; }
.tag-list span { padding:6px 10px; border-radius:999px; background:#e2e9ed; color:#3a4b55; font-size:.78rem; font-weight:800; }
.source-section ul { padding-left:20px; }
.source-section a { color:var(--accent-deep); }
.connected-section { padding:24px 0; border-top:1px solid var(--line); }

.principle-grid, .lab-process { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.principle-grid article, .lab-process article { padding:27px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
.principle-grid span, .lab-process span { color:var(--accent-deep); font-size:.72rem; font-weight:950; letter-spacing:.12em; }
.principle-grid h3, .lab-process h3 { margin:34px 0 10px; }
.principle-grid p, .lab-process p { color:#566770; }
.lab-process { grid-template-columns:repeat(4,1fr); margin-bottom:28px; }

.archive-layout, .contact-layout, .about-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:32px; align-items:start; }
.plain-list, .check-list { margin:0; padding:0; list-style:none; }
.plain-list li, .check-list li { position:relative; padding:9px 0 9px 26px; border-bottom:1px solid var(--line); }
.plain-list li::before { content:"—"; position:absolute; left:0; color:var(--accent-deep); font-weight:900; }
.check-list li::before { content:"✓"; position:absolute; left:0; color:var(--success); font-weight:950; }
.check-list--light li { border-color:rgba(255,255,255,.15); color:#e6ecef; }
.check-list--light li::before { color:#a9d2e6; }
.pricing-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; max-width:980px; margin-inline:auto; }
.pricing-card { position:relative; padding:clamp(28px,5vw,48px); border:1px solid var(--line); border-radius:var(--radius-lg); background:#fff; box-shadow:var(--shadow-md); }
.pricing-card h2 { font-size:3rem; }
.pricing-card__lede { min-height:55px; color:#596973; }
.pricing-card .check-list { margin:25px 0 30px; }
.pricing-card--featured { background:linear-gradient(145deg,#243039,#3e4a53); color:#fff; }
.pricing-card--featured h2 { color:#fff; }
.pricing-badge { position:absolute; top:18px; right:18px; padding:5px 10px; border-radius:999px; background:#fff; color:var(--ink); font-size:.7rem; font-weight:950; text-transform:uppercase; }
.membership-notes { margin-top:70px; }

.article-grid { grid-template-columns:repeat(2,1fr); }
.article-card { min-height:310px; display:flex; flex-direction:column; padding:30px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow-sm); }
.article-card > span { color:var(--news); font-size:.72rem; font-weight:950; letter-spacing:.12em; text-transform:uppercase; }
.article-card h2 { margin:35px 0 14px; font-size:1.75rem; }
.article-card h2 a { text-decoration:none; }
.article-card p { color:#566770; }
.article-card .text-link { margin-top:auto; }
.article-hero .shell { max-width:1000px; }
.article-hero h1 { max-width:980px; font-size:clamp(2.5rem,5vw,4.5rem); }
.editorial-notice { border-left:5px solid var(--news); background:#fbf3f4; }

.resource-grid { grid-template-columns:repeat(4,1fr); }
.resource-card { min-height:270px; padding:26px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow-sm); text-decoration:none; transition:.18s ease; }
.resource-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.resource-card > span { color:var(--accent-deep); font-size:.7rem; font-weight:950; letter-spacing:.12em; }
.resource-card h2 { margin:55px 0 12px; font-size:1.8rem; }
.resource-card p { color:#566770; }

.about-monogram { aspect-ratio:1; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.24); border-radius:50%; background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.34),rgba(149,167,178,.23) 50%,rgba(7,15,20,.2)); box-shadow:var(--shadow-lg); }
.about-monogram span { color:#fff; font-size:5rem; font-weight:950; letter-spacing:-.08em; }
.about-monogram small { max-width:180px; color:#d4dfe4; font-size:.62rem; font-weight:900; letter-spacing:.13em; text-align:center; }
.about-facts { display:grid; gap:12px; }
.about-facts div { padding:22px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow-sm); }
.about-facts span { display:block; margin-bottom:8px; color:var(--accent-deep); font-size:.7rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }

.contact-form { display:grid; gap:17px; }
.contact-form label { display:grid; gap:7px; }
.contact-form textarea { resize:vertical; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.honeypot { position:absolute; left:-9999px; }
.form-notice { margin-bottom:20px; padding:16px 18px; border-radius:8px; }
.form-notice--success { background:#e1f1e9; border:1px solid #9bc7b2; color:#174c37; }
.form-notice--error { background:#f7e6e8; border:1px solid #d9a8ae; color:#74212b; }
.contact-aside { display:grid; gap:18px; }

.search-form { display:grid; gap:8px; }
.search-form > div { display:flex; gap:10px; }
.search-form input { flex:1; min-width:0; }
.search-form--hero { max-width:780px; margin-top:28px; }
.search-form--hero label { color:#dce5ea; }
.search-form--dialog { margin-top:24px; }
.search-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:36px; align-items:start; }
.search-filters { position:sticky; top:115px; display:grid; padding:18px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
.search-filters a { padding:9px 10px; border-radius:7px; text-decoration:none; font-size:.88rem; font-weight:750; }
.search-filters a:hover, .search-filters a[aria-current="page"] { background:var(--accent-soft); color:var(--accent-deep); }
.search-results__heading { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:15px; }
.search-results__heading > span { padding:5px 9px; border-radius:999px; background:#e3e9ed; font-size:.72rem; font-weight:850; }
.search-result { padding:25px 4px; border-top:1px solid var(--line); }
.search-result > span { color:var(--accent-deep); font-size:.7rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.search-result h2 { margin:12px 0 8px; font-size:1.6rem; }
.search-result h2 a { text-decoration:none; }
.search-result p { margin-bottom:8px; color:#596a73; }
.search-result small { color:#70818a; }

.breadcrumbs { margin-bottom:30px; }
.breadcrumbs ol { display:flex; flex-wrap:wrap; gap:7px; margin:0; padding:0; list-style:none; font-size:.75rem; }
.breadcrumbs li:not(:last-child)::after { content:"/"; margin-left:7px; color:#8d9aa2; }
.breadcrumbs a { text-decoration:none; color:var(--accent-deep); }
.hero .breadcrumbs, .course-hero .breadcrumbs, .podcast-hero .breadcrumbs, .episode-hero .breadcrumbs, .wiki-entry-hero .breadcrumbs, .article-hero .breadcrumbs { color:#dbe4e8; }
.hero .breadcrumbs a, .course-hero .breadcrumbs a, .podcast-hero .breadcrumbs a, .episode-hero .breadcrumbs a, .wiki-entry-hero .breadcrumbs a, .article-hero .breadcrumbs a { color:#fff; }

.empty-state { display:none; padding:45px; border:1px dashed #aebbc3; border-radius:var(--radius); background:#f8fafb; text-align:center; }
.empty-state--visible { display:block; }
.empty-state h2 { margin-bottom:10px; font-size:2rem; }
.empty-state p { color:#5e6e77; }
.legal-copy { max-width:850px; }
.legal-copy h2 { margin:38px 0 10px; font-size:1.65rem; }
.legal-copy p { color:#485963; }
.not-found { min-height:70vh; display:flex; align-items:center; padding:80px 0; }
.not-found__inner { max-width:900px; }
.not-found__inner > p:not(.eyebrow) { max-width:650px; color:#dce5e9; font-size:1.15rem; }

.site-cta { padding:56px 0; background:linear-gradient(135deg,#315f78,#1c445a); color:#fff; }
.site-cta__inner { display:flex; justify-content:space-between; gap:40px; align-items:center; }
.site-cta h2 { max-width:730px; margin:0; color:#fff; font-size:clamp(1.8rem,3.5vw,3rem); }
.site-footer { padding:65px 0 24px; background:#182229; color:#c5d0d6; }
.footer-grid { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:55px; }
.footer-grid > div:not(.footer-brand) { display:flex; flex-direction:column; gap:8px; }
.footer-grid h2 { margin-bottom:10px; color:#fff; font-size:.9rem; letter-spacing:.08em; text-transform:uppercase; }
.footer-grid a { color:#d3dce1; text-decoration:none; font-size:.88rem; }
.footer-grid a:hover { color:#fff; text-decoration:underline; }
.social-links--footer { margin-top:13px; }
.footer-grid .social-links--footer a { width:34px; height:34px; font-size:inherit; }
.footer-grid .social-links--footer a:hover { text-decoration:none; }
.social-links--footer svg { width:16px; height:16px; }
.footer-brand__logo { display:block; width:min(100%,330px); background:#000; text-decoration:none; }
.footer-brand__logo img { width:100%; height:auto; }
.footer-bottom { margin-top:48px; padding-top:20px; display:flex; justify-content:space-between; gap:20px; border-top:1px solid rgba(255,255,255,.12); color:#8fa0aa; font-size:.75rem; }
.footer-bottom nav { display:flex; gap:15px; }
.footer-bottom a { color:#bac6cc; text-decoration:none; }

@media (max-width: 1080px) {
  .main-nav > a, .nav-search { padding-inline:6px; font-size:.765rem; }
  .brand { min-width:192px; }
  .brand__words strong { font-size:.92rem; letter-spacing:.09em; }
  .brand__words small { font-size:.59rem; letter-spacing:.13em; }
  .course-directory-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .route-grid, .topic-grid { grid-template-columns:repeat(2,1fr); }
  .course-grid, .entry-card-grid { grid-template-columns:repeat(2,1fr); }
  .feature-split { grid-template-columns:1fr; }
  .mini-course-grid { grid-template-columns:repeat(4,1fr); }
  .show-card { grid-template-columns:160px 1fr; }
  .resource-grid { grid-template-columns:repeat(2,1fr); }
  .media-card:has(.media-card__art) { grid-template-columns:90px 1fr; }
  .media-card__art { width:90px; height:90px; }
}

@media (max-width: 930px) {
  :root { --header-height:68px; }
  .utility-bar { display:none; }
  .menu-toggle { display:inline-flex; align-items:center; }
  .main-nav { position:absolute; z-index:1001; top:100%; right:0; bottom:auto; width:min(380px,90vw); height:calc(100dvh - var(--header-height)); padding:25px; display:none; flex-direction:column; align-items:stretch; gap:4px; overflow-y:auto; background:var(--chrome-2); border-left:1px solid rgba(255,255,255,.12); box-shadow:-20px 20px 50px rgba(0,0,0,.42); }
  .main-nav.is-open { display:flex; }
  .main-nav > a, .nav-search { padding:14px; color:#dce5e9; font-size:1rem; text-align:left; }
  .nav-search { justify-content:space-between; }
  .main-nav__social { display:flex; flex-direction:column; align-items:flex-start; gap:10px; margin-top:auto; padding:20px 14px 2px; border-top:1px solid rgba(255,255,255,.12); color:#9eacb5; }
  .main-nav__social > span { font-size:.66rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
  .social-links--mobile a { width:36px; height:36px; }
  .social-links--mobile svg { width:17px; height:17px; }
  .menu-toggle[aria-expanded="true"] i { background:transparent; }
  .menu-toggle[aria-expanded="true"] i::before { top:0; transform:rotate(45deg); }
  .menu-toggle[aria-expanded="true"] i::after { top:0; transform:rotate(-45deg); }
  .hero__layout, .page-hero__inner, .news-feature, .news-hero__layout, .course-hero__layout, .episode-hero__layout, .wiki-entry-hero__layout, .about-hero__layout, .podcast-hero__layout { grid-template-columns:1fr; }
  .hero-start { max-width:570px; }
  .hero-metric { min-height:auto; max-width:500px; }
  .section-heading--split { grid-template-columns:1fr; gap:14px; align-items:start; }
  .heading-actions { justify-self:start; }
  .path-grid, .media-grid, .news-value-grid, .principle-grid { grid-template-columns:1fr 1fr; }
  .course-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .feature-split { grid-template-columns:1fr; }
  .featured-course { grid-template-columns:150px 1fr; }
  .mini-course-grid { grid-template-columns:1fr 1fr; }
  .show-grid { grid-template-columns:1fr; }
  .show-card__art--hero { width:200px; min-height:200px; }
  .course-overview-grid, .episode-page-grid, .wiki-layout, .article-layout, .archive-layout, .contact-layout, .about-layout, .news-edition-layout { grid-template-columns:1fr; }
  .wiki-sidebar, .episode-sidebar, .contact-aside, .about-facts { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
  .filter-panel { grid-template-columns:1fr 1fr; }
  .filter-field--search { grid-column:1/-1; }
  .article-grid { grid-template-columns:1fr; }
  .lab-process, .connection-flow { grid-template-columns:1fr 1fr; }
  .connection-flow a:nth-child(2) { border-right:0; }
  .connection-flow a { border-bottom:1px solid #cbd4d9; }
  .connection-flow a:nth-child(3), .connection-flow a:nth-child(4) { border-bottom:0; }
  .books-callout { grid-template-columns:1fr; }
  .book-stack { max-width:500px; width:100%; }
  .site-cta__inner { display:grid; }
  .footer-grid { grid-template-columns:2fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column:2/4; }
}

@media (max-width: 620px) {
  .shell { width:min(calc(100% - 28px),var(--shell)); }
  .brand { min-width:0; gap:10px; }
  .brand__words strong { font-size:.86rem; letter-spacing:.09em; }
  .brand__words small { display:none; }
  .brand__mark { width:38px; height:41px; }
  .hero--home { min-height:0; }
  .hero__copy h1 { font-size:clamp(2.55rem,13vw,4.1rem); }
  .route-grid, .path-grid, .topic-grid, .topic-grid--home, .course-grid, .entry-card-grid, .media-grid, .news-value-grid, .principle-grid, .resource-grid, .pricing-grid, .course-directory-grid { grid-template-columns:1fr; }
  .provider-jump { padding:13px; gap:7px; }
  .provider-jump a { width:100%; justify-content:space-between; }
  .provider-group__heading { align-items:flex-start; }
  .featured-course { grid-template-columns:1fr; }
  .featured-course__mark { width:145px; }
  .mini-course-grid { grid-template-columns:1fr; }
  .show-card { grid-template-columns:1fr; }
  .show-card__art { min-height:180px; }
  .filter-panel, .filter-panel--episodes { grid-template-columns:1fr; }
  .filter-field--search { grid-column:auto; }
  .filter-count { grid-column:auto; }
  .episode-row, .episode-list--preview .episode-row, .episode-list--compact .episode-row { grid-template-columns:82px 1fr; gap:14px; }
  .episode-open { display:none; }
  .episode-number { width:145px; height:145px; }
  .episode-number strong { font-size:3.6rem; }
  .wiki-sidebar, .episode-sidebar, .contact-aside, .about-facts { grid-template-columns:1fr; }
  .study-loop, .lab-process, .connection-flow { grid-template-columns:1fr; }
  .connection-flow a { border-right:0; border-bottom:1px solid #cbd4d9!important; }
  .connection-flow a:last-child { border-bottom:0!important; }
  .form-grid { grid-template-columns:1fr; }
  .search-form > div { flex-direction:column; }
  .search-layout { grid-template-columns:1fr; }
  .search-filters { position:static; grid-template-columns:1fr 1fr; }
  .news-action-list a { display:grid; gap:4px; }
  .media-card:has(.media-card__art) { grid-template-columns:1fr; }
  .media-card__art { width:88px; height:88px; }
  .site-cta__inner { text-align:left; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:35px; }
  .footer-brand { grid-column:1/-1; }
  .footer-grid > div:last-child { grid-column:auto; }
  .footer-bottom { flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

/* --------------------------------------------------------------------------
   Bare Metal Cyber v0.1.5 — revenue, publication, and learning refinements
   -------------------------------------------------------------------------- */

.site-footer { background:#000; }
.footer-brand__logo { background:#000; }
.page-hero--compact .breadcrumbs { margin-bottom:24px; }
.section--dark { background:linear-gradient(145deg,#0a0e11,#172129); color:#dce5e9; border-block:1px solid rgba(255,255,255,.08); }
.section--dark h2,.section--dark h3 { color:#fff; }
.section--dark p { color:#c2cdd3; }
.text-link--light { color:#b8dcef; }
.hero__lead { max-width:760px; margin:0 0 30px; color:#e0e8ec; font-size:clamp(1.05rem,1.7vw,1.25rem); }
.hero-proof { display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:34px; padding-top:20px; border-top:1px solid rgba(255,255,255,.18); color:#c6d1d7; font-size:.82rem; }
.hero-proof strong { color:#fff; font-size:1rem; }
.heading-actions { max-width:570px; justify-self:end; }
.heading-actions p { margin-top:0; color:#53636d; }
.heading-actions .button { margin-top:10px; }
.section-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:36px; }
.centered-callout { max-width:760px; margin:auto; padding:48px; border:1px solid var(--line); border-radius:var(--radius-lg); background:#fff; text-align:center; box-shadow:var(--shadow-sm); }
.centered-callout p { color:#596a73; }

/* Home bookshelf */
.home-bookshelf { background:#fff; }
.book-cover-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; }
.book-cover-card { min-width:0; }
.book-cover-card__image { position:relative; display:block; aspect-ratio:2/3; overflow:hidden; border-radius:10px; background:#171d22; box-shadow:0 18px 35px rgba(17,27,34,.2); transform:translateY(0); transition:.2s ease; }
.book-cover-card__image:hover { transform:translateY(-5px); box-shadow:0 26px 48px rgba(17,27,34,.26); }
.book-cover-card__image img { width:100%; height:100%; object-fit:cover; }
.book-cover-card > div { padding-top:17px; }
.book-cover-card > div > span { color:var(--accent-deep); font-size:.68rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.book-cover-card h3 { margin:8px 0 10px; font-size:1.04rem; line-height:1.3; }
.book-cover-placeholder { display:flex; height:100%; flex-direction:column; justify-content:space-between; padding:18px; background:linear-gradient(150deg,#26323a,#10171c); color:#fff; }
.book-cover-placeholder b { color:#aebdc6; font-size:.62rem; letter-spacing:.12em; }
.book-cover-placeholder strong { font-size:1.12rem; line-height:1.25; }
.book-cover-placeholder--dark { background:linear-gradient(150deg,#2d3941,#090c0e); }

/* Home Academy */
.stat-strip { display:grid; grid-template-columns:repeat(4,1fr); margin:34px 0 40px; border:1px solid #cbd4d9; border-radius:var(--radius); overflow:hidden; background:#fff; box-shadow:var(--shadow-sm); }
.stat-strip > div { min-height:120px; padding:22px; display:flex; flex-direction:column; justify-content:center; border-right:1px solid #d7dfe3; }
.stat-strip > div:last-child { border-right:0; }
.stat-strip strong { color:#17232a; font-size:clamp(1.8rem,3.2vw,3rem); line-height:1; }
.stat-strip span { margin-top:8px; color:#62727b; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.home-course-grid { grid-template-columns:repeat(3,1fr); }
.home-course-grid .course-card { min-height:300px; }

/* Home publications */
.publication-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.publication-card { min-height:320px; display:grid; grid-template-columns:180px minmax(0,1fr); gap:28px; align-items:center; padding:26px; border:1px solid var(--line); border-radius:var(--radius-lg); background:#fff; box-shadow:var(--shadow-sm); }
.publication-card h3 { margin:8px 0 12px; font-size:1.55rem; }
.publication-card p { color:#596a73; }
.publication-card__visual { height:100%; min-height:245px; display:flex; flex-direction:column; justify-content:space-between; padding:22px; border-radius:12px; background:linear-gradient(145deg,#19242b,#080b0d); color:#fff; }
.publication-card__visual > span { font-size:.65rem; font-weight:900; letter-spacing:.14em; }
.publication-card__visual strong { font-size:2.15rem; line-height:.92; letter-spacing:-.04em; }
.publication-card--news .publication-card__visual { background:linear-gradient(145deg,#7d2430,#321016); }
.publication-card--magazine .publication-card__visual { background:linear-gradient(145deg,#34434d,#12191d); }
.publication-card__art { display:block; overflow:hidden; border-radius:12px; box-shadow:var(--shadow-md); }
.publication-card__art img { width:100%; aspect-ratio:1; object-fit:cover; }

/* Connected wiki panel */
.feature-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.78fr); gap:70px; align-items:center; }
.connection-panel { display:grid; grid-template-columns:1fr 22px 1fr 22px 1fr 22px 1fr; align-items:center; padding:34px; border:1px solid rgba(255,255,255,.16); border-radius:var(--radius-lg); background:rgba(255,255,255,.045); }
.connection-panel span { min-height:92px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:10px; background:rgba(255,255,255,.06); color:#fff; font-size:.68rem; font-weight:900; letter-spacing:.12em; text-align:center; }
.connection-panel i { height:1px; background:#78a9c0; }

/* Academy */
.page-hero--academy { padding-block:clamp(58px,7vw,88px); }
.academy-summary { padding:36px 0 26px; background:#fff; }
.stat-strip--academy { margin:0; }
.academy-tools { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 0 0; }
.academy-tools p { margin:0; color:#53636d; font-weight:700; }
.academy-directory { padding-top:50px; }
.provider-group { scroll-margin-top:120px; }
.course-directory-card small { line-height:1.45; }

/* Course books and study experience */
.course-ad-free { margin:20px 0 0!important; color:#b9cbd4!important; font-size:.86rem!important; font-weight:750; }
.course-facts { padding:26px; display:grid; grid-template-columns:1fr 1fr; gap:1px; border:1px solid rgba(255,255,255,.16); border-radius:var(--radius-lg); overflow:hidden; background:rgba(0,0,0,.2); }
.course-facts div { min-height:105px; padding:17px; display:flex; flex-direction:column; justify-content:center; background:rgba(255,255,255,.045); }
.course-facts span { color:#9fb0ba; font-size:.66rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.course-facts strong { margin-top:7px; color:#fff; font-size:.95rem; }
.course-books-section { background:#fff; }
.course-book-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.course-book-card { min-height:370px; display:grid; grid-template-columns:180px minmax(0,1fr); gap:28px; align-items:center; padding:26px; border:1px solid var(--line); border-radius:var(--radius-lg); background:linear-gradient(145deg,#fff,#f1f4f5); box-shadow:var(--shadow-md); }
.course-book-card__cover { display:block; overflow:hidden; border-radius:8px; box-shadow:0 18px 35px rgba(16,28,35,.2); }
.course-book-card__cover img { width:100%; aspect-ratio:2/3; object-fit:cover; }
.course-book-card h3 { margin:8px 0 12px; font-size:1.55rem; }
.course-book-card p:not(.eyebrow) { color:#586871; }
.study-loop { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.study-loop article { min-height:230px; padding:26px; border:1px solid #cbd4d9; border-radius:var(--radius); background:#fff; }
.study-loop article > span,.news-benefit-grid article > span,.darwin-learning-grid article > span { display:inline-flex; padding:5px 9px; border-radius:999px; background:#dce8ee; color:#204f68; font-size:.68rem; font-weight:900; }
.study-loop h3 { margin:36px 0 10px; }
.study-loop p { color:#596a73; }
.entry-card--dark { border-color:rgba(255,255,255,.13); background:rgba(255,255,255,.055); box-shadow:none; }
.entry-card--dark h3,.entry-card--dark p { color:#fff; }
.entry-card--dark > span { color:#9fd0e6; }

/* Wiki continuation */
.wiki-learning-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; }
.wiki-learning-grid > div > h3 { margin-bottom:18px; font-size:1.2rem; }
.wiki-book-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.wiki-book-grid a { color:var(--ink); text-decoration:none; }
.wiki-book-grid img,.wiki-book-grid .book-cover-placeholder { width:100%; aspect-ratio:2/3; object-fit:cover; border-radius:7px; box-shadow:var(--shadow-sm); }
.wiki-book-grid a > strong { display:block; margin-top:9px; font-size:.8rem; line-height:1.3; }

/* Books */
.page-hero--books { background:linear-gradient(145deg,#10161a,#2b3740); }
.book-category-nav { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.book-category-nav a { min-height:220px; padding:27px; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:var(--radius); background:#fff; text-decoration:none; box-shadow:var(--shadow-sm); }
.book-category-nav span { color:var(--accent-deep); font-size:.72rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.book-category-nav p { color:#586871; }
.book-category-nav small { margin-top:auto; color:var(--accent-deep); font-weight:850; }
.cert-book-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.cert-book-feature { padding:24px; border:1px solid #cbd5da; border-radius:var(--radius-lg); background:#fff; box-shadow:var(--shadow-sm); }
.cert-book-feature__heading > span { color:var(--accent-deep); font-size:.68rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.cert-book-feature__heading h3 { margin:10px 0 6px; font-size:1.25rem; }
.cert-book-feature__heading h3 a { text-decoration:none; }
.cert-book-feature__heading small { color:#697a84; }
.cert-book-pair { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:22px; }
.cert-book-pair a { color:var(--ink); text-decoration:none; }
.cert-book-pair img { width:100%; aspect-ratio:2/3; object-fit:cover; border-radius:7px; box-shadow:0 12px 28px rgba(17,28,35,.18); }
.cert-book-pair strong { display:block; margin-top:9px; font-size:.78rem; line-height:1.25; }
.cert-book-pair span { display:block; margin-top:5px; color:var(--accent-deep); font-size:.72rem; font-weight:800; }
.book-course-directory { margin-top:42px; border:1px solid #cbd4d9; border-radius:var(--radius-lg); overflow:hidden; background:#fff; }
.book-course-directory header { padding:26px; background:#172129; color:#fff; }
.book-course-directory header h3 { margin:0; color:#fff; }
.book-course-directory header p { margin:7px 0 0; color:#c4d0d6; }
.book-course-directory > div { display:grid; grid-template-columns:repeat(3,1fr); }
.book-course-directory > div a { min-height:126px; padding:20px; display:flex; flex-direction:column; border-right:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--ink); text-decoration:none; }
.book-course-directory > div a:nth-child(3n) { border-right:0; }
.book-course-directory a span { color:var(--accent-deep); font-size:.66rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.book-course-directory a strong { margin-top:8px; line-height:1.3; }
.book-course-directory a small { margin-top:auto; color:#657680; }
.book-detail-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.book-detail-card { padding:25px; border:1px solid var(--line); border-radius:var(--radius-lg); background:#fff; box-shadow:var(--shadow-sm); }
.book-detail-card__cover { display:block; width:70%; margin:0 auto 24px; }
.book-detail-card__cover img { width:100%; aspect-ratio:2/3; object-fit:cover; border-radius:8px; box-shadow:var(--shadow-md); }
.book-detail-card span,.professional-book-grid article > div > span { color:var(--accent-deep); font-size:.68rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.book-detail-card h3 { margin:10px 0 12px; }
.book-detail-card p { color:#586871; }
.professional-book-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.professional-book-grid article { padding:20px; border:1px solid rgba(255,255,255,.13); border-radius:var(--radius); background:rgba(255,255,255,.05); }
.professional-book-grid__cover { display:block; width:82%; margin:0 auto 20px; aspect-ratio:2/3; }
.professional-book-grid__cover img,.professional-book-grid__cover .book-cover-placeholder { width:100%; height:100%; object-fit:cover; border-radius:7px; }
.professional-book-grid h3 { margin:9px 0 10px; font-size:1.15rem; }
.professional-book-grid p { font-size:.9rem; }
.books-darwin { background:#f4f1eb; }
.darwin-book-mini { display:flex; justify-content:center; align-items:end; gap:22px; }
.darwin-book-mini img { width:min(42%,210px); border-radius:8px; box-shadow:var(--shadow-md); }
.darwin-book-mini img:last-child { transform:translateY(15px) rotate(3deg); }

/* Daily Cyber News */
.news-masthead { min-height:390px; display:flex; flex-direction:column; justify-content:space-between; padding:34px; border:1px solid rgba(255,255,255,.18); border-radius:var(--radius-lg); background:linear-gradient(155deg,rgba(255,255,255,.1),rgba(0,0,0,.28)); color:#fff; }
.news-masthead span { font-size:.7rem; font-weight:900; letter-spacing:.17em; }
.news-masthead strong { font-size:clamp(3rem,6vw,5.3rem); line-height:.83; letter-spacing:-.055em; }
.news-masthead small { color:#d9c4c8; }
.news-benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.news-benefit-grid article { min-height:280px; padding:28px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow-sm); }
.news-benefit-grid h3 { margin:38px 0 10px; font-size:1.35rem; }
.news-benefit-grid p { color:#596a73; }
.news-rhythm { display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:70px; align-items:center; }
.check-list { margin:25px 0 0; padding:0; list-style:none; }
.check-list li { position:relative; padding:13px 0 13px 34px; border-bottom:1px solid #ccd5da; }
.check-list li::before { content:'✓'; position:absolute; left:0; top:13px; color:var(--success); font-weight:900; }
.news-schedule { min-height:330px; display:flex; flex-direction:column; justify-content:space-between; padding:30px; border-radius:var(--radius-lg); background:linear-gradient(145deg,#762531,#39121a); color:#fff; box-shadow:var(--shadow-md); }
.news-schedule span { font-size:.7rem; font-weight:900; letter-spacing:.14em; }
.news-schedule strong { font-size:3.2rem; line-height:.9; }
.news-schedule p { color:#e7d6d9; }
.facebook-feature { display:grid; grid-template-columns:130px minmax(0,1fr); gap:38px; align-items:center; max-width:960px; }
.facebook-feature__icon { width:120px; height:120px; display:grid; place-items:center; border-radius:26px; background:#172b54; color:#fff; }
.facebook-feature__icon svg { width:60px; height:60px; fill:currentColor; }
.facebook-feature h2 { margin:4px 0 12px; }
.news-final { display:flex; justify-content:space-between; align-items:center; gap:36px; }
.news-final h2 { margin:0 0 10px; }
.news-final p { margin:0; }

/* Podcasts */
.podcast-choice-grid { display:grid; gap:32px; }
.podcast-choice-card { display:grid; grid-template-columns:300px minmax(0,1fr); gap:44px; align-items:center; padding:34px; border:1px solid var(--line); border-radius:var(--radius-lg); background:#fff; box-shadow:var(--shadow-md); }
.podcast-choice-card__art img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:14px; box-shadow:var(--shadow-md); }
.podcast-choice-card h2 { margin:8px 0 12px; font-size:2rem; }
.podcast-choice-card dl { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:24px 0; }
.podcast-choice-card dl div { padding:18px; border-radius:10px; background:#eef2f4; }
.podcast-choice-card dt { color:var(--accent-deep); font-size:.68rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.podcast-choice-card dd { margin:8px 0 0; color:#45565f; }
.podcast-hero__layout > img,.episode-hero__layout > img { width:100%; border-radius:16px; box-shadow:var(--shadow-lg); }
.podcast-value-grid { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.podcast-value-grid article { padding:34px; border:1px solid var(--line); border-radius:var(--radius-lg); background:#fff; box-shadow:var(--shadow-sm); }
.podcast-value-grid h2 { margin:8px 0 12px; }
.podcast-value-grid p { color:#596a73; }
.audio-embed { padding:18px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow-sm); }

/* Darwin — lighter family and classroom design */
.page-darwin { background:#f9f6ed; }
.darwin-page { overflow:hidden; }
.darwin-hero { position:relative; overflow:hidden; padding:clamp(64px,8vw,105px) 0; color:#24343b; background:radial-gradient(circle at 90% 5%,rgba(255,255,255,.88),transparent 32%),linear-gradient(135deg,#e8f6fb 0%,#fdf7dc 55%,#f8e8dd 100%); border-bottom:1px solid #d5e0df; }
.darwin-hero::before,.darwin-hero::after { content:'🐾'; position:absolute; opacity:.10; filter:grayscale(1); transform:rotate(-14deg); }
.darwin-hero::before { left:3%; top:10%; font-size:8rem; }
.darwin-hero::after { right:4%; bottom:-3%; font-size:11rem; transform:rotate(18deg); }
.darwin-hero__layout { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) minmax(380px,500px); gap:clamp(45px,7vw,88px); align-items:center; }
.darwin-hero h1 { max-width:760px; color:#24343b; font-size:clamp(3rem,6vw,5.7rem); }
.darwin-hero p:not(.eyebrow) { max-width:690px; color:#465d65; font-size:1.12rem; }
.darwin-age-note { margin:22px 0 0; padding-left:18px; border-left:4px solid #e4a05f; font-size:.92rem!important; font-weight:700; }
.darwin-hero__portrait { position:relative; margin:0; padding:14px; border:1px solid rgba(48,75,83,.18); border-radius:38% 38% 22px 22px; background:rgba(255,255,255,.74); box-shadow:0 24px 70px rgba(71,91,94,.20); }
.darwin-hero__portrait > img { width:100%; height:500px; object-fit:cover; object-position:center 37%; border-radius:35% 35% 16px 16px; }
.darwin-hero__portrait figcaption { padding:13px 8px 3px; color:#536a71; text-align:center; font-size:.78rem; font-weight:800; }
.darwin-hero__book-stack { position:absolute; left:-56px; bottom:-34px; display:flex; align-items:end; gap:10px; }
.darwin-hero__book-stack img { width:112px; border-radius:8px; box-shadow:0 16px 34px rgba(31,46,51,.25); transform:rotate(-6deg); }
.darwin-hero__book-stack img:last-child { width:104px; transform:translateY(10px) rotate(7deg); }
.darwin-lessons { background:#fffdf8; }
.darwin-learning-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.darwin-learning-grid article { min-height:265px; padding:27px; border:1px solid rgba(62,88,94,.15); border-radius:26px; background:#fff; box-shadow:0 14px 38px rgba(48,72,77,.08); }
.darwin-learning-grid article:nth-child(1) { background:#eef8ff; }
.darwin-learning-grid article:nth-child(2) { background:#fff8df; }
.darwin-learning-grid article:nth-child(3) { background:#f8edf5; }
.darwin-learning-grid article:nth-child(4) { background:#edf8ed; }
.darwin-learning-grid article > span { background:#fff; box-shadow:0 5px 15px rgba(45,68,73,.08); }
.darwin-learning-grid h3 { margin:34px 0 10px; }
.darwin-learning-grid p { color:#53686f; }
.darwin-photo-band { padding:28px 0; background:#d9eef1; border-block:1px solid #c2dde1; }
.darwin-photo-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.darwin-photo-grid figure { margin:0; overflow:hidden; border:7px solid #fff; border-radius:18px; background:#fff; box-shadow:0 12px 28px rgba(49,78,83,.14); }
.darwin-photo-grid figure:nth-child(odd) { transform:rotate(-1.4deg); }
.darwin-photo-grid figure:nth-child(even) { transform:rotate(1.4deg); }
.darwin-photo-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.darwin-photo-grid figcaption { padding:10px 8px 7px; color:#3b5961; text-align:center; font-size:.75rem; font-weight:850; }
.darwin-books-section { background:linear-gradient(180deg,#fff9e8,#f6efd9); }
.darwin-book-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.darwin-book-grid article { display:grid; grid-template-columns:190px 1fr; gap:25px; align-items:center; padding:26px; border:1px solid #ddd1a9; border-radius:26px; background:rgba(255,255,255,.88); box-shadow:0 15px 36px rgba(91,78,40,.08); }
.darwin-book-grid img { width:100%; border-radius:8px; box-shadow:var(--shadow-md); }
.darwin-audio-section { background:#e8f6fb; }
.darwin-audio { align-items:center; }
.darwin-audio > img { justify-self:center; width:min(100%,320px); border:10px solid #fff; border-radius:24px; box-shadow:var(--shadow-md); }
.darwin-story-section { background:#edf7ec; }
.darwin-story { display:grid; grid-template-columns:390px minmax(0,1fr); gap:60px; align-items:center; }
.darwin-story__photos { position:relative; min-height:420px; }
.darwin-story__photos > img:first-child { width:340px; height:390px; object-fit:cover; border:10px solid #fff; border-radius:28px; box-shadow:var(--shadow-lg); }
.darwin-story__photos > img:last-child { position:absolute; right:0; bottom:0; width:135px; aspect-ratio:1; object-fit:contain; padding:12px; border-radius:50%; background:#fff; box-shadow:var(--shadow-md); }
.darwin-story h2 { max-width:720px; }
.darwin-story p { color:#4d6555; }

/* About */
.about-hero__layout { grid-template-columns:minmax(0,1fr) 420px; align-items:end; }
.about-hero figure { margin:0; }
.about-hero figure img { width:100%; max-height:640px; object-fit:cover; object-position:50% 20%; border-radius:18px 18px 0 0; box-shadow:var(--shadow-lg); }
.about-hero figcaption { padding:13px 16px; background:#050708; color:#aebbc3; font-size:.74rem; }
.about-layout { grid-template-columns:minmax(0,1fr) 360px; }
.about-copy h2 { margin-top:8px; }
.about-copy p { color:#455761; font-size:1.05rem; }
.about-facts { display:grid; grid-template-columns:1fr 1fr; gap:12px; align-self:start; }
.about-facts div { min-height:150px; padding:20px; display:flex; flex-direction:column; justify-content:center; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow-sm); }
.about-facts strong { color:#1d526f; font-size:1.55rem; }
.about-facts span { margin-top:5px; color:#62727b; font-size:.73rem; text-transform:uppercase; letter-spacing:.07em; }
.about-ecosystem-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.about-ecosystem-grid article { min-height:250px; padding:25px; border:1px solid #cbd4d9; border-radius:var(--radius); background:#fff; }
.about-ecosystem-grid h3 { margin-top:0; }
.about-ecosystem-grid p { color:#586871; }
.about-links { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; align-items:start; }
.about-links > div:last-child { display:grid; gap:12px; }
.about-links a { display:flex; justify-content:space-between; gap:20px; padding:18px 20px; border:1px solid rgba(255,255,255,.14); border-radius:10px; color:#fff; text-decoration:none; }
.about-links a span { color:#9fb0ba; }

/* Magazine and articles */
.article-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.article-card { min-height:0; padding:0; overflow:hidden; }
.article-card__image { display:block; aspect-ratio:16/9; overflow:hidden; background:#dce3e7; }
.article-card__image img { width:100%; height:100%; object-fit:cover; }
.article-card > div { padding:24px; display:flex; flex:1; flex-direction:column; }
.article-card > div > span { color:var(--news); font-size:.68rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.article-card h3 { margin:14px 0 10px; font-size:1.35rem; }
.article-card h3 a { text-decoration:none; }
.article-card p { color:#586871; }
.article-card .text-link { margin-top:auto; }
.edition-grid { display:grid; grid-template-columns:repeat(5,1fr); border:1px solid #cbd4d9; border-radius:var(--radius-lg); overflow:hidden; background:#fff; }
.edition-grid article { min-height:280px; padding:24px; border-right:1px solid var(--line); }
.edition-grid article:last-child { border-right:0; }
.edition-grid article > span { color:var(--accent-deep); font-size:.68rem; font-weight:950; }
.edition-grid h3 { margin:38px 0 10px; font-size:1.15rem; }
.edition-grid p { color:#596a73; font-size:.9rem; }
.edition-grid small { color:#697a84; font-weight:800; }
.article-hero__layout { display:grid; grid-template-columns:minmax(0,1fr) 370px; gap:55px; align-items:center; }
.article-hero__layout > img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); }
.article-byline { display:flex; flex-wrap:wrap; gap:9px 20px; margin-top:24px; color:#b9c7ce; font-size:.78rem; }
.article-layout { grid-template-columns:minmax(0,780px) 280px; justify-content:space-between; }
.article-body { font-size:1.03rem; }
.article-body h2 { margin:42px 0 14px; font-size:1.75rem; }
.article-body h3 { margin:30px 0 12px; font-size:1.3rem; }
.article-body p,.article-body li { color:#3f515b; }
.article-body ul,.article-body ol { padding-left:24px; }
.article-body a { color:var(--accent-deep); }
.article-aside { align-self:start; position:sticky; top:120px; }
.article-aside > div { display:flex; flex-direction:column; gap:9px; padding:23px; border:1px solid var(--line); border-radius:var(--radius); background:#f1f4f5; }
.article-aside span { margin-bottom:7px; color:var(--accent-deep); font-size:.68rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.article-aside a { text-decoration:none; font-weight:750; }

@media (max-width:1120px) {
  .book-cover-grid { grid-template-columns:repeat(4,1fr); }
  .book-cover-card:nth-child(5) { display:none; }
  .cert-book-feature-grid { grid-template-columns:repeat(2,1fr); }
  .professional-book-grid { grid-template-columns:repeat(3,1fr); }
  .edition-grid { grid-template-columns:repeat(3,1fr); }
  .edition-grid article { border-bottom:1px solid var(--line); }
  .edition-grid article:nth-child(3) { border-right:0; }
  .edition-grid article:nth-last-child(-n+2) { border-bottom:0; }
  .article-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:930px) {
  .book-cover-grid { grid-template-columns:repeat(3,1fr); }
  .book-cover-card:nth-child(5) { display:block; }
  .home-course-grid { grid-template-columns:repeat(2,1fr); }
  .publication-card { grid-template-columns:145px minmax(0,1fr); }
  .connection-panel { grid-template-columns:1fr; gap:9px; }
  .connection-panel i { width:1px; height:16px; justify-self:center; }
  .course-book-grid { grid-template-columns:1fr; }
  .wiki-learning-grid { grid-template-columns:1fr; }
  .book-category-nav { grid-template-columns:1fr; }
  .book-category-nav a { min-height:0; }
  .book-course-directory > div { grid-template-columns:repeat(2,1fr); }
  .book-course-directory > div a:nth-child(3n) { border-right:1px solid var(--line); }
  .book-course-directory > div a:nth-child(2n) { border-right:0; }
  .book-detail-grid { grid-template-columns:1fr; }
  .book-detail-card { display:grid; grid-template-columns:180px 1fr; gap:24px; align-items:center; }
  .book-detail-card__cover { width:100%; margin:0; }
  .professional-book-grid { grid-template-columns:repeat(2,1fr); }
  .news-rhythm { grid-template-columns:1fr; }
  .news-schedule { max-width:470px; }
  .podcast-choice-card { grid-template-columns:220px minmax(0,1fr); }
  .podcast-choice-card dl { grid-template-columns:1fr; }
  .darwin-hero__layout { grid-template-columns:1fr; }
  .darwin-hero__books { max-width:480px; }
  .darwin-learning-grid { grid-template-columns:repeat(2,1fr); }
  .darwin-book-grid { grid-template-columns:1fr; }
  .darwin-story { grid-template-columns:280px 1fr; gap:36px; }
  .about-hero__layout { grid-template-columns:1fr 320px; }
  .about-ecosystem-grid { grid-template-columns:repeat(2,1fr); }
  .article-hero__layout { grid-template-columns:1fr; }
  .article-hero__layout > img { max-width:550px; }
  .edition-grid { grid-template-columns:repeat(2,1fr); }
  .edition-grid article,.edition-grid article:nth-child(3) { border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
  .edition-grid article:nth-child(2n) { border-right:0; }
  .edition-grid article:last-child { border-bottom:0; }
}

@media (max-width:720px) {
  .hero-proof { display:grid; grid-template-columns:1fr 1fr; }
  .book-cover-grid { grid-template-columns:repeat(2,1fr); gap:18px; }
  .book-cover-card:nth-child(5) { display:none; }
  .stat-strip { grid-template-columns:1fr 1fr; }
  .stat-strip > div:nth-child(2) { border-right:0; }
  .stat-strip > div:nth-child(-n+2) { border-bottom:1px solid #d7dfe3; }
  .home-course-grid,.publication-grid { grid-template-columns:1fr; }
  .publication-card { grid-template-columns:130px minmax(0,1fr); }
  .academy-tools { align-items:flex-start; flex-direction:column; }
  .course-facts { grid-template-columns:1fr; }
  .course-book-card { grid-template-columns:135px minmax(0,1fr); }
  .study-loop,.news-benefit-grid { grid-template-columns:1fr; }
  .wiki-book-grid { grid-template-columns:repeat(2,1fr); }
  .cert-book-feature-grid { grid-template-columns:1fr; }
  .book-course-directory > div { grid-template-columns:1fr; }
  .book-course-directory > div a { border-right:0!important; }
  .book-detail-card { grid-template-columns:130px 1fr; }
  .professional-book-grid { grid-template-columns:1fr 1fr; }
  .facebook-feature { grid-template-columns:90px 1fr; gap:22px; }
  .facebook-feature__icon { width:85px; height:85px; border-radius:19px; }
  .facebook-feature__icon svg { width:42px; height:42px; }
  .news-final { align-items:flex-start; flex-direction:column; }
  .podcast-choice-card { grid-template-columns:160px minmax(0,1fr); gap:24px; padding:24px; }
  .podcast-value-grid { grid-template-columns:1fr; }
  .darwin-story { grid-template-columns:1fr; }
  .darwin-story > img { max-width:320px; }
  .about-hero__layout { grid-template-columns:1fr; }
  .about-hero figure { max-width:420px; }
  .about-ecosystem-grid { grid-template-columns:1fr; }
  .about-links { grid-template-columns:1fr; }
  .article-layout { grid-template-columns:1fr; }
  .article-aside { position:static; }
}

@media (max-width:520px) {
  .book-cover-grid { gap:14px; }
  .book-cover-card h3 { font-size:.9rem; }
  .publication-card { grid-template-columns:1fr; }
  .publication-card__visual { min-height:180px; }
  .publication-card__visual strong { font-size:2.7rem; }
  .course-book-card { grid-template-columns:1fr; }
  .course-book-card__cover { width:55%; }
  .book-detail-card { grid-template-columns:1fr; }
  .book-detail-card__cover { width:55%; }
  .professional-book-grid { grid-template-columns:1fr; }
  .news-masthead { min-height:300px; }
  .facebook-feature { grid-template-columns:1fr; }
  .podcast-choice-card { grid-template-columns:1fr; }
  .podcast-choice-card__art { width:70%; }
  .darwin-learning-grid { grid-template-columns:1fr; }
  .darwin-book-grid article { grid-template-columns:120px 1fr; }
  .edition-grid { grid-template-columns:1fr; }
  .edition-grid article { border-right:0!important; }
  .article-grid { grid-template-columns:1fr; }
}

/* v0.1.5 wiki relationship panels */
.wiki-sidebar { display:grid; gap:18px; position:sticky; top:145px; }
.sidebar-card--link { color:var(--ink); text-decoration:none; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.sidebar-card--link:hover { transform:translateY(-2px); border-color:#a9bbc5; box-shadow:var(--shadow); }
.sidebar-card > span { color:#6d7c85; font-size:.72rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.sidebar-card > strong { color:var(--ink); font-size:1.05rem; line-height:1.3; }
.sidebar-card > small { color:var(--steel); }
.sidebar-card > a { display:block; padding:7px 0; border-bottom:1px solid var(--line); line-height:1.35; }
.sidebar-card > a:last-child { border-bottom:0; }
@media (max-width:900px) { .wiki-sidebar { position:static; } }


/* v0.1.5 same-page course lesson directory */
.course-lessons { scroll-margin-top:120px; }
.course-lessons .section-heading { margin-bottom:28px; }
.course-episode-directory .episode-row { background:rgba(255,255,255,.88); }
.course-episode-directory .episode-row h3 { margin:4px 0 8px; font-size:1.35rem; }
.course-episode-directory .episode-row h3 a { text-decoration:none; }
.course-episode-directory .episode-row h3 a:hover { color:var(--accent-deep); text-decoration:underline; }

@media (max-width:930px) {
  .feature-split { grid-template-columns:1fr; gap:32px; }
  .darwin-hero__layout { grid-template-columns:1fr; }
  .darwin-hero__portrait { max-width:560px; }
  .darwin-learning-grid,.darwin-photo-grid { grid-template-columns:repeat(2,1fr); }
  .darwin-book-grid { grid-template-columns:1fr; }
  .darwin-story { grid-template-columns:320px 1fr; gap:38px; }
}
@media (max-width:720px) {
  .darwin-hero__portrait > img { height:420px; }
  .darwin-hero__book-stack { left:8px; bottom:-45px; }
  .darwin-photo-band { padding-block:45px; }
  .darwin-story { grid-template-columns:1fr; }
  .darwin-story__photos { width:min(100%,390px); }
}
@media (max-width:520px) {
  .darwin-hero { padding-bottom:112px; }
  .darwin-hero__portrait > img { height:350px; }
  .darwin-hero__book-stack img { width:86px; }
  .darwin-hero__book-stack img:last-child { width:80px; }
  .darwin-learning-grid,.darwin-photo-grid { grid-template-columns:1fr; }
  .darwin-photo-grid figure { transform:none!important; }
  .darwin-book-grid article { grid-template-columns:110px 1fr; gap:18px; padding:19px; }
  .darwin-story__photos { min-height:370px; }
  .darwin-story__photos > img:first-child { width:290px; height:340px; }
  .darwin-story__photos > img:last-child { width:110px; }
}

/* v0.1.5 Darwin local-photo and rescue-badge refinements */
.darwin-rescue-badge {
  position:absolute;
  right:0;
  bottom:0;
  width:150px;
  min-height:150px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:16px;
  border:7px solid #fff;
  border-radius:50%;
  background:#fffdf4;
  color:#305441;
  box-shadow:var(--shadow-md);
  text-align:center;
  line-height:1.15;
}
.darwin-rescue-badge span { font-size:2rem; }
.darwin-rescue-badge strong { font-size:.68rem; letter-spacing:.04em; }
@media (max-width:620px) {
  .darwin-rescue-badge { width:112px; min-height:112px; padding:10px; }
  .darwin-rescue-badge span { font-size:1.45rem; }
  .darwin-rescue-badge strong { font-size:.56rem; }
}

/* Prevent the closed mobile drawer from widening the document canvas. */
html, body { max-width:100%; overflow-x:hidden; }

/* v0.1.6 full course imports and transcript reading */
.course-trailer-link { margin:18px 0 0; }
.course-trailer-link a { color:#dbe8ef; font-weight:800; text-decoration:none; }
.course-trailer-link a:hover { color:#fff; text-decoration:underline; }
.filter-panel--episodes { grid-template-columns:minmax(280px,2fr) minmax(210px,1fr) auto; }
.course-episode-directory .episode-row { padding-block:22px; }
.course-episode-directory .episode-row p:not(.eyebrow) { max-width:900px; }
.episode-row__badges { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }
.episode-row__badges span { padding:4px 8px; border:1px solid #cad4d9; border-radius:999px; background:#f7f9fa; color:#657680; font-size:.68rem; font-weight:800; letter-spacing:.02em; }
.empty-state:not([hidden]) { display:block; }
.study-loop { grid-template-columns:repeat(3,1fr); }
.study-loop article { padding:24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper-3); }
.study-loop article span { color:var(--accent-deep); font-size:.72rem; font-weight:900; }
.study-loop article h3 { margin:22px 0 8px; }
.study-loop article p { margin:0; color:#566770; }
.lesson-description > p:not(.eyebrow) { color:#45565f; font-size:1.02rem; }
.lesson-description > p:not(.eyebrow) + p { margin-top:18px; }
.transcript-card { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-lg); background:#fff; box-shadow:var(--shadow-sm); }
.transcript-card summary { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:24px 28px; cursor:pointer; list-style:none; background:linear-gradient(145deg,#fff,#eef2f4); }
.transcript-card summary::-webkit-details-marker { display:none; }
.transcript-card summary > span:first-child { display:grid; gap:4px; }
.transcript-card summary strong { color:var(--ink); font-size:1.2rem; }
.transcript-card summary small { color:#687983; }
.transcript-card__toggle { width:36px; height:36px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; background:var(--accent-deep); color:#fff; font-size:1.5rem; font-weight:500; line-height:1; transition:transform .18s ease; }
.transcript-card[open] .transcript-card__toggle { transform:rotate(45deg); }
.transcript-copy { max-height:780px; overflow:auto; padding:30px clamp(24px,5vw,48px) 44px; border-top:1px solid var(--line); background:#fff; }
.transcript-copy p { margin:0; color:#3f5059; font-size:1rem; line-height:1.78; }
.transcript-copy p + p { margin-top:20px; }
.episode-sidebar ol { margin:0; padding-left:20px; color:#52636c; }
.episode-sidebar li + li { margin-top:7px; }

@media (max-width:980px) {
  .filter-panel--episodes { grid-template-columns:1fr 1fr; }
  .filter-panel--episodes .filter-field--search { grid-column:1/-1; }
}
@media (max-width:650px) {
  .filter-panel--episodes { grid-template-columns:1fr; }
  .filter-panel--episodes .filter-field--search { grid-column:auto; }
  .course-episode-directory .episode-row { grid-template-columns:74px 1fr; padding-inline:0; }
  .course-episode-directory .episode-row .eyebrow { font-size:.62rem; letter-spacing:.09em; }
  .transcript-card summary { padding:20px; }
  .transcript-copy { max-height:none; padding:24px 20px 34px; }
  .study-loop { grid-template-columns:1fr; }
}

/* Preserve native hidden semantics when a component has its own display rule. */
[hidden] { display: none !important; }


/* v0.1.10 exact-lesson companion books */
.lesson-books { padding:28px; border:1px solid var(--line); border-radius:var(--radius-lg); background:linear-gradient(145deg,#f7f9fa,#e7edf0); box-shadow:var(--shadow-sm); }
.lesson-books > header { max-width:780px; margin-bottom:22px; }
.lesson-books > header h2 { margin:7px 0 10px; }
.lesson-books > header p:not(.eyebrow) { margin:0; color:#52636d; }
.episode-book-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.episode-book-card { display:grid; grid-template-columns:112px minmax(0,1fr); gap:18px; align-items:center; padding:18px; border:1px solid #cbd5da; border-radius:14px; background:#fff; }
.episode-book-card__cover { display:block; overflow:hidden; border-radius:7px; box-shadow:0 12px 25px rgba(16,28,35,.18); }
.episode-book-card__cover img { width:100%; aspect-ratio:2/3; object-fit:cover; }
.episode-book-card h3 { margin:5px 0 8px; font-size:1.12rem; line-height:1.2; }
.episode-book-card p:not(.eyebrow) { margin:0 0 14px; color:#586871; font-size:.9rem; }
.episode-book-card .button { padding:9px 13px; font-size:.76rem; }
@media (max-width:1120px) { .episode-book-grid { grid-template-columns:1fr; } }
@media (max-width:650px) {
  .lesson-books { padding:20px; }
  .episode-book-card { grid-template-columns:92px minmax(0,1fr); gap:14px; padding:14px; }
  .episode-book-card p:not(.eyebrow) { display:none; }
}

/* v0.1.20 course subscriptions, edition accordions, and Darwin gallery clarification */
.button--subscribe {
  border-color:#d9e7ec;
  background:linear-gradient(135deg,#f5fafb,#b9ccd5);
  color:#132934;
  box-shadow:0 8px 20px rgba(0,0,0,.16);
}
.button--subscribe:hover { border-color:#fff; background:#fff; color:var(--accent-deep); }
.darwin-photo-intro { max-width:760px; margin:0 auto 28px; text-align:center; }
.darwin-photo-intro h2 { margin:7px 0 10px; }
.darwin-photo-intro p:last-child { margin:0; color:#46636a; }
.course-edition-accordions { display:grid; gap:20px; }
.course-edition-accordion { overflow:hidden; border:1px solid #c7d2d8; border-radius:var(--radius-lg); background:rgba(255,255,255,.84); box-shadow:var(--shadow-sm); }
.course-edition-accordion summary { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:22px 24px; cursor:pointer; list-style:none; background:linear-gradient(145deg,#fff,#e8eef1); }
.course-edition-accordion summary::-webkit-details-marker { display:none; }
.course-edition-accordion__title { display:grid; gap:4px; }
.course-edition-accordion__title small { color:#687a84; font-size:.68rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.course-edition-accordion__title strong { color:var(--ink); font-size:1.28rem; line-height:1.25; }
.course-edition-accordion__meta { display:flex; align-items:center; gap:7px; flex:0 0 auto; color:#61737d; font-size:.76rem; font-weight:850; }
.course-edition-accordion__meta b { color:var(--accent-deep); font-size:1rem; }
.course-edition-accordion__meta i { width:34px; height:34px; display:grid; place-items:center; margin-left:8px; border-radius:50%; background:var(--accent-deep); color:#fff; font-size:1.35rem; font-style:normal; font-weight:500; line-height:1; transition:transform .18s ease; }
.course-edition-accordion[open] .course-edition-accordion__meta i { transform:rotate(45deg); }
.course-edition-accordion .episode-list { border-top:1px solid var(--line); }
.course-edition-accordion .episode-row { padding-inline:22px; }
@media (max-width:650px) {
  .course-edition-accordion summary { align-items:flex-start; padding:19px 18px; }
  .course-edition-accordion__meta { align-items:flex-end; flex-direction:column; gap:1px; }
  .course-edition-accordion__meta i { margin:7px 0 0; }
  .course-edition-accordion .episode-row { padding-inline:0; }
}


/* v0.2.0 knowledge-graph and internal book pages */
.book-page-hero{background:linear-gradient(135deg,#111820,#27323d);color:#fff;padding:clamp(3rem,7vw,6rem) 0}.book-page-hero__layout{display:grid;grid-template-columns:minmax(180px,300px) 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}.book-page-cover img,.book-page-cover .book-cover-placeholder{width:100%;aspect-ratio:2/3;object-fit:cover;box-shadow:0 24px 60px rgba(0,0,0,.35)}.book-cover-placeholder--large{min-height:360px;padding:2rem}.book-subtitle{font-size:1.25rem;max-width:55rem;color:#d9e1e7}.book-facts{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.25rem 0}.book-facts span{border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:.38rem .75rem;font-size:.85rem}.book-page-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,320px);gap:2rem;align-items:start}.book-toc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1.5rem}.book-toc-grid span{background:#eef1f3;border-left:4px solid #7f8a93;padding:.9rem 1rem;font-weight:700}.wiki-book-grid a small{display:block;font-size:.78rem;line-height:1.35;color:#5b6670;margin-top:.35rem}.book-detail-card h3 a{color:inherit;text-decoration:none}.book-detail-card h3 a:hover{text-decoration:underline}@media(max-width:760px){.book-page-hero__layout,.book-page-layout{grid-template-columns:1fr}.book-page-cover{max-width:260px}.book-toc-grid{grid-template-columns:1fr}}
/* v0.1.21 BMC Magazine, Daily Cyber branding, and publication relationships */
.page-hero__inner--brand { grid-template-columns:minmax(0,1fr) minmax(260px,360px); }
.publication-brand-card {
  display:grid;
  grid-template-columns:minmax(130px,190px) 1fr;
  gap:22px;
  align-items:center;
  padding:22px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:var(--radius-lg);
  background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(0,0,0,.24));
  box-shadow:var(--shadow-lg);
}
.publication-brand-card img { width:100%; height:auto; border-radius:12px; filter:drop-shadow(0 14px 28px rgba(0,0,0,.32)); }
.publication-brand-card div { display:grid; gap:4px; }
.publication-brand-card strong { color:#fff; font-size:clamp(2.4rem,5vw,4.2rem); line-height:.9; }
.publication-brand-card span { color:#dce5e9; font-size:.82rem; font-weight:750; line-height:1.35; }

.news-brand-art { width:min(100%,480px); justify-self:end; overflow:hidden; border:1px solid rgba(255,255,255,.2); border-radius:var(--radius-lg); background:#080b0d; box-shadow:var(--shadow-lg); }
.news-hero__layout { grid-template-columns:minmax(0,1fr) minmax(320px,480px); gap:56px; }
.news-brand-art img { width:100%; height:auto; display:block; }
@media (max-width:930px) { .news-brand-art { justify-self:start; width:min(100%,480px); } }

.article-hero .shell { max-width:1220px; }
.article-hero__layout { grid-template-columns:minmax(0,1fr) minmax(340px,520px); }
.article-hero__layout > img { aspect-ratio:16/9; object-fit:cover; }
.article-body > h2 { margin-top:2.4em; }
.article-body > h3 { margin-top:1.9em; }
.article-body > p { color:#394c55; font-size:1.05rem; line-height:1.82; }
.article-infographic { margin:52px 0 12px; padding:18px; border:1px solid var(--line); border-radius:var(--radius-lg); background:#eef2f4; box-shadow:var(--shadow-sm); }
.article-infographic a { display:block; overflow:hidden; border-radius:calc(var(--radius-lg) - 7px); background:#fff; }
.article-infographic img { width:100%; height:auto; display:block; }
.article-infographic figcaption { margin-top:12px; color:#60717a; font-size:.86rem; text-align:center; }
.article-audio-card { border-color:#9fb6c1!important; background:linear-gradient(145deg,#edf4f7,#d6e2e7)!important; }
.article-audio-card strong { color:var(--ink); font-size:1.02rem; line-height:1.35; }
.article-audio-card p { margin:3px 0 10px; color:#4e616b; font-size:.87rem; }
.article-audio-card .button { align-self:flex-start; margin-top:4px; color:#fff; }

.related-article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.related-article-grid--compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
.related-article-card { overflow:hidden; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow-sm); color:inherit; text-decoration:none; transition:transform .18s ease, box-shadow .18s ease; }
.related-article-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.related-article-card img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.related-article-card > div { display:grid; gap:9px; padding:19px; }
.related-article-card span { color:var(--news); font-size:.66rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.related-article-card strong { color:var(--ink); font-size:1.08rem; line-height:1.32; }
.related-article-card small { color:var(--accent-deep); font-weight:850; }
.article-learning-grid { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:32px; align-items:start; }
.article-learning-grid > div > h3 { margin:0 0 14px; }
.podcast-transcript { max-width:1000px; margin-inline:auto; }

@media (max-width:1050px) {
  .publication-brand-card { grid-template-columns:140px 1fr; }
  .article-hero__layout { grid-template-columns:1fr; }
  .article-hero__layout > img { max-width:760px; }
  .related-article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:800px) {
  .page-hero__inner--brand { grid-template-columns:1fr; }
  .publication-brand-card { max-width:500px; }
  .article-learning-grid { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .publication-brand-card { grid-template-columns:105px 1fr; padding:16px; }
  .related-article-grid, .related-article-grid--compact { grid-template-columns:1fr; }
  .article-infographic { margin-inline:-8px; padding:10px; }
}

/* v0.1.22 Magazine performance, article presentation, and resource sidebar */
.publication-card__art--magazine, .publication-card__art--daily { background:#080b0d; }
.publication-card__art--magazine img, .publication-card__art--daily img { aspect-ratio:1; object-fit:cover; }

.magazine-load-more { display:grid; justify-items:center; gap:10px; margin-top:34px; text-align:center; }
.magazine-load-more p { margin:0; color:#63757f; font-size:.82rem; font-weight:750; }
.article-grid--noscript { margin-top:24px; }

.article-hero { padding-bottom:clamp(54px,7vw,82px); }
.article-hero .shell { max-width:1060px; }
.article-hero__layout { display:block; max-width:940px; }
.article-hero__layout > img { display:none; }
.article-cover-section { padding:clamp(30px,5vw,54px) 0 0; background:#fff; }
.article-cover { width:min(100%,960px); margin:0 auto; }
.article-cover img { display:block; width:100%; height:auto; border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); }
.article-content-section { padding-top:clamp(44px,6vw,70px); }
.article-layout { grid-template-columns:minmax(0,780px) minmax(280px,320px); gap:48px; justify-content:space-between; }
.article-aside { display:grid; gap:18px; align-self:start; position:sticky; top:120px; }
.article-aside > div,
.article-aside__card { display:flex; flex-direction:column; gap:9px; padding:23px; border:1px solid var(--line); border-radius:var(--radius); background:#f1f4f5; }
.article-aside__card > span { margin-bottom:4px; color:var(--accent-deep); font-size:.68rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.article-aside__card h2 { margin:0 0 5px; font-size:1.2rem; line-height:1.25; }
.article-aside__card > a { text-decoration:none; font-weight:750; }
.article-concepts-card { padding:23px 18px!important; background:linear-gradient(145deg,#f7f9fa,#e4ebee)!important; }
.article-concepts-card > span,
.article-concepts-card > h2 { margin-inline:5px; }
.article-concept-list { display:grid; margin-top:7px; border-top:1px solid #cbd5da; }
.article-concept-list a { position:relative; display:grid; gap:2px; padding:13px 28px 13px 5px; border-bottom:1px solid #cbd5da; color:var(--ink); text-decoration:none; }
.article-concept-list a:last-child { border-bottom:0; }
.article-concept-list a:hover strong { color:var(--accent-deep); }
.article-concept-list small { color:#6a7a83; font-size:.62rem; font-style:normal; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.article-concept-list strong { font-size:.92rem; line-height:1.28; }
.article-concept-list i { position:absolute; right:5px; top:50%; translate:0 -50%; color:var(--accent-deep); font-style:normal; font-weight:950; }
.article-next-card a + a { padding-top:8px; border-top:1px solid #d2dadd; }
.episode-open { font-size:1.2rem; line-height:1; }

@media (max-width:930px) {
  .article-layout { grid-template-columns:1fr; }
  .article-aside { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .article-concepts-card { grid-column:1/-1; }
}
@media (max-width:650px) {
  .article-aside { grid-template-columns:1fr; }
  .article-concepts-card { grid-column:auto; }
  .article-cover-section { padding-top:20px; }
  .article-cover { width:100%; }
  .article-cover img { border-radius:12px; }
}


/* Bare Metal Cyber v0.2.2 Wiki learning paths */
.learning-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.learning-path-card{display:flex;min-height:245px;flex-direction:column;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);text-decoration:none;box-shadow:var(--shadow-sm);transition:.2s ease}.learning-path-card:hover{transform:translateY(-4px);border-color:#9dabb4;box-shadow:var(--shadow-md)}.learning-path-card>span{color:var(--accent-deep);font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.learning-path-card h3{margin:30px 0 10px}.learning-path-card p{color:#53636d}.learning-path-card small{margin-top:auto;padding-top:20px;color:var(--accent-deep);font-weight:850}.technical-core-group{margin-top:48px}.technical-core-group>h2{margin-bottom:20px}@media(max-width:980px){.learning-path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.learning-path-grid{grid-template-columns:1fr}}
/* v0.2.4 MITRE ATT&CK educational integration */
.section--attack{background:linear-gradient(135deg,#17242c 0%,#263944 58%,#5b1e25 100%);color:#fff}.attack-spotlight{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.45fr);gap:46px;align-items:center}.attack-spotlight h2{color:#fff}.attack-spotlight p:not(.eyebrow){max-width:780px;color:#dce5e9}.attack-spotlight__metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.attack-spotlight__metrics span{display:flex;min-height:118px;flex-direction:column;justify-content:center;padding:18px;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);background:rgba(8,16,21,.3);color:#dce5e9;text-align:center}.attack-spotlight__metrics strong{display:block;color:#fff;font-size:1.65rem}.attack-mapping{margin:0 0 34px;padding:26px;border:1px solid #c5d0d6;border-left:5px solid #8f2633;border-radius:var(--radius);background:linear-gradient(145deg,#f8fafb,#eef3f5)}.attack-mapping__header{display:flex;gap:20px;align-items:flex-start;justify-content:space-between}.attack-mapping__header h2{margin:0;font-size:1.55rem}.attack-version{display:inline-flex;white-space:nowrap;padding:8px 12px;border-radius:999px;background:#17242c;color:#fff;font-size:.76rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.attack-object-list{display:grid;gap:14px;margin-top:20px}.attack-object{padding:18px;border:1px solid #d5dde1;border-radius:12px;background:#fff}.attack-object>div{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.attack-object>div span{padding:4px 8px;border-radius:999px;background:#e9eef1;color:#4c5d66;font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.attack-object strong{color:#17242c}.attack-object p{margin:8px 0 0;font-size:.92rem}.attack-object a{display:inline-block;margin-top:10px;color:#7f1f2b;font-weight:800}.attack-mapping__basis{margin:20px 0 0;padding-top:16px;border-top:1px solid #d5dde1;font-size:.92rem}.attack-mapping__legal{margin:8px 0 0;color:#667780!important;font-size:.78rem!important}.entry-card [href*="mitre-attack"]{text-decoration-thickness:1px}@media(max-width:900px){.attack-spotlight{grid-template-columns:1fr}.attack-spotlight__metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.attack-spotlight__metrics{grid-template-columns:1fr}.attack-spotlight__metrics span{min-height:90px}.attack-mapping__header{flex-direction:column}.attack-version{align-self:flex-start}}


/* v0.2.4-R1 homepage publication artwork containment hotfix */
.publication-card__art {
  width:180px;
  height:180px;
  min-width:0;
  min-height:0;
  align-self:center;
  justify-self:start;
  overflow:hidden;
  aspect-ratio:1 / 1;
}
.publication-card__art img,
.publication-card__art--magazine img,
.publication-card__art--daily img {
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
}
@media (max-width:930px) {
  .publication-card__art { width:145px; height:145px; }
}
@media (max-width:720px) {
  .publication-card__art { width:130px; height:130px; }
}
@media (max-width:520px) {
  .publication-card__art {
    width:min(220px,100%);
    height:auto;
    justify-self:center;
    aspect-ratio:1 / 1;
  }
}


/* v0.2.5 complete Enterprise ATT&CK catalog */
.attack-catalog-grid { align-items: stretch; }
.attack-catalog-card { display: flex; flex-direction: column; }
.attack-catalog-card h2 { font-size: clamp(1.1rem, 1.8vw, 1.45rem); margin: .45rem 0 .7rem; }
.attack-catalog-card .attack-parent { font-size: .88rem; margin: 0 0 .75rem; }
.attack-catalog-card .tag-list { margin-top: auto; padding-top: .65rem; }
.attack-catalog-card .text-link { margin-top: .85rem; }
@media (max-width: 880px) { .attack-catalog-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 620px) { .attack-catalog-grid { grid-template-columns: 1fr; } }

/* v0.2.7 Wiki Gateway */
.page-hero--wiki-gateway {
  padding: clamp(72px, 8vw, 112px) 0;
  background:
    radial-gradient(circle at 82% 24%, rgba(103,174,210,.34), transparent 23%),
    radial-gradient(circle at 14% 86%, rgba(64,109,132,.32), transparent 30%),
    linear-gradient(135deg,#121a20 0%,#26353f 52%,#131d23 100%);
}
.page-hero--wiki-gateway::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.32;
  background-image:
    radial-gradient(circle,rgba(174,216,237,.42) 0 1px,transparent 1.6px),
    linear-gradient(112deg,transparent 0 48%,rgba(158,204,226,.08) 49%,transparent 50%);
  background-size:34px 34px,170px 170px;
  mask-image:linear-gradient(90deg,transparent 3%,#000 48%,#000 100%);
}
.wiki-gateway-hero {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(330px,.72fr);
  gap:clamp(48px,7vw,92px);
  align-items:center;
}
.wiki-gateway-hero__copy h1 {
  max-width:900px;
  margin-bottom:22px;
  font-size:clamp(2.7rem,5.2vw,5.25rem);
}
.wiki-gateway-hero__lede {
  max-width:760px;
  margin-bottom:28px;
  color:#dbe5ea;
  font-size:clamp(1.02rem,1.55vw,1.2rem);
}
.wiki-gateway-search {
  max-width:790px;
  margin-top:28px;
  padding:17px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:var(--radius);
  background:rgba(5,11,15,.38);
  box-shadow:0 22px 58px rgba(0,0,0,.22);
  backdrop-filter:blur(10px);
}
.wiki-gateway-search label {
  display:block;
  margin:0 0 8px 2px;
  color:#eaf2f5;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.wiki-gateway-search__row {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
}
.wiki-gateway-search input {
  width:100%;
  min-height:52px;
  padding:13px 15px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:8px;
  background:rgba(255,255,255,.96);
  color:var(--ink);
  outline:none;
}
.wiki-gateway-search input:focus {
  border-color:#8fc3de;
  box-shadow:0 0 0 4px rgba(143,195,222,.24);
}
.wiki-quick-search {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-top:13px;
}
.wiki-quick-search > span {
  margin-right:2px;
  color:#aabac3;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.wiki-quick-search button {
  padding:6px 10px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#e4edf1;
  font-size:.74rem;
  font-weight:760;
  cursor:pointer;
  transition:.16s ease;
}
.wiki-quick-search button:hover,
.wiki-quick-search button:focus-visible {
  border-color:rgba(255,255,255,.62);
  background:rgba(255,255,255,.14);
  color:#fff;
  outline:none;
}
.wiki-knowledge-map {
  position:relative;
  min-height:430px;
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(118px,.55fr);
  grid-template-rows:repeat(3,1fr);
  gap:12px;
  padding:15px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:28px;
  background:rgba(7,14,18,.36);
  box-shadow:0 30px 80px rgba(0,0,0,.27);
  backdrop-filter:blur(10px);
}
.wiki-knowledge-map::before {
  content:"";
  position:absolute;
  inset:26px 22px;
  z-index:-1;
  opacity:.42;
  background:
    linear-gradient(90deg,transparent 49.5%,rgba(145,195,219,.36) 50%,transparent 50.5%),
    linear-gradient(transparent 49.5%,rgba(145,195,219,.24) 50%,transparent 50.5%);
}
.wiki-knowledge-map__core,
.wiki-knowledge-map__node {
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.055));
}
.wiki-knowledge-map__core {
  grid-row:1 / 4;
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:clamp(20px,1.8vw,26px);
  border-radius:20px;
}
.wiki-knowledge-map__core::before {
  content:"";
  position:absolute;
  width:210px;
  height:210px;
  top:-62px;
  right:-68px;
  border:1px solid rgba(177,219,239,.34);
  border-radius:50%;
  box-shadow:0 0 0 28px rgba(136,190,217,.06),0 0 0 58px rgba(136,190,217,.035);
}
.wiki-knowledge-map__core > span,
.wiki-knowledge-map__node span {
  color:#aebfc8;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.wiki-knowledge-map__core strong {
  display:block;
  max-width:100%;
  margin:14px 0 4px;
  color:#fff;
  font-size:clamp(3rem,4.2vw,4rem);
  font-variant-numeric:tabular-nums;
  line-height:.9;
  letter-spacing:-.05em;
  white-space:nowrap;
}
.wiki-knowledge-map__core small {
  color:#d8e4e9;
  font-size:.9rem;
  font-weight:760;
}
.wiki-knowledge-map__node {
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:18px;
  border-radius:16px;
}
.wiki-knowledge-map__node strong {
  color:#fff;
  font-size:clamp(1.8rem,2.8vw,2.1rem);
  font-variant-numeric:tabular-nums;
  line-height:1;
  white-space:nowrap;
}
.wiki-knowledge-map__node--topics { border-left:4px solid #78acc6; }
.wiki-knowledge-map__node--paths { border-left:4px solid #8ea57f; }
.wiki-knowledge-map__node--attack { border-left:4px solid #bd6a72; }

.section--wiki-routes { background:linear-gradient(180deg,#f8fafb,#edf2f4); }
.wiki-route-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.wiki-route-card {
  --route-accent:#2f6f93;
  position:relative;
  min-height:360px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:26px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:#fff;
  color:var(--ink);
  text-decoration:none;
  box-shadow:var(--shadow-sm);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.wiki-route-card::before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:6px;
  background:var(--route-accent);
}
.wiki-route-card:hover {
  transform:translateY(-6px);
  border-color:#a8b5bc;
  box-shadow:var(--shadow-md);
}
.wiki-route-card--foundation { --route-accent:#4f765e; }
.wiki-route-card--technical { --route-accent:#2f6f93; }
.wiki-route-card--attack { --route-accent:#8f3943; }
.wiki-route-card--guided { --route-accent:#6a5a82; }
.wiki-route-card__number {
  color:#87969f;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.14em;
}
.wiki-route-card__signal {
  width:58px;
  height:58px;
  margin:25px 0 24px;
  border:1px solid color-mix(in srgb,var(--route-accent) 35%,#d8e0e4);
  border-radius:18px;
  background:
    radial-gradient(circle at 50% 50%,var(--route-accent) 0 5px,transparent 6px),
    linear-gradient(90deg,transparent 48%,color-mix(in srgb,var(--route-accent) 45%,transparent) 49% 51%,transparent 52%),
    linear-gradient(transparent 48%,color-mix(in srgb,var(--route-accent) 45%,transparent) 49% 51%,transparent 52%),
    color-mix(in srgb,var(--route-accent) 7%,#fff);
}
.wiki-route-card__label {
  margin:0 0 8px;
  color:var(--route-accent)!important;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.wiki-route-card h3 { margin:0 0 13px; font-size:1.55rem; }
.wiki-route-card > p:not(.wiki-route-card__label) { color:#586872; font-size:.92rem; }
.wiki-route-card small {
  margin-top:auto;
  padding-top:18px;
  color:var(--route-accent);
  font-weight:900;
}

.section--wiki-topics { background:#fff; }
.wiki-topic-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.wiki-topic-tile {
  --topic-accent:#2f6f93;
  position:relative;
  min-height:238px;
  display:flex;
  flex-direction:column;
  padding:22px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:linear-gradient(145deg,#fff,#f7f9fa);
  color:var(--ink);
  text-decoration:none;
  box-shadow:0 6px 18px rgba(20,30,37,.055);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.wiki-topic-tile::after {
  content:"";
  position:absolute;
  width:115px;
  height:115px;
  right:-52px;
  bottom:-58px;
  border:16px solid color-mix(in srgb,var(--topic-accent) 10%,transparent);
  border-radius:50%;
}
.wiki-topic-tile:hover {
  transform:translateY(-4px);
  border-color:color-mix(in srgb,var(--topic-accent) 45%,#cbd5da);
  box-shadow:var(--shadow-sm);
}
.wiki-topic-tile--tone-1 { --topic-accent:#2f6f93; }
.wiki-topic-tile--tone-2 { --topic-accent:#4f765e; }
.wiki-topic-tile--tone-3 { --topic-accent:#7d506f; }
.wiki-topic-tile--tone-4 { --topic-accent:#8b6238; }
.wiki-topic-tile__top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
}
.wiki-topic-tile__top span {
  display:inline-grid;
  place-items:center;
  min-width:44px;
  height:44px;
  padding:0 10px;
  border-radius:12px;
  background:color-mix(in srgb,var(--topic-accent) 11%,#fff);
  color:var(--topic-accent);
  font-size:.76rem;
  font-weight:950;
}
.wiki-topic-tile__top strong {
  color:color-mix(in srgb,var(--topic-accent) 76%,#26343c);
  font-size:1.25rem;
}
.wiki-topic-tile h3 { margin:24px 0 9px; font-size:1.24rem; }
.wiki-topic-tile p {
  display:-webkit-box;
  overflow:hidden;
  margin-bottom:16px;
  color:#5a6a73;
  font-size:.88rem;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.wiki-topic-tile small {
  position:relative;
  z-index:1;
  margin-top:auto;
  color:var(--topic-accent);
  font-weight:880;
}

.wiki-attack-feature {
  position:relative;
  overflow:hidden;
  padding:clamp(72px,8vw,112px) 0;
  color:#fff;
  background:
    radial-gradient(circle at 86% 18%,rgba(185,78,89,.27),transparent 25%),
    radial-gradient(circle at 20% 82%,rgba(62,126,158,.23),transparent 30%),
    linear-gradient(135deg,#11181d,#25323a 58%,#151d22);
}
.wiki-attack-feature::after {
  content:"";
  position:absolute;
  inset:0;
  opacity:.28;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:38px 38px;
  mask-image:linear-gradient(90deg,transparent,#000 70%);
}
.wiki-attack-feature__layout {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:clamp(48px,7vw,90px);
  align-items:center;
}
.wiki-attack-feature h2 { max-width:760px; color:#fff; }
.wiki-attack-feature__copy > p:not(.eyebrow) { max-width:730px; color:#d5e0e5; font-size:1.05rem; }
.wiki-attack-feature__stats {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.wiki-attack-feature__stats a {
  min-height:270px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:25px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--radius-lg);
  background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.055));
  color:#fff;
  text-decoration:none;
  transition:.18s ease;
  backdrop-filter:blur(7px);
}
.wiki-attack-feature__stats a:hover { transform:translateY(-5px); border-color:rgba(255,255,255,.42); }
.wiki-attack-feature__stats span { color:#b9c7ce; font-size:.7rem; font-weight:950; letter-spacing:.1em; text-transform:uppercase; }
.wiki-attack-feature__stats strong { margin:24px 0 6px; font-size:clamp(3.2rem,6vw,5rem); line-height:.85; letter-spacing:-.06em; }
.wiki-attack-feature__stats small { color:#d5e0e5; line-height:1.35; }
.wiki-attack-feature__stats a:first-child { border-top:5px solid #7ba9bf; }
.wiki-attack-feature__stats a:last-child { border-top:5px solid #b85a65; }

.section--wiki-guided { background:linear-gradient(180deg,#eef2f4,#e3e9ec); }
.wiki-featured-path-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.wiki-featured-path {
  min-height:155px;
  display:grid;
  grid-template-columns:58px 1fr;
  gap:18px;
  padding:22px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  color:var(--ink);
  text-decoration:none;
  box-shadow:var(--shadow-sm);
  transition:.18s ease;
}
.wiki-featured-path:hover { transform:translateY(-4px); border-color:#a3b1b9; box-shadow:var(--shadow-md); }
.wiki-featured-path__index {
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  border-radius:15px;
  background:#dfe9ee;
  color:var(--accent-deep);
  font-size:.8rem;
  font-weight:950;
  letter-spacing:.08em;
}
.wiki-featured-path p { margin:0 0 6px; color:#6a7a83; font-size:.7rem; font-weight:900; letter-spacing:.075em; text-transform:uppercase; }
.wiki-featured-path h3 { margin:0 0 16px; font-size:1.15rem; }
.wiki-featured-path small { color:var(--accent-deep); font-weight:860; }

.section--wiki-directory { background:#f7f9fa; }
.wiki-directory-disclosure {
  overflow:hidden;
  border:1px solid #c8d3d9;
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-md);
  scroll-margin-top:calc(var(--header-height) + 25px);
}
.wiki-directory-disclosure > summary {
  display:grid;
  grid-template-columns:76px minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
  min-height:155px;
  padding:28px 32px;
  list-style:none;
  cursor:pointer;
  background:
    radial-gradient(circle at 90% 20%,rgba(76,135,165,.12),transparent 24%),
    linear-gradient(135deg,#fff,#edf3f6);
}
.wiki-directory-disclosure > summary::-webkit-details-marker { display:none; }
.wiki-directory-disclosure > summary:focus-visible { outline:4px solid rgba(47,111,147,.22); outline-offset:-4px; }
.wiki-directory-disclosure[open] > summary { border-bottom:1px solid var(--line); }
.wiki-directory-disclosure__icon {
  position:relative;
  width:68px;
  height:68px;
  border:1px solid #b9c8d0;
  border-radius:20px;
  background:
    linear-gradient(90deg,transparent 48%,#2f6f93 49% 51%,transparent 52%),
    linear-gradient(transparent 48%,#2f6f93 49% 51%,transparent 52%),
    #e7f0f4;
}
.wiki-directory-disclosure__icon::after {
  content:"";
  position:absolute;
  inset:20px;
  border:3px solid var(--accent-deep);
  border-radius:50%;
}
.wiki-directory-disclosure__copy { display:grid; }
.wiki-directory-disclosure__copy small { color:var(--accent-deep); font-size:.7rem; font-weight:950; letter-spacing:.12em; text-transform:uppercase; }
.wiki-directory-disclosure__copy strong { margin:6px 0 5px; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-stretch:normal; font-size:clamp(1.45rem,2.4vw,2.2rem); line-height:1.08; }
.wiki-directory-disclosure__copy > span { color:#5b6b74; }
.wiki-directory-disclosure__action {
  min-width:132px;
  padding:11px 15px;
  border:1px solid #aebdc5;
  border-radius:8px;
  background:#fff;
  color:var(--accent-deep);
  font-size:.8rem;
  font-weight:900;
  text-align:center;
}
.wiki-directory-disclosure__body { padding:clamp(28px,5vw,55px); }
.filter-panel--wiki { grid-template-columns:minmax(280px,1.6fr) minmax(210px,.75fr) auto; }
.entry-card-grid--paged .entry-card[hidden] { display:none!important; }
.wiki-directory-pagination {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  margin-top:30px;
}
.wiki-directory-pagination[hidden] { display:none; }
.wiki-directory-pagination p { margin:0; color:#64747d; font-size:.8rem; }

@media (max-width:1100px) {
  .wiki-gateway-hero { grid-template-columns:minmax(0,1fr) 350px; gap:42px; }
  .wiki-knowledge-map { grid-template-columns:minmax(0,1fr) 112px; }
  .wiki-knowledge-map__core { padding:20px; }
  .wiki-knowledge-map__core strong { font-size:3rem; }
  .wiki-route-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wiki-route-card { min-height:330px; }
  .wiki-topic-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .wiki-featured-path-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:860px) {
  .wiki-gateway-hero,
  .wiki-attack-feature__layout { grid-template-columns:1fr; }
  .wiki-gateway-hero { gap:38px; }
  .wiki-knowledge-map { min-height:330px; grid-template-columns:1.15fr 1fr; }
  .wiki-attack-feature__stats a { min-height:220px; }
  .wiki-topic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .filter-panel--wiki { grid-template-columns:1fr 1fr; }
  .filter-panel--wiki .filter-field--search { grid-column:1/-1; }
  .wiki-directory-disclosure > summary { grid-template-columns:68px minmax(0,1fr); }
  .wiki-directory-disclosure__action { grid-column:2; justify-self:start; }
}
@media (max-width:620px) {
  .wiki-knowledge-map__core strong { font-size:clamp(3.25rem,17vw,4.8rem); }
  .wiki-gateway-search__row,
  .wiki-route-grid,
  .wiki-topic-grid,
  .wiki-attack-feature__stats,
  .wiki-featured-path-grid,
  .filter-panel--wiki { grid-template-columns:1fr; }
  .wiki-gateway-search__row .button { width:100%; }
  .wiki-knowledge-map { min-height:0; grid-template-columns:1fr 1fr; grid-template-rows:auto auto auto; }
  .wiki-knowledge-map__core { grid-column:1/-1; grid-row:auto; min-height:210px; }
  .wiki-knowledge-map__node--attack { grid-column:1/-1; }
  .wiki-route-card { min-height:320px; }
  .wiki-topic-tile { min-height:210px; }
  .wiki-attack-feature__stats a { min-height:190px; }
  .wiki-featured-path { grid-template-columns:52px 1fr; }
  .filter-panel--wiki .filter-field--search { grid-column:auto; }
  .wiki-directory-disclosure > summary { grid-template-columns:1fr; gap:14px; padding:25px; }
  .wiki-directory-disclosure__icon { display:none; }
  .wiki-directory-disclosure__action { grid-column:auto; justify-self:start; }
}

/* Bare Metal Cyber v0.2.8 — Enterprise ATT&CK mitigation catalog */
.mitigation-catalog-hero{position:relative;overflow:hidden;padding:clamp(72px,9vw,126px) 0;background:linear-gradient(135deg,#0c1b24 0%,#173440 55%,#0a151c 100%);color:#fff}
.mitigation-catalog-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(147,198,221,.22) 1.2px,transparent 0);background-size:36px 36px;opacity:.45}
.mitigation-catalog-hero::after{content:"";position:absolute;right:-9%;top:-35%;width:520px;height:520px;border:1px solid rgba(147,198,221,.2);border-radius:50%;box-shadow:0 0 0 70px rgba(147,198,221,.04),0 0 0 140px rgba(147,198,221,.025)}
.mitigation-catalog-hero__layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.48fr);gap:clamp(40px,7vw,92px);align-items:center}
.mitigation-catalog-hero h1{color:#fff;max-width:820px;margin:.25em 0;font-size:clamp(2.7rem,5.5vw,5.3rem);line-height:.94;letter-spacing:-.055em}
.mitigation-catalog-hero p:not(.eyebrow){max-width:760px;color:#d2e0e6;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.75}
.mitigation-catalog-hero .breadcrumbs,.mitigation-catalog-hero .breadcrumbs a{color:#c7dbe4}
.mitigation-catalog-hero__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:15px;border:1px solid rgba(147,198,221,.28);border-radius:28px;background:rgba(5,12,16,.34);backdrop-filter:blur(10px)}
.mitigation-catalog-hero__stats div{min-height:150px;padding:24px;border:1px solid rgba(255,255,255,.13);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.035));display:flex;flex-direction:column;justify-content:flex-end}
.mitigation-catalog-hero__stats strong{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.mitigation-catalog-hero__stats span{margin-top:9px;color:#b7c8d0;font-size:.73rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.mitigation-search{max-width:900px;margin:34px 0 24px}
.mitigation-search label{display:block;margin-bottom:9px;font-weight:800;color:#253842}
.mitigation-search div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.mitigation-search input{width:100%;min-height:54px;padding:0 18px;border:1px solid #a8bac3;border-radius:8px;background:#fff;color:#14242c;font:inherit}
.mitigation-family-buttons{display:flex;flex-wrap:wrap;gap:9px}
.mitigation-family-buttons button{padding:10px 14px;border:1px solid #9fb2bc;border-radius:999px;background:#fff;color:#2f4651;font:inherit;font-size:.82rem;font-weight:800;cursor:pointer}
.mitigation-family-buttons button span{display:inline-grid;place-items:center;min-width:23px;height:23px;margin-left:5px;border-radius:999px;background:#dce8ed;color:#28414d}
.mitigation-family-buttons button:hover,.mitigation-family-buttons button.is-active{border-color:#123846;background:#123846;color:#fff}
.mitigation-family-buttons button.is-active span{background:#fff;color:#123846}
.mitigation-result-status{min-height:1.5em;margin:18px 0 0;color:#5d7079;font-size:.88rem;font-weight:700}
.mitigation-family-section{padding:20px 0 54px}
.mitigation-family-section>header{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid #b7c6cd}
.mitigation-family-section>header h2{margin:0;font-size:clamp(1.45rem,2.4vw,2rem)}
.mitigation-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}
.mitigation-card{position:relative;display:flex;flex-direction:column;min-height:330px;padding:24px;border:1px solid #bccbd2;border-radius:16px;background:linear-gradient(150deg,#fff 0%,#f3f7f8 100%);box-shadow:0 12px 26px rgba(25,44,53,.07)}
.mitigation-card[hidden],.mitigation-family-section[hidden]{display:none!important}
.mitigation-card::before{content:"";position:absolute;left:0;top:24px;bottom:24px;width:4px;border-radius:0 4px 4px 0;background:#699bb1}
.mitigation-card__top{display:flex;justify-content:space-between;gap:12px;align-items:center}
.mitigation-card__top>span{color:#143d4e;font-size:1.15rem;font-weight:900;letter-spacing:.04em}
.mitigation-card__top small{color:#657982;font-size:.65rem;font-weight:850;letter-spacing:.08em;text-align:right;text-transform:uppercase}
.mitigation-card h3{margin:20px 0 10px;font-size:1.25rem;line-height:1.25}
.mitigation-card h3 a{color:#132c37;text-decoration:none}
.mitigation-card h3 a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.mitigation-card>p{color:#526771;font-size:.9rem;line-height:1.65}
.mitigation-card__meta{display:flex;flex-wrap:wrap;gap:8px;margin:auto 0 15px;padding-top:20px}
.mitigation-card__meta span{padding:5px 8px;border-radius:5px;background:#e5eef2;color:#4a626d;font-size:.68rem;font-weight:750}
.mitigation-card .text-link{font-weight:850}
.mitigation-catalog-note .callout{padding:clamp(28px,5vw,58px);border-left:6px solid #769fb1;background:#e9f1f4}
.mitigation-catalog-note .callout h2{max-width:900px;margin:.25em 0}
.mitigation-catalog-note .callout>p:last-child{max-width:1000px;color:#4f626b;line-height:1.75}
@media(max-width:1100px){.mitigation-catalog-hero__layout{grid-template-columns:minmax(0,1fr) 330px}.mitigation-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.mitigation-catalog-hero__layout{grid-template-columns:1fr}.mitigation-catalog-hero__stats{max-width:560px}.mitigation-family-section>header{display:block}.mitigation-card-grid{grid-template-columns:1fr}.mitigation-card{min-height:0}}
@media(max-width:520px){.mitigation-catalog-hero__stats{grid-template-columns:1fr 1fr}.mitigation-catalog-hero__stats div{min-height:120px;padding:18px}.mitigation-search div{grid-template-columns:1fr}.mitigation-family-buttons button{width:100%;display:flex;justify-content:space-between;align-items:center}.mitigation-catalog-hero .button-row{display:grid}}

/* Bare Metal Cyber v0.2.8-R1 — Wiki route recovery and metric-fit hotfix */.wiki-knowledge-map__core {
  container-type:inline-size;
}
.wiki-knowledge-map__core strong {
  position:relative;
  z-index:1;
  width:100%;
  max-width:100%;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-stretch:normal;
  font-size:3.35rem;
  font-size:clamp(2.72rem,23cqw,3.65rem);
  font-weight:850;
  letter-spacing:-.075em;
  line-height:.9;
  white-space:nowrap;
}
@media (max-width:1100px) and (min-width:861px) {
  .wiki-knowledge-map__core { padding-left:18px; padding-right:14px; }
  .wiki-knowledge-map__core strong {
    font-size:2.85rem;
    font-size:clamp(2.55rem,22cqw,3.1rem);
  }
}
@media (max-width:620px) {
  .wiki-knowledge-map__core { padding-left:20px; padding-right:20px; }
  .wiki-knowledge-map__core strong {
    font-size:clamp(3rem,20cqw,4.15rem);
  }
}

/* Bare Metal Cyber v0.2.9 — evergreen Wiki subpages */.mitigation-catalog-hero__layout--evergreen {
  grid-template-columns:minmax(0,1fr);
  gap:0;
}
.mitigation-catalog-hero__layout--evergreen > div {
  max-width:980px;
}
.mitigation-card .text-link {
  margin-top:auto;
  padding-top:20px;
}
.wiki-entry-hero__layout--evergreen {
  grid-template-columns:minmax(0,1fr);
  gap:0;
  max-width:1120px;
}
.wiki-entry-hero__layout--evergreen > div {
  max-width:1080px;
}
.wiki-entry-hero__meta {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 14px;
}
.wiki-entry-hero__meta span + span::before {
  content:"•";
  margin-right:14px;
  color:#8fc0d5;
}
@media (max-width:780px) {
  .mitigation-catalog-hero__layout--evergreen > div,
  .wiki-entry-hero__layout--evergreen > div {
    max-width:none;
  }
}

/* Bare Metal Cyber v0.2.10 — Wiki typography and learning connections */
.page-wiki .attack-recovery-hero h1,
.page-wiki .attack-recovery-nav-card h2,
.page-wiki .attack-recovery-card h2,
.page-wiki .attack-recovery-note h2,
.page-wiki .mitigation-catalog-hero h1,
.page-wiki .mitigation-family-section > header h2,
.page-wiki .mitigation-card h3,
.page-wiki .mitigation-catalog-note h2,
.page-wiki-entry .wiki-entry-hero h1,
.page-wiki-entry .wiki-article h2,
.page-wiki-entry .attack-mapping h2,
.page-wiki-entry .section-heading h2,
.page-wiki-entry .section-heading h3 {
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-stretch:normal;
}
.page-wiki .attack-recovery-hero h1,
.page-wiki .attack-recovery-nav-card h2,
.page-wiki .attack-recovery-card h2,
.page-wiki .attack-recovery-note h2,
.page-wiki .mitigation-catalog-hero h1 {
  color:#fff;
}
.page-wiki .attack-recovery-note p {
  color:#c8d5db;
}
.page-wiki .attack-recovery-nav-card strong,
.page-wiki .attack-recovery-card a:last-child {
  color:#9bd2e8;
}
.page-wiki .attack-recovery-hero h1,
.page-wiki .mitigation-catalog-hero h1,
.page-wiki-entry .wiki-entry-hero h1 {
  font-weight:850;
  letter-spacing:-.045em;
}
.page-wiki-entry .wiki-entry-hero h1 {
  max-width:1100px;
  line-height:.98;
}
.page-wiki-entry .wiki-article h2,
.page-wiki-entry .attack-mapping h2,
.page-wiki-entry .section-heading h2,
.page-wiki .mitigation-family-section > header h2,
.page-wiki .mitigation-catalog-note h2 {
  font-weight:800;
  letter-spacing:-.028em;
}
.page-wiki-entry .attack-object strong,
.page-wiki-entry .sidebar-card strong,
.page-wiki-entry .sidebar-card a {
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

.wiki-connection-card {
  position:relative;
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:10px 14px;
  align-items:start;
  padding:20px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  color:var(--ink);
  box-shadow:var(--shadow-sm);
  text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.wiki-connection-card::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:var(--accent);
}
.wiki-connection-card--book::before {
  background:var(--news);
}
.wiki-connection-card:hover,
.wiki-connection-card:focus-visible {
  transform:translateY(-2px);
  border-color:#9fb3be;
  box-shadow:var(--shadow);
}
.wiki-connection-card:focus-visible {
  outline:3px solid rgba(47,111,147,.25);
  outline-offset:3px;
}
.wiki-connection-card__label {
  grid-column:1/-1;
  color:#647680;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.1em;
  line-height:1.2;
  text-transform:uppercase;
}
.wiki-connection-card__media {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:72px;
  overflow:hidden;
  border-radius:10px;
  background:linear-gradient(145deg,#20313a,#101a20);
}
.wiki-connection-card__media--square {
  aspect-ratio:1;
}
.wiki-connection-card__media--book {
  min-height:108px;
  border-radius:7px;
}
.wiki-connection-card__media img {
  position:absolute;
  z-index:1;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.wiki-connection-card__media--book img {
  aspect-ratio:2/3;
}
.wiki-connection-card__fallback {
  position:relative;
  z-index:0;
  color:#fff;
  font-size:1.45rem;
  font-weight:900;
}
.wiki-connection-card__fallback--book {
  align-self:stretch;
  display:flex;
  width:100%;
  align-items:flex-end;
  padding:9px;
  font-size:.7rem;
  letter-spacing:.08em;
}
.wiki-connection-card__copy {
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:5px;
}
.wiki-connection-card__copy small {
  color:#687b85;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.035em;
  line-height:1.35;
  text-transform:uppercase;
}
.wiki-connection-card__copy strong {
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:.96rem;
  font-weight:800;
  letter-spacing:-.015em;
  line-height:1.28;
  overflow-wrap:anywhere;
}
.wiki-connection-card__detail {
  display:-webkit-box;
  overflow:hidden;
  color:#687881;
  font-size:.76rem;
  line-height:1.4;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.wiki-connection-card__copy em {
  margin-top:4px;
  color:var(--accent-deep);
  font-size:.76rem;
  font-style:normal;
  font-weight:850;
}
.wiki-connection-card--book .wiki-connection-card__copy em {
  color:var(--news-deep);
}

@media (max-width:900px) {
  .wiki-connection-card {
    min-height:100%;
  }
}
@media (max-width:620px) {
  .wiki-connection-card {
    grid-template-columns:68px minmax(0,1fr);
    padding:18px;
  }
  .wiki-connection-card__media {
    width:68px;
  }
  .wiki-connection-card__media--book {
    min-height:102px;
  }
}

/* Bare Metal Cyber NIST CSF 2.0 Learning Center — v0.2.11-R1 */
.wiki-route-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wiki-route-card--nist{--route-accent:#b8860b}.wiki-route-card--nist .wiki-route-card__signal{background:radial-gradient(circle at 50% 50%,#b8860b 0 5px,transparent 6px),linear-gradient(45deg,transparent 47%,rgba(184,134,11,.35) 48% 52%,transparent 53%),linear-gradient(-45deg,transparent 47%,rgba(184,134,11,.35) 48% 52%,transparent 53%),#fff9e9}
.nist-csf-center,.nist-csf-center *{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}.nist-csf-center__hero{position:relative;overflow:hidden;padding:clamp(4.5rem,8vw,7.5rem) 0;background:radial-gradient(circle at 88% 18%,rgba(130,183,206,.22),transparent 27%),linear-gradient(135deg,#0d2029,#173d4b);color:#fff}.nist-csf-center__hero:after{content:"";position:absolute;inset:-20% -10% auto auto;width:540px;aspect-ratio:1;border:1px solid rgba(167,211,228,.22);border-radius:50%;box-shadow:0 0 0 70px rgba(167,211,228,.045),0 0 0 140px rgba(167,211,228,.035);pointer-events:none}.nist-csf-center__hero .breadcrumbs{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:2rem}.nist-csf-center__hero .breadcrumbs a,.nist-csf-center__hero .breadcrumbs span{color:#dbe9ef!important}.nist-csf-center__hero-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:clamp(2rem,5vw,5rem);align-items:center}.nist-csf-center__hero h1{max-width:900px;margin:.45rem 0 1.2rem;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:clamp(3rem,6.5vw,6.5rem);font-weight:850;letter-spacing:-.055em;line-height:.94}.nist-csf-center__hero p{max-width:850px;color:#d9e6eb;font-size:clamp(1.05rem,1.7vw,1.28rem);line-height:1.65}.nist-csf-center__model{display:grid;grid-template-columns:1fr auto;gap:.65rem;align-items:center;padding:1.35rem;border:1px solid rgba(169,205,220,.35);border-radius:28px;background:rgba(10,25,33,.55);box-shadow:0 24px 60px rgba(0,0,0,.22)}.nist-csf-center__model span{display:block;padding:1rem 1.1rem;border-radius:16px;background:rgba(255,255,255,.08);color:#fff;font-weight:850;letter-spacing:.02em}.nist-csf-center__model i{width:18px;height:2px;background:#8fc5da}.nist-csf-center__model small{grid-column:1/-1;color:#a8c5d1;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.nist-csf-function-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.nist-csf-function-card{--csf:#5686a0;position:relative;display:flex;min-height:360px;flex-direction:column;padding:1.65rem;border:1px solid color-mix(in srgb,var(--csf) 46%,#aebbc2);border-top:6px solid var(--csf);border-radius:24px;background:#fff;color:#14212a;text-decoration:none;box-shadow:0 12px 28px rgba(20,33,42,.08);transition:transform .2s ease,box-shadow .2s ease}.nist-csf-function-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(20,33,42,.14)}.nist-csf-function-card>span{color:var(--csf);font-weight:900;letter-spacing:.14em}.nist-csf-function-card h2{margin:.65rem 0;color:#14212a!important;font-size:2rem;font-weight:850}.nist-csf-function-card p{color:#455760;line-height:1.55}.nist-csf-function-card>div{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0}.nist-csf-function-card>div small{padding:.4rem .55rem;border-radius:999px;background:color-mix(in srgb,var(--csf) 9%,#fff);color:#344750;font-size:.7rem;font-weight:760}.nist-csf-function-card>strong{margin-top:auto;color:var(--csf)}.nist-csf-function-card--gv{--csf:#8f5460}.nist-csf-function-card--id{--csf:#447c65}.nist-csf-function-card--pr{--csf:#416f9b}.nist-csf-function-card--de{--csf:#8b6f35}.nist-csf-function-card--rs{--csf:#925541}.nist-csf-function-card--rc{--csf:#66558f}.nist-csf-directory-tools{display:grid;grid-template-columns:minmax(260px,2fr) minmax(200px,.75fr) auto;gap:.8rem;align-items:end;margin-bottom:1.25rem;padding:1rem;border:1px solid #c6d1d6;border-radius:18px;background:#f3f6f7}.nist-csf-directory-tools label span{display:block;margin-bottom:.45rem;color:#263943;font-size:.78rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.nist-csf-directory-tools input,.nist-csf-directory-tools select{width:100%;min-height:48px;padding:.7rem .85rem;border:1px solid #aab9c1;border-radius:10px;background:#fff;color:#15242c;font:inherit}.nist-csf-core-tree{display:grid;gap:1rem}.nist-csf-function-group{border:1px solid #bcc9cf;border-radius:22px;background:#fff;box-shadow:0 8px 22px rgba(16,34,43,.06);overflow:hidden}.nist-csf-function-group>summary{display:grid;grid-template-columns:74px minmax(170px,.5fr) minmax(260px,1.5fr);gap:1rem;align-items:center;padding:1.25rem 1.4rem;cursor:pointer;list-style:none;background:#ecf2f4}.nist-csf-function-group>summary::-webkit-details-marker{display:none}.nist-csf-function-group>summary span{color:#35677d;font-weight:950;letter-spacing:.12em}.nist-csf-function-group>summary strong{font-size:1.35rem}.nist-csf-function-group>summary small{color:#51656f;line-height:1.45}.nist-csf-function-group__body{padding:1.2rem}.nist-csf-category-group{padding:1.2rem 0;border-bottom:1px solid #d9e1e4}.nist-csf-category-group:last-child{border-bottom:0}.nist-csf-category-group>header{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(300px,1.25fr);gap:1.25rem;margin-bottom:1rem}.nist-csf-category-group>header span{color:#456f81;font-size:.78rem;font-weight:900;letter-spacing:.12em}.nist-csf-category-group>header h3{margin:.25rem 0 0;font-size:1.35rem}.nist-csf-category-group>header h3 a{color:#15252d;text-decoration:none}.nist-csf-category-group>header h3 a:hover{text-decoration:underline}.nist-csf-category-group>header p{margin:0;color:#53666f;line-height:1.55}.nist-csf-subcategory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.nist-csf-subcategory-card{display:flex;min-height:180px;flex-direction:column;padding:1rem;border:1px solid #cfd9dd;border-radius:14px;background:#f9fbfb;color:#18272f;text-decoration:none}.nist-csf-subcategory-card:hover{border-color:#6a97a9;background:#f1f7f9}.nist-csf-subcategory-card>span{color:#356f88;font-size:.78rem;font-weight:900;letter-spacing:.1em}.nist-csf-subcategory-card>strong{margin:.45rem 0;font-size:1.02rem}.nist-csf-subcategory-card p{margin:0;color:#586b74;font-size:.88rem;line-height:1.45}.nist-csf-subcategory-card small{margin-top:auto;padding-top:.8rem;color:#27647e;font-weight:800}.nist-csf-directory-empty{padding:2rem;text-align:center;color:#5c6d75}.nist-csf-profile-callout{display:flex;justify-content:space-between;gap:2rem;align-items:center}.nist-csf-profile-callout>div{max-width:850px}.nist-csf-mapping{margin-bottom:2rem;border:1px solid #b9cbd3;border-left:6px solid #37758d;border-radius:18px;background:linear-gradient(180deg,#f7fafb,#eef4f6);overflow:hidden}.nist-csf-mapping__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1.3rem 1.4rem 1rem}.nist-csf-mapping__header h2{margin:.25rem 0 0;color:#14242c!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;font-size:1.6rem!important;font-weight:850!important;letter-spacing:-.025em!important}.nist-csf-version{padding:.55rem .8rem;border-radius:999px;background:#17313d;color:#fff;font-size:.78rem;font-weight:900;white-space:nowrap}.nist-csf-mapping__identity{display:flex;gap:.75rem;align-items:center;margin:0 1.4rem;padding:1rem;border:1px solid #ccd8dd;border-radius:12px;background:#fff}.nist-csf-mapping__identity span{padding:.35rem .55rem;border-radius:999px;background:#e4eef2;color:#285d73;font-size:.72rem;font-weight:900;text-transform:uppercase}.nist-csf-mapping__identity strong{font-size:1.05rem}.nist-csf-mapping__hierarchy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;padding:1rem 1.4rem 0}.nist-csf-mapping__hierarchy:empty{display:none}.nist-csf-mapping__hierarchy a{display:flex;flex-direction:column;gap:.25rem;padding:.85rem;border:1px solid #ccd8dd;border-radius:12px;background:#fff;text-decoration:none}.nist-csf-mapping__hierarchy a:hover{border-color:#6f9bad}.nist-csf-mapping__hierarchy small{color:#56707c;font-size:.7rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.nist-csf-mapping__hierarchy strong{color:#17313d}.nist-csf-mapping blockquote{margin:1rem 1.4rem;padding:1.1rem 1.2rem;border:0;border-radius:12px;background:#16313d;color:#fff}.nist-csf-mapping blockquote span{display:block;color:#9bc5d6;font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.nist-csf-mapping blockquote p{margin:.55rem 0 0;color:#fff;line-height:1.6}.nist-csf-mapping__footer{padding:1rem 1.4rem 1.25rem}.nist-csf-mapping__footer p{margin:0 0 .8rem;color:#51666f;font-size:.9rem}.nist-csf-mapping__footer div{display:flex;flex-wrap:wrap;gap:1rem}.nist-csf-mapping__footer a{font-weight:800}.wiki-article .nist-csf-mapping+section{margin-top:0}
@media(max-width:1100px){.wiki-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nist-csf-function-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nist-csf-center__hero-layout{grid-template-columns:1fr}.nist-csf-center__model{max-width:520px}.nist-csf-directory-tools{grid-template-columns:1fr 1fr}.nist-csf-directory-tools .button{grid-column:1/-1;justify-self:start}.nist-csf-function-group>summary{grid-template-columns:64px minmax(150px,.5fr) minmax(220px,1.5fr)}}
@media(max-width:700px){.wiki-route-grid,.nist-csf-function-grid,.nist-csf-subcategory-grid,.nist-csf-directory-tools,.nist-csf-mapping__hierarchy{grid-template-columns:1fr}.nist-csf-center__hero{padding:3.5rem 0}.nist-csf-center__hero h1{font-size:clamp(2.7rem,14vw,4.5rem)}.nist-csf-function-card{min-height:0}.nist-csf-function-group>summary{grid-template-columns:1fr;gap:.35rem}.nist-csf-category-group>header{grid-template-columns:1fr}.nist-csf-directory-tools .button{grid-column:auto;width:100%}.nist-csf-profile-callout{align-items:flex-start;flex-direction:column}.nist-csf-mapping__header{align-items:flex-start}.nist-csf-mapping__identity{align-items:flex-start;flex-direction:column}.nist-csf-mapping__footer div{flex-direction:column;gap:.55rem}}


/* C20261023-01: Darwin's World homepage introduction. */
.home-darwin {
  color:#243b48;
  background:linear-gradient(120deg,#fff7e9 0%,#f2f7f4 100%);
  border-top:1px solid #e2ddce;
}
.home-darwin__layout {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);
  gap:clamp(32px,5vw,76px);
  align-items:center;
}
.home-darwin .eyebrow { color:#6b5121; }
.home-darwin h2 { max-width:680px; margin:0 0 18px; font-size:clamp(2.2rem,4vw,3.6rem); line-height:1.08; color:#17374b; }
.home-darwin__copy > p { max-width:700px; }
.home-darwin__lead { margin:0 0 16px; color:#315466; font-size:1.17rem; font-weight:750; }
.home-darwin__features { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 24px; margin:28px 0; padding:0; list-style:none; }
.home-darwin__features li { padding-left:14px; border-left:3px solid #d4a346; }
.home-darwin__features strong { display:block; margin-bottom:5px; color:#17374b; font-size:.98rem; }
.home-darwin__features span { display:block; color:#475f69; font-size:.92rem; line-height:1.55; }
.home-darwin__note { margin:14px 0 0; color:#52646a; font-size:.84rem; }
.home-darwin__art { width:100%; max-width:440px; justify-self:center; margin:0; padding:10px; border:1px solid #d8ded7; border-radius:28px; background:#fff; box-shadow:0 18px 44px rgba(37,69,81,.13); }
.home-darwin__art a { display:block; border-radius:20px; }
.home-darwin__art a:focus-visible { outline:3px solid #285f7d; outline-offset:5px; }
.home-darwin__art img { display:block; width:100%; height:auto; border-radius:20px; }
.home-darwin__art figcaption { padding:14px 10px 8px; color:#3c5561; font-size:.87rem; font-weight:700; line-height:1.5; text-align:center; }
@media (max-width:930px) {
  .home-darwin__layout { grid-template-columns:1fr; }
  .home-darwin__art { max-width:390px; }
}
@media (max-width:540px) {
  .home-darwin__features { grid-template-columns:1fr; gap:18px; }
  .home-darwin .button-row .button { width:100%; }
}
