 /* ═══════════════════════════════════════════
 DESIGN SYSTEM — INSTITUTIONAL DOCTRINE
 ═══════════════════════════════════════════ */
 :root {
 --void: #020204;
 --bg: #060610;
 --bg2: #0c0c18;
 --bg3: #141422;
 --card: #181828;
 --card-h: #1e1e32;

 --gold: #c9a227;
 --gold-l: #dbb94a;
 --gold-d: rgba(201,162,39,.10);
 --gold-g: rgba(201,162,39,.30);
 --gold-b: rgba(201,162,39,.28);

 --w: #f4f4fa;
 --w2: #c8c8d8;
 --w3: #8888a0;
 --w4: #5c5c74;
 --text-secondary: #c8c8d8;

 --cyan: #06b6d4;
 --em: #10b981;
 --emerald: #10b981;
 --red: #ef4444;
 --amber: #f59e0b;
 --text-muted: #8888a0;
 --text-primary: #f4f4fa;

 --bd: rgba(255,255,255,.07);
 --bd-g: rgba(201,162,39,.28);

 --serif: Georgia, 'Times New Roman', 'Palatino Linotype', serif;
 --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, Roboto, 'Helvetica Neue', Arial, sans-serif;
 --mono: ui-monospace, 'SF Mono', 'Segoe UI Mono', Menlo, 'Courier New', monospace;
 --heading: Georgia, 'Times New Roman', 'Palatino Linotype', serif;

 --ease: cubic-bezier(0.16, 1, 0.3, 1);
 --sh: 0 20px 60px rgba(0,0,0,.40);

 /* Publication Category Colors */
 --color-ai: #4dd0e1;
 --color-ciso: #d4af37;
 --color-reg: #4caf50;
 --color-zt: #5c8ee6;
 --color-sector: #f06292;
 --color-research: #9c7cf4;
 --color-product: #ff8a65;
 --color-identity: #26c6da;
 }

 * { box-sizing: border-box; margin: 0; padding: 0; }
 html { scroll-behavior: smooth; }
 body {
 font-family: var(--sans);
 background: var(--void);
 color: var(--w);
 line-height: 1.7;
 -webkit-font-smoothing: antialiased;
 overflow-x: hidden;
 }
 a { color: inherit; }
 ::selection { background: var(--gold); color: var(--void); }
 img { max-width: 100%; display: block; }

 /* Scroll progress bar */
 #scrollProgress {
 position: fixed;
 top: 0;
 left: 0;
 height: 3px;
 background: linear-gradient(90deg, var(--gold), var(--gold-l), var(--cyan));
 width: 0%;
 z-index: 10001;
 transition: width 0.1s ease;
 }

 /* Back to top button */
 #backToTop {
 position: fixed;
 bottom: 40px;
 right: 40px;
 width: 50px;
 height: 50px;
 background: var(--gold);
 border: none;
 border-radius: 12px;
 color: var(--void);
 cursor: pointer;
 opacity: 0;
 visibility: hidden;
 transition: opacity 0.3s, visibility 0.3s;
 z-index: 1000;
 display: flex;
 align-items: center;
 justify-content: center;
 font-weight: 700;
 font-size: 1.2rem;
 box-shadow: 0 10px 30px rgba(201,162,39,.30);
 }
 #backToTop.visible {
 opacity: 1;
 visibility: visible;
 }
 #backToTop:hover {
 background: var(--gold-l);
 transform: translateY(-2px);
 box-shadow: 0 12px 40px rgba(201,162,39,.40);
 }

 /* Grid overlay */
 .bg-grid {
 position: fixed; inset: 0; pointer-events: none; z-index: 0;
 background-image:
 linear-gradient(rgba(201,162,39,.025) 1px, transparent 1px),
 linear-gradient(90deg, rgba(201,162,39,.025) 1px, transparent 1px);
 background-size: 80px 80px;
 mask-image: radial-gradient(ellipse 60% 50% at 50% 0%, black 0%, transparent 70%);
 }

 .wrap { max-width: 1280px; margin: 0 auto; padding: 0 28px; }
 .skip { position: absolute; top: -200px; left: 50%; transform: translateX(-50%); padding: 14px 20px; background: var(--gold); color: var(--void); border-radius: 10px; font-weight: 700; text-decoration: none; z-index: 9999; }
 .skip:focus { top: 16px; }
 main { position: relative; z-index: 1; padding-top: 0; }

 /* ── THREAT TICKER ── */
 .ticker {
 position: absolute; bottom: -30px; left: 0; width: 100%;
 height: 30px; overflow: hidden; z-index: 1000;
 background: linear-gradient(90deg, rgba(212,175,55,.08), rgba(6,182,212,.06), rgba(212,175,55,.08));
 border-bottom: 1px solid rgba(212,175,55,.15);
 }
 .ticker-track {
 display: inline-flex; white-space: nowrap; will-change: transform;
 }
 .ticker-items {
 display: inline-flex; align-items: center; gap: 60px;
 white-space: nowrap;
 font-family: var(--mono);
 font-size: .63rem;
 letter-spacing: .06em;
 color: var(--w3);
 height: 30px;
 padding-left: 36px; padding-right: 36px;
 }
 .ticker-items span { display: inline-flex; align-items: center; gap: 8px; }
 .ticker-dot { width: 5px; height: 5px; border-radius: 50%; flex-shrink: 0; }
 .ticker-dot.live { background: var(--em); box-shadow: 0 0 8px rgba(16,185,129,.5); }
 .ticker-dot.warn { background: #f59e0b; box-shadow: 0 0 8px rgba(245,158,11,.4); }
 .ticker-dot.crit { background: #ef4444; box-shadow: 0 0 8px rgba(239,68,68,.4); }
 @keyframes pulse { 0%,100% { opacity: 1; } 50% { opacity: .4; } }

 /* ── LANGUAGE SELECTOR ── */
 .lang-selector {
 position: relative;
 display: inline-block;
 }
 .lang-btn {
 background: rgba(255,255,255,.08);
 border: 1px solid var(--bd);
 border-radius: 8px;
 padding: 8px 12px;
 color: var(--w3);
 cursor: pointer;
 font-family: var(--sans);
 font-size: .80rem;
 transition: all .2s;
 display: flex;
 align-items: center;
 gap: 6px;
 }
 .lang-btn:hover {
 border-color: var(--gold);
 color: var(--gold);
 }
 .lang-dropdown {
 position: absolute;
 top: 100%;
 right: 0;
 background: var(--bg2);
 border: 1px solid var(--bd);
 border-radius: 10px;
 padding: 8px;
 margin-top: 8px;
 display: none;
 min-width: 200px;
 max-height: 400px;
 overflow-y: auto;
 z-index: 2000;
 box-shadow: 0 20px 40px rgba(0,0,0,.40);
 }
 .lang-dropdown.active { max-height:400px; overflow-y:auto;
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 4px;
 }
 .lang-option {
 padding: 8px 12px;
 cursor: pointer;
 border-radius: 6px;
 font-size: .75rem;
 color: var(--w3);
 transition: all .2s;
 display: flex;
 align-items: center;
 gap: 6px;
 }
 .lang-option:hover {
 background: rgba(201,162,39,.15);
 color: var(--gold);
 }

 /* ── NAV ── */
 .nav {
 position: fixed; top: 0; left: 0; right: 0; z-index: 9999;
 background: rgba(6,6,16,.90);
 backdrop-filter: blur(20px);
 border-bottom: 1px solid var(--bd);
 transition: top .3s ease;
 overflow: visible;
 }
 .nav-inner { display: flex; align-items: center; justify-content: space-between; height: 70px; }
 .brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
 .mark {
 width: 40px; height: 40px; border-radius: 10px;
 display: grid; place-items: center;
 background: linear-gradient(135deg, var(--gold), var(--gold-l));
 color: var(--void);
 font-family: var(--serif); font-weight: 700; font-size: 19px;
 box-shadow: 0 8px 24px rgba(201,162,39,.18);
 }
 .brand-text { font-family: var(--mono); letter-spacing: .16em; text-transform: uppercase; font-size: .72rem; color: var(--w3); }
 .nav-links { display: flex; gap: 22px; list-style: none; }
 .nav-links a { text-decoration: none; font-size: .85rem; color: var(--w3); padding: 8px 0; position: relative; transition: color .2s; }
 .nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--gold); }
 .nav-links a::after { content: ""; position: absolute; left: 0; bottom: 4px; width: 0; height: 2px; background: var(--gold); transition: width .25s ease; }
 .nav-links a:hover::after, .nav-links a[aria-current="page"]::after { width: 100%; }
 .nav-right {
 display: flex;
 align-items: center;
 gap: 12px;
 }
 /* ── NAV SEARCH ── */
 .nav-search-wrap { position: relative; display: flex; align-items: center; }
 .nav-search-btn {
 background: none; border: none; cursor: pointer; color: var(--w2);
 padding: 6px 8px; border-radius: 6px; display: flex; align-items: center;
 transition: color .2s, background .2s; flex-shrink: 0;
 }
 .nav-search-btn:hover, .nav-search-btn.active { color: var(--gold); background: rgba(201,162,39,.10); }
 .nav-search-btn svg { width: 16px; height: 16px; display: block; }
 .nav-search-box {
 position: absolute; top: calc(100% + 10px); right: 0; width: 340px;
 background: var(--card); border: 1px solid rgba(201,162,39,.25);
 border-radius: 10px; box-shadow: 0 8px 32px rgba(0,0,0,.50);
 z-index: 10000; display: none; flex-direction: column; overflow: hidden;
 }
 .nav-search-box.open { display: flex; }
 .nav-search-input-wrap {
 display: flex; align-items: center; gap: 8px; padding: 10px 14px;
 border-bottom: 1px solid rgba(255,255,255,.07);
 }
 .nav-search-input-wrap svg { width: 14px; height: 14px; color: var(--w4); flex-shrink: 0; }
 .nav-search-input-wrap input {
 flex: 1; background: none; border: none; outline: none; color: var(--w);
 font-size: .88rem; font-family: var(--sans); padding: 0;
 }
 .nav-search-clear {
 background: none; border: none; cursor: pointer; color: var(--w4);
 font-size: 1rem; padding: 0 2px; line-height: 1; flex-shrink: 0;
 }
 .nav-search-results { max-height: 380px; overflow-y: auto; padding: 6px 0; }
 .nav-search-status { padding: 10px 14px; color: var(--w4); font-size: .82rem; text-align: center; }
 .nav-sr-item {
 display: block; padding: 9px 14px; color: var(--w); text-decoration: none;
 border-left: 2px solid transparent; transition: background .15s, border-color .15s; cursor: pointer;
 }
 .nav-sr-item:hover, .nav-sr-item:focus { background: rgba(201,162,39,.08); border-left-color: var(--gold); outline: none; }
 .nav-sr-title { font-size: .88rem; font-weight: 600; color: var(--w); margin: 0 0 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
 .nav-sr-desc { font-size: .75rem; color: var(--w4); margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.4; }
 .nav-sr-meta { display: flex; align-items: center; gap: 6px; margin-top: 3px; }
 .nav-sr-cat { font-size: .65rem; padding: 1px 6px; border-radius: 10px; background: rgba(201,162,39,.12); color: var(--gold); white-space: nowrap; }
 .nav-sr-type { font-size: .65rem; color: var(--w4); }
 .nav-sr-sep { height: 1px; background: rgba(255,255,255,.05); margin: 4px 8px; }
 @media (max-width: 680px) { .nav-search-box { width: calc(100vw - 24px); right: -10px; } }

 .nav-cta {
 display: inline-flex; align-items: center; gap: 8px;
 padding: 10px 16px; background: var(--gold); color: var(--void);
 border-radius: 8px; text-decoration: none; font-weight: 700;
 font-size: .85rem; letter-spacing: .02em;
 box-shadow: 0 12px 30px var(--gold-g);
 transition: transform .25s var(--ease), background .25s;
 border: none;
 cursor: pointer;
 font-family: inherit;
 }
 .nav-cta:hover { background: var(--gold-l); transform: translateY(-2px); }
 .nav-cta svg { width: 16px; height: 16px; }

 /* ── HERO ── */
 .hero {
 padding: 80px 0 20px;
 background:
 radial-gradient(900px 400px at 15% 35%, rgba(201,162,39,.10), transparent 60%),
 radial-gradient(700px 350px at 85% 45%, rgba(6,182,212,.07), transparent 60%);
 border-bottom: 1px solid rgba(201,162,39,.10);
 }
 .hero-grid > * { min-width: 0; }
 .hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
/* HERO-SHIFT-RIGHT-20260525 */
header.hero .wrap { padding-left: 3em !important; }
@media (max-width: 768px) { header.hero .wrap { padding-left: 1.5em !important; } }
 .badge {
 display: inline-flex; align-items: center; gap: 10px;
 padding: 8px 14px;
 border: 1px solid var(--bd-g); background: var(--gold-d);
 border-radius: 999px;
 font-family: var(--mono); letter-spacing: .10em; text-transform: uppercase; font-size: .66rem; color: var(--gold);
 }
 .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--em); box-shadow: 0 0 0 4px rgba(16,185,129,.15); animation: pulse 2s infinite; }
 h1 {
 margin: 20px 0 16px;
 font-family: var(--serif); font-weight: 700;
 letter-spacing: -.03em; line-height: 1.04;
 font-size: clamp(1.8rem, 3vw, 2.2rem);
 }
 .h1-gold { color: var(--gold); font-style: italic; }
 .h1-sub { font-size: 1.05rem; color: var(--w2); max-width: 56ch; margin: 0 0 20px; line-height: 1.75; }

 /* Positioning declaration */
 .pos-decl {
 background: linear-gradient(135deg, rgba(20,20,34,.90), rgba(20,20,34,.60));
 border: 1px solid var(--bd-g); border-left: 3px solid var(--gold);
 border-radius: 0 14px 14px 0;
 padding: 16px 20px; max-width: 60ch;
 margin: 0 0 8px; text-align: left;
 }
 .pos-decl p { color: var(--w2); font-size: .95rem; line-height: 1.7; }
 .pos-decl strong { color: var(--gold-l); }

 .hero-ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 8px; }
 .btn {
 display: inline-flex; align-items: center; justify-content: center; gap: 8px;
 padding: 13px 18px; border-radius: 10px; text-decoration: none;
 font-weight: 700; font-size: .9rem;
 border: 1px solid var(--bd);
 transition: transform .25s var(--ease), border-color .25s, background .25s, box-shadow .25s;
 cursor: pointer;
 font-family: inherit;
 }
 .btn svg { width: 16px; height: 16px; }
 .btn.primary { background: var(--gold); color: var(--void); border-color: var(--gold); }
 .btn.primary:hover { background: var(--gold-l); transform: translateY(-2px); box-shadow: 0 14px 36px var(--gold-g); }
 .btn.ghost { background: transparent; color: var(--w); }
 .btn.ghost:hover { border-color: var(--gold); transform: translateY(-2px); color: var(--gold); }

 /* Hero card */
 .hero-card {
 background: linear-gradient(135deg, rgba(24,24,40,.78), rgba(24,24,40,.45));
 border: 1px solid var(--bd); border-radius: 18px;
 padding: 20px; box-shadow: var(--sh);
 position: relative; overflow: hidden;
 align-self: start; margin-top: 16px;
 }
 .hero-card::before {
 content: ""; position: absolute; inset: -2px;
 background: radial-gradient(circle at 30% 20%, rgba(201,162,39,.14), transparent 55%);
 pointer-events: none;
 }
 .portrait { display: block; position: relative; }

 .portrait h2 { margin: 0; font-family: var(--serif); font-size: 1.3rem; letter-spacing: -.02em; }
 .portrait p { margin: 5px 0 0; color: var(--w2); font-size: .88rem; }
 .chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
 .chip {
 font-family: var(--mono); font-size: .68rem; letter-spacing: .05em;
 padding: 5px 9px; border-radius: 999px;
 border: 1px solid rgba(255,255,255,.08); background: rgba(6,6,16,.55); color: var(--w3);
 }
 .chip.gold { border-color: rgba(201,162,39,.25); color: var(--gold); }
 .metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 14px; }
 .metric {
 background: rgba(6,6,16,.60); border: 1px solid rgba(255,255,255,.06);
 border-radius: 12px; padding: 10px 12px;
 }
 .metric .v { font-family: var(--serif); font-weight: 700; color: var(--gold); font-size: 1.4rem; line-height: 1.05; }
 .metric .k { font-family: var(--mono); font-size: .60rem; letter-spacing: .14em; text-transform: uppercase; color: var(--w4); margin-top: 3px; }

 /* Big4 strip */
 .big4 {
 display: flex; align-items: center; justify-content: center; gap: 36px; flex-wrap: wrap;
 padding: 22px 0;
 border-bottom: 1px solid var(--bd);
 background: rgba(6,6,16,.50);
 }
 .big4 .label { font-family: var(--mono); font-size: .66rem; letter-spacing: .18em; text-transform: uppercase; color: var(--w4); }
 .big4 .name { font-family: var(--sans); font-weight: 600; font-size: .95rem; color: var(--w2); letter-spacing: .02em; }
 .big4-sep { width: 1px; height: 20px; background: var(--bd); }

 /* Media strip */
 .media-strip {
 padding: 18px 0;
 border-bottom: 1px solid var(--bd);
 background: rgba(6,6,16,.30);
 }
 .media-inner {
 display: flex; align-items: center; justify-content: center; gap: 28px; flex-wrap: wrap;
 }
 .media-inner .label { font-family: var(--mono); font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; color: var(--w4); }
 .media-inner .pub { font-size: .82rem; color: var(--w3); font-weight: 500; }

 /* ── SECTIONS ── */
 section { scroll-margin-top: 80px; }
 .section, .hero, [id] { scroll-margin-top: 80px; }
 .section { padding: 32px 0; border-bottom: 1px solid rgba(255,255,255,.05); }
 .head { text-align: center; max-width: 820px; margin: 0 auto 24px; }
 .kicker {
 display: inline-block; padding: 7px 14px; border-radius: 999px;
 border: 1px solid var(--bd-g); color: var(--gold); background: rgba(201,162,39,.05);
 font-family: var(--mono); text-transform: uppercase; letter-spacing: .16em; font-size: .66rem;
 margin-bottom: 14px;
 }
 .head h3 {
 margin: 0 0 12px; font-family: var(--serif);
 font-size: clamp(1.7rem, 3.2vw, 2.6rem); letter-spacing: -.02em;
 }
 .head p { margin: 0; color: var(--w2); font-size: 1rem; line-height: 1.75; }

 /* Cards */
 .grid-5 { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
 .grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
 .grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
 .grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
 .card {
 background: linear-gradient(135deg, rgba(24,24,40,.88), rgba(24,24,40,.55));
 border: 1px solid rgba(255,255,255,.07); border-radius: 16px;
 padding: 22px; transition: transform .25s var(--ease), border-color .25s;
 box-shadow: 0 10px 34px rgba(0,0,0,.25);
 }
 .card:hover { transform: translateY(-3px); border-color: var(--bd-g); }
 .card h4 { margin: 0 0 8px; font-family: var(--serif); font-size: 1.08rem; letter-spacing: -.01em; }
 .card p { margin: 0; color: var(--w2); font-size: .92rem; }
 .mini { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 6px; }
 .tag {
 font-family: var(--mono); font-size: .66rem; padding: 4px 9px;
 border-radius: 999px; border: 1px solid rgba(255,255,255,.08);
 color: var(--w4); background: rgba(6,6,16,.45);
 }
 .tag.gold { border-color: rgba(201,162,39,.22); color: var(--gold); }
 .tag.cyan { border-color: rgba(6,182,212,.22); color: var(--cyan); }
 .tag.em { border-color: rgba(16,185,129,.22); color: var(--em); }

 /* Doctrine cards */
 .doctrine-card { position: relative; overflow: hidden; }
 .doctrine-card::before {
 content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
 background: linear-gradient(90deg, var(--gold), var(--cyan));
 opacity: 0; transition: opacity .3s;
 }
 .doctrine-card:hover::before { opacity: 1; }
 .d-num { font-family: var(--mono); font-size: .62rem; letter-spacing: .18em; text-transform: uppercase; color: var(--gold); margin-bottom: 8px; }
 .d-tm { font-family: var(--serif); font-size: 1.15rem; font-weight: 700; margin-bottom: 6px; }
 .d-def { color: var(--w2); font-size: .88rem; margin-bottom: 10px; }

 /* Principles */
 .principles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
 .principle {
 padding: 18px 20px;
 border-left: 3px solid var(--gold);
 background: linear-gradient(135deg, rgba(20,20,34,.80), rgba(20,20,34,.50));
 border-radius: 0 12px 12px 0;
 }
 .principle q {
 font-family: var(--serif); font-size: 1.1rem; font-weight: 600;
 color: var(--w); font-style: italic; quotes: none;
 }
 .principle cite {
 display: block; margin-top: 6px;
 font-family: var(--mono); font-size: .64rem; letter-spacing: .12em;
 text-transform: uppercase; color: var(--gold); font-style: normal;
 }

 /* Proof bars */
 .bar-group { display: flex; flex-direction: column; gap: 14px; }
 .bar-item { display: grid; grid-template-columns: 200px 1fr 120px; align-items: center; gap: 16px; }
 .bar-label { font-family: var(--mono); font-size: .72rem; letter-spacing: .04em; color: var(--w2); text-align: right; text-transform: uppercase; }
 .bar-track {
 height: 30px; border-radius: 8px; overflow: hidden; position: relative;
 background: rgba(255,255,255,.04);
 border: 1px solid rgba(255,255,255,.06);
 box-shadow: inset 0 1px 3px rgba(0,0,0,.45);
 }
 /* 25/50/75 tick marks on the track */
 .bar-track::before {
 content: ""; position: absolute; inset: 0; pointer-events: none;
 background-image:
 linear-gradient(90deg, transparent 24.7%, rgba(255,255,255,.06) 24.7%, rgba(255,255,255,.06) 25.3%, transparent 25.3%),
 linear-gradient(90deg, transparent 49.7%, rgba(255,255,255,.10) 49.7%, rgba(255,255,255,.10) 50.3%, transparent 50.3%),
 linear-gradient(90deg, transparent 74.7%, rgba(255,255,255,.06) 74.7%, rgba(255,255,255,.06) 75.3%, transparent 75.3%);
 }
 .bar-fill {
 position: relative;
 height: 100%; border-radius: 7px;
 background: linear-gradient(90deg, var(--gold), var(--gold-l));
 width: calc(var(--w, 0) * 1%);
 box-shadow: 0 0 18px rgba(201,162,39,.35), inset 0 1px 0 rgba(255,255,255,.25);
 transition: width 1.5s var(--ease);
 }
 .bar-fill::after {
 content: ""; position: absolute; inset: 0; border-radius: 7px; pointer-events: none;
 background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.18) 50%, transparent 100%);
 background-size: 200% 100%;
 animation: bar-shimmer 3.2s linear infinite;
 opacity: .55;
 }
 .bar-fill.cyan { background: linear-gradient(90deg, var(--cyan), #22d3ee); box-shadow: 0 0 18px rgba(6,182,212,.40), inset 0 1px 0 rgba(255,255,255,.25); }
 .bar-fill.em { background: linear-gradient(90deg, var(--em), #34d399); box-shadow: 0 0 18px rgba(16,185,129,.40), inset 0 1px 0 rgba(255,255,255,.25); }
 .bar-val { font-family: var(--mono); font-size: .72rem; color: var(--w3); letter-spacing: .02em; }
 @keyframes bar-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

 /* Headline stat strip (big numbers above the bar group) */
 .stat-strip {
 display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px;
 margin: 0 0 22px 0; padding: 18px 20px;
 border: 1px solid rgba(201,162,39,.18);
 background: linear-gradient(180deg, rgba(201,162,39,.05), rgba(6,6,16,.30));
 border-radius: 14px;
 }
 .stat-cell { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
 .stat-cell + .stat-cell { border-left: 1px solid rgba(255,255,255,.06); padding-left: 14px; }
 .stat-num {
 font-family: var(--serif, var(--mono)); font-size: 2.1rem; font-weight: 500;
 color: var(--gold); letter-spacing: .01em; line-height: 1;
 }
 .stat-num.cyan { color: var(--cyan); }
 .stat-num.em { color: var(--em); }
 .stat-lbl {
 font-family: var(--mono); font-size: .62rem; letter-spacing: .14em;
 text-transform: uppercase; color: var(--w3);
 }
 .stat-sub { font-family: var(--mono); font-size: .64rem; color: var(--w2); margin-top: 2px; }
 @media (max-width: 768px) {
 .stat-strip { grid-template-columns: repeat(2, 1fr); }
 .stat-cell + .stat-cell { border-left: none; padding-left: 0; }
 .bar-item { grid-template-columns: 130px 1fr 90px; gap: 10px; }
 }

 /* Tables */
 .table-wrap {
 overflow-x: auto; border-radius: 14px;
 border: 1px solid rgba(255,255,255,.08);
 background: rgba(6,6,16,.40);
 }
 table { width: 100%; border-collapse: collapse; min-width: 800px; }
 th, td { padding: 13px 14px; border-bottom: 1px solid rgba(255,255,255,.06); vertical-align: top; }
 th {
 font-family: var(--mono); font-size: .66rem; text-transform: uppercase;
 letter-spacing: .16em; color: var(--gold); text-align: left;
 background: rgba(201,162,39,.05); position: sticky; top: 0;
 }
 td { color: var(--w2); font-size: .88rem; }
 td strong { color: var(--w); }
 .pill {
 display: inline-flex; align-items: center; gap: 6px;
 padding: 4px 9px; border-radius: 999px;
 border: 1px solid rgba(255,255,255,.08);
 font-family: var(--mono); font-size: .66rem; letter-spacing: .06em; white-space: nowrap;
 }
 .pill.gold { border-color: rgba(201,162,39,.22); color: var(--gold); }
 .pill.cyan { border-color: rgba(6,182,212,.22); color: var(--cyan); }
 .pill.em { border-color: rgba(16,185,129,.22); color: var(--em); }
 .pill.red { border-color: rgba(239,68,68,.22); color: var(--red); }

 /* SVG infographics */
 .infographics { display: grid; grid-template-columns: 1.05fr .95fr; gap: 16px; align-items: start; }
 .svg-card { padding: 18px; }
 .svg-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
 .svg-title h4 { margin: 0; font-family: var(--serif); }
 .svg-title span { font-family: var(--mono); font-size: .64rem; letter-spacing: .16em; text-transform: uppercase; color: var(--w4); }
 svg { max-width: 100%; height: auto; }

 /* Contact */
 .contact { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
 .contact .card { height: 100%; }
 .form label { display: block; font-size: .80rem; color: var(--w3); margin: 0 0 5px; }
 .in {
 width: 100%; padding: 12px 14px;
 background: rgba(6,6,16,.65); border: 1px solid rgba(255,255,255,.08);
 border-radius: 10px; color: var(--w);
 font-family: var(--sans); font-size: .92rem; outline: none;
 transition: border-color .2s, box-shadow .2s;
 }
 .in:focus { border-color: rgba(201,162,39,.40); box-shadow: 0 0 0 4px rgba(201,162,39,.10); }
 .row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
 textarea.in { min-height: 110px; resize: vertical; }
 select.in { cursor: pointer; }
 .submit {
 width: 100%; margin-top: 10px;
 background: var(--gold); border: 1px solid var(--gold); color: var(--void);
 font-weight: 800; padding: 13px 16px; border-radius: 10px; cursor: pointer;
 font-family: var(--sans); font-size: .95rem;
 transition: transform .25s var(--ease), background .25s;
 }
 .submit:hover { background: var(--gold-l); transform: translateY(-2px); }
 .fine { margin-top: 8px; color: var(--w4); font-size: .78rem; }

 /* Testimonials */
 .testimonials { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
 .testimonial {
 background: linear-gradient(135deg, rgba(24,24,40,.88), rgba(24,24,40,.55));
 border: 1px solid rgba(255,255,255,.07);
 border-radius: 16px;
 padding: 22px;
 position: relative;
 }
 .testimonial::before {
 content: '"';
 position: absolute;
 top: -12px;
 left: 20px;
 font-size: 3rem;
 color: rgba(201,162,39,.25);
 font-family: var(--serif);
 }
 .testimonial p:first-child {
 color: var(--w);
 font-size: .95rem;
 line-height: 1.7;
 margin-bottom: 16px;
 font-style: italic;
 }
 .testimonial-author {
 color: var(--gold);
 font-size: .88rem;
 font-weight: 600;
 margin-bottom: 4px;
 }
 .testimonial-title {
 color: var(--w3);
 font-size: .80rem;
 }

 /* Skills Matrix */
 .skills-matrix {
 background: rgba(6,6,16,.40);
 border: 1px solid rgba(255,255,255,.08);
 border-radius: 16px;
 padding: 24px;
 }
 .skills-filter {
 display: flex;
 gap: 8px;
 flex-wrap: wrap;
 margin-bottom: 20px;
 }
 .filter-btn {
 padding: 6px 12px;
 background: rgba(255,255,255,.08);
 border: 1px solid var(--bd);
 border-radius: 6px;
 color: var(--w3);
 cursor: pointer;
 font-size: .80rem;
 font-family: var(--mono);
 transition: all .2s;
 }
 .filter-btn:hover, .filter-btn.active {
 background: var(--gold);
 color: var(--void);
 border-color: var(--gold);
 }
 .skills-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
 gap: 12px;
 }
 .skill-category {
 background: rgba(201,162,39,.08);
 border: 1px solid rgba(201,162,39,.20);
 border-radius: 10px;
 padding: 16px;
 }
 .skill-category h5 {
 color: var(--gold);
 font-size: .85rem;
 margin-bottom: 10px;
 text-transform: uppercase;
 font-family: var(--mono);
 letter-spacing: .08em;
 }
 .skill-list {
 display: flex;
 flex-direction: column;
 gap: 6px;
 }
 .skill-item {
 color: var(--w3);
 font-size: .80rem;
 padding: 4px 0;
 padding-left: 8px;
 border-left: 2px solid rgba(201,162,39,.30);
 }

 /* Calendly section */

 /* Footer */
 
 /* ═══ FOOTER ═══ */
 footer { background: linear-gradient(180deg, var(--bg) 0%, #030308 100%); padding: 60px 0 24px; margin-top: 40px; }
 .foot {
 display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 40px; align-items: start;
 border-top: 1px solid rgba(201,162,39,.12); padding-top: 36px;
 color: rgba(200,200,220,.55); font-size: .85rem;
 }
 .foot-brand { font-family: var(--mono); letter-spacing: .16em; text-transform: uppercase; color: rgba(201,162,39,.45); font-size: .72rem; }
 .foot-copy { margin-top: 8px; color: rgba(200,200,220,.4); font-size: .82rem; line-height: 1.6; }
 .foot a { color: rgba(200,200,220,.5); text-decoration: none; transition: color .2s; font-size: .84rem; }
 .foot a:hover { color: var(--gold); }
 .foot-links { display: flex; flex-direction: column; gap: 9px; }
 .foot-links-title { font-family: var(--mono); font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(201,162,39,.5); margin-bottom: 2px; }
 .foot-legal { display: flex; gap: 14px; flex-wrap: wrap; }
 .foot-legal button {
 background: none; border: none; color: rgba(200,200,220,.35); font-size: .78rem;
 cursor: pointer; padding: 0; transition: color .2s; font-family: inherit;
 }
 .foot-legal button:hover { color: var(--gold); }
 .foot-credential-strip {
 grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px 16px;
 padding: 14px 0; border-top: 1px solid rgba(255,255,255,.05); margin-top: 10px;
 }
 .fcs-item { font-family: var(--mono); font-size: .58rem; letter-spacing: .1em; text-transform: uppercase;
 color: rgba(200,200,220,.3); display: flex; align-items: center; gap: 5px; }
 .fcs-dot { width: 4px; height: 4px; background: var(--gold); border-radius: 50%; opacity: .5; flex-shrink: 0; }
 .foot-bottom-bar {
 grid-column: 1 / -1; border-top: 1px solid rgba(255,255,255,.06); padding-top: 18px; margin-top: 0;
 display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px;
 }
 .foot-sla { font-family: var(--mono); font-size: .58rem; letter-spacing: .08em; color: rgba(200,200,220,.22); text-transform: uppercase; flex-basis: 100%; }
 .foot-intel { font-family: var(--mono); font-size: .58rem; letter-spacing: .1em; color: rgba(200,200,220,.25); text-transform: uppercase; }
 .foot-actions { display: flex; gap: 16px; align-items: center; }
 .foot-cta {
 font-family: var(--mono); font-size: .62rem; letter-spacing: .12em; text-transform: uppercase;
 color: var(--gold) !important; text-decoration: none; border: 1px solid rgba(201,162,39,.3);
 padding: 6px 16px; border-radius: 8px; transition: all .2s;
 }
 .foot-cta:hover { background: rgba(201,162,39,.08); border-color: rgba(201,162,39,.5); }
 .foot-email {
 font-family: var(--mono); font-size: .62rem; letter-spacing: .12em; text-transform: uppercase;
 color: rgba(200,200,220,.35) !important; text-decoration: none; transition: color .2s;
 }
 .foot-email:hover { color: var(--gold) !important; }


 /* Modal */
 .modal-overlay {
 display: none; position: fixed; inset: 0; z-index: 9999;
 background: rgba(2,2,4,.85); backdrop-filter: blur(8px);
 justify-content: center; align-items: center; padding: 20px;
 }
 .modal-overlay.active { display: flex; }
 .modal {
 background: var(--bg2); border: 1px solid var(--bd);
 border-radius: 16px; padding: 32px; max-width: 680px; width: 100%;
 max-height: 80vh; overflow-y: auto; position: relative;
 }
 .modal h3 { font-family: var(--serif); margin-bottom: 16px; }
 .modal p { color: var(--w2); font-size: .92rem; margin-bottom: 12px; }
 .modal-close {
 position: absolute; top: 16px; right: 16px;
 background: rgba(255,255,255,.08); border: none; border-radius: 8px;
 width: 36px; height: 36px; cursor: pointer; color: var(--w);
 display: grid; place-items: center; font-size: 1.2rem;
 }
 .modal-close:hover { background: rgba(255,255,255,.15); }

 /* Scroll */
 .{ opacity: 0; transform: translateY(24px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
 ..visible { opacity: 1; transform: translateY(0); }

 /* Mobile hamburger */
 .menu-btn { display: none; background: transparent; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; padding: 8px 12px; color: var(--w); cursor: pointer; font-family: var(--sans); font-size: .82rem; }
 .mob-menu { display: none; border-top: 1px solid var(--bd); padding: 14px 0 18px; }
 .mob-menu a { display: block; padding: 9px 0; text-decoration: none; color: var(--w3); font-size: .92rem; }
 .mob-menu a:hover { color: var(--gold); }

 /* ── RESPONSIVE ── */
 @media (max-width: 980px) {
 .grid-5 { grid-template-columns: repeat(3, 1fr); }
 }
 @media (max-width: 980px) {
 .hero-grid { grid-template-columns: 1fr; gap: 24px; }
 .metric-grid { grid-template-columns: repeat(3, 1fr); }
 .grid-5 { grid-template-columns: repeat(2, 1fr); }
 .grid-4 { grid-template-columns: repeat(2, 1fr); }
 .grid-3 { grid-template-columns: 1fr; }
 .grid-2 { grid-template-columns: 1fr; }
 .infographics { grid-template-columns: 1fr; }
 .contact { grid-template-columns: 1fr; }
 .principles { grid-template-columns: 1fr; }
 .testimonials { grid-template-columns: 1fr; }
 .nav-links { display: none; }
 .menu-btn { display: inline-flex; align-items: center; gap: 8px; }
 .row { grid-template-columns: 1fr; }
 .bar-item { grid-template-columns: 120px 1fr 50px; }
 .foot { grid-template-columns: 1fr 1fr; gap: 28px; }
 .foot-bottom-bar { flex-direction: column; align-items: flex-start; }
 table { min-width: 700px; }
 }
 @media (max-width: 600px) {
 .grid-5 { grid-template-columns: 1fr; }
 .metric-grid { grid-template-columns: repeat(2, 1fr); }
 .big4 { gap: 16px; }
 .big4-sep { display: none; }
 h1 { font-size: clamp(1.8rem, 6vw, 2.6rem); }
 #backToTop { bottom: 20px; right: 20px; width: 44px; height: 44px; }
 }

 :focus-visible { outline: 3px solid rgba(201,162,39,.50); outline-offset: 3px; border-radius: 8px; }
 @media (prefers-reduced-motion: reduce) {
 * { scroll-behavior: auto !important; transition: none !important; }
 }

 /* ═══════════════════════════════════════════
 PUBLICATIONS SECTION — ENHANCED DESIGN
 ═══════════════════════════════════════════ */
 .pub-filter-section {
 margin-bottom: 2.5rem;
 }

 .pub-filter-label {
 display: block;
 margin-bottom: 1rem;
 color: var(--w3);
 font-size: 0.9rem;
 text-transform: uppercase;
 letter-spacing: 1px;
 font-weight: 500;
 font-family: var(--mono);
 }

 .pub-filter-buttons {
 display: flex;
 flex-wrap: wrap;
 gap: 0.75rem;
 }

 .pub-filter-btn {
 padding: 0.6rem 1.2rem;
 border: 2px solid var(--w3);
 background: transparent;
 color: var(--w3);
 cursor: pointer;
 border-radius: 20px;
 font-family: var(--sans);
 font-size: 0.9rem;
 font-weight: 500;
 transition: all 0.3s ease;
 text-transform: uppercase;
 letter-spacing: 0.5px;
 }

 .pub-filter-btn:hover {
 border-color: var(--gold);
 color: var(--gold);
 transform: translateY(-2px);
 }

 .pub-filter-btn.active {
 background: var(--gold);
 color: var(--void);
 border-color: var(--gold);
 font-weight: 600;
 }

 .pub-grid {
 display: grid;
 grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
 gap: 2rem;
 margin-top: 2rem;
 }

 .pub-card {
 background: var(--card);
 border: 1px solid rgba(201,162,39,.15);
 border-radius: 12px;
 padding: 1.5rem;
 display: flex;
 flex-direction: column;
 transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
 position: relative;
 overflow: hidden;
 }

 .pub-card::before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 height: 3px;
 background: linear-gradient(90deg, var(--accent-color, var(--gold)), transparent);
 opacity: 0;
 transition: opacity 0.3s ease;
 }

 .pub-card:hover {
 border-color: var(--gold);
 transform: translateY(-8px);
 box-shadow: 0 12px 40px rgba(201,162,39,.15);
 }

 .pub-card:hover::before {
 opacity: 1;
 }

 .pub-card.ai { --accent-color: var(--color-ai); }
 .pub-card.ciso { --accent-color: var(--color-ciso); }
 .pub-card.reg { --accent-color: var(--color-reg); }
 .pub-card.zt { --accent-color: var(--color-zt); }
 .pub-card.sector { --accent-color: var(--color-sector); }
 .pub-card.research { --accent-color: var(--color-research); }
 .pub-card.product { --accent-color: var(--color-product); }
 .pub-card.identity { --accent-color: var(--color-identity); }

 .pub-card.hidden {
 display: none;
 }

 .pub-badge {
 display: inline-block;
 padding: 0.4rem 0.8rem;
 border-radius: 20px;
 font-size: 0.75rem;
 font-weight: 600;
 text-transform: uppercase;
 letter-spacing: 0.5px;
 margin-bottom: 1rem;
 width: fit-content;
 color: var(--void);
 background-color: var(--accent-color, var(--gold));
 font-family: var(--mono);
 }

 .pub-card h4 {
 font-family: var(--serif);
 font-size: 1.4rem;
 font-weight: 600;
 color: var(--w);
 margin-bottom: 0.75rem;
 line-height: 1.3;
 }

 .pub-card p {
 color: var(--w3);
 font-size: 0.95rem;
 margin-bottom: 1.5rem;
 flex-grow: 1;
 line-height: 1.5;
 }

 .pub-actions {
 display: flex;
 gap: 0.75rem;
 margin-top: auto;
 }

 .pub-btn {
 flex: 1;
 padding: 0.7rem 1rem;
 border: 1px solid rgba(201,162,39,.15);
 border-radius: 6px;
 font-family: var(--sans);
 font-size: 0.85rem;
 font-weight: 500;
 text-decoration: none;
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 0.5rem;
 cursor: pointer;
 transition: all 0.3s ease;
 text-transform: uppercase;
 letter-spacing: 0.5px;
 }

 .pub-btn-primary {
 background: linear-gradient(135deg, var(--accent-color, var(--gold)), rgba(212, 175, 55, 0.8));
 color: var(--void);
 border-color: var(--accent-color, var(--gold));
 font-weight: 600;
 }

 .pub-btn-primary:hover {
 transform: translateY(-2px);
 box-shadow: 0 6px 20px rgba(212, 175, 55, 0.3);
 }

 .pub-btn-secondary {
 background: transparent;
 color: var(--accent-color, var(--gold));
 border-color: var(--accent-color, var(--gold));
 }

 .pub-btn-secondary:hover {
 background: rgba(212, 175, 55, 0.1);
 transform: translateY(-2px);
 }

 @media (max-width: 768px) {
 .pub-grid {
 grid-template-columns: 1fr;
 }

 .pub-filter-buttons {
 gap: 0.5rem;
 }

 .pub-filter-btn {
 padding: 0.5rem 1rem;
 font-size: 0.8rem;
 }

 .pub-actions {
 flex-direction: column;
 }
 }
 .skip-link:focus { top: 0; }

/* Performance: content-visibility for below-fold sections */
.section:nth-child(n+3) { content-visibility: auto; contain-intrinsic-size: auto 600px; }

/* Mobile: Sticky CTA bar */
@media(max-width:768px) {
 .mobile-sticky-cta {
 position: fixed; bottom: 0; left: 0; right: 0; z-index: 9998;
 padding: 10px 16px; background: rgba(6,6,16,.95); backdrop-filter: blur(12px);
 border-top: 1px solid rgba(212,175,55,.2); display: flex; gap: 8px;
 justify-content: center; align-items: center;
 transform: translateY(100%); transition: transform .3s ease;
 }
 .mobile-sticky-cta.visible { transform: translateY(0); }
 .mobile-sticky-cta .btn { font-size: .82rem; padding: 10px 18px; flex: 1; max-width: 200px; text-align: center; }
 /* Offset footer for sticky CTA */
 footer { padding-bottom: 70px; }
 /* Collapsible sections on mobile */
 .section .head h3 { cursor: pointer; position: relative; }
 .section .head h3::after { content: ''; display: inline-block; width: 10px; height: 10px; border-right: 2px solid var(--w4); border-bottom: 2px solid var(--w4); transform: rotate(45deg); margin-left: 12px; transition: transform .3s; vertical-align: middle; }
}

 /* ═══════════════════════════════════════════
 ELITE CYBER VISUAL ENHANCEMENTS
 ═══════════════════════════════════════════ */

 /* Animated cyber grid background */
 .bg-grid {
 position: fixed; top: 0; left: 0; width: 100%; height: 100%;
 background-image:
 linear-gradient(rgba(201,162,39,.03) 1px, transparent 1px),
 linear-gradient(90deg, rgba(201,162,39,.03) 1px, transparent 1px);
 background-size: 60px 60px;
 pointer-events: none; z-index: 0;
 animation: gridPulse 8s ease-in-out infinite;
 }
 @keyframes gridPulse {
 0%, 100% { opacity: .4; }
 50% { opacity: .7; }
 }

 /* Scan line overlay */
 body::after {
 content: ''; position: fixed; top: 0; left: 0; width: 100%; height: 100%;
 background: repeating-linear-gradient(
 0deg,
 transparent,
 transparent 2px,
 rgba(201,162,39,.008) 2px,
 rgba(201,162,39,.008) 4px
 );
 pointer-events: none; z-index: 9997;
 }

 /* Enhanced scroll progress bar with glow */
 #scrollProgress {
 box-shadow: 0 0 12px rgba(201,162,39,.5), 0 0 30px rgba(6,182,212,.3);
 }

 /* Nav glassmorphism enhancement */
 .nav {
 border-bottom: 1px solid rgba(201,162,39,.08) !important;
 box-shadow: 0 1px 30px rgba(0,0,0,.4);
 }

 /* Card glow on hover */
 .card {
 transition: all .4s var(--ease), box-shadow .4s var(--ease);
 position: relative;
 }
 .card::before {
 content: ''; position: absolute; inset: -1px; border-radius: inherit;
 background: linear-gradient(135deg, rgba(201,162,39,.15), rgba(6,182,212,.1), transparent);
 opacity: 0; transition: opacity .4s var(--ease); z-index: -1;
 border-radius: inherit;
 }
 .card:hover::before { opacity: 1; }
 .card:hover {
 box-shadow: 0 8px 40px rgba(201,162,39,.12), 0 0 60px rgba(6,182,212,.06);
 transform: translateY(-2px);
 }

 /* Animated gradient border for hero profile card */
 .profile-card {
 position: relative;
 }
 .profile-card::after {
 content: ''; position: absolute; inset: -2px; border-radius: inherit;
 background: linear-gradient(45deg, var(--gold), var(--cyan), var(--emerald), var(--gold));
 background-size: 300% 300%;
 animation: borderGlow 6s ease infinite;
 z-index: -1; opacity: .4;
 }
 @keyframes borderGlow {
 0% { background-position: 0% 50%; }
 50% { background-position: 100% 50%; }
 100% { background-position: 0% 50%; }
 }

 /* Chip/pill shimmer effect */
 .chip, .pill {
 position: relative; overflow: hidden;
 }
 .chip::after, .pill::after {
 content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%;
 background: linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent);
 transition: left .6s ease;
 }
 .chip:hover::after, .pill:hover::after { left: 100%; }

 /* Enhanced animation */
 .{
 opacity: 0; transform: translateY(30px);
 transition: opacity .8s var(--ease), transform .8s var(--ease);
 }
 ..visible {
 opacity: 1; transform: translateY(0);
 }

 /* Kicker accent line animation */
 .kicker {
 position: relative;
 }

 /* Section heading underline glow */
 .head h3 {
 position: relative; display: inline-block;
 }
 .head h3::before {
 content: ''; position: absolute; bottom: -6px; left: 0;
 width: 0; height: 2px;
 background: linear-gradient(90deg, var(--gold), var(--cyan));
 transition: width .6s var(--ease);
 }
 .section:hover .head h3::before,
 .head h3:hover::before { width: 100%; }

 /* Metric counter glow */
 .metric b {
 text-shadow: 0 0 20px rgba(201,162,39,.3);
 }

 /* Button enhanced hover states */
 .btn.primary {
 position: relative; overflow: hidden;
 }
 .btn.primary::after {
 content: ''; position: absolute; top: 50%; left: 50%;
 width: 0; height: 0; border-radius: 50%;
 background: rgba(255,255,255,.1);
 transition: width .5s ease, height .5s ease, top .5s ease, left .5s ease;
 }
 .btn.primary:hover::after {
 width: 300px; height: 300px; top: -100px; left: -100px;
 }

 /* Submit button pulse */
 .submit {
 animation: submitPulse 3s ease-in-out infinite;
 }
 @keyframes submitPulse {
 0%, 100% { box-shadow: 0 0 0 0 rgba(201,162,39,.3); }
 50% { box-shadow: 0 0 0 8px rgba(201,162,39,0); }
 }

 /* Page load animation — opacity only (transform on body breaks position:fixed nav) */
 .page-enter { animation: pageEnter .8s var(--ease) both; }
 @keyframes pageEnter {
 from { opacity: 0; }
 to { opacity: 1; }
 }

 /* Persona card hover glow */
 .persona-card {
 transition: all .3s var(--ease);
 }
 .persona-card:hover {
 border-color: rgba(6,182,212,.3);
 box-shadow: 0 4px 30px rgba(6,182,212,.08);
 }

 /* Enhanced focus states for accessibility */
 :focus-visible {
 outline: 2px solid var(--gold);
 outline-offset: 3px;
 }

 /* Smooth nav link underline */
 .nav a[href^="#"] {
 position: relative;
 }
 .nav a[href^="#"]::after {
 content: ''; position: absolute; bottom: -2px; left: 0;
 width: 0; height: 1px; background: var(--gold);
 transition: width .3s var(--ease);
 }
 .nav a[href^="#"]:hover::after,
 .nav a[href^="#"].active::after { width: 100%; }

 /* Reduced motion preferences */
 @media (prefers-reduced-motion: reduce) {
 .bg-grid, .profile-card::after, .submit { animation: none; }
 body::after { display: none; }
 .card:hover { transform: none; }
 .{ transition: opacity .3s ease; transform: none; }
 }


 /* ── Doctrine Authority Enhanced Styles ── */
 .doctrine-authority-enhanced {}
 #authority .card.glass:hover {
 border-color: var(--cyan);
 transform: translateY(-2px);
 box-shadow: 0 8px 32px rgba(95,176,197,0.1);
 }
 #authority .card.glass { transition: all 0.3s ease; border: 1px solid rgba(255,255,255,0.06); }
 .latest-2026-pubs a:hover {
 border-color: var(--cyan) !important;
 background: rgba(95,176,197,0.06) !important;
 transform: translateY(-1px);
 }
 /* Enhanced ticker animation */
 @keyframes ticker-glow {
 0%, 100% { text-shadow: 0 0 4px rgba(95,176,197,0.3); }
 50% { text-shadow: 0 0 12px rgba(95,176,197,0.6); }
 }
 .tickerPubCount { animation: ticker-glow 3s ease-in-out infinite; }
 /* Contract wins pulse */
 .card.glass h4[style*="cyan"] { position: relative; }
 .card.glass h4[style*="cyan"]::before {
 content: "";
 position: absolute;
 left: -1.5rem;
 top: 50%;
 transform: translateY(-50%);
 width: 8px;
 height: 8px;
 background: var(--cyan);
 border-radius: 50%;
 animation: pulse 2s ease-in-out infinite;
 }
 @keyframes pulse {
 0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(95,176,197,0.4); }
 50% { opacity: 0.8; box-shadow: 0 0 0 6px rgba(95,176,197,0); }
 }

 
 /* ═══ PREMIUM DESIGN SYSTEM 2026 ═══ */

 /* Trust bar overflow fix */
 .trust-bar { overflow: visible !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
 .hero { overflow: visible !important; }
 header.hero { overflow: visible !important; }

 html { scroll-behavior: smooth; }

 /* Premium glass morphism for proof cards */
 .proof-dashboard {
 display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; margin: 2rem auto; max-width: 1100px; padding: 0 1.5rem;
 }
 .proof-card {
 background: linear-gradient(135deg, rgba(0,229,255,0.04), rgba(255,255,255,0.02));
 border: 1px solid rgba(0,229,255,0.1);
 border-radius: 16px;
 padding: 2rem;
 transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
 position: relative;
 overflow: hidden;
 }
 .proof-card::before {
 content: "";
 position: absolute;
 top: 0; left: 0; right: 0;
 height: 2px;
 background: linear-gradient(90deg, transparent, var(--cyan, #00e5ff), transparent);
 opacity: 0;
 transition: opacity 0.4s;
 }
 .proof-card:hover {
 border-color: rgba(0,229,255,0.25);
 transform: translateY(-4px);
 box-shadow: 0 20px 60px rgba(0,229,255,0.08);
 }
 .proof-card:hover::before { opacity: 1; }
 .proof-metric {
 font-size: 2.8rem;
 font-weight: 800;
 background: linear-gradient(135deg, #00e5ff, #7c4dff);
 -webkit-background-clip: text;
 -webkit-text-fill-color: transparent;
 background-clip: text;
 line-height: 1.1;
 }
 .proof-label { color: #e0e0e0; font-weight: 600; font-size: 0.95rem; margin-top: 0.3rem; }
 .proof-desc { color: #9e9e9e; font-size: 0.85rem; margin-top: 0.3rem; }

 /* Premium CTA buttons */
 .cta-primary {
 display: inline-flex; align-items: center; gap: 0.5rem;
 padding: 14px 32px;
 background: linear-gradient(135deg, #00e5ff, #0099cc);
 color: #000;
 font-weight: 700;
 font-size: 0.95rem;
 border: none;
 border-radius: 8px;
 text-decoration: none;
 transition: all 0.3s;
 letter-spacing: 0.02em;
 cursor: pointer;
 }
 .cta-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(0,229,255,0.3); }
 .cta-secondary {
 display: inline-flex; align-items: center; gap: 0.5rem;
 padding: 14px 32px;
 background: transparent;
 color: #00e5ff;
 font-weight: 600;
 font-size: 0.95rem;
 border: 1px solid rgba(0,229,255,0.3);
 border-radius: 8px;
 text-decoration: none;
 transition: all 0.3s;
 cursor: pointer;
 }
 .cta-secondary:hover { border-color: #00e5ff; background: rgba(0,229,255,0.05); }

 /* Trust bar — FIXED: full-width, centered, no cutoff */
 .trust-bar {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 align-items: center;
 gap: 1.5rem;
 padding: 1.2rem 1.5rem;
 margin: 0;
 width: 100%;
 box-sizing: border-box;
 border-top: 1px solid rgba(255,255,255,0.06);
 border-bottom: 1px solid rgba(255,255,255,0.06);
 background: rgba(0,0,0,0.15);
 text-align: center;
 }
 .trust-item {
 display: inline-flex;
 align-items: center;
 gap: 0.5rem;
 color: rgba(255,255,255,0.65);
 font-size: 0.82rem;
 font-weight: 500;
 white-space: nowrap;
 }
 .trust-item .dot {
 width: 6px; height: 6px; border-radius: 50%;
 background: #00e5ff;
 flex-shrink: 0;
 }

 /* Engagement grid */
 .engage-grid {
 display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; margin: 2rem auto; max-width: 1100px; padding: 0 1.5rem;
 }
 .engage-card {
 background: rgba(255,255,255,0.02);
 border: 1px solid rgba(255,255,255,0.08);
 border-radius: 12px;
 padding: 2rem;
 text-align: center;
 transition: all 0.3s;
 }
 .engage-card:hover { border-color: #00e5ff; background: rgba(0,229,255,0.03); }
 .engage-card h4 { color: #00e5ff; font-size: 1.1rem; margin-bottom: 0.5rem; }
 .engage-card p { color: #9e9e9e; font-size: 0.9rem; line-height: 1.6; }

 /* Governance scan CTA */
 .governance-scan {
 background: linear-gradient(135deg, rgba(0,229,255,0.06), rgba(124,77,255,0.04));
 border: 1px solid rgba(0,229,255,0.12);
 border-radius: 16px;
 padding: 3rem 1.5rem;
 text-align: center;
 margin: 3rem auto;
 max-width: 1100px;
 }
 .governance-scan h3 { color: #e0e0e0; font-size: 1.5rem; margin-bottom: 0.5rem; }
 .governance-scan p { color: #9e9e9e; margin-bottom: 1.5rem; max-width: 600px; margin-left: auto; margin-right: auto; }

 /* Animated gradient border */
 @keyframes borderGlow {
 0%, 100% { border-color: rgba(0,229,255,0.15); }
 50% { border-color: rgba(0,229,255,0.35); }
 }
 .featured { animation: borderGlow 3s ease-in-out infinite; }

 /* Scroll */
 .-up { opacity: 0; transform: translateY(30px); transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1); }
 .-up.visible { opacity: 1; transform: translateY(0); }

 /* Responsive */
 @media (max-width: 768px) {
 .proof-dashboard { grid-template-columns: 1fr; }
 .proof-metric { font-size: 2.2rem; }
 .trust-bar { gap: 0.8rem; padding: 1rem; }
 .trust-item { font-size: 0.75rem; }
 .engage-grid { grid-template-columns: 1fr; }
 .governance-scan { padding: 2rem 1rem; margin: 2rem 1rem; }
 }


 @media (max-width: 500px) {
 .foot { grid-template-columns: 1fr; gap: 24px; }
 }

 /* ── Text Selection Visibility Fix ── */
 ::selection {
 background: rgba(6, 182, 212, 0.35);
 color: #fff;
 -webkit-text-fill-color: #fff;
 }
 ::-moz-selection {
 background: rgba(6, 182, 212, 0.35);
 color: #fff;
 -webkit-text-fill-color: #fff;
 }
 h1::selection, h2::selection, h3::selection, h4::selection, h5::selection, h6::selection,
 .hero-title::selection, .section-title::selection, .card-title::selection,
 [class*="heading"]::selection, [class*="title"]::selection,
 .gold::selection, .cyan::selection, .accent::selection,
 a::selection, strong::selection, em::selection, span::selection,
 .hero-title *::selection, .section-title *::selection,
 .stat-value::selection, .metric .v::selection, .tag::selection {
 background: rgba(201, 162, 39, 0.4);
 color: #fff;
 -webkit-text-fill-color: #fff;
 }
 h1::-moz-selection, h2::-moz-selection, h3::-moz-selection, h4::-moz-selection, h5::-moz-selection, h6::-moz-selection,
 .hero-title::-moz-selection, .section-title::-moz-selection, .card-title::-moz-selection,
 [class*="heading"]::-moz-selection, [class*="title"]::-moz-selection,
 .gold::-moz-selection, .cyan::-moz-selection, .accent::-moz-selection,
 a::-moz-selection, strong::-moz-selection, em::-moz-selection, span::-moz-selection,
 .hero-title *::-moz-selection, .section-title *::-moz-selection,
 .stat-value::-moz-selection, .metric .v::-moz-selection, .tag::-moz-selection {
 background: rgba(201, 162, 39, 0.4);
 color: #fff;
 -webkit-text-fill-color: #fff;
 }
 /* Ensure gradient text remains visible when selected */
 h1::selection, h2::selection, h3::selection,
 .hero-title::selection, .hero-title *::selection,
 [style*="background-clip"]::selection, [style*="-webkit-background-clip"]::selection,
 [style*="text-fill-color"]::selection, [style*="-webkit-text-fill-color"]::selection {
 background: rgba(201, 162, 39, 0.5) !important;
 color: #fff !important;
 -webkit-text-fill-color: #fff !important;
 background-clip: border-box !important;
 -webkit-background-clip: border-box !important;
 }
 h1::-moz-selection, h2::-moz-selection, h3::-moz-selection,
 .hero-title::-moz-selection, .hero-title *::-moz-selection {
 background: rgba(201, 162, 39, 0.5) !important;
 color: #fff !important;
 -webkit-text-fill-color: #fff !important;
 } /* ── Bloomberg/Gartner Premium Typography Upgrade ── */

 /* Premium heading typography */
 h1, h2, h3, .hero-title, .section-title {
 font-weight: 700;
 letter-spacing: -0.025em;
 line-height: 1.15;
 }
 h1 { font-size: clamp(2.2rem, 4.5vw, 3.5rem); }
 h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); letter-spacing: -0.02em; }
 h3 { font-size: clamp(1.15rem, 2vw, 1.5rem); letter-spacing: -0.01em; }

 /* Section spacing — tight, professional */
 section, .section {
 padding-top: clamp(1.2rem, 2.5vw, 2rem);
 padding-bottom: clamp(1.5rem, 3vw, 2.5rem);
 }

 /* Bloomberg-style data cards */
 .card, .doctrine-card, .framework-card, [class*="-card"] {
 border: 1px solid rgba(255,255,255,.04);
 backdrop-filter: blur(12px);
 transition: all .35s cubic-bezier(.4,0,.2,1);
 }
 .card:hover, .doctrine-card:hover, .framework-card:hover, [class*="-card"]:hover {
 border-color: rgba(201,162,39,.15);
 box-shadow: 0 8px 32px rgba(0,0,0,.3), 0 0 0 1px rgba(201,162,39,.08);
 transform: translateY(-3px);
 }

 /* Premium paragraph typography */
 p, .body-text, .card p, .description {
 font-size: clamp(0.92rem, 1.1vw, 1.05rem);
 line-height: 1.75;
 color: rgba(200,200,220,.65);
 letter-spacing: 0.005em;
 }

 /* Gold accent dividers */
 .section-title::after, h2.section-heading::after {
 content: '';
 display: block;
 width: 48px;
 height: 2px;
 background: linear-gradient(90deg, var(--gold), transparent);
 margin-top: 16px;
 }

 /* Premium chip/tag refinement */
 .chip, .tag {
 font-size: .72rem;
 letter-spacing: .06em;
 text-transform: uppercase;
 font-weight: 600;
 backdrop-filter: blur(8px);
 }

 /* Ultra-premium metric typography */
 .metric .v, .stat-value, [class*="metric"] .v {
 font-weight: 800;
 letter-spacing: -0.03em;
 font-feature-settings: 'tnum' 1, 'ss01' 1;
 }

 /* Bloomberg-style subtle scan lines (background texture) */
 body::before {
 content: '';
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 pointer-events: none;
 z-index: 9998;
 background: repeating-linear-gradient(
 0deg,
 transparent,
 transparent 2px,
 rgba(255,255,255,.008) 2px,
 rgba(255,255,255,.008) 4px
 );
 opacity: 0.4;
 }

 /* Premium focus states */
 a:focus-visible, button:focus-visible {
 outline: 2px solid var(--gold);
 outline-offset: 3px;
 border-radius: 4px;
 }

 /* Premium scrollbar */
 ::-webkit-scrollbar { width: 6px; }
 ::-webkit-scrollbar-track { background: var(--bg); }
 ::-webkit-scrollbar-thumb { background: rgba(201,162,39,.25); border-radius: 3px; }
 ::-webkit-scrollbar-thumb:hover { background: rgba(201,162,39,.4); }

 /* Institutional authority badge styling */
 .badge, .hero-badge, [class*="badge"] {
 font-family: var(--mono);
 font-size: .68rem;
 letter-spacing: .14em;
 text-transform: uppercase;
 }

 /* Premium hover transitions for all interactive elements */
 a, button, .card, .chip, .tag, .nav-links a, .btn {
 transition: all .3s cubic-bezier(.4,0,.2,1);
 }

 /* Gartner-style section number markers */
 .section-number {
 font-family: var(--mono);
 font-size: .65rem;
 letter-spacing: .2em;
 text-transform: uppercase;
 color: var(--gold);
 opacity: .6;
 margin-bottom: 8px;
 display: block;
 }


 
/* ── Language Selector Fix ── */
.lang-selector { position: relative; }


/* ── Text Cut-off Fixes ── */
p, h1, h2, h3, h4, h5, li, span, div {
 overflow-wrap: break-word;
 word-wrap: break-word;
}
.hero h1 span { white-space: nowrap; }
.hero h1 { font-size: clamp(1.8rem, 3vw, 2.2rem) !important; line-height: 1.04; letter-spacing: -.03em; }
.hero h1, .hero h2 {
 overflow-wrap: break-word;
 hyphens: none;
}
.pub-card h4, .card h4 {
 overflow-wrap: break-word;
 display: -webkit-box;
 -webkit-line-clamp: 3;
 -webkit-box-orient: vertical;
 overflow: hidden;
}
.pub-card p, .card p {
 overflow-wrap: break-word;
 display: -webkit-box;
 -webkit-line-clamp: 4;
 -webkit-box-orient: vertical;
 overflow: hidden;
}
/* Ensure mobile sticky CTA doesn't cover content */
@media (max-width:768px) {
 body { padding-bottom: 80px; }
}



/* ═══ removed @media (prefers-color-scheme: dark) override block on 2026-04-25 19:18:35 —
 it was overriding the site's existing dark theme with !important rules,
 killing gold table headers, card backgrounds, and section colours.
 See backup file for the original block. ═══ */
/* ============ DARK MODE TOGGLE ============ */
.dark-mode-toggle {
 position: fixed; bottom: 20px; right: 20px; z-index: 9999;
 width: 48px; height: 48px; border-radius: 50%;
 background: rgba(31,78,120,0.9); color: #fff; border: 2px solid rgba(255,255,255,0.2);
 cursor: pointer; font-size: 1.3rem; display: flex; align-items: center; justify-content: center;
 backdrop-filter: blur(10px); transition: all 0.3s ease;
 box-shadow: 0 4px 15px rgba(0,0,0,0.3);
}
.dark-mode-toggle:hover { transform: scale(1.1); background: rgba(31,78,120,1); }
body.dark-forced { --bg-primary:#0a0e1a; --bg-secondary:#111827; --text-primary:#f0f4f8; }
body.dark-forced, body.dark-forced * { background-color: inherit; color: inherit; }

/* ============ WCAG AAA ACCESSIBILITY ============ */
/* Skip Link */
.skip-link {
 position: absolute; top: -100%; left: 50%; transform: translateX(-50%);
 background: #1F4E78; color: #fff; padding: 12px 24px; z-index: 99999;
 font-size: 1rem; font-weight: 600; border-radius: 0 0 8px 8px;
 text-decoration: none; transition: top 0.2s;
}
.skip-link:focus { top: 0; outline: 3px solid #ffd54f; outline-offset: 2px; }

/* Focus Indicators (WCAG 2.4.7 AAA) */
*:focus-visible {
 outline: 3px solid #1F4E78 !important;
 outline-offset: 3px !important;
 border-radius: 2px;
}
@media (prefers-color-scheme: dark) {
 *:focus-visible { outline-color: #64b5f6 !important; }
}

/* High Contrast Text (WCAG 1.4.6 AAA - 7:1 ratio on dark bg) */
body { color: #f4f4fa; }
h1, h2, h3, h4, h5, h6 { color: #ffffff !important; }
.text-muted, .text-secondary { color: rgba(255,255,255,.55) !important; } /* readable on dark bg */

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
 *, *::before, *::after {
 animation-duration: 0.01ms !important;
 animation-iteration-count: 1 !important;
 transition-duration: 0.01ms !important;
 scroll-behavior: auto !important;
 }
 .scroll-{ opacity: 1 !important; transform: none !important; }
}

/* Print Styles */
@media print {
 nav, .navbar, footer, .dark-mode-toggle, .cookie-banner, .trust-bar, .cta-btn, button, .btn { display: none !important; }
 body { color: #000 !important; background: #fff !important; font-size: 12pt; }
 a { color: #000 !important; text-decoration: underline; }
 a[href]::after { content: " (" attr(href) ")"; font-size: 0.8em; }
 h1,h2,h3 { page-break-after: avoid; }
 .card { break-inside: avoid; border: 1px solid #ccc !important; }
}

/* High Contrast Mode */
@media (forced-colors: active) {
 .card, .glass-card { border: 2px solid ButtonText !important; }
 .btn-primary, .cta-btn { border: 2px solid ButtonText !important; }
}

/* ============ COOKIE CONSENT ============ */
.cookie-banner {
 position: fixed; bottom: 0; left: 0; right: 0; z-index: 99998;
 background: rgba(10,14,26,0.97); color: #f0f4f8; padding: 16px 24px;
 display: flex; align-items: center; justify-content: space-between; gap: 16px;
 backdrop-filter: blur(12px); border-top: 1px solid rgba(255,255,255,0.1);
 font-size: 0.9rem; flex-wrap: wrap;
 transform: translateY(100%); transition: transform 0.4s ease;
}
.cookie-banner.show { transform: translateY(0); }
.cookie-banner p { margin: 0; flex: 1; min-width: 200px; }
.cookie-banner a { color: #64b5f6; text-decoration: underline; }
.cookie-btn { padding: 8px 20px; border-radius: 6px; border: none; cursor: pointer; font-weight: 600; font-size: 0.85rem; }
.cookie-accept { background: #1F4E78; color: #fff; }
.cookie-decline { background: transparent; color: #b0bec5; border: 1px solid #4a5568; }



/* ═══ DYNAMIC CONTENT — Countdown, Calculator, Activity Feed ═══ */
.cd-unit {
 display: flex; flex-direction: column; align-items: center; gap: 2px;
 background: rgba(6,6,16,.60); border: 1px solid rgba(255,255,255,.06);
 border-radius: 10px; padding: 12px 16px; min-width: 64px;
}
.cd-num {
 font-family: var(--mono); font-size: 1.8rem; font-weight: 700;
 color: var(--w); line-height: 1;
 font-variant-numeric: tabular-nums;
}
.cd-label {
 font-family: var(--mono); font-size: .58rem; letter-spacing: .14em;
 text-transform: uppercase; color: var(--w4);
}
.cd-live {
 animation: pulse 2s infinite;
}
.countdown-card { transition: all .3s var(--ease); }
.countdown-card:hover { transform: translateY(-3px); }

/* Calculator */
.calc-q { margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.05); }
.calc-q:last-of-type { border-bottom: none; }
.calc-options { display: flex; flex-direction: column; gap: 8px; }
.calc-opt {
 display: block; width: 100%; text-align: left;
 padding: 12px 16px; border-radius: 10px;
 background: rgba(6,6,16,.50); border: 1px solid rgba(255,255,255,.08);
 color: var(--w2); font-size: .88rem; cursor: pointer;
 font-family: inherit; transition: all .25s ease;
}
.calc-opt:hover { border-color: rgba(201,162,39,.25); color: var(--gold-l); background: rgba(201,162,39,.05); }
.calc-opt.selected {
 border-color: var(--gold) !important; color: var(--gold) !important;
 background: rgba(201,162,39,.08) !important;
 box-shadow: 0 0 0 1px rgba(201,162,39,.15);
}
.calc-opt.locked { pointer-events: none; opacity: .5; }
.calc-opt.selected.locked { opacity: 1; }

/* Activity feed animations */
.activity-item { opacity: 0; transform: translateX(-16px); transition: all .5s cubic-bezier(0.16,1,0.3,1); }
.activity-item.visible { opacity: 1; transform: translateX(0); }

@media (max-width: 768px) {
 .countdown-grid { grid-template-columns: 1fr !important; }
 .cd-unit { padding: 8px 12px; min-width: 50px; }
 .cd-num { font-size: 1.4rem; }
}

/* ═══ INSTITUTIONAL NAV — Compact for 8 tabs ═══ */





/* ═══ NEW SECTIONS — Institutional Styling ═══ */
#frameworks .grid-3 { gap: 20px; }
#frameworks .doctrine-card { position: relative; overflow: hidden; }
#frameworks .doctrine-card::before {
 content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
 background: linear-gradient(90deg, var(--gold), var(--cyan));
 opacity: 0; transition: opacity .3s;
}
#frameworks .doctrine-card:hover::before { opacity: 1; }

#research-labs .card { border-top: 2px solid transparent; transition: all .3s var(--ease); }
#research-labs .card:hover { border-top-color: var(--cyan); }

#case-studies .card { transition: all .3s var(--ease); }
#case-studies .card:hover { transform: translateY(-4px); }
#case-studies h4 { color: #fff !important; }

#regulatory-hub table { min-width: 700px; }
#regulatory-hub th { font-size: .60rem !important; letter-spacing: .14em; }
#regulatory-hub td { font-size: .84rem; }
#regulatory-hub td strong { color: var(--gold-l); }

#credentials .card { transition: all .3s var(--ease); }
#credentials .card:hover { transform: translateY(-3px); border-color: rgba(201,162,39,.2) !important; }


/* ════════════════════════════════════════════════════════════════════════
 CONSOLIDATED_FIX_20260508 — combined fixes from this session.
 Applied to public/styles/global.css (build source) AND dist/styles/global.css.
 ════════════════════════════════════════════════════════════════════════ */

/* HERO_HYPHEN_FIX_20260424 — disable browser auto-hyphenation on hero h1
 (otherwise French/narrow viewports break "Com-mercially") */
.hero h1, .hero-grid h1, header.hero h1 {
 hyphens: none !important;
 -webkit-hyphens: none !important;
 word-break: keep-all;
 overflow-wrap: normal;
}

/* TIMELINE_VISIBILITY_FIX_20260506 — items must NOT default to opacity:0.
 The IntersectionObserver-driven .visible class still triggers the slide-in
 animation, but visibility no longer depends on JS firing. */
.activity-item { opacity: 1 !important; transform: translateX(0) !important; transition: all .5s cubic-bezier(0.16,1,0.3,1); }
@media (prefers-reduced-motion: no-preference) {
 body.js-ready .activity-item:not(.visible) { opacity: 0 !important; transform: translateX(-16px) !important; }
}

/* HEADING_NOWRAP_20260508 — widen .head containers on long-heading sections so
 "Threat Radar — Top 10 Cyber Threats (2025–2026)" and
 "Active Research & Governance Laboratory" fit on one line at desktop */
#threat-radar .head,
#live-activity .head,
#research-labs .head,
#frameworks .head,
section[id="threat-radar"] .head,
section[id="research-labs"] .head,
section[id="frameworks"] .head { max-width: 1200px !important; }

#threat-radar .head h3,
#research-labs .head h3,
#live-activity .head h3,
#frameworks .head h3,
section[id="threat-radar"] .head h3,
section[id="research-labs"] .head h3,
section[id="frameworks"] .head h3 {
 font-size: clamp(1.5rem, 2.4vw, 2rem) !important;
 line-height: 1.2 !important;
 max-width: 100% !important;
}
@media (min-width: 760px) {
 #threat-radar .head h3,
 #research-labs .head h3,
 #frameworks .head h3,
 section[id="threat-radar"] .head h3,
 section[id="research-labs"] .head h3,
 section[id="frameworks"] .head h3 { white-space: nowrap !important; }
}


/* PAGE_HERO_H1_20260509 — center the page-hero h1 heading both horizontally
 and as a block. Title fits one line at desktop via tightened font-size. */
.page-hero { text-align: center !important; }
.page-hero .wrap {
 max-width: 1280px !important;
 margin: 0 auto !important;
 padding-left: 24px; padding-right: 24px;
 text-align: center !important;
}
.page-hero h1 {
 font-size: clamp(1.6rem, 3.4vw, 2.4rem) !important;
 line-height: 1.18 !important;
 max-width: 100% !important;
 margin-left: auto !important;
 margin-right: auto !important;
 text-align: center !important;
 display: block !important;
}
.page-hero p {
 margin-left: auto !important;
 margin-right: auto !important;
 text-align: center !important;
}
@media (min-width: 880px) {
 .page-hero h1 { white-space: nowrap !important; }
}


/* PAGE_HERO_TICKER_GAP_20260509 — extra top spacing on .page-hero so the
 scrolling ticker/marquee above does not overlap heading text */
.page-hero { padding-top: 56px !important; margin-top: 0; }
.reg-hub-title-row { padding-top: 16px; margin-top: 12px; }
@media (max-width: 760px) {
 .page-hero { padding-top: 36px !important; }
}


/* THREAT_PARA_BREAKS_20260509 — paragraph-break spans inside threat-summary
 and threat-meta-value render as block paragraphs with vertical rhythm */
.threat-summary .tr-para,
.threat-meta-value .tr-para {
 display: block;
 margin: 0 0 12px 0;
}
.threat-summary .tr-para:last-child,
.threat-meta-value .tr-para:last-child {
 margin-bottom: 0;
}
.threat-summary, .threat-meta-value { line-height: 1.65 !important; }


/* THREAT_RADAR_STYLES_20260509 — full threat-card layout CSS that was missing
 from public/styles/global.css. Restores Top-10 threat card grid layout. */
.threat-grid {
 display: grid;
 grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
 gap: 24px;
 margin: 32px 0;
}
.threat-card {
 position: relative;
 background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
 border: 1px solid rgba(255,255,255,.08);
 border-left: 3px solid var(--threat-severity, #ef4444);
 border-radius: 10px;
 padding: 26px 24px 20px;
 display: flex;
 flex-direction: column;
 gap: 14px;
 transition: border-color .25s ease, transform .25s ease;
}
.threat-card:hover {
 border-color: rgba(201,162,39,.3);
 transform: translateY(-2px);
}
.threat-rank {
 font-family: var(--mono, monospace);
 font-size: 1.8rem;
 font-weight: 700;
 color: var(--gold, #c9a227);
 letter-spacing: .04em;
 line-height: 1;
}
.threat-title {
 font-family: var(--serif, Georgia), serif;
 font-size: 1.2rem;
 font-weight: 600;
 color: var(--w, #eceef1);
 line-height: 1.3;
}
.threat-severity {
 display: inline-block;
 padding: 4px 12px;
 font-family: var(--mono, monospace);
 font-size: .68rem;
 letter-spacing: .14em;
 text-transform: uppercase;
 font-weight: 600;
 border-radius: 99px;
 align-self: flex-start;
 border: 1px solid currentColor;
}
.threat-severity.sev-critical { color: #ef4444; background: rgba(239,68,68,.08); }
.threat-severity.sev-high { color: #f59e0b; background: rgba(245,158,11,.08); }
.threat-severity.sev-elevated { color: #06b6d4; background: rgba(6,182,212,.08); }
.threat-severity.sev-moderate { color: #84cc16; background: rgba(132,204,22,.08); }
.threat-summary {
 color: var(--w2, #cfd1d9);
 font-size: .92rem;
 line-height: 1.65;
}
.threat-summary .tr-para {
 display: block;
 margin: 0 0 10px;
}
.threat-summary .tr-para:last-child { margin-bottom: 0; }
.threat-meta {
 display: flex;
 flex-direction: column;
 gap: 12px;
 margin-top: 8px;
 padding-top: 14px;
 border-top: 1px solid rgba(255,255,255,.08);
}
.threat-meta-item {
 display: grid;
 grid-template-columns: 1fr;
 gap: 4px;
 padding-left: 12px;
 border-left: 2px solid var(--meta-accent, rgba(201,162,39,.4));
}
.threat-meta-label {
 font-family: var(--mono, monospace);
 font-size: .62rem;
 letter-spacing: .14em;
 text-transform: uppercase;
 font-weight: 600;
 color: var(--meta-accent, var(--gold, #c9a227));
}
.threat-meta-value {
 color: var(--w2, #cfd1d9);
 font-size: .88rem;
 line-height: 1.55;
}
@media (max-width: 600px) {
 .threat-grid { grid-template-columns: 1fr; gap: 18px; }
 .threat-card { padding: 22px 18px 16px; }
 .threat-rank { font-size: 1.5rem; }
 .threat-title { font-size: 1.05rem; }
}


/* INTELLIGENCE_PAGE_STYLES_20260509 — full intelligence-card CSS that was
 missing from public/styles/global.css. Restores Strategic Intelligence
 panel + item layout. */
.intel-grid {
 display: grid;
 grid-template-columns: repeat(auto-fill, minmax(420px, 1fr));
 gap: 24px;
 margin: 32px 0;
}
.intel-panel {
 position: relative;
 background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
 border: 1px solid rgba(255,255,255,.08);
 border-radius: 10px;
 padding: 26px 24px 22px;
 display: flex;
 flex-direction: column;
 gap: 14px;
 transition: border-color .25s ease;
}
.intel-panel:hover { border-color: rgba(201,162,39,.3); }
.intel-panel.panel-outlook { border-top: 3px solid #06b6d4; }
.intel-panel.panel-boards { border-top: 3px solid #f59e0b; }
.intel-panel.panel-emerging { border-top: 3px solid #ef4444; }
.intel-panel.panel-predictions { border-top: 3px solid #c08b4e; }
.intel-panel .panel-sub {
 font-family: var(--mono, monospace);
 font-size: .68rem;
 letter-spacing: .14em;
 text-transform: uppercase;
 color: var(--gold, #c9a227);
 font-weight: 600;
 padding-bottom: 10px;
 border-bottom: 1px solid rgba(255,255,255,.08);
}
.intel-item {
 display: flex;
 flex-direction: column;
 gap: 6px;
 padding: 10px 0 10px 14px;
 border-left: 2px solid var(--item-accent, rgba(201,162,39,.4));
}
.intel-item-title {
 font-family: var(--serif, Georgia), serif;
 font-size: 1rem;
 font-weight: 600;
 color: var(--w, #eceef1);
 line-height: 1.3;
}
.intel-item-detail {
 color: var(--w2, #cfd1d9);
 font-size: .88rem;
 line-height: 1.6;
}
.confidence-badge {
 display: inline-block;
 padding: 3px 10px;
 font-family: var(--mono, monospace);
 font-size: .62rem;
 letter-spacing: .12em;
 text-transform: uppercase;
 font-weight: 600;
 border-radius: 99px;
 align-self: flex-start;
 border: 1px solid currentColor;
 margin-top: 4px;
}
.confidence-badge.conf-high { color: #10b981; background: rgba(16,185,129,.08); }
.confidence-badge.conf-medium { color: #f59e0b; background: rgba(245,158,11,.08); }
.confidence-badge.conf-emerging { color: #06b6d4; background: rgba(6,182,212,.08); }
.last-refresh {
 text-align: center;
 margin-top: 24px;
 font-family: var(--mono, monospace);
 font-size: .68rem;
 letter-spacing: .12em;
 color: var(--w4, #55657A);
}
@media (max-width: 600px) {
 .intel-grid { grid-template-columns: 1fr; gap: 18px; }
 .intel-panel { padding: 22px 18px 18px; }
}

/* ─── MAIN_PAGE_FULL_STYLES_20260509 ──────────────────────────────────────
 Comprehensive CSS for all homepage sections that previously had no rules.
 Added 2026-05-09 after fixing smart-quote attribute corruption that hid
 broken styling for months. Idempotent: wrapped in BEGIN/END markers. */

/* KPI proof band (4 stat cells, hero-adjacent) */
.kpi-band{
 background:linear-gradient(180deg,rgba(201,162,39,.05),rgba(10,14,26,.0));
 border-top:1px solid rgba(201,162,39,.18);
 border-bottom:1px solid rgba(201,162,39,.18);
 padding:36px 0;
 margin:0 0 24px;
}
.kpi-band .wrap{padding-left:32px;padding-right:32px}
.kpi-grid{
 display:grid;
 grid-template-columns:repeat(4,1fr);
 gap:24px;
 align-items:start;
}
.kpi-cell{
 text-align:center;
 padding:18px 12px;
 border-right:1px solid rgba(255,255,255,.08);
}
.kpi-cell:last-child{border-right:none}
.kpi-num{
 font-family:var(--font-display,Georgia,serif);
 font-weight:700;
 font-size:clamp(2.4rem,4vw,3.4rem);
 line-height:1;
 color:var(--gold,#c9a227);
 letter-spacing:-.01em;
 font-variant-numeric:tabular-nums;
}
.kpi-num small{font-size:.5em;opacity:.85;margin-left:2px}
.kpi-num.em-accent{color:#c08b4e}
.kpi-num.cyan-accent{color:var(--cyan,#5fb0c5)}
.kpi-lbl{
 margin-top:10px;
 font-size:.78rem;
 letter-spacing:.16em;
 text-transform:uppercase;
 color:var(--w2,#e7e9ee);
 font-weight:600;
}
.kpi-sub{
 margin-top:6px;
 font-size:.78rem;
 color:var(--w4,#55657A);
 letter-spacing:.02em;
}
@media (max-width:900px){
 .kpi-grid{grid-template-columns:repeat(2,1fr);gap:14px}
 .kpi-cell:nth-child(2){border-right:none}
 .kpi-cell{border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:18px}
 .kpi-cell:nth-last-child(-n+2){border-bottom:none}
}
@media (max-width:520px){
 .kpi-grid{grid-template-columns:1fr}
 .kpi-cell{border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}
 .kpi-cell:last-child{border-bottom:none}
}

/* Audience-routing cards (Boards / CISO / Procurement / Contact) */
.audience-routing{
 padding:48px 0 36px;
 border-top:1px solid rgba(255,255,255,.06);
}
.audience-routing .wrap{padding:0 32px}
.ar-label{
 font-size:.74rem;
 letter-spacing:.18em;
 text-transform:uppercase;
 color:var(--w4,#55657A);
 margin:0 0 18px;
 text-align:center;
 font-weight:600;
}
.ar-grid{
 display:grid;
 grid-template-columns:repeat(4,1fr);
 gap:18px;
}
@media (max-width:1080px){.ar-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.ar-grid{grid-template-columns:1fr}}
.ar-icon{
 display:inline-block;
 width:32px;height:32px;line-height:32px;
 text-align:center;
 border-radius:50%;
 background:rgba(201,162,39,.12);
 color:var(--gold,#c9a227);
 font-size:.7rem;
 margin-bottom:10px;
}
.ar-cta{
 display:inline-block;
 margin-top:14px;
 font-size:.76rem;
 font-weight:700;
 letter-spacing:.06em;
 color:var(--gold,#c9a227);
 text-transform:uppercase;
 transition:letter-spacing .18s;
}
.ar-card:hover .ar-cta{letter-spacing:.09em;}

/* ── Audience-routing card (STYLED-20260509) ────────────────────────────── */
.ar-card{
 display:flex;flex-direction:column;
 padding:28px 24px 24px;border-radius:10px;
 background:rgba(13,27,42,.65);
 border:1px solid rgba(201,162,39,.16);
 text-decoration:none;color:inherit;
 transition:border-color .22s,background .22s,transform .2s,box-shadow .22s;
 position:relative;overflow:hidden;
}
.ar-card::before{
 content:'';position:absolute;top:0;left:0;right:0;height:2px;
 background:linear-gradient(90deg,var(--gold,#c9a227) 0%,var(--cyan,#5fb0c5) 60%,transparent 100%);
 opacity:0;transition:opacity .22s;
}
.ar-card:hover{
 border-color:rgba(201,162,39,.45);
 background:rgba(13,27,42,.92);
 transform:translateY(-4px);
 box-shadow:0 16px 40px rgba(0,0,0,.45),0 0 0 1px rgba(201,162,39,.1);
}
.ar-card:hover::before{opacity:1;}
.ar-card h4{
 font-size:1rem;font-weight:700;
 color:var(--w1,#f0f2f5);margin:0 0 10px;
 letter-spacing:.01em;line-height:1.3;
}
.ar-card>p{
 font-size:.85rem;line-height:1.65;
 color:var(--w3,#8a9ab0);margin:0;flex:1;
}
/* AR_CARD_STYLED_20260509_END */

/* Pull quote (Doctrine Principle) */
.pullquote{
 margin:48px auto;
 max-width:1080px;
 padding:32px 40px;
 border-left:3px solid var(--gold,#c9a227);
 background:linear-gradient(90deg,rgba(201,162,39,.04),transparent 70%);
}
.pullquote-text{
 margin:0;
 padding:0;
 font-family:var(--font-display,Georgia,serif);
 font-size:clamp(1.4rem,2.2vw,1.9rem);
 line-height:1.32;
 letter-spacing:-.005em;
 color:var(--w1,#fff);
 font-style:italic;
 text-wrap:balance;
}
.pullquote-cite{
 display:block;
 margin-top:14px;
 font-size:.82rem;
 letter-spacing:.08em;
 color:var(--gold,#c9a227);
 font-style:normal;
 font-weight:600;
}

/* "How I Engage" production block */
.prod-engage{
 padding:56px 0 40px;
 border-top:1px solid rgba(255,255,255,.06);
}
.prod-engage .wrap{padding:0 32px}
.prod-h-block{margin-bottom:28px}
.prod-h-kicker{
 display:block;
 font-size:.74rem;
 letter-spacing:.18em;
 text-transform:uppercase;
 color:var(--gold,#c9a227);
 margin-bottom:8px;
 font-weight:600;
}
.prod-h-title{
 font-family:var(--font-display,Georgia,serif);
 font-size:clamp(1.6rem,2.8vw,2.2rem);
 line-height:1.18;
 margin:0 0 8px;
 letter-spacing:-.01em;
}
.prod-h-sub{
 margin:0;
 color:var(--w3,#9aa3b3);
 font-size:.94rem;
 max-width:64ch;
}
.prod-engage-grid{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:18px;
 margin-top:18px;
}
@media (max-width:980px){.prod-engage-grid{grid-template-columns:1fr}}
.prod-engage-cell{
 background:rgba(255,255,255,.02);
 border:1px solid rgba(255,255,255,.06);
 border-radius:10px;
 padding:22px 22px 20px;
 position:relative;
 transition:border-color .15s,transform .15s;
}
.prod-engage-cell:hover{border-color:rgba(201,162,39,.4);transform:translateY(-1px)}
.prod-engage-kicker{
 font-size:.7rem;
 letter-spacing:.16em;
 text-transform:uppercase;
 color:var(--gold,#c9a227);
 font-weight:600;
 margin-bottom:8px;
}
.prod-engage-h{
 font-size:1.05rem;
 margin:0 0 8px;
 line-height:1.3;
 color:var(--w1,#fff);
 font-weight:600;
}
.prod-engage-p{
 margin:0 0 10px;
 color:var(--w3,#9aa3b3);
 font-size:.9rem;
 line-height:1.5;
}
.prod-engage-meta{
 font-size:.72rem;
 letter-spacing:.06em;
 color:var(--w4,#55657A);
 text-transform:uppercase;
 margin-top:10px;
}

/* "Why Retain Me" production block */
.prod-why{
 padding:56px 0 40px;
 border-top:1px solid rgba(255,255,255,.06);
 background:linear-gradient(180deg,rgba(10,14,26,0),rgba(201,162,39,.02));
}
.prod-why .wrap{padding:0 32px}
.prod-why-grid{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:24px;
 margin-top:18px;
 align-items:start;
}
@media (max-width:980px){.prod-why-grid{grid-template-columns:1fr}}
.prod-why-col{
 padding:22px 22px;
 border:1px solid rgba(255,255,255,.06);
 border-radius:10px;
 background:rgba(255,255,255,.015);
}
.prod-why-h{
 font-size:1rem;
 margin:0 0 8px;
 color:var(--gold,#c9a227);
 font-weight:600;
 letter-spacing:.04em;
}
.prod-why-claim{
 margin:0 0 10px;
 color:var(--w1,#fff);
 font-size:.96rem;
 line-height:1.45;
}
.prod-why-vs{
 margin:0;
 color:var(--w4,#55657A);
 font-size:.82rem;
 line-height:1.5;
 font-style:italic;
}

/* Pilot grid (rare; OT-doctrine pilot tile) */
.pilot-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:18px}
@media (max-width:760px){.pilot-grid{grid-template-columns:1fr}}
.pilot-card{
 padding:20px;
 border:1px solid rgba(201,162,39,.18);
 border-radius:10px;
 background:rgba(201,162,39,.04);
}
.pilot-card.pilot-ot-doctrine{border-color:rgba(95,176,197,.3);background:rgba(95,176,197,.04)}
.pilot-num{font-size:1.6rem;font-weight:700;color:var(--gold,#c9a227);font-variant-numeric:tabular-nums}
.pilot-title{margin:6px 0;font-size:1.1rem;color:var(--w1,#fff);font-weight:600}
.pilot-sub{color:var(--w3,#9aa3b3);font-size:.9rem;margin:0 0 10px}
.pilot-cta,.pilot-link{
 display:inline-block;
 font-size:.78rem;font-weight:600;
 letter-spacing:.06em;text-transform:uppercase;
 color:var(--gold,#c9a227);
 margin-top:8px;
}

/* Bespoke pins (per-site) */
.bespoke-pin{
 display:inline-block;
 padding:6px 12px;
 border-radius:99px;
 font-size:.7rem;
 letter-spacing:.12em;
 text-transform:uppercase;
 background:rgba(201,162,39,.1);
 color:var(--gold,#c9a227);
 border:1px solid rgba(201,162,39,.25);
 font-weight:600;
}
.pin-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.pin-tag{
 display:inline-block;padding:3px 8px;border-radius:4px;
 font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;
 background:rgba(255,255,255,.05);color:var(--w3,#9aa3b3);
 border:1px solid rgba(255,255,255,.08);
}

/* Trustbar publication count */
.trustbar-pub-count{font-weight:700;color:var(--gold,#c9a227);font-variant-numeric:tabular-nums}

/* Generic helpers used on homepage */
.em{color:var(--gold,#c9a227);font-style:normal;font-weight:600}
.em-accent{color:#c08b4e}
.cyan-accent{color:var(--cyan,#5fb0c5)}
.ghost{
 display:inline-block;padding:10px 18px;
 border:1px solid rgba(255,255,255,.18);
 border-radius:6px;color:var(--w2,#e7e9ee);
 text-decoration:none;font-size:.86rem;font-weight:600;
 letter-spacing:.04em;background:transparent;
 transition:border-color .15s,background .15s;
}
.ghost:hover{border-color:var(--gold,#c9a227);background:rgba(201,162,39,.06)}
.primary{
 display:inline-block;padding:10px 20px;
 background:var(--gold,#c9a227);color:#0a0e1a;
 border-radius:6px;font-weight:700;text-decoration:none;
 font-size:.88rem;letter-spacing:.04em;
 transition:filter .15s;
}
.primary:hover{filter:brightness(1.08)}

/* Reading progress bar (E1) */
.e1-reading-progress{
 position:fixed;top:0;left:0;height:2px;width:0;
 background:linear-gradient(90deg,var(--gold,#c9a227),var(--cyan,#5fb0c5));
 z-index:9999;transition:width .1s ease-out;pointer-events:none;
}
/* MAIN_PAGE_FULL_STYLES_20260509_END */

/* ─── DOCTRINE_SUP_GRID_20260509 ──────────────────────────────────────────
 Supervisory Defence Grid (3-column regulatory mapping table) on doctrine page.
 Renders 5 rows mapping regulator → doctrine response → delivery instrument.
 Added 2026-05-09 — classes had no rules, content rendered as plain text. */

.sup-grid{
 display:grid;
 grid-template-columns:1fr;
 gap:0;
 border:1px solid rgba(255,255,255,.08);
 border-radius:10px;
 overflow:hidden;
 background:rgba(10,14,26,.4);
 margin:18px 0 0;
}
.sup-grid-head{
 display:grid;
 grid-template-columns:1.1fr 1.4fr 1.2fr;
 gap:0;
 background:linear-gradient(180deg,rgba(201,162,39,.08),rgba(201,162,39,.04));
 border-bottom:1px solid rgba(201,162,39,.18);
}
.sup-grid-head > div{
 padding:14px 18px;
 font-family:var(--mono,monospace);
 font-size:.7rem;
 letter-spacing:.16em;
 text-transform:uppercase;
 color:var(--gold,#c9a227);
 font-weight:600;
 border-right:1px solid rgba(255,255,255,.04);
}
.sup-grid-head > div:last-child{border-right:none}
.sup-grid-row{
 display:grid;
 grid-template-columns:1.1fr 1.4fr 1.2fr;
 gap:0;
 align-items:stretch;
 border-top:1px solid rgba(255,255,255,.06);
 transition:background .15s;
}
.sup-grid-row:first-child{border-top:none}
.sup-grid-row:hover{background:rgba(201,162,39,.025)}
.sup-grid-vec,
.sup-grid-resp,
.sup-grid-instr{
 padding:18px 20px;
 border-right:1px solid rgba(255,255,255,.04);
 display:flex;
 flex-direction:column;
 justify-content:center;
}
.sup-grid-instr{border-right:none;flex-direction:row;align-items:center;gap:10px}
.sup-grid-vec{gap:8px}
.sup-vec-name{
 color:var(--w2,#e7e9ee);
 font-size:.94rem;
 line-height:1.4;
 font-weight:600;
}
.sup-grid-resp{
 color:var(--w1,#fff);
 font-family:var(--font-display,Georgia,serif);
 font-size:1.02rem;
 line-height:1.35;
 font-weight:500;
 letter-spacing:-.005em;
}
.sup-grid-instr{
 color:var(--w3,#9aa3b3);
 font-size:.86rem;
 line-height:1.4;
}
.sup-instr-icon{
 display:inline-flex;
 align-items:center;justify-content:center;
 width:18px;height:18px;
 font-size:.7rem;
 color:var(--gold,#c9a227);
 flex-shrink:0;
}

/* Tag pills (regulator badges) */
.sup-tag{
 display:inline-block;
 padding:3px 10px;
 border-radius:99px;
 font-family:var(--mono,monospace);
 font-size:.66rem;
 letter-spacing:.1em;
 text-transform:uppercase;
 font-weight:700;
 border:1px solid currentColor;
 align-self:flex-start;
}
.sup-tag-gold { color:var(--gold,#c9a227); background:rgba(201,162,39,.08); }
.sup-tag-cyan { color:var(--cyan,#5fb0c5); background:rgba(95,176,197,.08); }
.sup-tag-em { color:#c08b4e; background:rgba(192,139,78,.08); }
.sup-tag-neutral { color:var(--w3,#9aa3b3); background:rgba(154,163,179,.08); border-color:rgba(154,163,179,.4); }

/* Footer row (regulator-list + caption) */
.sup-grid-foot{
 display:flex;
 flex-wrap:wrap;
 align-items:center;
 gap:10px 14px;
 padding:18px 20px;
 border-top:1px solid rgba(201,162,39,.18);
 background:linear-gradient(180deg,rgba(201,162,39,.04),rgba(10,14,26,0));
 margin:0;
}
.sup-grid-foot-tag{
 display:inline-block;
 padding:3px 10px;
 border:1px solid rgba(201,162,39,.4);
 border-radius:4px;
 font-family:var(--mono,monospace);
 font-size:.68rem;
 letter-spacing:.12em;
 text-transform:uppercase;
 color:var(--gold,#c9a227);
 font-weight:700;
}
.sup-grid-foot-meta{
 flex:1;
 min-width:280px;
 font-size:.78rem;
 color:var(--w3,#9aa3b3);
 letter-spacing:.02em;
 line-height:1.5;
}

/* Section variant (if used elsewhere) */
.sup-grid-section{padding:32px 0}

/* Responsive: stack to single column on narrow viewports */
@media (max-width:880px){
 .sup-grid-head,
 .sup-grid-row{grid-template-columns:1fr}
 .sup-grid-head > div,
 .sup-grid-vec,
 .sup-grid-resp,
 .sup-grid-instr{
 border-right:none;
 border-bottom:1px solid rgba(255,255,255,.04);
 }
 .sup-grid-row > div:last-child,
 .sup-grid-head > div:last-child{border-bottom:none}
 .sup-grid-row{padding:6px 0}
 .sup-grid-head{padding:0;display:none} /* hide column-headers on stack */
 .sup-grid-vec::before{
 content:"Regulatory Vector";
 display:block;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;
 color:var(--gold,#c9a227);margin-bottom:6px;font-family:var(--mono,monospace);
 }
 .sup-grid-resp::before{
 content:"Doctrine Response";
 display:block;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;
 color:var(--gold,#c9a227);margin-bottom:6px;font-family:var(--mono,monospace);
 }
 .sup-grid-instr::before{
 content:"Delivery Instrument";
 display:block;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;
 color:var(--gold,#c9a227);margin-bottom:6px;font-family:var(--mono,monospace);
 }
}

/* Generic helpers used on doctrine page */
.container{max-width:1280px;margin:0 auto;padding:0 32px}
.red{color:#e85d5d}
.sr-only{
 position:absolute;width:1px;height:1px;padding:0;margin:-1px;
 overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
/* DOCTRINE_SUP_GRID_20260509_END */

/* ─── MULTI_PAGE_STYLES_20260509 ──────────────────────────────────────────
 Sweep of remaining unstyled classes across 9 pages: contact, credentials,
 crisis, cyber-portfolio, frameworks, intelligence, publications,
 regulatory-delivery, regulatory-hub, threat-radar. 77 unique classes.
 Added 2026-05-09 alongside MAIN_PAGE_FULL_STYLES + DOCTRINE_SUP_GRID. */

/* ── Generic helpers used across pages ────────────────────────────────── */
.persona-btn{
 display:inline-block;padding:8px 14px;border-radius:6px;
 background:rgba(201,162,39,.08);color:var(--gold,#c9a227);
 border:1px solid rgba(201,162,39,.3);
 font-size:.82rem;font-weight:600;letter-spacing:.04em;
 cursor:pointer;text-decoration:none;transition:all .15s;
}
.persona-btn:hover{background:rgba(201,162,39,.15);border-color:var(--gold,#c9a227)}
.skill-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}

.subtitle{
 font-size:.94rem;color:var(--w3,#9aa3b3);
 margin:8px 0 0;line-height:1.5;letter-spacing:.005em;
}
.position{position:relative}

/* ── Doctrine sections (frameworks + crisis) ──────────────────────────── */
.doctrine-section{
 padding:48px 0 36px;
 border-top:1px solid rgba(255,255,255,.06);
}
.doctrine-section:first-of-type{border-top:none}
.doctrine-subsection{
 margin:24px 0 18px;
 padding:18px 22px;
 border-left:3px solid var(--gold,#c9a227);
 background:rgba(201,162,39,.03);
 border-radius:0 6px 6px 0;
}

/* ── Cyber-portfolio extras ──────────────────────────────────────────── */
.section-header{
 display:flex;align-items:baseline;justify-content:space-between;
 flex-wrap:wrap;gap:14px;
 margin-bottom:20px;padding-bottom:14px;
 border-bottom:1px solid rgba(255,255,255,.08);
}
.section-alt{
 background:linear-gradient(180deg,rgba(201,162,39,.02),rgba(10,14,26,0));
 padding:36px 0;
}
.code-header{
 font-family:var(--mono,monospace);
 font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
 color:var(--gold,#c9a227);font-weight:600;
 padding:10px 16px;background:rgba(255,255,255,.03);
 border-bottom:1px solid rgba(255,255,255,.06);
 border-radius:6px 6px 0 0;
}

/* ── Intelligence page (panels + confidence variants) ────────────────── */
.panel-outlook { border-top:3px solid var(--gold,#c9a227); }
.panel-boards { border-top:3px solid var(--cyan,#5fb0c5); }
.panel-emerging { border-top:3px solid #c08b4e; }
.panel-predictions{ border-top:3px solid #9aa3b3; }
.conf-high { color:#10b981 !important; background:rgba(16,185,129,.08); }
.conf-medium { color:#f59e0b !important; background:rgba(245,158,11,.08); }
.conf-emerging { color:var(--cyan,#5fb0c5) !important; background:rgba(95,176,197,.08); }

/* ── Publications page (advanced search) ─────────────────────────────── */
.pub-adv-search{
 margin:18px 0 24px;padding:20px;
 background:rgba(255,255,255,.02);
 border:1px solid rgba(255,255,255,.08);border-radius:10px;
}
.pub-adv-row{
 display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
 gap:12px;margin-bottom:10px;align-items:end;
}
.pub-adv-label{
 display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
 color:var(--w3,#9aa3b3);margin-bottom:4px;font-weight:600;
}
.glass{
 background:rgba(255,255,255,.025);
 border:1px solid rgba(255,255,255,.06);
 border-radius:10px;padding:18px;
 backdrop-filter:blur(8px);
}
.grid{display:grid;gap:14px}

/* ── Threat-radar (severity tags + snapshot date) ─────────────────────── */
.radar-snapshot-date{
 display:inline-block;font-weight:700;color:var(--gold,#c9a227);
 font-variant-numeric:tabular-nums;
}
.sev-critical{
 color:#e85d5d;background:rgba(232,93,93,.1);
 border-color:rgba(232,93,93,.4);
}
.sev-high{
 color:#c08b4e;background:rgba(192,139,78,.1);
 border-color:rgba(192,139,78,.4);
}
.sev-elevated{
 color:#f59e0b;background:rgba(245,158,11,.1);
 border-color:rgba(245,158,11,.4);
}

/* ── Regulatory-delivery (card variants + CTA) ───────────────────────── */
.card-featured{
 border-color:var(--gold,#c9a227) !important;
 background:linear-gradient(180deg,rgba(201,162,39,.06),rgba(10,14,26,0));
 position:relative;
}
.card-featured::before{
 content:"FEATURED";position:absolute;top:10px;right:14px;
 font-family:var(--mono,monospace);font-size:.6rem;
 letter-spacing:.16em;color:var(--gold,#c9a227);font-weight:700;
}
.cols-2{
 display:grid;grid-template-columns:repeat(2,1fr);gap:18px;
}
@media (max-width:760px){.cols-2{grid-template-columns:1fr}}
.cta-section{
 margin:36px 0 24px;padding:32px;
 background:linear-gradient(180deg,rgba(201,162,39,.04),rgba(95,176,197,.03));
 border:1px solid rgba(201,162,39,.2);border-radius:12px;
 text-align:center;
}
.cta-buttons{
 display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:16px;
}
.otf-reg-section{padding:32px 0}
.reg-card-count{
 display:inline-block;padding:2px 8px;
 background:rgba(201,162,39,.1);color:var(--gold,#c9a227);
 border-radius:99px;font-size:.7rem;font-weight:700;
 font-family:var(--mono,monospace);letter-spacing:.08em;
}
.reg-card-list{margin:0;padding:0;list-style:none}
.reg-card-list li{
 padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04);
 font-size:.88rem;color:var(--w2,#e7e9ee);
}
.reg-card-list li:last-child{border-bottom:none}
.reg-card-name{font-weight:600;color:var(--w1,#fff)}
.reg-card-otf{
 display:inline-block;margin-left:8px;padding:2px 8px;
 background:rgba(95,176,197,.1);color:var(--cyan,#5fb0c5);
 border-radius:4px;font-size:.66rem;font-weight:700;letter-spacing:.06em;
 text-transform:uppercase;font-family:var(--mono,monospace);
}

/* ── Regulatory-hub (CLAW dropdown + tabs + summary stats) ───────────── */
.reg-hub-controls{
 display:flex;flex-wrap:wrap;gap:12px;align-items:center;
 padding:18px 0;border-bottom:1px solid rgba(255,255,255,.08);
 margin-bottom:24px;
}
.reg-hub-tabs{
 display:flex;flex-wrap:wrap;gap:4px;padding:6px;
 background:rgba(255,255,255,.03);border-radius:8px;
}
.reg-hub-tab{
 padding:8px 14px;border-radius:6px;
 font-size:.82rem;font-weight:600;letter-spacing:.04em;
 color:var(--w3,#9aa3b3);cursor:pointer;
 background:transparent;border:none;transition:all .15s;
}
.reg-hub-tab:hover{color:var(--w1,#fff);background:rgba(255,255,255,.04)}
.reg-hub-tab.active,.reg-hub-tab[aria-selected="true"]{
 color:var(--gold,#c9a227);background:rgba(201,162,39,.1);
}
.reg-hub-search-row{
 display:flex;flex-wrap:wrap;gap:10px;align-items:center;flex:1;min-width:280px;
}
.reg-hub-search{
 flex:1;min-width:200px;padding:10px 14px;
 background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
 border-radius:6px;color:var(--w1,#fff);font-size:.88rem;
}
.reg-hub-search:focus{outline:none;border-color:var(--gold,#c9a227)}
.reg-hub-status-filter{
 padding:10px 14px;background:rgba(255,255,255,.04);
 border:1px solid rgba(255,255,255,.08);border-radius:6px;
 color:var(--w2,#e7e9ee);font-size:.86rem;cursor:pointer;
}
.reg-hub-summary{
 display:flex;flex-wrap:wrap;gap:18px;
 padding:16px 20px;margin-bottom:18px;
 background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);
 border-radius:8px;
}
.reg-hub-panel{
 padding:18px 20px;margin:14px 0;
 background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);
 border-radius:10px;
}
.reg-hub-panel-header{
 display:flex;align-items:baseline;justify-content:space-between;
 flex-wrap:wrap;gap:10px;margin-bottom:12px;
 padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06);
}
.reg-hub-panel-intro{
 margin:0 0 14px;color:var(--w3,#9aa3b3);
 font-size:.9rem;line-height:1.5;
}
.reg-hub-empty{
 padding:32px 20px;text-align:center;
 color:var(--w4,#55657A);font-style:italic;font-size:.9rem;
}

/* CLAW dropdown */
.claw-selector{position:relative;display:inline-block}
.claw-btn{
 padding:10px 16px;background:rgba(201,162,39,.08);
 color:var(--gold,#c9a227);border:1px solid rgba(201,162,39,.3);
 border-radius:6px;font-size:.86rem;font-weight:600;
 cursor:pointer;display:inline-flex;align-items:center;gap:8px;
 transition:all .15s;
}
.claw-btn:hover{background:rgba(201,162,39,.15)}
.claw-dropdown{
 position:absolute;top:calc(100% + 6px);left:0;z-index:50;
 min-width:300px;max-width:480px;
 background:#0a0e1a;border:1px solid rgba(201,162,39,.3);
 border-radius:8px;box-shadow:0 12px 32px rgba(0,0,0,.5);
 overflow:hidden;
}
.claw-dropdown-header{
 padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.06);
 font-family:var(--mono,monospace);font-size:.7rem;
 letter-spacing:.16em;text-transform:uppercase;color:var(--gold,#c9a227);
}
.claw-dropdown-scroll{max-height:380px;overflow-y:auto;padding:8px 0}
.claw-region-label{
 padding:8px 16px 4px;font-size:.66rem;letter-spacing:.16em;
 text-transform:uppercase;color:var(--w4,#55657A);font-weight:600;
}
.claw-cat{padding:6px 0}
.claw-cat-title{
 padding:4px 16px;font-size:.7rem;color:var(--w4,#55657A);
 letter-spacing:.06em;font-weight:600;
}
.claw-option{
 display:flex;align-items:center;gap:10px;
 padding:8px 16px;cursor:pointer;
 font-size:.86rem;color:var(--w2,#e7e9ee);
}
.claw-option:hover{background:rgba(201,162,39,.06)}
.claw-panel{
 margin-top:18px;padding:20px;
 background:rgba(255,255,255,.02);border:1px solid rgba(201,162,39,.18);
 border-radius:10px;
}
.claw-panel-header{
 display:flex;align-items:center;gap:14px;
 padding-bottom:12px;margin-bottom:14px;
 border-bottom:1px solid rgba(255,255,255,.06);
}
.claw-panel-flag{font-size:1.5rem;line-height:1}
.claw-panel-title{font-size:1.1rem;margin:0;color:var(--w1,#fff);font-weight:600}
.claw-panel-close{
 margin-left:auto;background:none;border:none;
 color:var(--w4,#55657A);cursor:pointer;font-size:1rem;padding:4px 8px;
}
.claw-panel-close:hover{color:var(--w1,#fff)}
.claw-panel-body{padding:0;color:var(--w2,#e7e9ee);font-size:.9rem;line-height:1.55}
.claw-intro{
 margin:0 0 14px;color:var(--w3,#9aa3b3);font-size:.88rem;line-height:1.55;
}

/* Status / count badges */
.amber{color:#f59e0b}
.warn{color:#f59e0b}
.live{
 display:inline-block;width:8px;height:8px;border-radius:50%;
 background:#10b981;box-shadow:0 0 0 0 rgba(16,185,129,.7);
 animation:livePulse 2s infinite;
}
@keyframes livePulse{
 70%{box-shadow:0 0 0 8px rgba(16,185,129,0)}
 100%{box-shadow:0 0 0 0 rgba(16,185,129,0)}
}
.count,.match-count,.num,.stat{
 font-variant-numeric:tabular-nums;font-weight:700;
 color:var(--gold,#c9a227);font-family:var(--mono,monospace);
}
.lbl{
 font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
 color:var(--w4,#55657A);font-weight:600;
}
.flag,.jx-flag{font-size:1.25rem;margin-right:6px;line-height:1;display:inline-block}

/* ─── OT_DOCTRINE_CARDS_20260509 ──────────────────────────────────────────
 Premium upgrade for Industrial Resilience Doctrine 21-paper grid on
 homepage. Replaces the basic .pilot-card rules added earlier with a
 Bloomberg×Palantir card design: dark vellum background, gold corner
 accent, monospace paper number, serif title, ghost CTA buttons. */

/* Section wrapper (already styled inline; this targets only what isn't) */
section.pilot-ot-doctrine{
 position:relative;
 isolation:isolate;
}
section.pilot-ot-doctrine::before{
 content:"";position:absolute;inset:0;
 background:
 radial-gradient(ellipse 80% 40% at 20% 0%, rgba(201,162,39,.08), transparent 60%),
 radial-gradient(ellipse 60% 40% at 90% 100%, rgba(95,176,197,.05), transparent 60%);
 pointer-events:none;z-index:-1;
}

/* Grid wrapper override (Astro inline `style` already sets columns) */
section.pilot-ot-doctrine .pilot-grid{
 margin-top:6px;
}

/* PREMIUM PILOT CARD */
.pilot-card{
 position:relative;
 display:flex;flex-direction:column;
 padding:0;
 background:linear-gradient(165deg,#0d1320 0%,#0a0e1a 100%);
 border:1px solid rgba(201,162,39,.22);
 border-radius:12px;
 overflow:hidden;
 transition:border-color .25s, transform .25s, box-shadow .25s;
 min-height:240px;
}
.pilot-card::before{
 /* gold spine — left edge accent */
 content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
 background:linear-gradient(180deg,var(--gold,#c9a227) 0%, rgba(201,162,39,.0) 70%);
 z-index:1;
}
.pilot-card::after{
 /* corner gleam — top right */
 content:"";position:absolute;right:-40px;top:-40px;
 width:120px;height:120px;border-radius:50%;
 background:radial-gradient(circle,rgba(201,162,39,.08),transparent 60%);
 pointer-events:none;
}
.pilot-card:hover{
 border-color:rgba(201,162,39,.55);
 transform:translateY(-2px);
 box-shadow:0 12px 28px rgba(0,0,0,.45), 0 0 0 1px rgba(201,162,39,.18);
}
.pilot-card:focus-within{
 border-color:var(--gold,#c9a227);
 box-shadow:0 0 0 2px rgba(201,162,39,.35), 0 12px 28px rgba(0,0,0,.45);
}

/* Pilot number — monospace gold tag */
.pilot-num{
 align-self:flex-start;
 margin:18px 22px 0;
 padding:4px 10px;
 font-family:var(--mono,"SF Mono",Menlo,Consolas,monospace);
 font-size:.66rem;
 letter-spacing:.18em;
 text-transform:uppercase;
 color:var(--gold,#c9a227);
 background:rgba(201,162,39,.08);
 border:1px solid rgba(201,162,39,.3);
 border-radius:99px;
 font-weight:700;
 font-variant-numeric:tabular-nums;
 position:relative;z-index:2;
}

/* Paper title — serif gold */
.pilot-title{
 margin:14px 22px 8px;
 font-family:var(--font-display,"Source Serif Pro","Iowan Old Style",Georgia,serif);
 font-size:1.18rem;
 line-height:1.28;
 letter-spacing:-.005em;
 color:var(--w1,#fff);
 font-weight:600;
 text-wrap:balance;
}

/* Subtitle / abstract */
.pilot-sub{
 margin:0 22px 16px;
 flex:1;
 font-size:.86rem;
 line-height:1.55;
 color:var(--w3,#9aa3b3);
 letter-spacing:.005em;
}

/* CTA strip */
.pilot-cta{
 display:flex;flex-wrap:wrap;gap:8px;
 padding:14px 22px 18px;
 border-top:1px solid rgba(255,255,255,.05);
 background:linear-gradient(180deg,rgba(0,0,0,.0),rgba(0,0,0,.18));
 margin-top:auto;
}

/* CTA links — first is gold primary, second is cyan ghost */
.pilot-link{
 display:inline-flex;
 align-items:center;
 gap:6px;
 padding:7px 14px;
 border-radius:6px;
 font-family:var(--mono,"SF Mono",Menlo,Consolas,monospace);
 font-size:.72rem;
 letter-spacing:.1em;
 text-transform:uppercase;
 text-decoration:none;
 font-weight:700;
 border:1px solid transparent;
 transition:all .15s;
 white-space:nowrap;
}
.pilot-link:first-of-type{
 /* Read PDF — primary gold */
 background:rgba(201,162,39,.14);
 color:var(--gold,#c9a227);
 border-color:rgba(201,162,39,.4);
}
.pilot-link:first-of-type::before{
 content:"";display:inline-block;width:9px;height:11px;
 background:var(--gold,#c9a227);
 -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 11'><path d='M0 0h6l3 3v8H0V0zm6 0v3h3'/></svg>") center/contain no-repeat;
 mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 11'><path d='M0 0h6l3 3v8H0V0zm6 0v3h3'/></svg>") center/contain no-repeat;
}
.pilot-link:first-of-type:hover{
 background:var(--gold,#c9a227);
 color:#0a0e1a;
 border-color:var(--gold,#c9a227);
 transform:translateY(-1px);
}
.pilot-link:first-of-type:hover::before{background:#0a0e1a}

/* Second link — View on Drive — secondary cyan ghost */
.pilot-link:nth-of-type(2){
 background:transparent;
 color:var(--cyan,#5fb0c5);
 border-color:rgba(95,176,197,.3);
}
.pilot-link:nth-of-type(2)::after{
 content:"↗";margin-left:2px;font-size:.85em;
}
.pilot-link:nth-of-type(2):hover{
 background:rgba(95,176,197,.12);
 border-color:var(--cyan,#5fb0c5);
 transform:translateY(-1px);
}

/* When only one link present (e.g. Paper 15 / 21) — full-width primary */
.pilot-cta:has(.pilot-link:only-of-type) .pilot-link{
 flex:1;justify-content:center;
}

/* Responsive: tighter padding on small viewports */
@media (max-width:560px){
 .pilot-card{min-height:200px}
 .pilot-num{margin:14px 16px 0;font-size:.62rem}
 .pilot-title{margin:10px 16px 6px;font-size:1.06rem}
 .pilot-sub{margin:0 16px 12px;font-size:.82rem}
 .pilot-cta{padding:12px 16px 14px}
 .pilot-link{padding:6px 11px;font-size:.68rem}
}
/* OT_DOCTRINE_CARDS_20260509_END */

/* ─── KPI_IMPACT_CARDS_20260509 ───────────────────────────────────────────
 Reuses portfolio-page .impact-card pattern for the homepage KPI band.
 Replaces the older .kpi-band/.kpi-* rules with simpler num/lbl/sub stack. */

.impact-strip{
 padding:36px 0 32px;
 border-top:1px solid rgba(201,162,39,.18);
 border-bottom:1px solid rgba(201,162,39,.18);
 background:linear-gradient(180deg,rgba(201,162,39,.04),rgba(10,14,26,0));
 margin:0 0 24px;
}
.impact-strip .wrap{padding-left:32px;padding-right:32px;max-width:1280px;margin:0 auto}

.impact-grid{
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
 gap:20px;
}
.impact-card{
 background:rgba(255,255,255,.02);
 border:1px solid rgba(255,255,255,.08);
 border-radius:8px;
 padding:24px 16px 22px;
 text-align:center;
 transition:border-color .18s,transform .18s,background .18s;
}
.impact-card:hover{
 border-color:rgba(201,162,39,.35);
 background:rgba(201,162,39,.03);
 transform:translateY(-1px);
}
.impact-card .num{
 font-family:var(--font-display,Georgia,serif);
 font-size:clamp(2rem,3.6vw,2.6rem);
 font-weight:700;
 line-height:1;
 margin-bottom:.5rem;
 letter-spacing:-.01em;
 font-variant-numeric:tabular-nums;
}
.impact-card .num small{font-size:.5em;font-weight:600;opacity:.85;margin-left:1px}
.impact-card .num.gold { color: var(--gold,#c9a227); }
.impact-card .num.cyan { color: var(--cyan,#5fb0c5); }
.impact-card .num.em { color: #c08b4e; }

.impact-card .lbl{
 font-size:.74rem;
 letter-spacing:.16em;
 text-transform:uppercase;
 color:var(--w2,#e7e9ee);
 font-weight:600;
 line-height:1.4;
 margin-bottom:6px;
}
.impact-card .sub{
 font-size:.74rem;
 color:var(--w4,#55657A);
 letter-spacing:.02em;
 line-height:1.45;
}

@media (max-width:560px){
 .impact-strip{padding:28px 0 24px}
 .impact-grid{grid-template-columns:repeat(2,1fr);gap:14px}
 .impact-card{padding:20px 12px 16px}
}
/* KPI_IMPACT_CARDS_20260509_END */

/* ─── DOCTRINE_CARDS_PREMIUM_20260509 ─────────────────────────────────────
 Upgrade .doctrine-card on doctrine page: now that "Framework NN" badges
 are removed, give the 5 framework cards a more premium silhouette —
 serif title prominence, gold spine accent, subtle hover lift, refined
 tag chips. Keeps existing inline rules; this block layers on top. */

/* Container grid — already .grid-5 in inline; tighten gap and improve density */
.section #doctrine .grid-5,
section[id="doctrine"] .grid-5{
 gap:18px !important;
}

/* Card container — premium reset */
.doctrine-card{
 position:relative;
 display:flex;flex-direction:column;
 padding:24px 22px 22px !important;
 background:linear-gradient(165deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%) !important;
 border:1px solid rgba(201,162,39,.18) !important;
 border-radius:12px !important;
 overflow:hidden;
 transition:border-color .25s,transform .25s,box-shadow .25s !important;
 min-height:200px;
}
.doctrine-card::before{
 /* gold spine — left edge */
 content:"";position:absolute;top:0;left:0;bottom:0;
 width:3px !important;height:auto !important;
 background:linear-gradient(180deg,var(--gold,#c9a227),rgba(201,162,39,0)) !important;
 opacity:.7 !important;
 transition:opacity .25s;
}
.doctrine-card::after{
 /* corner gleam */
 content:"";position:absolute;top:-30px;right:-30px;
 width:90px;height:90px;border-radius:50%;
 background:radial-gradient(circle,rgba(201,162,39,.06),transparent 70%);
 pointer-events:none;
 transition:opacity .25s;
 opacity:.7;
}
.doctrine-card:hover{
 border-color:rgba(201,162,39,.55) !important;
 transform:translateY(-2px);
 box-shadow:0 14px 28px rgba(0,0,0,.42), 0 0 0 1px rgba(201,162,39,.16);
}
.doctrine-card:hover::before{opacity:1 !important}
.doctrine-card:hover::after{opacity:1}

/* Title — serif, larger, more presence (since no number badge above) */
.doctrine-card .d-tm{
 font-family:var(--font-display,"Source Serif Pro","Iowan Old Style",Georgia,serif) !important;
 font-size:1.2rem !important;
 line-height:1.28 !important;
 font-weight:700 !important;
 margin:0 0 10px !important;
 letter-spacing:-.005em;
 color:var(--w1,#fff);
 text-wrap:balance;
}

/* Definition — slightly tighter; flex-grow to push tags to bottom */
.doctrine-card .d-def{
 margin:0 0 14px !important;
 flex:1;
 font-size:.88rem !important;
 line-height:1.55 !important;
 color:var(--w3,#9aa3b3) !important;
 letter-spacing:.005em;
}

/* Tag strip — refined tags */
.doctrine-card .mini{
 display:flex;flex-wrap:wrap;gap:6px;
 padding-top:14px;
 margin-top:auto;
 border-top:1px solid rgba(255,255,255,.05);
}
.doctrine-card .mini .tag{
 display:inline-block;
 padding:3px 9px;
 border-radius:99px;
 font-family:var(--mono,monospace);
 font-size:.66rem;
 letter-spacing:.1em;
 text-transform:uppercase;
 font-weight:700;
 border:1px solid rgba(255,255,255,.12);
 color:var(--w3,#9aa3b3);
 background:rgba(255,255,255,.025);
}
.doctrine-card .mini .tag.gold{
 color:var(--gold,#c9a227);
 background:rgba(201,162,39,.08);
 border-color:rgba(201,162,39,.3);
}
.doctrine-card .mini .tag.cyan{
 color:var(--cyan,#5fb0c5);
 background:rgba(95,176,197,.08);
 border-color:rgba(95,176,197,.3);
}
.doctrine-card .mini .tag.em{
 color:#c08b4e;
 background:rgba(192,139,78,.08);
 border-color:rgba(192,139,78,.3);
}

/* Responsive: reduce on smaller screens */
@media (max-width:760px){
 .doctrine-card{min-height:180px;padding:20px 18px 18px !important}
 .doctrine-card .d-tm{font-size:1.08rem !important}
 .doctrine-card .d-def{font-size:.84rem !important}
}
/* DOCTRINE_CARDS_PREMIUM_20260509_END */

/* ─── GOV_ATLAS_CARDS_20260509 ────────────────────────────────────────────
 Premium 8-tile Governance Atlas nav grid on homepage. Each tile gets a
 color-keyed top accent line, glassy gradient surface, hover lift, and
 sliding arrow. Engage tile is the primary CTA (gold filled).
 2026-05-09 v2: bulletproofed layout with !important on flex/grid rules. */

.gov-atlas{
 position:relative !important;
 padding:72px 0 56px !important;
 text-align:center !important;
 background:
 radial-gradient(ellipse 60% 30% at 50% 0%, rgba(201,162,39,.06), transparent 60%),
 linear-gradient(180deg,rgba(10,14,26,0),rgba(10,14,26,.4)) !important;
 border-top:1px solid rgba(201,162,39,.12) !important;
 margin-top:24px !important;
}
.gov-atlas .wrap{max-width:1200px !important;margin:0 auto !important;padding:0 32px !important}
.gov-atlas .head{margin-bottom:40px !important;text-align:center !important}
.gov-atlas .head .kicker{
 display:inline-block !important;
 font-family:var(--mono,monospace) !important;
 font-size:.72rem !important;letter-spacing:.18em !important;text-transform:uppercase !important;
 color:var(--gold,#c9a227) !important;margin-bottom:10px !important;font-weight:600 !important;
}
.gov-atlas .head h3{
 font-family:var(--font-display,Georgia,serif) !important;
 font-size:clamp(1.7rem,3vw,2.3rem) !important;
 margin:0 0 14px !important;letter-spacing:-.005em !important;line-height:1.18 !important;
 color:var(--w1,#fff) !important;
}
.gov-atlas .head p{
 margin:0 auto !important;max-width:62ch !important;
 font-size:.96rem !important;line-height:1.55 !important;color:var(--w3,#9aa3b3) !important;
}

/* GRID — !important critical so cards never render inline */
.atlas-grid{
 display:grid !important;
 grid-template-columns:repeat(4,1fr) !important;
 gap:18px !important;
 margin-top:40px !important;
 text-align:left !important;
}
@media (max-width:1080px){.atlas-grid{grid-template-columns:repeat(2,1fr) !important}}
@media (max-width:560px){.atlas-grid{grid-template-columns:1fr !important}}

/* CARD — flex column !important so spans never flow inline */
.atlas-card{
 --accent:var(--gold,#c9a227);
 --accent-rgb:201,162,39;
 position:relative !important;
 display:flex !important;
 flex-direction:column !important;
 align-items:flex-start !important;
 padding:26px 22px 22px !important;
 background:linear-gradient(155deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%) !important;
 border:1px solid rgba(255,255,255,.08) !important;
 border-radius:14px !important;
 text-decoration:none !important;color:inherit !important;
 overflow:hidden !important;
 isolation:isolate !important;
 transition:transform .28s cubic-bezier(.2,.8,.2,1),
 border-color .25s,
 box-shadow .25s !important;
 text-align:left !important;
 min-height:152px !important;
}
.atlas-card::before{
 content:"";position:absolute;top:0;left:0;height:3px;width:36%;
 background:linear-gradient(90deg,var(--accent),transparent);
 transition:width .35s cubic-bezier(.2,.8,.2,1);
 z-index:1;
}
.atlas-card::after{
 content:"";position:absolute;top:-50px;right:-50px;
 width:140px;height:140px;border-radius:50%;
 background:radial-gradient(circle,rgba(var(--accent-rgb),.1),transparent 70%);
 opacity:.5;transition:opacity .25s,transform .35s;
 z-index:0;
}
.atlas-card:hover{
 transform:translateY(-3px) !important;
 border-color:rgba(var(--accent-rgb),.5) !important;
 box-shadow:0 16px 32px rgba(0,0,0,.45),
 0 0 0 1px rgba(var(--accent-rgb),.2),
 inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.atlas-card:hover::before{width:100% !important}
.atlas-card:hover::after{opacity:1 !important;transform:scale(1.15) !important}

/* Force each <span> child to be block-level — the critical fix */
.atlas-card .atlas-icon,
.atlas-card .atlas-kicker,
.atlas-card .atlas-title,
.atlas-card .atlas-arrow{
 display:block !important;
}

.atlas-icon{
 font-size:1.8rem !important;line-height:1 !important;
 color:var(--accent) !important;
 margin:0 0 14px !important;
 filter:drop-shadow(0 0 12px rgba(var(--accent-rgb),.3));
 z-index:2;position:relative;
}
.atlas-kicker{
 font-family:var(--mono,monospace) !important;
 font-size:.62rem !important;letter-spacing:.18em !important;text-transform:uppercase !important;
 color:var(--accent) !important;font-weight:700 !important;
 margin:0 0 6px !important;
 z-index:2;position:relative;
}
.atlas-title{
 font-family:var(--font-display,Georgia,serif) !important;
 font-size:1.18rem !important;line-height:1.2 !important;font-weight:700 !important;
 color:var(--w1,#fff) !important;
 letter-spacing:-.005em !important;
 margin:0 0 10px !important;
 z-index:2;position:relative;
}
.atlas-arrow{
 display:inline-flex !important;align-items:center !important;justify-content:center !important;
 width:28px !important;height:28px !important;border-radius:50% !important;
 background:rgba(var(--accent-rgb),.1) !important;
 color:var(--accent) !important;
 font-size:.92rem !important;font-weight:700 !important;
 margin-top:auto !important;margin-bottom:0 !important;
 transition:transform .28s,background .25s;
 z-index:2;position:relative;
}
.atlas-card:hover .atlas-arrow{
 background:var(--accent) !important;
 color:#0a0e1a !important;
 transform:translateX(3px) !important;
}

/* Per-card color tokens */
.atlas-foundation { --accent:var(--gold,#c9a227); --accent-rgb:201,162,39; }
.atlas-ip { --accent:var(--cyan,#5fb0c5); --accent-rgb:95,176,197; }
.atlas-innovation { --accent:#c08b4e; --accent-rgb:192,139,78; }
.atlas-threats { --accent:#e85d5d; --accent-rgb:232,93,93; }
.atlas-strategy { --accent:#9f7aea; --accent-rgb:159,122,234;}
.atlas-compliance { --accent:#f59e0b; --accent-rgb:245,158,11; }
.atlas-library { --accent:#9aa3b3; --accent-rgb:154,163,179;}
.atlas-engage {
 --accent:var(--gold,#c9a227); --accent-rgb:201,162,39;
 background:linear-gradient(155deg,rgba(201,162,39,.14) 0%,rgba(201,162,39,.04) 100%) !important;
 border-color:rgba(201,162,39,.4) !important;
}
.atlas-engage::before{width:100% !important}
.atlas-engage .atlas-title{color:var(--gold,#c9a227) !important}
.atlas-engage:hover{
 background:linear-gradient(155deg,rgba(201,162,39,.22) 0%,rgba(201,162,39,.08) 100%) !important;
}
/* GOV_ATLAS_CARDS_20260509_END */

/* ─── SKILLS_PREMIUM_20260509 ─────────────────────────────────────────────
 Upgrade .chip pills + skills section layout for an eye-catching, colour-
 ful tag display. Each chip variant uses a different accent colour and
 richer hover/focus states. */

/* Base chip — refined */
.chip{
 display:inline-block;
 font-family:var(--mono,"SF Mono",Menlo,Consolas,monospace) !important;
 font-size:.7rem !important;
 letter-spacing:.04em !important;
 padding:6px 11px !important;
 border-radius:99px !important;
 border:1px solid rgba(255,255,255,.1) !important;
 background:rgba(255,255,255,.025) !important;
 color:var(--w2,#e7e9ee) !important;
 font-weight:600 !important;
 line-height:1.2;
 transition:transform .15s,border-color .18s,background .18s,color .18s;
 cursor:default;
 margin:1px;
}
.chip:hover{
 transform:translateY(-1px);
 border-color:rgba(201,162,39,.45) !important;
 background:rgba(201,162,39,.06) !important;
 color:var(--gold,#c9a227) !important;
}

/* Gold variant — primary expertise */
.chip.gold{
 background:rgba(201,162,39,.12) !important;
 border-color:rgba(201,162,39,.4) !important;
 color:var(--gold,#c9a227) !important;
 font-weight:700 !important;
}
.chip.gold:hover{
 background:var(--gold,#c9a227) !important;
 color:#0a0e1a !important;
 border-color:var(--gold,#c9a227) !important;
}

/* Cyan variant */
.chip.cyan,.chip.tag-cyan{
 background:rgba(95,176,197,.1) !important;
 border-color:rgba(95,176,197,.35) !important;
 color:var(--cyan,#5fb0c5) !important;
 font-weight:700 !important;
}
.chip.cyan:hover,.chip.tag-cyan:hover{
 background:var(--cyan,#5fb0c5) !important;
 color:#0a0e1a !important;
}

/* Em (orange) variant */
.chip.em{
 background:rgba(192,139,78,.1) !important;
 border-color:rgba(192,139,78,.35) !important;
 color:#c08b4e !important;
 font-weight:700 !important;
}
.chip.em:hover{
 background:#c08b4e !important;
 color:#0a0e1a !important;
}

/* Skills section — colourful per-category accents.
 Targets `#skills-overview > .wrap > div` rows with their inline kicker. */
#skills-overview .head{margin-bottom:32px}
#skills-overview .head h2{
 font-family:var(--font-display,Georgia,serif);
 font-size:clamp(1.6rem,2.6vw,2.1rem);
 margin:0 0 12px;letter-spacing:-.005em;
}

#skills-overview > .wrap > div[style*="margin-bottom:2.5rem"] > h3{
 font-size:1.05rem !important;
 letter-spacing:.06em !important;
 text-transform:uppercase;
 margin:0 0 1.4rem !important;
 padding-bottom:10px;
 border-bottom:1px solid rgba(201,162,39,.18);
 color:var(--gold,#c9a227);
 font-family:var(--font-display,Georgia,serif) !important;
 font-weight:700 !important;
}

/* Category subhead (e.g. "SIEM · Detection · SOC") gets a coloured left bar */
#skills-overview > .wrap > div > div[style*="margin-bottom:1rem"]{
 position:relative;
 padding:14px 16px 14px 20px !important;
 margin-bottom:1.1rem !important;
 background:rgba(255,255,255,.015);
 border:1px solid rgba(255,255,255,.05);
 border-radius:8px;
 transition:border-color .2s,background .2s;
}
#skills-overview > .wrap > div > div[style*="margin-bottom:1rem"]::before{
 content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;
 background:var(--gold,#c9a227);
 border-radius:0 2px 2px 0;
}
#skills-overview > .wrap > div > div[style*="margin-bottom:1rem"]:hover{
 background:rgba(201,162,39,.025);
 border-color:rgba(201,162,39,.18);
}

#skills-overview > .wrap > div > div[style*="margin-bottom:1rem"] > div[style*="font-size:.72rem"]{
 font-size:.72rem !important;
 letter-spacing:.14em !important;
 text-transform:uppercase;
 color:var(--gold,#c9a227) !important;
 font-weight:700 !important;
 margin-bottom:.7rem !important;
 font-family:var(--mono,monospace);
}

/* Rotate the category bar colours for visual variety using nth-of-type */
#skills-overview > .wrap > div > div[style*="margin-bottom:1rem"]:nth-child(1)::before{background:var(--gold,#c9a227)}
#skills-overview > .wrap > div > div[style*="margin-bottom:1rem"]:nth-child(2)::before{background:var(--cyan,#5fb0c5)}
#skills-overview > .wrap > div > div[style*="margin-bottom:1rem"]:nth-child(3)::before{background:#c08b4e}
#skills-overview > .wrap > div > div[style*="margin-bottom:1rem"]:nth-child(4)::before{background:#9f7aea}
#skills-overview > .wrap > div > div[style*="margin-bottom:1rem"]:nth-child(5)::before{background:#10b981}
#skills-overview > .wrap > div > div[style*="margin-bottom:1rem"]:nth-child(6)::before{background:#f59e0b}
#skills-overview > .wrap > div > div[style*="margin-bottom:1rem"]:nth-child(7)::before{background:#e85d5d}
#skills-overview > .wrap > div > div[style*="margin-bottom:1rem"]:nth-child(8)::before{background:#5fb0c5}
#skills-overview > .wrap > div > div[style*="margin-bottom:1rem"]:nth-child(9)::before{background:var(--gold,#c9a227)}

/* Chip flex container */
#skills-overview > .wrap > div > div[style*="margin-bottom:1rem"] > div[style*="display:flex"]{
 gap:.5rem !important;
 margin-top:.4rem;
}
/* SKILLS_PREMIUM_20260509_END */

/* ─── PROD_ENGAGE_PREMIER_20260509 ────────────────────────────────────────
 Premium upgrade for the 3 engagement cards on homepage prod-engage
 section (Discovery Briefing / Mandate Definition / Delivery & Artefacts).
 Now that Stage 1/2/3 kickers are gone, give the cards more presence
 with a gold spine accent, hover lift, and refined hierarchy. */

.prod-engage{
 position:relative;
 padding:72px 0 56px !important;
 background:
 radial-gradient(ellipse 50% 30% at 50% 0%, rgba(201,162,39,.05), transparent 60%),
 linear-gradient(180deg,rgba(10,14,26,0),rgba(10,14,26,.3)) !important;
}
.prod-engage .wrap{padding:0 32px;max-width:1200px;margin:0 auto}
.prod-engage .prod-h-block{margin-bottom:36px;text-align:center}
.prod-engage .prod-h-kicker{
 display:inline-block;
 font-family:var(--mono,monospace) !important;
 font-size:.72rem !important;
 letter-spacing:.18em !important;
 text-transform:uppercase;
 color:var(--gold,#c9a227) !important;
 margin-bottom:10px;
 font-weight:600;
}
.prod-engage .prod-h-title{
 font-family:var(--font-display,Georgia,serif) !important;
 font-size:clamp(1.7rem,3vw,2.3rem) !important;
 margin:0 0 14px !important;
 letter-spacing:-.005em;line-height:1.18;
 color:var(--w1,#fff);
}
.prod-engage .prod-h-sub{
 margin:0 auto !important;
 max-width:62ch;
 font-size:.96rem !important;
 line-height:1.55 !important;
 color:var(--w3,#9aa3b3) !important;
}

.prod-engage-grid{
 display:grid;
 grid-template-columns:repeat(3,1fr) !important;
 gap:20px !important;
 margin-top:40px !important;
 position:relative;
}
@media (max-width:980px){
 .prod-engage-grid{grid-template-columns:1fr !important}
}

/* Connector arrows between cards (3-up only) */
@media (min-width:981px){
 .prod-engage-grid::before,
 .prod-engage-grid::after{
 content:"→";
 position:absolute;top:50%;
 transform:translateY(-50%);
 color:rgba(201,162,39,.4);
 font-size:1.4rem;font-weight:700;
 pointer-events:none;
 z-index:5;
 }
 .prod-engage-grid::before{left:calc(33.33% - 8px)}
 .prod-engage-grid::after{left:calc(66.66% - 8px)}
}

/* Premium card */
.prod-engage-cell{
 position:relative !important;
 display:flex;flex-direction:column;
 padding:30px 26px 26px !important;
 background:linear-gradient(165deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%) !important;
 border:1px solid rgba(201,162,39,.18) !important;
 border-radius:14px !important;
 overflow:hidden;
 transition:transform .28s cubic-bezier(.2,.8,.2,1),
 border-color .25s,
 box-shadow .25s !important;
 isolation:isolate;
}
.prod-engage-cell::before{
 content:"";position:absolute;top:0;left:0;right:0;height:3px;
 background:linear-gradient(90deg,var(--gold,#c9a227),rgba(201,162,39,0));
 transition:opacity .25s;
}
.prod-engage-cell::after{
 content:"";position:absolute;top:-50px;right:-50px;
 width:140px;height:140px;border-radius:50%;
 background:radial-gradient(circle,rgba(201,162,39,.07),transparent 70%);
 pointer-events:none;
 transition:opacity .25s,transform .35s;
 opacity:.6;z-index:0;
}
.prod-engage-cell:hover{
 transform:translateY(-3px) !important;
 border-color:rgba(201,162,39,.55) !important;
 box-shadow:0 16px 32px rgba(0,0,0,.45),
 0 0 0 1px rgba(201,162,39,.2) !important;
}
.prod-engage-cell:hover::after{opacity:1;transform:scale(1.15)}

/* Stage number REMOVED — but if there's any leftover .prod-engage-kicker, hide it */
.prod-engage-cell .prod-engage-kicker{display:none !important}

/* Title — serif, larger */
.prod-engage-cell .prod-engage-h{
 font-family:var(--font-display,Georgia,serif) !important;
 font-size:1.3rem !important;
 line-height:1.25 !important;
 margin:0 0 14px !important;
 letter-spacing:-.005em;
 font-weight:700 !important;
 color:var(--w1,#fff) !important;
 text-wrap:balance;
 position:relative;z-index:2;
}

/* Description */
.prod-engage-cell .prod-engage-p{
 margin:0 0 16px !important;
 flex:1;
 font-size:.92rem !important;
 line-height:1.6 !important;
 color:var(--w2,#e7e9ee) !important;
 letter-spacing:.005em;
 position:relative;z-index:2;
}

/* Meta line at bottom — duration / preconditions */
.prod-engage-cell .prod-engage-meta{
 font-family:var(--mono,monospace) !important;
 font-size:.7rem !important;
 letter-spacing:.08em !important;
 text-transform:uppercase;
 color:var(--gold,#c9a227) !important;
 font-weight:600 !important;
 padding-top:14px;
 border-top:1px solid rgba(201,162,39,.16);
 margin-top:auto !important;
 position:relative;z-index:2;
 line-height:1.5;
}

/* Each card varies its corner-glow tint slightly for visual variety */
.prod-engage-cell:nth-child(1)::before{background:linear-gradient(90deg,var(--gold,#c9a227),rgba(201,162,39,0))}
.prod-engage-cell:nth-child(2)::before{background:linear-gradient(90deg,var(--cyan,#5fb0c5),rgba(95,176,197,0))}
.prod-engage-cell:nth-child(3)::before{background:linear-gradient(90deg,#c08b4e,rgba(192,139,78,0))}
.prod-engage-cell:nth-child(2)::after{background:radial-gradient(circle,rgba(95,176,197,.07),transparent 70%)}
.prod-engage-cell:nth-child(3)::after{background:radial-gradient(circle,rgba(192,139,78,.07),transparent 70%)}
.prod-engage-cell:nth-child(2):hover{border-color:rgba(95,176,197,.55) !important;box-shadow:0 16px 32px rgba(0,0,0,.45), 0 0 0 1px rgba(95,176,197,.22) !important}
.prod-engage-cell:nth-child(3):hover{border-color:rgba(192,139,78,.55) !important;box-shadow:0 16px 32px rgba(0,0,0,.45), 0 0 0 1px rgba(192,139,78,.22) !important}
/* PROD_ENGAGE_PREMIER_20260509_END */

/* ─── PREMIER_CARDS_UNIVERSAL_20260509 ────────────────────────────────────
 Universal premier card standard applied fleet-wide. Brings every card
 type up to the same Bloomberg×Palantir aesthetic established for
 pilot-card, atlas-card, doctrine-card, prod-engage-cell, impact-card.
 
 Style language:
 - Glassy dark gradient surface (#0d1320 → #0a0e1a)
 - Gold spine (3px) on left or top accent
 - Subtle corner gleam
 - Hover lift (translateY -2px) + gold border + shadow halo
 - Refined typography (serif titles, mono kickers, w3 body) */

/* ── Generic .card — fleet-wide upgrade (198 instances) ─────────────── */
.card{
 position:relative;
 display:flex;flex-direction:column;
 padding:22px 22px 20px;
 background:linear-gradient(165deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%);
 border:1px solid rgba(201,162,39,.18);
 border-radius:12px;
 overflow:hidden;
 transition:transform .25s,border-color .22s,box-shadow .22s;
 isolation:isolate;
}
.card::before{
 content:"";position:absolute;top:0;left:0;height:3px;width:36%;
 background:linear-gradient(90deg,var(--gold,#c9a227),rgba(201,162,39,0));
 transition:width .35s cubic-bezier(.2,.8,.2,1);
 z-index:1;
}
.card::after{
 content:"";position:absolute;top:-40px;right:-40px;
 width:120px;height:120px;border-radius:50%;
 background:radial-gradient(circle,rgba(201,162,39,.08),transparent 70%);
 pointer-events:none;opacity:.6;
 transition:opacity .25s,transform .35s;
 z-index:0;
}
.card:hover{
 transform:translateY(-2px);
 border-color:rgba(201,162,39,.5);
 box-shadow:0 14px 28px rgba(0,0,0,.42), 0 0 0 1px rgba(201,162,39,.18);
}
.card:hover::before{width:100%}
.card:hover::after{opacity:1;transform:scale(1.15)}
.card > *{position:relative;z-index:2}

/* Featured variant — gold-filled emphasis */
.card-featured,.card.card-featured{
 background:linear-gradient(155deg,rgba(201,162,39,.14) 0%,rgba(201,162,39,.04) 100%) !important;
 border-color:rgba(201,162,39,.4) !important;
}
.card-featured::before,.card.card-featured::before{width:100% !important}

/* ── Threat Radar cards (.threat-card) ──────────────────────────────── */
.threat-card{
 position:relative;
 padding:24px 24px 20px;
 background:linear-gradient(165deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%);
 border:1px solid rgba(255,255,255,.08);
 border-radius:12px;
 overflow:hidden;
 transition:transform .25s,border-color .22s,box-shadow .22s;
}
.threat-card::before{
 content:"";position:absolute;top:0;left:0;bottom:0;width:3px;
 background:linear-gradient(180deg,var(--gold,#c9a227),rgba(201,162,39,0));
 transition:opacity .25s;
}
.threat-card:hover{
 transform:translateY(-2px);
 border-color:rgba(201,162,39,.45);
 box-shadow:0 14px 28px rgba(0,0,0,.4);
}
/* Severity-keyed spine */
.threat-card:has(.sev-critical)::before{background:linear-gradient(180deg,#e85d5d,rgba(232,93,93,0))}
.threat-card:has(.sev-high)::before{background:linear-gradient(180deg,#c08b4e,rgba(192,139,78,0))}
.threat-card:has(.sev-elevated)::before{background:linear-gradient(180deg,#f59e0b,rgba(245,158,11,0))}
.threat-card:has(.sev-moderate)::before{background:linear-gradient(180deg,var(--cyan,#5fb0c5),rgba(95,176,197,0))}
.threat-meta-item{
 padding:6px 12px;
 border-left:2px solid var(--gold,#c9a227);
 background:rgba(201,162,39,.04);
 border-radius:0 4px 4px 0;
}

/* ── Intelligence Page panels & items ───────────────────────────────── */
.intel-panel{
 position:relative;
 padding:24px 24px 20px;
 background:linear-gradient(165deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%);
 border:1px solid rgba(255,255,255,.08);
 border-radius:12px;
 overflow:hidden;
 transition:border-color .22s,box-shadow .22s;
}
.intel-panel:hover{
 border-color:rgba(201,162,39,.4);
 box-shadow:0 12px 24px rgba(0,0,0,.35);
}
.intel-item{
 padding:14px 16px 14px 20px;
 margin:10px 0;
 border-left:3px solid var(--gold,#c9a227);
 background:rgba(255,255,255,.02);
 border-radius:0 8px 8px 0;
 transition:background .18s,transform .18s;
}
.intel-item:hover{
 background:rgba(201,162,39,.04);
 transform:translateX(2px);
}

/* ── Audience Routing cards (.ar-card) — already partially styled ──── */
.ar-card{
 position:relative;
 display:block;
 padding:26px 22px 22px;
 background:linear-gradient(165deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%);
 border:1px solid rgba(255,255,255,.08);
 border-radius:14px;
 text-decoration:none;color:inherit;
 overflow:hidden;
 isolation:isolate;
 transition:transform .25s,border-color .22s,box-shadow .22s;
}
.ar-card::before{
 content:"";position:absolute;top:0;left:0;height:3px;width:30%;
 background:linear-gradient(90deg,var(--gold,#c9a227),rgba(201,162,39,0));
 transition:width .35s;
}
.ar-card::after{
 content:"";position:absolute;top:-50px;right:-50px;
 width:130px;height:130px;border-radius:50%;
 background:radial-gradient(circle,rgba(201,162,39,.07),transparent 70%);
 pointer-events:none;opacity:.5;transition:opacity .25s,transform .35s;
}
.ar-card:hover{
 transform:translateY(-3px);
 border-color:rgba(201,162,39,.5);
 box-shadow:0 16px 32px rgba(0,0,0,.4);
}
.ar-card:hover::before{width:100%}
.ar-card:hover::after{opacity:1;transform:scale(1.15)}
.ar-card h4{
 position:relative;z-index:2;
 font-family:var(--font-display,Georgia,serif);
 font-size:1.14rem;line-height:1.25;
 margin:0 0 10px;color:var(--w1,#fff);font-weight:700;
 letter-spacing:-.005em;
}
.ar-card p{
 position:relative;z-index:2;
 font-size:.9rem;line-height:1.55;
 color:var(--w3,#9aa3b3);margin:0 0 12px;
}

/* ── Coverage / Activity / Stat / Bar items — refined left-bar list ── */
.coverage-item,.activity-item,.bar-item{
 position:relative;
 padding:16px 18px 16px 22px;
 margin:10px 0;
 background:rgba(255,255,255,.02);
 border:1px solid rgba(255,255,255,.05);
 border-radius:0 8px 8px 0;
 transition:background .2s,border-color .2s,transform .2s;
}
.coverage-item::before,.activity-item::before,.bar-item::before{
 content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;
 background:var(--gold,#c9a227);
 border-radius:0 2px 2px 0;
}
.coverage-item:hover,.activity-item:hover,.bar-item:hover{
 background:rgba(201,162,39,.04);
 border-color:rgba(201,162,39,.2);
 transform:translateX(2px);
}

/* ── Stat Cells (small metrics) ──────────────────────────────────────── */
.stat-cell{
 text-align:center;
 padding:18px 14px 16px;
 background:rgba(255,255,255,.02);
 border:1px solid rgba(255,255,255,.06);
 border-radius:10px;
 transition:border-color .2s,background .2s;
}
.stat-cell:hover{
 border-color:rgba(201,162,39,.3);
 background:rgba(201,162,39,.03);
}

/* ── Reg Hub Panels ──────────────────────────────────────────────────── */
.reg-hub-panel{
 position:relative;
 padding:22px 22px 18px;
 background:linear-gradient(165deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%) !important;
 border:1px solid rgba(255,255,255,.08) !important;
 border-radius:12px !important;
 margin:14px 0 !important;
 transition:border-color .22s,box-shadow .22s;
}
.reg-hub-panel:hover{
 border-color:rgba(201,162,39,.35) !important;
 box-shadow:0 12px 24px rgba(0,0,0,.35);
}

/* ── Countdown card (regulatory deadlines) ──────────────────────────── */
.countdown-card{
 position:relative;
 padding:22px 22px 20px 28px;
 background:linear-gradient(90deg,rgba(192,139,78,.08),rgba(10,14,26,0));
 border:1px solid rgba(192,139,78,.25);
 border-radius:0 12px 12px 0;
 border-left:3px solid #c08b4e;
 margin:14px 0;
}

/* ── Hero Card (research/labs) ──────────────────────────────────────── */
.hero-card{
 position:relative;
 padding:32px 28px;
 background:linear-gradient(165deg,rgba(13,19,32,.95) 0%,rgba(10,14,26,1) 100%);
 border:1px solid rgba(201,162,39,.25);
 border-radius:14px;
 overflow:hidden;
 isolation:isolate;
}
.hero-card::before{
 content:"";position:absolute;top:0;left:0;right:0;height:3px;
 background:linear-gradient(90deg,var(--gold,#c9a227),var(--cyan,#5fb0c5));
}
.hero-card::after{
 content:"";position:absolute;top:-80px;right:-80px;
 width:240px;height:240px;border-radius:50%;
 background:radial-gradient(circle,rgba(201,162,39,.08),transparent 70%);
 pointer-events:none;opacity:.6;z-index:0;
}
.hero-card > *{position:relative;z-index:2}

/* ── CLAW Panel (regulatory dropdown) ───────────────────────────────── */
.claw-panel{
 position:relative;
 padding:24px 24px 20px;
 background:linear-gradient(165deg,rgba(13,19,32,.95) 0%,rgba(10,14,26,1) 100%) !important;
 border:1px solid rgba(201,162,39,.22) !important;
 border-radius:12px !important;
 overflow:hidden;
}
.claw-panel::before{
 content:"";position:absolute;top:0;left:0;right:0;height:3px;
 background:linear-gradient(90deg,var(--gold,#c9a227),rgba(201,162,39,0));
}

/* ── Skill items ─────────────────────────────────────────────────────── */
.skill-item{
 display:inline-block;
 padding:8px 14px;
 background:rgba(255,255,255,.025);
 border:1px solid rgba(255,255,255,.08);
 border-radius:8px;
 font-size:.84rem;
 color:var(--w2,#e7e9ee);
 margin:3px;
 transition:transform .15s,border-color .18s,background .18s;
}
.skill-item:hover{
 transform:translateY(-1px);
 border-color:rgba(201,162,39,.4);
 background:rgba(201,162,39,.06);
}

/* ── Trust bar items — small pill ─────────────────────────────────── */
.trust-item{
 display:inline-flex;align-items:center;gap:8px;
 padding:7px 14px;
 background:rgba(255,255,255,.025);
 border:1px solid rgba(255,255,255,.08);
 border-radius:99px;
 font-size:.78rem;color:var(--w2,#e7e9ee);
 font-weight:600;letter-spacing:.02em;
 transition:border-color .18s;
}
.trust-item:hover{border-color:rgba(201,162,39,.35)}
.trust-item .dot{
 width:7px;height:7px;border-radius:50%;
 background:var(--gold,#c9a227);
 box-shadow:0 0 8px rgba(201,162,39,.5);
}
/* PREMIER_CARDS_UNIVERSAL_20260509_END */

/* ─── MULTICOLOR_SPINES_20260509 ──────────────────────────────────────────
 Replaces single-gold spines on premier cards with vibrant multi-stop
 gradient spines for eye-catching visual impact.
 
 Palette (left → right or top → bottom):
 gold (#c9a227) → cyan (#5fb0c5) → em-orange (#c08b4e) → purple (#9f7aea) */

:root{
 --spine-rainbow-h: linear-gradient(90deg, #c9a227 0%, #5fb0c5 35%, #c08b4e 70%, #9f7aea 100%);
 --spine-rainbow-h-fade: linear-gradient(90deg, #c9a227 0%, #5fb0c5 35%, #c08b4e 70%, rgba(159,122,234,0) 100%);
 --spine-rainbow-v: linear-gradient(180deg, #c9a227 0%, #5fb0c5 35%, #c08b4e 70%, #9f7aea 100%);
 --spine-rainbow-v-fade: linear-gradient(180deg, #c9a227 0%, #5fb0c5 35%, #c08b4e 70%, rgba(159,122,234,0) 100%);
 --spine-rainbow-anim: linear-gradient(90deg, #c9a227, #5fb0c5, #c08b4e, #9f7aea, #c9a227);
}

/* Animated shimmer for spines on hover */
@keyframes spineShimmer{
 0% { background-position: 0% 50%; }
 100% { background-position: 200% 50%; }
}

/* ── .card universal — top-spine multi-color ──────────────────────────── */
.card::before{
 background:var(--spine-rainbow-h-fade) !important;
 height:3px !important;
}
.card:hover::before{
 background:var(--spine-rainbow-anim) !important;
 background-size:200% 100% !important;
 animation:spineShimmer 3s linear infinite !important;
}

/* ── .pilot-card (OT/ICS doctrine) — left vertical spine ──────────────── */
.pilot-card::before{
 background:var(--spine-rainbow-v-fade) !important;
 width:3px !important;height:auto !important;
 top:0 !important;bottom:0 !important;left:0 !important;
}
.pilot-card:hover::before{
 background:var(--spine-rainbow-anim) !important;
 background-size:100% 200% !important;
 animation:spineShimmer 3s linear infinite !important;
}

/* ── .doctrine-card — left vertical spine ──────────────────────────── */
.doctrine-card::before{
 background:var(--spine-rainbow-v-fade) !important;
}
.doctrine-card:hover::before{
 background:var(--spine-rainbow-anim) !important;
 background-size:100% 200% !important;
 animation:spineShimmer 3s linear infinite !important;
}

/* ── .ar-card (audience routing) — top-spine ──────────────────────── */
.ar-card::before{
 background:var(--spine-rainbow-h-fade) !important;
}
.ar-card:hover::before{
 background:var(--spine-rainbow-anim) !important;
 background-size:200% 100% !important;
 animation:spineShimmer 3s linear infinite !important;
}

/* ── .prod-engage-cell — top-spine ──────────────────────────────────── */
.prod-engage-cell::before{
 background:var(--spine-rainbow-h-fade) !important;
}
.prod-engage-cell:nth-child(1)::before,
.prod-engage-cell:nth-child(2)::before,
.prod-engage-cell:nth-child(3)::before{
 background:var(--spine-rainbow-h-fade) !important;
}
.prod-engage-cell:hover::before{
 background:var(--spine-rainbow-anim) !important;
 background-size:200% 100% !important;
 animation:spineShimmer 3s linear infinite !important;
}

/* ── .threat-card — keep severity-keyed but with multi-stop accent ─── */
.threat-card::before{
 background:var(--spine-rainbow-v-fade) !important;
}
.threat-card:has(.sev-critical)::before{
 background:linear-gradient(180deg,#e85d5d 0%,#c08b4e 60%,rgba(159,122,234,0) 100%) !important;
}
.threat-card:has(.sev-high)::before{
 background:linear-gradient(180deg,#c08b4e 0%,#f59e0b 60%,rgba(245,158,11,0) 100%) !important;
}
.threat-card:has(.sev-elevated)::before{
 background:linear-gradient(180deg,#f59e0b 0%,#c9a227 60%,rgba(201,162,39,0) 100%) !important;
}
.threat-card:has(.sev-moderate)::before{
 background:linear-gradient(180deg,#5fb0c5 0%,#c9a227 60%,rgba(201,162,39,0) 100%) !important;
}
.threat-card:hover::before{animation:spineShimmer 3s linear infinite !important;background-size:100% 200% !important}

/* ── .hero-card — full top rainbow bar (no fade) ─────────────────────── */
.hero-card::before{
 background:var(--spine-rainbow-h) !important;
 height:3px !important;
}

/* ── .claw-panel — top rainbow ───────────────────────────────────── */
.claw-panel::before{
 background:var(--spine-rainbow-h-fade) !important;
}

/* ── .intel-panel — top rainbow accent on hover ──────────────────── */
.intel-panel{position:relative}
.intel-panel::before{
 content:"";position:absolute;top:0;left:0;right:0;height:3px;
 background:var(--spine-rainbow-h-fade);
 opacity:.5;transition:opacity .25s,background .25s;
}
.intel-panel:hover::before{
 opacity:1;
 background:var(--spine-rainbow-anim);
 background-size:200% 100%;
 animation:spineShimmer 3s linear infinite;
}

/* ── Atlas cards — keep individual color-keyed accents (already vibrant) */
/* No override needed — atlas-card already has per-card colors */

/* ── Side-bar items (.intel-item / .coverage-item / .activity-item / .bar-item)
 — use multi-color vertical bar */
.intel-item::before,
.coverage-item::before,
.activity-item::before,
.bar-item::before{
 background:linear-gradient(180deg, #c9a227 0%, #5fb0c5 50%, #c08b4e 100%) !important;
}

/* ── Featured card — keep gold-filled emphasis but add rainbow flash on hover */
.card-featured::before,.card.card-featured::before{
 background:var(--spine-rainbow-h) !important;
 height:3px !important;width:100% !important;
}
.card-featured:hover::before,.card.card-featured:hover::before{
 background:var(--spine-rainbow-anim) !important;
 background-size:200% 100% !important;
 animation:spineShimmer 3s linear infinite !important;
}

/* Reduced motion: disable shimmer animation */
@media (prefers-reduced-motion: reduce){
 .card:hover::before,
 .pilot-card:hover::before,
 .doctrine-card:hover::before,
 .ar-card:hover::before,
 .prod-engage-cell:hover::before,
 .threat-card:hover::before,
 .intel-panel:hover::before,
 .card-featured:hover::before{
 animation:none !important;
 }
}
/* MULTICOLOR_SPINES_20260509_END */

/* ─── PROD_WHY_PREMIER_20260509 ───────────────────────────────────────────
 Premium upgrade for "Why Retain Me" 3-card section — matches the
 prod-engage / pilot-card / atlas-card premier standard. */

.prod-why{
 position:relative;
 padding:72px 0 56px !important;
 background:
 radial-gradient(ellipse 50% 30% at 50% 100%, rgba(95,176,197,.05), transparent 60%),
 linear-gradient(180deg,rgba(10,14,26,0),rgba(10,14,26,.3)) !important;
}
.prod-why .wrap{padding:0 32px;max-width:1200px;margin:0 auto}
.prod-why .prod-h-block{margin-bottom:36px;text-align:center}

.prod-why-grid{
 display:grid;
 grid-template-columns:repeat(3,1fr) !important;
 gap:20px !important;
 margin-top:40px !important;
 position:relative;
 align-items:stretch !important;
}
@media (max-width:980px){
 .prod-why-grid{grid-template-columns:1fr !important}
}

/* Premium card */
.prod-why-col{
 position:relative !important;
 display:flex;flex-direction:column;
 padding:28px 24px 24px !important;
 background:linear-gradient(165deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%) !important;
 border:1px solid rgba(201,162,39,.18) !important;
 border-radius:14px !important;
 overflow:hidden;
 transition:transform .28s cubic-bezier(.2,.8,.2,1),
 border-color .25s,
 box-shadow .25s !important;
 isolation:isolate;
}

/* Multi-color spine — top horizontal */
.prod-why-col::before{
 content:"";position:absolute;top:0;left:0;right:0;height:3px;
 background:linear-gradient(90deg,#c9a227 0%,#5fb0c5 35%,#c08b4e 70%,rgba(159,122,234,0) 100%);
 transition:opacity .25s,background .25s;
 z-index:1;
}

/* Corner gleam */
.prod-why-col::after{
 content:"";position:absolute;top:-50px;right:-50px;
 width:140px;height:140px;border-radius:50%;
 background:radial-gradient(circle,rgba(201,162,39,.07),transparent 70%);
 pointer-events:none;
 transition:opacity .25s,transform .35s;
 opacity:.6;z-index:0;
}

.prod-why-col:hover{
 transform:translateY(-3px) !important;
 border-color:rgba(201,162,39,.55) !important;
 box-shadow:0 16px 32px rgba(0,0,0,.45),
 0 0 0 1px rgba(201,162,39,.2) !important;
}
.prod-why-col:hover::before{
 background:linear-gradient(90deg,#c9a227,#5fb0c5,#c08b4e,#9f7aea,#c9a227) !important;
 background-size:200% 100% !important;
 animation:spineShimmer 3s linear infinite !important;
}
.prod-why-col:hover::after{opacity:1;transform:scale(1.15)}

/* Title — gold serif, larger */
.prod-why-col .prod-why-h{
 font-family:var(--font-display,Georgia,serif) !important;
 font-size:1.18rem !important;
 line-height:1.25 !important;
 margin:0 0 14px !important;
 color:var(--gold,#c9a227) !important;
 font-weight:700 !important;
 letter-spacing:.005em;
 position:relative;z-index:2;
}

/* Claim — primary statement, white serif */
.prod-why-col .prod-why-claim{
 margin:0 0 18px !important;
 flex:1;
 font-family:var(--font-display,Georgia,serif) !important;
 font-size:1.02rem !important;
 line-height:1.5 !important;
 color:var(--w1,#fff) !important;
 letter-spacing:-.005em;
 font-weight:500;
 text-wrap:balance;
 position:relative;z-index:2;
}

/* VS comparison — small italic muted with em-orange "vs" emphasis */
.prod-why-col .prod-why-vs{
 margin:0 !important;
 padding:14px 16px !important;
 font-size:.84rem !important;
 line-height:1.5 !important;
 color:var(--w3,#9aa3b3) !important;
 font-style:italic !important;
 background:rgba(192,139,78,.05);
 border-left:3px solid #c08b4e;
 border-radius:0 8px 8px 0;
 position:relative;z-index:2;
 margin-top:auto !important;
}
.prod-why-col .prod-why-vs strong{
 color:#c08b4e !important;
 font-style:normal !important;
 font-weight:700 !important;
 font-family:var(--mono,monospace) !important;
 font-size:.78rem !important;
 letter-spacing:.06em;
 text-transform:uppercase;
}

/* Per-card spine variants for visual variety */
.prod-why-col:nth-child(1)::before{
 background:linear-gradient(90deg,#c9a227 0%,#5fb0c5 50%,#c08b4e 100%) !important;
}
.prod-why-col:nth-child(2)::before{
 background:linear-gradient(90deg,#5fb0c5 0%,#c08b4e 50%,#9f7aea 100%) !important;
}
.prod-why-col:nth-child(3)::before{
 background:linear-gradient(90deg,#c08b4e 0%,#9f7aea 50%,#c9a227 100%) !important;
}

/* Per-card corner gleam tint */
.prod-why-col:nth-child(2)::after{background:radial-gradient(circle,rgba(95,176,197,.07),transparent 70%)}
.prod-why-col:nth-child(3)::after{background:radial-gradient(circle,rgba(192,139,78,.07),transparent 70%)}

/* Per-card hover border */
.prod-why-col:nth-child(2):hover{
 border-color:rgba(95,176,197,.55) !important;
 box-shadow:0 16px 32px rgba(0,0,0,.45), 0 0 0 1px rgba(95,176,197,.22) !important;
}
.prod-why-col:nth-child(3):hover{
 border-color:rgba(192,139,78,.55) !important;
 box-shadow:0 16px 32px rgba(0,0,0,.45), 0 0 0 1px rgba(192,139,78,.22) !important;
}
/* PROD_WHY_PREMIER_20260509_END */

/* ─── UNIVERSAL_RAINBOW_SPINES_20260509 ───────────────────────────────────
 Applies vibrant 4-stop rainbow gradient spine to EVERY card across the
 site, regardless of class. High specificity + !important so this wins
 against any prior single-color or no-spine rules.
 
 Also defensively hides any leftover "Framework NN" / "Stage NN" /
 "Paper NN" / "System NN" / "Domain NN" labels in case the live site
 still has them from a stale deploy or future regression. */

/* ── Animation keyframe (re-declared for safety) ──────────────────────── */
@keyframes spineShimmer{
 0% { background-position: 0% 50%; }
 100% { background-position: 200% 50%; }
}
@keyframes spineShimmerV{
 0% { background-position: 50% 0%; }
 100% { background-position: 50% 200%; }
}

/* ── Universal selector — all card-like classes get a spine ────────── */
section .card,
section .pilot-card,
section .doctrine-card,
section .atlas-card,
section .ar-card,
section .threat-card,
section .intel-panel,
section .impact-card,
section .prod-engage-cell,
section .prod-why-col,
section .reg-hub-panel,
section .countdown-card,
section .hero-card,
section .claw-panel,
.card,
.pilot-card,
.doctrine-card,
.atlas-card,
.ar-card,
.threat-card,
.intel-panel,
.impact-card,
.prod-engage-cell,
.prod-why-col,
.reg-hub-panel,
.countdown-card,
.hero-card,
.claw-panel,
[class*="-card"]:not(.card-featured):not([class*="-card-"]):not(.atlas-card) {
 position: relative !important;
 isolation: isolate;
 overflow: hidden !important;
}

/* ── TOP horizontal rainbow spine (default for most cards) ─────────── */
section .card::before,
section .ar-card::before,
section .impact-card::before,
section .prod-engage-cell::before,
section .prod-why-col::before,
section .reg-hub-panel::before,
section .hero-card::before,
section .claw-panel::before,
section .intel-panel::before,
section .atlas-card::before,
.card::before,
.ar-card::before,
.impact-card::before,
.prod-engage-cell::before,
.prod-why-col::before,
.reg-hub-panel::before,
.hero-card::before,
.claw-panel::before,
.intel-panel::before,
.atlas-card::before {
 content: "" !important;
 position: absolute !important;
 top: 0 !important;
 left: 0 !important;
 right: 0 !important;
 height: 3px !important;
 width: auto !important;
 background: linear-gradient(90deg,
 #c9a227 0%,
 #5fb0c5 33%,
 #c08b4e 66%,
 #9f7aea 100%) !important;
 background-size: 100% 100% !important;
 z-index: 5 !important;
 transition: background .25s, opacity .25s !important;
 opacity: .85;
 pointer-events: none !important;
}

/* ── LEFT vertical rainbow spine (cards designed with vertical spine) */
section .pilot-card::before,
section .doctrine-card::before,
section .threat-card::before,
.pilot-card::before,
.doctrine-card::before,
.threat-card::before {
 content: "" !important;
 position: absolute !important;
 top: 0 !important;
 left: 0 !important;
 bottom: 0 !important;
 right: auto !important;
 width: 3px !important;
 height: auto !important;
 background: linear-gradient(180deg,
 #c9a227 0%,
 #5fb0c5 33%,
 #c08b4e 66%,
 #9f7aea 100%) !important;
 z-index: 5 !important;
 transition: background .25s, opacity .25s !important;
 opacity: .85;
 pointer-events: none !important;
}

/* ── Hover shimmer (horizontal) ────────────────────────────────── */
section .card:hover::before,
section .ar-card:hover::before,
section .impact-card:hover::before,
section .prod-engage-cell:hover::before,
section .prod-why-col:hover::before,
section .reg-hub-panel:hover::before,
section .hero-card:hover::before,
section .claw-panel:hover::before,
section .intel-panel:hover::before,
section .atlas-card:hover::before,
.card:hover::before,
.ar-card:hover::before,
.impact-card:hover::before,
.prod-engage-cell:hover::before,
.prod-why-col:hover::before,
.reg-hub-panel:hover::before,
.hero-card:hover::before,
.claw-panel:hover::before,
.intel-panel:hover::before,
.atlas-card:hover::before {
 background: linear-gradient(90deg,
 #c9a227, #5fb0c5, #c08b4e, #9f7aea, #c9a227) !important;
 background-size: 200% 100% !important;
 opacity: 1 !important;
 animation: spineShimmer 3s linear infinite !important;
}

/* ── Hover shimmer (vertical) ──────────────────────────────────── */
section .pilot-card:hover::before,
section .doctrine-card:hover::before,
section .threat-card:hover::before,
.pilot-card:hover::before,
.doctrine-card:hover::before,
.threat-card:hover::before {
 background: linear-gradient(180deg,
 #c9a227, #5fb0c5, #c08b4e, #9f7aea, #c9a227) !important;
 background-size: 100% 200% !important;
 opacity: 1 !important;
 animation: spineShimmerV 3s linear infinite !important;
}

/* ── List items (sidebar, vertical bar) ─────────────────────────── */
section .intel-item::before,
section .coverage-item::before,
section .activity-item::before,
section .bar-item::before,
.intel-item::before,
.coverage-item::before,
.activity-item::before,
.bar-item::before {
 content: "" !important;
 position: absolute !important;
 left: 0 !important;
 top: 14px !important;
 bottom: 14px !important;
 width: 3px !important;
 background: linear-gradient(180deg, #c9a227 0%, #5fb0c5 50%, #c08b4e 100%) !important;
 border-radius: 0 2px 2px 0 !important;
}

/* ── Card-featured: full-width vibrant rainbow always ─────────── */
section .card-featured::before,
section .card.card-featured::before,
.card-featured::before,
.card.card-featured::before {
 width: 100% !important;
 background: linear-gradient(90deg,
 #c9a227, #5fb0c5, #c08b4e, #9f7aea) !important;
 opacity: 1 !important;
}

/* ── DEFENSIVE BADGE HIDE — any leftover Framework/Stage/Paper/System/Domain NN
 labels in .d-num, .pilot-num, .prod-engage-kicker, .pilot-engage-kicker
 stay hidden regardless of HTML state. */
.d-num,
.pilot-num,
.prod-engage-kicker:empty,
.prod-engage-kicker:has(:empty){
 /* Only hide if it contains a numbered pattern */
}
/* Direct hide for any element whose entire text is "Framework NN" / "Stage N" etc.
 (CSS doesn't support text-content matching, so we hide the wrapping classes used.) */
.doctrine-card .d-num,
.framework-card .d-num,
.crisis-card .d-num,
.system-card .d-num,
.domain-card .d-num{
 display:none !important;
}

/* If .d-num is followed by a known doctrine title (.d-tm), hide the .d-num */
.card .d-num + .d-tm,
.doctrine-card .d-num + .d-tm{
 margin-top:0 !important;
}
.doctrine-card .d-num{display:none !important}

/* ── Reduced motion ────────────────────────────────────── */
@media (prefers-reduced-motion: reduce){
 .card:hover::before,
 .pilot-card:hover::before,
 .doctrine-card:hover::before,
 .ar-card:hover::before,
 .prod-engage-cell:hover::before,
 .prod-why-col:hover::before,
 .threat-card:hover::before,
 .intel-panel:hover::before,
 .impact-card:hover::before,
 .reg-hub-panel:hover::before,
 .hero-card:hover::before,
 .claw-panel:hover::before,
 .atlas-card:hover::before,
 .card-featured:hover::before {
 animation: none !important;
 }
}
/* UNIVERSAL_RAINBOW_SPINES_20260509_END */

/* ─── UNIVERSAL_RAINBOW_SPINES_V2_20260509 ────────────────────────────────
 v2: extends universal rainbow spine to ALL remaining card classes:
 .testimonial, .stat-cell, .metric, .principle, .case-card, .panel,
 .reg-card, .skill-section, plus any .stat-strip cells.
 
 Strategy: blanket selector covering 30+ card-like classes to ensure
 no card is left without a vibrant rainbow spine. */

/* Animation keyframes (re-declared for safety) */
@keyframes spineShimmer{
 0% { background-position: 0% 50%; }
 100% { background-position: 200% 50%; }
}
@keyframes spineShimmerV{
 0% { background-position: 50% 0%; }
 100% { background-position: 50% 200%; }
}

/* ── Position parent for absolute spine ─────────────────────────── */
.testimonial,
.stat-cell,
.metric,
.principle,
.case-card,
.skill-section,
.cert-card,
.persona-card,
.contact-card,
.research-card,
.framework-card,
.crisis-card,
.case-study-card,
.outcome-card,
.engagement-card,
.cred-card,
.audience-card,
.persona,
.research-lab,
.lab-card,
.kpi-cell,
.kpi-card,
.metric-card,
.proof-card,
.dossier-card,
.standards-card,
.cyber-card{
 position:relative !important;
 isolation:isolate;
 overflow:hidden !important;
}

/* ── Top horizontal rainbow spine for these card types ─────────── */
.testimonial::before,
.stat-cell::before,
.metric::before,
.principle::before,
.case-card::before,
.cert-card::before,
.persona-card::before,
.contact-card::before,
.research-card::before,
.framework-card::before,
.crisis-card::before,
.case-study-card::before,
.outcome-card::before,
.engagement-card::before,
.cred-card::before,
.audience-card::before,
.persona::before,
.research-lab::before,
.lab-card::before,
.kpi-cell::before,
.kpi-card::before,
.metric-card::before,
.proof-card::before,
.dossier-card::before,
.standards-card::before,
.cyber-card::before{
 content:"" !important;
 position:absolute !important;
 top:0 !important;
 left:0 !important;
 right:0 !important;
 bottom:auto !important;
 height:3px !important;
 width:auto !important;
 background:linear-gradient(90deg,
 #c9a227 0%,
 #5fb0c5 33%,
 #c08b4e 66%,
 #9f7aea 100%) !important;
 z-index:5 !important;
 opacity:.85;
 transition:background .25s, opacity .25s !important;
 pointer-events:none !important;
}

/* ── Hover state — full saturated shimmer ────────────────────── */
.testimonial:hover::before,
.stat-cell:hover::before,
.metric:hover::before,
.principle:hover::before,
.case-card:hover::before,
.cert-card:hover::before,
.persona-card:hover::before,
.contact-card:hover::before,
.research-card:hover::before,
.framework-card:hover::before,
.crisis-card:hover::before,
.case-study-card:hover::before,
.outcome-card:hover::before,
.engagement-card:hover::before,
.cred-card:hover::before,
.audience-card:hover::before,
.persona:hover::before,
.research-lab:hover::before,
.lab-card:hover::before,
.kpi-cell:hover::before,
.kpi-card:hover::before,
.metric-card:hover::before,
.proof-card:hover::before,
.dossier-card:hover::before,
.standards-card:hover::before,
.cyber-card:hover::before{
 background:linear-gradient(90deg,#c9a227,#5fb0c5,#c08b4e,#9f7aea,#c9a227) !important;
 background-size:200% 100% !important;
 opacity:1 !important;
 animation:spineShimmer 3s linear infinite !important;
}

/* ── Premium upgrade for these previously-unstyled cards ──────── */
.testimonial{
 padding:24px 24px 20px !important;
 background:linear-gradient(165deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%) !important;
 border:1px solid rgba(201,162,39,.18) !important;
 border-radius:12px !important;
 margin:14px 0 !important;
 transition:transform .25s,border-color .22s,box-shadow .22s !important;
}
.testimonial:hover{
 transform:translateY(-2px) !important;
 border-color:rgba(201,162,39,.5) !important;
 box-shadow:0 14px 28px rgba(0,0,0,.42) !important;
}
.testimonial p{
 font-family:var(--font-display,Georgia,serif) !important;
 font-size:1rem !important;
 line-height:1.6 !important;
 color:var(--w1,#fff) !important;
 font-style:italic !important;
 margin:8px 0 16px !important;
 position:relative;
 padding-left:24px;
 text-wrap:balance;
}
.testimonial p::before{
 content:"\201C" !important; /* opening quote */
 position:absolute;
 left:0;top:-8px;
 font-family:var(--font-display,Georgia,serif);
 font-size:2.2rem;
 color:var(--gold,#c9a227);
 line-height:1;
 font-style:normal;
 font-weight:700;
 opacity:.7;
}
.testimonial-author{
 font-family:var(--mono,monospace) !important;
 font-size:.8rem !important;
 letter-spacing:.06em !important;
 color:var(--gold,#c9a227) !important;
 font-weight:700 !important;
 margin-top:12px !important;
 padding-top:10px !important;
 border-top:1px solid rgba(201,162,39,.16) !important;
}
.testimonial-title{
 font-family:var(--mono,monospace) !important;
 font-size:.72rem !important;
 letter-spacing:.06em !important;
 color:var(--w3,#9aa3b3) !important;
 text-transform:uppercase;
 margin-top:2px !important;
}

/* ── Stat cell premium ────────────────────────────────────── */
.stat-cell{
 padding:24px 18px 20px !important;
 background:linear-gradient(165deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%) !important;
 border:1px solid rgba(255,255,255,.08) !important;
 border-radius:12px !important;
 text-align:center !important;
 transition:transform .25s,border-color .22s,box-shadow .22s !important;
}
.stat-cell:hover{
 transform:translateY(-2px) !important;
 border-color:rgba(201,162,39,.45) !important;
 box-shadow:0 12px 24px rgba(0,0,0,.4) !important;
}
.stat-num{
 font-family:var(--font-display,Georgia,serif) !important;
 font-size:clamp(2rem,3.6vw,2.6rem) !important;
 font-weight:700 !important;
 line-height:1 !important;
 margin:8px 0 6px !important;
 color:var(--gold,#c9a227) !important;
 font-variant-numeric:tabular-nums !important;
 letter-spacing:-.01em;
}
.stat-num.em { color:#c08b4e !important; }
.stat-num.cyan { color:var(--cyan,#5fb0c5) !important; }
.stat-num.gold { color:var(--gold,#c9a227) !important; }
.stat-lbl{
 font-size:.78rem !important;
 letter-spacing:.14em !important;
 text-transform:uppercase;
 color:var(--w2,#e7e9ee) !important;
 font-weight:600 !important;
 margin-bottom:6px !important;
}
.stat-sub{
 font-size:.74rem !important;
 color:var(--w4,#55657A) !important;
 letter-spacing:.02em;
 line-height:1.45;
}
.stat-strip{
 display:grid !important;
 grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) !important;
 gap:18px !important;
 margin:18px 0 !important;
}

/* ── .principle — governing principle cards ────────────────── */
.principle{
 padding:22px 22px 18px !important;
 background:linear-gradient(165deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%) !important;
 border:1px solid rgba(201,162,39,.18) !important;
 border-radius:12px !important;
 transition:transform .25s,border-color .22s !important;
}
.principle:hover{transform:translateY(-2px) !important;border-color:rgba(201,162,39,.5) !important}
.principle q{
 display:block;
 font-family:var(--font-display,Georgia,serif) !important;
 font-size:1.05rem !important;
 line-height:1.5 !important;
 color:var(--w1,#fff) !important;
 font-style:italic !important;
 margin-bottom:10px !important;
 text-wrap:balance;
}
.principle q::before{content:"\201C"}
.principle q::after{content:"\201D"}
.principle cite{
 font-family:var(--mono,monospace) !important;
 font-size:.78rem !important;
 letter-spacing:.06em !important;
 color:var(--gold,#c9a227) !important;
 font-weight:700 !important;
 font-style:normal;
}

/* ── .metric — small generic metric box ─────────────────────── */
.metric{
 padding:14px 16px !important;
 background:rgba(255,255,255,.025) !important;
 border:1px solid rgba(255,255,255,.06) !important;
 border-radius:8px !important;
 transition:border-color .2s, transform .2s !important;
}
.metric:hover{border-color:rgba(201,162,39,.35) !important;transform:translateY(-1px)}

/* ── Reduced motion ─────────────────────────────── */
@media (prefers-reduced-motion: reduce){
 .testimonial:hover::before,
 .stat-cell:hover::before,
 .metric:hover::before,
 .principle:hover::before,
 .case-card:hover::before,
 .cert-card:hover::before{
 animation:none !important;
 }
}
/* UNIVERSAL_RAINBOW_SPINES_V2_20260509_END */

/* ─── SKILL_CATEGORY_PREMIER_20260509 ─────────────────────────────────────
 Premier upgrade for .skill-category cards in the Skills Matrix grid.
 Each category card gets the rainbow spine + premier treatment matching
 pilot-card / atlas-card / doctrine-card. */

/* Skills matrix container */
.skills-matrix{margin-top:18px}

/* Filter button pills */
.skills-filter{
 display:flex;flex-wrap:wrap;gap:8px;
 padding:14px 0 18px;
 margin-bottom:18px;
 border-bottom:1px solid rgba(255,255,255,.08);
}
.filter-btn{
 display:inline-block;
 padding:8px 16px;
 background:rgba(255,255,255,.025);
 border:1px solid rgba(255,255,255,.1);
 border-radius:99px;
 color:var(--w2,#e7e9ee);
 font-family:var(--mono,monospace);
 font-size:.74rem;letter-spacing:.06em;
 font-weight:600;text-transform:uppercase;
 cursor:pointer;
 transition:all .18s;
}
.filter-btn:hover{
 border-color:rgba(201,162,39,.4);
 background:rgba(201,162,39,.06);
 color:var(--gold,#c9a227);
 transform:translateY(-1px);
}
.filter-btn.active{
 background:rgba(201,162,39,.14);
 border-color:rgba(201,162,39,.5);
 color:var(--gold,#c9a227);
}

/* Skills grid (3 cols on wide, 2 on tablet, 1 on mobile) */
.skills-grid{
 display:grid !important;
 grid-template-columns:repeat(3,1fr) !important;
 gap:18px !important;
 margin-top:24px;
}
@media (max-width:980px){.skills-grid{grid-template-columns:repeat(2,1fr) !important}}
@media (max-width:560px){.skills-grid{grid-template-columns:1fr !important}}

/* CATEGORY CARD — premier with rainbow spine */
.skill-category{
 position:relative !important;
 display:flex;flex-direction:column;
 padding:24px 22px 22px !important;
 background:linear-gradient(165deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%) !important;
 border:1px solid rgba(201,162,39,.18) !important;
 border-radius:14px !important;
 overflow:hidden !important;
 isolation:isolate;
 transition:transform .28s cubic-bezier(.2,.8,.2,1),
 border-color .25s,
 box-shadow .25s !important;
 min-height:200px;
}

/* Top horizontal rainbow spine */
.skill-category::before{
 content:"" !important;
 position:absolute !important;
 top:0 !important;left:0 !important;right:0 !important;
 height:3px !important;
 background:linear-gradient(90deg,#c9a227 0%,#5fb0c5 33%,#c08b4e 66%,#9f7aea 100%) !important;
 z-index:5 !important;
 transition:background .25s,opacity .25s !important;
 opacity:.85;
 pointer-events:none !important;
}

/* Corner gleam */
.skill-category::after{
 content:"" !important;
 position:absolute !important;
 top:-50px !important;right:-50px !important;
 width:140px !important;height:140px !important;border-radius:50% !important;
 background:radial-gradient(circle,rgba(201,162,39,.07),transparent 70%) !important;
 pointer-events:none !important;
 transition:opacity .25s,transform .35s !important;
 opacity:.6;z-index:0 !important;
}

.skill-category:hover{
 transform:translateY(-3px) !important;
 border-color:rgba(201,162,39,.55) !important;
 box-shadow:0 16px 32px rgba(0,0,0,.45),
 0 0 0 1px rgba(201,162,39,.2) !important;
}
.skill-category:hover::before{
 background:linear-gradient(90deg,#c9a227,#5fb0c5,#c08b4e,#9f7aea,#c9a227) !important;
 background-size:200% 100% !important;
 opacity:1 !important;
 animation:spineShimmer 3s linear infinite !important;
}
.skill-category:hover::after{opacity:1;transform:scale(1.15)}

/* Category name (h5) */
.skill-category h5{
 font-family:var(--font-display,Georgia,serif) !important;
 font-size:1.12rem !important;
 line-height:1.2 !important;
 margin:0 0 16px !important;
 padding-bottom:10px !important;
 border-bottom:1px solid rgba(201,162,39,.18) !important;
 color:var(--gold,#c9a227) !important;
 font-weight:700 !important;
 letter-spacing:.005em;
 position:relative;z-index:2;
}

/* Skill chip list inside */
.skill-category .skill-list{
 display:flex !important;
 flex-wrap:wrap !important;
 gap:6px !important;
 position:relative;z-index:2;
}

/* Each skill-item — small chip */
.skill-category .skill-item{
 display:inline-block !important;
 padding:6px 11px !important;
 background:rgba(255,255,255,.03) !important;
 border:1px solid rgba(255,255,255,.08) !important;
 border-radius:99px !important;
 font-family:var(--mono,monospace) !important;
 font-size:.72rem !important;
 letter-spacing:.04em !important;
 color:var(--w2,#e7e9ee) !important;
 font-weight:600 !important;
 transition:transform .15s,border-color .18s,background .18s,color .18s;
 margin:0 !important;
 cursor:default;
}
.skill-category .skill-item:hover{
 transform:translateY(-1px);
 border-color:rgba(201,162,39,.45) !important;
 background:rgba(201,162,39,.08) !important;
 color:var(--gold,#c9a227) !important;
}

/* Per-card spine variants — rotate colours per category */
.skill-category:nth-child(1)::before{background:linear-gradient(90deg,#c9a227 0%,#5fb0c5 50%,#c08b4e 100%) !important}
.skill-category:nth-child(2)::before{background:linear-gradient(90deg,#5fb0c5 0%,#c08b4e 50%,#9f7aea 100%) !important}
.skill-category:nth-child(3)::before{background:linear-gradient(90deg,#c08b4e 0%,#9f7aea 50%,#c9a227 100%) !important}
.skill-category:nth-child(4)::before{background:linear-gradient(90deg,#9f7aea 0%,#c9a227 50%,#5fb0c5 100%) !important}
.skill-category:nth-child(5)::before{background:linear-gradient(90deg,#10b981 0%,#5fb0c5 50%,#c9a227 100%) !important}
.skill-category:nth-child(6)::before{background:linear-gradient(90deg,#e85d5d 0%,#c08b4e 50%,#c9a227 100%) !important}
.skill-category:nth-child(7)::before{background:linear-gradient(90deg,#f59e0b 0%,#c9a227 50%,#5fb0c5 100%) !important}

/* Per-card hover border colour matches first stop of spine */
.skill-category:nth-child(2):hover{border-color:rgba(95,176,197,.55) !important;box-shadow:0 16px 32px rgba(0,0,0,.45),0 0 0 1px rgba(95,176,197,.22) !important}
.skill-category:nth-child(3):hover{border-color:rgba(192,139,78,.55) !important;box-shadow:0 16px 32px rgba(0,0,0,.45),0 0 0 1px rgba(192,139,78,.22) !important}
.skill-category:nth-child(4):hover{border-color:rgba(159,122,234,.55) !important;box-shadow:0 16px 32px rgba(0,0,0,.45),0 0 0 1px rgba(159,122,234,.22) !important}
.skill-category:nth-child(5):hover{border-color:rgba(16,185,129,.55) !important;box-shadow:0 16px 32px rgba(0,0,0,.45),0 0 0 1px rgba(16,185,129,.22) !important}
.skill-category:nth-child(6):hover{border-color:rgba(232,93,93,.55) !important;box-shadow:0 16px 32px rgba(0,0,0,.45),0 0 0 1px rgba(232,93,93,.22) !important}
.skill-category:nth-child(7):hover{border-color:rgba(245,158,11,.55) !important;box-shadow:0 16px 32px rgba(0,0,0,.45),0 0 0 1px rgba(245,158,11,.22) !important}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
 .skill-category:hover::before{animation:none !important}
}
/* SKILL_CATEGORY_PREMIER_20260509_END */

/* ─── REG_CARD_PREMIER_20260509 ─────────────────────────────────────────
 Premier upgrade for .reg-card-otf cards in the OT/ICS Regulatory
 Framework Coverage grid on regulatory-delivery page. Apply rainbow
 spine + premium card treatment with refined paper-list rendering. */

/* Section */
.otf-reg-section{
 padding:48px 0 36px !important;
 border-top:1px solid rgba(255,255,255,.06) !important;
}
.otf-reg-section .wrap{padding:0 32px;max-width:1280px;margin:0 auto}

/* Section heading area */
.otf-reg-section h2{
 font-family:var(--font-display,Georgia,serif) !important;
 font-size:clamp(1.6rem,2.8vw,2.2rem) !important;
 margin:0 0 12px !important;
 color:var(--w1,#fff) !important;
}
.otf-reg-section .lead,
.otf-reg-section > .wrap > p{
 font-size:.96rem !important;line-height:1.55 !important;
 color:var(--w3,#9aa3b3) !important;max-width:80ch !important;
 margin:0 auto 36px !important;
}

/* Reg-card grid */
.otf-reg-section .reg-card-grid,
.otf-reg-section > .wrap > .grid,
.otf-reg-section > .wrap > [class*="grid"]:not(.no-grid){
 display:grid !important;
 grid-template-columns:repeat(auto-fill,minmax(320px,1fr)) !important;
 gap:18px !important;
 margin-top:18px !important;
}

/* CARD — rainbow spine + premier */
.reg-card-otf{
 position:relative !important;
 display:flex !important;flex-direction:column !important;
 padding:24px 22px 22px !important;
 background:linear-gradient(165deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%) !important;
 border:1px solid rgba(201,162,39,.18) !important;
 border-radius:14px !important;
 overflow:hidden !important;
 isolation:isolate;
 transition:transform .28s cubic-bezier(.2,.8,.2,1),
 border-color .25s,
 box-shadow .25s !important;
 min-height:240px;
}

/* Top horizontal rainbow spine */
.reg-card-otf::before{
 content:"" !important;
 position:absolute !important;
 top:0 !important;left:0 !important;right:0 !important;
 height:3px !important;
 background:linear-gradient(90deg,#c9a227 0%,#5fb0c5 33%,#c08b4e 66%,#9f7aea 100%) !important;
 z-index:5 !important;opacity:.85;
 transition:background .25s,opacity .25s !important;
 pointer-events:none !important;
}

/* Corner gleam */
.reg-card-otf::after{
 content:"" !important;
 position:absolute !important;
 top:-50px !important;right:-50px !important;
 width:140px !important;height:140px !important;border-radius:50% !important;
 background:radial-gradient(circle,rgba(201,162,39,.08),transparent 70%) !important;
 opacity:.6;transition:opacity .25s,transform .35s !important;
 pointer-events:none !important;z-index:0 !important;
}

.reg-card-otf:hover{
 transform:translateY(-3px) !important;
 border-color:rgba(201,162,39,.55) !important;
 box-shadow:0 16px 32px rgba(0,0,0,.45),
 0 0 0 1px rgba(201,162,39,.2) !important;
}
.reg-card-otf:hover::before{
 background:linear-gradient(90deg,#c9a227,#5fb0c5,#c08b4e,#9f7aea,#c9a227) !important;
 background-size:200% 100% !important;
 opacity:1 !important;
 animation:spineShimmer 3s linear infinite !important;
}
.reg-card-otf:hover::after{opacity:1;transform:scale(1.15)}

/* Title (regulator name) */
.reg-card-otf .reg-card-name{
 font-family:var(--font-display,Georgia,serif) !important;
 font-size:1.32rem !important;
 font-weight:700 !important;
 line-height:1.2 !important;
 color:var(--gold,#c9a227) !important;
 letter-spacing:-.005em;
 margin:0 0 10px !important;
 position:relative;z-index:2;
}

/* Paper count badge */
.reg-card-otf .reg-card-count{
 display:inline-block !important;
 padding:4px 12px !important;
 font-family:var(--mono,monospace) !important;
 font-size:.72rem !important;
 letter-spacing:.1em !important;
 text-transform:uppercase !important;
 background:rgba(95,176,197,.1) !important;
 color:var(--cyan,#5fb0c5) !important;
 border:1px solid rgba(95,176,197,.3) !important;
 border-radius:99px !important;
 font-weight:700 !important;
 margin-bottom:14px !important;
 align-self:flex-start;
 position:relative;z-index:2;
}

/* Paper list */
.reg-card-otf .reg-card-list{
 margin:0 !important;
 padding:0 !important;
 list-style:none !important;
 flex:1;
 display:flex;flex-direction:column;gap:6px;
 position:relative;z-index:2;
 border-top:1px solid rgba(255,255,255,.06);
 padding-top:12px !important;
 margin-top:6px !important;
}
.reg-card-otf .reg-card-list li{
 margin:0 !important;
 padding:0 !important;
 font-size:.86rem !important;
 line-height:1.4 !important;
 border-bottom:none !important;
}
.reg-card-otf .reg-card-list a{
 display:block;
 padding:6px 0 !important;
 color:var(--w2,#e7e9ee) !important;
 text-decoration:none !important;
 font-family:var(--font-base,system-ui) !important;
 border-bottom:1px solid rgba(255,255,255,.04) !important;
 transition:color .15s,padding-left .15s,border-color .15s;
}
.reg-card-otf .reg-card-list li:last-child a{border-bottom:none !important}
.reg-card-otf .reg-card-list a:hover{
 color:var(--gold,#c9a227) !important;
 padding-left:8px !important;
 border-color:rgba(201,162,39,.25) !important;
}

/* "+N more" link styled distinctly */
.reg-card-otf .reg-card-list li:has(a[href*="more"]) a,
.reg-card-otf .reg-card-list .reg-card-more{
 font-style:italic;
 color:var(--w4,#55657A) !important;
 font-size:.8rem !important;
 margin-top:6px;
}

/* Per-card spine variants for visual variety (cycle through 8 colour combos) */
.reg-card-otf:nth-child(1)::before{background:linear-gradient(90deg,#c9a227 0%,#5fb0c5 50%,#c08b4e 100%) !important}
.reg-card-otf:nth-child(2)::before{background:linear-gradient(90deg,#5fb0c5 0%,#c08b4e 50%,#9f7aea 100%) !important}
.reg-card-otf:nth-child(3)::before{background:linear-gradient(90deg,#c08b4e 0%,#9f7aea 50%,#c9a227 100%) !important}
.reg-card-otf:nth-child(4)::before{background:linear-gradient(90deg,#9f7aea 0%,#c9a227 50%,#5fb0c5 100%) !important}
.reg-card-otf:nth-child(5)::before{background:linear-gradient(90deg,#10b981 0%,#5fb0c5 50%,#c9a227 100%) !important}
.reg-card-otf:nth-child(6)::before{background:linear-gradient(90deg,#e85d5d 0%,#c08b4e 50%,#c9a227 100%) !important}
.reg-card-otf:nth-child(7)::before{background:linear-gradient(90deg,#f59e0b 0%,#c9a227 50%,#5fb0c5 100%) !important}
.reg-card-otf:nth-child(8)::before{background:linear-gradient(90deg,#5fb0c5 0%,#9f7aea 50%,#10b981 100%) !important}
.reg-card-otf:nth-child(9)::before{background:linear-gradient(90deg,#c9a227 0%,#10b981 50%,#5fb0c5 100%) !important}
.reg-card-otf:nth-child(10)::before{background:linear-gradient(90deg,#9f7aea 0%,#e85d5d 50%,#c08b4e 100%) !important}
.reg-card-otf:nth-child(11)::before{background:linear-gradient(90deg,#f59e0b 0%,#e85d5d 50%,#9f7aea 100%) !important}

/* Per-card hover border colour matches first stop */
.reg-card-otf:nth-child(2):hover{border-color:rgba(95,176,197,.55) !important;box-shadow:0 16px 32px rgba(0,0,0,.45),0 0 0 1px rgba(95,176,197,.22) !important}
.reg-card-otf:nth-child(3):hover{border-color:rgba(192,139,78,.55) !important;box-shadow:0 16px 32px rgba(0,0,0,.45),0 0 0 1px rgba(192,139,78,.22) !important}
.reg-card-otf:nth-child(4):hover{border-color:rgba(159,122,234,.55) !important;box-shadow:0 16px 32px rgba(0,0,0,.45),0 0 0 1px rgba(159,122,234,.22) !important}
.reg-card-otf:nth-child(5):hover{border-color:rgba(16,185,129,.55) !important;box-shadow:0 16px 32px rgba(0,0,0,.45),0 0 0 1px rgba(16,185,129,.22) !important}
.reg-card-otf:nth-child(6):hover{border-color:rgba(232,93,93,.55) !important;box-shadow:0 16px 32px rgba(0,0,0,.45),0 0 0 1px rgba(232,93,93,.22) !important}
.reg-card-otf:nth-child(7):hover{border-color:rgba(245,158,11,.55) !important;box-shadow:0 16px 32px rgba(0,0,0,.45),0 0 0 1px rgba(245,158,11,.22) !important}
.reg-card-otf:nth-child(8):hover{border-color:rgba(95,176,197,.55) !important;box-shadow:0 16px 32px rgba(0,0,0,.45),0 0 0 1px rgba(95,176,197,.22) !important}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
 .reg-card-otf:hover::before{animation:none !important}
}
/* REG_CARD_PREMIER_20260509_END */

/* ─── BIG4_MEDIA_PREMIER_20260509 ─────────────────────────────────────────
 Premier upgrade for .big4 Governance Lineage strip and .media-strip
 Research & Publications strip on homepage. Both get the rainbow spine,
 glassy surface, refined typography, and chip styling for items. */

/* Animation keyframes (re-declared for safety) */
@keyframes spineShimmer{
 0% { background-position: 0% 50%; }
 100% { background-position: 200% 50%; }
}

/* ── BIG 4 — Governance Lineage strip ─────────────────────────────── */
.big4{
 position:relative !important;
 display:flex !important;
 flex-wrap:wrap !important;
 align-items:center !important;
 gap:18px 24px !important;
 max-width:1200px !important;
 margin:32px auto !important;
 padding:24px 28px !important;
 background:linear-gradient(165deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%) !important;
 border:1px solid rgba(201,162,39,.18) !important;
 border-radius:14px !important;
 overflow:hidden !important;
 isolation:isolate;
 transition:transform .28s,border-color .25s,box-shadow .25s !important;
}
.big4::before{
 content:"" !important;
 position:absolute !important;
 top:0 !important;left:0 !important;right:0 !important;
 height:3px !important;
 background:linear-gradient(90deg,#c9a227 0%,#5fb0c5 33%,#c08b4e 66%,#9f7aea 100%) !important;
 z-index:5 !important;opacity:.85;
 transition:background .25s,opacity .25s !important;
 pointer-events:none !important;
}
.big4::after{
 content:"" !important;
 position:absolute !important;
 top:-50px !important;right:-50px !important;
 width:140px !important;height:140px !important;border-radius:50% !important;
 background:radial-gradient(circle,rgba(201,162,39,.08),transparent 70%) !important;
 opacity:.6;transition:opacity .25s,transform .35s !important;
 pointer-events:none !important;z-index:0 !important;
}
.big4:hover{
 transform:translateY(-2px) !important;
 border-color:rgba(201,162,39,.5) !important;
 box-shadow:0 14px 28px rgba(0,0,0,.42),0 0 0 1px rgba(201,162,39,.18) !important;
}
.big4:hover::before{
 background:linear-gradient(90deg,#c9a227,#5fb0c5,#c08b4e,#9f7aea,#c9a227) !important;
 background-size:200% 100% !important;
 opacity:1 !important;
 animation:spineShimmer 3s linear infinite !important;
}
.big4:hover::after{opacity:1;transform:scale(1.15)}

/* "Governance Lineage" label — gold mono caps */
.big4 .label{
 display:inline-block !important;
 font-family:var(--mono,monospace) !important;
 font-size:.7rem !important;
 letter-spacing:.18em !important;
 text-transform:uppercase !important;
 color:var(--gold,#c9a227) !important;
 font-weight:700 !important;
 position:relative;z-index:2;
 padding-right:14px;
 margin-right:6px;
 border-right:1px solid rgba(201,162,39,.25);
}

/* Big-4 firm names — premier chips */
.big4 .name{
 display:inline-block !important;
 padding:8px 16px !important;
 background:rgba(255,255,255,.025) !important;
 border:1px solid rgba(255,255,255,.1) !important;
 border-radius:99px !important;
 font-family:var(--font-display,Georgia,serif) !important;
 font-size:.96rem !important;
 font-weight:700 !important;
 letter-spacing:.005em;
 color:var(--w1,#fff) !important;
 position:relative;z-index:2;
 transition:transform .15s,border-color .18s,background .18s,color .18s;
 cursor:default;
}
.big4 .name:hover{
 transform:translateY(-1px);
 border-color:rgba(201,162,39,.5) !important;
 background:rgba(201,162,39,.08) !important;
 color:var(--gold,#c9a227) !important;
}

/* Hide the old separators — chips no longer need them */
.big4 .big4-sep{display:none !important}

/* ── MEDIA STRIP — Research & Publications ───────────────────────── */
.media-strip{
 position:relative !important;
 margin:32px auto !important;
 padding:0 !important;
 isolation:isolate;
}
.media-strip .media-inner{
 position:relative !important;
 display:flex !important;
 flex-wrap:wrap !important;
 align-items:center !important;
 gap:14px 18px !important;
 max-width:1200px !important;
 margin:0 auto !important;
 padding:24px 28px !important;
 background:linear-gradient(165deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%) !important;
 border:1px solid rgba(95,176,197,.18) !important;
 border-radius:14px !important;
 overflow:hidden !important;
 transition:transform .28s,border-color .25s,box-shadow .25s !important;
}
.media-strip .media-inner::before{
 content:"" !important;
 position:absolute !important;
 top:0 !important;left:0 !important;right:0 !important;
 height:3px !important;
 background:linear-gradient(90deg,#5fb0c5 0%,#c9a227 33%,#9f7aea 66%,#c08b4e 100%) !important;
 z-index:5 !important;opacity:.85;
 transition:background .25s,opacity .25s !important;
 pointer-events:none !important;
}
.media-strip .media-inner::after{
 content:"" !important;
 position:absolute !important;
 top:-50px !important;right:-50px !important;
 width:140px !important;height:140px !important;border-radius:50% !important;
 background:radial-gradient(circle,rgba(95,176,197,.08),transparent 70%) !important;
 opacity:.6;transition:opacity .25s,transform .35s !important;
 pointer-events:none !important;z-index:0 !important;
}
.media-strip .media-inner:hover{
 transform:translateY(-2px) !important;
 border-color:rgba(95,176,197,.5) !important;
 box-shadow:0 14px 28px rgba(0,0,0,.42),0 0 0 1px rgba(95,176,197,.18) !important;
}
.media-strip .media-inner:hover::before{
 background:linear-gradient(90deg,#5fb0c5,#c9a227,#9f7aea,#c08b4e,#5fb0c5) !important;
 background-size:200% 100% !important;
 opacity:1 !important;
 animation:spineShimmer 3s linear infinite !important;
}
.media-strip .media-inner:hover::after{opacity:1;transform:scale(1.15)}

/* "Research & Publications" label — cyan mono caps */
.media-strip .media-inner .label{
 display:inline-block !important;
 font-family:var(--mono,monospace) !important;
 font-size:.7rem !important;
 letter-spacing:.18em !important;
 text-transform:uppercase !important;
 color:var(--cyan,#5fb0c5) !important;
 font-weight:700 !important;
 position:relative;z-index:2;
 padding-right:14px;
 margin-right:4px;
 border-right:1px solid rgba(95,176,197,.25);
}

/* Each .pub item — premier chip with bullet */
.media-strip .pub{
 display:inline-flex !important;
 align-items:center !important;
 gap:8px !important;
 padding:7px 14px !important;
 background:rgba(255,255,255,.025) !important;
 border:1px solid rgba(255,255,255,.1) !important;
 border-radius:99px !important;
 font-size:.84rem !important;
 font-weight:600 !important;
 color:var(--w2,#e7e9ee) !important;
 letter-spacing:.005em;
 position:relative;z-index:2;
 transition:transform .15s,border-color .18s,background .18s,color .18s;
 cursor:default;
}
.media-strip .pub::before{
 content:"" !important;
 display:inline-block;
 width:6px;height:6px;border-radius:50%;
 background:var(--cyan,#5fb0c5);
 flex-shrink:0;
}
.media-strip .pub:hover{
 transform:translateY(-1px);
 border-color:rgba(95,176,197,.45) !important;
 background:rgba(95,176,197,.06) !important;
 color:var(--cyan,#5fb0c5) !important;
}

/* Per-pub bullet color rotation for visual variety */
.media-strip .pub:nth-of-type(1)::before{background:#c9a227}
.media-strip .pub:nth-of-type(2)::before{background:#5fb0c5}
.media-strip .pub:nth-of-type(3)::before{background:#c08b4e}
.media-strip .pub:nth-of-type(4)::before{background:#9f7aea}
.media-strip .pub:nth-of-type(5)::before{background:#10b981}
.media-strip .pub:nth-of-type(6)::before{background:#e85d5d}

/* Mobile — tighter padding */
@media (max-width:560px){
 .big4,
 .media-strip .media-inner{
 padding:18px 18px !important;
 gap:10px 12px !important;
 }
 .big4 .label,
 .media-strip .media-inner .label{
 border-right:none !important;
 padding-right:0;
 width:100%;
 margin-bottom:6px;
 }
 .big4 .name,
 .media-strip .pub{
 font-size:.82rem !important;
 padding:6px 12px !important;
 }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
 .big4:hover::before,
 .media-strip .media-inner:hover::before{animation:none !important}
}
/* BIG4_MEDIA_PREMIER_20260509_END */

/* ─── DOCTRINE_TAGS_BULLETPROOF_20260509 ──────────────────────────────────
 Hardened styling for the .tag pills inside doctrine-card / framework-card
 etc. so they always render as distinct colored chips with proper spacing,
 regardless of inherited rules or specificity battles. */

/* Force .mini flex container with gap */
.card .mini,
.doctrine-card .mini,
.framework-card .mini,
.crisis-card .mini,
[class*="-card"] .mini{
 display:flex !important;
 flex-wrap:wrap !important;
 gap:6px 8px !important;
 align-items:center !important;
 padding-top:14px !important;
 margin-top:auto !important;
 border-top:1px solid rgba(255,255,255,.06);
}

/* Default .tag pill */
.card .mini .tag,
.doctrine-card .mini .tag,
.framework-card .mini .tag,
.crisis-card .mini .tag,
[class*="-card"] .mini .tag,
.mini .tag{
 display:inline-flex !important;
 align-items:center !important;
 padding:4px 11px !important;
 border-radius:99px !important;
 font-family:var(--mono,monospace) !important;
 font-size:.66rem !important;
 letter-spacing:.1em !important;
 text-transform:uppercase !important;
 font-weight:700 !important;
 border:1px solid rgba(255,255,255,.14) !important;
 color:var(--w2,#e7e9ee) !important;
 background:rgba(255,255,255,.025) !important;
 white-space:nowrap !important;
 line-height:1.2 !important;
 transition:transform .15s,border-color .18s,background .18s;
 cursor:default;
}
.mini .tag:hover{
 transform:translateY(-1px);
 border-color:rgba(201,162,39,.45) !important;
 background:rgba(201,162,39,.08) !important;
 color:var(--gold,#c9a227) !important;
}

/* Color variants — keep existing classes working with stronger styles */
.mini .tag.gold{
 background:rgba(201,162,39,.12) !important;
 border-color:rgba(201,162,39,.4) !important;
 color:var(--gold,#c9a227) !important;
}
.mini .tag.gold:hover{
 background:var(--gold,#c9a227) !important;
 color:#0a0e1a !important;
 border-color:var(--gold,#c9a227) !important;
}
.mini .tag.cyan{
 background:rgba(95,176,197,.12) !important;
 border-color:rgba(95,176,197,.4) !important;
 color:var(--cyan,#5fb0c5) !important;
}
.mini .tag.cyan:hover{
 background:var(--cyan,#5fb0c5) !important;
 color:#0a0e1a !important;
 border-color:var(--cyan,#5fb0c5) !important;
}
.mini .tag.em{
 background:rgba(192,139,78,.12) !important;
 border-color:rgba(192,139,78,.4) !important;
 color:#c08b4e !important;
}
.mini .tag.em:hover{
 background:#c08b4e !important;
 color:#0a0e1a !important;
 border-color:#c08b4e !important;
}

/* Auto-rainbow for unclassed tags — rotates colors per position */
.mini .tag:not(.gold):not(.cyan):not(.em):nth-child(1){
 background:rgba(201,162,39,.08) !important;
 border-color:rgba(201,162,39,.3) !important;
 color:var(--gold,#c9a227) !important;
}
.mini .tag:not(.gold):not(.cyan):not(.em):nth-child(2){
 background:rgba(95,176,197,.08) !important;
 border-color:rgba(95,176,197,.3) !important;
 color:var(--cyan,#5fb0c5) !important;
}
.mini .tag:not(.gold):not(.cyan):not(.em):nth-child(3){
 background:rgba(192,139,78,.08) !important;
 border-color:rgba(192,139,78,.3) !important;
 color:#c08b4e !important;
}
.mini .tag:not(.gold):not(.cyan):not(.em):nth-child(4){
 background:rgba(159,122,234,.08) !important;
 border-color:rgba(159,122,234,.3) !important;
 color:#9f7aea !important;
}
.mini .tag:not(.gold):not(.cyan):not(.em):nth-child(5){
 background:rgba(16,185,129,.08) !important;
 border-color:rgba(16,185,129,.3) !important;
 color:#10b981 !important;
}
.mini .tag:not(.gold):not(.cyan):not(.em):nth-child(6){
 background:rgba(245,158,11,.08) !important;
 border-color:rgba(245,158,11,.3) !important;
 color:#f59e0b !important;
}
/* DOCTRINE_TAGS_BULLETPROOF_20260509_END */

/* ─── ACTIVITY_TIMELINE_PREMIER_20260509 ─────────────────────────────────
 Premier upgrade for .activity-item timeline cards (Doctrine Development
 Timeline). Cards have inline styles on inner div that override class
 CSS — this block uses high specificity + !important to apply rainbow
 spine and refined chip styling. */

/* The outer .activity-item is a flex with bullet on left + card on right.
 The CARD is the second child div — a div with inline `style="flex:1;..."`. */

.activity-item{
 position:relative !important;
 isolation:isolate;
}

/* Target the inner inline-styled card */
.activity-item > div[style*="flex:1"]{
 position:relative !important;
 background:linear-gradient(165deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%) !important;
 border:1px solid rgba(201,162,39,.22) !important;
 border-radius:12px !important;
 padding:22px 24px 20px !important;
 overflow:hidden !important;
 isolation:isolate;
 transition:transform .25s,border-color .22s,box-shadow .22s !important;
}

/* Top horizontal rainbow spine */
.activity-item > div[style*="flex:1"]::before{
 content:"" !important;
 position:absolute !important;
 top:0 !important;left:0 !important;right:0 !important;
 height:3px !important;
 background:linear-gradient(90deg,#c9a227 0%,#5fb0c5 33%,#c08b4e 66%,#9f7aea 100%) !important;
 z-index:5 !important;opacity:.85;
 transition:background .25s,opacity .25s !important;
 pointer-events:none !important;
}

/* Corner gleam */
.activity-item > div[style*="flex:1"]::after{
 content:"" !important;
 position:absolute !important;
 top:-50px !important;right:-50px !important;
 width:130px !important;height:130px !important;border-radius:50% !important;
 background:radial-gradient(circle,rgba(201,162,39,.06),transparent 70%) !important;
 opacity:.5;transition:opacity .25s,transform .35s !important;
 pointer-events:none !important;z-index:0 !important;
}

.activity-item:hover > div[style*="flex:1"]{
 transform:translateY(-2px) !important;
 border-color:rgba(201,162,39,.55) !important;
 box-shadow:0 14px 28px rgba(0,0,0,.42),0 0 0 1px rgba(201,162,39,.18) !important;
}
.activity-item:hover > div[style*="flex:1"]::before{
 background:linear-gradient(90deg,#c9a227,#5fb0c5,#c08b4e,#9f7aea,#c9a227) !important;
 background-size:200% 100% !important;
 opacity:1 !important;
 animation:spineShimmer 3s linear infinite !important;
}
.activity-item:hover > div[style*="flex:1"]::after{opacity:1;transform:scale(1.15)}

/* Inner content layering above the spine */
.activity-item > div[style*="flex:1"] > *{position:relative;z-index:2}

/* Per-card spine variant — rotate colour palette per nth-child for visual variety */
.activity-item:nth-child(1) > div[style*="flex:1"]::before{
 background:linear-gradient(90deg,#c9a227 0%,#5fb0c5 50%,#c08b4e 100%) !important;
}
.activity-item:nth-child(2) > div[style*="flex:1"]::before{
 background:linear-gradient(90deg,#5fb0c5 0%,#c08b4e 50%,#9f7aea 100%) !important;
}
.activity-item:nth-child(3) > div[style*="flex:1"]::before{
 background:linear-gradient(90deg,#c08b4e 0%,#9f7aea 50%,#c9a227 100%) !important;
}
.activity-item:nth-child(4) > div[style*="flex:1"]::before{
 background:linear-gradient(90deg,#9f7aea 0%,#c9a227 50%,#5fb0c5 100%) !important;
}
.activity-item:nth-child(5) > div[style*="flex:1"]::before{
 background:linear-gradient(90deg,#10b981 0%,#5fb0c5 50%,#c9a227 100%) !important;
}
.activity-item:nth-child(6) > div[style*="flex:1"]::before{
 background:linear-gradient(90deg,#e85d5d 0%,#c08b4e 50%,#c9a227 100%) !important;
}
.activity-item:nth-child(7) > div[style*="flex:1"]::before{
 background:linear-gradient(90deg,#f59e0b 0%,#c9a227 50%,#5fb0c5 100%) !important;
}
.activity-item:nth-child(8) > div[style*="flex:1"]::before{
 background:linear-gradient(90deg,#5fb0c5 0%,#9f7aea 50%,#10b981 100%) !important;
}

/* Date label + status badge — already styled inline, but tighten on premier surface */
.activity-item > div[style*="flex:1"] > div:first-child{
 margin-bottom:10px !important;
}
.activity-item > div[style*="flex:1"] > div:first-child > span:first-child{
 /* Date — gold mono caps */
 font-family:var(--mono,monospace) !important;
 font-size:.66rem !important;
 letter-spacing:.16em !important;
 text-transform:uppercase !important;
 color:var(--gold,#c9a227) !important;
 font-weight:700 !important;
 background:transparent !important;
 padding:0 !important;
}
.activity-item > div[style*="flex:1"] > div:first-child > span:nth-child(2){
 /* Status badge — rounded gold pill */
 font-family:var(--mono,monospace) !important;
 font-size:.62rem !important;
 letter-spacing:.12em !important;
 text-transform:uppercase !important;
 background:rgba(201,162,39,.14) !important;
 color:var(--gold,#c9a227) !important;
 padding:3px 10px !important;
 border-radius:99px !important;
 border:1px solid rgba(201,162,39,.3) !important;
 font-weight:700 !important;
 line-height:1.3 !important;
}

/* Body text */
.activity-item > div[style*="flex:1"] > div:nth-child(2){
 font-size:.94rem !important;
 line-height:1.6 !important;
 color:var(--w2,#e7e9ee) !important;
 margin-bottom:14px !important;
}

/* Tag chip strip at the bottom — make tags colorful pills */
.activity-item > div[style*="flex:1"] > div:last-child{
 display:flex !important;
 flex-wrap:wrap !important;
 gap:6px 8px !important;
 padding-top:12px !important;
 border-top:1px solid rgba(255,255,255,.06);
 margin-top:6px !important;
}
.activity-item > div[style*="flex:1"] > div:last-child > span{
 display:inline-flex !important;
 align-items:center !important;
 padding:4px 11px !important;
 border-radius:99px !important;
 font-family:var(--mono,monospace) !important;
 font-size:.66rem !important;
 letter-spacing:.1em !important;
 text-transform:uppercase !important;
 font-weight:700 !important;
 border:1px solid rgba(255,255,255,.14) !important;
 background:rgba(255,255,255,.025) !important;
 color:var(--w2,#e7e9ee) !important;
 white-space:nowrap !important;
 line-height:1.2 !important;
 transition:transform .15s,border-color .18s,background .18s,color .18s;
 cursor:default;
}
.activity-item > div[style*="flex:1"] > div:last-child > span:hover{
 transform:translateY(-1px);
 border-color:rgba(201,162,39,.45) !important;
 background:rgba(201,162,39,.08) !important;
 color:var(--gold,#c9a227) !important;
}

/* Per-tag colour rotation for visual variety */
.activity-item > div[style*="flex:1"] > div:last-child > span:nth-child(1){
 background:rgba(201,162,39,.1) !important;border-color:rgba(201,162,39,.35) !important;color:var(--gold,#c9a227) !important;
}
.activity-item > div[style*="flex:1"] > div:last-child > span:nth-child(2){
 background:rgba(95,176,197,.1) !important;border-color:rgba(95,176,197,.35) !important;color:var(--cyan,#5fb0c5) !important;
}
.activity-item > div[style*="flex:1"] > div:last-child > span:nth-child(3){
 background:rgba(192,139,78,.1) !important;border-color:rgba(192,139,78,.35) !important;color:#c08b4e !important;
}
.activity-item > div[style*="flex:1"] > div:last-child > span:nth-child(4){
 background:rgba(159,122,234,.1) !important;border-color:rgba(159,122,234,.3) !important;color:#9f7aea !important;
}
.activity-item > div[style*="flex:1"] > div:last-child > span:nth-child(5){
 background:rgba(16,185,129,.1) !important;border-color:rgba(16,185,129,.3) !important;color:#10b981 !important;
}

/* Pulse-ring keyframe for the timeline bullet (preserve existing) */
@keyframes pulse-ring{
 0%{transform:scale(.8);opacity:.8}
 100%{transform:scale(2);opacity:0}
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
 .activity-item:hover > div[style*="flex:1"]::before{animation:none !important}
 .activity-item .pulse-ring{animation:none !important}
}
/* ACTIVITY_TIMELINE_PREMIER_20260509_END */

/* ─── REG_DELIVERY_PREMIER_20260509 ───────────────────────────────────────
 Premier upgrade for regulatory-delivery page sections:
 1. #governance section's 3-up .card grid (Cyber Risk Register, Governance Forum, Assurance)
 2. #case-study .card-featured Engagement card with Scope/My Role/Outcome bullet lists
 3. .cta-section "Ready to Discuss Regulatory Delivery" footer
 
 Also fixes the bullet display issue (• appearing after text instead of before)
 by hiding the inline <span>•</span> markers and rendering via ::before. */

/* ── 3-up service cards ───────────────────────────────────────── */
#governance .grid-3{
 display:grid !important;
 grid-template-columns:repeat(3,1fr) !important;
 gap:20px !important;
 margin-top:30px !important;
}
@media (max-width:980px){#governance .grid-3{grid-template-columns:1fr !important}}

#governance .card{
 position:relative !important;
 display:flex;flex-direction:column;
 padding:26px 24px 22px !important;
 background:linear-gradient(165deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%) !important;
 border:1px solid rgba(201,162,39,.18) !important;
 border-radius:14px !important;
 overflow:hidden !important;
 isolation:isolate;
 transition:transform .28s,border-color .25s,box-shadow .25s !important;
 min-height:240px;
}
#governance .card h4{
 font-family:var(--font-display,Georgia,serif) !important;
 font-size:1.18rem !important;
 margin:0 0 14px !important;
 color:var(--gold,#c9a227) !important;
 font-weight:700 !important;
 letter-spacing:-.005em;
 position:relative;z-index:2;
 padding-bottom:10px;
 border-bottom:1px solid rgba(201,162,39,.18);
}
#governance .card p{
 font-size:.92rem !important;
 line-height:1.6 !important;
 color:var(--w2,#e7e9ee) !important;
 margin:0 !important;
 position:relative;z-index:2;
}
/* Per-card spine variants */
#governance .grid-3 .card:nth-child(1)::before{
 background:linear-gradient(90deg,#c9a227 0%,#5fb0c5 50%,#c08b4e 100%) !important;
}
#governance .grid-3 .card:nth-child(2)::before{
 background:linear-gradient(90deg,#5fb0c5 0%,#c08b4e 50%,#9f7aea 100%) !important;
}
#governance .grid-3 .card:nth-child(3)::before{
 background:linear-gradient(90deg,#c08b4e 0%,#9f7aea 50%,#c9a227 100%) !important;
}

/* ── Featured Engagement card ──────────────────────────────── */
#case-study .card-featured,
#case-study .card.card-featured{
 position:relative !important;
 padding:32px 32px 28px !important;
 background:linear-gradient(165deg,rgba(13,19,32,.95) 0%,rgba(10,14,26,1) 100%) !important;
 border:1px solid rgba(201,162,39,.4) !important;
 border-radius:16px !important;
 overflow:hidden !important;
 isolation:isolate;
 margin:32px auto !important;
 max-width:1080px !important;
}

#case-study .card-featured::before{
 content:"FEATURED ENGAGEMENT" !important;
 position:absolute !important;
 top:14px !important;
 right:20px !important;
 font-family:var(--mono,monospace) !important;
 font-size:.62rem !important;
 letter-spacing:.18em !important;
 font-weight:700 !important;
 color:var(--gold,#c9a227) !important;
 background:rgba(201,162,39,.12) !important;
 padding:4px 11px !important;
 border-radius:99px !important;
 border:1px solid rgba(201,162,39,.4) !important;
 z-index:6 !important;
 height:auto !important;width:auto !important;
}

/* Add a real top-spine via a manual gradient bar — use the body's first child */
#case-study .card-featured > h4:first-of-type{
 position:relative;
 font-family:var(--font-display,Georgia,serif) !important;
 font-size:1.3rem !important;
 font-weight:700 !important;
 margin:0 0 24px !important;
 padding-top:10px !important;
 color:var(--gold,#c9a227) !important;
 letter-spacing:-.005em;
 border-top:none !important;
}
#case-study .card-featured > h4:first-of-type::before{
 content:"";
 position:absolute;
 top:-32px;left:-32px;right:-32px;
 height:4px;
 background:linear-gradient(90deg,#c9a227 0%,#5fb0c5 33%,#c08b4e 66%,#9f7aea 100%);
 z-index:1;
}

/* Sector / Regulatory Context grid */
#case-study .card-featured > div[style*="grid-template-columns: 1fr 1fr"]{
 display:grid !important;
 grid-template-columns:repeat(2,1fr) !important;
 gap:18px !important;
 margin-bottom:28px !important;
 padding:18px 20px !important;
 background:rgba(255,255,255,.025) !important;
 border:1px solid rgba(255,255,255,.06) !important;
 border-radius:10px !important;
}
@media (max-width:680px){
 #case-study .card-featured > div[style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:1fr !important}
}
#case-study .card-featured > div > div > p:first-child{
 font-family:var(--mono,monospace) !important;
 font-size:.66rem !important;
 letter-spacing:.16em !important;
 text-transform:uppercase !important;
 color:var(--gold,#c9a227) !important;
 font-weight:700 !important;
 margin:0 0 6px !important;
}
#case-study .card-featured > div > div > p:nth-child(2){
 font-size:.96rem !important;
 color:var(--w1,#fff) !important;
 font-weight:600 !important;
 margin:0 !important;
}

/* Scope / My Role / Outcome sections */
#case-study .card-featured > div[style*="border-top"],
#case-study .card-featured > div[style*="border-bottom"]:not([style*="grid-template-columns"]),
#case-study .card-featured > div[style*="padding: 20px 0"]{
 position:relative !important;
 padding:20px 24px 18px 24px !important;
 margin:14px 0 !important;
 background:rgba(255,255,255,.015) !important;
 border:1px solid rgba(255,255,255,.06) !important;
 border-radius:10px !important;
 border-left:3px solid var(--gold,#c9a227) !important;
}

#case-study .card-featured h5{
 font-family:var(--mono,monospace) !important;
 font-size:.75rem !important;
 letter-spacing:.16em !important;
 text-transform:uppercase !important;
 color:var(--gold,#c9a227) !important;
 font-weight:700 !important;
 margin:0 0 14px !important;
}

#case-study .card-featured ul{
 list-style:none !important;
 padding:0 !important;
 margin:0 !important;
 display:flex;flex-direction:column;gap:6px;
}

#case-study .card-featured ul li{
 position:relative !important;
 padding:8px 0 8px 24px !important;
 font-size:.92rem !important;
 line-height:1.55 !important;
 color:var(--w1,#fff) !important;
 border-bottom:1px solid rgba(255,255,255,.04) !important;
}
#case-study .card-featured ul li:last-child{border-bottom:none !important}

/* Hide the inline bullet <span>•</span> — render via ::before instead */
#case-study .card-featured ul li > span{display:none !important}
#case-study .card-featured ul li::before{
 content:"" !important;
 position:absolute !important;
 left:6px !important;
 top:18px !important;
 width:8px !important;
 height:8px !important;
 border-radius:50% !important;
 background:var(--gold,#c9a227) !important;
 box-shadow:0 0 8px rgba(201,162,39,.4);
}

/* Scope: gold bullets, My Role: cyan bullets, Outcome: em-orange bullets */
#case-study .card-featured > div:nth-of-type(2) ul li::before{background:var(--gold,#c9a227) !important;box-shadow:0 0 8px rgba(201,162,39,.4) !important}
#case-study .card-featured > div:nth-of-type(3) ul li::before{background:var(--cyan,#5fb0c5) !important;box-shadow:0 0 8px rgba(95,176,197,.4) !important}
#case-study .card-featured > div:nth-of-type(4) ul li::before{background:#c08b4e !important;box-shadow:0 0 8px rgba(192,139,78,.4) !important}

/* Per-section left-bar colour matching */
#case-study .card-featured > div:nth-of-type(2){border-left-color:var(--gold,#c9a227) !important}
#case-study .card-featured > div:nth-of-type(3){border-left-color:var(--cyan,#5fb0c5) !important}
#case-study .card-featured > div:nth-of-type(4){border-left-color:#c08b4e !important}
#case-study .card-featured > div:nth-of-type(2) h5{color:var(--gold,#c9a227) !important}
#case-study .card-featured > div:nth-of-type(3) h5{color:var(--cyan,#5fb0c5) !important}
#case-study .card-featured > div:nth-of-type(4) h5{color:#c08b4e !important}

/* ── CTA section ───────────────────────────────────────────── */
.cta-section{
 position:relative !important;
 padding:60px 32px 56px !important;
 margin:48px auto !important;
 max-width:1080px !important;
 background:linear-gradient(165deg,rgba(13,19,32,.95) 0%,rgba(10,14,26,1) 100%) !important;
 border:1px solid rgba(201,162,39,.3) !important;
 border-radius:16px !important;
 text-align:center !important;
 overflow:hidden !important;
 isolation:isolate;
}
.cta-section::before{
 content:"" !important;
 position:absolute !important;
 top:0 !important;left:0 !important;right:0 !important;
 height:4px !important;
 background:linear-gradient(90deg,#c9a227 0%,#5fb0c5 33%,#c08b4e 66%,#9f7aea 100%) !important;
 z-index:5 !important;
 pointer-events:none;
}
.cta-section::after{
 content:"" !important;
 position:absolute !important;
 top:-100px !important;right:-100px !important;
 width:280px !important;height:280px !important;border-radius:50% !important;
 background:radial-gradient(circle,rgba(201,162,39,.1),transparent 70%) !important;
 pointer-events:none;z-index:0;
}
.cta-section > .wrap{position:relative;z-index:2}
.cta-section h2{
 font-family:var(--font-display,Georgia,serif) !important;
 font-size:clamp(1.6rem,3vw,2.2rem) !important;
 margin:0 0 14px !important;
 color:var(--w1,#fff) !important;
 letter-spacing:-.005em;
}
.cta-section p{
 font-size:1rem !important;
 line-height:1.55 !important;
 color:var(--w3,#9aa3b3) !important;
 max-width:64ch;
 margin:0 auto 24px !important;
}
.cta-section .cta-buttons{
 display:flex !important;
 flex-wrap:wrap !important;
 gap:14px !important;
 justify-content:center !important;
 margin-top:20px !important;
}
.cta-section .btn{
 display:inline-flex !important;
 align-items:center !important;
 padding:12px 26px !important;
 border-radius:8px !important;
 font-family:var(--font-base,system-ui) !important;
 font-size:.92rem !important;
 font-weight:700 !important;
 letter-spacing:.04em !important;
 text-decoration:none !important;
 transition:all .18s !important;
 border:1px solid transparent !important;
}
.cta-section .btn.primary{
 background:var(--gold,#c9a227) !important;
 color:#0a0e1a !important;
 border-color:var(--gold,#c9a227) !important;
}
.cta-section .btn.primary:hover{
 filter:brightness(1.08);
 transform:translateY(-1px);
 box-shadow:0 8px 18px rgba(201,162,39,.3);
}
.cta-section .btn.ghost{
 background:transparent !important;
 color:var(--w1,#fff) !important;
 border-color:rgba(255,255,255,.2) !important;
}
.cta-section .btn.ghost:hover{
 border-color:var(--gold,#c9a227) !important;
 color:var(--gold,#c9a227) !important;
 background:rgba(201,162,39,.06) !important;
 transform:translateY(-1px);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
 #governance .card:hover::before,
 #case-study .card-featured > h4::before,
 .cta-section::before{animation:none !important}
}
/* REG_DELIVERY_PREMIER_20260509_END */

/* ─── LATEST_PUBS_PREMIER_20260509 ────────────────────────────────────────
 Premier upgrade for .latest-2026-pubs section on publications page —
 3 highlighted publication cards (Engineering Truth, Architecture of
 Accountability, The Responsible Core). Override inline styles via
 !important and apply rainbow spine + glassy gradient + hover lift. */

/* Section wrapper */
.latest-2026-pubs{
 margin:32px auto !important;
 position:relative;
}

/* Heading "Latest Publications — May 2026" */
.latest-2026-pubs > h4{
 font-family:var(--mono,monospace) !important;
 font-size:.78rem !important;
 letter-spacing:.18em !important;
 text-transform:uppercase !important;
 color:var(--cyan,#5fb0c5) !important;
 font-weight:700 !important;
 margin:0 0 18px !important;
 padding-left:14px;
 border-left:3px solid var(--cyan,#5fb0c5);
}

/* 3-card grid override */
.latest-2026-pubs > div{
 display:grid !important;
 grid-template-columns:repeat(3,minmax(0,1fr)) !important;
 gap:18px !important;
}
@media (max-width:980px){
 .latest-2026-pubs > div{grid-template-columns:1fr !important}
}

/* Each card — override inline styles */
.latest-2026-pubs > div > a{
 position:relative !important;
 display:flex !important;
 flex-direction:column !important;
 padding:22px 20px 18px !important;
 background:linear-gradient(165deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%) !important;
 border:1px solid rgba(95,176,197,.22) !important;
 border-radius:12px !important;
 text-decoration:none !important;
 overflow:hidden !important;
 isolation:isolate;
 transition:transform .28s,border-color .25s,box-shadow .25s !important;
 min-height:160px;
}

/* Top horizontal rainbow spine */
.latest-2026-pubs > div > a::before{
 content:"" !important;
 position:absolute !important;
 top:0 !important;left:0 !important;right:0 !important;
 height:3px !important;
 background:linear-gradient(90deg,#c9a227 0%,#5fb0c5 33%,#c08b4e 66%,#9f7aea 100%) !important;
 z-index:5 !important;opacity:.85;
 transition:background .25s,opacity .25s !important;
 pointer-events:none !important;
}

/* Corner gleam */
.latest-2026-pubs > div > a::after{
 content:"" !important;
 position:absolute !important;
 top:-50px !important;right:-50px !important;
 width:130px !important;height:130px !important;border-radius:50% !important;
 background:radial-gradient(circle,rgba(95,176,197,.08),transparent 70%) !important;
 opacity:.5;transition:opacity .25s,transform .35s !important;
 pointer-events:none !important;z-index:0 !important;
}

.latest-2026-pubs > div > a:hover{
 transform:translateY(-3px) !important;
 border-color:rgba(95,176,197,.55) !important;
 box-shadow:0 14px 28px rgba(0,0,0,.42),0 0 0 1px rgba(95,176,197,.2) !important;
}
.latest-2026-pubs > div > a:hover::before{
 background:linear-gradient(90deg,#c9a227,#5fb0c5,#c08b4e,#9f7aea,#c9a227) !important;
 background-size:200% 100% !important;
 opacity:1 !important;
 animation:spineShimmer 3s linear infinite !important;
}
.latest-2026-pubs > div > a:hover::after{opacity:1;transform:scale(1.15)}

/* Card title (first inner div) */
.latest-2026-pubs > div > a > div:first-child{
 font-family:var(--font-display,Georgia,serif) !important;
 font-size:1.12rem !important;
 font-weight:700 !important;
 line-height:1.25 !important;
 margin:0 0 10px !important;
 color:var(--cyan,#5fb0c5) !important;
 letter-spacing:-.005em;
 position:relative;z-index:2;
}

/* Card description (second inner div) */
.latest-2026-pubs > div > a > div:nth-child(2){
 font-size:.88rem !important;
 line-height:1.5 !important;
 color:var(--w3,#9aa3b3) !important;
 flex:1;
 position:relative;z-index:2;
}

/* "Read PDF →" arrow added on hover */
.latest-2026-pubs > div > a::before-text{display:none}
.latest-2026-pubs > div > a > div:nth-child(2)::after{
 content:"Read more →" !important;
 display:block !important;
 margin-top:14px !important;
 padding-top:12px !important;
 border-top:1px solid rgba(255,255,255,.06) !important;
 font-family:var(--mono,monospace) !important;
 font-size:.7rem !important;
 letter-spacing:.12em !important;
 text-transform:uppercase !important;
 color:var(--cyan,#5fb0c5) !important;
 font-weight:700 !important;
 opacity:.7;
 transition:opacity .2s,transform .2s;
}
.latest-2026-pubs > div > a:hover > div:nth-child(2)::after{
 opacity:1;
 transform:translateX(2px);
}

/* Per-card spine variants */
.latest-2026-pubs > div > a:nth-child(1)::before{
 background:linear-gradient(90deg,#c9a227 0%,#5fb0c5 50%,#c08b4e 100%) !important;
}
.latest-2026-pubs > div > a:nth-child(2)::before{
 background:linear-gradient(90deg,#5fb0c5 0%,#c08b4e 50%,#9f7aea 100%) !important;
}
.latest-2026-pubs > div > a:nth-child(3)::before{
 background:linear-gradient(90deg,#c08b4e 0%,#9f7aea 50%,#c9a227 100%) !important;
}

.latest-2026-pubs > div > a:nth-child(2):hover{
 border-color:rgba(192,139,78,.55) !important;
 box-shadow:0 14px 28px rgba(0,0,0,.42),0 0 0 1px rgba(192,139,78,.22) !important;
}
.latest-2026-pubs > div > a:nth-child(3):hover{
 border-color:rgba(159,122,234,.55) !important;
 box-shadow:0 14px 28px rgba(0,0,0,.42),0 0 0 1px rgba(159,122,234,.22) !important;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
 .latest-2026-pubs > div > a:hover::before{animation:none !important}
}
/* LATEST_PUBS_PREMIER_20260509_END */

/* ─── CARD_PARAGRAPH_HARMONY_20260509 ─────────────────────────────────────
 Unified paragraph typography across every premier card class fleet-wide.
 Same body-text rendering everywhere: font-size, line-height, color,
 letter-spacing — so descriptions inside any card type look consistent. */

/* Universal body paragraph inside any card / panel / section card */
.card p,
.card-featured p,
.pilot-card p,
.pilot-sub,
.doctrine-card p,
.doctrine-card .d-def,
.atlas-card p,
.ar-card p,
.prod-engage-cell p,
.prod-engage-p,
.prod-why-col p,
.prod-why-claim,
.prod-why-vs,
.threat-card p,
.threat-card .threat-summary,
.intel-panel p,
.intel-item-detail,
.reg-card-otf p,
.reg-hub-panel p,
.reg-hub-panel-intro,
.countdown-card p,
.hero-card p,
.claw-panel p,
.skill-category p,
.testimonial p,
.principle q,
.activity-item p,
.latest-2026-pubs > div > a > div:nth-child(2),
#governance .card p,
#case-study .card-featured p,
.cta-section p{
 font-family:var(--font-base, system-ui, -apple-system, "Segoe UI", sans-serif) !important;
 font-size:.92rem !important;
 line-height:1.6 !important;
 color:var(--w2,#e7e9ee) !important;
 letter-spacing:.005em !important;
 text-wrap:pretty;
 margin:0 0 12px !important;
}
/* Last paragraph in card has no bottom margin (so meta lines sit flush) */
.card p:last-child,
.pilot-card p:last-child,
.doctrine-card p:last-child,
.ar-card p:last-child,
.prod-engage-cell p:last-child,
.prod-why-col p:last-child,
.threat-card p:last-child,
.intel-panel p:last-child,
.reg-card-otf p:last-child,
.testimonial p:last-child,
.activity-item p:last-child,
#governance .card p:last-child{
 margin-bottom:0 !important;
}

/* Lead paragraphs inside section heads — slightly larger, lighter colour */
.section .head p,
section .head p,
.gov-atlas .head p,
.prod-engage .prod-h-sub,
.prod-why .prod-h-sub,
#skills-overview .head p,
.otf-reg-section > .wrap > p,
.otf-reg-section .lead{
 font-family:var(--font-base, system-ui, -apple-system, sans-serif) !important;
 font-size:.96rem !important;
 line-height:1.55 !important;
 color:var(--w3,#9aa3b3) !important;
 letter-spacing:.005em !important;
 text-wrap:pretty;
 max-width:80ch;
}

/* Subhead description (under h2/h3 in card lead positions) — tighter */
.head h2 + p,
.head h3 + p,
.head h4 + p{
 margin-top:8px !important;
}

/* Italic-style emphasis text (e.g., quotes inside cards) */
.testimonial p,
.principle q,
.pullquote-text{
 font-family:var(--font-display, "Source Serif Pro", Georgia, serif) !important;
 font-size:1rem !important;
 line-height:1.6 !important;
 font-style:italic !important;
 color:var(--w1,#fff) !important;
}

/* Meta footer / Duration / Cadence / Timestamps — monospace, smaller */
.prod-engage-meta,
.pilot-meta,
.activity-item .meta,
.reg-card-otf .meta,
.testimonial-author,
.testimonial-title,
.intel-item .last-refresh,
.threat-card .threat-meta-label,
.principle cite{
 font-family:var(--mono, "SF Mono", Menlo, Consolas, monospace) !important;
 font-size:.7rem !important;
 letter-spacing:.08em !important;
 text-transform:uppercase;
 font-weight:600 !important;
 line-height:1.45 !important;
}

/* Strong / em inside body text */
.card p strong,
.pilot-card p strong,
.doctrine-card p strong,
.prod-engage-cell p strong,
.prod-why-col p strong,
.testimonial p strong,
.activity-item p strong{
 color:var(--gold, #c9a227) !important;
 font-weight:700 !important;
}

/* Mobile: slightly tighter type */
@media (max-width: 560px){
 .card p,
 .pilot-card p,
 .doctrine-card p,
 .doctrine-card .d-def,
 .ar-card p,
 .prod-engage-cell p,
 .prod-why-col p,
 .threat-card p,
 .intel-panel p,
 .reg-card-otf p,
 .activity-item p,
 #governance .card p{
 font-size:.88rem !important;
 line-height:1.55 !important;
 }
}
/* CARD_PARAGRAPH_HARMONY_20260509_END */

/* ─── RACI_PREMIER_TOPALIGN_20260509 ──────────────────────────────────────
 (1) Force flex-start alignment on every premier card so titles + content
 sit at the TOP of the box, not vertically centered.
 (2) Apply premier rainbow-spine treatment to the 4 RACI definition tiles
 (A/R/C/I) inside the inline-styled grid on frameworks.astro. */

/* ── (1) Top-align content in every premier card ────────────────── */
.card,
.card-featured,
.pilot-card,
.doctrine-card,
.atlas-card,
.ar-card,
.threat-card,
.intel-panel,
.impact-card,
.prod-engage-cell,
.prod-why-col,
.reg-hub-panel,
.countdown-card,
.hero-card,
.claw-panel,
.testimonial,
.skill-category,
.reg-card-otf,
.activity-item > div[style*="flex:1"],
.latest-2026-pubs > div > a,
#governance .card,
#case-study .card-featured,
.principle{
 align-items:flex-start !important;
 justify-content:flex-start !important;
}

/* Ensure first heading sits flush at top with no extra top margin */
.card > h2:first-child,
.card > h3:first-child,
.card > h4:first-child,
.card > h5:first-child,
.pilot-card > h3:first-child,
.doctrine-card > .d-tm,
.ar-card > h4:first-child,
.atlas-card > .atlas-icon:first-child,
.atlas-card > .atlas-kicker,
.threat-card > h3:first-child,
.threat-card > .threat-rank:first-child,
.intel-panel > h3:first-child,
.impact-card > .num:first-child,
.prod-engage-cell > h4:first-child,
.prod-engage-cell > .prod-engage-h:first-child,
.prod-why-col > .prod-why-h:first-child,
.reg-card-otf > .reg-card-name:first-child,
.skill-category > h5:first-child,
.testimonial > p:first-child{
 margin-top:0 !important;
}

/* Add stretch to last child margin-top:auto so meta lines push to bottom */
.card > *:last-child:not(:first-child),
.pilot-card .pilot-cta,
.doctrine-card .mini,
.prod-engage-cell .prod-engage-meta,
.prod-why-col .prod-why-vs,
.reg-card-otf .reg-card-list,
.skill-category .skill-list:last-child{
 margin-top:auto !important;
}

/* ── (2) RACI tiles — premier upgrade ──────────────────────────── */
/* The 4 inline-styled tiles inside the grid wrapper before .doctrine-section.
 We target them via the parent's inline grid signature. */
div[style*="grid-template-columns:repeat(4,1fr)"][style*="margin-bottom:2rem"] > div,
div[style*="grid-template-columns: repeat(4,1fr)"][style*="margin-bottom: 2rem"] > div{
 position:relative !important;
 padding:24px 16px 18px !important;
 background:linear-gradient(165deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%) !important;
 border:1px solid rgba(255,255,255,.1) !important;
 border-radius:12px !important;
 text-align:center !important;
 overflow:hidden !important;
 isolation:isolate;
 transition:transform .25s,border-color .22s,box-shadow .22s !important;
}
div[style*="grid-template-columns:repeat(4,1fr)"][style*="margin-bottom:2rem"] > div::before,
div[style*="grid-template-columns: repeat(4,1fr)"][style*="margin-bottom: 2rem"] > div::before{
 content:"" !important;
 position:absolute !important;
 top:0 !important;left:0 !important;right:0 !important;
 height:3px !important;
 z-index:5 !important;opacity:.85;
 pointer-events:none !important;
}

/* Per-RACI card spine + accent border + hover */
/* Tile 1 — A — gold */
div[style*="grid-template-columns:repeat(4,1fr)"][style*="margin-bottom:2rem"] > div:nth-child(1)::before,
div[style*="grid-template-columns: repeat(4,1fr)"][style*="margin-bottom: 2rem"] > div:nth-child(1)::before{
 background:linear-gradient(90deg,#c9a227 0%,#5fb0c5 50%,#c08b4e 100%) !important;
}
div[style*="grid-template-columns:repeat(4,1fr)"][style*="margin-bottom:2rem"] > div:nth-child(1):hover,
div[style*="grid-template-columns: repeat(4,1fr)"][style*="margin-bottom: 2rem"] > div:nth-child(1):hover{
 transform:translateY(-2px);
 border-color:rgba(201,162,39,.55) !important;
 box-shadow:0 12px 24px rgba(0,0,0,.4),0 0 0 1px rgba(201,162,39,.2) !important;
}
/* Tile 2 — R — cyan */
div[style*="grid-template-columns:repeat(4,1fr)"][style*="margin-bottom:2rem"] > div:nth-child(2)::before,
div[style*="grid-template-columns: repeat(4,1fr)"][style*="margin-bottom: 2rem"] > div:nth-child(2)::before{
 background:linear-gradient(90deg,#5fb0c5 0%,#c08b4e 50%,#9f7aea 100%) !important;
}
div[style*="grid-template-columns:repeat(4,1fr)"][style*="margin-bottom:2rem"] > div:nth-child(2):hover,
div[style*="grid-template-columns: repeat(4,1fr)"][style*="margin-bottom: 2rem"] > div:nth-child(2):hover{
 transform:translateY(-2px);
 border-color:rgba(95,176,197,.55) !important;
 box-shadow:0 12px 24px rgba(0,0,0,.4),0 0 0 1px rgba(95,176,197,.22) !important;
}
/* Tile 3 — C — em-orange */
div[style*="grid-template-columns:repeat(4,1fr)"][style*="margin-bottom:2rem"] > div:nth-child(3)::before,
div[style*="grid-template-columns: repeat(4,1fr)"][style*="margin-bottom: 2rem"] > div:nth-child(3)::before{
 background:linear-gradient(90deg,#c08b4e 0%,#9f7aea 50%,#c9a227 100%) !important;
}
div[style*="grid-template-columns:repeat(4,1fr)"][style*="margin-bottom:2rem"] > div:nth-child(3):hover,
div[style*="grid-template-columns: repeat(4,1fr)"][style*="margin-bottom: 2rem"] > div:nth-child(3):hover{
 transform:translateY(-2px);
 border-color:rgba(192,139,78,.55) !important;
 box-shadow:0 12px 24px rgba(0,0,0,.4),0 0 0 1px rgba(192,139,78,.22) !important;
}
/* Tile 4 — I — purple */
div[style*="grid-template-columns:repeat(4,1fr)"][style*="margin-bottom:2rem"] > div:nth-child(4)::before,
div[style*="grid-template-columns: repeat(4,1fr)"][style*="margin-bottom: 2rem"] > div:nth-child(4)::before{
 background:linear-gradient(90deg,#9f7aea 0%,#c9a227 50%,#5fb0c5 100%) !important;
}
div[style*="grid-template-columns:repeat(4,1fr)"][style*="margin-bottom:2rem"] > div:nth-child(4):hover,
div[style*="grid-template-columns: repeat(4,1fr)"][style*="margin-bottom: 2rem"] > div:nth-child(4):hover{
 transform:translateY(-2px);
 border-color:rgba(159,122,234,.55) !important;
 box-shadow:0 12px 24px rgba(0,0,0,.4),0 0 0 1px rgba(159,122,234,.22) !important;
}

/* Letter (A/R/C/I) — large gold/colour-coded */
div[style*="grid-template-columns:repeat(4,1fr)"][style*="margin-bottom:2rem"] > div > div:first-child,
div[style*="grid-template-columns: repeat(4,1fr)"][style*="margin-bottom: 2rem"] > div > div:first-child{
 font-family:var(--font-display,Georgia,serif) !important;
 font-size:1.8rem !important;
 font-weight:800 !important;
 line-height:1 !important;
 margin-bottom:8px !important;
 letter-spacing:-.02em;
 position:relative;z-index:2;
}

/* Definition text */
div[style*="grid-template-columns:repeat(4,1fr)"][style*="margin-bottom:2rem"] > div > div:nth-child(2),
div[style*="grid-template-columns: repeat(4,1fr)"][style*="margin-bottom: 2rem"] > div > div:nth-child(2){
 font-size:.78rem !important;
 line-height:1.45 !important;
 color:var(--w2,#e7e9ee) !important;
 margin-top:4px !important;
 position:relative;z-index:2;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
 div[style*="grid-template-columns:repeat(4,1fr)"] > div:hover{transform:none !important}
}
/* RACI_PREMIER_TOPALIGN_20260509_END */

/* ─── FRAMEWORKS_TABLES_PREMIER_20260509 ──────────────────────────────────
 Premier upgrade for the inline-styled tables on frameworks.astro:
 - Incident Response RACI matrix (Phase/Activity × 6 role columns)
 - Integration Architecture (Industry Standard × 4 columns)
 - NCSC CAF / ECAF / UK NIS Regulations table
 
 Wraps each table container in premier surface, adds rainbow spine,
 styles header, phase rows, body rows, and RACI letter cells. */

/* The table container — usually <div style="overflow-x:auto"> */
section .head + div[style*="overflow-x:auto"]{
 position:relative !important;
 margin:24px 0 32px !important;
 background:linear-gradient(165deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%) !important;
 border:1px solid rgba(201,162,39,.18) !important;
 border-radius:14px !important;
 padding:8px !important;
 overflow-x:auto !important;
 isolation:isolate;
}
section .head + div[style*="overflow-x:auto"]::before{
 content:"" !important;
 position:absolute !important;
 top:0 !important;left:0 !important;right:0 !important;
 height:3px !important;
 background:linear-gradient(90deg,#c9a227 0%,#5fb0c5 33%,#c08b4e 66%,#9f7aea 100%) !important;
 z-index:5 !important;opacity:.85;
 pointer-events:none !important;
 border-radius:14px 14px 0 0;
}

/* Tables inside premier-section containers */
section .head + div[style*="overflow-x:auto"] > table,
.section table[style*="border-collapse:collapse"],
table[style*="width:100%"][style*="border-collapse:collapse"]{
 width:100% !important;
 border-collapse:collapse !important;
 font-size:.86rem !important;
 border:none !important;
 margin:0 !important;
 background:transparent !important;
}

/* Header row */
table[style*="width:100%"][style*="border-collapse:collapse"] thead tr,
section .head + div[style*="overflow-x:auto"] table thead tr{
 border-bottom:2px solid rgba(201,162,39,.4) !important;
 background:linear-gradient(180deg,rgba(201,162,39,.08),rgba(201,162,39,.02)) !important;
}
table[style*="width:100%"][style*="border-collapse:collapse"] thead th,
section .head + div[style*="overflow-x:auto"] table thead th{
 padding:14px 12px !important;
 font-family:var(--mono,monospace) !important;
 font-size:.7rem !important;
 letter-spacing:.14em !important;
 text-transform:uppercase !important;
 font-weight:700 !important;
 vertical-align:bottom !important;
 border:none !important;
}
table[style*="width:100%"][style*="border-collapse:collapse"] thead th:first-child{
 text-align:left !important;
 color:var(--gold,#c9a227) !important;
}

/* Phase header rows (colspan rows in RACI table) */
table[style*="width:100%"][style*="border-collapse:collapse"] tbody tr td[colspan]{
 padding:12px 14px !important;
 font-family:var(--mono,monospace) !important;
 font-size:.74rem !important;
 letter-spacing:.16em !important;
 text-transform:uppercase !important;
 font-weight:700 !important;
 color:var(--gold,#c9a227) !important;
 background:linear-gradient(90deg,rgba(201,162,39,.08),rgba(201,162,39,.02) 60%,transparent) !important;
 border-bottom:1px solid rgba(201,162,39,.22) !important;
 border-top:1px solid rgba(201,162,39,.18) !important;
 position:relative;
}
table[style*="width:100%"][style*="border-collapse:collapse"] tbody tr td[colspan]::before{
 content:"";display:inline-block;width:8px;height:8px;border-radius:50%;
 background:var(--gold,#c9a227);
 box-shadow:0 0 8px rgba(201,162,39,.4);
 margin-right:10px;vertical-align:middle;
 margin-top:-2px;
}

/* Body rows */
table[style*="width:100%"][style*="border-collapse:collapse"] tbody tr:not(:has(td[colspan])){
 border-bottom:1px solid rgba(255,255,255,.06) !important;
 transition:background .15s !important;
}
table[style*="width:100%"][style*="border-collapse:collapse"] tbody tr:not(:has(td[colspan])):hover{
 background:rgba(201,162,39,.025) !important;
}
table[style*="width:100%"][style*="border-collapse:collapse"] tbody tr:last-child{
 border-bottom:none !important;
}

/* Body cells */
table[style*="width:100%"][style*="border-collapse:collapse"] tbody td{
 padding:11px 12px !important;
 vertical-align:middle !important;
 border:none !important;
}
table[style*="width:100%"][style*="border-collapse:collapse"] tbody td:first-child{
 font-size:.88rem !important;
 color:var(--w1,#fff) !important;
 font-weight:600 !important;
 letter-spacing:.005em;
}

/* RACI letter cells — A/R/C/I as colored badges */
table[style*="width:100%"][style*="border-collapse:collapse"] tbody td[style*="text-align:center"],
table[style*="width:100%"][style*="border-collapse:collapse"] tbody td[style*="text-align: center"]{
 text-align:center !important;
 font-family:var(--font-display,Georgia,serif) !important;
 font-size:1.05rem !important;
 font-weight:800 !important;
 letter-spacing:-.02em;
 position:relative;
}

/* Colour-keyed RACI letters (preserve inline color attribute) */
table[style*="width:100%"][style*="border-collapse:collapse"] tbody td[style*="color:var(--gold)"]{
 color:var(--gold,#c9a227) !important;
}
table[style*="width:100%"][style*="border-collapse:collapse"] tbody td[style*="color:var(--cyan)"]{
 color:var(--cyan,#5fb0c5) !important;
}
table[style*="width:100%"][style*="border-collapse:collapse"] tbody td[style*="color:var(--em)"]{
 color:#c08b4e !important;
}
table[style*="width:100%"][style*="border-collapse:collapse"] tbody td[style*="color:var(--w3)"]{
 color:var(--w3,#9aa3b3) !important;
}
table[style*="width:100%"][style*="border-collapse:collapse"] tbody td[style*="color:var(--w4)"]{
 color:var(--w4,#55657A) !important;
 font-weight:600 !important;
}

/* For Integration Architecture table — gold last column emphasis */
table[style*="width:100%"][style*="border-collapse:collapse"] tbody td[style*="color:var(--gold)"]:not([style*="text-align:center"]):not([style*="text-align: center"]){
 font-weight:700 !important;
 color:var(--gold,#c9a227) !important;
 font-size:.9rem !important;
 font-family:var(--font-display,Georgia,serif) !important;
}

/* For "What It Misses" / generic w3 description columns */
table[style*="width:100%"][style*="border-collapse:collapse"] tbody td[style*="color:var(--w3)"]:not([style*="text-align:center"]):not([style*="text-align: center"]){
 color:var(--w3,#9aa3b3) !important;
 font-weight:400 !important;
 font-size:.85rem !important;
 line-height:1.55 !important;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
 section .head + div[style*="overflow-x:auto"]::before{animation:none !important}
}
/* FRAMEWORKS_TABLES_PREMIER_20260509_END */

/* ─── FRAMEWORKS_METRICS_PREMIER_20260509 ────────────────────────────────
 Premier upgrade for the 4-metric "coverage stats" card on
 regulatory-delivery #frameworks section. Each .metric becomes a
 premier mini-card with display-size number, color-keyed per index,
 and hover lift. Forces 4-up horizontal at all desktop widths. */

#frameworks .card{
 position:relative !important;
 padding:32px 30px !important;
 background:linear-gradient(165deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%) !important;
 border:1px solid rgba(201,162,39,.22) !important;
 border-radius:14px !important;
 overflow:hidden !important;
 isolation:isolate;
 width:100%;
 max-width:none !important;
}

/* Force horizontal grid — 4 equal columns desktop, 2 tablet, 1 mobile */
#frameworks .card > div[style*="grid"],
#frameworks .card > div:has(> .metric){
 display:grid !important;
 grid-template-columns:repeat(4, 1fr) !important;
 gap:18px !important;
 width:100% !important;
}
@media (max-width: 980px){
 #frameworks .card > div[style*="grid"],
 #frameworks .card > div:has(> .metric){
 grid-template-columns:repeat(2, 1fr) !important;
 }
}
@media (max-width: 560px){
 #frameworks .card > div[style*="grid"],
 #frameworks .card > div:has(> .metric){
 grid-template-columns:1fr !important;
 }
}

/* Each .metric — premier mini-card */
#frameworks .card .metric{
 position:relative !important;
 display:flex !important;
 flex-direction:column !important;
 align-items:flex-start !important;
 padding:22px 20px 20px !important;
 background:rgba(255,255,255,.025) !important;
 border:1px solid rgba(255,255,255,.08) !important;
 border-radius:12px !important;
 overflow:hidden !important;
 isolation:isolate;
 transition:transform .25s,border-color .22s,box-shadow .22s !important;
 text-align:left !important;
 min-width:0 !important;
}

#frameworks .card .metric::before{
 content:"" !important;
 position:absolute !important;
 top:0 !important;left:0 !important;right:0 !important;
 height:3px !important;
 z-index:5 !important;opacity:.85;
 pointer-events:none !important;
}
#frameworks .card .metric:nth-child(1)::before{background:linear-gradient(90deg,#c9a227 0%,#5fb0c5 50%,#c08b4e 100%) !important}
#frameworks .card .metric:nth-child(2)::before{background:linear-gradient(90deg,#5fb0c5 0%,#c08b4e 50%,#9f7aea 100%) !important}
#frameworks .card .metric:nth-child(3)::before{background:linear-gradient(90deg,#c08b4e 0%,#9f7aea 50%,#c9a227 100%) !important}
#frameworks .card .metric:nth-child(4)::before{background:linear-gradient(90deg,#9f7aea 0%,#c9a227 50%,#5fb0c5 100%) !important}

#frameworks .card .metric:hover{
 transform:translateY(-2px) !important;
 border-color:rgba(201,162,39,.45) !important;
 box-shadow:0 12px 24px rgba(0,0,0,.4),0 0 0 1px rgba(201,162,39,.15) !important;
}
#frameworks .card .metric:nth-child(2):hover{border-color:rgba(95,176,197,.45) !important;box-shadow:0 12px 24px rgba(0,0,0,.4),0 0 0 1px rgba(95,176,197,.18) !important}
#frameworks .card .metric:nth-child(3):hover{border-color:rgba(192,139,78,.45) !important;box-shadow:0 12px 24px rgba(0,0,0,.4),0 0 0 1px rgba(192,139,78,.18) !important}
#frameworks .card .metric:nth-child(4):hover{border-color:rgba(159,122,234,.45) !important;box-shadow:0 12px 24px rgba(0,0,0,.4),0 0 0 1px rgba(159,122,234,.18) !important}

#frameworks .card .metric > b{
 display:block !important;
 font-family:var(--font-display,Georgia,serif) !important;
 font-size:clamp(2rem,3.6vw,2.6rem) !important;
 font-weight:700 !important;
 line-height:1 !important;
 margin:6px 0 10px !important;
 letter-spacing:-.01em;
 font-variant-numeric:tabular-nums;
 position:relative;z-index:2;
}
#frameworks .card .metric > span:first-of-type{
 display:block !important;
 font-family:var(--mono,monospace) !important;
 font-size:.78rem !important;
 letter-spacing:.14em !important;
 text-transform:uppercase !important;
 color:var(--w1,#fff) !important;
 font-weight:700 !important;
 margin-bottom:6px !important;
 position:relative;z-index:2;
}
#frameworks .card .metric > span:nth-of-type(2){
 display:block !important;
 font-size:.82rem !important;
 line-height:1.5 !important;
 color:var(--w3,#9aa3b3) !important;
 letter-spacing:.005em !important;
 margin-top:auto !important;
 position:relative;z-index:2;
}

@media (max-width:560px){
 #frameworks .card{padding:24px 20px !important}
 #frameworks .card .metric{padding:18px 16px !important}
 #frameworks .card .metric > b{font-size:2rem !important}
}
/* FRAMEWORKS_METRICS_PREMIER_20260509_END */

/* ─── IMPACT_METRICS_PREMIER_20260509 ────────────────────────────────────
 Premier upgrade for the Impact Metrics card on regulatory-delivery.astro
 section 4 (Incident Response & Tabletop Exercises). The card has inline
 styles with em-orange/emerald tinted gradient — convert to premier
 surface with rainbow spine and 4-up horizontal mini-cards. */

/* Outer .card with the green-tinted inline style */
.card[style*="rgba(16,185,129,.08)"],
.card[style*="rgba(16,185,129,0.08)"]{
 position:relative !important;
 padding:32px 30px !important;
 background:linear-gradient(165deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%) !important;
 border:1px solid rgba(16,185,129,.3) !important;
 border-radius:14px !important;
 overflow:hidden !important;
 isolation:isolate;
 margin-top:32px !important;
}
.card[style*="rgba(16,185,129,.08)"]::before,
.card[style*="rgba(16,185,129,0.08)"]::before{
 content:"" !important;
 position:absolute !important;
 top:0 !important;left:0 !important;right:0 !important;
 height:3px !important;
 background:linear-gradient(90deg,#10b981 0%,#5fb0c5 33%,#c9a227 66%,#9f7aea 100%) !important;
 z-index:5 !important;opacity:.9;
 pointer-events:none !important;
}

/* Heading "Impact Metrics" */
.card[style*="rgba(16,185,129,.08)"] > h4,
.card[style*="rgba(16,185,129,0.08)"] > h4{
 font-family:var(--font-display,Georgia,serif) !important;
 font-size:1.18rem !important;
 font-weight:700 !important;
 color:#10b981 !important;
 margin:0 0 22px !important;
 letter-spacing:-.005em;
 padding-bottom:10px;
 border-bottom:1px solid rgba(16,185,129,.18);
 position:relative;z-index:2;
}

/* Force the metrics row to remain horizontal 4-up */
.card[style*="rgba(16,185,129,.08)"] > div[style*="grid-template-columns: repeat(4, 1fr)"],
.card[style*="rgba(16,185,129,0.08)"] > div[style*="grid-template-columns: repeat(4, 1fr)"]{
 display:grid !important;
 grid-template-columns:repeat(4, 1fr) !important;
 gap:14px !important;
 position:relative;z-index:2;
}
@media (max-width:980px){
 .card[style*="rgba(16,185,129,.08)"] > div[style*="grid-template-columns: repeat(4, 1fr)"],
 .card[style*="rgba(16,185,129,0.08)"] > div[style*="grid-template-columns: repeat(4, 1fr)"]{
 grid-template-columns:repeat(2, 1fr) !important;
 }
}
@media (max-width:560px){
 .card[style*="rgba(16,185,129,.08)"] > div[style*="grid-template-columns: repeat(4, 1fr)"],
 .card[style*="rgba(16,185,129,0.08)"] > div[style*="grid-template-columns: repeat(4, 1fr)"]{
 grid-template-columns:1fr !important;
 }
}

/* Each metric cell — premier mini-card */
.card[style*="rgba(16,185,129,.08)"] > div > div[style*="text-align: center"],
.card[style*="rgba(16,185,129,0.08)"] > div > div[style*="text-align: center"]{
 position:relative !important;
 display:flex !important;
 flex-direction:column !important;
 align-items:center !important;
 justify-content:center !important;
 padding:20px 14px !important;
 background:rgba(255,255,255,.025) !important;
 border:1px solid rgba(16,185,129,.18) !important;
 border-left:none !important; /* override inline border-left */
 border-radius:10px !important;
 overflow:hidden !important;
 text-align:center !important;
 min-width:0 !important;
 transition:transform .25s,border-color .22s,box-shadow .22s !important;
 isolation:isolate;
}

/* Top horizontal mini rainbow spine */
.card[style*="rgba(16,185,129,.08)"] > div > div[style*="text-align: center"]::before,
.card[style*="rgba(16,185,129,0.08)"] > div > div[style*="text-align: center"]::before{
 content:"" !important;
 position:absolute !important;
 top:0 !important;left:0 !important;right:0 !important;
 height:2px !important;
 z-index:5 !important;opacity:.85;
 pointer-events:none !important;
}

/* Per-cell spine variants */
.card[style*="rgba(16,185,129,.08)"] > div > div[style*="text-align: center"]:nth-child(1)::before,
.card[style*="rgba(16,185,129,0.08)"] > div > div[style*="text-align: center"]:nth-child(1)::before{
 background:linear-gradient(90deg,#10b981 0%,#5fb0c5 100%) !important;
}
.card[style*="rgba(16,185,129,.08)"] > div > div[style*="text-align: center"]:nth-child(2)::before,
.card[style*="rgba(16,185,129,0.08)"] > div > div[style*="text-align: center"]:nth-child(2)::before{
 background:linear-gradient(90deg,#5fb0c5 0%,#c9a227 100%) !important;
}
.card[style*="rgba(16,185,129,.08)"] > div > div[style*="text-align: center"]:nth-child(3)::before,
.card[style*="rgba(16,185,129,0.08)"] > div > div[style*="text-align: center"]:nth-child(3)::before{
 background:linear-gradient(90deg,#c9a227 0%,#c08b4e 100%) !important;
}
.card[style*="rgba(16,185,129,.08)"] > div > div[style*="text-align: center"]:nth-child(4)::before,
.card[style*="rgba(16,185,129,0.08)"] > div > div[style*="text-align: center"]:nth-child(4)::before{
 background:linear-gradient(90deg,#c08b4e 0%,#9f7aea 100%) !important;
}

/* Hover lift */
.card[style*="rgba(16,185,129,.08)"] > div > div[style*="text-align: center"]:hover,
.card[style*="rgba(16,185,129,0.08)"] > div > div[style*="text-align: center"]:hover{
 transform:translateY(-2px) !important;
 border-color:rgba(16,185,129,.5) !important;
 box-shadow:0 10px 20px rgba(0,0,0,.35),0 0 0 1px rgba(16,185,129,.18) !important;
}

/* Metric number (first <p>) */
.card[style*="rgba(16,185,129,.08)"] > div > div[style*="text-align: center"] > p:first-child,
.card[style*="rgba(16,185,129,0.08)"] > div > div[style*="text-align: center"] > p:first-child{
 font-family:var(--font-display,Georgia,serif) !important;
 font-size:clamp(1.6rem,3vw,2.1rem) !important;
 font-weight:700 !important;
 color:#10b981 !important;
 margin:8px 0 8px !important;
 line-height:1 !important;
 letter-spacing:-.01em;
 font-variant-numeric:tabular-nums;
 position:relative;z-index:2;
}

/* Label (second <p>) */
.card[style*="rgba(16,185,129,.08)"] > div > div[style*="text-align: center"] > p:nth-child(2),
.card[style*="rgba(16,185,129,0.08)"] > div > div[style*="text-align: center"] > p:nth-child(2){
 font-family:var(--mono,monospace) !important;
 font-size:.7rem !important;
 letter-spacing:.12em !important;
 text-transform:uppercase !important;
 color:var(--w2,#e7e9ee) !important;
 font-weight:600 !important;
 line-height:1.4 !important;
 margin:0 !important;
 position:relative;z-index:2;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
 .card[style*="rgba(16,185,129,.08)"] > div > div:hover{transform:none !important}
}
/* IMPACT_METRICS_PREMIER_20260509_END */

/* ─── MITRE_COVERAGE_PREMIER_20260509 ────────────────────────────────────
 Premier upgrade for the MITRE ATT&CK Coverage Map on cyber-portfolio.
 Container card gets rainbow spine. 11 .coverage-item rows render as
 labeled progress bars with color-keyed fills (red <70 / gold 70-84 /
 green 85+) and animated grow-in on load. */

/* Section wrapper */
#mitre-coverage{padding:48px 0 32px}
#mitre-coverage .head h2{
 font-family:var(--font-display,Georgia,serif) !important;
 font-size:clamp(1.6rem,2.6vw,2.1rem) !important;
 margin:0 0 12px !important;
}

/* Container card with the 11 bars */
#mitre-coverage .card{
 position:relative !important;
 padding:28px 26px 22px !important;
 background:linear-gradient(165deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%) !important;
 border:1px solid rgba(201,162,39,.22) !important;
 border-radius:14px !important;
 overflow:hidden !important;
 isolation:isolate;
 margin-top:1rem !important;
}
#mitre-coverage .card::before{
 content:"" !important;
 position:absolute !important;
 top:0 !important;left:0 !important;right:0 !important;
 height:3px !important;
 background:linear-gradient(90deg,#c9a227 0%,#5fb0c5 33%,#c08b4e 66%,#9f7aea 100%) !important;
 z-index:5 !important;opacity:.85;
 pointer-events:none !important;
}

/* Coverage row — grid: label | bar | percent */
.coverage-item{
 display:grid !important;
 grid-template-columns:170px 1fr 56px !important;
 align-items:center !important;
 gap:18px !important;
 padding:10px 0 !important;
 border-bottom:1px solid rgba(255,255,255,.04) !important;
 position:relative;
 transition:background .15s;
}
.coverage-item:last-child{border-bottom:none !important}
.coverage-item:hover{
 background:rgba(201,162,39,.025) !important;
}

/* Label */
.coverage-label{
 font-family:var(--mono,monospace) !important;
 font-size:.78rem !important;
 letter-spacing:.06em !important;
 color:var(--w1,#fff) !important;
 font-weight:700 !important;
 text-transform:uppercase !important;
 padding-left:14px;
 border-left:3px solid var(--gold,#c9a227);
}

/* Track */
.coverage-bar{
 position:relative !important;
 height:10px !important;
 background:rgba(255,255,255,.04) !important;
 border-radius:99px !important;
 overflow:hidden !important;
 border:1px solid rgba(255,255,255,.06) !important;
}

/* Fill — colorful gradient with shimmer */
.coverage-fill{
 position:relative !important;
 height:100% !important;
 border-radius:99px !important;
 background:linear-gradient(90deg,#10b981,#5fb0c5,#c9a227) !important;
 background-size:200% 100% !important;
 animation:coverShimmer 4s ease-in-out infinite alternate;
 box-shadow:0 0 12px rgba(201,162,39,.4);
 transition:width .8s cubic-bezier(.2,.8,.2,1);
}
.coverage-fill::after{
 content:"";position:absolute;
 top:0;right:0;width:8px;height:100%;
 background:linear-gradient(90deg,transparent,rgba(255,255,255,.4));
 border-radius:99px;
}
@keyframes coverShimmer{
 0%{background-position:0% 50%}
 100%{background-position:100% 50%}
}

/* Percent badge */
.coverage-percent{
 font-family:var(--font-display,Georgia,serif) !important;
 font-size:1.05rem !important;
 font-weight:700 !important;
 color:var(--gold,#c9a227) !important;
 text-align:right !important;
 font-variant-numeric:tabular-nums !important;
 letter-spacing:-.005em;
}

/* Color-coded label/percent per coverage tier — using nth-child mapping for the
 actual percentages in this static layout (1 Recon 72, 2 Init 88, 3 Exec 64,
 4 Persist 78, 5 PrivEsc 85, 6 DefEv 68, 7 Cred 93, 8 Lateral 82, 9 Coll 61,
 10 Exfil 84, 11 Impact 73) */

/* Tier 1 (>=85): GREEN */
.coverage-item:nth-child(2) .coverage-percent,
.coverage-item:nth-child(5) .coverage-percent,
.coverage-item:nth-child(7) .coverage-percent{color:#10b981 !important}
.coverage-item:nth-child(2) .coverage-label,
.coverage-item:nth-child(5) .coverage-label,
.coverage-item:nth-child(7) .coverage-label{border-left-color:#10b981 !important}
.coverage-item:nth-child(2) .coverage-fill,
.coverage-item:nth-child(5) .coverage-fill,
.coverage-item:nth-child(7) .coverage-fill{
 background:linear-gradient(90deg,#10b981,#5fb0c5) !important;
 background-size:200% 100% !important;
 box-shadow:0 0 12px rgba(16,185,129,.45) !important;
}

/* Tier 2 (70-84): GOLD */
.coverage-item:nth-child(1) .coverage-percent,
.coverage-item:nth-child(4) .coverage-percent,
.coverage-item:nth-child(8) .coverage-percent,
.coverage-item:nth-child(10) .coverage-percent,
.coverage-item:nth-child(11) .coverage-percent{color:var(--gold,#c9a227) !important}
.coverage-item:nth-child(1) .coverage-label,
.coverage-item:nth-child(4) .coverage-label,
.coverage-item:nth-child(8) .coverage-label,
.coverage-item:nth-child(10) .coverage-label,
.coverage-item:nth-child(11) .coverage-label{border-left-color:var(--gold,#c9a227) !important}
.coverage-item:nth-child(1) .coverage-fill,
.coverage-item:nth-child(4) .coverage-fill,
.coverage-item:nth-child(8) .coverage-fill,
.coverage-item:nth-child(10) .coverage-fill,
.coverage-item:nth-child(11) .coverage-fill{
 background:linear-gradient(90deg,#c9a227,#c08b4e) !important;
 background-size:200% 100% !important;
 box-shadow:0 0 12px rgba(201,162,39,.45) !important;
}

/* Tier 3 (<70): EM-ORANGE / RED */
.coverage-item:nth-child(3) .coverage-percent,
.coverage-item:nth-child(6) .coverage-percent,
.coverage-item:nth-child(9) .coverage-percent{color:#c08b4e !important}
.coverage-item:nth-child(3) .coverage-label,
.coverage-item:nth-child(6) .coverage-label,
.coverage-item:nth-child(9) .coverage-label{border-left-color:#c08b4e !important}
.coverage-item:nth-child(3) .coverage-fill,
.coverage-item:nth-child(6) .coverage-fill,
.coverage-item:nth-child(9) .coverage-fill{
 background:linear-gradient(90deg,#c08b4e,#e85d5d) !important;
 background-size:200% 100% !important;
 box-shadow:0 0 12px rgba(192,139,78,.45) !important;
}

/* Mobile: stack label above bar+pct */
@media (max-width:680px){
 .coverage-item{
 grid-template-columns:1fr 56px !important;
 grid-template-areas:"label percent" "bar bar" !important;
 gap:8px 14px !important;
 }
 .coverage-label{grid-area:label}
 .coverage-percent{grid-area:percent}
 .coverage-bar{grid-area:bar;margin-top:4px}
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
 .coverage-fill{animation:none !important}
}
/* MITRE_COVERAGE_PREMIER_20260509_END */

/* ─── CHIP_UNIVERSAL_PREMIER_20260509 ────────────────────────────────────
 Universal .chip pill styling — works regardless of parent container.
 Forces all .chip elements to render as proper colorful pills with
 visible separation, hover states, and gold/cyan/em variants. */

/* Universal .chip — always render as pill, no matter where placed */
span.chip,
.chip{
 display:inline-flex !important;
 align-items:center !important;
 padding:6px 11px !important;
 border-radius:99px !important;
 font-family:var(--mono,"SF Mono",Menlo,Consolas,monospace) !important;
 font-size:.7rem !important;
 letter-spacing:.04em !important;
 font-weight:600 !important;
 border:1px solid rgba(255,255,255,.12) !important;
 background:rgba(255,255,255,.025) !important;
 color:var(--w2,#e7e9ee) !important;
 white-space:nowrap !important;
 line-height:1.2 !important;
 margin:2px !important;
 transition:transform .15s,border-color .18s,background .18s,color .18s !important;
 cursor:default;
 vertical-align:middle;
}
span.chip:hover,
.chip:hover{
 transform:translateY(-1px);
 border-color:rgba(201,162,39,.45) !important;
 background:rgba(201,162,39,.06) !important;
 color:var(--gold,#c9a227) !important;
}

/* Gold variant */
span.chip.gold,
.chip.gold{
 background:rgba(201,162,39,.12) !important;
 border-color:rgba(201,162,39,.4) !important;
 color:var(--gold,#c9a227) !important;
 font-weight:700 !important;
}
span.chip.gold:hover,
.chip.gold:hover{
 background:var(--gold,#c9a227) !important;
 color:#0a0e1a !important;
 border-color:var(--gold,#c9a227) !important;
}

/* Cyan variant */
span.chip.cyan,
.chip.cyan{
 background:rgba(95,176,197,.12) !important;
 border-color:rgba(95,176,197,.4) !important;
 color:var(--cyan,#5fb0c5) !important;
 font-weight:700 !important;
}
span.chip.cyan:hover,
.chip.cyan:hover{
 background:var(--cyan,#5fb0c5) !important;
 color:#0a0e1a !important;
}

/* Em-orange variant */
span.chip.em,
.chip.em{
 background:rgba(192,139,78,.12) !important;
 border-color:rgba(192,139,78,.4) !important;
 color:#c08b4e !important;
 font-weight:700 !important;
}
.chip.em:hover{
 background:#c08b4e !important;
 color:#0a0e1a !important;
}

/* Force ANY parent containing chips to flex horizontally with gap.
 Inline style signature: display:flex;flex-wrap:wrap;gap:.45rem (or .5rem) */
div[style*="display:flex"][style*="flex-wrap:wrap"]:has(> .chip),
div[style*="display: flex"][style*="flex-wrap: wrap"]:has(> .chip){
 display:flex !important;
 flex-wrap:wrap !important;
 gap:6px 8px !important;
 align-items:center !important;
}

/* Category header rows on cyber-portfolio (the labels above chip strips) */
div[style*="margin-bottom:1rem"] > div[style*="font-size:.72rem"],
div[style*="margin-bottom: 1rem"] > div[style*="font-size: .72rem"]{
 display:block !important;
 font-family:var(--mono,monospace) !important;
 font-size:.72rem !important;
 letter-spacing:.14em !important;
 text-transform:uppercase !important;
 color:var(--gold,#c9a227) !important;
 font-weight:700 !important;
 margin-bottom:.7rem !important;
 padding:8px 0 8px 14px;
 border-left:3px solid var(--gold,#c9a227);
}

/* Per-section row container — premier mini-card surface */
div[style*="margin-bottom:1rem"]:has(> div > .chip),
div[style*="margin-bottom: 1rem"]:has(> div > .chip){
 position:relative;
 padding:14px 16px 16px !important;
 margin-bottom:1.1rem !important;
 background:rgba(255,255,255,.015) !important;
 border:1px solid rgba(255,255,255,.05) !important;
 border-radius:8px;
 transition:border-color .2s,background .2s;
}
div[style*="margin-bottom:1rem"]:has(> div > .chip):hover,
div[style*="margin-bottom: 1rem"]:has(> div > .chip):hover{
 background:rgba(201,162,39,.025) !important;
 border-color:rgba(201,162,39,.18) !important;
}

/* Mobile: tighter spacing */
@media (max-width:560px){
 span.chip,.chip{
 font-size:.66rem !important;
 padding:5px 9px !important;
 }
}
/* CHIP_UNIVERSAL_PREMIER_20260509_END */

/* ─── MITRE_RADAR_PREMIER_20260509 ────────────────────────────────────────
 Wrapper + animation for the inline SVG MITRE ATT&CK radar chart on
 cyber-portfolio. v2 (2026-05-09): removed the overrides that broke the
 original bar list — it now keeps its premier rainbow-spine treatment
 from MITRE_COVERAGE_PREMIER block, with a proper section heading
 added above. */

.mitre-radar-wrapper{
 position:relative;
 display:flex;
 flex-direction:column;
 align-items:center;
 gap:24px;
 padding:36px 24px 28px;
 margin:0 0 28px;
 background:linear-gradient(165deg,rgba(13,19,32,.94) 0%,rgba(10,14,26,1) 100%);
 border:1px solid rgba(201,162,39,.25);
 border-radius:14px;
 overflow:hidden;
 isolation:isolate;
}
.mitre-radar-wrapper::before{
 content:"";position:absolute;top:0;left:0;right:0;height:3px;
 background:linear-gradient(90deg,#c9a227 0%,#5fb0c5 33%,#c08b4e 66%,#9f7aea 100%);
 z-index:5;
}
.mitre-radar-wrapper::after{
 content:"";position:absolute;top:-100px;right:-100px;
 width:300px;height:300px;border-radius:50%;
 background:radial-gradient(circle,rgba(201,162,39,.08),transparent 70%);
 pointer-events:none;z-index:0;
}

.mitre-radar-svg{
 width:100%;
 max-width:640px;
 height:auto;
 display:block;
 position:relative;z-index:2;
 filter:drop-shadow(0 6px 20px rgba(0,0,0,.4));
}

/* Animated polygon draw-in */
.radar-coverage-poly{
 animation:radarFadeIn 1.4s cubic-bezier(.2,.8,.2,1) both;
 transform-origin:50% 50%;
}
@keyframes radarFadeIn{
 0% { opacity:0; transform:scale(.4); }
 60% { opacity:.7; transform:scale(1.06); }
 100% { opacity:1; transform:scale(1); }
}

/* Pulse glow on data points */
.mitre-radar-svg circle[filter*="glow"]{
 animation:dataPulse 2.8s ease-in-out infinite alternate;
}
@keyframes dataPulse{
 0% { transform:scale(1); }
 100% { transform:scale(1.15); }
}

/* Legend */
.mitre-radar-legend{
 display:grid;
 grid-template-columns:repeat(4,1fr);
 gap:14px;
 width:100%;
 max-width:640px;
 position:relative;z-index:2;
}
@media (max-width:680px){
 .mitre-radar-legend{grid-template-columns:repeat(2,1fr)}
}
.radar-stat{
 display:flex;
 flex-direction:column;
 align-items:center;
 text-align:center;
 padding:14px 12px;
 background:rgba(255,255,255,.025);
 border:1px solid rgba(255,255,255,.08);
 border-radius:10px;
 transition:transform .2s,border-color .2s;
}
.radar-stat:hover{
 transform:translateY(-2px);
 border-color:rgba(201,162,39,.35);
}
.radar-stat-num{
 font-family:var(--font-display,Georgia,serif);
 font-size:1.4rem;
 font-weight:700;
 line-height:1;
 margin-bottom:6px;
 letter-spacing:-.005em;
}
.radar-stat-lbl{
 font-family:var(--mono,monospace);
 font-size:.66rem;
 letter-spacing:.1em;
 text-transform:uppercase;
 color:var(--w3,#9aa3b3);
 font-weight:600;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
 .radar-coverage-poly,
 .mitre-radar-svg circle[filter*="glow"]{animation:none !important}
}

/* Detailed Coverage Table heading injected via mitre-radar-wrapper sibling */
.mitre-radar-wrapper + .card::before{
 content:"DETAILED COVERAGE BREAKDOWN" !important;
 position:absolute !important;
 top:-13px !important;
 left:24px !important;
 height:auto !important;
 width:auto !important;
 background:#0a0e1a !important;
 padding:5px 14px !important;
 font-family:var(--mono,monospace) !important;
 font-size:.62rem !important;
 letter-spacing:.18em !important;
 color:var(--gold,#c9a227) !important;
 font-weight:700 !important;
 border:1px solid rgba(201,162,39,.4) !important;
 border-radius:99px !important;
 text-transform:uppercase;
 z-index:10 !important;
 pointer-events:none;
}
/* MITRE_RADAR_PREMIER_20260509_END */

/* ─── SKILLS_CENTER_ALIGN_20260509 ───────────────────────────────────────
 Center-align the Skills & Competencies chip-list sections on
 cyber-portfolio so they share the same horizontal alignment as the
 section heading paragraph above (which is centered via .head). */

/* Center the entire #skills-overview section block */
#skills-overview > .wrap{
 max-width:1280px !important;
 margin:0 auto !important;
 padding:0 32px !important;
}

/* Section heading already centered via .head — no change needed */
#skills-overview .head{
 text-align:center !important;
 max-width:1080px !important;
 margin:0 auto 32px !important;
}

/* Tier-1 categorisation header (e.g. "Technical Skills") */
#skills-overview > .wrap > div > h3{
 text-align:center !important;
 max-width:1080px !important;
 margin:0 auto 1.4rem !important;
}

/* Each chip-list row — center align inside a constrained max-width */
#skills-overview > .wrap > div > div[style*="margin-bottom:1rem"],
div[style*="margin-bottom:1rem"]:has(> div > .chip),
div[style*="margin-bottom: 1rem"]:has(> div > .chip){
 max-width:1200px !important;
 margin:0 auto 1.1rem !important;
}

/* Category labels — keep on the left of the row but the row itself is centered */
div[style*="margin-bottom:1rem"]:has(> div > .chip) > div[style*="font-size:.72rem"],
div[style*="margin-bottom: 1rem"]:has(> div > .chip) > div[style*="font-size: .72rem"]{
 text-align:left !important;
}

/* Chip flex container — center-justify the chips within the row */
div[style*="margin-bottom:1rem"]:has(> div > .chip) > div[style*="display:flex"],
div[style*="margin-bottom: 1rem"]:has(> div > .chip) > div[style*="display: flex"]{
 justify-content:flex-start !important;
}

/* The whole 60+ category sections that come AFTER #skills-overview's wrap close
 (the orphaned chip-list sections) — wrap them into the same centered column */
section[id*="skill"] ~ div[style*="margin-bottom:1rem"]:has(> div > .chip),
section ~ div[style*="margin-bottom:1rem"]:has(> div > .chip){
 max-width:1200px !important;
 margin-left:auto !important;
 margin-right:auto !important;
}

/* Bulletproof: any orphan div[style*=margin-bottom] containing chips, even
 outside a section, should be centered horizontally */
body div[style*="margin-bottom:1rem"]:has(> div > .chip),
body div[style*="margin-bottom: 1rem"]:has(> div > .chip){
 margin-left:auto !important;
 margin-right:auto !important;
 max-width:1200px !important;
}
/* SKILLS_CENTER_ALIGN_20260509_END */

/* PUB_MORE_CATS_20260511 begin
 "More Categories" dropdown on /publications.html — CLAW-style cosmetic upgrade 2026-05-11.
 Independent of CLAW (regulatory-hub) — just shares the visual language.
 Revert: sed -i '/PUB_MORE_CATS_20260511 begin/,/PUB_MORE_CATS_20260511 end/d' global.css
*/
.pub-more-cats { position: relative; display: inline-flex; align-items: center; }

/* Button — gold gradient with glow halo (matches .claw-btn aesthetic) */
.pub-more-cats-btn {
 background: linear-gradient(135deg, rgba(201,162,39,.30), rgba(255,183,77,.18));
 border: 1.5px solid rgba(201,162,39,.70);
 border-radius: 10px;
 padding: 8px 14px;
 color: #ffd54f;
 cursor: pointer;
 font-family: var(--sans);
 font-size: .82rem;
 font-weight: 600;
 letter-spacing: .03em;
 text-transform: uppercase;
 display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
 transition: all .25s ease;
 box-shadow:
 0 0 14px rgba(201,162,39,.25),
 inset 0 1px 0 rgba(255,255,255,.08);
}
.pub-more-cats-btn::before {
 content: '';
 width: 6px; height: 6px; border-radius: 50%;
 background: radial-gradient(circle at 30% 30%, #ffe57f, #c9a227 70%);
 box-shadow: 0 0 8px rgba(255,213,79,.7);
 flex-shrink: 0;
}
.pub-more-cats-btn:hover {
 background: linear-gradient(135deg, rgba(201,162,39,.50), rgba(255,183,77,.32));
 border-color: rgba(255,210,77,.95);
 color: #ffe57f;
 box-shadow:
 0 0 24px rgba(201,162,39,.50),
 inset 0 1px 0 rgba(255,255,255,.14);
 transform: translateY(-1px);
}
.pub-more-cats-btn[aria-expanded="true"] {
 background: linear-gradient(135deg, rgba(201,162,39,.58), rgba(255,183,77,.38));
 border-color: #ffd54f;
 color: #fff8e1;
 box-shadow:
 0 0 30px rgba(201,162,39,.60),
 inset 0 1px 0 rgba(255,255,255,.16);
}
.pub-more-cats-btn.has-active {
 background: linear-gradient(135deg, rgba(201,162,39,.55), rgba(255,183,77,.35));
 border-color: #ffd54f;
 color: #fff8e1;
}
.pub-more-cats-caret {
 display: inline-block;
 transition: transform .25s ease;
 font-size: .65em; line-height: 1;
 opacity: .85;
}
.pub-more-cats-btn[aria-expanded="true"] .pub-more-cats-caret { transform: rotate(180deg); }

/* Dropdown panel — dark glassy, gold-bordered (mirrors .claw-dropdown) */
.pub-more-cats-pop {
 position: absolute;
 top: calc(100% + 10px);
 left: 0;
 min-width: 300px;
 max-width: 360px;
 padding: 0;
 background: linear-gradient(160deg, #0d0e1f 0%, #080916 100%);
 border: 1px solid rgba(201,162,39,.35);
 border-radius: 14px;
 box-shadow:
 0 24px 48px rgba(0,0,0,.65),
 0 0 0 1px rgba(201,162,39,.10);
 z-index: 10010;
 overflow: hidden;
 display: flex; flex-direction: column;
 opacity: 0;
 transform: translateY(-6px) scale(.98);
 pointer-events: none;
 transition: opacity .22s ease, transform .22s ease;
}
.pub-more-cats-pop[data-open="true"] {
 opacity: 1;
 transform: translateY(0) scale(1);
 pointer-events: auto;
}
.pub-more-cats-pop[hidden] { display: none; }

/* Header bar — gold tint */
.pub-more-cats-title {
 padding: 10px 14px 9px;
 background: linear-gradient(135deg, rgba(201,162,39,.20), rgba(201,162,39,.06));
 border-bottom: 1px solid rgba(201,162,39,.22);
 font-family: var(--mono, monospace);
 font-size: .68rem;
 letter-spacing: .14em;
 text-transform: uppercase;
 color: #ffd54f;
 font-weight: 700;
 display: flex; align-items: center; gap: 8px;
}
.pub-more-cats-title::before {
 content: '◆';
 font-size: .8em;
 opacity: .8;
}

/* Items — pill rows with gold hover gradient */
.pub-more-cats-pop .pub-more-cats-item,
.pub-more-cats-pop .filter-btn.pub-more-cats-item {
 margin: 4px 8px;
 padding: 9px 12px;
 border: 1px solid transparent;
 background: transparent;
 border-radius: 8px;
 color: var(--w2, #c7d3da);
 font-family: var(--sans);
 font-size: .82rem;
 font-weight: 500;
 letter-spacing: .02em;
 text-align: left;
 text-transform: none;
 cursor: pointer;
 display: flex; align-items: center; gap: 10px;
 transition: all .18s ease;
}
.pub-more-cats-pop .pub-more-cats-item:first-of-type { margin-top: 8px; }
.pub-more-cats-pop .pub-more-cats-item:last-of-type { margin-bottom: 8px; }
.pub-more-cats-pop .pub-more-cats-item::before {
 content: '';
 width: 6px; height: 6px; border-radius: 50%;
 background: rgba(201,162,39,.55);
 box-shadow: 0 0 6px rgba(201,162,39,.4);
 flex-shrink: 0;
 transition: all .18s ease;
}
.pub-more-cats-pop .pub-more-cats-item:hover {
 background: linear-gradient(135deg, rgba(201,162,39,.20), rgba(201,162,39,.08));
 border-color: rgba(201,162,39,.40);
 color: #ffd54f;
 transform: translateX(2px);
}
.pub-more-cats-pop .pub-more-cats-item:hover::before {
 background: #ffe57f;
 box-shadow: 0 0 10px rgba(255,213,79,.85);
 transform: scale(1.2);
}
.pub-more-cats-pop .pub-more-cats-item.active,
.pub-more-cats-pop .filter-btn.pub-more-cats-item.active {
 background: linear-gradient(135deg, rgba(201,162,39,.30), rgba(201,162,39,.12));
 border-color: rgba(255,213,79,.55);
 color: #fff8e1;
}

@media (max-width: 600px) {
 .pub-more-cats-pop { left: 0; right: 0; max-width: none; min-width: 0; }
}
/* PUB_MORE_CATS_20260511 end */

/* COLORFUL_CAT_BTNS_20260511 begin */
/* Per-category accent colours for publication filter buttons */
/* Each category gets its own --cat-c variable; hover/active use it */
.pub-filter-btn[data-filter="all"] { --cat-c: #c9a227; }
.pub-filter-btn[data-filter="ai"] { --cat-c: #5fb0c5; }
.pub-filter-btn[data-filter="soc"] { --cat-c: #5ec4b4; }
.pub-filter-btn[data-filter="ciso"] { --cat-c: #c08b4e; }
.pub-filter-btn[data-filter="reg"] { --cat-c: #e07d58; }
.pub-filter-btn[data-filter="resilience"] { --cat-c: #6aab8e; }
.pub-filter-btn[data-filter="identity"] { --cat-c: #d4a870; }
.pub-filter-btn[data-filter="zt"] { --cat-c: #6b9ac4; }
.pub-filter-btn[data-filter="ot"] { --cat-c: #d47a68; }
.pub-filter-btn[data-filter="cloud"] { --cat-c: #7ac7e0; }
.pub-filter-btn[data-filter="product"] { --cat-c: #8eb87d; }
.pub-filter-btn[data-filter="research"] { --cat-c: #8b9dc4; }
.pub-filter-btn[data-filter="sector"] { --cat-c: #c9b482; }
.pub-filter-btn[data-filter="smartcity"] { --cat-c: #7ebfa8; }
.pub-filter-btn[data-filter="appsec"] { --cat-c: #d46060; }
.pub-filter-btn[data-filter="offsec"] { --cat-c: #d49468; }
.pub-filter-btn[data-filter="thirdparty"] { --cat-c: #a89878; }
.pub-filter-btn[data-filter="privacy"] { --cat-c: #78b0d4; }
.pub-filter-btn[data-filter="quantum"] { --cat-c: #78c8c4; }
.pub-filter-btn[data-filter="cti"] { --cat-c: #d4c070; }

/* Apply per-category colour to border + text */
.pub-filter-btn[data-filter] {
 border-color: var(--cat-c, var(--gold));
 color: var(--cat-c, var(--gold));
}

/* Hover: subtle coloured glow fill */
.pub-filter-btn[data-filter]:hover {
 border-color: var(--cat-c, var(--gold));
 color: var(--cat-c, var(--gold));
 background: color-mix(in srgb, var(--cat-c, var(--gold)) 12%, transparent);
 box-shadow: 0 0 14px color-mix(in srgb, var(--cat-c, var(--gold)) 28%, transparent);
 transform: translateY(-2px);
}

/* Active: solid fill with dark text */
.pub-filter-btn[data-filter].active {
 background: var(--cat-c, var(--gold));
 border-color: var(--cat-c, var(--gold));
 color: #0a0e1a;
 box-shadow: 0 0 18px color-mix(in srgb, var(--cat-c, var(--gold)) 45%, transparent);
 transform: translateY(-1px);
}
/* COLORFUL_CAT_BTNS_20260511 end */


/* CLAW_DROPDOWN_TOGGLE_20260511 begin */
/* Fix: .claw-dropdown had no display:none — was always visible */
.claw-dropdown { display: none !important; }
.claw-dropdown.active { display: block !important; }
/* CLAW_DROPDOWN_TOGGLE_20260511 end */

/* UNIVERSAL_CHIP_BRAND_ROTATION_BEGIN_20260512 */
.chip, .tag, .pin-tag, .pub-badge, .cs-tag, .skill-tag, .badge-tag, .doc-tag, .meta-tag, .fact-tag { display: inline-block; padding: 5px 11px !important; border-radius: 999px !important; font-family: var(--mono, monospace) !important; font-size: .66rem !important; letter-spacing: .1em !important; text-transform: uppercase; font-weight: 700; margin: 2px; border: 1px solid !important; transition: filter .18s, transform .18s; }
.chip:hover, .tag:hover, .pin-tag:hover, .pub-badge:hover, .cs-tag:hover, .skill-tag:hover, .badge-tag:hover, .doc-tag:hover, .meta-tag:hover, .fact-tag:hover { filter: brightness(1.15); transform: translateY(-1px); }
.chip:nth-child(5n+1), .tag:nth-child(5n+1), .pin-tag:nth-child(5n+1), .pub-badge:nth-child(5n+1), .cs-tag:nth-child(5n+1), .skill-tag:nth-child(5n+1), .badge-tag:nth-child(5n+1), .doc-tag:nth-child(5n+1), .meta-tag:nth-child(5n+1), .fact-tag:nth-child(5n+1) { background: rgba(201,162,39,.14) !important; color: var(--gold,#c9a227) !important; border-color: rgba(201,162,39,.5) !important; }
.chip:nth-child(5n+2), .tag:nth-child(5n+2), .pin-tag:nth-child(5n+2), .pub-badge:nth-child(5n+2), .cs-tag:nth-child(5n+2), .skill-tag:nth-child(5n+2), .badge-tag:nth-child(5n+2), .doc-tag:nth-child(5n+2), .meta-tag:nth-child(5n+2), .fact-tag:nth-child(5n+2) { background: rgba(95,176,197,.14) !important; color: var(--cyan,#5fb0c5) !important; border-color: rgba(95,176,197,.5) !important; }
.chip:nth-child(5n+3), .tag:nth-child(5n+3), .pin-tag:nth-child(5n+3), .pub-badge:nth-child(5n+3), .cs-tag:nth-child(5n+3), .skill-tag:nth-child(5n+3), .badge-tag:nth-child(5n+3), .doc-tag:nth-child(5n+3), .meta-tag:nth-child(5n+3), .fact-tag:nth-child(5n+3) { background: rgba(192,139,78,.14) !important; color: var(--em,#c08b4e) !important; border-color: rgba(192,139,78,.5) !important; }
.chip:nth-child(5n+4), .tag:nth-child(5n+4), .pin-tag:nth-child(5n+4), .pub-badge:nth-child(5n+4), .cs-tag:nth-child(5n+4), .skill-tag:nth-child(5n+4), .badge-tag:nth-child(5n+4), .doc-tag:nth-child(5n+4), .meta-tag:nth-child(5n+4), .fact-tag:nth-child(5n+4) { background: rgba(159,122,234,.14) !important; color: var(--purple,#9f7aea) !important; border-color: rgba(159,122,234,.5) !important; }
.chip:nth-child(5n+5), .tag:nth-child(5n+5), .pin-tag:nth-child(5n+5), .pub-badge:nth-child(5n+5), .cs-tag:nth-child(5n+5), .skill-tag:nth-child(5n+5), .badge-tag:nth-child(5n+5), .doc-tag:nth-child(5n+5), .meta-tag:nth-child(5n+5), .fact-tag:nth-child(5n+5) { background: rgba(20,184,166,.14) !important; color: #14b8a6 !important; border-color: rgba(20,184,166,.5) !important; }
/* UNIVERSAL_CHIP_BRAND_ROTATION_END_20260512 */


/* ===============================================================
 PILOT-KU101 BEGIN Enterprise Delivery Lineage (kieransky.co.uk)
 Inserted: 2026-05-14 Revert: delete between BEGIN/END markers
 Tokens : --gold #c9a227 --cyan #06b6d4 --em #10b981
 =============================================================== */
.lineage-ku101{padding:72px 0 80px;background:radial-gradient(1200px 600px at 18% 0%,rgba(201,162,39,.06),transparent 70%),radial-gradient(1000px 500px at 82% 100%,rgba(6,182,212,.05),transparent 70%),linear-gradient(180deg,#060610 0%,#08080f 50%,#060610 100%);border-top:1px solid rgba(201,162,39,.14);border-bottom:1px solid rgba(201,162,39,.10);position:relative}
.lineage-ku101::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(201,162,39,.55) 20%,rgba(6,182,212,.45) 50%,rgba(16,185,129,.45) 80%,transparent 100%)}
.lineage-ku101 .wrap{padding:0 32px;max-width:1240px;margin:0 auto}
.lineage-ku101-head{margin-bottom:32px;max-width:900px}
.lineage-ku101-kicker{font:600 11px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.18em;text-transform:uppercase;color:#c9a227;margin-bottom:14px;display:inline-flex;align-items:center;gap:10px}
.lineage-ku101-kicker::before{content:"";width:28px;height:1px;background:#c9a227;opacity:.7}
.lineage-ku101-title{font:600 30px/1.18 ui-serif,Georgia,"Times New Roman",serif;color:#f4ead2;margin:0 0 12px;text-wrap:balance;letter-spacing:-.005em}
.lineage-ku101-sub{font:400 16px/1.55 system-ui,-apple-system,Segoe UI,Inter,sans-serif;color:#a8a59a;margin:0;max-width:820px;text-wrap:pretty}
.lineage-ku101-group{margin-bottom:30px}
.lineage-ku101-group:last-of-type{margin-bottom:24px}
.lineage-ku101-subkicker{font:600 10.5px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.20em;text-transform:uppercase;color:#bda767;margin:0 0 14px;display:inline-flex;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid rgba(201,162,39,.18);min-width:300px}
.lineage-ku101-subkicker::before{content:"";width:18px;height:1px;background:#c9a227;opacity:.7}
.lineage-ku101-grid{list-style:none;padding:0;margin:0;display:grid;gap:14px;grid-template-columns:repeat(4,1fr)}
@media (max-width:1100px){.lineage-ku101-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.lineage-ku101-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:460px){.lineage-ku101-grid{grid-template-columns:1fr}}
.lineage-ku101-cell{position:relative;isolation:isolate;padding:20px 18px 16px;background:linear-gradient(180deg,rgba(255,255,255,.025) 0%,rgba(255,255,255,.008) 100%);border:1px solid rgba(201,162,39,.16);border-radius:8px;overflow:hidden;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.lineage-ku101-cell::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;z-index:1;background:linear-gradient(90deg,#c9a227 0%,#06b6d4 35%,#10b981 70%,#c9a227 100%);background-size:300% 100%;animation:lineageKu101Shimmer 6s linear infinite}
@keyframes lineageKu101Shimmer{0%{background-position:0% 0%}100%{background-position:200% 0%}}
.lineage-ku101-cell:hover{transform:translateY(-2px);border-color:rgba(201,162,39,.42);box-shadow:0 10px 28px -14px rgba(201,162,39,.35)}
.lineage-ku101-name{display:block;position:relative;z-index:2;font:600 15px/1.25 system-ui,-apple-system,Segoe UI,Inter,sans-serif;color:#f4ead2;letter-spacing:-.005em;margin-top:6px}
.lineage-ku101-desc{display:block;position:relative;z-index:2;margin-top:6px;font:400 12px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#9a9789;font-variant-numeric:tabular-nums}
.lineage-ku101-callout{position:relative;display:flex;gap:16px;align-items:flex-start;padding:18px 20px;background:linear-gradient(180deg,rgba(201,162,39,.05) 0%,rgba(201,162,39,.02) 100%);border:1px solid rgba(201,162,39,.22);border-radius:6px;margin-bottom:18px}
.lineage-ku101-callout-bar{width:3px;align-self:stretch;background:linear-gradient(180deg,#c9a227 0%,#06b6d4 100%);border-radius:2px;flex-shrink:0}
.lineage-ku101-callout-p{margin:0;font:400 14px/1.55 system-ui,-apple-system,Segoe UI,Inter,sans-serif;color:#cfc9b5;text-wrap:pretty}
.lineage-ku101-callout-p strong{color:#f4ead2;font-weight:600}
.lineage-ku101-disclaim{margin:0;font:400 11.5px/1.55 system-ui,-apple-system,Segoe UI,Inter,sans-serif;color:#6f6c63;max-width:900px}
.lineage-ku101-disclaim em{font-style:italic}
@media (max-width:760px){.lineage-ku101{padding:56px 0 60px}.lineage-ku101 .wrap{padding:0 20px}.lineage-ku101-title{font-size:24px}.lineage-ku101-sub{font-size:15px}}
@media (prefers-reduced-motion: reduce){.lineage-ku101-cell::before{animation:none}.lineage-ku101-cell:hover{transform:none}}
/* PILOT-KU101 END */


/* ===============================================================
 PILOT-KU101-V2 BEGIN Top tape + wordmark grid + 3-group spacing
 Site: kieransky.co.uk Inserted: 2026-05-14
 Revert: delete between PILOT-KU101-V2 BEGIN/END markers
 =============================================================== */

/* ---- Above-the-fold compact tape (v4 — upgraded for prominence) ---- */
.lineage-tape{
 background:
 linear-gradient(90deg, rgba(201,162,39,.18) 0%, rgba(6,182,212,.10) 50%, rgba(16,185,129,.12) 100%),
 linear-gradient(180deg, #050610 0%, #03050b 100%);
 border-top:1px solid rgba(201,162,39,.45);
 border-bottom:1px solid rgba(201,162,39,.28);
 position:relative; overflow:hidden;
 box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.4), 0 1px 0 0 rgba(255,255,255,.02);
}
.lineage-tape::before{
 content:""; position:absolute; left:0; right:0; top:0; height:4px;
 background:linear-gradient(90deg,#c9a227 0%,#5fb0c5 25%,#c08b4e 50%,#9f7aea 75%,#c9a227 100%);
 background-size:300% 100%;
 animation:lineageTapeShimmer 5s linear infinite;
 z-index:1;
}
@keyframes lineageTapeShimmer{0%{background-position:0% 0%}100%{background-position:300% 0%}}
.lineage-tape-inner{
 max-width:1240px; margin:0 auto; padding:14px 32px;
 display:flex; align-items:center; gap:24px; flex-wrap:wrap;
 position:relative; z-index:2;
}
.lineage-tape-label{
 display:inline-flex; align-items:center; gap:10px;
 font:700 12px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
 letter-spacing:.22em; text-transform:uppercase;
 color:#d4af37; text-decoration:none; flex-shrink:0;
 padding:8px 18px 8px 0;
 border-right:1px solid rgba(201,162,39,.32);
 margin-right:6px;
}
.lineage-tape-kicker{color:#d4af37; text-shadow:0 0 24px rgba(212,175,55,.25)}
.lineage-tape-dot{
 width:9px; height:9px; border-radius:50%;
 background:#d4af37;
 box-shadow:0 0 0 3px rgba(201,162,39,.22), 0 0 14px rgba(212,175,55,.7);
 animation:lineageTapeDot 2.2s ease-in-out infinite;
 flex-shrink:0;
}
@keyframes lineageTapeDot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}
.lineage-tape-list{
 flex:1 1 auto;
 display:flex; flex-wrap:wrap; gap:6px 6px; align-items:center;
}
.lineage-tape-list .pin-tag{
 text-decoration:none;
 cursor:pointer;
}
.lineage-tape-list .pin-tag:hover,
.lineage-tape-list .pin-tag:focus-visible{
 outline:none;
 /* hover effect is supplied by global .pin-tag:hover rule
 (filter:brightness(1.15) + translateY(-1px)) */
}
.lineage-tape-cta{
 font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
 letter-spacing:.14em; text-transform:uppercase;
 color:#7adef0; text-decoration:none; flex-shrink:0;
 padding:9px 14px; border-radius:4px;
 background:linear-gradient(180deg,rgba(6,182,212,.18) 0%,rgba(6,182,212,.06) 100%);
 border:1px solid rgba(6,182,212,.45);
 transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.lineage-tape-cta:hover{
 background:linear-gradient(180deg,rgba(6,182,212,.28) 0%,rgba(6,182,212,.12) 100%);
 border-color:rgba(6,182,212,.70);
 color:#cfeff7;
}
@media (max-width:980px){
 .lineage-tape-inner{padding:12px 20px; gap:14px}
 .lineage-tape-label{padding:6px 12px 6px 0; gap:8px}
 .lineage-tape-list{gap:2px 12px}
 .lineage-tape-list a{font-size:13px;padding:6px 2px}
 .lineage-tape-cta{display:none}
}
@media (max-width:560px){
 .lineage-tape-label{font-size:11px; letter-spacing:.18em}
 .lineage-tape-list a{font-size:12.5px}
 .lineage-tape-list li.sep{font-size:14px}
}
@media (prefers-reduced-motion: reduce){
 .lineage-tape::before{animation:none}
 .lineage-tape-dot{animation:none}
 .lineage-tape-list a::after{transition:none}
}
/* ---- Wordmark tile grid ---- */
.lineage-marks{
 padding:64px 0 72px;
 background:linear-gradient(180deg,#05060c 0%,#080910 50%,#05060c 100%);
 border-top:1px solid rgba(201,162,39,.12);
 border-bottom:1px solid rgba(201,162,39,.08);
}
.lineage-marks .wrap{max-width:1240px; margin:0 auto; padding:0 32px}
.lineage-marks-head{margin-bottom:28px; max-width:880px}
.lineage-marks-kicker{
 font:600 11px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
 letter-spacing:.18em; text-transform:uppercase; color:#c9a227;
 margin-bottom:12px; display:inline-flex; align-items:center; gap:10px;
}
.lineage-marks-kicker::before{content:"";width:24px;height:1px;background:#c9a227;opacity:.7}
.lineage-marks-title{
 font:600 26px/1.22 ui-serif,Georgia,"Times New Roman",serif;
 color:#f4ead2; margin:0 0 10px; text-wrap:balance;
}
.lineage-marks-sub{
 font:400 14.5px/1.55 system-ui,-apple-system,Segoe UI,Inter,sans-serif;
 color:#a8a59a; margin:0; max-width:760px;
}
.lineage-marks-sub a{color:#06b6d4;text-decoration:none;border-bottom:1px dotted rgba(6,182,212,.4)}
.lineage-marks-sub a:hover{color:#7adef0;border-bottom-color:#7adef0}
.lineage-marks-grid{
 list-style:none; padding:0; margin:0;
 display:grid; gap:18px;
 grid-template-columns:repeat(4,1fr);
}
@media (max-width:1100px){.lineage-marks-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.lineage-marks-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:420px){.lineage-marks-grid{grid-template-columns:1fr}}

/* Atlas-card-equivalent treatment for each tile */
.lineage-mark{
 --accent:#c9a227;
 --accent-rgb:201,162,39;
 position:relative; isolation:isolate;
 display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start;
 padding:24px 22px 20px;
 background:linear-gradient(155deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%);
 border:1px solid rgba(255,255,255,.08);
 border-radius:14px;
 text-decoration:none; color:inherit;
 overflow:hidden;
 min-height:140px;
 transition:transform .28s cubic-bezier(.2,.8,.2,1), border-color .28s, box-shadow .28s;
}
.lineage-mark--big4 {--accent:#5fb0c5; --accent-rgb:95,176,197}
.lineage-mark--its {--accent:#c9a227; --accent-rgb:201,162,39}
.lineage-mark--platforms{--accent:#10b981; --accent-rgb:16,185,129}

/* Rainbow spine, anchored top-edge, full-width — matches the Horizontal Spine Card Standard */
.lineage-mark::before{
 content:""; position:absolute; top:0; left:0; right:0; height:3px;
 background:linear-gradient(90deg,#c9a227 0%,#5fb0c5 33%,#c08b4e 66%,#9f7aea 100%);
 background-size:200% 100%; z-index:5;
 transition:opacity .25s ease;
}
/* Corner radial glow */
.lineage-mark::after{
 content:""; position:absolute; top:-50px; right:-50px;
 width:140px; height:140px; border-radius:50%;
 background:radial-gradient(circle, rgba(var(--accent-rgb),.10), transparent 70%);
 opacity:.55; transition:opacity .25s, transform .35s; z-index:0;
}
.lineage-mark:hover{
 transform:translateY(-3px);
 border-color:rgba(var(--accent-rgb),.5);
 box-shadow:0 16px 32px rgba(0,0,0,.45),
 0 0 0 1px rgba(var(--accent-rgb),.2),
 inset 0 1px 0 rgba(255,255,255,.04);
}
.lineage-mark:hover::before{
 background:linear-gradient(90deg,#c9a227,#5fb0c5,#c08b4e,#9f7aea,#c9a227);
 background-size:200% 100%;
 animation:lineageMarkSpine 3s linear infinite;
}
@keyframes lineageMarkSpine{0%{background-position:0% 0%}100%{background-position:200% 0%}}
.lineage-mark:hover::after{opacity:1; transform:scale(1.15)}

.lineage-mark-icon{
 position:relative; z-index:2;
 display:block;
 font:700 1.6rem/1 ui-serif,Georgia,"Times New Roman",serif;
 color:var(--accent);
 margin:0 0 12px;
 filter:drop-shadow(0 0 12px rgba(var(--accent-rgb),.3));
 letter-spacing:.01em;
}
.lineage-mark-kicker{
 position:relative; z-index:2;
 display:block;
 font:700 .62rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
 letter-spacing:.18em; text-transform:uppercase;
 color:var(--accent);
 margin:0 0 6px;
}
.lineage-mark-title{
 position:relative; z-index:2;
 display:block;
 font:700 1.05rem/1.22 ui-serif,Georgia,"Times New Roman",serif;
 color:#f4ead2;
 letter-spacing:-.005em;
 margin:0 0 12px;
 text-wrap:balance;
}
.lineage-mark-arrow{
 position:relative; z-index:2;
 display:inline-flex; align-items:center; justify-content:center;
 width:28px; height:28px; border-radius:50%;
 background:rgba(var(--accent-rgb),.1);
 color:var(--accent);
 font:700 .92rem/1 system-ui,sans-serif;
 margin-top:auto;
 transition:transform .25s, background .25s, color .25s;
}
.lineage-mark:hover .lineage-mark-arrow{
 background:var(--accent); color:#0a0e1a; transform:translateX(3px);
}
@media (max-width:760px){
 .lineage-mark{padding:18px 16px 14px; min-height:120px}
 .lineage-mark-icon{font-size:1.4rem; margin-bottom:8px}
 .lineage-mark-title{font-size:.98rem}
}
@media (prefers-reduced-motion: reduce){
 .lineage-mark{transition:none}
 .lineage-mark:hover{transform:none}
 .lineage-mark:hover::before{animation:none}
 .lineage-mark-arrow{transition:none}
}

.lineage-marks-note{
 margin:22px 0 0;
 font:400 11.5px/1.55 system-ui,-apple-system,Segoe UI,Inter,sans-serif;
 color:#6f6c63; max-width:900px;
}
.lineage-marks-note em{font-style:italic}
@media (max-width:760px){
 .lineage-marks{padding:48px 0 56px}
 .lineage-marks .wrap{padding:0 20px}
 .lineage-marks-title{font-size:22px}
 .lineage-mark{min-height:64px;padding:14px 10px}
 .lineage-mark-text{font-size:15px}
}
@media (prefers-reduced-motion: reduce){
 .lineage-mark:hover{transform:none}
}
/* PILOT-KU101-V2 END */


/* PILOT-KU101-V6 BEGIN — monogram badges */
.lineage-ku101-cell{
 /* allow monogram badge to sit beside text without breaking existing flow */
 display:grid;
 grid-template-columns:44px 1fr;
 column-gap:12px; align-items:center;
}
.lineage-ku101-cell .lineage-ku101-name,
.lineage-ku101-cell .lineage-ku101-desc{ grid-column:2 }
.lineage-ku101-mono{
 grid-column:1; grid-row:1 / span 2;
 position:relative; z-index:2;
 display:flex; align-items:center; justify-content:center;
 width:44px; height:44px;
 border-radius:8px;
 font:700 13px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
 letter-spacing:.04em; text-transform:uppercase;
 border:1px solid;
 user-select:none;
}
.lineage-ku101-cell:nth-child(5n+1) .lineage-ku101-mono{
 background:rgba(201,162,39,.16); color:#c9a227; border-color:rgba(201,162,39,.5);
}
.lineage-ku101-cell:nth-child(5n+2) .lineage-ku101-mono{
 background:rgba(95,176,197,.16); color:#5fb0c5; border-color:rgba(95,176,197,.5);
}
.lineage-ku101-cell:nth-child(5n+3) .lineage-ku101-mono{
 background:rgba(192,139,78,.16); color:#c08b4e; border-color:rgba(192,139,78,.5);
}
.lineage-ku101-cell:nth-child(5n+4) .lineage-ku101-mono{
 background:rgba(159,122,234,.16); color:#9f7aea; border-color:rgba(159,122,234,.5);
}
.lineage-ku101-cell:nth-child(5n+5) .lineage-ku101-mono{
 background:rgba(20,184,166,.16); color:#14b8a6; border-color:rgba(20,184,166,.5);
}
@media (max-width:760px){
 .lineage-ku101-cell{ grid-template-columns:38px 1fr; column-gap:10px }
 .lineage-ku101-mono{ width:38px; height:38px; font-size:11px }
}
/* PILOT-KU101-V6 END */


/* ===============================================================
 PILOT-KU101-V9 BEGIN — centre the top tape content horizontally
 Without this override, .lineage-tape-list has flex:1 1 auto and
 chips left-align within the available space. With it, every line
 (and every wrapped row) is centred on the page.
 Revert: delete between PILOT-KU101-V9 BEGIN and END.
 =============================================================== */
.lineage-tape-inner{
 justify-content:center !important;
 gap:20px !important;
}
.lineage-tape-list{
 flex:0 1 auto !important;
 justify-content:center !important;
}
.lineage-tape-label{
 border-right:none !important;
 margin-right:0 !important;
 padding-right:0 !important;
}
@media (max-width:980px){
 .lineage-tape-inner{ gap:10px !important }
}
/* PILOT-KU101-V9 END */


/* ===============================================================
 PILOT-KU101-V10 BEGIN — tighten ticker vertical footprint
 Cuts the wasted whitespace either side of the top tape.
 =============================================================== */
.lineage-tape{
 margin:0 !important;
}
.lineage-tape-inner{
 padding-top:6px !important;
 padding-bottom:6px !important;
}
@media (max-width:980px){
 .lineage-tape-inner{
 padding-top:4px !important;
 padding-bottom:4px !important;
 }
}
/* Pull the very next section a touch closer to the tape */
.lineage-tape + section,
.lineage-tape + *{
 margin-top:0 !important;
}
/* PILOT-KU101-V10 END */


/* ===============================================================
 PILOT-KU101-V11 BEGIN — premium atlas-card treatment for the
 Delivery Lineage detail cells (.lineage-ku101-cell)
 =============================================================== */
.lineage-ku101-grid{
 display:grid !important;
 grid-template-columns:repeat(2,1fr) !important;
 gap:18px !important;
 margin:0 !important;
 padding:0 !important;
 list-style:none !important;
}
@media (max-width:880px){
 .lineage-ku101-grid{grid-template-columns:1fr !important}
}

/* Per-group accent colour — pass via custom property */
.lineage-ku101-group:nth-of-type(1) .lineage-ku101-cell{ --accent:#5fb0c5; --accent-rgb:95,176,197; } /* Big 4 - cyan */
.lineage-ku101-group:nth-of-type(2) .lineage-ku101-cell{ --accent:#c9a227; --accent-rgb:201,162,39; } /* IT Svc - gold */
.lineage-ku101-group:nth-of-type(3) .lineage-ku101-cell{ --accent:#10b981; --accent-rgb:16,185,129; } /* Platfm - em */

.lineage-ku101-cell{
 position:relative !important;
 isolation:isolate !important;
 display:grid !important;
 grid-template-columns:50px 1fr 28px !important;
 grid-template-rows:auto auto !important;
 column-gap:14px !important;
 align-items:center !important;
 padding:22px 22px 20px !important;
 background:linear-gradient(155deg,rgba(13,19,32,.92) 0%,rgba(10,14,26,.98) 100%) !important;
 border:1px solid rgba(255,255,255,.08) !important;
 border-radius:14px !important;
 text-decoration:none !important;
 overflow:hidden !important;
 transition:transform .28s cubic-bezier(.2,.8,.2,1),
 border-color .28s,
 box-shadow .28s !important;
}
.lineage-ku101-cell::before{
 content:"" !important; position:absolute; top:0; left:0; right:0;
 height:3px !important; width:auto !important;
 background:linear-gradient(90deg,#c9a227 0%,#5fb0c5 33%,#c08b4e 66%,#9f7aea 100%) !important;
 background-size:200% 100% !important;
 z-index:5;
 transition:opacity .25s;
}
.lineage-ku101-cell::after{
 content:""; position:absolute; top:-50px; right:-50px;
 width:160px; height:160px; border-radius:50%;
 background:radial-gradient(circle, rgba(var(--accent-rgb),.10), transparent 70%);
 opacity:.55; transition:opacity .25s, transform .35s;
 z-index:0;
}
.lineage-ku101-cell:hover{
 transform:translateY(-3px) !important;
 border-color:rgba(var(--accent-rgb),.5) !important;
 box-shadow:0 16px 32px rgba(0,0,0,.45),
 0 0 0 1px rgba(var(--accent-rgb),.22),
 inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.lineage-ku101-cell:hover::before{
 background:linear-gradient(90deg,#c9a227,#5fb0c5,#c08b4e,#9f7aea,#c9a227) !important;
 background-size:200% 100% !important;
 animation:lineageCellSpine 3s linear infinite !important;
}
@keyframes lineageCellSpine{0%{background-position:0% 0%}100%{background-position:200% 0%}}
.lineage-ku101-cell:hover::after{ opacity:1; transform:scale(1.15) }

/* Monogram (v6) — re-style for premium */
.lineage-ku101-cell .lineage-ku101-mono{
 grid-column:1 / 2 !important;
 grid-row:1 / span 2 !important;
 width:50px !important; height:50px !important;
 border-radius:10px !important;
 border:1px solid rgba(var(--accent-rgb),.45) !important;
 background:rgba(var(--accent-rgb),.10) !important;
 color:var(--accent) !important;
 font:700 14px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace !important;
 letter-spacing:.04em !important;
 text-transform:uppercase !important;
 display:flex !important; align-items:center !important; justify-content:center !important;
 z-index:2; position:relative;
 filter:drop-shadow(0 0 10px rgba(var(--accent-rgb),.25));
 transition:background .25s, color .25s, border-color .25s;
}
.lineage-ku101-cell:hover .lineage-ku101-mono{
 background:var(--accent) !important;
 color:#0a0e1a !important;
 border-color:var(--accent) !important;
}

/* Name + descriptor */
.lineage-ku101-cell .lineage-ku101-name{
 grid-column:2 / 3 !important;
 grid-row:1 / 2 !important;
 font:700 1.05rem/1.2 ui-serif,Georgia,"Times New Roman",serif !important;
 color:#f4ead2 !important;
 letter-spacing:-.005em !important;
 margin:0 !important;
 z-index:2; position:relative;
}
.lineage-ku101-cell .lineage-ku101-desc{
 grid-column:2 / 3 !important;
 grid-row:2 / 3 !important;
 margin-top:4px !important;
 font:400 12.5px/1.45 system-ui,-apple-system,Segoe UI,Inter,sans-serif !important;
 color:#a8a59a !important;
 font-variant-numeric:tabular-nums;
 z-index:2; position:relative;
}

/* Arrow indicator */
.lineage-ku101-arrow{
 grid-column:3 / 4 !important;
 grid-row:1 / span 2 !important;
 display:inline-flex !important;
 align-items:center !important; justify-content:center !important;
 width:28px !important; height:28px !important;
 border-radius:50% !important;
 background:rgba(var(--accent-rgb),.10) !important;
 color:var(--accent) !important;
 font:700 .9rem/1 system-ui,sans-serif !important;
 transition:transform .25s, background .25s, color .25s;
 z-index:2; position:relative;
}
.lineage-ku101-cell:hover .lineage-ku101-arrow{
 background:var(--accent) !important;
 color:#0a0e1a !important;
 transform:translateX(3px) !important;
}

@media (max-width:560px){
 .lineage-ku101-cell{
 grid-template-columns:42px 1fr 24px !important;
 padding:16px 14px !important;
 column-gap:10px !important;
 }
 .lineage-ku101-cell .lineage-ku101-mono{ width:42px !important; height:42px !important; font-size:12px !important }
 .lineage-ku101-cell .lineage-ku101-name{ font-size:1rem !important }
 .lineage-ku101-cell .lineage-ku101-desc{ font-size:12px !important }
 .lineage-ku101-arrow{ width:24px !important; height:24px !important; font-size:.8rem !important }
}
@media (prefers-reduced-motion: reduce){
 .lineage-ku101-cell, .lineage-ku101-mono, .lineage-ku101-arrow{ transition:none !important }
 .lineage-ku101-cell:hover{ transform:none !important }
 .lineage-ku101-cell:hover::before{ animation:none !important }
}

/* Group sub-kicker — premium touch */
.lineage-ku101-subkicker{
 font:700 .68rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace !important;
 letter-spacing:.22em !important;
 text-transform:uppercase !important;
 margin:24px 0 14px !important;
 padding-bottom:10px !important;
 border-bottom:1px solid rgba(255,255,255,.08) !important;
 display:flex !important; align-items:center !important; gap:12px !important;
 min-width:0 !important; width:auto !important;
}
.lineage-ku101-group:nth-of-type(1) .lineage-ku101-subkicker{ color:#5fb0c5 !important }
.lineage-ku101-group:nth-of-type(1) .lineage-ku101-subkicker::before{ background:#5fb0c5 !important }
.lineage-ku101-group:nth-of-type(2) .lineage-ku101-subkicker{ color:#c9a227 !important }
.lineage-ku101-group:nth-of-type(2) .lineage-ku101-subkicker::before{ background:#c9a227 !important }
.lineage-ku101-group:nth-of-type(3) .lineage-ku101-subkicker{ color:#10b981 !important }
.lineage-ku101-group:nth-of-type(3) .lineage-ku101-subkicker::before{ background:#10b981 !important }
.lineage-ku101-subkicker::before{
 content:"" !important;
 width:24px !important; height:1px !important;
 background:#c9a227 !important; opacity:.85 !important;
}
.lineage-ku101-group:first-of-type .lineage-ku101-subkicker{ margin-top:8px !important }
/* PILOT-KU101-V11 END */


/* ===============================================================
 PILOT-KU101-V12 BEGIN — gold spine on top tape
 Matches the gold spine on .bespoke-pin (Institutional · Sovereign
 · Doctrine-Grade) which uses border-left:3px solid var(--gold).
 Was: gold → cyan → ember → purple rainbow (4-color).
 Now: gold → bright-gold → gold (single-hue shimmer).
 =============================================================== */
.lineage-tape::before{
 background:linear-gradient(90deg,
 #c9a227 0%,
 #d4af37 25%,
 #e9c668 50%,
 #d4af37 75%,
 #c9a227 100%) !important;
 background-size:200% 100% !important;
}
/* PILOT-KU101-V12 END */


/* ===============================================================
 PILOT-KU101-V13 BEGIN — additional 1-line reduction around ticker
 Stacks on top of V10. Zeros the inner padding, adds a small
 negative margin so the tape sits flush against the hero, and
 trims the leading padding of the section that follows.
 =============================================================== */
.lineage-tape-inner{
 padding-top:0 !important;
 padding-bottom:0 !important;
}
.lineage-tape{
 margin-top:-2px !important;
 margin-bottom:-4px !important;
}
.lineage-tape + section,
.lineage-tape + *{
 padding-top:6px !important;
}
@media (max-width:980px){
 .lineage-tape-inner{
 padding-top:0 !important;
 padding-bottom:0 !important;
 }
}
/* PILOT-KU101-V13 END */


/* ===============================================================
 PILOT-KU101-V14 BEGIN — one more line of vertical reduction
 Stacks on V10 + V13. Deeper negative margins on the tape and
 zero leading-padding on the section that follows.
 =============================================================== */
.lineage-tape{
 margin-top:-14px !important;
 margin-bottom:-10px !important;
}
.lineage-tape + section,
.lineage-tape + *{
 padding-top:0 !important;
 margin-top:0 !important;
}
@media (max-width:980px){
 .lineage-tape{
 margin-top:-8px !important;
 margin-bottom:-6px !important;
 }
}
/* PILOT-KU101-V14 END */

/* LINEAGE_PRODWHY_STANDARD_20260514 begin
 Brings .lineage-ku101-cell text + spine into parity with .prod-why-col
 premium card treatment (the visual standard the user approved). */
.lineage-ku101-cell{
 padding: 26px 24px 22px !important;
 background: linear-gradient(165deg, rgba(13,19,32,.92) 0%, rgba(10,14,26,.98) 100%) !important;
 border: 1px solid rgba(201,162,39,.18) !important;
}
.lineage-ku101-cell::before{
 height: 4px !important;
 background: linear-gradient(90deg, #c9a227 0%, #5fb0c5 35%, #c08b4e 70%, #9f7aea 100%) !important;
 background-size: 200% 100% !important;
 z-index: 4 !important;
}
.lineage-ku101-cell:hover{
 border-color: rgba(201,162,39,.55) !important;
 box-shadow: 0 16px 32px rgba(0,0,0,.45), 0 0 0 1px rgba(201,162,39,.20) !important;
}
.lineage-ku101-cell .lineage-ku101-name{
 font-family: var(--font-display, ui-serif, Georgia, "Times New Roman", serif) !important;
 font-size: 1.12rem !important;
 line-height: 1.25 !important;
 color: var(--gold, #c9a227) !important;
 font-weight: 700 !important;
 letter-spacing: .005em !important;
 position: relative !important;
 z-index: 3 !important;
}
.lineage-ku101-cell .lineage-ku101-desc{
 font-family: var(--font-display, ui-serif, Georgia, "Times New Roman", serif) !important;
 font-size: .92rem !important;
 line-height: 1.5 !important;
 color: #f4ead2 !important;
 font-weight: 500 !important;
 letter-spacing: -.005em !important;
 margin-top: 8px !important;
 text-wrap: balance;
 position: relative !important;
 z-index: 3 !important;
}
/* keep mono badge + arrow rendered above corner-gleam ::after */
.lineage-ku101-cell .lineage-ku101-mono,
.lineage-ku101-cell .lineage-ku101-arrow{
 position: relative !important;
 z-index: 3 !important;
}
/* LINEAGE_PRODWHY_STANDARD_20260514 end */

/* LINEAGE_TAPE_SPINE_STANDARD_20260514 begin
 Matches .pos-decl::before EXACTLY: same 33/66 stops, same colours, same
 slow horizontal shimmer driven by the existing pos-decl-spine-shimmer
 keyframes. Full rainbow always visible across the tape's full width
 (background-size 100% — using 200% on this wide element made the visible
 slice land on gold-only frames). */
.lineage-tape::before {
 height: 4px !important;
 background: linear-gradient(90deg,
 #c9a227 0%, #5fb0c5 33%, #c08b4e 66%, #9f7aea 100%) !important;
 background-size: 100% 100% !important;
 animation: pos-decl-spine-shimmer 5s linear infinite !important;
 z-index: 5 !important;
 pointer-events: none !important;
}
/* LINEAGE_TAPE_SPINE_STANDARD_20260514 end */

/* ===============================================================
 PILOT-KU101-V15 BEGIN — 1-line reduction after ticker + after h1
 • Trims hero top-padding by 24 px (≈ 1 body line) so the jump
 from the ticker tape to the heading is tighter.
 • Zeroes hero h1 margin-bottom so the bespoke-pin card sits
 immediately under the heading without the default 0.67 em gap.
 =============================================================== */
.hero {
 padding-top: 56px !important;
}
.hero h1 {
 margin-bottom: 0 !important;
}
@media (max-width: 980px) {
 .hero {
 padding-top: 36px !important;
 }
}
/* PILOT-KU101-V15 END */

/* LINEAGE_KU101_LOGOS_20260514 begin (v6 — all logos inlined as base64)
 All 15 brand logos embedded as data: URIs — zero external image
 requests, immune to CSP / CORS / cache / network failure modes.
 Direct background-image on .lineage-ku101-mono (no ::after). */

.lineage-ku101-group:nth-of-type(2) .lineage-ku101-cell:nth-of-type(1) .lineage-ku101-mono {
 font-size: 0 !important;
 color: transparent !important;
 background-color: #fff !important;
 background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAkFBMVEX///8AAACFvCK/v7+fn5/7+/sjIyNNTU1fX18JCQkbGxs3NzdYWFiYmJgzMzMvLy8oKCiAgIDc3Nzl5eWUxD6Ghoatra3R0dGmpqYQEBAVFRXLy8t3d3fBwcFISEjs7OyPj4/h7si82oat0mvG35fv9uKkzVn1+e2x1HPW6LTc7L9qamrt9d+cyUzI4Zv7/fec+p26AAABVElEQVRYhe3W2XaCMBAG4AmKBIKCiBSrQMW9Ln3/tyt4tAw2QJa7lv/OOWc+zS5Anz5/LOQltsPc+cBUBx6MFYkafKCIMxYjGgFCJm+aALFjTYCQsS5AIl1gEUgAI8/z318FSwIYlJ/N5WpRExJJoEhmyfwEDgBmioVMHoAMj6JjKbkATFHZVQECvDgqADio3n6oGgC8EO17qQFYofpSBZg21IWBD11grgtoz8EZ1WcqAEN1pX1gV2W/tb8BSFBZ6SxQVFY5jQEaQccc8i+UCaqy9n4eMMNLQMrHZZ1vjtudIBDUL1XfhMPeuCfvAlJK3RRfBGUiOITGI5sOgBcKcDR+cpIGvGIAVb+xlwVGxRKuEWBIAqzcAp/qwPl+ii6oP5QB2PNRvFbAVhywqj8G1SSEX2KAT+Pae3h69l84/TCsJY6S4Pf9scuLvXS98b6/T5//nm/WqBD+4D5CEwAAAABJRU5ErkJggg==') !important;
 background-repeat: no-repeat !important;
 background-position: center center !important;
 background-size: 68% 68% !important;
 background-origin: padding-box !important;
 border: 1px solid rgba(255,255,255,.20) !important;
}
.lineage-ku101-group:nth-of-type(2) .lineage-ku101-cell:nth-of-type(2) .lineage-ku101-mono {
 font-size: 0 !important;
 color: transparent !important;
 background-color: #fff !important;
 background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAllBMVEX///8AAAD9UQj9RgDHx8f9SgD//vz+uZ3+kWf+kXQaGhr+vK7m5uaCgoKZmZlTU1Py8vKioqKJiYl1dXW4uLhmZmbS0tKSkpLe3t44ODj4+Ph8fHxeXl5ISEjs7OwoKCghISESEhKsrKz/9vH/4Nj9rpT9PQD/2s39Wxr+imH9YyL+yLT/zr79Zi7/7OP+spL+glT9pYmTMgHcAAADEklEQVR4nO2Wa3ejIBBAtbHt1qJg8IFoNE27bbePffz/P7cKgxqle060sR927ichylxgGOI4CIIgCIIgCIIgCIIgCIIgZ+P+1sbDegLfHzdTLp5Wi//0fDHl8nq1+M6PS0v8l6vV4r9ubAvwtlr8+/fN5YTNzTkW4Oe1jV/fbJzjCFzd2JL9/f4Moey8Wbb64vF1tfjOsy3Zf68X/9qW7M/rVZuHF1uy/1ktvnN7Y2O9DHSurKwXHzkjksnT3h82GBGkWhQ+3SY0cpwq4w3hcCwRxx48kriBqMciKbmA7iri5S7f0aSI5wUnHndbAidygaKdnyTiQNvWjqn3ZNk2MhVfvaUMBHd7cnJ6eMFr+Los+pE4c0iQQ4NqgYNqhO2jDlo0T/FevxNQPcbpAp5rJXTSO/OsBZg/FkgkSLkJkbprf/oSiCzkOlTOsyzpDCoWZUE5EAjcsQB3UjBs9kd33Xn/jmYn9bsVlalZ90jZ9QLw0lAgcna6L10o4OmxA9VgZt3bBukEWOmOBXKzAVR2Av6MLBwJQIa7u2OBgzsR8MyutAdDBrArywVgX9WJ6gRkO7tjgdCpdOa7Bz1KwIP4tGJmFxA6JWsxFGjml2edAKNqrqIeCixgJLCfCMg2A+O+DjQq+6ZamoP62QK6lbNeoNq1M46MQOzqQ2IORvTJApMkLMNmxmkn0C5R0m62gCNbzNv5jwRiGLUXyH2V6SAgm2JVq5ASypa/7CIcC0BxEb1Aw14agShTy6EI4dfwMwXgFOpbpRNoL1otUA42HXZrUP/iWQk5FIBSXIsjAS47gYZt9+XWdIWCSVl5VN/WMwWacVkEeQVTMgJKxwjQPucYNQZ5wpO2sUTAz+s7GK37D6TbelQQyMXgU2KuCMOsIwkC3WT6v2RaAP4RRUeLA7Bg+CmfV4tBIE8opUmWDg4V6TKwE5hkPNnqbfPLiMwsCH0OzKUibP7H4zrwBaDAlwvE+vjzpXfKPKowgeq3p8Vh6cU6g3RYSOpFp2keJNv2hF+wAgiCIAiCIAiCIAiCIAiC/H/8BWqrMnjSiYXTAAAAAElFTkSuQmCC') !important;
 background-repeat: no-repeat !important;
 background-position: center center !important;
 background-size: 68% 68% !important;
 background-origin: padding-box !important;
 border: 1px solid rgba(255,255,255,.20) !important;
}
.lineage-ku101-group:nth-of-type(2) .lineage-ku101-cell:nth-of-type(3) .lineage-ku101-mono {
 font-size: 0 !important;
 color: transparent !important;
 background-color: #fff !important;
 background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAeFBMVEUuLjhQUFj+5zMvLzcyMjb44jJEQjMxMTc0NDZOSzJBPzR3by+8rC7v2jA5NzVdWDCilS7gzS9KRzOHfS7JuS49PDRsZS+xoy7p1TBUUDGXjC7XxS58cy7AsC61py2Rhi+nmi1lXzBaVTDRwC6JgC9rZDB/dyxsa3Ic9X3sAAAAnUlEQVQ4je3Q6xKCIBAFYEQREEEhL4RmWmbv/4bpOEzJqPkAnp+cb4edBR74kxMcAYTuARyxmG8DkaQSQbgBAnXJxhauAz8vSj3Xa4BcTWVbCJEDcFjfuO101dzZAoiunfaCiMusHTpFMPi5A6H9uBfSMjbskQfYvs/Aj4pG6mfZv6jA/uLXCWA1pKZOwu+YA4RyxxywmxMcBG9vPx+u/AcIlIJi4QAAAABJRU5ErkJggg==') !important;
 background-repeat: no-repeat !important;
 background-position: center center !important;
 background-size: 68% 68% !important;
 background-origin: padding-box !important;
 border: 1px solid rgba(255,255,255,.20) !important;
}
.lineage-ku101-group:nth-of-type(2) .lineage-ku101-cell:nth-of-type(4) .lineage-ku101-mono {
 font-size: 0 !important;
 color: transparent !important;
 background-color: #fff !important;
 background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAADFBMVEVlGelOKOc5NuUmQuNKqcfKAAAGfElEQVR4nK1a25bjSAhz2f//z7vTabvQBcpUOp2ds29gIYTAOY7yM+6/f1/7Oe+/f1/9XP++//+ln0Xwz/eTwu+/FPzzPecXY3/C33+NBAY/v4n+++/EgEGY8XMMSgR+0sDgh0EAajDyFCwGi9gEwSEQzByEBlSCLQRmETwNz1gDKcIFJNzjwAPCLwtnFp/YIbjhgCDwugShEHUjPjk85R8x9pIBJQfo+SWFM5agQKAWggoB5YDBIdZAu3DGz9JYhM7xf8gHGjBMI6T8qxIYlgYiRgECReBSIWyRcAAIFoMJwR07a4MtHRASpGIQtAAI8EII8xIg7hr6BPCDDo2YQsjg56MprBEoe2BAEWQgfzENGYMZ/CAM3ilxkwOhCSB+3QSqRRcOg1YXDBxGksL9/DQNBIG6AKtZULHQdYBKAZSg1QXIQScFjx+wCLAbyCBYPD65MiyB5GA6gfuwVYIohAd2gLaBU8Hr5Fn0XgfG/D4UcAOJi+Cz2B3HY1biE/1Io2voL205tmHw5eJLbzMC3jhRoo4rBgocjgMnIFDuRYUYlvgTDS0HIglpFAkCHUc0DkRA8Ket4CnD3yFwmNWkoqFtgfU0qvAvPaHSgBC4Qhe2V7NQ/sIT3uERgWER6CuhrMdehNgSYQHQk7WHkUFAeEhFcBPpizaM1wkjQ+V1ANqwWA3yBKgLTAucmEF5oUiTqErgxrGhwhzEmIJyoFuC4ViIKNBE5s+LG826AAABS2FsQsNAzKC3nhslNPifmEIowfX8tzMNZxHQlPobUaXFyyJU4SkNg0EEYC3GnQQeM4IIhBxOEqHEF9MwaJIwmqI7fGnN60ZolgDtQHIfgOenNMgVJ5ZkhYASkQGAFBwC5SxqtqGRgfpWXTviRQnEkvmRDEmk0yBthTK4HirZkRH+1AV/gQCfao0OnDUN9tqQVGgWQG/FFBpOtdgGTQSG4YCHYJqhDICiD6oSuM3ABU/gv5bB8wTmVioUVE+IWpx3QW8zAgpMAJwnzCDQG0mfA9AESIHTIKC+lEj4jSe0q5HZC/7MluOJ5D4RGCWSFKgC+xxYeOInPHBAznRTB1sIjPnvIAx8EZLwtBn0SsCuXG/FwRGIKeXVNNPiogTkh4pb6f30RgpXlnBVgvS14TMLHyL48q/WgpUOsBAxC6kHVpfS7ixgR6aNwMtpqoRNBMKLS0bAjqQghE4KqkZcIJBPY+NFtAm3p6G5jthhRLasSGJrGpItNqMwP5A8OvTNNDxEi81+ClJMebyYRavdsGxCc6LJOHh1TzR+IHMj4jsrDR9RaM+CFQKmBoUpzBeD1wgoAFwE1QGUgc5eoJupu1Fx8PxOuDeOD1ZCRWAmkeoABO/NAo7uGCBNmOtAgsGL6IknPG0ZbCNWhqAGIPoBd6JSFU4MUSbEq2u5nIoFgFmJxBCtcqgBKN1AqH32wgY52HtvyOvxPQyLShg/AEt6uwRmL/EMcD14oRimpmCBACuRPRhHIeZZuH+u5yZQEuCpfuEK0xSK8LcrREPkjGk+DPYtWeShbQP+LZmfQ9yEHQ4AAC84IL0Y23DLEdWuWNogOVAtPOl7BEpLErRIJtJuFzAH2JIqB2zoTU9ormR3eC/I3pRIEb5EwIOf6sC7cZiHJh0wRJC3ViSFTxbFNF4ikANwR08s0UX49y4kxg5wHid8T/0945ddwHZghpbdZCJg22BbB7ALsoEMHHAvDLa7IF8NPADVdeZscwBIAPRnEvAs0FasHn+JAA1DK0Lh8dWR49P3DxRiiUodKE61O7Y8ngiMCMsvqUSFXl3rG10gmwFCYJP45lCph2rjCQkC4OBF06CHAEthMgr1BX6iAm0OzBycF5hdWEVHT7z10kq8SF6H3BEthkH69EO0UGPLkSoXwn0EcBylW8F5xv+dfXjuIRBPtQkE9y/ZgjPUz0/cbR0AS2imMUiRq8StxsGVvU7gUcJyFiALfj9jhkcV2JsFhH96HVAGAAHaCPBu5HRgFj/zA2zKm0qowzBZjl95wjYCAEB6JpNxzDJwxtAtDgxAIJuFTwoLAHa6ABGYAByQQgbArUPzN6X9LhAEsAzznWXOAf4lS7sLFhwY1Ti8YBx2OSA3IuXA6caRFOLrLhAKJDoUTRlhsOWIPAC6Hs/d0E+j9XpcMaCkgPkllVpC2Yqal1Lez30WxEJjzXcMCTtyq8IVAnoh+cqUgi1MEXAMqMNf13+hyFpBWQVzRgAAAABJRU5ErkJggg==') !important;
 background-repeat: no-repeat !important;
 background-position: center center !important;
 background-size: 68% 68% !important;
 background-origin: padding-box !important;
 border: 1px solid rgba(255,255,255,.20) !important;
}
.lineage-ku101-group:nth-of-type(3) .lineage-ku101-cell:nth-of-type(1) .lineage-ku101-mono {
 font-size: 0 !important;
 color: transparent !important;
 background-color: #fff !important;
 background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAEt0lEQVRogdWaz2tUVxTHP+ecO4mO1FYabbDQ1NZFabFCK7gZM4u2Ii7ahURo3VSMdie0tatuhtK/oAXrQowKSUURtD9AFwVfDBqoZGNokaho02KIMTOJo20ymXe7mExmErSZJjMvmS885nB58+Z87j3v3nvOHdvOoV9fJRFuZNvDt3h38jcu5agjyXY+94J4xe4K0gMaKBr8xNcDS+1cJZoGUBRFCtdjxUYE7QU5Mo6/fInU1FI7+jQ9CQDFKLYp1m/YUZALDay818nB8aV2ulyVACCYF2zI0B6Qbkcs+IsHvy+HkakQoPA5bU8Ydl9wfYoeUxovHmfvP/UEMGMrzit6W5DjRsPZGDZ0mI8ygvg6AZh1pUF7HBY4GgIhfv1bdk7UDUCp3U0aOqJYv+JOeBrO1hKk6gCGK4fB0GFwHTHcKYcO3mQ0c4bd+boBKD3DZQ29oliguCBL9lo1RiYygJLtcoqOGrFbwElH5vsUOxe8tsh7HLpsyEZBmwR1EQDM+p7hMmBdDcS6YuQHWnjzwW6k4hCTNlIND8m+DZZUNKnoVsHWRAdgCA7DsoL1FUIsFijZ3i/Y/GhegJKZ0neYWLMK95LHdinsFXR9VABFW7G8YmnFDSrWKYRdn/LyvQoAZutjUivSuA8M2afYG4I+r1hjrQFk+p6CbRixMUXOC65jCm7EuTvyCVty8wIU1cZpy3Nns0DSYa2KJgRrig6geL/LKa7PoYHHuo341XZkdF6AmQAjpXd4dnUOWw/yvqAHFNsQHUBxXTGvuLTh/hDsXMUATwK6xYs7DNln6BbB1gq6MgKAWe0LBiiqjdP2HI9f89CquKRiSUGb6wagJC976HxmFW6tITsMt1/QTYppnQDMVhunrZkVCUXbCy++rjMsXjcARaXwOsYPrxjxbYokBWtVrKU4MsseoFyHuLjKEX9B0VaB/YptNcwWA6BRAtRCrtY/MDeEPFOtHmsRrCqdVzOAwkvsEml+bldiiZD8OsHi1Y7ZKgLMnUZtP8gmCBUEqdHrtmiA0kJ2Ynoh80mQZo+vmdPlWjBAYSvRvMMY3xdObyU8fmU1natEFQPM3czdRA8obABPoQjko5qTvSBpQf4AOTcvQHE7fR2SjrBVISFYU6QLCACSA+kTCEJ8txC72o6MPhWgmNDkGZhJaIBGTwVJRFUlY+DPe3zHBLkbNiehKQMoTyllVxr2CuF6MHx04YEgeYE0yKAgnZ7JroP/kVK6UlL/d1LRZEi4VbA1Ufe0QNZDn4fAo4FnvPezCpJ6lyH7S6GsQhPgliBEMh66FO2KMTXQwuv/q6ziBJ+IZsaeUQ78qCC3POFJGF5UYavme6GiPGSBK+ADkGCMTFVKizUHEBj2SIdDTjlk8CYjVS3uVh3Aw6TCiEC/wIk8rqbl9aoBCJL20CP4QLFAiF//JoIDjkUCiAdue8Lj4M7G0KHDfBjpEdNCACYE7oP0gT8G7mJH2SHfd+yponvzq0IA8R4ZAno8vhsk+JPhZXHMWglAv8JRCC84GpfdQfeTAB4DI0BviD+SIXf5El8ueU8/TdMA3gN3wfd4fOAJgx/5qi7+7OFArnn0SIgEq1kxdIbUIyCyWWSx+hdNCaTXhvhqOgAAAABJRU5ErkJggg==') !important;
 background-repeat: no-repeat !important;
 background-position: center center !important;
 background-size: 68% 68% !important;
 background-origin: padding-box !important;
 border: 1px solid rgba(255,255,255,.20) !important;
}
.lineage-ku101-group:nth-of-type(3) .lineage-ku101-cell:nth-of-type(2) .lineage-ku101-mono {
 font-size: 0 !important;
 color: transparent !important;
 background-color: #fff !important;
 background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAJFBMVEVHcEyHjZaHjZaHjZaHjZaHjZaHjZaHjZaHjZaHjZaHjZaHjZa8V8shAAAAC3RSTlMALRjfzrHxRWmNCylNkIMAAAWfSURBVHic7VvttqMqDK2gfPn+73u1JSSEIBbwzFp3dc+f0YNhE0ISAn29fvjhhx/uIljnDzgbxtp0QvlV72/o1at6G9No0wv3ERxhXG+bTqhtZ9iKAd5p04tl5bL3fV2+b9OLcmzl+O606UXwkux997RRrc2M1WCTbZnNezJSouCFjJq2MXa8/wDiwKyTsa/YaK212cZVAIPTaTA2OoQ9zbACSmWbcTt0+dje0uP40it/o003NkGXG5sDaEOaBOFdH0wxuKQVDc9aGG00AzNMgFvAiTjnOhqB0swmToAVzCKQGVOQCWQWv0wmkGlgkQlkJKdpQLLmWzawT7IBsGY6wSuzcL4qXhgcxldBHAkdnuNaEXyF8FknlAHpYGPJzyaji0ZJGED/ZjweYjD0iwpBWZ/8PDZK8cLbs82C30wIh8mtf6IhPtFomCKmztroKSkJqJNBsnkOX5P5FYKc7YRv2wxAkM5lSwzGl2CCN7loUxpXKNvM6/+Y42yAq7wvyBLjbea+4IByHnZGm6vtjBzYv/a1NgM4lrd1zh7OYKzND/8jqE8x4CwHzLe4du9uWw0ESrNWV8ZDWDbmdc5INWkvfKt7yfEfvudvKARXjB6g3R+s/9rw/0oJSqiEUKwPG+OiaW9H+uMcSYDe7x7VAenfxJD4nnW3mj9hgJUgs7Hah8WFOa86xoEJsmDuwSXtTKkMSbDJ0sTSj032OaEyhFLJ/6GDWv0v1QrpHm2QjCW7W9fonzAg6diYOg6nhw9xjq9Kb1AZ0vhqqGh8Ol18ABO7+CCZKXY6UrZ+J9rpKS7B6+0mbGVxS7D3J+if0STRuq2A9BGxk72bQRQFjxADG2s87tRR7bdoS4LA6TE+69VHJ1bWI7jHL50TOl14s90cimdGAHK+c9Ck/M/eNFe1Zf3tPQxo0I+vwMc0pShmhSjpfqqQJR3zCNxmkCcdOQGzqAZitUYicDNVsHnSxTRwF1oiUAmjrH+dS5pKgJV8xf55zj2XQPMUCXP+eAg7iYDBk6/L0IT9b2AKcwhoi+lknUHAat+mVF5uHyWwEN9W3T/h6ePhtRaZwNpEhQD1rhV/TvoPxYkHELDLNVS04pIALSVKDMgJ7fvsXybQrn6HKoGsizKt39gfewmoOgHKgIdn3PNC9iIb4RiBbJllksieGxbJExp40bI6ze4x/OEifYgA6sAgg0Xo/zECZBaAQRCd1DM2cALDTbRE3PPSQPGYBmjC4bNHdjr6HAGc83eXoACWLDxJABl43EzxVOE5G6AMDnm2tL/nNYD+wKaNBHfODxPAs+WoiyJLeJgAbvWMaAH9NnARDTOkKx61BtV8oPGvng/kAHf0LQHdxH6PAHhkuCVTTIGdmxUX8tMNC76fB7B6QDeBmvx06wKWIbMuxeoB3QQq8pdU8ak4IpgiUF03gYp8CAA2LTcWLuCtGiUgy08FRYVcNFESfIVT101AlJ9SAv+i0Rl2LLhDQjHgiJq1psDqA6X8oHwuH/NE7e0Bjxt0kqH1VkgK+Y5cNPjIly+kniCmCwSaNY6lINCWX5vfLHHurZLdkq+09Hedqbu3TnhPvngFJUiC9asBsaR8Q75jaiquicDKaRhBNIHC9zflv5THcy+z+aIf2D017uaAiy/vnjfkvz73AbYDlfsAcF5wqQK40yXRbMh/I5ylxoqvgTOzSxXAXFcWy5X8NoQTKY50rtXbxyVABdVSX0gufubBIQHot1buTEXWiZfI8g7S1v76Jx7XdjqCFFZM+RsWhTFm8i0yAuLQNM+g0NtOu0V4zSDeMT1B7pA+3P+xjjOnbtbzBim5vLA/eXvgg3pw/5v+T2O76n/2D6xE8DMVRPs8ZAZCecU0WsRjVzdKKL8yDmb6z9taFGwy//MynX/gB35tDuf90RN2+Qf3CX/44Ydp+A/KerPhuZgqbAAAAABJRU5ErkJggg==') !important;
 background-repeat: no-repeat !important;
 background-position: center center !important;
 background-size: 68% 68% !important;
 background-origin: padding-box !important;
 border: 1px solid rgba(255,255,255,.20) !important;
}
.lineage-ku101-group:nth-of-type(3) .lineage-ku101-cell:nth-of-type(3) .lineage-ku101-mono {
 font-size: 0 !important;
 color: transparent !important;
 background-color: #fff !important;
 background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAIVBMVEVHcEwAWKsAWKwAVa0AWKsAWKsAWKsAWKsAWKsAWKsAWKs5jk/dAAAACnRSTlMA3yAPOp3wesVa2WQjlQAABUlJREFUeJztm43W2iAMhlugULz/C17eAIrYUmiDPdvMdrYzP1ceA/khidP0k5/85G8XncktAI5kJcHfiuQWgJlkIbkFYHFuWQHglls1sCYNfO0g0JlTjhZ9JLH0i/782lYAYMkBonwVwH0CfEkDWN0os6yfACu9aEiG+gUsANu3JOUW4DX8zHtvhhHQ+h62Xy6eBFbhiGAowFoHmP1AAN0AMEYDOyd/T+hALquWtIg92/8qQJ8GVjkA2DU9y3RpgAiUMSLxQeNU43RvmH4F4fGATyCfdVkL2lPU23I8RwKLIABzWQXe+SsA5zWgsf20+e60Buzqr8SGdPDOLB7FQguAOAWAwEPWtJ5cPBBYy675HIAKke86gDkHwFsgAXBiC9j0rixcCsWwrhwBAF4SgK2hD8CLApiebUi2LwnQnKQgq4Xt9zn+YwlesSE6AuCq6W0JrKEZAKYn+vEDQKMGUtotDzD7o8gY1T9LL54Y8MEOAWo5/1WZ1/lWADvfrAFb1QACT+3CISXk37Yd0tcA/N0Aexo4uvNdksyuEWM+AJL7HWH/yCfjnYIfj5igyiR15OkvAfDPH0AJoDsunc3r8r3wPQ3TKdcoLWEEwCMBlJpmAP9FAL0F8KYBLQ/A5bplWZGKq1dLQXF9kTXwyg/57m8foh7AcvWcVkz9hHgQX0Xt7BACwEk7oOTtlthPYKqglY9S7ggAu0QAF/sJEWBGKfcTAHd/ydVpIRwyaDqk9xlAOpiZG9AEJRoDeJ9jSc8WhYXklHLzVFdvvxsAUH/tuTa/J4rfAWABLQDZFohrYInP3fMt9rkFdBiMZATC/uK5RxVVWKQaCKABUNtWTkoigBoD4NoAlKwG2NDhZpcDDdgEwO0XOYDZG5xveuZBbYF+GK7q4gB0+w3BreG9sAR5DYDAtAEoaQALtRrVGNwYVhSAYwBZAN0/Wx4ZtsDLAnAIbsyu5c8ANNABYEcAOHWnBnC7hgk2vl3+DCDV6gKQNsNuAGPkPCFSLUoBTUeJP7hi7JsAgI1JSHN6F6KhnqQA+B4AgNYKyyscS2ngboDTGuj5T7WH6b4b1vPmJAkw/ccAawRw7QB5gQJ3+GoCebQ+zwyRtLZ5yjohFxEuANjUHW9MRJ5bNolpIAGsJwGu1AdSX/jZ6jls9VkuXr0VCdkZnTyILiQh/CHSaGft/dw7LDuouJ6dtYRYC9LP2VJXBeCb08e4nyDASgqpaoB2aRvgbJvWhWLE23Rt7f14z+bAI17sXDvlAHyGIj0fSGRFpUXE2eP9KQp0SzsBHhUAR5p+c0rwlpudkiRkSL0A0MBaAXjTwCEAm2LHOYD948RPYb7wCYAaMASp2ZwJ5sp2m1XhIIZ43ghhYy1QF0Mu3CNQmovBCoNshkUZXdSHN4UH1hq1kO6BZauPI2NcKE7gHS/8BDCXAZ4lmlMAKCysWW9nR/tx/8OB4hHfHGAOjkajCdELwHNrGN1admvHr5nh8HA9l7MGdrtT0iyppbKngrwPBAC74cLxWu/M0AfAnv7zT7cHcGl67kADtkUDCeDCLGmwb5ily8S8BlR5uP0ggoLNThcGGfmqvaTVKeXNRjP5sB6FcBEAhFv84m/RmNdsaIMGpAD4w7OLT98h4a8XIORWAFJ/6DTANL1/iSkXINVySDgyeMqu6bkeqKN7BAB4y0Z8yyIC1Evx0VXfCjBEA7UJ25SQclN61Ddc0pRdDcBHgBHrI2/0ZbK5p4EhACn9soXM8as9cf1xAHpKUwgq5noh4eOMI5tSGLL4G0ig4N+i3yHpAVCZ/H8AP/mn5A/I71W29ItOaQAAAABJRU5ErkJggg==') !important;
 background-repeat: no-repeat !important;
 background-position: center center !important;
 background-size: 68% 68% !important;
 background-origin: padding-box !important;
 border: 1px solid rgba(255,255,255,.20) !important;
}
.lineage-ku101-group:nth-of-type(3) .lineage-ku101-cell:nth-of-type(4) .lineage-ku101-mono {
 font-size: 0 !important;
 color: transparent !important;
 background-color: #fff !important;
 background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAABFFBMVEVHcEwvbJUkjpQ3W5dUebZHh6hDb6mJwtWPy9khZ4sfS4EugJwwfZwrhZsvP4Vrn8VGjrYsgpooe5Vyts1kq8cvfpuKxNY0UZFzsswpipsogJaDw9SAutGAwNMxRopirshHca1Hs8Q0b50faIpIgrRIpb9IjLcuYZIcZ4cua5ZImbwfc4tIn71Ie7IgfI4ebolKbq8tXI8veZyCudF8sM0uZ5NIlLt3qcpLdbEvgJ8tTIgucJgtVYwudJotUYoigpAbYIVfh7xplcIgd4xHt8VIkLlkjr9IiLYtWY4sQoRYfbhzpMgvh6JHrMIsR4YsPIFxoMcaWoMjiJJIZatsmsRHsMMrNH0YVYFvncVHkrgXTn4wjaUNiI9DAAAAJHRSTlMAJ/7anAvZ/v2dnkMWg9ic2qraGL1kunlr58CDKUlHP/Hj+PPANMOCAAAH4UlEQVR4nO2ZaV/iPBTFKVIQWhAQKIsiLriMigsq4IqKo6OgI44o+P2/x5OkC2mbtEng1fPjlHk5Pcf/vTdN00BgpplmmmkmBqnRaCgaomgB/sDl1uLUAmhHWx+6DqGazeYz1O3zLdLv29+G7u7u/v37/v779+/Ly0sjMy3/8tHW1pZhrtvDC89gukP/cYBGfjr+6twRTLD+UdEDHD4f2v1NAo4AL42XpakEiB6hAFunpxW3/5jAnZvAdIqgHekBTkGCtQpMoBfByOBFYCpFkOaeLAKnpzsVYG8hMLuQ1gONxsvKpP5y7AkLsLOzs1ZpHjqa0INAIzPpLGqXjgA7FyDCM2MPNE5OJiyCdOkOcLEGAjRZpgBFmGwS5kgBLq7WMAaePQAQTDQJ2iU5wNVVBbcnE0D+IEFJ3L98SQtwfHxcwRdjWg8A/5PGsqi/OndNJQAStHymoGEmEJ4E7dozwHGr5dsDJ7AGokUoX/sEAAk2fHoA2gMJLUfqtU+AFtKzTw/ACPUTWSBA7JyBQKvV3WAgUBcognbuR0BH0O12H73WAZ1AnXsSpMQ5E4EuTPBz60fgJMe5IMqgAL4BTAIgwaZPD9TrJb420M7P/Qm0rAQ/PyACbSEyEnA9lcrnr4wBul0jwM/wwZNAneuplHhlIXCME4AQMl4E6jl2/xjy5+kBpPhi3oNAnX0Syq+vTAQcAZJqILC4QCdQrzM+E9SEUICkgv73SoZKIJJjmgQ59soYwN4DcfMGC5lvCoEI0yTAAggQSI3vsLTwTSRQj9QZJkFK/BEJUFBxiCsZEoEImAT/IsT+CAVQ7HeR80QCEf8iaH/YA2A9EHfdSF54IRCIRHyKIL1xBBgTKKqEe61kCAQi3suRnBAKUFDId8tn3AQinlsDDfrzB8jS7rdUapw4CEQiHvuzcuKNh4CZoOjR2isZJ4FIjrogSro/L4GC92jlAYQ6TmCeWoQY8BfoAXIDjLW4YCcQmac8lcpvUNwB3BPo0nLGRoBSBDXxxkkA7QmJE+iUnM/hBOaJsxgbiBCgTKBLSyWMwDypCNrbgJcADECdQHeE3DjCfMRVhHJiIEIgRbKiKZ8z7OfdRZBBAfgJHBdYGgCDUKqbNZh3PJW0wUCEAHsBDK3kLAS2p5IE7bkJHDNMoFPyskHAXoSEBYAnANMEuiOUdAR4EWLIH0bgIZBmnECXlnJ6AmsSyoOBCAGBApjKowjm/kxKDKwEHARSIocOFoQSTGA8lWIDIQLSBP4Bow5oQSyb/nw9INoAYy2DIizqE4gjwDYE+hHJE0xgnZabAbiWQJpKsAhawqk5eNkVhlc4DS/4S6dTQhPo0nJpMaCNPVxKhpNErSYnPoXXpcTVgDT3MZbxUaq5D7Rh6vHxcXPzYTg8Ozv7tQdUrYLfwhTs5XgQjnIZd8cT7Jv+m0APDygA0J4eYuJPIQGlEESVlDU7gHEAmOCRFAAiqE74RUxJBYPGbkYKG/YfFoH95rgGFALVzCQLkRQvBINBcy0t2z6LshKoTvAxJlsE9sHxWqo5CeBdSCMg3gZSKoiETdKcA8F+k4FAVWwW5Xihj/zx3YyETUGTkUCv2hOYRTlb6Ov+9rU0a68BG4Fej/sIWkn1gT9MULA/zOSouwn9CfRW+YoAer+P5CgADABn8fDDNoYMBHpc3+Sy6Rvdvu8sAJT28cHXA9C/12OfRamo2yMApP18SCfQ5OkBUATGWZTiN0D9G4MAaTchh3kJwASfTLOoAvoogCHybqLMNwXIv/f5yTCLSqp2czNOQCwAVIhrCqpGgI7fLKrRQq12U0P2egLadk4N80yBSeBz1ds/mzbsLQL0/bwS5ukBk0DHaxYVYA+lR0D+Xi9UGscUWAQ6n9RZlOL3tfuanYDnkYac4icAEFBmUc6m7+9rGAHUA94vVBL/FHRgEUizqBTvoWp2AmlPf9AyIgQ6HXcR5OjurumP94DvC1WIdwo6KIGjCHIWuOsB8B7o9/2PNKQwNwGYYBXfIcpKcfdAB+AgwPJGm63g+3KWKUDCZlGKru9C3Tt7oM92pBCyvRb4rwNGAqsN4umD3XEAGwG2IwU1LELAnMVy8QAIC4D1gNexOi6Fi4CFAM6iFD3YdgTACDC/SYRY3gucBEARVG0d2eMBsB7gONQrCvQAKEJx+2CbToDnSEGpCBBoHWwDOQlYPZDmOtPJcvdAQbenEuApQAA+lYwEjASq6+1tXcQeAAh4D9WksM/5ALYf6FRb7fZ225MAXwGgsqwEOtWf9bb591N6oMZZAKQUI4HhRbuNASATEDlUk1kIfO5dtd+hfZtGQE8gdJihMBBovb+/txEBzx4QPNWMe78Z9arDdcPeqACNgOixtlr0fDseXr1/gQDvbb8eKAofKyseBPaO28DeLIBXD9xPcKwcpxCoVgvbX8jfIkDvgQm+KwQCSWIAUPwv3b/t3wN+22BvqaQAw6vRlxGAoQcm/K6QdQbYO+s+If8vmz2VwEQFCMCnkiPA485I93cQoPSA2Jc1XFISD3C29mX6M/WA8Jc1TNlxgF+t0Qj6jwgEyD0g8AxyK6QHOBtuHI1GegLGHtidyoedwGISBjjbWDPsR0QCpB7g3wSQpQD/zbXrkSnWHtidSgGg4pv7RyPM30agjRE4MPz1ANMpAJQaijkVhT9wRdE/sqbzZW2mmWaa6X+v/wD/OFC0+NKvuQAAAABJRU5ErkJggg==') !important;
 background-repeat: no-repeat !important;
 background-position: center center !important;
 background-size: 68% 68% !important;
 background-origin: padding-box !important;
 border: 1px solid rgba(255,255,255,.20) !important;
}
.lineage-ku101-group:nth-of-type(3) .lineage-ku101-cell:nth-of-type(5) .lineage-ku101-mono {
 font-size: 0 !important;
 color: transparent !important;
 background-color: #fff !important;
 background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAG1BMVEUAfMP///8Ad8F+t93o8/qqzeg0kc1qqdbB3fA6bTZBAAAC/ElEQVR4nO2a2ZalIAxFkTD9/xe3KJPMXg32WpVTL3UdwjaQEEHGSCQSiUQikUgkErr4qenrldNbjSulrazFGQwuhRPMMzeNMWXNbe5PGKknADanFwDAbLnMyLPvAXBWNr9tYhkA15XmF3ogti+MMfs4WOwBroV/4r1FtYeWGw+rPKDO9oV2gWcTwR4RqzzAvRXN04NcmVVdoE4TMjfBYZEHpBtwpQm9BMCNAFOxMDT6BgCHBxZe8UBlCK4FMF8DbPgAnFfLjPOYCgADTQIUl+//Kg0AEkCr1MxZemg3BjepuwJpNQbgxim0DnFy2YsMHUIr3usl8gOlJgBEcilnupjlBTgEH363dA/AZvOKfMpDBwiTbEFwDHh0D5R9HHUQwHaUs5FLbOKqRwDxlJE2Bi7WDh+4gt47wqhcaQcaeUTCPIBwZwz4wFSQMNh5NhuL2WycDqBo5IYHznaAJflBJZ0SmmsAJO0nRgoNAMz1zpj1dvnZv+UB0TByB6DosTQwTB9ARiPdJN8DgNodIfZ8tVUFiCFaPsQ0QK3CSc4L3R6EsavqRqYAaiXe5dl6AKZvZAqgqHHzh2sDFJA/ATTvNSOAGIGjDugCNJ03BggviqMO6AO07hkDDHoR3QNhlIwdgAIQbI5HAJIHRGZyMUDM1uPmcQBCffARQJiGJmIAB2CYyXABuPIl1UcAIQsMF0ewPKD/F4CpIED1wNcA5IGvPPB5GCYAfzQVx/NT626os+FE+6j1wFQcYgCoYV2NCxDfyz6qCe/lQpSq2C8ezwQizqtZeDEYto8EoOZzEU4XsPl3IySA+ZcjJIC4QvFgheSRB8JFYrBxhgYQxmF3lRARIK6S9AnwAOIw6FYmaAAXgt/Wih8CpKGwIyhW3zjDBLjsuAgJx9bZUoB8z8luobwJABlAJe/yYtupuAL8NmGYN/yBZj0D1zu4dr+rafe6zzK3bvS60r3HTwDsdpO0H/fs+gSAHZ+1vfjN3K8QbPxFB4lEIpFIJBKJRCL9Af0DnYYiDrnfdjkAAAAASUVORK5CYII=') !important;
 background-repeat: no-repeat !important;
 background-position: center center !important;
 background-size: 68% 68% !important;
 background-origin: padding-box !important;
 border: 1px solid rgba(255,255,255,.20) !important;
}
.lineage-ku101-group:nth-of-type(3) .lineage-ku101-cell:nth-of-type(6) .lineage-ku101-mono {
 font-size: 0 !important;
 color: transparent !important;
 background-color: #fff !important;
 background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAEC0lEQVRogdVa/5WyOhC9eL7/Nx0YK5BXAXSgrwLogO0AtgJeB2oF0oFsBbIVgBXAVnDfH/wQMAqCqN89J0eBicxk7iSTiRoeAJICwAqADkAWn6JoJZKiRUULNU07PeL9g0BSkHRJHjgcR5IWyfkrFE9HKK7CZnJDJlK8DXcKxSVzdz8LMR/lDeYcnXrUVUhJrsYq775A8TaGUYrvoXyJ+4wguXq1xgpYKl01hfISwBHNRegdkAHQ24ufyoAY+Wr6jog0TfunfmNWv2DONflMje6EzlY8VB4oqBM/W6MByAAsNE3LgKYHHr8CTgMBwGncYb7SKuH7Pk3T5H6/f85c0w8p8wy4MsC6JgmAAGgYxrOU6wsXOFPo8znefyhMAJgxD179paoMg0lS/AFg9JE+nU7wPK+6FkLAtm0IcaZilmWIoghBEOD39xcA8PHxAV3XYZompJTK3w7DsNFnuVxivV5fla9hBZL+LaKhiAFV8/1zV9/3KYS4Ke+67sXvW5Z1VX6z2XTFgf8HPekjhMByuWxcr9drAIDnefj6+qqezedzmKaJLMuQZRm+v78BALvdruFFz/Ow2+0AAIZhVH2CIMDp1Gu7LMF889DpgWuz0GazqWSklDwcDhcycRzT9/3GsziOq35CCGWfHojRJdFlwHw+r2R6vpRkkzpCCKbpoD1TOsqA/X5fPbcs66431w0f0r/EDCMQhmH13bbtu/qVHJ/P863vbrfDYrFAkiR36TBDnhwNws/PT/W9x5RXYbvdAsgDNwzDyogkSbBYLBqB3gmOCOLVajWI/yV96tOk67oNSq1WvTaFMUjezNJuGVAPRNXso0I9btpGx3HciA3VutHCYYa8XjkIun5eQurxcAufn3naZVnWBe2klIiiqFrdyzXiBiKQtPt4QMrLjPt4PDamwi4a1WlyS7bu2Q5YZa3zKuourdMkTVMul8sGb6WUSsXSNKXjOBfUUM39aZpW71QNWls9IDfzcE2iHVzr9Zq2bTfyHsMwGjKmadJxHLqueyFbzvdxHFMIQSklLcui7/v0fb8xKB0xcKyIxI4i1q2Eq0zo2oaqmuM4ypFWtR6zkAUUm3rm27MYN2pB2+0WQRAgy/JlQ9d12LbdCOQkSarUuJQTQlSy7aBVyUspYds2TNO8pkoJ2agRdXnhzbAp9a6XVTq98EaoRr/KhYo6y38vU6k/vDp1VKXFI953j5xomrao31Blo/9iRII3ITIUlYg6LgzQNC3Be5ZZ7LuOZfles9JffUozrmbL/LTmVYd8ylOZIUZIdmx8Howjpzj05vSUSjnFQXfLCMn8bwEPV5z1kvnUKAyxOO4E/zBW8YuVeKgxyIvEOs5/uZE1kaxoEfIt7A+AoDwmGoP/AVO1QcTVBqgRAAAAAElFTkSuQmCC') !important;
 background-repeat: no-repeat !important;
 background-position: center center !important;
 background-size: 68% 68% !important;
 background-origin: padding-box !important;
 border: 1px solid rgba(255,255,255,.20) !important;
}
.lineage-ku101-group:nth-of-type(3) .lineage-ku101-cell:nth-of-type(7) .lineage-ku101-mono {
 font-size: 0 !important;
 color: transparent !important;
 background-color: #fff !important;
 background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAdVBMVEUAcrz///8Aa7kAcLsAbrqWv98AZLcAZrcAabn5/f4Adr/g6/WmyeSaweD3+fyYxePq8PhWksrq9fuCttxPmc5Yn9E0gsN8q9bH3u9MlMuRut220+kpiMdHjcgAYLU7kstnn9BvqNUier/U5/OyyuSJsdgAgMOQ6HNfAAADJ0lEQVR4nO2WW3ubMAyGkS1iDsbpCKQEw8qhyf//iZMMpN2zle4quZjeC6KYgz50wlEkCIIgCIIgCIIgCIIgCIIgCIIgCH8DUUda8/Ep3pPsrboZ7KpOKXy4e40XD0Tp6JDaTj3af9Ky5zvl5cEKMCav8yk4z+OcFAwPzQIODsox8ZCeLECrihTKcyhFrRJcf9TGh0WXfDK3dbxbCvHj9A4aG4BTMqTgccohn7RnGayss80FI332zXCNV/p2NdpOR6fFPHVKV8VqYr1YcVEP69ptN6D4BuATSkN5QTUC0DEFl5GyjJRBh7rLYXzZCmTcyiUdMMs3e1TxdkFlN+t4t7o9BXxrj9pCftPYkQdUR3AVv3kJDrxCFtBaO1ODWPtWsOWsPfYsYKYlW0KTDWzYwkFTW0sx9NaOY1gjGce9qk5mKGkAFVz8HIEacQg5YAHH1FWKBLwqrU7gEs2QwBejKbEkoFX0v4D8jJRyxCQGZzRWafqD51pYQw9zsheBHBoS8EqN8ErtmJ419iW8LwJqD14HAdEiINzBArh6WAD5oTP5OXstOAINOLUKoAdcw9oMudmrgSAgmuYlXZZekTy+LymoKkh7FoCLgOhPAdEi4F4DjvpgiUDmt7VdASakIMKsofIqC3og/nD3CPz00Nz+RUAKc1wU8acI6DNVAq99EwFFRTJRaLUertdLaGmqhOsqQPUpjPOOAEqzaSGn6q0OxvwcScAaAewBbrR2iL9JQU1jgKtU4/odMh4cNXkQgJGHsky/FODruh6pGSgCtqpr6sGPFJCAmE5THe0K0Jnj6fNJEb1NQ64WAdhTZrgr/y5gJdbNvQa2CERT/k81ED4Fxcc2AHn+0AAkASlHgPvDZqHWQW0C3CJgHU9zO2G/KQgRAOAuqNbCXvR+HYKJ7rWTWsc/P6kIqdDmwL/KHMI5ddges1l0QcAo3lEc1j/8Esbwnb+t7YWgczwEMFHK3FqKWzM9eFuEPceq9EfbpGT46OHbMpyKcisYCsUTtoU0fk9hENnx/KxtqUpMpk3yJPcrT3UuCIIgCIIgCIIgCIIgCIIgCIIg/E/8AipdMKKqlmHiAAAAAElFTkSuQmCC') !important;
 background-repeat: no-repeat !important;
 background-position: center center !important;
 background-size: 68% 68% !important;
 background-origin: padding-box !important;
 border: 1px solid rgba(255,255,255,.20) !important;
}
.lineage-ku101-group:nth-of-type(3) .lineage-ku101-cell:nth-of-type(8) .lineage-ku101-mono {
 font-size: 0 !important;
 color: transparent !important;
 background-color: #fff !important;
 background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAmVBMVEVWI7T///////1QG7KJYcry7fX59vxNErKsltlTILP29fXx6vdhNLpRF7O8pN39/f+Uds5+UsVXKLXo3/WigtW3nd7i1/Ps5fZuS77QvenXx/B+WcXJteaYfNCMa8iPb8mlh9WJaMrczfCZgs+BYMWljdR6SsQ+AK0+DayUcNFmIrxpQbzg1+tNALKfe9NlLLtxOsDIu+FZNrXAe0Y8AAAJdUlEQVR4nO1bC3eiOhCWRIKRR1QUiqACK9aqrdr//+NuXiAiT6V7z72ns2e7XYnJl8nky8xkGAx+5Vd+5Vf+k4IxhgXB+O+NToebHd/87TZarzeb9Xq93fpvxxlD8TdGN4237XwUxI7t6ioX3bWdZTCaR2+G+cMYoGZEoRXbKiIKEwAIAYD/OkaqvbTCyNDgT42OoTZNPDo4HREo7IcYmv8L+A8Kwkt2PwRhD6PgJGdeIwSdgsjc9z/85yZWFQKaxgdM1Hjyue/TGDCcfdlIKj4/WymPOJD7MevNHjE0/BiJ+fGlZ3qmlr8MrHBOJbSCJd0RfHVABhItt9/9QIAD39JTe1MIm51jraYHU6N/GAWZJv3lPF1Zjovyi6EG/qAHc4THxMnsXQHE8UL/bD5wDmUn8+wnnpNbD+KMji8j0KYeuuke0U1mVpINJSlzN7rqFCZFzECjYKq9Or4LxE6npqZbk6PZMCVoHjeWCpRUEfpLCLC50pXU+ojlG03DCwiGb6X7lQB9ZT5tiviwQGL56V9vN2hr1BgOdsuUFghaHJ40BHwJJONTTc7fO+0p+D53M84ILk/pAO8CuaeJ6l06c+v+EqipFrzdEwgw1aK0JDucPaFEOEtsaQrA674d4SVId3McPWdGGA5jIvev992xC3wIgJg/CnzzmeGZmH6QWnHQcRLmgijCABbHp8en3RwX0oxA0okPtBWS/sbyNTqHg2V6Pk46INCmkn+U5atkDo8pAtdvjQBOXaG4sYVfPkzgIKVF12/ZGTx6ggBI8N3HcWoEY44AXNttBTwYifNPidtCbkDwFksfJWkFAG5Pgn/dqCfvFq5dwYhOmxlhwxLuBwqfP8YKXcJE5VOia9rcJRyqggG8QW9+LZ5JWlNbKHUWi1NUv/QYXkBDHkzxrGlW+y8kTHbea2yhfXAVgPGwqdtPm7uewHvvc/zB4H0pdoL9Wd9u/8E9a0J2Pcd3cErEmTCs50MYCw60+rNAIdQOpRXU9gwjbixA74eC7rr2dW4G+qTOCrRA8LZl3MF8zMfUPr1JvtXMEluxzjOA0xNhS6BO7hSAL/7wTqaXwy06wZdhlUzz84Abnbsm9rRau1oigruCC6clMheTiq47wRBLCHCO1Aqx87yDDU+eCJVmSJsIU03unSBtlA86U3/f+RCJMRgWH2bibvMTMRPh5HnnqjWAkc1bOIU9WAKA4xSWYtYAuGNe6Dsc+2lbtQZmKAgzKHiBFQAA4AhaA8BYrIEaVniZ9BzkjsDDIlVpAKB5Fw2IfgD1s6pW4C0WXyuSQBFAli1QHGqtFACQcmsg/lsAALcuD3Ovx3IjgFtpAkUjuQEQ9j6+YYngnQYKOSz9HgA+O7yJXXEowzk3AWIVlygDQKw1y8yurNRpVhZ4gP2FEOskAzHkyU+SwlRNa8zOWj0sHR/PRvwkRqsivhuAyZ4T3MyTUSPw2Pk+E/JtjTmPAn2F5UfFKX5wAKhAtCmAo+Bh/YGpbgBWQjlaKD8ASwYACzEyABNTflQEsNNZCxKUGkFmg4fi0xwAgc2c6HkAcgJ5ACX9syYH7p0q8VuZEUieUJyHbz8ASCmbxpydAAxMh5tJuXecboLlA1XnbOBdY1nBY2oDSnjTVisAwjm1S7mQ7VL2/SIP3u2CP0wSL1UAyk2lDQC44ADKIw645vlQYlVrQPIAyvZ73s9vpYEEsK70dTkAlQeEj0xdQcVUlf7dcdsCwJfwijYVAFhSiMwfHlYBsKN8q1YANlx3FQA2KkPXAUB8ya9WBwDqA9c9B0CxhznKeB2AtIE2AFIjdPyORli7BKkR1gBQXV3X5d0EF6sjEdUaYcT59fEwzPPAhslqlN0KoBupvr4Nt4Ko64ho8m4y+ZSsTZ2ieWaHrxNRSsXVS5CeBZmDS4PYLNh8nYrbH0Ysj8bzWATYnQAc4prDCL+JwLTFccxCKHGH2A0AO45Zi/LjmHXQ6JCIaAhricjkEuB0AQB3ao1D0s4lE57OMDPCWyKjDYBal6yVU8qP4z+jU0pFIMmC7RYAMqe0vNqhhVtOEJccJU478ECjWy4zmo2BSU68LkzYFJjI0Owxfq4GkA9/mwFkodm59HEanIJWwSmNvAgNM2cdDiOMeZoIVAanPDxnPbQJzwlixnTuchw3h+dZgmLUmKCgGlCty122h/OIOG3LAUj+BtfKBAXz93kP12KKhp3CeXHd69elcI9LAajiqV0KQKZoAAqrM4VwdxL3pJu7HrAxLcjlYJZcIx/Tx6U8Y655kurek31QQSAIpjFNV6rErFk50VqAm0hQdwcMI+4VAfUHEpVDkahUaxOVLFXLrBD8VKoWNKRqB/uJuC8ir9de3EuWrI4aLu8+mV9GF2vZe7pebF+7qV+Zr1eUni8shDusNF9Y4MFS+Dpuv1c2spyh+cqGXVoJQvWa27YVPPO4O17hjxcaG1Z6zdjXtd0AJvIqtM21XeYd08ivp0Uwt7ao/mt1cUklPXt6vroFKGlXeAqPHtcX6Ony+jsQqVVwLfdFS76yE34BID1d30v3qeaqpCDaVJdfer2A4SIYiHQpYJAlHLxOtKcSDkDGXUo4WBGLLF1UFsYLCKBhpRFEtyIWXsYjvoiCt+fLeKaBJICSoL9B4MWTFxAojp4rzcRwG0v7B153PeKdl/qfT5ZyGYmdBnBeRShSj+DoyWIqRQ2MzmWJmiGL2Vgp4DPjcwbJSknVj07lfBi+f4kUBrV/xWtLQA8IzDQtTxSwnLYvFIaz6RIAWT40fuFQw9rElTogAAV+KwjYnA0DkhWVut32f1E0/1YYqejWpr5+H/Pq/3V6p8VKazvxXzmCK8osAehe4sO6sl7sJ9dbFbSCrq+W9TJCSNK0JKGmgBxvtK0qbN6OPIewdw5ke2f0Co1mCLB/21B8Wq5jfexYcAbNTA67j6y0G6Sb1+/nxRMMvyNKafkaejDWXSdYJF8sc/uVLILY1cf5a1OijOOoD28ihTAb2vn+ESLZhbG8Jyb51BFlz2F/5f0cwv5zGOtZboxfVBMisubiDQMgy8nZDzWO3vt/x0IbTAIb8USjUimsktoOJoOXbb9M8N6cJsFJvVvs++HH6ikIfdjr6x13EKB23obW1dYfX3YhSLevVrg9az/7qhElm/MxCi3xopOus5Ia9qJTHFhhdDz/9ItOAgOG2GCvekXrzWa12mzWEXvVy8B/9X2zkqzN3xv9Hsq/M+yv/Mqv/I/kH+l1skNyz8OgAAAAAElFTkSuQmCC') !important;
 background-repeat: no-repeat !important;
 background-position: center center !important;
 background-size: 68% 68% !important;
 background-origin: padding-box !important;
 border: 1px solid rgba(255,255,255,.20) !important;
}
.lineage-ku101-group:nth-of-type(3) .lineage-ku101-cell:nth-of-type(9) .lineage-ku101-mono {
 font-size: 0 !important;
 color: transparent !important;
 background-color: #fff !important;
 background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMTAiIGhlaWdodD0iNDciIHZpZXdCb3g9IjAgMCA4MzAgMzYzLjI4NTciPjxwYXRoIGQ9Ik02NDEuOTc2LDEwNC40OTIzbC0zLjMzMzYtOS41OTg2aC0uMDYwNmMuMTAxMSwxLjQzNTMuMTQxNCwyLjc2NzYuMTQxNCw0LjAyMXY1LjU5NzhoLTEuNjk4MXYtMTEuNDk4OWgyLjY0ODNsMy4xOTIxLDkuMTUzOGguMDYwN2wzLjI3My05LjE1MzhoMi42Njg0djExLjQ5ODloLTEuNzk5MXYtNS42Nzg3YzAtLjU2NiwwLTEuMzE0LjA0MDMtMi4yNDIsMC0uOTA5Ny4wNDA1LTEuNDc1Ny4wNjA3LTEuNjc3OWgtLjA2MDdsLTMuNDU0OSw5LjU5ODZoLTEuNjU3N2wtLjAyMDItLjAyMDJaTTYzMS44NTM5LDEwNC40OTIzaC0xLjg4MDF2LTkuODgxNmgtMy4zOTQzdi0xLjYxNzNoOC42NDg1djEuNjE3M2gtMy4zOTQzdjkuODgxNmguMDIwMloiIGZpbGw9IiMwMDE3OGEiLz48cGF0aCBkPSJNMzQ4LjMyNTcsMTU0LjQ0NDFoMGMwLTYuODMxLTIuMTAyNS0xMi4zNDU5LTYuMzA1NC0xNi41Mjg2LTQuMjAyOS00LjIwMjktMTAuNTQ4OC03LjY4MDEtMTkuMDU1Ni0xMC40Mjc0LTUuNTE3LTEuNzk5My05LjU3ODQtMy40NzUyLTEyLjIyNDctNS4wMzE4LTIuNjI4MS0xLjU1NjYtMy45NjAzLTMuNzc4NC0zLjk2MDMtNi42NDkxLDAtMi41MjUsMS4wNDkyLTQuNjI3NSwzLjE1MTctNi4zMDM0LDIuMTAyNS0xLjY3NzksNS4xOTM1LTIuNTA2OCw5LjI1NDktMi41MDY4czguMDQxOS42MjY3LDExLjUxOTEsMS44ODAxYzMuNDc1MSwxLjI1MzQsNi4xNjE5LDIuMzYzMyw4LjA4MjQsMy4zMzM3LjUyNTYuMzAzMi45NTAyLjM2MzksMS4yMzMxLjIwMjJ2LTE4LjQwODhjLTEuOTYxLS43NjgyLTQuMTY0NS0xLjQ3NTgtNi42Mjg4LTIuMDgwMi00LjMwNC0xLjA3MTQtOS4wMzI2LTEuNjE3My0xNC4yMDU4LTEuNjE3My01LjUxNywwLTEwLjQyNzQuNzI3OC0xNC43MzE0LDIuMTQwOS00LjMyNDIsMS40MzUzLTcuOTQwOSwzLjQxNjUtMTAuODcwMiw1Ljk0MTUtMi45NTE1LDIuNTA2OC01LjIxMzcsNS40NzY1LTYuODMxLDguODkxLTEuNjE3MywzLjQzNDctMi40MjM5LDcuMDUzMy0yLjQyMzksMTAuODcyMiwwLDUuNTE3LDIuMTAwNSwxMC41Mjg1LDYuMzAzNCwxNS4wMTQ1LDQuMTgyNyw0LjQ4NTksMTAuNzkxMyw4LjEyMjgsMTkuNzgzNSwxMC44NzAxLDUuMzk1NiwxLjY3OCw5LjI5NTMsMy4zOTYzLDExLjY3ODgsNS4xMzI5LDIuNDA1NywxLjczODYsMy41OTg1LDQuMDQxMiwzLjU5ODUsNi45MTE5LDAsMi44Njg3LTEuMTMyMSw1LjAxMTYtMy40MTY1LDYuNzQ4MS0yLjI4MjQsMS43Mzg2LTYuMDYwNywyLjYwNzgtMTEuMzM1MSwyLjYwNzgtNC4yMDI5LDAtOC40NjY1LS42ODczLTEyLjg1MTMtMi4wNjItNC4zNjQ2LTEuMzc0Ny03LjgyMTYtMi44ODg4LTEwLjMyNjQtNC41ODctLjY0NjktLjM2MzktMS4xMzIxLS4zNDM2LTEuNDE1MS4wODA5djE4Ljk3NDhjMi41ODc3LDEuMDcxNCw1LjQxNTksMi4wMDE0LDguNTA2OSwyLjgwOCw0Ljg0OTksMS4yNTM0LDEwLjE2NDcsMS44ODAxLDE1LjkyNDIsMS44ODAxLDYuMjIyNSwwLDExLjcxOTItLjcyNzgsMTYuNDQ3OC0yLjE2MzEsNC43Mjg2LTEuNDMzMyw4LjY2ODYtMy40MTQ1LDExLjc4MTktNS45Mzk1LDMuMTMxNS0yLjUwNjgsNS40NTYzLTUuNDc2NSw3LjAxMS04Ljg5MSwxLjU1NjYtMy40MTY1LDIuMzQ1LTcuMTE0MSwyLjM0NS0xMS4wNTQyTTE3Mi4zNjExLDE4Mi43NTQ3aDBjLjE0MTUtLjE4MTkuMjIyMy0uNDY1LjIyMjMtLjgwODZsLTYuOTUyMy0xMjEuNDI1N2MwLS42MDY1LS4zNjM5LS45MDk3LTEuMTExOS0uOTA5N2gtMjguNzUzM2MtLjM2MzksMC0uNzI3OC4xODE5LTEuMTExOS41NDU4bC0yMC4xNDczLDUxLjY1Yy0yLjQ0NDEsNi4yMjQ1LTQuNzI4NSwxMi42MjktNi44Njk0LDE5LjIzNzYtMi4xMjI3LDYuNTg4NC00LjA2MTQsMTIuODMxMi01Ljc1OTYsMTguNjkxOC0xLjgzOTctNi41ODg0LTMuNTk2NS0xMi44MzExLTUuMzE0OS0xOC42OTE4LTEuNzE4My01Ljg2MDYtMy43Nzg0LTEyLjI2NTEtNi4yMjQ1LTE5LjIzNzZsLTE4LjY5MTgtNTEuNjVjLS4zNjE5LS4zNjM5LS43MjU4LS41NDU4LTEuMDg5Ni0uNTQ1OGgtMjkuMTE5MmMtLjcyNzgsMC0xLjExMTkuMzAzMi0xLjExMTkuOTA5N2wtOC4yMjM5LDEyMS40MjU3YzAsLjM0MzYuMDgwOS42MjY3LjIyMjQuODA4NmgyMS45NDQ1Yy40ODUyLTguMzg1NiwxLjAxMDgtMTYuODkyNSwxLjU1NjYtMjUuNTQzLjU0NTgtOC42Njg2LDEuMDcxNC0xNy4yMTYsMS41NTY2LTI1LjYyMTguMzYxOS02LjQ4NzQuNzI1Ny0xMy4yMzU0LDEuMDg5Ni0yMC4yNDg0LjM2MzktNy4wMTA5LjY2NzEtMTMuODIxNy45MDk3LTIwLjQyODMsMC0uODQ5MS4wNDA0LTIuMDIxNi4xMDExLTMuNDc3Mi4wNjA2LTEuNDczOC4xMDExLTIuNTY1NC4xMDExLTMuMjkzMi45NzA0LDMuODk5NiwxLjkyMDUsNy40OTgxLDIuODI4MiwxMC44MTE1LjkwOTcsMy4yOTMyLDEuODM5Nyw2LjU4NjQsMi43NDk0LDkuOTAxOC45MDk3LDMuMjkzMiwxLjkxODUsNi42ODc0LDMuMDEwMiwxMC4xNjQ2LDEuMDkxNiwzLjQ3NTEsMi4zODU1LDcuMjk0LDMuODM5LDExLjQzNjJsMTguNjkxOCw1NC41NzkzYy4yNDI2LjQ4NTIuNjA2NS43Mjc4LDEuMTExOS43Mjc4aDE2LjY3MjJjLjQ4MzIsMCwuODQ3MS0uMjQyNiwxLjA4OTYtLjcyNzhsMjAuNzEzNC01NS4xMjUxYzIuODA4LTcuMzE0MSw1LjM5NTctMTQuNDY4Niw3Ljc3OTEtMjEuNDM5MSwyLjM4NTUtNi45NTIzLDQuNjY3OS0xMy44MDE1LDYuODcxNS0yMC41MTEyLjEyMTMsNC4yNjM1LjI0MjYsOC4zMjQ5LjM2MzksMTIuMTg2Mi4xMjEzLDMuODM5MS4yNjI4LDcuNjM3Ny40NjMsMTEuMzU1NC4xODE5LDMuNzM3OS4zNjM5LDcuNDc3OS41NDU4LDExLjI1NjMuMTgxOSwzLjc5ODYuNDA0Myw3Ljc1ODkuNjI2NywxMS45MDEybDIuNTY3NSw1Mi4wOTQ4aDIyLjg1NDJaTTI0NC4zNTg1LDE3Mi41Mjk0aDBjLTUuMTczMyw4LjQyNjEtMTcuMzk3OSwxMS41NTk1LTI4Ljc5NTcsMTAuNjQ5OC0xNi4zMDYzLTEuMjkzOC0yOC4wMjc2LTEwLjE2NDYtMjguMDI3Ni0yNy41MDE5LDAtMjYuODc1MiwzMi44NTcyLTMyLjIzMDQsNTQuNjQyLTMxLjg4NjcsMC0xMC40ODgxLTYuNjI4OS0xNS43NDIzLTE5Ljg4NDUtMTUuNzQyMy0yLjg0ODQsMC01LjUxNy4yMDIyLTguMDQxOS41NDU5di0xNy4zMTcxYzMuMDEwMS0uMzg0MSw2LjE0MTYtLjU4NjMsOS40NTctLjU4NjMsMTMuNTk5NCwwLDIzLjU0MTYsMy4wOTExLDI5Ljg2NTIsOS4yNTQ5LDYuMzA1NCw2LjE4MjEsOS40NzczLDE3LjkyMzUsOS40NzczLDM1LjE1OTh2MTkuMDU1NmMwLDExLjg4MywyLjcyOTIsMTkuMDE1Miw3LjQ5ODIsMjIuMDQ1Ny02LjkzMjEsMTAuOTkzNS0yNS41MDI1LDcuMjc1OC0yNi4yMTAxLTMuNjU3MU0yNDIuOTQzNCwxMzkuMjg4MWgwYy0xMi41NjgzLTIuNTI1LTM4LjkzODIsMS45NjEtMzIuMzMxNiwyMC41MTEyLDMuNzgwNCwxMC41NjksMjMuMTE3MSw3LjkwMDUsMjguNDExNy4xMjE0LDMuNTU4LTUuMjM0LDMuODk5Ni0xMi44OTE4LDMuODk5Ni0yMC42MzI2TTQ3My43NTIxLDEwNy42MDM1aDBjMTEuODgxLDAsMTkuMTc2OSw4LjE0MzEsMjAuMDg0NiwxOS41NjExaC00Mi4zMTQyYzEuOTIwNS0xMS41MTkxLDEwLjI2NTctMTkuNTYxMSwyMi4yMjk2LTE5LjU2MTFNNTE1LjU0MDcsMTM0LjI3NjZoMGMwLTI0LjA4NTQtMTUuNjgxNi00Mi42NzYxLTQwLjUzNzItNDIuNjc2MS0xOS43MDA2LDAtMzYuMzEyMSwxMC45MTA2LTQyLjY1NTksMjkuNzg0My0xLjkwMDMsNS42MTgtMi44NTA1LDExLjMzNzItMi44NTA1LDE3LjE1NTMsMCwzNC42NTY0LDMyLjM3Miw0OS4xMjUxLDYxLjgzNDksNDMuMzY1NXYtMTcuMTc1NmMtLjIwMjItLjE2MTgtLjU0NTktLjI0MjYtMS4wMzEtLjI0MjYtMTUuNTE5OSwxLjcxNjMtMzYuMjMxMi0yLjUyNy0zOC45NDAyLTIwLjc5NDJoNTYuNDk5OGM0LjQ2NTcsMCw3LjY4LTIuMTIwNyw3LjY4LTkuNDE2N00zNzMuMzIwOCwxMTAuMjUxOWgtMTUuNjU5NHYtMTcuOTA1NGgxNS42NTk0di0xNy4zOTc5YzAtLjg2OTMuMjAyMS0uODg5NS43Mjc3LTEuMDUxMmwxOS45NDUyLTIuMzgzNWMuMzQzNy0uMDYwNi45NTAyLS4xMDExLjk1MDIsMS4wOTE3bC4xNjE4LDE5LjcyMDhoMjEuNDM5MXYxNy45MDUzaC0yMS40MzkxdjM3LjI2MjJjMCw2LjEwMTIuOTQ4MSwxMC4zNjQ3LDIuODY4NiwxMi44OTE3LDQuOTcxMiw2LjU2NjIsMTUuNDc5NSwzLjYzNjksMjEuMzk4Ny0uMTAxMXYyMC4yMjYyYy00LjYwNzMsMS41NTY2LTExLjE3MzQsMi4zODU1LTE5LjY4MDQsMi4zODU1cy0xNC45NzQtMi40MjYtMTkuNTQwOC03LjIxNTFjLTQuNTQ2Ni00Ljc2OS02LjgzMS0xMy41Mzg3LTYuODMxLTIyLjM2OTF2LTQzLjA2MDJaTTYyMS4xMjMxLDE4MC42NzI0Yy02LjkzMi04LjUwNjktMTMuODIxNy0xNy4wMTM4LTIwLjY5MzEtMjUuNTAwNi02Ljg0OTItOC41MDY5LTEzLjcwMDUtMTYuOTkzNi0yMC40ODktMjUuNTAyNWwzNS4zNDE3LTM0LjYxMzljLjM2MzktLjM2MzkuNDg1Mi0uNzY4Mi4zNjM5LTEuMTcyNS0uMTIxMy0uNDI0NS0uNDg1Mi0uNjQ2OS0xLjA5MTYtLjY0NjloLTI2LjIyODNjLS4zNjM5LDAtLjY2NzIuMTIxMy0uOTA5Ny4zNjM5LTQuMTIyMSw0LjcyODUtOC4yNjQzLDkuNDk3NS0xMi4zODY0LDE0LjMwNjktNC4xMjIxLDQuNzg5Mi04LjMwNDgsOS41NTgxLTEyLjU3MDMsMTQuMzA2OWguMTgxOWMtLjk4ODUuOTcwMy0xLjk3OTIsMi4xMjI3LTMuMDEwMSwzLjQ1NDktMS4wMzEsMS4zMzQzLTIuMDE5NiwyLjYwNzktMy4wMTAyLDMuODE4OGwtLjM2MzktNzYuMzIxN2MwLS43Mjc4LS4zNjM5LTEuMTcyNi0xLjA5MTctMS4wOTE3bC0yMS4zMTc5LDIuNTY3NGMtLjcyNzcuMDgwOS0xLjA5MTYuMzYxOS0xLjA5MTYsMS4wODk2djEyNS42NjkxYzAsLjcyNzcuMzYzOSwxLjA5MTYsMS4wOTE2LDEuMDkxNmgyMS4zMTc5Yy43Mjc3LDAsMS4wOTE3LS4zNjM5LDEuMDkxNy0xLjA5MTZ2LTI5Ljg2NTJjMS4zNTQ0LTEuMzM0MywyLjU4NTYtMi42ODg4LDMuNzM3OS00LjA4MTYsMS4xNTIzLTEuNDE1MSwyLjM0NTEtMi43MDg5LDMuNTU2LTMuOTIxOWwyOC45OTc5LDM5LjI0MzRoMjcuMDM3YzEuMTcyNCwwLDIuMzg1NS0uNzg4NSwxLjUzNjMtMi4wODIzIiBmaWxsPSIjMDAxNzhhIi8+PHBhdGggZD0iTTcwMy44MzExLDkzLjMzNzFsNDEuOTA5OC0yNi4zNDk2YzcuODM5OC00LjkzMDcsMTguMzA3Ny0yLjU0NzIsMjMuMjM4Myw1LjI5NDZsMjYuMzQ5Niw0MS45MDk5YzQuOTMwNyw3LjgzOTgsMi41NDcyLDE4LjMwNzctNS4yOTQ1LDIzLjIzODRsLTQxLjkwOTksMjYuMzQ5NmMtNy44Mzk4LDQuOTMwNy0xOC4zMDc2LDIuNTQ1Mi0yMy4yMzgzLTUuMjk0NmwtMjYuMzQ5Ni00MS45MDk5Yy00LjkzMDctNy44Ni0yLjU0NTMtMTguMzA3Nyw1LjI5NDYtMjMuMjM4MyIgZmlsbD0iIzAwMTc4YSIvPjxwYXRoIGQ9Ik02MzQuMjM3Miw0NC4zNTU2bDE3LjI5NjktMjMuMDc2NmMzLjIzNDUtNC4zMjQyLDkuNDE2Ny01LjIxMzcsMTMuNzQwOC0xLjk2MWwyMy4wNzY2LDE3LjI5NjljNC4zMjQzLDMuMjM0Niw1LjIxMzgsOS40MTY2LDEuOTYxLDEzLjc0MDhsLTE3LjI5NjksMjMuMDc2NmMtMy4yMzQ1LDQuMzI2Mi05LjQzNjgsNS4xOTM1LTEzLjc0MDgsMS45NjFsLTIzLjA3NjYtMTcuMjk2OWMtNC4zMjQyLTMuMjUyOC01LjIxMzctOS40MzY5LTEuOTgxMS0xMy43NjExIiBmaWxsPSIjMDBhOGFmIi8+PHBhdGggZD0iTTY4Mi4xNDkzLDIxNS45OTU5bDIzLjI1ODYsMS45OTk0YzQuMzQ0NC4zNjM5LDguMjIzOS0yLjg4ODksOC41ODc4LTcuMjUzNWwxLjk5OTQtMjMuMjU4NmMuMzYzOS00LjM0NDQtMi44ODg5LTguMjIzOS03LjIzMzMtOC41ODc4bC0yMy4yNTg2LTEuOTgxMmMtNC4zNjQ2LS4zNjM5LTguMjIzOSwyLjg5MDktOC41ODc4LDcuMjM1M2wtMi4wMDE0LDIzLjI1ODZjLS4zNjM5LDQuMzY0NiwyLjg5MDksOC4yMjM5LDcuMjM1Myw4LjU4NzgiIGZpbGw9IiM5OTkiLz48cGF0aCBkPSJNNTAuMDA1NCwzMjguNTI4NnYtNDcuODg5OGgtMTcuMDM0MXYtNi45MTE5aDQxLjkwOTl2Ni45MTE5aC0xNy4wMzYxdjQ3Ljg4OThoLTcuODM5OFoiIGZpbGw9IiNmMTdmMmUiLz48cGF0aCBkPSJNNzYuMTkzMywzMjguNTI4NnYtNDAuMDI5OGg2LjkxMTl2Ni4yMDQzaC4xNjE3YzIuMDQxOC00LjMyNDIsNi4yODUyLTcuMTM0MiwxMC41Mjg1LTcuMTM0MiwxLjU3NDgsMCwyLjk5LjE2MTcsNC43ODkyLjU0NTh2Ni41ODg0Yy0xLjMzNDItLjU0NTktMi44MzAyLS43MDc2LTQuMDgxNi0uNzA3Ni02Ljc1MDEsMC0xMC45MTI2LDYuNTA1NS0xMC45MTI2LDE2LjMyNjV2MTguMjA2NmgtNy4zOTdaIiBmaWxsPSIjZjE3ZjJlIi8+PHBhdGggZD0iTTEzNC45Nzc2LDMyOC41Mjg2di02LjM2NGgtLjE2MTdjLTEuOTYxLDQuMTYyNS03LjA3MzYsNy4yOTQtMTMuMTE0Miw3LjI5NC0xMC4wNDM0LDAtMTQuOTk0My02LjEyMTQtMTQuOTk0My0xNy4xMTQ5di0yMy44NjVoNy4zNzQ4djIxLjU4MDdjMCwxMi4zMjc3LDUuNDE1OSwxMy40MTk0LDguNzg5OSwxMy40MTk0LDcuMzc2OSwwLDExLjg2MjgtNS45NjE3LDExLjg2MjgtMTYuNDA5NHYtMTguNjEwOWg3LjM3NDh2NDAuMDI5OGgtNy4xMzIydi4wNDA0WiIgZmlsbD0iI2YxN2YyZSIvPjxwYXRoIGQ9Ik0xNTEuNjg4MSwzMjAuNjY4NmMyLjUwNjgsMS42NTc3LDYuNjY5MywyLjgzMDIsOS4xOTQzLDIuODMwMiwzLjkxOTksMCw3LjUzODYtMS43MTg0LDcuNTM4Ni01LjczOTMsMC0yLjIwMzUtMS40MTUxLTQuMTYyNS03LjIzNTMtNi43NTAxLTguMjQ0MS0zLjY5NzUtMTAuMTI0Mi03LjE1MjUtMTAuMTI0Mi0xMS4yMzQxLDAtOC4zMjcsNi4zNjYxLTEyLjI0NjksMTQuMTI1LTEyLjI0NjksMy40NTY5LDAsNi4yODUyLjcwNzYsOS4xNzQsMS41NTY3bC0uNjI2Nyw2LjQ0NjljLTEuNDkzOS0uOTUwMi01Ljg3ODgtMi4wNDE4LTcuNzU4OS0yLjA0MTgtNC4wMDA4LDAtNy4wNzE2LDEuNzM4Ni03LjA3MTYsNC44NywwLDMuMjkzMiwyLjc0NzQsNC45NTA5LDcuNzc5Miw3LjEzMjMsNi44MjksMi45OTE5LDkuNTc4Myw2LjEyMzQsOS41NzgzLDExLjQ1ODUsMCw3LjYxNzQtNS42NTg0LDEyLjQ2NzItMTQuMDQ0MSwxMi40NjcyLTQuMjQzMywwLTcuODYtLjU0NTgtMTAuOTEyNi0yLjE4MTNsLjM4NDEtNi41ODg0di4wMjAyWiIgZmlsbD0iI2YxN2YyZSIvPjxwYXRoIGQ9Ik0yMDcuMDc2MSwzMjguMzY2OWMtMS45NTg5LjU0NTgtNC4wMDA4LDEuMDkxNi02LjM2NCwxLjA5MTYtOC4yNDYxLDAtMTIuMjQ2OS00LjMyNDItMTIuMjQ2OS0xMS41Mzczdi0yMy40ODA5aC05LjAzMjZ2LTUuOTgxOWg5LjAzMjZ2LTkuMjU0OWw3LjM3NjgtMi4zNjMzdjExLjYxODJoMTAuNjA3NHY1Ljk4MTloLTEwLjYwNzR2MjIuMDY1OGMwLDMuNjc3MywyLjIwMTYsNi45OTI3LDYuMjAyMyw2Ljk5MjcsMi40MjYsMCw0LjAwMDgtLjc4ODQsNS4wMzE4LTEuNDE1MXY2LjI4MzJaIiBmaWxsPSIjZjE3ZjJlIi8+PHBhdGggZD0iTTIxNS45NDY5LDMxOS43MTg1aDguNzg5OXY4Ljc4OTloLTguNzg5OXYtOC43ODk5WiIgZmlsbD0iI2YxN2YyZSIvPjxwYXRoIGQ9Ik0yNzQuMTY1MSwzMjguNTI4NmwtMjAuNjUyNy01NC44MDE3aDguNzg5OWwxNi44OTQ1LDQ3Ljg5MThoLjE0MTVsMTcuMzU3NS00Ny44OTE4aDguMjQ0MWwtMjAuOTUzOSw1NC44MDE3aC05LjgyMVoiIGZpbGw9IiNmMTdmMmUiLz48cGF0aCBkPSJNMzMyLjQwMTUsMzI4LjUyODZ2LTUuMTcxM2gtLjE2MThjLTIuODI4MiwzLjkxOTktNy4yMTMxLDYuMTIxNS0xMi40ODc1LDYuMTIxNS05LjI3NTEsMC0xNC42MTAxLTQuNDA1LTE0LjYxMDEtMTIuNDg3NXM4LjA4MjQtMTMuMTk1LDE5LjE1NjctMTMuMTk1YzMuMTMxNSwwLDUuNjU4NS4wODA5LDcuMjk0LjE2MTgsMC03LjI5Ni0yLjkwOTEtMTAuNDQ3Ny05LjkwMTgtMTAuNDQ3Ny00LjAwMDgsMC04LjM4NTYsMS40MTUxLTExLjYxODIsNC4wODE2bC0uNDA0My02LjI4NTFjMy42OTc1LTIuMjAxNiw4LjA4MjQtMy43Nzg0LDEzLjE5NS0zLjc3ODQsMTEuMDc0MywwLDE2LjEwNjIsNS4yNzQ0LDE2LjEwNjIsMTYuNDkwM3YxNy41Nzk4YzAsMi40MjM5LjA4MDksNS4wMzE4LjMwMzIsNi45MDk4aC02LjkxMTlsLjA0MDUuMDIwMlpNMzMxLjYxMzEsMzA5LjQ1NDhzLTMuMjkzMi0uMTYxNy00Ljc4OTItLjE2MTdjLTguMzI1LDAtMTMuODIxNywyLjUwNDctMTMuODIxNyw3LjY5ODIsMCwzLjgzOSwzLjUzNzgsNi41MjU3LDcuNTM4Niw2LjUyNTcsNi45MDk4LDAsMTEuMDcyMy00LjMyNDIsMTEuMDcyMy0xMC41MjY1di0zLjUzNThaIiBmaWxsPSIjZjE3ZjJlIi8+PHBhdGggZD0iTTM1Mi4zODcxLDI2OS42NDUzaDcuMzc0OHY1OC44ODMzaC03LjM3NDh2LTU4Ljg4MzNaIiBmaWxsPSIjZjE3ZjJlIi8+PHBhdGggZD0iTTQwMS41MTAxLDMyOC41Mjg2di02LjM2NGgtLjE2MThjLTEuOTU4OSw0LjE2MjUtNy4wNzE1LDcuMjk0LTEzLjExNDIsNy4yOTQtMTAuMDQzMywwLTE0Ljk5NDItNi4xMjE0LTE0Ljk5NDItMTcuMTE0OXYtMjMuODY1aDcuMzc2OHYyMS41ODA3YzAsMTIuMzI3Nyw1LjQxNTksMTMuNDE5NCw4Ljc5LDEzLjQxOTQsNy4zNzQ4LDAsMTEuODYwNy01Ljk2MTcsMTEuODYwNy0xNi40MDk0di0xOC42MTA5aDcuMzc2OXY0MC4wMjk4aC03LjEzNDJ2LjA0MDRaIiBmaWxsPSIjZjE3ZjJlIi8+PHBhdGggZD0iTTQ1MS44ODY0LDMyNi44NzI5Yy01Ljc5NzksMi4zNjMzLTkuMjU0OSwyLjU4NTYtMTIuNTY4MywyLjU4NTYtMTMuNTc5MSwwLTIwLjgxMjUtNy44Mzk4LTIwLjgxMjUtMjEuNjYxNSwwLTEyLjA4MzEsNy42MTc0LTIwLjI0ODQsMTguNzcyNy0yMC4yNDg0czE3LjY2MDcsNy4zNzY4LDE3LjY2MDcsMjIuNjExN2gtMjguNTczNGMuMDgwOSw4LjAyMzcsNi4yMDQzLDEzLjM1NjcsMTMuMTk1LDEzLjM1NjcsNC4yNDMzLDAsOS44MDA3LTIuMDM5OCwxMi4zMjU3LTQuMDAwOHY3LjM3NjktLjAyMDJaTTQ0Ny4wOTczLDMwNC42NjU2Yy0uMDgwOS02LjQyNjctMy43NTgyLTExLjE1NTItMTAuMDQxMy0xMS4xNTUyLTUuODgwOCwwLTkuOTAxOCw0LjI0MzMtMTAuNjcsMTEuMTU1MmgyMC43MzE2LS4wMjAyWiIgZmlsbD0iI2YxN2YyZSIvPjxwYXRoIGQ9Ik00NjUuMDYzMywzMTkuNzE4NWg4Ljc5djguNzg5OWgtOC43OXYtOC43ODk5WiIgZmlsbD0iI2YxN2YyZSIvPjxwYXRoIGQ9Ik01MjMuMjc5NCwzMjguNTI4NmwtMjAuNjUyNy01NC44MDE3aDguODEyMmwxNi44NzIzLDQ3Ljg5MThoLjE2MTdsMTcuMzM3My00Ny44OTE4aDguMjQ0MWwtMjAuOTU0LDU0LjgwMTdoLTkuODIxWiIgZmlsbD0iI2YxN2YyZSIvPjxwYXRoIGQ9Ik01ODguNTY5MiwzMjYuODcyOWMtNS44LDIuMzYzMy05LjI1NDksMi41ODU2LTEyLjU2ODMsMi41ODU2LTEzLjU3OTEsMC0yMC44MTQ0LTcuODM5OC0yMC44MTQ0LTIxLjY2MTUsMC0xMi4wODMxLDcuNjE3NC0yMC4yNDg0LDE4Ljc3MjYtMjAuMjQ4NHMxNy42NjA3LDcuMzc2OCwxNy42NjA3LDIyLjYxMTdoLTI4LjU3MzNjLjA4MDgsOC4wMjM3LDYuMjA0MywxMy4zNTY3LDEzLjE5NywxMy4zNTY3LDQuMjQzMywwLDkuNzk4OC0yLjAzOTgsMTIuMzI1OC00LjAwMDh2Ny4zNzY5LS4wMjAyWk01ODMuNzgsMzA0LjY2NTZjLS4wODA4LTYuNDI2Ny0zLjc1ODEtMTEuMTU1Mi0xMC4wNDMzLTExLjE1NTItNS44ODA4LDAtOS44ODE2LDQuMjQzMy0xMC42NzAxLDExLjE1NTJoMjAuNzEzNFoiIGZpbGw9IiNmMTdmMmUiLz48cGF0aCBkPSJNNjAyLjQ1MTYsMjY5LjY0NTNoNy4zNzQ4djU4Ljg4MzNoLTcuMzc0OHYtNTguODgzM1oiIGZpbGw9IiNmMTdmMmUiLz48cGF0aCBkPSJNNjIwLjYzNzksMzA4LjUwNDZjMC0xMi4yNDY5LDguMTYzMy0yMC45NTYsMjAuNDEwMS0yMC45NTZzMjAuMzI3Miw4LjMyNSwyMC4zMjcyLDIwLjk1NmMwLDExLjIzNDEtOC4wODI0LDIwLjk1MzktMjAuNDA4LDIwLjk1MzlzLTIwLjMyOTMtOS4zMzU3LTIwLjMyOTMtMjAuOTUzOU02NTMuNTM1NSwzMDguNTA0NmMwLTcuOTIyNy00Ljc4OTItMTQuOTk0Mi0xMi41NjgzLTE0Ljk5NDJzLTEyLjQ2OTMsNy4yOTQtMTIuNDY5MywxNC45OTQyLDQuMjQzMywxNC45OTQyLDEyLjU1MDEsMTQuOTk0MiwxMi40ODc1LTcuMjM1MywxMi40ODc1LTE0Ljk5NDIiIGZpbGw9IiNmMTdmMmUiLz48cGF0aCBkPSJNNjk3LjYyNjcsMzI3LjgyMzFjLTIuNTA0OCwxLjEwOTktNS4xOTM0LDEuNjU1Ny05LjI1NDksMS42NTU3LTEyLjE2MzksMC0yMC40MDgtOS41Nzg0LTIwLjQwOC0yMC45NTM5LDAtMTIuMjQ2OSw4LjE2MzItMjAuOTU2LDIwLjQwOC0yMC45NTYsMi44OTA5LDAsNi44MzExLjcwNzUsOC45NTE3LDEuNTc2OGwtLjYyNDcsNi4xMjM0Yy0yLjgzMDMtMS4xNzI2LTUuNTc3Ny0xLjczODYtOC4wMjM3LTEuNzM4Ni04LjA4MjQsMC0xMi44NzE2LDcuMjMzMy0xMi44NzE2LDE0Ljk5NDMsMCw3LjIzMzMsMy45MTk4LDE0Ljk5MjIsMTMuMzM2NSwxNC45OTIyLDIuNTA2OCwwLDUuNjU4NS0uNzg2NCw3LjkyMDctMi4yODI0bC41NDU3LDYuNTg4NGguMDIwMloiIGZpbGw9IiNmMTdmMmUiLz48cGF0aCBkPSJNNzA2LjU1ODMsMjcxLjIyMjJoOC4zMjY5djguMzI0OWgtOC4zMjY5di04LjMyNDlaTTcwNy4wMjMyLDI4OC40Nzg2aDcuMzc2OHY0MC4wMjk4aC03LjM3Njh2LTQwLjAyOThaIiBmaWxsPSIjZjE3ZjJlIi8+PHBhdGggZD0iTTc0OS44MDI0LDMyOC4zNjY5Yy0xLjk1ODkuNTQ1OC00LjAwMDgsMS4wOTE2LTYuMzY2LDEuMDkxNi04LjI0NDEsMC0xMi4yNDQ5LTQuMzI0Mi0xMi4yNDQ5LTExLjUzNzN2LTIzLjQ4MDloLTkuMDMyNnYtNS45ODE5aDkuMDMyNnYtOS4yNTQ5bDcuMzc0Ny0yLjM2MzN2MTEuNjE4MmgxMC41ODkydjUuOTgxOWgtMTAuNTg5MnYyMi4wNjU4YzAsMy42NzczLDIuMjAzNiw2Ljk5MjcsNi4yMDQ0LDYuOTkyNywyLjQyNiwwLDQuMDAwOC0uNzg4NCw1LjAzMTgtMS40MTUxdjYuMjgzMloiIGZpbGw9IiNmMTdmMmUiLz48cGF0aCBkPSJNNzU1LjQ0MDcsMzM5LjM2MDRjMS4xNzI0LjM4NDEsMi4zNjMzLjYyNjcsMy40NTQ5LjYyNjcsNC43ODkyLDAsNy43NzkyLTQuOTUwOSw4Ljc5LTkuODIxLDAtLjc4ODQtLjc4ODUtMi41ODU2LTEuMTEyLTMuNDU0OWwtMTMuOTAyNS0zOC4yMzI2aDguMDg0M2wxMC43NDg5LDMzLjEyaC4xNjE4bDEwLjk5MzUtMzMuMTJoNy40NTU3bC0xNS44NjE1LDQzLjk1MTdjLTIuNDQ2MSw2LjY2NzMtNS43MzkzLDEzLjQ5ODMtMTQuMjg2NiwxMy40OTgzLTIuMjg0NCwwLTMuNjc3NC0uMzIzNS01LjAzMTgtLjU0NThsLjQ4NTItNi4wNDI2LjAyMDIuMDIwMloiIGZpbGw9IiNmMTdmMmUiLz48L3N2Zz4=') !important;
 background-repeat: no-repeat !important;
 background-position: center center !important;
 background-size: 115% auto !important;
 background-origin: padding-box !important;
 border: 1px solid rgba(255,255,255,.20) !important;
}
.lineage-ku101-group:nth-of-type(4) .lineage-ku101-cell:nth-of-type(1) .lineage-ku101-mono {
 font-size: 0 !important;
 color: transparent !important;
 background-color: #fff !important;
 background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAYFBMVEUGcsv////M4vRqquCt0e5Vn9yLvedZodxKmdk/ktcphtJRndvH3/PX6Pckg9EJdMzw9/wcf9AuidP3+/3q8/sXe8651/B3suONvueWw+nh7vmEueWdyOvv9vzR5fWlzOxgH//NAAAA30lEQVRIie2Ra3PCIBBF90IMEIkbJMQatf7/f9mFtNOHU5lpv3I+sLmwZ8KDqNFo/Bcj7I8fyfmhFGNLDEN4EFDwm2IiRpbaQZWs0P0iYD4Q8QUYB3Y1waRBOj1xBywpdThVhJ2ML4D1wJmDymNdCHlbUdNxhfzAzVWBJhEWthPijvYRVSFtdxUxO9L5syZIkx6lbzzkq/LXmmBvWDktwGu4AnfunwqrkpNO8nJ8loMDF6Z+exyrcFPCDyEzuhJ0RDRSP4XCN0FnHL8nu5muzOpw6gsP2/oCP1tsNBp/5g12FAiCrKuvogAAAABJRU5ErkJggg==') !important;
 background-repeat: no-repeat !important;
 background-position: center center !important;
 background-size: 68% 68% !important;
 background-origin: padding-box !important;
 border: 1px solid rgba(255,255,255,.20) !important;
}
.lineage-ku101-group:nth-of-type(4) .lineage-ku101-cell:nth-of-type(2) .lineage-ku101-mono {
 font-size: 0 !important;
 color: transparent !important;
 background-color: #fff !important;
 background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAABcUlEQVR4nO3YMQ1CQRBAwTsEkGABRQjAC2YQQAtisECCgcPAr/nFmym32mxetfN7Oa8Rc3y859b89hq5Wxz2XoB9CSBOAHECiBNAnADiBBAngDgBxAkgTgBxAogTQJwA4gQQJ4A4AcQJIE4AcQKIE0CcAOIEECeAOAHECSBOAHECiBNAnADiBBAngDgBxAkgTgBxAogTQJwA4gQQJ4A4AcQJIE4AcQKIE0CcAOIEECeAOAHECSBOAHECiBNAnADiBBAngDgBxAkgTgBxAgAAAEiZ4/5Zey/xd9fT3Bqv58jdwh8gTgBxAogTQJwA4gQQJ4A4AcQJIE4AcQKIE0CcAOIEECeAOAHECSBOAHECiBNAnADiBBAngDgBxAkgTgBxAogTQJwA4gQQJ4A4AcQJIE4AcQKIE0CcAOIEECeAOAHECSBOAHECiBNAnADiBBAngDgBxAkgTgBxAogTQJwA4gQQJ4A4AcQJIE4AcQKIE0DcD7bzDOLQOL8WAAAAAElFTkSuQmCC') !important;
 background-repeat: no-repeat !important;
 background-position: center center !important;
 background-size: 68% 68% !important;
 background-origin: padding-box !important;
 border: 1px solid rgba(255,255,255,.20) !important;
}

/* Keep logos visible on hover (suppress V11 accent recolor) */
.lineage-ku101-cell:hover .lineage-ku101-mono {
 background-color: #fff !important;
 color: transparent !important;
}
/* LINEAGE_KU101_LOGOS_20260514 end */

/* PULLQUOTE_PER_CARD_COLOUR_20260516 begin
 Per-card colour rotation on Doctrine Principle pullquotes — same pattern
 the .ku-claims-row glossary uses. Each card gets a UNIQUE solid colour
 on its left spine AND its cite caption. 9 cards cycle through 5 colours. */

/* Card chrome — premium dark-glass, full border, no border-left now */
.pullquote {
 position: relative !important;
 border-left: none !important;
 background: linear-gradient(165deg, rgba(13,19,32,.92) 0%, rgba(10,14,26,.98) 100%) !important;
 border: 1px solid rgba(201,162,39,.18) !important;
 border-radius: 12px !important;
 overflow: hidden !important;
 padding: 32px 40px 30px 56px !important;
 margin: 32px auto !important;
 transition: transform .28s cubic-bezier(.2,.8,.2,1), border-color .25s, box-shadow .25s;
}

/* The spine bar — solid colour, set per-card below via custom property */
.pullquote::before {
 content: '';
 position: absolute;
 top: 0; left: 0; bottom: 0;
 width: 5px;
 background: var(--pq-accent, #c9a227);
 box-shadow: 0 0 18px -2px var(--pq-accent, #c9a227);
 z-index: 2;
 pointer-events: none;
 border-radius: 0 2px 2px 0;
}

/* Subtle corner gleam tinted to each card's accent */
.pullquote::after {
 content: '';
 position: absolute;
 top: -60px; right: -60px;
 width: 180px; height: 180px;
 border-radius: 50%;
 background: radial-gradient(circle, color-mix(in srgb, var(--pq-accent, #c9a227) 18%, transparent), transparent 70%);
 pointer-events: none;
 opacity: .55;
 transition: opacity .25s, transform .35s;
 z-index: 0;
}

.pullquote:hover {
 transform: translateY(-3px);
 border-color: color-mix(in srgb, var(--pq-accent, #c9a227) 55%, transparent) !important;
 box-shadow: 0 16px 32px rgba(0,0,0,.45),
 0 0 0 1px color-mix(in srgb, var(--pq-accent, #c9a227) 25%, transparent);
}
.pullquote:hover::after { opacity: 1; transform: scale(1.18); }

/* Text — quote in cream, cite in the card's accent colour */
.pullquote > * { position: relative; z-index: 3; }
.pullquote .pullquote-text {
 font-family: var(--font-display, Georgia, "Times New Roman", serif) !important;
 color: var(--w1, #f4ead2) !important;
 text-wrap: balance;
}
.pullquote .pullquote-cite {
 display: block !important;
 margin-top: 16px !important;
 color: var(--pq-accent, #c9a227) !important;
 letter-spacing: .10em !important;
 font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace) !important;
 font-weight: 600 !important;
}

/* Per-card accent rotation — 5-colour palette cycling over 9 cards */
.pullquote:nth-of-type(5n+1) { --pq-accent: #c9a227; } /* gold */
.pullquote:nth-of-type(5n+2) { --pq-accent: #5fb0c5; } /* cyan */
.pullquote:nth-of-type(5n+3) { --pq-accent: #c08b4e; } /* ember */
.pullquote:nth-of-type(5n+4) { --pq-accent: #9f7aea; } /* purple */
.pullquote:nth-of-type(5n+5) { --pq-accent: #14b8a6; } /* teal */

@media (prefers-reduced-motion: reduce) {
 .pullquote:hover { transform: none !important; }
 .pullquote:hover::after { transform: none !important; }
}
/* PULLQUOTE_PER_CARD_COLOUR_20260516 end */

/* PULLQUOTE_GOODREADS_STYLE_20260516 begin
 Goodreads-style meta row on .pullquote.pullquote-gr — tags, likes, Like btn. */
.doctrine-principles-section {
 max-width: 1100px;
 margin: 64px auto 80px;
 padding: 0 20px;
}
.doctrine-principles-head {
 text-align: center;
 margin-bottom: 36px;
}
.doctrine-principles-kicker {
 font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
 font-size: .68rem;
 letter-spacing: .22em;
 text-transform: uppercase;
 color: var(--gold, #c9a227);
 margin-bottom: 12px;
}
.doctrine-principles-title {
 font-family: var(--font-display, Georgia, "Times New Roman", serif);
 font-size: clamp(1.5rem, 3.2vw, 2rem);
 line-height: 1.22;
 color: var(--w1, #f4ead2);
 text-wrap: balance;
 max-width: 760px;
 margin: 0 auto;
 letter-spacing: -.005em;
}

.pullquote.pullquote-gr .pullquote-author {
 font-weight: 700;
 letter-spacing: .04em;
 color: var(--pq-accent, var(--gold, #c9a227));
}
.pullquote.pullquote-gr .pullquote-source {
 font-style: normal;
 color: color-mix(in srgb, var(--pq-accent, #c9a227) 70%, #f4ead2 30%);
 letter-spacing: .04em;
}
.pullquote.pullquote-gr .pullquote-meta {
 position: relative;
 z-index: 3;
 margin-top: 14px;
 padding-top: 12px;
 border-top: 1px dashed rgba(244,234,210,.08);
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 justify-content: space-between;
 gap: 12px;
 font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
 font-size: .72rem;
 letter-spacing: .04em;
}
.pullquote.pullquote-gr .pullquote-tags {
 color: rgba(244,234,210,.55);
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 gap: 6px;
}
.pullquote.pullquote-gr .pq-tags-label {
 text-transform: uppercase;
 letter-spacing: .14em;
 font-size: .62rem;
 color: rgba(244,234,210,.40);
 margin-right: 4px;
}
.pullquote.pullquote-gr .pq-tag {
 display: inline-flex;
 align-items: center;
 padding: 2px 9px;
 border-radius: 99px;
 background: color-mix(in srgb, var(--pq-accent, #c9a227) 14%, transparent);
 color: var(--pq-accent, #c9a227);
 border: 1px solid color-mix(in srgb, var(--pq-accent, #c9a227) 35%, transparent);
 text-decoration: none;
 font-weight: 500;
 cursor: default;
 transition: background .15s, transform .15s;
}
.pullquote.pullquote-gr .pq-tag:hover {
 background: color-mix(in srgb, var(--pq-accent, #c9a227) 28%, transparent);
 transform: translateY(-1px);
}
.pullquote.pullquote-gr .pullquote-actions {
 display: inline-flex;
 align-items: center;
 gap: 12px;
}
.pullquote.pullquote-gr .pullquote-likes {
 color: rgba(244,234,210,.50);
 font-size: .70rem;
 letter-spacing: .08em;
}
.pullquote.pullquote-gr .pullquote-like-btn {
 display: inline-flex;
 align-items: center;
 gap: 6px;
 padding: 5px 12px;
 border-radius: 99px;
 background: transparent;
 color: var(--pq-accent, #c9a227);
 border: 1px solid color-mix(in srgb, var(--pq-accent, #c9a227) 45%, transparent);
 font-family: inherit;
 font-size: .70rem;
 letter-spacing: .10em;
 text-transform: uppercase;
 font-weight: 600;
 cursor: pointer;
 transition: background .18s, color .18s, transform .18s;
}
.pullquote.pullquote-gr .pq-heart { font-size: .9rem; line-height: 1; }
.pullquote.pullquote-gr .pullquote-like-btn:hover {
 background: color-mix(in srgb, var(--pq-accent, #c9a227) 18%, transparent);
 transform: translateY(-1px);
}
.pullquote.pullquote-gr .pullquote-like-btn.liked {
 background: color-mix(in srgb, var(--pq-accent, #c9a227) 35%, transparent);
}
.pullquote.pullquote-gr .pullquote-like-btn.liked .pq-heart::before {
 content: "♥";
}
/* PULLQUOTE_GOODREADS_STYLE_20260516 end */

/* MAIN_PRINCIPLES_PREVIEW_CSS_20260516 begin */
.doctrine-principles-section .doctrine-principles-sub {
 color: var(--w2, #cfc9b5);
 font-size: 1.0rem;
 line-height: 1.55;
 max-width: 720px;
 margin: 14px auto 0;
 text-wrap: pretty;
}
.doctrine-principles-cta {
 margin: 40px auto 20px;
 text-align: center;
}
.doctrine-principles-cta-link {
 display: inline-flex;
 align-items: center;
 gap: 10px;
 padding: 14px 28px;
 border: 1px solid rgba(201,162,39,.55);
 border-radius: 99px;
 background: linear-gradient(135deg, rgba(201,162,39,.10), rgba(95,176,197,.06));
 color: var(--gold, #c9a227);
 font-family: var(--font-mono, ui-monospace, monospace);
 font-size: .78rem;
 letter-spacing: .14em;
 text-transform: uppercase;
 font-weight: 700;
 text-decoration: none;
 transition: transform .2s, box-shadow .25s, border-color .25s, background .25s;
}
.doctrine-principles-cta-link:hover {
 transform: translateY(-2px);
 border-color: var(--gold, #c9a227);
 box-shadow: 0 14px 32px -10px rgba(201,162,39,.45), 0 0 0 1px rgba(201,162,39,.30);
 background: linear-gradient(135deg, rgba(201,162,39,.18), rgba(95,176,197,.10));
}
.doctrine-cta-arrow {
 font-size: 1.2rem;
 line-height: 1;
 transition: transform .25s;
}
.doctrine-principles-cta-link:hover .doctrine-cta-arrow {
 transform: translateX(4px);
}
/* MAIN_PRINCIPLES_PREVIEW_CSS_20260516 end */

/* PRINCIPLES_PAGE_POLISH_20260516 begin */
.doctrine-principles-section .pullquote {
 counter-increment: pq-counter;
 position: relative !important;
}
.doctrine-principles-section {
 counter-reset: pq-counter;
}
.doctrine-principles-section .pullquote .pq-num {
 position: absolute;
 top: 14px;
 right: 22px;
 font-family: var(--font-mono, ui-monospace, monospace);
 font-size: .60rem;
 letter-spacing: .18em;
 color: color-mix(in srgb, var(--pq-accent, #c9a227) 65%, transparent);
 z-index: 4;
 font-weight: 700;
}
.refs-hero h1, .principles-page-title {
 font-family: var(--font-display, Georgia, serif);
 font-size: clamp(1.9rem, 4.5vw, 3rem) !important;
 line-height: 1.12 !important;
 letter-spacing: -.01em !important;
}
.principles-bottom-cta {
 margin: 72px auto 40px;
 padding: 36px 28px;
 max-width: 880px;
 text-align: center;
 border: 1px solid rgba(201,162,39,.30);
 border-radius: 16px;
 background: linear-gradient(135deg, rgba(13,19,32,.92) 0%, rgba(10,14,26,.98) 100%);
 position: relative;
 overflow: hidden;
}
.principles-bottom-cta::before {
 content: '';
 position: absolute; top: 0; left: 0; right: 0; height: 4px;
 background: linear-gradient(90deg, #c9a227 0%, #5fb0c5 33%, #c08b4e 66%, #9f7aea 100%);
}
.principles-bottom-cta-kicker {
 font-family: var(--font-mono, ui-monospace, monospace);
 font-size: .66rem;
 letter-spacing: .22em;
 text-transform: uppercase;
 color: var(--gold, #c9a227);
 margin-bottom: 10px;
}
.principles-bottom-cta h3 {
 font-family: var(--font-display, Georgia, serif);
 font-size: clamp(1.3rem, 3vw, 1.7rem);
 line-height: 1.25;
 color: var(--w1, #f4ead2);
 margin: 0 0 16px;
 text-wrap: balance;
}
.principles-bottom-cta-actions {
 display: flex; flex-wrap: wrap; gap: 12px; justify-content: center;
 margin-top: 18px;
}
.principles-bottom-cta-actions a {
 display: inline-flex; align-items: center; gap: 8px;
 padding: 12px 22px;
 border-radius: 99px;
 font-family: var(--font-mono, ui-monospace, monospace);
 font-size: .72rem; letter-spacing: .14em; text-transform: uppercase;
 text-decoration: none; font-weight: 700;
 transition: transform .2s, box-shadow .25s, border-color .25s;
}
.pbc-primary {
 background: linear-gradient(135deg, var(--gold, #c9a227), color-mix(in srgb, var(--gold, #c9a227) 60%, var(--em, #c08b4e)));
 color: #0a0e1a !important;
 border: 1px solid var(--gold, #c9a227);
}
.pbc-primary:hover {
 transform: translateY(-2px);
 box-shadow: 0 14px 32px -10px rgba(201,162,39,.55);
}
.pbc-ghost {
 background: transparent;
 color: var(--cyan, #5fb0c5) !important;
 border: 1px solid rgba(95,176,197,.55);
}
.pbc-ghost:hover {
 transform: translateY(-2px);
 background: rgba(95,176,197,.10);
 border-color: var(--cyan, #5fb0c5);
}
/* References page consistency */
.refs-hero { padding: 80px 0 30px !important; }
/* PRINCIPLES_PAGE_POLISH_20260516 end */

/* CONTACT_PAGE_POLISH_20260516 begin */
.contact-graphics-strip { position: relative; margin: 0 auto 24px; max-width: 1200px; border-radius: 14px; overflow: hidden; line-height: 0; box-shadow: 0 14px 30px -16px rgba(0,0,0,.5), inset 0 0 0 1px rgba(201,162,39,.18); }
.contact-graphics-strip svg { display: block; width: 100%; height: auto; }
.contact-sub { color: var(--w2, #cfc9b5); font-size: 1.02rem; line-height: 1.55; max-width: 640px; margin: 12px 0 0; text-wrap: pretty; }
.section#contact .head { text-align: left; max-width: 880px; margin: 0 auto 24px; }
.section#contact .head h3 { font-family: var(--font-display, Georgia, serif); font-size: clamp(1.6rem, 3.6vw, 2.2rem); color: var(--w1, #f4ead2); margin: 8px 0 0; letter-spacing: -.005em; }
.section#contact .head .kicker { font-family: var(--mono, monospace); font-size: .64rem; letter-spacing: .22em; text-transform: uppercase; color: var(--gold, #c9a227); }
.section#contact .contact .card { background: linear-gradient(165deg, rgba(13,19,32,.92), rgba(10,14,26,.98)) !important; border: 1px solid rgba(201,162,39,.22) !important; border-radius: 14px !important; position: relative; overflow: hidden; padding: 24px !important; transition: transform .25s, border-color .25s, box-shadow .25s; }
.section#contact .contact .card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #c9a227 0%, #5fb0c5 33%, #c08b4e 66%, #9f7aea 100%); }
.section#contact .contact .card:hover { transform: translateY(-3px); border-color: rgba(201,162,39,.55) !important; box-shadow: 0 18px 36px -14px rgba(201,162,39,.25); }
.section#contact .contact .card h4 { font-family: var(--font-display, Georgia, serif); font-size: 1.25rem; color: var(--w1, #f4ead2); margin: 0 0 10px; }
.section#contact .contact .card .pill { display: inline-flex; align-items: center; padding: 4px 12px; border-radius: 99px; font-family: var(--mono, monospace); font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; }
.section#contact .contact .card .pill.gold { background: rgba(201,162,39,.10); color: var(--gold, #c9a227); border: 1px solid rgba(201,162,39,.40); }
.section#contact .contact .card .pill.cyan { background: rgba(95,176,197,.10); color: var(--cyan, #5fb0c5); border: 1px solid rgba(95,176,197,.40); }
.section#contact .contact .card .mini { display: flex; align-items: center; gap: 12px; margin: 8px 0; }
.section#contact .contact .card .tag { color: var(--w2, #cfc9b5); font-family: var(--mono, monospace); font-size: .82rem; }
.section#contact .contact .card a.tag:hover { color: var(--gold, #c9a227); }
/* CONTACT_PAGE_POLISH_20260516 end */

/* PRINCIPLES_EYECATCHING_20260516 begin */
@keyframes pq-rainbow-shimmer { 0%{background-position:0% 50%} 100%{background-position:200% 50%} }
@keyframes pq-pulse { 0%,100%{transform:scale(1);opacity:.55} 50%{transform:scale(1.08);opacity:.85} }
@keyframes pq-fade-up { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }

/* === DRAMATIC HERO === */
.doctrine-principles-section.principles-page-grid,
.refs-hero {
 position: relative;
 overflow: visible !important;
}
.refs-hero::before {
 content: '';
 position: absolute; top: -40px; left: 10%; width: 380px; height: 380px;
 border-radius: 50%;
 background: radial-gradient(circle, rgba(201,162,39,.18), transparent 60%);
 pointer-events: none; z-index: 0;
 animation: pq-pulse 8s ease-in-out infinite;
}
.refs-hero::after {
 content: '';
 position: absolute; top: -60px; right: 5%; width: 420px; height: 420px;
 border-radius: 50%;
 background: radial-gradient(circle, rgba(95,176,197,.16), transparent 60%);
 pointer-events: none; z-index: 0;
 animation: pq-pulse 11s ease-in-out infinite 2s;
}
.refs-hero .wrap { position: relative; z-index: 2; }
.refs-hero h1 {
 font-size: clamp(2.2rem, 5.5vw, 3.6rem) !important;
 line-height: 1.08 !important;
 letter-spacing: -.015em !important;
 background: linear-gradient(135deg, #f4ead2 0%, #c9a227 40%, #5fb0c5 70%, #f4ead2 100%);
 background-clip: text;
 -webkit-background-clip: text;
 color: transparent !important;
 -webkit-text-fill-color: transparent;
 margin-bottom: 18px !important;
}
.refs-hero h1::after {
 content: '';
 display: block;
 width: 200px; height: 4px;
 margin-top: 18px;
 border-radius: 2px;
 background: linear-gradient(90deg, #c9a227 0%, #5fb0c5 33%, #c08b4e 66%, #9f7aea 100%);
 background-size: 200% 100%;
 animation: pq-rainbow-shimmer 4s linear infinite;
}
.refs-hero p { font-size: 1.05rem !important; max-width: 760px !important; }

/* === STICKY FILTER / SEARCH === */
.principles-toolbar {
 position: sticky;
 top: 0;
 z-index: 50;
 margin: 24px auto 28px;
 padding: 14px 16px;
 background: rgba(8,8,16,.85);
 backdrop-filter: blur(14px);
 -webkit-backdrop-filter: blur(14px);
 border: 1px solid rgba(201,162,39,.20);
 border-radius: 14px;
 box-shadow: 0 10px 24px -16px rgba(0,0,0,.5);
}
.principles-toolbar-row {
 display: flex; flex-wrap: wrap; gap: 12px;
 align-items: center; justify-content: space-between;
}
.principles-search {
 flex: 1 1 280px;
 display: flex; align-items: center; gap: 8px;
 padding: 10px 14px;
 background: rgba(13,19,32,.6);
 border: 1px solid rgba(201,162,39,.25);
 border-radius: 99px;
}
.principles-search input {
 flex: 1; background: none; border: 0; outline: 0;
 color: var(--w1, #f4ead2);
 font-family: inherit; font-size: .92rem;
}
.principles-search input::placeholder { color: var(--w3, #9a9789); }
.principles-search svg { width: 16px; height: 16px; color: var(--gold, #c9a227); flex-shrink: 0; }
.principles-count {
 font-family: var(--mono, monospace);
 font-size: .72rem;
 letter-spacing: .14em;
 text-transform: uppercase;
 color: var(--gold, #c9a227);
 padding: 6px 14px;
 background: rgba(201,162,39,.10);
 border: 1px solid rgba(201,162,39,.40);
 border-radius: 99px;
 white-space: nowrap;
}
.principles-tag-chips {
 margin-top: 12px;
 display: flex; flex-wrap: wrap; gap: 6px;
}
.principles-tag-chip {
 padding: 5px 11px;
 border-radius: 99px;
 border: 1px solid rgba(255,255,255,.18);
 background: transparent;
 color: rgba(244,234,210,.65);
 font-family: var(--mono, monospace);
 font-size: .62rem; letter-spacing: .10em; text-transform: lowercase;
 cursor: pointer;
 transition: all .15s;
}
.principles-tag-chip:hover, .principles-tag-chip.active {
 background: rgba(201,162,39,.14);
 color: var(--gold, #c9a227);
 border-color: rgba(201,162,39,.55);
 transform: translateY(-1px);
}

/* === CARDS — DRAMATIC === */
.doctrine-principles-section {
 display: grid !important;
 grid-template-columns: repeat(auto-fit, minmax(440px, 1fr)) !important;
 gap: 24px !important;
 max-width: 1280px !important;
 margin: 0 auto !important;
 padding: 0 20px !important;
}
.doctrine-principles-section .doctrine-principles-head,
.doctrine-principles-section .doctrine-principles-cta {
 grid-column: 1 / -1;
}
.doctrine-principles-section .pullquote.pullquote-gr {
 position: relative !important;
 margin: 0 !important;
 padding: 36px 32px 28px 32px !important;
 animation: pq-fade-up .5s ease-out backwards;
 transition: transform .25s, box-shadow .35s, border-color .25s !important;
}
.doctrine-principles-section .pullquote.pullquote-gr:nth-child(1) { animation-delay: .05s; }
.doctrine-principles-section .pullquote.pullquote-gr:nth-child(2) { animation-delay: .10s; }
.doctrine-principles-section .pullquote.pullquote-gr:nth-child(3) { animation-delay: .15s; }
.doctrine-principles-section .pullquote.pullquote-gr:nth-child(4) { animation-delay: .20s; }
.doctrine-principles-section .pullquote.pullquote-gr:nth-child(5) { animation-delay: .25s; }
.doctrine-principles-section .pullquote.pullquote-gr:nth-child(6) { animation-delay: .30s; }
.doctrine-principles-section .pullquote.pullquote-gr::after {
 content: '';
 position: absolute; top: -60px; right: -60px;
 width: 220px; height: 220px;
 border-radius: 50%;
 background: radial-gradient(circle, color-mix(in srgb, var(--pq-accent, #c9a227) 18%, transparent), transparent 70%);
 pointer-events: none;
 z-index: 0;
 opacity: .6;
 transition: opacity .35s, transform .45s;
}
.doctrine-principles-section .pullquote.pullquote-gr:hover {
 transform: translateY(-4px);
 box-shadow: 0 22px 48px -16px rgba(0,0,0,.55),
 0 0 0 1px color-mix(in srgb, var(--pq-accent, #c9a227) 50%, transparent),
 0 0 60px -30px color-mix(in srgb, var(--pq-accent, #c9a227) 80%, transparent);
}
.doctrine-principles-section .pullquote.pullquote-gr:hover::after {
 opacity: 1;
 transform: scale(1.2);
}
/* BIG quote-mark glyph in background of each card */
.doctrine-principles-section .pullquote.pullquote-gr .pullquote-text {
 position: relative;
 font-size: clamp(1.1rem, 2vw, 1.32rem) !important;
 line-height: 1.42 !important;
 z-index: 2;
}
.doctrine-principles-section .pullquote.pullquote-gr .pullquote-text::before {
 content: "“";
 position: absolute;
 top: -48px; left: -18px;
 font-family: Georgia, "Times New Roman", serif;
 font-size: 7rem;
 line-height: 1;
 color: var(--pq-accent, #c9a227);
 opacity: .12;
 pointer-events: none;
 z-index: 0;
 font-weight: 700;
}
/* Numbered badge — bolder */
.doctrine-principles-section .pullquote.pullquote-gr .pq-num {
 position: absolute !important;
 top: 16px !important; right: 22px !important;
 font-family: var(--mono, monospace);
 font-size: .68rem !important;
 letter-spacing: .20em !important;
 color: color-mix(in srgb, var(--pq-accent, #c9a227) 90%, transparent) !important;
 font-weight: 800;
 z-index: 4;
 padding: 4px 9px;
 background: rgba(0,0,0,.35);
 border: 1px solid color-mix(in srgb, var(--pq-accent, #c9a227) 40%, transparent);
 border-radius: 6px;
}
/* === HIDDEN-BY-FILTER === */
.doctrine-principles-section .pullquote.pullquote-gr.pq-hidden {
 display: none;
}
/* === EMPTY STATE === */
.principles-empty {
 grid-column: 1 / -1;
 text-align: center;
 padding: 60px 20px;
 color: var(--w3, #9a9789);
 font-family: var(--mono, monospace);
 font-size: .82rem;
 letter-spacing: .12em;
 text-transform: uppercase;
 display: none;
}
.principles-empty.show { display: block; }
@media (max-width: 760px) {
 .doctrine-principles-section { grid-template-columns: 1fr !important; padding: 0 16px !important; }
 .doctrine-principles-section .pullquote.pullquote-gr { padding: 28px 22px 22px 22px !important; }
}
/* PRINCIPLES_EYECATCHING_20260516 end */

/* CONTACT_SIMPLE_CARDS_20260516 begin */
.section#contact .contact.contact-simple {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
 gap: 16px;
 margin-top: 20px;
}
.contact-method-card {
 position: relative;
 display: flex; align-items: center; gap: 16px;
 padding: 22px 24px;
 background: linear-gradient(165deg, rgba(13,19,32,.92), rgba(10,14,26,.98));
 border: 1px solid rgba(201,162,39,.22);
 border-radius: 14px;
 text-decoration: none;
 color: inherit;
 overflow: hidden;
 transition: transform .25s, border-color .25s, box-shadow .25s;
}
.contact-method-card::before {
 content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
 background: linear-gradient(90deg, #c9a227 0%, #5fb0c5 33%, #c08b4e 66%, #9f7aea 100%);
}
.contact-method-card:hover {
 transform: translateY(-3px);
 border-color: rgba(201,162,39,.55);
 box-shadow: 0 20px 40px -16px rgba(0,0,0,.5), 0 0 50px -22px rgba(201,162,39,.45);
}
.contact-method-icon {
 width: 56px; height: 56px;
 flex-shrink: 0;
 display: flex; align-items: center; justify-content: center;
 border-radius: 12px;
 background: rgba(201,162,39,.10);
 border: 1px solid rgba(201,162,39,.35);
 color: var(--gold, #c9a227);
}
.contact-method-card.contact-method-linkedin .contact-method-icon {
 background: rgba(95,176,197,.10);
 border-color: rgba(95,176,197,.35);
 color: var(--cyan, #5fb0c5);
}
.contact-method-icon svg { width: 28px; height: 28px; }
.contact-method-body { flex: 1; min-width: 0; }
.contact-method-label {
 font-family: var(--mono, monospace);
 font-size: .60rem;
 letter-spacing: .22em;
 text-transform: uppercase;
 color: var(--gold, #c9a227);
 margin-bottom: 4px;
}
.contact-method-card.contact-method-linkedin .contact-method-label { color: var(--cyan, #5fb0c5); }
.contact-method-value {
 font-family: var(--font-display, Georgia, serif);
 font-size: 1.12rem;
 color: var(--w1, #f4ead2);
 font-weight: 600;
 word-break: break-word;
}
.contact-method-hint {
 margin-top: 6px;
 font-size: .82rem;
 color: var(--w3, #9a9789);
 line-height: 1.45;
}
.contact-method-arrow {
 font-size: 1.5rem;
 color: var(--gold, #c9a227);
 opacity: .6;
 transition: transform .25s, opacity .25s;
 flex-shrink: 0;
}
.contact-method-card:hover .contact-method-arrow { opacity: 1; transform: translateX(4px); }

.contact-meta-strip {
 display: flex; flex-wrap: wrap; gap: 8px 16px;
 margin: 32px 0 16px;
 padding: 14px 18px;
 border-radius: 10px;
 background: rgba(13,19,32,.55);
 border: 1px solid rgba(201,162,39,.18);
}
.contact-meta-item {
 display: inline-flex; align-items: center; gap: 8px;
 font-family: var(--mono, monospace);
 font-size: .70rem;
 letter-spacing: .08em;
 color: var(--w2, #cfc9b5);
}
.contact-meta-dot {
 width: 6px; height: 6px; border-radius: 50%;
 background: var(--gold, #c9a227);
 box-shadow: 0 0 6px rgba(201,162,39,.55);
}
/* CONTACT_SIMPLE_CARDS_20260516 end */

/* KUTEST_RAINBOW_SPINE_20260516 begin */
/* ─── Validation References — premium rainbow-spine cards ─── */
.ku-test{padding:64px 0 56px;background:linear-gradient(180deg,rgba(10,14,26,0) 0%,rgba(10,14,26,.55) 50%,rgba(10,14,26,0) 100%);}
.ku-test .wrap{max-width:1280px;margin:0 auto;padding:0 28px;}
.ku-test-head{text-align:center;max-width:780px;margin:0 auto 36px;}
.ku-test-kicker{font-family:var(--mono,'JetBrains Mono',ui-monospace,monospace);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold,#c9a227);margin:0 0 10px;}
.ku-test-title{font-family:var(--serif,'Source Serif Pro',Georgia,serif);font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.15;margin:0 0 14px;color:#f4ead8;letter-spacing:-.01em;}
.ku-test-sub{color:var(--w2,#c8c8d3);font-size:.96rem;line-height:1.6;margin:0;}
.ku-test-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media (max-width:980px){.ku-test-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.ku-test-grid{grid-template-columns:1fr;}}

.ku-test-cell{
 position:relative;
 display:flex;flex-direction:column;justify-content:space-between;
 padding:26px 22px 22px;
 background:linear-gradient(165deg,rgba(13,19,32,.94) 0%,rgba(10,14,26,.98) 100%);
 border:1px solid rgba(201,162,39,.20);
 border-radius:14px;
 overflow:hidden;
 isolation:isolate;
 transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .22s,box-shadow .22s;
 box-shadow:0 10px 34px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.03);
 min-height:200px;
}

/* 4-stop rainbow spine across the top edge */
.ku-test-cell::before{
 content:"";position:absolute;top:0;left:0;right:0;height:4px;
 background:linear-gradient(90deg,
 var(--gold,#c9a227) 0%,
 var(--gold,#c9a227) 18%,
 var(--cyan,#5fb0c5) 33%,
 var(--cyan,#5fb0c5) 50%,
 var(--em,#c08b4e) 66%,
 var(--em,#c08b4e) 82%,
 #9f7aea 100%);
 background-size:200% 100%;
 z-index:2;
 animation:kutest-spine-shimmer 14s linear infinite;
}

/* ambient glow at top edge */
.ku-test-cell::after{
 content:"";position:absolute;top:-1px;left:0;right:0;height:36px;
 background:radial-gradient(60% 100% at 50% 0%,rgba(201,162,39,.10),transparent 70%);
 z-index:0;pointer-events:none;
}

@keyframes kutest-spine-shimmer{
 0%{background-position:0% 50%;}
 100%{background-position:200% 50%;}
}

@media (prefers-reduced-motion:reduce){
 .ku-test-cell::before{animation:none;}
 .ku-test-cell{transition:none;}
}

.ku-test-cell:hover{
 transform:translateY(-3px);
 border-color:rgba(201,162,39,.42);
 box-shadow:0 18px 48px rgba(0,0,0,.42),0 0 0 1px rgba(201,162,39,.10),inset 0 1px 0 rgba(255,255,255,.05);
}

/* decorative serif opening quote */
.ku-test-mark{
 position:absolute;top:14px;right:18px;
 font-family:var(--serif,'Source Serif Pro',Georgia,serif);
 font-size:4.2rem;line-height:1;
 color:rgba(201,162,39,.16);
 z-index:1;pointer-events:none;
 font-weight:700;
}

.ku-test-quote{
 position:relative;z-index:3;
 font-family:var(--serif,'Source Serif Pro',Georgia,serif);
 font-size:1.03rem;line-height:1.55;color:#eee5cf;
 margin:0 0 18px;
 font-style:normal;
 text-wrap:pretty;
 letter-spacing:-.003em;
 padding-right:14px;
}

.ku-test-cite{
 position:relative;z-index:3;
 display:block;
 font-family:var(--mono,'JetBrains Mono',ui-monospace,monospace);
 font-size:.72rem;letter-spacing:.06em;
 color:var(--gold,#c9a227);
 font-style:normal;
 margin-top:auto;
 padding-top:14px;
 border-top:1px solid rgba(201,162,39,.14);
}

/* per-card accent rotation on cite */
.ku-test-cell:nth-of-type(4n+1) .ku-test-cite{color:var(--gold,#c9a227);border-top-color:rgba(201,162,39,.18);}
.ku-test-cell:nth-of-type(4n+2) .ku-test-cite{color:var(--cyan,#5fb0c5);border-top-color:rgba(95,176,197,.22);}
.ku-test-cell:nth-of-type(4n+3) .ku-test-cite{color:var(--em,#c08b4e);border-top-color:rgba(192,139,78,.22);}
.ku-test-cell:nth-of-type(4n+4) .ku-test-cite{color:#b59cf0;border-top-color:rgba(159,122,234,.22);}

.ku-test-note{
 text-align:center;max-width:62ch;margin:32px auto 0;
 color:var(--w4,#8a8a96);font-size:.78rem;line-height:1.55;
 font-family:var(--mono,'JetBrains Mono',ui-monospace,monospace);letter-spacing:.04em;
}
.ku-test-note em{font-style:normal;color:var(--w3,#a8a8b4);}
/* KUTEST_RAINBOW_SPINE_20260516 end */

/* ─── PILOT-2026-05-22 METRIC GRID COL-3 EXPANSION + LONG-LABEL TYPOGRAPHY ─── */
/* Goal: keep grid 3-column, but give col 3 ~1.4× width and tighten typography
   so descriptive labels (Cyber Playbooks…Published, MITRE ATT&CK Detection
   Rules, Telemetry Sources Governed, Frameworks Operationalised) wrap to
   max 2 lines instead of 3-4. Mobile (≤640px) keeps 2-col uniform. */
.metric-grid { grid-template-columns: 1.4fr 1.4fr 1.5fr; }
.metric .k {
  font-size: 0.55rem;
  letter-spacing: 0.06em;
  line-height: 1.32;
  text-wrap: balance;
  hyphens: auto;
}
.metric .k[data-i18n="metric.playbooks"],
.metric .k[data-i18n="metric.mitre"],
.metric .k[data-i18n="metric.telemetry"],
.metric .k[data-i18n="metric.otresilience"] {
  font-size: 0.52rem;
  letter-spacing: 0.04em;
}
@media (max-width: 640px) {
  .metric-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
/* ─── END PILOT-2026-05-22 METRIC GRID COL-3 EXPANSION ─── */

/* PILOT-2026-05-22b: unify .v font size for ALL THREE Row 4 text-anchor cells (IAM stack + DORA triad + OT cluster) */
/* All three render at IDENTICAL 0.85rem with !important to defeat any cascade override */
.metric:has(.k[data-i18n="metric.access"]) .v,
.metric:has(.k[data-i18n="metric.evidence"]) .v,
.metric:has(.k[data-i18n="metric.otresilience"]) .v,
.metric .v[data-iam-suite="true"],
.metric .v[data-evidence-triad="true"],
.metric .v[data-otscada="true"] {
  font-size: 0.78rem !important;
  letter-spacing: -0.02em !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  font-weight: 700 !important;
  font-feature-settings: normal !important;
}
/* PILOT-2026-05-22c: tighten cell padding for Row 4 text-anchor cells so the long acronym stacks fit */
.metric:has(.k[data-i18n="metric.access"]),
.metric:has(.k[data-i18n="metric.evidence"]),
.metric:has(.k[data-i18n="metric.otresilience"]) {
  padding: 10px 7px !important;
}

/* ─── PILOT-2026-05-22d: Force-center Engagement Portal on contact page ─── */
.section#contact .wrap {
  text-align: center !important;
}
.section#contact .engage-head {
  text-align: center !important;
  max-width: 880px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.section#contact .engage-head h1,
.section#contact .engage-head p,
.section#contact .engage-head > div {
  text-align: center !important;
}
.section#contact .engage-head p {
  margin-left: auto !important;
  margin-right: auto !important;
}
.section#contact .engage-status,
.section#contact .engage-route {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
}
.section#contact .contact.contact-simple {
  max-width: 880px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-content: center !important;
}
.section#contact .engage-foot {
  max-width: 880px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
.section#contact .engage-foot p {
  text-align: center !important;
}
/* RLK-globe stage stays full-width banner */
.section#contact .rlk-globe-stage {
  text-align: initial;
}
/* ─── END PILOT-2026-05-22d ─── */

/* PILOT-2026-05-22e: Metric grid labels — force pure white for visibility */
.metric .k {
  color: #ffffff !important;
}

/* PILOT-2026-05-22f: Professional + Academic Appointments — force pure white text */
[data-i18n="profile.professional"] + div,
[data-i18n="profile.academic"] + div {
  color: #ffffff !important;
}

/* KIE-002-EG-CSS-2026-05-24 BEGIN */
.pq-eg-002 { position: relative; }
.pq-eg-002 .pq-eg-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; margin: 0 0 10px 0; flex-wrap: wrap;
}
.pq-eg-002 .pq-eg-chip {
  display: inline-flex; align-items: center;
  font: 600 11px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .14em; text-transform: uppercase;
  padding: 6px 10px; border-radius: 999px;
  background: linear-gradient(90deg, rgba(201,162,39,.14), rgba(95,176,197,.14));
  border: 1px solid rgba(201,162,39,.45);
  color: #c9a227;
}
.pq-eg-002 .pq-eg-heat {
  display: inline-flex; align-items: center; gap: 8px;
  font: 600 11px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .10em; text-transform: uppercase;
  padding: 6px 10px; border-radius: 999px;
  background: rgba(192,139,78,.12);
  border: 1px solid rgba(192,139,78,.55);
  color: #c08b4e;
}
.pq-eg-002 .pq-eg-heat-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #c08b4e;
  box-shadow: 0 0 8px rgba(192,139,78,.85), 0 0 16px rgba(192,139,78,.35);
  animation: pq-eg-pulse 2.4s ease-in-out infinite;
}
.pq-eg-002 .pq-eg-heat-label { opacity: .85; }
.pq-eg-002 .pq-eg-heat-val { font-weight: 700; color: #c9a227; letter-spacing: .04em; }
@keyframes pq-eg-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50%      { transform: scale(1.25); opacity: .7; }
}
@media (prefers-reduced-motion: reduce) {
  .pq-eg-002 .pq-eg-heat-dot { animation: none; }
}
/* KIE-002-EG-CSS-2026-05-24 END */

/* KIE-002-EG-CTA-FULLWIDTH-2026-05-24 BEGIN */
.doctrine-principles-section .doctrine-principles-cta {
  grid-column: 1 / -1 !important;
  display: flex !important;
  justify-content: center !important;
  margin-top: 16px !important;
}
.doctrine-principles-section .doctrine-principles-head {
  grid-column: 1 / -1 !important;
}
/* KIE-002-EG-CTA-FULLWIDTH-2026-05-24 END */

/* KU_CLAIMS_PREMIUM_CARDS_20260517 begin */
/* ─── Claims · Defined — premium glossary cards ─── */
.ku-claims{padding:64px 0 56px;background:linear-gradient(180deg,rgba(10,14,26,0) 0%,rgba(10,14,26,.55) 50%,rgba(10,14,26,0) 100%);}
.ku-claims .wrap{max-width:1280px;margin:0 auto;padding:0 28px;}
.ku-claims-head{text-align:center;max-width:820px;margin:0 auto 36px;}
.ku-claims-kicker{font-family:var(--mono,'JetBrains Mono',ui-monospace,monospace);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold,#c9a227);margin:0 0 10px;}
.ku-claims-title{font-family:var(--serif,'Source Serif Pro',Georgia,serif);font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.15;margin:0 0 14px;color:#f4ead8;letter-spacing:-.01em;text-wrap:balance;}
.ku-claims-sub{color:var(--w2,#c8c8d3);font-size:.96rem;line-height:1.6;margin:0;}

/* Convert the <dl> wrapper into a grid */
.ku-claims-list{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:18px !important;
  padding:0 !important;
  margin:0 !important;
  list-style:none !important;
}
@media (max-width:1100px){.ku-claims-list{grid-template-columns:repeat(2,1fr) !important;}}
@media (max-width:680px){.ku-claims-list{grid-template-columns:1fr !important;}}

/* Each <div class="ku-claims-row"> becomes a premium card */
.ku-claims-row{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  padding:30px 24px 24px 24px !important;
  background:linear-gradient(165deg,rgba(13,19,32,.94) 0%,rgba(10,14,26,.98) 100%) !important;
  border:1px solid rgba(201,162,39,.20) !important;
  border-radius:14px !important;
  overflow:hidden !important;
  isolation:isolate !important;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .22s,box-shadow .25s !important;
  box-shadow:0 10px 34px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.03) !important;
  min-height:220px !important;
  margin:0 !important;
}

/* 4-stop rainbow spine across the top */
.ku-claims-row::before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,
    var(--gold,#c9a227) 0%,
    var(--gold,#c9a227) 18%,
    var(--cyan,#5fb0c5) 33%,
    var(--cyan,#5fb0c5) 50%,
    var(--em,#c08b4e) 66%,
    var(--em,#c08b4e) 82%,
    #9f7aea 100%);
  background-size:200% 100%;
  z-index:2;
  animation:kuclaims-spine-shimmer 16s linear infinite;
}
@keyframes kuclaims-spine-shimmer{0%{background-position:0% 50%;}100%{background-position:200% 50%;}}

/* Per-card accent rotation drives a corner glow tinted to that card */
.ku-claims-row::after{
  content:"";position:absolute;top:-50px;right:-50px;width:160px;height:160px;border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--kc-accent,#c9a227) 22%,transparent),transparent 70%);
  pointer-events:none;opacity:.55;transition:opacity .25s,transform .35s;z-index:0;
}

.ku-claims-row:hover{
  transform:translateY(-3px) !important;
  border-color:color-mix(in srgb,var(--kc-accent,#c9a227) 50%,transparent) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.42),0 0 0 1px color-mix(in srgb,var(--kc-accent,#c9a227) 18%,transparent),inset 0 1px 0 rgba(255,255,255,.05) !important;
}
.ku-claims-row:hover::after{opacity:1;transform:scale(1.18);}

@media (prefers-reduced-motion:reduce){
  .ku-claims-row::before{animation:none;}
  .ku-claims-row,.ku-claims-row:hover{transition:none !important;transform:none !important;}
  .ku-claims-row:hover::after{transform:none !important;}
}

/* Numbered badge anchored top-right of each card */
.ku-claims-row::before,.ku-claims-row > dt{z-index:3;}
.ku-claims-row > dt{
  position:relative !important;
  font-family:var(--serif,'Source Serif Pro',Georgia,serif) !important;
  font-size:1.2rem !important;
  line-height:1.2 !important;
  color:#f4ead8 !important;
  margin:0 0 14px 0 !important;
  padding-right:50px !important;
  letter-spacing:-.005em !important;
  font-weight:700 !important;
  text-wrap:balance !important;
}
/* Counter-based numbered badge in top-right */
.ku-claims-list{counter-reset:kc-num;}
.ku-claims-row{counter-increment:kc-num;}
.ku-claims-row > dt::after{
  content:"0" counter(kc-num);
  position:absolute;
  top:0;right:0;
  font-family:var(--mono,'JetBrains Mono',ui-monospace,monospace);
  font-size:.7rem;letter-spacing:.06em;
  color:var(--kc-accent,#c9a227);
  background:color-mix(in srgb,var(--kc-accent,#c9a227) 12%,rgba(10,14,26,.6));
  border:1px solid color-mix(in srgb,var(--kc-accent,#c9a227) 32%,transparent);
  padding:4px 8px;border-radius:6px;
  font-weight:600;
}

.ku-claims-row > dd{
  position:relative !important;
  z-index:3 !important;
  color:var(--w2,#c8c8d3) !important;
  font-size:.92rem !important;
  line-height:1.6 !important;
  margin:0 !important;
  font-family:var(--sans,system-ui,-apple-system,"Segoe UI",Inter,sans-serif) !important;
  text-wrap:pretty !important;
  padding-top:14px !important;
  border-top:1px solid color-mix(in srgb,var(--kc-accent,#c9a227) 18%,transparent);
}

/* Per-card accent rotation — 5 cards, 5 unique colours */
.ku-claims-row:nth-of-type(5n+1){--kc-accent:#c9a227;}
.ku-claims-row:nth-of-type(5n+2){--kc-accent:#5fb0c5;}
.ku-claims-row:nth-of-type(5n+3){--kc-accent:#c08b4e;}
.ku-claims-row:nth-of-type(5n+4){--kc-accent:#9f7aea;}
.ku-claims-row:nth-of-type(5n+5){--kc-accent:#14b8a6;}

.ku-claims-note{
  text-align:center;max-width:62ch;margin:32px auto 0;
  color:var(--w4,#8a8a96);font-size:.78rem;line-height:1.55;
  font-family:var(--mono,'JetBrains Mono',ui-monospace,monospace);letter-spacing:.04em;
}
.ku-claims-note em{font-style:normal;color:var(--w3,#a8a8b4);}
/* KU_CLAIMS_PREMIUM_CARDS_20260517 end */

/* ── KIE PREMIUM VISUAL UPLIFT v2 — 2026-05-09 ── */
:root{--rhythm:1.65;--hair-gold:rgba(201,162,39,.18);--hair-em:rgba(192,139,78,.18);--hair-cyan:rgba(95,176,197,.14);--glow-gold:0 0 18px rgba(201,162,39,.08),0 1px 0 rgba(201,162,39,.28);--shadow-card:0 2px 0 rgba(201,162,39,.1),0 16px 40px -16px rgba(0,0,0,.72),inset 0 1px 0 rgba(255,255,255,.03);--shadow-hover:0 1px 0 rgba(201,162,39,.32),0 22px 54px -14px rgba(0,0,0,.78),inset 0 1px 0 rgba(255,255,255,.05)}
html{scroll-behavior:smooth}
body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"ss01" 1;font-variant-numeric:tabular-nums}
h1,h2,h3,h4{letter-spacing:-.02em;text-wrap:balance;font-feature-settings:"kern" 1,"liga" 1}
h1{letter-spacing:-.03em}
p,li{line-height:var(--rhythm)}
abbr[title]{text-decoration:underline dotted rgba(201,162,39,.5);cursor:help}
hr,.hairline{border:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--hair-gold) 50%,transparent 100%);margin:32px 0}
a{text-underline-offset:3px;text-decoration-thickness:1px;transition:color .2s ease}
a:hover{color:var(--gold,#c9a227)}
a:focus-visible{outline:2px solid var(--gold,#c9a227);outline-offset:2px;border-radius:2px}
.card,.panel,.tile,.impact-card,.coverage-item,.intel-item{border-top:2px solid rgba(201,162,39,.28);border-radius:2px;box-shadow:var(--shadow-card);transition:box-shadow .28s ease,border-color .28s ease,transform .28s cubic-bezier(.2,.8,.2,1);position:relative}
.card:hover,.panel:hover,.tile:hover,.impact-card:hover,.intel-item:hover{box-shadow:var(--shadow-hover);border-color:rgba(201,162,39,.52);transform:translateY(-1px)}
.d-num{font-family:var(--mono,"IBM Plex Mono",monospace);font-size:.72rem;font-weight:600;letter-spacing:.12em;color:var(--gold,#c9a227);text-transform:uppercase;padding-left:10px;border-left:2px solid var(--gold,#c9a227);line-height:1.2;display:inline-block}
.doctrine-subsection{border-top:1px solid var(--hair-gold);margin-top:24px;padding-top:18px;position:relative}
.kicker{font-family:var(--mono,"IBM Plex Mono",monospace);font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold,#c9a227);opacity:.85;display:block;margin-bottom:6px}
.pill,.chip,.tag{font-family:var(--mono,"IBM Plex Mono",monospace);font-size:.68rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;border-radius:1px;padding:2px 8px;display:inline-block;line-height:1.6;transition:border-color .2s ease,background .2s ease,color .2s ease}
.pill.gold,.chip.gold,.tag.gold{border:1px solid rgba(201,162,39,.45);color:var(--gold,#c9a227);background:rgba(201,162,39,.07)}
.pill.gold:hover,.chip.gold:hover,.tag.gold:hover{background:rgba(201,162,39,.14);border-color:rgba(201,162,39,.65)}
.pill.cyan,.chip.cyan,.tag.cyan{border:1px solid rgba(95,176,197,.4);color:var(--cyan,#5fb0c5);background:rgba(95,176,197,.07)}
.pill.cyan:hover,.chip.cyan:hover,.tag.cyan:hover{background:rgba(95,176,197,.13);border-color:rgba(95,176,197,.6)}
.pill.em,.chip.em,.tag.em{border:1px solid rgba(192,139,78,.4);color:var(--em,#c08b4e);background:rgba(192,139,78,.07)}
.pill.em:hover,.chip.em:hover,.tag.em:hover{background:rgba(192,139,78,.13);border-color:rgba(192,139,78,.6)}
.coverage-bar{height:4px;background:rgba(255,255,255,.06);border-radius:1px;overflow:hidden;position:relative}
.coverage-fill{height:100%;background:linear-gradient(90deg,var(--gold,#c9a227) 0%,var(--em,#c08b4e) 100%);border-radius:1px;position:relative}
.coverage-fill::after{content:"";position:absolute;top:0;right:0;bottom:0;width:6px;background:rgba(255,255,255,.22);filter:blur(1px)}
.reg-card,.reg-card-item,.reg-card-row{border-left:2px solid rgba(201,162,39,.32);padding-left:12px;transition:border-color .2s ease}
.reg-card:hover,.reg-card-item:hover,.reg-card-row:hover{border-color:rgba(201,162,39,.62)}
.btn{font-family:var(--mono,"IBM Plex Mono",monospace);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;padding:10px 20px;border:1px solid rgba(201,162,39,.35);background:linear-gradient(180deg,rgba(255,255,255,.03) 0%,rgba(255,255,255,0) 100%);color:var(--w1,#eceef1);border-radius:1px;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,color .2s ease;cursor:pointer}
.btn:hover{border-color:var(--gold,#c9a227);color:var(--gold,#c9a227);background:rgba(201,162,39,.05);box-shadow:0 0 12px rgba(201,162,39,.1),inset 0 1px 0 rgba(201,162,39,.06)}
.btn.primary{border-color:rgba(201,162,39,.6);background:linear-gradient(180deg,rgba(201,162,39,.12) 0%,rgba(201,162,39,.06) 100%);color:var(--gold,#c9a227);font-weight:600}
.btn.primary:hover{background:linear-gradient(180deg,rgba(201,162,39,.22) 0%,rgba(201,162,39,.1) 100%);border-color:var(--gold,#c9a227);box-shadow:0 0 20px rgba(201,162,39,.18),inset 0 1px 0 rgba(201,162,39,.1)}
.btn.ghost{border-color:rgba(255,255,255,.12);color:rgba(236,238,241,.6);background:transparent}
.btn.ghost:hover{border-color:rgba(201,162,39,.35);color:var(--w1,#eceef1);background:rgba(255,255,255,.02)}
blockquote{border-left:3px solid var(--gold,#c9a227);margin:24px 0;padding:12px 20px;background:rgba(201,162,39,.03);border-radius:0 2px 2px 0;font-style:italic;color:rgba(236,238,241,.8)}
::selection{background:rgba(201,162,39,.28);color:#0a0e1a}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:#0a0e1a}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(201,162,39,.35) 0%,rgba(192,139,78,.25) 100%);border-radius:1px}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,rgba(201,162,39,.55) 0%,rgba(192,139,78,.4) 100%)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{body{background:#fff!important;color:#000!important}nav,footer,.btn,.ticker{display:none!important}a{color:#000!important;text-decoration:underline}.card,.panel{box-shadow:none!important;border:1px solid #ccc!important;background:#fff!important;color:#000!important}}
/* ── end KIE premium visual uplift v2 ── */
