:root {
  --background: #0e0f11;
  --foreground: #f5f1e8;
  --border: #28292b;
  --dark-900: #0d0e10;
  --dark-800: #111214;
  --dark-700: #292a2c;
  --dark-600: #36373a;
  --dark-500: #5e5e60;
  --dark-400: #777776;
  --dark-300: #858584;
  --dark-200: #929290;
  --dark-100: #aaa7a2;
  --ivory: #f5f1e8;
  --crimson: #d93636;
  --crimson-hover: #eb4848;
  --crimson-light: #db3b3b;
  --font-sans: 'Manrope', sans-serif;
  --font-mono: 'DM Mono', monospace;
  --font-display: 'Space Grotesk', sans-serif;
  --max-width: 1240px;
}

* { box-sizing: border-box; margin: 0; padding: 0; border-color: var(--border); }
html { scroll-behavior: smooth; background: var(--background); }
body { font-family: var(--font-sans); -webkit-font-smoothing: antialiased; background: var(--background); color: var(--foreground); margin: 0; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--crimson); outline-offset: 3px; }

:root { color-scheme: dark; }
::selection { color: #f5f1e8; background: #ba2929; }

/* Shell */
.skeler-shell {
  background: radial-gradient(ellipse 70% 45% at 76% -10%, rgba(155, 33, 33, .16), transparent 65%), var(--background);
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}

/* Typography utilities */
.font-display { font-family: var(--font-display); }
.font-mono-custom { font-family: var(--font-mono); }
.text-crimson { color: var(--crimson); }
.text-gray { color: #777; }

/* Grain overlay */
.grain::after {
  content: ''; position: fixed; inset: 0; pointer-events: none; opacity: .02; z-index: 50;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}

/* Header */
.site-header { position: relative; z-index: 30; border-bottom: 1px solid var(--border); width: 100%; }
.header-inner { margin: 0 auto; max-width: var(--max-width); display: flex; align-items: center; justify-content: space-between; padding: 16px 16px; }
@media (min-width: 768px) { .header-inner { padding: 20px 20px; } }
@media (min-width: 1024px) { .header-inner { padding: 20px 32px; } }

/* Brand mark */
.brand-mark { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--ivory); }
.brand-mark-logo { display: block; height: 30px; width: auto; object-fit: contain; }
.brand-mark-text { font-family: var(--font-display); font-size: 15px; font-weight: bold; letter-spacing: 2px; }

/* Navigation */
.main-nav { display: none; align-items: center; gap: 28px; }
@media (min-width: 1024px) { .main-nav { display: flex; } }
@media (min-width: 1024px) and (max-width: 1200px) { .main-nav { gap: 20px; } }
.nav-link { font-size: 10px; font-weight: bold; text-transform: uppercase; letter-spacing: 1.4px; color: #888887; text-decoration: none; transition: color .2s ease; position: relative; white-space: nowrap; }
.nav-link::after { content: ''; position: absolute; bottom: -7px; left: 0; width: 0; height: 1px; background: var(--crimson); transition: width .25s ease; }
.nav-link:hover, .nav-link.active { color: var(--ivory); }
.nav-link.active::after { width: 100%; }

/* Header consult button */
.btn-header-consult { display: none; align-items: center; gap: 8px; background: none; border: none; color: var(--ivory); font-size: 11px; font-weight: bold; text-transform: uppercase; letter-spacing: 1.6px; cursor: pointer; font-family: var(--font-sans); }
@media (min-width: 768px) { .btn-header-consult { display: flex; } }

/* RTL Support */
[dir="rtl"] .header-inner { flex-direction: row-reverse; }
[dir="rtl"] .main-nav { flex-direction: row-reverse; }
[dir="rtl"] .header-actions { flex-direction: row-reverse; }
[dir="rtl"] .hero-bottom-grid { direction: rtl; }
[dir="rtl"] .hero-left { text-align: right; }
[dir="rtl"] .hero-right { text-align: right; }
[dir="rtl"] .hero-footer { flex-direction: row-reverse; }
[dir="rtl"] .footer-grid { direction: rtl; }
[dir="rtl"] .language-dropdown { right: auto; left: 0; }
[dir="rtl"] .language-option { text-align: right; }

/* Header Actions */
.header-actions { display: flex; align-items: center; gap: 16px; }

/* Language Switcher */
.language-switcher { position: relative; }
.language-btn { display: flex; align-items: center; gap: 6px; background: none; border: 1px solid var(--dark-600); padding: 6px 10px; color: var(--ivory); font-family: var(--font-mono); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; transition: border-color .2s ease, background-color .2s ease; }
.language-btn:hover { border-color: var(--crimson); background-color: rgba(217, 54, 54, 0.08); }
.language-code { color: var(--crimson); }
.language-dropdown { position: absolute; top: 100%; right: 0; margin-top: 8px; background: var(--dark-800); border: 1px solid var(--dark-600); min-width: 140px; display: none; z-index: 100; }
.language-dropdown.show { display: block; }
.language-option { display: block; width: 100%; padding: 10px 14px; background: none; border: none; color: var(--dark-200); font-family: var(--font-sans); font-size: 13px; text-align: left; cursor: pointer; transition: background-color .2s ease, color .2s ease; }
.language-option:hover { background-color: var(--dark-700); color: var(--ivory); }
.language-option.active { color: var(--crimson); background-color: rgba(217, 54, 54, 0.08); }

/* Mobile menu */
.btn-mobile-menu { display: block; background: none; border: none; color: var(--ivory); cursor: pointer; }
@media (min-width: 1024px) { .btn-mobile-menu { display: none; } }
.mobile-nav { display: none; border-top: 1px solid var(--border); padding: 16px 20px; }
.mobile-nav-link { display: block; padding: 16px 0; border-bottom: 1px solid #292a2c; font-size: 11px; font-weight: bold; text-transform: uppercase; letter-spacing: 1.6px; color: #aaa7a2; text-decoration: none; }
.btn-mobile-consult { margin-top: 20px; display: flex; align-items: center; gap: 8px; background: var(--crimson); border: none; padding: 12px 16px; font-size: 11px; font-weight: bold; text-transform: uppercase; letter-spacing: 1.6px; color: white; cursor: pointer; font-family: var(--font-sans); }

/* Footer */
.site-footer { border-top: 1px solid var(--dark-700); background: var(--dark-900); }
.footer-inner { margin: 0 auto; max-width: var(--max-width); padding: 40px 16px; }
@media (min-width: 768px) { .footer-inner { padding: 64px 20px; } }
@media (min-width: 1024px) { .footer-inner { padding: 80px 32px; } }
.footer-grid { display: grid; gap: 32px; border-bottom: 1px solid var(--dark-700); padding-bottom: 40px; }
@media (min-width: 768px) { .footer-grid { gap: 48px; padding-bottom: 64px; grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .footer-grid { grid-template-columns: 1.3fr 1fr 1fr 1fr; } }
.footer-tagline { margin-top: 16px; max-width: 260px; font-size: 12px; line-height: 1.5rem; color: var(--dark-400); }
@media (min-width: 768px) { .footer-tagline { margin-top: 20px; font-size: 13px; } }
.footer-social { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 10px; }
@media (min-width: 768px) { .footer-social { margin-top: 20px; gap: 12px; } }
.footer-social-link { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 1px solid var(--dark-700); border-radius: 50%; color: var(--dark-400); text-decoration: none; transition: color .2s ease, border-color .2s ease, transform .2s ease; }
.footer-social-link svg { display: block; }
.footer-social-link:hover { color: var(--ivory); border-color: var(--crimson); transform: translateY(-2px); }
.footer-badges { margin-top: 22px; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.techbehemoths-badge { display: block; width: 165px; max-width: 100%; height: auto; opacity: .9; transition: opacity .2s ease, transform .2s ease; }
.trustpilot-logo { display: block; width: 120px; max-width: 100%; height: auto; opacity: .9; transition: opacity .2s ease, transform .2s ease; }
.footer-badges a:hover .techbehemoths-badge,
.footer-badges a:hover .trustpilot-logo { opacity: 1; transform: translateY(-2px); }
.footer-reviews { margin-top: 24px; width: 100%; max-width: 420px; }
.footer-reviews .senja-embed { border-radius: 14px; overflow: hidden; }
.footer-column h3 { font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 1.8px; color: var(--crimson); }
.footer-links { margin-top: 16px; display: flex; flex-direction: column; gap: 10px; }
@media (min-width: 768px) { .footer-links { margin-top: 20px; gap: 12px; } }
.footer-links a { display: block; font-size: 12px; color: var(--dark-300); text-decoration: none; transition: color .2s ease; }
.footer-links a:hover { color: var(--ivory); }

/* Footer CTA */
.footer-cta { position: relative; margin-top: 40px; overflow: hidden; border: 1px solid #3a292b; background: #171113; padding: 24px 16px; }
@media (min-width: 768px) { .footer-cta { margin-top: 64px; padding: 40px; } }
.footer-cta-bg { position: absolute; right: -10%; top: -130%; height: 460px; width: 460px; border-radius: 50%; border: 1px solid #492529; }
.footer-cta-content { position: relative; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 20px; }
@media (min-width: 640px) { .footer-cta-content { flex-direction: row; align-items: flex-end; gap: 32px; } }
.footer-cta-title { margin-top: 12px; max-width: 620px; font-family: var(--font-display); font-size: clamp(1.6rem, 6vw, 4.5rem); font-weight: bold; line-height: .95; letter-spacing: -.07em; color: var(--ivory); }
@media (min-width: 768px) { .footer-cta-title { margin-top: 16px; font-size: clamp(2.2rem, 5vw, 4.5rem); } }
.btn-footer-consult { flex-shrink: 0; display: inline-flex; align-items: center; gap: 12px; background: var(--crimson); border: none; padding: 14px 16px; font-size: 9px; font-weight: bold; text-transform: uppercase; letter-spacing: 1.6px; color: white; cursor: pointer; font-family: var(--font-sans); transition: background .2s ease; }
@media (min-width: 768px) { .btn-footer-consult { padding: 16px 20px; font-size: 10px; } }
.btn-footer-consult:hover { background: var(--crimson-hover); }

.footer-bottom { margin-top: 32px; display: flex; flex-direction: column; justify-content: space-between; gap: 12px; font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.3px; color: var(--dark-500); }
@media (min-width: 640px) { .footer-bottom { flex-direction: row; } }

/* Main content */
#main-content { flex: 1; }

/* Reveal animation */
.reveal { opacity: 1; transform: none; }
.reveal.is-visible { opacity: 1; transform: none; }
.delay-1 {  }
.delay-2 {  }
.delay-3 {  }
.delay-4 {  }

/* Red rule */
.red-rule { width: 42px; height: 2px; background: var(--crimson); margin-bottom: 20px; }

/* Bracket */
.bracket { position: relative; }
.bracket::before, .bracket::after { content: ''; position: absolute; width: 12px; height: 12px; border-color: var(--crimson); pointer-events: none; }
.bracket::before { top: -1px; left: -1px; border-top: 1px solid; border-left: 1px solid; }
.bracket::after { bottom: -1px; right: -1px; border-bottom: 1px solid; border-right: 1px solid; }

/* Pulse dot */
.pulse-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--crimson); }

/* Grid noise */
.grid-noise { background-image: linear-gradient(rgba(255,255,255,.026) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px); background-size: 68px 68px; mask-image: linear-gradient(to bottom, black, transparent 80%); }

/* Buttons */
.btn-primary { display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 12px 20px; font-size: 11px; font-weight: bold; text-transform: uppercase; letter-spacing: 1.6px; background: var(--crimson); color: #fff8ed; text-decoration: none; border: none; cursor: pointer; font-family: var(--font-sans); transition: background .2s ease; }
.btn-primary:hover { background: var(--crimson-hover); }
.btn-ghost { display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 12px 20px; font-size: 11px; font-weight: bold; text-transform: uppercase; letter-spacing: 1.6px; border: 1px solid rgba(255, 243, 232, 0.3); color: #f5f1e8; text-decoration: none; background: none; cursor: pointer; font-family: var(--font-sans); transition: color .2s ease, border-color .2s ease, background-color .2s ease; }
.btn-ghost:hover { color: #ffffff; border-color: rgba(219,52,52,.72); background-color: rgba(219,52,52,.12); }

/* Service card */
.service-card { display: block; text-decoration: none; min-height: 295px; border: 1px solid #2b2c2e; background: #101113; padding: 24px; }
.service-card:hover { border-color: rgba(219,52,52,.65); background-color: rgba(219,52,52,.045); }
.service-card:hover .service-index { color: var(--crimson); }
.service-index { font-family: var(--font-mono); font-size: 11px; color: #55575a; }

/* Partner institutes page */
.partner-steps { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 32px; }
@media (min-width: 768px) { .partner-steps { grid-template-columns: repeat(3, 1fr); } }
.partner-step { border: 1px solid #2b2c2e; background: #101113; padding: 28px 24px; }
.partner-step-num { font-family: var(--font-mono); font-size: 12px; color: var(--crimson); letter-spacing: 1px; }
.partner-step-title { margin-top: 16px; font-family: var(--font-display); font-size: 19px; font-weight: 600; letter-spacing: -.03em; color: #ede8df; }
.partner-step-copy { margin-top: 10px; font-size: 13px; line-height: 1.55rem; color: var(--dark-300); }

.partner-grid { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 36px; }
@media (min-width: 640px) { .partner-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .partner-grid { grid-template-columns: repeat(3, 1fr); } }
.partner-card { display: flex; flex-direction: column; border: 1px solid #2b2c2e; background: #101113; padding: 24px; transition: border-color .2s ease, background-color .2s ease; }
.partner-card:hover { border-color: rgba(219,52,52,.65); background-color: rgba(219,52,52,.045); }
.partner-card-head { display: flex; align-items: center; gap: 14px; }
.partner-card-logo { width: 56px; height: 56px; object-fit: contain; border-radius: 10px; background: #fdfbf7; padding: 6px; flex: 0 0 auto; }
.partner-card-monogram { width: 56px; height: 56px; flex: 0 0 auto; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: rgba(219,52,52,.12); border: 1px solid rgba(219,52,52,.4); font-family: var(--font-mono); font-size: 16px; color: var(--crimson); letter-spacing: 1px; }
.partner-card-id { min-width: 0; }
.partner-card-name { font-family: var(--font-display); font-size: 17px; font-weight: 600; letter-spacing: -.03em; color: #ede8df; }
.partner-card-loc { margin-top: 4px; font-size: 11px; color: var(--dark-300); }
.partner-card-desc { margin-top: 16px; font-size: 13px; line-height: 1.55rem; color: var(--dark-300); }
.partner-card-label { margin-top: 18px; font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.6px; color: var(--crimson); }
.partner-certs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.partner-cert { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border: 1px solid #2b2c2e; border-radius: 999px; font-size: 11px; color: #cfc9c0; text-decoration: none; transition: border-color .2s ease, color .2s ease; }
.partner-cert:hover { border-color: var(--crimson); color: var(--ivory); }
.partner-cert-code { font-family: var(--font-mono); font-size: 9px; color: var(--crimson); }
.partner-card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 22px; padding-top: 18px; border-top: 1px solid #1f2022; }
.partner-btn { padding: 10px 16px; }
.partner-link { font-size: 11px; color: var(--dark-300); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; transition: color .2s ease; }
.partner-link:hover { color: var(--ivory); }

.partner-cta { border-top: 1px solid var(--dark-700); margin-top: 64px; }
.partner-cta-inner { margin: 0 auto; max-width: var(--max-width); padding: 56px 16px; }
@media (min-width: 768px) { .partner-cta-inner { padding: 80px 20px; } }
@media (min-width: 1024px) { .partner-cta-inner { padding: 112px 32px; } }
.partner-cta-grid { display: flex; flex-direction: column; gap: 24px; }
@media (min-width: 900px) { .partner-cta-grid { flex-direction: row; align-items: center; justify-content: space-between; } }
.partner-cta-eyebrow { font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 2px; color: var(--crimson); }
.partner-cta-title { margin-top: 12px; font-family: var(--font-display); font-size: clamp(1.6rem, 4vw, 2.6rem); font-weight: bold; letter-spacing: -.04em; line-height: 1; color: var(--ivory); max-width: 640px; }
.partner-cta-copy { margin-top: 14px; font-size: 13px; line-height: 1.6rem; color: var(--dark-300); max-width: 560px; }
.partner-cta-action { flex: 0 0 auto; }

/* SkelerSecurity own certification training callout */
.skeler-own-grid { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 32px; }
@media (min-width: 768px) { .skeler-own-grid { grid-template-columns: repeat(2, 1fr); } }
.skeler-own-card { border: 1px solid #2b2c2e; background: #101113; padding: 28px 24px; }
.skeler-own-card:hover { border-color: rgba(219,52,52,.45); }
.skeler-own-badge { display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; border-radius: 10px; background: rgba(219,52,52,.12); border: 1px solid rgba(219,52,52,.4); color: var(--crimson); }
.skeler-own-title { margin-top: 16px; font-family: var(--font-display); font-size: 18px; font-weight: 600; letter-spacing: -.03em; color: #ede8df; }
.skeler-own-copy { margin-top: 10px; font-size: 13px; line-height: 1.6rem; color: var(--dark-300); }
.skeler-own-head { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; }
.skeler-own-logo { width: 52px; height: 52px; border-radius: 12px; flex-shrink: 0; box-shadow: 0 6px 18px rgba(219,52,52,.18); }
.skeler-own-head-text { min-width: 0; }
.skeler-own-tag { display: block; font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 1.4px; color: var(--crimson); margin-bottom: 6px; }
.skeler-own-head-text .skeler-own-copy { margin-top: 0; }
.skeler-own-certs { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.partner-count { margin: 0 0 24px; font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 1.6px; color: var(--dark-300); }

/* Exam detail — partners offering training */
.exam-partners { margin-top: 8px; }
.exam-partners-copy { margin-top: 16px; font-size: 13px; line-height: 1.6rem; color: var(--dark-300); max-width: 720px; }
.exam-partners-copy a { color: var(--crimson); text-decoration: none; }
.exam-partners-copy a:hover { text-decoration: underline; }
.exam-partners-grid { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.exam-partner-chip { display: inline-flex; flex-direction: column; gap: 2px; padding: 12px 16px; border: 1px solid #2b2c2e; border-radius: 12px; background: #101113; text-decoration: none; transition: border-color .2s ease; }
.exam-partner-chip:hover { border-color: var(--crimson); }
.exam-partner-chip b { font-family: var(--font-display); font-size: 14px; font-weight: 600; color: #cfc9c0; letter-spacing: -.02em; }
.exam-partner-chip span { font-size: 10px; color: var(--dark-300); }
.exam-partners-cta { margin-top: 28px; }

/* Certifications landing — training model note */
.cert-model-note { border: 1px solid #2b2c2e; background: #101113; padding: 28px 24px; }
.cert-model-eyebrow { display: block; margin-top: 14px; font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 1.6px; color: var(--crimson); }
.cert-model-title { margin-top: 12px; font-family: var(--font-display); font-size: clamp(1.35rem, 3vw, 1.85rem); font-weight: 600; letter-spacing: -.04em; color: var(--ivory); line-height: 1.2; }
.cert-model-copy { margin-top: 16px; font-size: 13px; line-height: 1.65rem; color: var(--dark-200); max-width: 760px; }
.cert-model-links { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }

/* Cert detail — training & preparation */
.cert-train-options { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 32px; }
@media (min-width: 768px) { .cert-train-options { grid-template-columns: 1fr 1fr; } }
.cert-train-option { border: 1px solid #2b2c2e; background: #101113; padding: 28px 24px; display: flex; flex-direction: column; }
.cert-train-option--official { border-color: rgba(219,52,52,.5); background-color: rgba(219,52,52,.05); }
.cert-train-badge { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.4px; color: var(--crimson); border: 1px solid rgba(219,52,52,.5); border-radius: 999px; padding: 5px 10px; }
.cert-train-title { margin-top: 16px; font-family: var(--font-display); font-size: 19px; font-weight: 600; letter-spacing: -.03em; color: #ede8df; }
.cert-train-copy { margin-top: 10px; font-size: 13px; line-height: 1.6rem; color: var(--dark-300); flex: 1; }
.cert-train-option .btn-primary, .cert-train-option .btn-ghost { margin-top: 22px; align-self: flex-start; }

.cert-partners-block { margin-top: 56px; }
.cert-partners-title { font-family: var(--font-display); font-size: clamp(1.4rem, 3vw, 2rem); font-weight: bold; letter-spacing: -.04em; color: var(--ivory); }
.cert-partners-copy { margin-top: 14px; font-size: 13px; line-height: 1.6rem; color: var(--dark-300); max-width: 720px; }
.cert-partners-copy a { color: var(--crimson); text-decoration: none; }
.cert-partners-copy a:hover { text-decoration: underline; }
.cert-partner-grid { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 28px; }
@media (min-width: 640px) { .cert-partner-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .cert-partner-grid { grid-template-columns: repeat(3, 1fr); } }
.cert-partner-card { border: 1px solid #2b2c2e; background: #101113; padding: 24px; display: flex; flex-direction: column; }
.cert-partner-name { font-family: var(--font-display); font-size: 17px; font-weight: 600; letter-spacing: -.03em; color: #ede8df; }
.cert-partner-loc { margin-top: 4px; font-size: 11px; color: var(--dark-300); }
.cert-partner-desc { margin-top: 14px; font-size: 12px; line-height: 1.5rem; color: var(--dark-300); flex: 1; }
.cert-partner-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 20px; padding-top: 18px; border-top: 1px solid #1f2022; }
.cert-partners-foot { margin-top: 24px; font-size: 13px; }
.cert-partners-foot a { color: var(--crimson); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.cert-partners-foot a:hover { text-decoration: underline; }

/* Partner tier badge (shared) */
.partner-tier { display: inline-flex; align-self: flex-start; font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.4px; color: var(--crimson); border: 1px solid rgba(219,52,52,.45); border-radius: 999px; padding: 4px 10px; margin-bottom: 16px; }

/* Become-a-partner page lists */
.benefit-check { display: inline-flex; color: var(--crimson); margin-bottom: 12px; }
.become-list { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 12px; max-width: 820px; }
@media (min-width: 640px) { .become-list { grid-template-columns: 1fr 1fr; } }
.become-list li { position: relative; padding-left: 22px; font-size: 14px; line-height: 1.6rem; color: #ded8cf; }
.become-list li::before { content: ''; position: absolute; left: 0; top: 9px; width: 7px; height: 7px; border-radius: 50%; background: var(--crimson); }
.become-tier-features { list-style: none; margin: 16px 0 0; padding: 16px 0 0; border-top: 1px solid #1f2022; display: flex; flex-direction: column; gap: 9px; }
.become-tier-features li { position: relative; padding-left: 18px; font-size: 12px; line-height: 1.5rem; color: #cfc9c0; }
.become-tier-features li::before { content: ''; position: absolute; left: 0; top: 7px; width: 6px; height: 6px; border-radius: 50%; background: var(--crimson); }

/* --- Become-a-Partner page --- */
.hero-cta-row { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.become-hero-title { font-size: clamp(2rem, 4.6vw, 3.5rem); line-height: 1.05; letter-spacing: -.03em; }
.become-hero .page-intro-inner { padding: 44px 16px 40px; }
@media (min-width: 768px) { .become-hero .page-intro-inner { padding: 60px 20px 52px; } }
@media (min-width: 1024px) { .become-hero .page-intro-inner { padding: 84px 32px 72px; } }

/* Why cards */
.why-grid { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 40px; }
@media (min-width: 640px) { .why-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .why-grid { grid-template-columns: repeat(4, 1fr); } }
.why-card { background: #101113; border: 1px solid #222325; border-radius: 16px; padding: 26px 22px; }
.why-icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: rgba(219,52,52,.1); color: var(--crimson); margin-bottom: 18px; }
.why-card-title { font-family: var(--font-display); font-size: 16px; font-weight: 600; letter-spacing: -.02em; color: #ede8df; margin-bottom: 10px; }
.why-card-copy { font-size: 13px; line-height: 1.55rem; color: var(--dark-300); }

/* Certification catalogue table */
.catalogue-wrap { margin-top: 40px; overflow-x: auto; border: 1px solid #222325; border-radius: 16px; background: #101113; }
.catalogue-table { width: 100%; border-collapse: collapse; }
.catalogue-table th { text-align: left; font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.4px; color: var(--dark-300); padding: 16px 18px; border-bottom: 1px solid #232425; }
.catalogue-table td { padding: 16px 18px; border-bottom: 1px solid #1b1c1e; font-size: 13px; color: #cdc7be; }
.catalogue-table tr:last-child td { border-bottom: none; }
.catalogue-table th:nth-child(1), .catalogue-table td:nth-child(1) { width: 84px; white-space: nowrap; }
.catalogue-table th:nth-child(3), .catalogue-table td:nth-child(3) { white-space: nowrap; }
.catalogue-table th:nth-child(4), .catalogue-table td:nth-child(4) { white-space: nowrap; }
.cat-code { font-family: var(--font-mono); font-size: 12px; letter-spacing: 1px; color: var(--crimson); font-weight: 600; }
.cat-track { display: inline-block; font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1px; padding: 4px 9px; border-radius: 999px; border: 1px solid #2b2c2e; color: var(--dark-300); }
.cat-track.cat-offensive { color: #ff7a7a; border-color: rgba(219,52,52,.4); }
.cat-track.cat-defensive { color: #6fd3ff; border-color: rgba(60,160,220,.4); }
.cat-track.cat-crosstrack { color: #c4b5ff; border-color: rgba(140,110,230,.4); }

/* Program formats table */
.formats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 40px; }
@media (max-width: 860px) { .formats-grid { grid-template-columns: 1fr; } }
.format-card { background: #101113; border: 1px solid #222325; border-radius: 16px; padding: 26px 22px; }
.format-card-title { font-family: var(--font-display); font-size: 18px; font-weight: 600; letter-spacing: -.02em; color: #ede8df; margin-bottom: 18px; }
.format-row { display: flex; flex-direction: column; gap: 4px; padding: 14px 0; border-top: 1px solid #1b1c1e; }
.format-row:first-of-type { border-top: none; padding-top: 0; }
.format-row-label { font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.2px; color: var(--dark-300); }
.format-row-value { font-size: 14px; line-height: 1.55rem; color: #cdc7be; }
.formats-note { margin-top: 18px; font-size: 12px; color: var(--dark-300); font-style: italic; max-width: 760px; }

/* Exam section */
.exam-copy { font-size: 14px; line-height: 1.7rem; color: #cdc7be; max-width: 820px; margin-bottom: 18px; }
.exam-steps { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 36px; }
@media (min-width: 720px) { .exam-steps { grid-template-columns: repeat(3, 1fr); } }
.exam-step { background: #101113; border: 1px solid #222325; border-radius: 16px; padding: 26px 22px; }
.exam-step-num { font-family: var(--font-mono); font-size: 11px; color: var(--crimson); letter-spacing: 1px; }
.exam-step-title { font-family: var(--font-display); font-size: 17px; font-weight: 600; color: #ede8df; margin: 12px 0 10px; }
.exam-step-copy { font-size: 13px; line-height: 1.55rem; color: var(--dark-300); }

/* FAQ */
.faq-list { margin-top: 36px; border-top: 1px solid #222325; }
.faq-item { border-bottom: 1px solid #222325; }
.faq-q { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; background: none; border: none; cursor: pointer; text-align: left; padding: 22px 4px; font-family: var(--font-display); font-size: 16px; font-weight: 500; color: #ede8df; transition: color .2s ease; }
.faq-q:hover { color: var(--crimson); }
.faq-q svg { flex-shrink: 0; color: var(--dark-300); transition: transform .25s ease, color .2s ease; }
.faq-item.open .faq-q svg { transform: rotate(180deg); color: var(--crimson); }
.faq-a { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
.faq-item.open .faq-a { max-height: 460px; }
.faq-a p { padding: 0 4px 24px; font-size: 14px; line-height: 1.65rem; color: var(--dark-300); max-width: 820px; }

/* inline link + anchor offset + table row hover */
.inline-link { color: var(--crimson); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; transition: opacity .2s ease; }
.inline-link:hover { opacity: .8; }
#exam-model { scroll-margin-top: 96px; }
.catalogue-table tbody tr { transition: background .2s ease; }
.catalogue-table tbody tr:hover { background: rgba(219,52,52,.06); }
@media (max-width: 680px) {
  .catalogue-wrap { overflow-x: visible; border: none; background: transparent; }
  .catalogue-table, .catalogue-table tbody, .catalogue-table tr, .catalogue-table td { display: block; width: 100%; }
  .catalogue-table thead { display: none; }
  .catalogue-table tr { border: 1px solid #232425; border-radius: 12px; margin-bottom: 14px; padding: 6px 0; background: #101113; }
  .catalogue-table td { border: none; display: flex; justify-content: space-between; gap: 16px; padding: 10px 16px; text-align: right; }
  .catalogue-table td::before { content: attr(data-label); font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.2px; color: var(--dark-300); text-align: left; }
  .catalogue-table td.cat-code { text-align: right; }
}

/* Trainings page */
.training-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 36px; }
.training-filter { font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 1.2px; color: var(--dark-300); background: #101113; border: 1px solid #2b2c2e; border-radius: 999px; padding: 9px 16px; cursor: pointer; transition: border-color .2s ease, color .2s ease; }
.training-filter:hover { color: var(--ivory); border-color: rgba(219,52,52,.5); }
.training-filter.is-active { color: var(--ivory); border-color: var(--crimson); background: rgba(219,52,52,.1); }
.student-guide-cta { margin-top: 26px; }
.training-grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 640px) { .training-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .training-grid { grid-template-columns: repeat(3, 1fr); } }
.training-card { display: flex; flex-direction: column; border: 1px solid #2b2c2e; background: #101113; overflow: hidden; transition: border-color .2s ease, background-color .2s ease; }
.training-card:hover { border-color: rgba(219,52,52,.65); background-color: rgba(219,52,52,.045); }
.training-card-media { position: relative; aspect-ratio: 16 / 9; background: linear-gradient(135deg, #1b1c1f 0%, #2a1416 100%); overflow: hidden; }
.training-card-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.training-card-cat { position: absolute; top: 14px; left: 14px; font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.4px; color: #fff; background: rgba(9,10,11,.7); border: 1px solid rgba(255,255,255,.18); border-radius: 999px; padding: 5px 11px; backdrop-filter: blur(4px); }
.training-card-cat.cat-course { color: #cfe9ff; border-color: rgba(120,180,255,.5); }
.training-card-cat.cat-training { color: #ffe0b8; border-color: rgba(255,180,90,.5); }
.training-card-cat.cat-bootcamp { color: #ffc9c9; border-color: rgba(219,52,52,.6); }
.training-card-batch { position: absolute; top: 14px; right: 14px; font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.4px; color: #0c0d0e; background: var(--crimson); border-radius: 999px; padding: 5px 11px; }
.training-card-price { color: #b9f5c9 !important; }
.training-card-price b { color: #b9f5c9 !important; }
.training-card-body { display: flex; flex-direction: column; flex: 1; padding: 24px; }
.training-card-title { font-family: var(--font-display); font-size: 19px; font-weight: 600; letter-spacing: -.03em; color: #ede8df; }
.training-card-desc { margin-top: 12px; font-size: 13px; line-height: 1.55rem; color: var(--dark-300); }
.training-card-meta { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 16px; font-size: 11px; color: var(--dark-300); }
.training-card-meta b { color: #cfc9c0; font-weight: 600; }
.training-card-highlights { list-style: none; margin: 16px 0 0; padding: 16px 0 0; border-top: 1px solid #1f2022; display: flex; flex-direction: column; gap: 8px; }
.training-card-highlights li { position: relative; padding-left: 18px; font-size: 12px; line-height: 1.5rem; color: #cfc9c0; }
.training-card-highlights li::before { content: ''; position: absolute; left: 0; top: 8px; width: 6px; height: 6px; border-radius: 50%; background: var(--crimson); }
.training-card-btn { margin-top: 22px; align-self: flex-start; }
.training-none { font-size: 14px; color: var(--dark-300); }

/* Modal */
.modal-backdrop { position: fixed; inset: 0; z-index: 50; display: flex; align-items: center; justify-content: center; background: rgba(9,10,11,.85); padding: 20px; animation: fadeIn .2s ease; }
.modal-panel { width: 100%; max-width: 540px; border: 1px solid #424043; background: #151618; padding: 24px; animation: panelIn .3s cubic-bezier(.2,.8,.2,1); }
@media (min-width: 640px) { .modal-panel { padding: 36px; } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes panelIn { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }

/* Page sections */
.section { margin: 0 auto; max-width: var(--max-width); padding: 48px 16px; }
@media (min-width: 768px) { .section { padding: 72px 20px; } }
@media (min-width: 1024px) { .section { padding: 128px 32px; } }

/* Page intro */
.page-intro { position: relative; overflow: hidden; border-bottom: 1px solid var(--dark-700); }
.page-intro-inner { position: relative; margin: 0 auto; max-width: var(--max-width); padding: 60px 16px 48px; }
@media (min-width: 768px) { .page-intro-inner { padding: 80px 20px 64px; } }
@media (min-width: 1024px) { .page-intro-inner { padding: 128px 32px 112px; } }
.page-intro .grid-noise { position: absolute; inset: 0; opacity: .4; }
.page-intro-title { margin-top: 20px; font-family: var(--font-display); font-size: clamp(2.4rem, 9vw, 7.4rem); font-weight: bold; line-height: .9; letter-spacing: -.075em; color: var(--ivory); }
@media (min-width: 768px) { .page-intro-title { margin-top: 28px; font-size: clamp(3.2rem, 8vw, 7.4rem); } }
.page-intro-copy { margin-top: 20px; max-width: 630px; font-size: 14px; line-height: 1.6rem; color: #979694; }
@media (min-width: 768px) { .page-intro-copy { margin-top: 32px; font-size: 16px; line-height: 1.75rem; } }
.page-intro-detail { margin-top: 16px; font-family: var(--font-mono); font-size: 8px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--dark-500); }
@media (min-width: 768px) { .page-intro-detail { margin-top: 24px; font-size: 9px; } }

/* Responsive */
@media (max-width: 767px) {
  .service-card { min-height: 240px; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .reveal { opacity: 1; transform: none; }
}
/* Home hero */
.home-site-header { position: absolute; inset: 0 0 auto; border-bottom-color: rgba(255, 248, 237, .2); }
.skeler-hero { position: relative; min-height: 760px; overflow: hidden; background: #050506; }
@media (min-width: 768px) { .skeler-hero { min-height: 100svh; } }
.hero-visual { position: absolute; inset: 0; overflow: hidden; background: radial-gradient(circle at 52% 34%, rgba(139, 22, 31, .24), transparent 37%), #050506; }
.hero-vignette { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(3, 3, 4, .26) 0%, rgba(3, 3, 4, .08) 34%, rgba(3, 3, 4, .72) 100%), linear-gradient(90deg, rgba(3, 3, 4, .56) 0%, transparent 30%, transparent 70%, rgba(3, 3, 4, .56) 100%); }
.hero-grid { position: absolute; inset: 0; opacity: .15; background-image: linear-gradient(rgba(255, 231, 214, .24) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 231, 214, .24) 1px, transparent 1px); background-size: 84px 84px; mask-image: linear-gradient(90deg, transparent, black 18%, black 84%, transparent); }
.hero-scanlines { display: none; }
.hero-frame { position: absolute; inset: 15.5% 4.8% 8%; border: 1px solid rgba(255, 224, 207, .36); pointer-events: none; }
.hero-frame::before, .hero-frame::after { content: ''; position: absolute; width: 54px; height: 54px; border-color: rgba(255, 244, 233, .82); }
.hero-frame::before { top: -1px; left: -1px; border-top: 1px solid; border-left: 1px solid; }
.hero-frame::after { right: -1px; bottom: -1px; border-right: 1px solid; border-bottom: 1px solid; }
.hero-crosshair { display: none; }
.hero-orbit { display: none; }
.hero-signal { display: none; }
.hero-corner { display: none; }
/* Hero Status Bar */
.hero-status-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: #c8c4bc;
}
.hero-status-dot {
  width: 8px;
  height: 8px;
  background: #4ade80;
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(74, 222, 128, 0.5);
}
.hero-status-text {
  color: #e5e1d8;
}
.hero-status-separator {
  color: var(--dark-600);
}

/* Hero Footer Stats */
.hero-footer-stats {
  display: flex;
  align-items: center;
  gap: 16px;
}
.hero-footer-stat {
  text-align: left;
}
.hero-footer-stat-num {
  display: block;
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  letter-spacing: -.02em;
}
.hero-footer-stat-label {
  display: block;
  font-family: var(--font-mono);
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #a8a4a0;
  margin-top: 2px;
}
.hero-footer-stat-divider {
  width: 1px;
  height: 28px;
  background: var(--dark-600);
}

.hero-content { position: relative; z-index: 10; margin: 0 auto; display: flex; flex-direction: column; justify-content: space-between; min-height: 760px; max-width: 1400px; padding: 112px 20px 32px; }
@media (min-width: 768px) { .hero-content { min-height: 100svh; padding: 128px 32px 24px; } }
.hero-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 32px; }
.hero-utility-text { border-left: 1px solid rgba(255, 229, 210, .6); padding-left: 12px; font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; line-height: 1.4rem; letter-spacing: 1.6px; color: #fff; }
.hero-utility-text .bright { color: #ffffff; }
.hero-utility-text .muted { color: #ffb6a0; }
.hero-bottom-grid { position: relative; display: grid; align-items: end; gap: 32px; }
@media (min-width: 1024px) { .hero-bottom-grid { grid-template-columns: .82fr 1.18fr; } }
.hero-left { max-width: 360px; padding-bottom: 8px; }
.hero-left-tag { display: flex; align-items: center; gap: 12px; font-family: var(--font-mono); font-size: 10px; font-weight: bold; text-transform: uppercase; letter-spacing: 2px; color: #fff0e5; }
.hero-left-tag::before { content: ''; width: 32px; height: 1px; background: #fff0e5; }
.hero-left p { margin-top: 24px; max-width: 310px; font-size: 15px; line-height: 1.6rem; color: #f5f1e8; }
.hero-left-btns { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 12px; }
.hero-right { position: relative; }
.hero-right-label { position: absolute; top: -64px; left: 0; pointer-events: none; font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.6px; color: #ffe7d9; }
.hero-title { max-width: 900px; font-family: var(--font-display); font-size: clamp(4.3rem, 12vw, 11.5rem); font-weight: bold; text-transform: uppercase; line-height: .77; letter-spacing: -.095em; color: #ffffff; }
.hero-title .accent { color: var(--crimson); }
.hero-footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 1.5px; color: #fff; }
.hero-footer .accent { color: #ffb49f; }
.hero-view-btn { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 72px; height: 72px; border-radius: 50%; border: 1px solid rgba(255, 229, 210, .7); text-align: center; text-decoration: none; color: #fff3e8; transition: background .2s ease; font-family: var(--font-mono); }
.hero-view-btn:hover { background: var(--crimson); }
.hero-view-btn span { font-size: 8px; letter-spacing: .8px; }
/* Mobile hero stats - hidden on desktop */
.mobile-hero-stats { display: none; }

/* Intelligence bar */
.intel-bar { border-top: 1px solid var(--dark-700); border-bottom: 1px solid var(--dark-700); background: var(--dark-800); }
.intel-bar-inner { margin: 0 auto; max-width: var(--max-width); display: flex; align-items: center; gap: 24px; overflow: hidden; padding: 16px 20px; }
@media (min-width: 1024px) { .intel-bar-inner { padding: 16px 32px; } }
.intel-bar-label { flex-shrink: 0; font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 2px; color: var(--crimson); }
.intel-bar-sep { display: none; height: 1px; width: 36px; flex-shrink: 0; background: #5e3133; }
@media (min-width: 640px) { .intel-bar-sep { display: block; } }
.intel-bar-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; text-transform: uppercase; letter-spacing: 1.3px; color: var(--dark-300); }
@media (max-width: 767px) { .intel-bar-inner { padding: 12px 16px; gap: 12px; } .intel-bar-label { font-size: 8px; } .intel-bar-text { font-size: 9px; } }
.intel-bar-arrow { margin-left: auto; flex-shrink: 0; color: var(--crimson); }

/* Section header */
.section-header { display: grid; gap: 20px; }
@media (min-width: 768px) { .section-header { gap: 32px; } }
@media (min-width: 1024px) { .section-header { grid-template-columns: .7fr 1.3fr; } }
.section-header-title { font-family: var(--font-display); font-size: clamp(1.8rem, 7vw, 4.7rem); font-weight: bold; line-height: .96; letter-spacing: -.065em; color: var(--ivory); }
@media (min-width: 768px) { .section-header-title { font-size: clamp(2.4rem, 5vw, 4.7rem); } }
.section-header-copy { margin-top: 16px; max-width: 570px; font-size: 14px; line-height: 1.6rem; color: #8d8d8b; }
@media (min-width: 768px) { .section-header-copy { margin-top: 28px; font-size: 15px; line-height: 1.75rem; } }

/* Service grid */
.service-grid { margin-top: 32px; display: grid; gap: 12px; }
@media (min-width: 768px) { .service-grid { margin-top: 56px; grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .service-grid { grid-template-columns: repeat(3, 1fr); } }

/* Trust bar */
.trust-bar { position: relative; border-top: 1px solid #232426; border-bottom: 1px solid #232426; background: linear-gradient(180deg, #0e0f11, #0a0b0d); }
.trust-bar::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, #d93636 50%, transparent); opacity: .55; }
.trust-bar-inner { margin: 0 auto; max-width: var(--max-width); display: grid; gap: 0; padding: 12px 16px; }
@media (min-width: 640px) { .trust-bar-inner { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 768px) { .trust-bar-inner { padding: 20px 20px; } }
@media (min-width: 1024px) { .trust-bar-inner { padding: 22px 32px; } }
.trust-item { position: relative; display: flex; align-items: center; gap: 16px; padding: 22px 18px; }
@media (min-width: 640px) { .trust-item + .trust-item { border-left: 1px solid #232426; } }
.trust-index { position: absolute; top: 14px; right: 18px; font-family: var(--font-mono); font-size: 9px; letter-spacing: 1.5px; color: #3a3b3e; }
.trust-icon { flex: 0 0 auto; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(217,54,54,.4); border-radius: 50%; color: #d93636; background: rgba(217,54,54,.06); }
.trust-body { display: flex; flex-direction: column; gap: 4px; }
.trust-item-label { font-family: var(--font-display); font-size: 17px; font-weight: 600; letter-spacing: -.02em; color: #f0ebe2; }
@media (min-width: 768px) { .trust-item-label { font-size: 19px; } }
.trust-item-copy { font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.4px; color: var(--dark-300); line-height: 1.5; }
@media (min-width: 768px) { .trust-item-copy { font-size: 9.5px; } }
@media (prefers-reduced-motion: no-preference) {
  .trust-item { transition: background-color .25s ease; }
  .trust-item:hover { background-color: rgba(217,54,54,.05); }
  .trust-item:hover .trust-icon { border-color: #d93636; background: rgba(217,54,54,.12); }
}

/* Blog CTA */
.blog-cta { margin-top: 32px; max-width: 680px; }
.blog-cta-text { margin-top: 16px; max-width: 480px; font-size: 14px; line-height: 1.6rem; color: var(--dark-200); }
.blog-cta .btn-ghost { margin-top: 24px; }

/* Method section */
.method-section { border-top: 1px solid var(--dark-700); border-bottom: 1px solid var(--dark-700); background: var(--dark-800); }
.method-inner { margin: 0 auto; max-width: var(--max-width); padding: 48px 16px; }
@media (min-width: 768px) { .method-inner { padding: 72px 20px; } }
@media (min-width: 1024px) { .method-inner { padding: 128px 32px; } }
.method-header { display: flex; flex-direction: column; justify-content: space-between; gap: 24px; }
@media (min-width: 768px) { .method-header { flex-direction: row; align-items: flex-end; } }
.method-title { max-width: 650px; font-family: var(--font-display); font-size: clamp(2.3rem, 4.6vw, 4.4rem); font-weight: bold; line-height: .98; letter-spacing: -.06em; color: var(--ivory); }
.method-steps { margin-top: 32px; display: grid; gap: 20px; }
@media (min-width: 768px) { .method-steps { margin-top: 64px; gap: 48px 0; grid-template-columns: repeat(3, 1fr); } }
.method-step { border-left: 1px solid var(--dark-600); padding: 8px 16px; }
@media (min-width: 768px) { .method-step { padding: 8px 20px; } }
.method-step:first-child { border-left-color: var(--crimson); }
.method-step-num { font-family: var(--font-mono); font-size: 10px; color: var(--crimson); }
.method-step-title { margin-top: 24px; font-family: var(--font-display); font-size: 17px; font-weight: 600; color: #ece8df; }
@media (min-width: 768px) { .method-step-title { margin-top: 48px; font-size: 20px; } }
.method-step-copy { margin-top: 12px; max-width: 220px; font-size: 12px; line-height: 1.5rem; color: #848484; }
@media (min-width: 768px) { .method-step-copy { margin-top: 16px; font-size: 13px; } }

/* CTA section */
.cta-section { border-top: 1px solid var(--dark-700); }
.cta-inner { margin: 0 auto; max-width: var(--max-width); display: flex; flex-direction: column; justify-content: space-between; gap: 24px; padding: 48px 16px; }
@media (min-width: 768px) { .cta-inner { gap: 32px; padding: 72px 20px; } }
@media (min-width: 1024px) { .cta-inner { flex-direction: row; align-items: flex-end; padding: 128px 32px; } }
.cta-title { max-width: 600px; font-family: var(--font-display); font-size: clamp(2rem, 8vw, 5.8rem); font-weight: bold; line-height: .9; letter-spacing: -.075em; color: var(--ivory); }
@media (min-width: 768px) { .cta-title { font-size: clamp(2.8rem, 6vw, 5.8rem); } }
.cta-copy { max-width: 500px; font-size: 14px; line-height: 1.6rem; color: var(--dark-200); }
@media (min-width: 768px) { .cta-copy { font-size: 16px; line-height: 1.75rem; } }
.expect-list { display: grid; gap: 12px; }
@media (min-width: 640px) { .expect-list { grid-template-columns: repeat(2, 1fr); } }
.expect-item { border-top: 1px solid var(--dark-600); padding: 20px 0; font-size: 14px; line-height: 1.5rem; color: var(--dark-100); }
.expect-item svg { margin-bottom: 16px; color: var(--crimson); }
/* Insights */
.insights-grid { display: grid; gap: 12px; }
@media (min-width: 768px) { .insights-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .insights-grid { grid-template-columns: repeat(3, 1fr); } }
.insight-card { border: 1px solid #2b2c2e; background: #101113; padding: 20px 16px; }
@media (min-width: 768px) { .insight-card { padding: 28px; } }
.insight-section { display: flex; align-items: center; gap: 10px; font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.5px; }
.insight-section-num { color: var(--crimson); }
.insight-section-title { color: var(--dark-500); }
.insight-label { margin-top: 24px; display: block; font-family: var(--font-mono); font-size: 8px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--crimson); }
@media (min-width: 768px) { .insight-label { margin-top: 32px; font-size: 9px; } }
.insight-title { margin-top: 16px; font-family: var(--font-display); font-size: 20px; font-weight: 600; line-height: 1.2; letter-spacing: -.04em; color: #eee9e0; }
@media (min-width: 768px) { .insight-title { margin-top: 24px; font-size: 25px; } }
.insight-copy { margin-top: 16px; font-size: 12px; line-height: 1.5rem; color: var(--dark-300); }
@media (min-width: 768px) { .insight-copy { margin-top: 20px; font-size: 13px; } }
.insight-copy strong { color: var(--dark-100); font-weight: 600; }
.insight-link { margin-top: 24px; display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 8px; text-transform: uppercase; letter-spacing: 1.2px; color: var(--dark-500); text-decoration: none; transition: color .2s ease; }
.insight-link:hover { color: var(--crimson); }
@media (min-width: 768px) { .insight-link { margin-top: 40px; font-size: 9px; } }

/* Partners */
.partners-grid { display: flex; flex-wrap: wrap; align-items: baseline; gap: 16px 26px; margin-top: 40px; }
@media (min-width: 768px) { .partners-grid { margin-top: 56px; } }
.partner-handle { font-family: var(--font-display); font-size: clamp(1.1rem, 2.6vw, 1.9rem); font-weight: bold; letter-spacing: -.04em; line-height: 1.15; color: var(--ivory); white-space: nowrap; }
.partner-handle::before { content: '@'; color: var(--crimson); }
@media (min-width: 768px) { .partner-handle { font-size: clamp(1.3rem, 2.4vw, 2.3rem); } }

/* Standard section */
.standard-section { border-top: 1px solid var(--dark-700); border-bottom: 1px solid var(--dark-700); background: var(--dark-800); }
.standard-inner { margin: 0 auto; max-width: var(--max-width); display: grid; gap: 20px; padding: 40px 16px; }
@media (min-width: 768px) { .standard-inner { gap: 32px; padding: 60px 20px; } }
@media (min-width: 1024px) { .standard-inner { grid-template-columns: .7fr 1.3fr; padding: 80px 32px; } }
.standard-text { max-width: 700px; font-family: var(--font-display); font-size: clamp(1.3rem, 5vw, 3.5rem); font-weight: 600; line-height: 1.2; letter-spacing: -.055em; color: #eae5dc; }
@media (min-width: 768px) { .standard-text { font-size: clamp(1.8rem, 3.5vw, 3.5rem); } }

/* Company Resources */
.company-resources { border-top: 1px solid var(--dark-700); background: var(--background); }
.company-resources-inner { margin: 0 auto; max-width: var(--max-width); padding: 48px 16px; }
@media (min-width: 768px) { .company-resources-inner { padding: 72px 20px; } }
@media (min-width: 1024px) { .company-resources-inner { padding: 80px 32px; } }
.company-resources-header { margin-bottom: 32px; }
.company-resources-header .red-rule { margin-bottom: 16px; }
.company-resources-title { font-family: var(--font-display); font-size: 24px; font-weight: bold; color: var(--ivory); letter-spacing: -.03em; }
@media (min-width: 768px) { .company-resources-title { font-size: 28px; } }
.company-resources-subtitle { margin-top: 8px; font-size: 14px; color: var(--dark-300); line-height: 1.5; }
@media (min-width: 768px) { .company-resources-subtitle { font-size: 15px; } }
.company-resources-grid { display: grid; gap: 12px; }
@media (min-width: 768px) { .company-resources-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .company-resources-grid { grid-template-columns: repeat(4, 1fr); } }
.resource-card { display: flex; flex-direction: column; gap: 12px; padding: 20px; border: 1px solid var(--dark-700); background: var(--dark-800); text-decoration: none; transition: border-color .2s ease, background-color .2s ease; }
@media (min-width: 768px) { .resource-card { padding: 24px; } }
.resource-card:hover { border-color: rgba(219,52,52,.5); background-color: rgba(219,52,52,.04); }
.resource-icon { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 1px solid var(--dark-600); background: var(--dark-900); color: var(--crimson); }
.resource-title { font-family: var(--font-display); font-size: 16px; font-weight: 600; color: var(--ivory); }
.resource-action { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 1px; color: var(--crimson); }

/* Cert stats strip */
.cert-stats-section { padding-top: 0; }
.cert-stats {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  background: #2b2c2e;
  border: 1px solid #2b2c2e;
}
@media (min-width: 640px) { .cert-stats { grid-template-columns: repeat(3, 1fr); } }
.cert-stat {
  background: #101113;
  padding: 22px 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media (min-width: 768px) { .cert-stat { padding: 28px 24px; } }
.cert-stat-value {
  font-family: var(--font-display);
  font-size: clamp(1.1rem, 2.4vw, 1.45rem);
  font-weight: 600;
  letter-spacing: -.03em;
  color: var(--ivory);
  line-height: 1.2;
}
.cert-stat-label {
  font-family: var(--font-mono);
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  color: var(--dark-300);
}

/* Cert grid */
.cert-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  margin-top: 8px;
}
@media (min-width: 768px) { .cert-grid { grid-template-columns: repeat(2, 1fr); gap: 22px; } }
@media (min-width: 1100px) { .cert-grid { grid-template-columns: repeat(3, 1fr); } }
.cert-home-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  margin-top: 8px;
}
@media (min-width: 768px) { .cert-home-grid { grid-template-columns: repeat(3, 1fr); gap: 22px; } }
.cert-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1px solid #2b2c2e;
  background: #101113;
  padding: 22px 18px;
  text-decoration: none;
  transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
}
@media (min-width: 768px) { .cert-card { padding: 28px 24px; } }
.cert-card:hover {
  border-color: rgba(219,52,52,.65);
  background-color: rgba(219,52,52,.05);
  transform: translateY(-3px);
}
.cert-card:hover .cert-link { color: #fff; }
.cert-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}
.cert-card-badge {
  flex-shrink: 0;
  display: flex;
  width: 72px;
  height: 72px;
}
@media (min-width: 768px) { .cert-card-badge { width: 88px; height: 88px; } }
.cert-card-badge .cert-svg-badge,
.cert-svg-badge {
  width: 100%;
  height: 100%;
  object-fit: contain;
  flex-shrink: 0;
}
.cert-card-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 7px;
}
.cert-title {
  font-family: var(--font-display);
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -.035em;
  color: #ede8df;
  line-height: 1.15;
  margin: 0;
}
@media (min-width: 768px) { .cert-title { font-size: 22px; } }
.cert-copy {
  margin-top: 12px;
  font-size: 12px;
  line-height: 1.55rem;
  color: var(--dark-300);
  flex-grow: 1;
}
@media (min-width: 768px) { .cert-copy { margin-top: 14px; font-size: 13px; } }
.cert-diff {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  flex-wrap: wrap;
}
.cert-diff-label {
  font-family: var(--font-mono);
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: var(--dark-300);
}
.cert-diff-meter { display: inline-flex; gap: 4px; }
.cert-diff-seg {
  width: 16px;
  height: 5px;
  border-radius: 2px;
  background: #26282b;
}
.cert-diff-seg.is-on { background: var(--crimson); }
.cert-focus {
  list-style: none;
  margin: 18px 0 0;
  padding: 16px 0 0;
  border-top: 1px solid #1b1c1e;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.cert-focus li {
  position: relative;
  padding-left: 16px;
  font-size: 12px;
  line-height: 1.45rem;
  color: #cfc9c0;
}
.cert-focus li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 7px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--crimson);
}
.cert-link {
  margin-top: auto;
  padding-top: 22px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: var(--crimson);
  transition: color .2s ease;
}
.cert-empty {
  margin-top: 28px;
  font-size: 13px;
  color: var(--dark-300);
}
.cert-card--compact .cert-focus { display: none; }
.cert-card--compact .cert-card-badge {
  width: 64px;
  height: 64px;
}

/* Cert badges */
.cert-badge {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-mono);
  font-size: 8px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  padding: 4px 8px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: #1a1b1d;
}
@media (min-width: 768px) { .cert-badge { font-size: 9px; padding: 5px 10px; letter-spacing: 1px; } }
.cert-badge-code {
  background: rgba(217, 54, 54, 0.12);
  border-color: rgba(217, 54, 54, 0.3);
  color: var(--crimson);
}
.cert-badge-level {
  background: rgba(245, 241, 232, 0.06);
  border-color: rgba(245, 241, 232, 0.15);
  color: var(--dark-100);
}
.cert-badge-track {
  background: rgba(245, 241, 232, 0.06);
  border-color: rgba(245, 241, 232, 0.15);
  color: var(--dark-100);
}
.cert-badge-track.cat-offensive { color: #ff7a7a; border-color: rgba(219,52,52,.4); background: rgba(219,52,52,.08); }
.cert-badge-track.cat-defensive { color: #6fd3ff; border-color: rgba(60,160,220,.4); background: rgba(60,160,220,.08); }
.cert-badge-track.cat-crosstrack { color: #c4b5ff; border-color: rgba(140,110,230,.4); background: rgba(140,110,230,.08); }
.cert-badge-type {
  background: rgba(74, 222, 128, 0.08);
  border-color: rgba(74, 222, 128, 0.2);
  color: #4ade80;
}

/* Exam detail badges / aside */
.exam-badges {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
@media (min-width: 768px) { .exam-badges { margin-bottom: 24px; } }
.exam-badge-large { margin-bottom: 20px; }
.exam-badge-large img {
  width: 150px;
  height: 150px;
  object-fit: contain;
}
@media (min-width: 768px) { .exam-badge-large img { width: 180px; height: 180px; } }

/* Policy Pages */
.policy-section { background: var(--background); border-top: 1px solid var(--dark-700); }
.policy-content { margin: 0 auto; max-width: 800px; padding: 48px 16px; }
@media (min-width: 768px) { .policy-content { padding: 72px 20px; } }
@media (min-width: 1024px) { .policy-content { padding: 80px 32px; } }
.policy-block { margin-bottom: 32px; }
@media (min-width: 768px) { .policy-block { margin-bottom: 40px; } }
.policy-block h2 { font-family: var(--font-display); font-size: 20px; font-weight: bold; color: var(--ivory); margin-bottom: 12px; letter-spacing: -.02em; }
@media (min-width: 768px) { .policy-block h2 { font-size: 22px; margin-bottom: 16px; } }
.policy-block p { font-size: 14px; line-height: 1.7rem; color: var(--dark-200); margin-bottom: 12px; }
@media (min-width: 768px) { .policy-block p { font-size: 15px; } }
.policy-block p:last-child { margin-bottom: 0; }
.policy-list { list-style: none; padding: 0; margin: 12px 0; }
.policy-list li { position: relative; padding-left: 20px; margin-bottom: 8px; font-size: 14px; line-height: 1.6rem; color: var(--dark-200); }
@media (min-width: 768px) { .policy-list li { font-size: 15px; } }
.policy-list li::before { content: ''; position: absolute; left: 0; top: 8px; width: 6px; height: 6px; background: var(--crimson); }
.policy-list li strong { color: var(--ivory); font-weight: 600; }
.policy-contact { font-family: var(--font-mono); font-size: 12px; line-height: 1.8rem; color: var(--dark-300); background: var(--dark-800); padding: 16px; border-left: 2px solid var(--crimson); margin-top: 16px !important; }
@media (min-width: 768px) { .policy-contact { font-size: 13px; padding: 20px; } }

/* Contact page */
.contact-grid { margin: 0 auto; max-width: var(--max-width); display: grid; gap: 32px; padding: 48px 16px; }
@media (min-width: 768px) { .contact-grid { gap: 48px; padding: 72px 20px; } }
@media (min-width: 1024px) { .contact-grid { grid-template-columns: .8fr 1.2fr; padding: 128px 32px; } }
.contact-title { font-family: var(--font-display); font-size: 28px; font-weight: bold; letter-spacing: -.05em; color: var(--ivory); }
@media (min-width: 768px) { .contact-title { font-size: 36px; } }
.contact-copy { margin-top: 16px; max-width: 384px; font-size: 13px; line-height: 1.6rem; color: var(--dark-300); }
@media (min-width: 768px) { .contact-copy { margin-top: 20px; font-size: 14px; line-height: 1.75rem; } }
.contact-info { margin-top: 24px; display: flex; flex-direction: column; gap: 12px; font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.3px; color: var(--dark-400); }
@media (min-width: 768px) { .contact-info { margin-top: 40px; gap: 16px; font-size: 10px; } }
.contact-info-item { display: flex; align-items: center; gap: 12px; }
.contact-info-dot { width: 6px; height: 6px; background: var(--crimson); }
.contact-form-card { border: 1px solid var(--dark-600); background: var(--dark-800); padding: 24px 16px; }
@media (min-width: 768px) { .contact-form-card { padding: 40px; } }

/* Service detail */
.back-link { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--dark-400); text-decoration: none; transition: color .2s ease; }
@media (min-width: 768px) { .back-link { font-size: 10px; } }
.back-link:hover { color: var(--ivory); }
.detail-grid { margin: 0 auto; max-width: var(--max-width); display: grid; gap: 32px; padding: 40px 16px; }
@media (min-width: 768px) { .detail-grid { gap: 48px; padding: 60px 20px; } }
@media (min-width: 1024px) { .detail-grid { grid-template-columns: .75fr 1.25fr; padding: 112px 32px; } }
.detail-solves-card { border: 1px solid var(--dark-600); background: var(--dark-800); padding: 24px 16px; height: fit-content; }
@media (min-width: 768px) { .detail-solves-card { padding: 32px; } }
.detail-solves-label { margin-top: 32px; font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--dark-500); }
@media (min-width: 768px) { .detail-solves-label { margin-top: 56px; font-size: 10px; } }
.detail-solves-text { margin-top: 12px; font-size: 16px; line-height: 1.6rem; color: #ded8cf; }
@media (min-width: 768px) { .detail-solves-text { margin-top: 16px; font-size: 20px; line-height: 2rem; } }
.detail-section-title { font-family: var(--font-display); font-size: 28px; font-weight: bold; letter-spacing: -.06em; color: var(--ivory); }
@media (min-width: 768px) { .detail-section-title { font-size: 40px; } }
.detail-approach { margin-top: 24px; border-top: 1px solid var(--dark-600); border-bottom: 1px solid var(--dark-600); }
@media (min-width: 768px) { .detail-approach { margin-top: 32px; } }
.detail-approach-item { display: flex; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--dark-600); }
@media (min-width: 768px) { .detail-approach-item { gap: 20px; padding: 20px 0; } }
.detail-approach-item:last-child { border-bottom: none; }
.detail-approach-num { font-family: var(--font-mono); font-size: 10px; color: var(--crimson); }
.detail-approach-text { font-size: 13px; line-height: 1.5rem; color: var(--dark-100); }
@media (min-width: 768px) { .detail-approach-text { font-size: 14px; } }
.detail-outcomes { margin-top: 24px; display: grid; gap: 12px; }
@media (min-width: 768px) { .detail-outcomes { margin-top: 32px; grid-template-columns: repeat(3, 1fr); } }
.detail-outcome { border-top: 1px solid var(--crimson); padding: 12px 0; font-size: 12px; line-height: 1.5rem; color: var(--dark-100); }
@media (min-width: 768px) { .detail-outcome { padding: 16px 0; font-size: 13px; } }
.detail-outcome svg { margin-bottom: 16px; color: var(--crimson); }
@media (min-width: 768px) { .detail-outcome svg { margin-bottom: 20px; } }

/* Exam detail */
.exam-detail-grid {
  margin: 0 auto;
  max-width: var(--max-width);
  display: grid;
  gap: 40px;
  padding: 40px 16px;
}
@media (min-width: 768px) { .exam-detail-grid { gap: 48px; padding: 60px 20px; } }
@media (min-width: 1024px) {
  .exam-detail-grid {
    grid-template-columns: .85fr 1.15fr;
    gap: 64px;
    padding: 96px 32px 112px;
  }
}
.exam-detail-aside .back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 28px;
}
.exam-diff-block {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}
.exam-specs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 18px;
  margin-bottom: 28px;
  padding: 20px 0;
  border-top: 1px solid #1f2022;
  border-bottom: 1px solid #1f2022;
}
.exam-spec { display: flex; flex-direction: column; gap: 6px; }
.exam-spec-label {
  font-family: var(--font-mono);
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 1.3px;
  color: var(--dark-300);
}
.exam-spec-value {
  font-size: 14px;
  color: #ede8df;
  letter-spacing: -.01em;
}
.exam-prereq {
  margin-bottom: 28px;
  padding: 16px 18px;
  border: 1px solid #2b2c2e;
  background: rgba(245, 241, 232, 0.03);
}
.exam-prereq p {
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.55rem;
  color: var(--dark-200);
}
.exam-audience-label {
  font-family: var(--font-mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--crimson);
}
.exam-audience-text {
  margin-top: 14px;
  max-width: 448px;
  font-size: 16px;
  line-height: 1.55rem;
  color: #ded8cf;
}
@media (min-width: 768px) {
  .exam-audience-text { margin-top: 16px; font-size: 20px; line-height: 1.85rem; }
}
.exam-cta { margin-top: 28px; }
.exam-outcomes-title { margin-top: 56px; }
.exam-outcomes { margin-top: 24px; }
@media (min-width: 768px) {
  .exam-outcomes { margin-top: 28px; grid-template-columns: 1fr; }
}
@media (min-width: 900px) {
  .exam-outcomes { grid-template-columns: repeat(3, 1fr); }
}
.exam-focus {
  margin-top: 24px;
  border-top: 1px solid var(--dark-600);
  border-bottom: 1px solid var(--dark-600);
}
@media (min-width: 768px) { .exam-focus { margin-top: 32px; } }
.exam-focus-item {
  display: flex;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid var(--dark-600);
}
@media (min-width: 768px) { .exam-focus-item { gap: 20px; padding: 24px 0; } }
.exam-focus-item:last-child { border-bottom: none; }
.exam-focus-num { font-family: var(--font-mono); font-size: 10px; color: var(--crimson); flex-shrink: 0; }
.exam-focus-text { font-size: 13px; line-height: 1.5rem; color: var(--dark-100); }
@media (min-width: 768px) { .exam-focus-text { font-size: 15px; } }
.exam-note {
  margin-top: 28px;
  border-left: 2px solid var(--crimson);
  background: #151315;
  padding: 16px;
  font-size: 12px;
  line-height: 1.5rem;
  color: var(--dark-200);
}
@media (min-width: 768px) { .exam-note { margin-top: 40px; padding: 24px; font-size: 13px; } }

/* Modal form */
.modal-form { margin-top: 32px; display: flex; flex-direction: column; gap: 16px; }
.modal-form-note { font-size: 13px; line-height: 1.55rem; color: var(--dark-200); }
.modal-form label { display: block; }
.modal-form span { font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--dark-400); }
.modal-form input, .modal-form textarea { margin-top: 8px; width: 100%; border: 1px solid var(--dark-600); background: #101113; padding: 12px 16px; font-size: 14px; color: var(--ivory); outline: none; font-family: var(--font-sans); }
.modal-form input:focus, .modal-form textarea:focus { border-color: var(--crimson); }
.modal-form textarea { min-height: 100px; resize: vertical; }
.modal-success { padding: 48px 0; text-align: center; }
.modal-success svg { margin: 0 auto; color: var(--crimson); }
.modal-success-title { margin-top: 24px; font-family: var(--font-display); font-size: 30px; font-weight: bold; color: var(--ivory); }
.modal-success-copy { margin: 12px auto 0; max-width: 384px; font-size: 14px; line-height: 1.5rem; color: var(--dark-200); }
.modal-success-btn { margin-top: 32px; font-size: 10px; font-weight: bold; text-transform: uppercase; letter-spacing: 1.6px; color: var(--crimson); background: none; border: none; cursor: pointer; font-family: var(--font-sans); }
.modal-header { display: flex; align-items: flex-start; justify-content: space-between; }
.modal-eyebrow { font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 2px; color: var(--crimson); }
.modal-title { margin-top: 16px; font-family: var(--font-display); font-size: 30px; font-weight: bold; letter-spacing: -.05em; color: var(--ivory); }
.modal-close { background: none; border: none; color: var(--dark-400); cursor: pointer; padding: 4px; }
.modal-close:hover { color: white; }

/* 404 */
.not-found { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: var(--dark-800); }
.not-found-card { max-width: 448px; margin: 0 16px; text-align: center; padding: 40px; }
.not-found-title { font-family: var(--font-display); font-size: 30px; font-weight: bold; color: var(--ivory); margin-top: 16px; }
.not-found-copy { margin-top: 16px; font-size: 14px; line-height: 1.5rem; color: var(--dark-300); }
.not-found-link { margin-top: 24px; display: inline-block; color: var(--crimson); font-size: 14px; text-decoration: none; }

/* Utility */
.flex-between { display: flex; align-items: flex-start; justify-content: space-between; }
.hidden-sm { display: none; }
@media (min-width: 640px) { .hidden-sm { display: block; } }

/* Mobile/Tablet - Premium Custom Hero */
@media (max-width: 1023px) {
  .home-site-header { position: relative; border-bottom-color: var(--border); background: var(--background); }
  .skeler-hero { min-height: auto; background: var(--background); overflow: visible; }
  .hero-visual { display: none; }
  .hero-content { min-height: auto; padding: 0; max-width: 100%; }
  .hero-top { display: none; }
  .hero-bottom-grid { display: flex; flex-direction: column; gap: 0; text-align: left; align-items: stretch; }
  
  /* Mobile Hero - Status Bar */
  .hero-left { 
    max-width: 100%; 
    padding: 16px 20px; 
    background: #0a0b0d; 
    border-bottom: 1px solid var(--dark-700); 
    display: flex; 
    align-items: center; 
    justify-content: space-between; 
  }
  .hero-left-tag { 
    justify-content: flex-start; 
    font-size: 10px; 
    font-weight: 600;
    color: #f5f1e8; 
    background: rgba(217, 54, 54, 0.15); 
    padding: 8px 14px; 
    border: 1px solid rgba(217, 54, 54, 0.3); 
    letter-spacing: 1px;
  }
  .hero-left-tag::before { display: none; }
  .hero-left p { display: none; }
  .hero-left-btns { display: none; }
  .hero-left::after {
    content: 'ACTIVE';
    font-family: var(--font-mono);
    font-size: 9px;
    font-weight: 500;
    color: #4ade80;
    letter-spacing: 1.5px;
    display: flex;
    align-items: center;
    gap: 6px;
  }
  .hero-left::before {
    content: '';
    width: 6px;
    height: 6px;
    background: #4ade80;
    border-radius: 50%;
    order: 1;
    box-shadow: 0 0 8px rgba(74, 222, 128, 0.5);
  }
  
  /* Mobile Hero - Main Title Area */
  .hero-right { 
    text-align: left; 
    padding: 48px 20px 36px; 
    background: linear-gradient(180deg, #0a0b0d 0%, var(--background) 70%); 
    position: relative;
    overflow: hidden;
  }
  .hero-right::before {
    content: '';
    position: absolute;
    top: 0;
    left: 20px;
    right: 20px;
    height: 1px;
    background: rgba(217, 54, 54, 0.25);
  }
  .hero-right::after {
    content: '';
    position: absolute;
    top: 40px;
    right: -40px;
    width: 120px;
    height: 120px;
    border: 1px solid rgba(217, 54, 54, 0.08);
    border-radius: 50%;
    pointer-events: none;
  }
  .hero-right-label { display: none; }
  .hero-title { 
    font-size: clamp(2.6rem, 11vw, 3.8rem); 
    line-height: .9; 
    letter-spacing: -.06em; 
    text-align: left; 
    position: relative;
  }
  .hero-title .accent { 
    color: var(--crimson); 
    position: relative;
  }
  
  /* Mobile Hero - Description & CTA */
  .hero-footer { 
    flex-direction: column; 
    align-items: stretch; 
    gap: 0; 
    text-align: left; 
    padding: 0 20px 40px; 
    background: var(--background);
    font-size: 10px;
  }
  .hero-footer span:first-child { 
    color: var(--dark-400); 
    order: 3; 
    font-size: 9px;
    letter-spacing: 0.5px;
    text-align: center;
    padding-top: 20px;
    border-top: 1px solid var(--dark-600);
    margin-top: 12px;
  }
  .hero-footer .accent { color: var(--crimson); }
  .hero-view-btn { 
    width: 100%; 
    height: auto; 
    border-radius: 0; 
    border: 2px solid rgba(255, 255, 255, 0.15); 
    padding: 20px 24px; 
    flex-direction: row; 
    justify-content: space-between; 
    align-items: center;
    background: var(--crimson);
    color: #ffffff !important;
    font-size: 13px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 2px;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    text-decoration: none;
    display: flex;
  }
  .hero-view-btn::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
    transition: left 0.5s ease;
  }
  .hero-view-btn:hover::after { left: 100%; }
  .hero-view-btn:hover { background: var(--crimson-hover); border-color: rgba(255, 255, 255, 0.25); }
  .hero-view-btn span { font-size: 13px; letter-spacing: 2px; display: inline; color: #ffffff !important; }
  .hero-view-btn svg { display: inline-block; width: 20px; height: 20px; }
  
  /* Mobile Hero - Description Text */
  .hero-footer::before {
    content: 'Offensive insight, defensive engineering, and clear decisions for organisations with something worth protecting.';
    display: block;
    font-family: var(--font-sans);
    font-size: 15px;
    line-height: 1.7rem;
    color: #c8c4bc;
    text-transform: none;
    letter-spacing: 0;
    order: 1;
    margin-bottom: 24px;
  }
  
  /* Mobile Hero - Stats Row */
  .mobile-hero-stats {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0;
    margin: 20px 0;
    border-top: 1px solid var(--dark-600);
    border-bottom: 1px solid var(--dark-600);
    order: 2;
  }
  .mobile-hero-stat {
    flex: 1;
    text-align: center;
  }
  .mobile-hero-stat-num {
    display: block;
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: bold;
    color: var(--ivory);
    letter-spacing: -.03em;
  }
  .mobile-hero-stat-label {
    display: block;
    font-family: var(--font-mono);
    font-size: 9px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--dark-300);
    margin-top: 6px;
  }
  .mobile-hero-stat-divider {
    width: 1px;
    height: 28px;
    background: var(--dark-600);
  }
  .hero-footer-status { display: none; }
}

/* ==== Method page ==== */
/* Method steps tagline */
.method-step-tag { margin-top: 8px; font-weight: 600; font-size: 13px; line-height: 1.4rem; color: #cfcabd; }
@media (min-width: 768px) { .method-step-tag { margin-top: 12px; font-size: 14px; } }

/* Doctrine strip */
.doctrine { border-top: 1px solid var(--dark-700); border-bottom: 1px solid var(--dark-700); background: var(--dark-800); }
.doctrine-inner { margin: 0 auto; max-width: var(--max-width); display: grid; grid-template-columns: 1fr; padding: 16px 16px; }
@media (min-width: 1024px) { .doctrine-inner { padding: 20px 32px; } }
.doctrine-item { display: flex; align-items: baseline; gap: 10px; padding: 12px 4px; border-top: 1px solid var(--dark-700); }
.doctrine-item:first-child { border-top: none; }
.doctrine-item-num { font-family: var(--font-mono); font-size: 10px; color: var(--crimson); }
.doctrine-item-text { font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 1.2px; color: var(--dark-200); }
@media (min-width: 768px) {
  .doctrine-inner { grid-template-columns: repeat(5, 1fr); padding: 20px 24px; }
  .doctrine-item { padding: 6px 14px; border-top: none; border-left: 1px solid var(--dark-700); min-width: 0; }
  .doctrine-item:first-child { border-left: none; }
  .doctrine-item-text { font-size: clamp(8px, 0.95vw, 10px); letter-spacing: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  [dir="rtl"] .doctrine-item { border-left: none; border-right: 1px solid var(--dark-700); }
  [dir="rtl"] .doctrine-item:first-child { border-right: none; }
}

/* Attack paths */
.path-grid { margin-top: 32px; }
@media (min-width: 768px) { .path-grid { margin-top: 56px; } }
.path-chain { display: grid; grid-template-columns: 1fr; }
@media (min-width: 900px) { .path-chain { grid-template-columns: repeat(5, 1fr); } }
.path-chain-step { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 96px; border: 1px solid var(--dark-600); background: var(--dark-800); padding: 18px 16px 20px; }
.path-chain-step:first-child, .path-chain-step:last-child { border-color: rgba(219, 52, 52, .6); }
.path-step-num { font-family: var(--font-mono); font-size: 10px; letter-spacing: 1.5px; color: var(--dark-400); }
.path-chain-step:first-child .path-step-num, .path-chain-step:last-child .path-step-num { color: var(--crimson); }
.path-step-label { margin-top: 18px; font-family: var(--font-mono); font-size: 12px; text-transform: uppercase; letter-spacing: 1.2px; line-height: 1.6; color: var(--ivory); }
.path-step-arrow { display: none; }
@media (min-width: 900px) {
  .path-step-arrow { position: absolute; top: 50%; right: -15px; z-index: 1; display: block; transform: translateY(-50%); color: var(--crimson); background: var(--background); }
  .path-step-arrow svg { display: block; }
}
@media (max-width: 899px) {
  .path-step-arrow { position: absolute; left: 50%; bottom: -15px; z-index: 1; display: block; transform: translateX(-50%); color: var(--crimson); background: var(--background); }
  .path-step-arrow svg { display: block; transform: rotate(90deg); }
}
[dir="rtl"] .path-step-arrow svg { transform: scaleX(-1); }
@media (max-width: 899px) { [dir="rtl"] .path-step-arrow svg { transform: scaleX(-1) rotate(90deg); } }
.path-outcome { margin-top: 48px; max-width: 560px; }
.path-outcome-text { margin-top: 20px; font-family: var(--font-display); font-size: clamp(1.4rem, 3.5vw, 2.2rem); font-weight: 600; line-height: 1.25; letter-spacing: -.045em; color: var(--ivory); }

/* Evidence standard */
.evidence-grid { margin-top: 32px; display: grid; gap: 12px; }
@media (min-width: 768px) { .evidence-grid { margin-top: 56px; grid-template-columns: repeat(3, 1fr); } }
.evidence-card { border: 1px solid #2b2c2e; background: #101113; padding: 24px; transition: border-color .2s ease; }
@media (min-width: 768px) { .evidence-card { padding: 32px; } }
.evidence-card:hover { border-color: rgba(219, 52, 52, .55); }
.evidence-num { font-family: var(--font-mono); font-size: 10px; color: var(--crimson); }
.evidence-title { margin-top: 16px; font-family: var(--font-display); font-size: 22px; font-weight: 600; letter-spacing: -.04em; color: #eee9e0; }
.evidence-copy { margin-top: 16px; font-size: 13px; line-height: 1.6rem; color: var(--dark-300); }

/* Human + machine */
.machine-grid { margin-top: 32px; display: grid; gap: 12px; }
@media (min-width: 768px) { .machine-grid { margin-top: 56px; grid-template-columns: repeat(2, 1fr); gap: 40px; } }
.machine-col { border: 1px solid #2b2c2e; background: #101113; padding: 24px; transition: border-color .2s ease; }
@media (min-width: 768px) { .machine-col { padding: 32px; } }
.machine-col:hover { border-color: rgba(219, 52, 52, .55); }
.machine-col-title { display: flex; align-items: center; gap: 12px; font-family: var(--font-display); font-size: 20px; font-weight: 600; letter-spacing: -.04em; color: var(--ivory); }
.machine-col-title svg { color: var(--crimson); }
.machine-list { margin-top: 24px; list-style: none; padding: 0; }
.machine-item { position: relative; padding: 14px 0 14px 22px; border-bottom: 1px solid var(--dark-700); font-size: 13px; color: var(--dark-200); }
.machine-item::before { content: ''; position: absolute; left: 0; top: 21px; width: 6px; height: 6px; background: var(--crimson); }
.machine-item:last-child { border-bottom: none; }
.machine-signature { margin-top: 40px; }
.machine-signature p { margin-top: 20px; font-family: var(--font-display); font-size: clamp(1.3rem, 3.5vw, 2rem); font-weight: 600; letter-spacing: -.04em; color: #eee9e0; }

/* What we test */
.test-grid { margin-top: 32px; display: grid; gap: 24px 12px; }
@media (min-width: 640px) { .test-grid { margin-top: 56px; grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .test-grid { grid-template-columns: repeat(4, 1fr); } }
.test-item { padding-top: 16px; border-top: 1px solid var(--dark-600); }
.test-item-num { font-family: var(--font-mono); font-size: 10px; color: var(--dark-500); }
.test-item-title { margin-top: 14px; font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--ivory); }
.test-item-items { margin-top: 12px; font-size: 12px; line-height: 1.55rem; color: var(--dark-300); }

/* Engagement lifecycle */
.lifecycle-grid { margin-top: 32px; display: grid; gap: 0; }
@media (min-width: 640px) { .lifecycle-grid { margin-top: 56px; grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .lifecycle-grid { grid-template-columns: repeat(4, 1fr); } }
.lifecycle-step { border-left: 1px solid var(--dark-600); padding: 16px 20px; }
@media (min-width: 1024px) { .lifecycle-step { border-top: 1px solid var(--dark-600); border-left: none; } }
.lifecycle-step-num { font-family: var(--font-mono); font-size: 10px; color: var(--crimson); }
.lifecycle-step-title { margin-top: 12px; font-family: var(--font-display); font-size: 15px; font-weight: 600; letter-spacing: -.02em; color: var(--ivory); }

/* What we deliver */
.deliver-grid { margin-top: 32px; display: grid; gap: 0 48px; }
@media (min-width: 640px) { .deliver-grid { margin-top: 56px; grid-template-columns: repeat(2, 1fr); } }
.deliver-item { border-top: 1px solid var(--dark-600); padding: 24px 0; }
.deliver-item svg { color: var(--crimson); }
.deliver-item-title { margin-top: 16px; font-family: var(--font-display); font-size: 18px; font-weight: 600; letter-spacing: -.03em; color: #eee9e0; }
.deliver-item-copy { margin-top: 10px; max-width: 420px; font-size: 13px; line-height: 1.6rem; color: var(--dark-300); }

/* ==== Resources page ==== */
.resources-cat-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.resources-cat-header .red-rule { margin-bottom: 16px; }
.resources-cat-eyebrow { font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: 2px; color: var(--crimson); }
.resources-cat-count { font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--dark-500); }
.resources-grid { margin-top: 28px; display: grid; gap: 12px; }
@media (min-width: 768px) { .resources-grid { margin-top: 40px; grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .resources-grid { grid-template-columns: repeat(3, 1fr); } }
.resource-card { display: flex; flex-direction: column; border: 1px solid #2b2c2e; background: #101113; padding: 24px; }
.resource-card:hover { border-color: rgba(219,52,52,.65); background-color: rgba(219,52,52,.045); }
.resource-card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.resource-card-icon { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid var(--dark-600); color: var(--crimson); }
.resource-card-icon svg { display: block; }
.resource-card-cat { font-family: var(--font-mono); font-size: 8px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--dark-400); }
.resource-card-title { margin-top: 24px; font-family: var(--font-display); font-size: 18px; font-weight: 600; letter-spacing: -.03em; color: #ede8df; }
.resource-card-desc { margin-top: 12px; font-size: 12.5px; line-height: 1.55rem; color: var(--dark-300); }
.resource-card-buttons { margin-top: auto; display: flex; flex-wrap: wrap; gap: 8px; padding-top: 24px; }
.resource-card-btn { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--dark-600); padding: 8px 12px; font-size: 9px; font-weight: bold; text-transform: uppercase; letter-spacing: 1.2px; color: var(--ivory); text-decoration: none; transition: border-color .2s ease, color .2s ease; }
.resource-card-btn:hover { border-color: var(--crimson); color: var(--crimson); }
.resource-card-btn svg { display: block; }

/* ---------- Selected Security Engagements ---------- */
.conf-flag { display: inline-flex; align-items: center; gap: 10px; border: 1px dashed var(--dark-600); background: rgba(16, 17, 19, .8); padding: 10px 16px; font-family: var(--font-mono); font-size: 9.5px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--dark-200); }
.conf-flag svg { color: var(--crimson); flex-shrink: 0; }

.eng-grid { margin-top: 32px; display: grid; gap: 12px; }
@media (min-width: 768px) { .eng-grid { margin-top: 56px; grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .eng-grid { grid-template-columns: repeat(3, 1fr); } }

.eng-client { font-family: var(--font-mono); font-size: 9.5px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--dark-300); line-height: 1.6; }
.eng-num { font-family: var(--font-mono); font-size: 11px; color: var(--crimson); flex-shrink: 0; }
.eng-cat { margin-top: 12px; display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--crimson); }
.eng-cat svg { display: block; }
.eng-summary { margin-top: 12px; font-size: 13px; line-height: 1.55rem; color: var(--dark-300); }
.eng-read { margin-top: auto; padding-top: 20px; display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--dark-400); transition: color .2s ease; }
.eng-card:hover .eng-read { color: var(--crimson); }

/* Severity chips */
.sev-chips { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 8px; }
.sev { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--dark-600); padding: 5px 10px; font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.2px; color: var(--dark-200); }
.sev b { font-weight: 500; color: var(--ivory); }
.sev--critical { border-color: rgba(217, 54, 54, .65); background: rgba(217, 54, 54, .1); }
.sev--critical b, .sev--high b { color: var(--crimson-light); }

/* Key area chips */
.keyarea-row { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 6px; }
.keyarea-chip { border: 1px solid var(--border); padding: 4px 10px; font-size: 10px; letter-spacing: .3px; color: var(--dark-400); white-space: nowrap; }

/* Case study detail — meta facts */
.cs-meta-panel { margin-top: 32px; display: grid; border: 1px solid #2b2c2e; background: #101113; }
@media (min-width: 768px) { .cs-meta-panel { grid-template-columns: repeat(2, 1fr); } }
.cs-meta-item { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; border-bottom: 1px solid #232426; }
.cs-meta-item:nth-last-child(-n+2) { border-bottom: none; }
.cs-meta-k { font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--crimson); }
.cs-meta-v { font-size: 13px; line-height: 1.55rem; color: var(--dark-100); }

/* Before / after risk flow */
.risk-flow { margin-top: 24px; display: flex; flex-direction: column; align-items: center; gap: 12px; border: 1px solid #2b2c2e; background: #101113; padding: 28px 20px; position: relative; }
@media (min-width: 768px) { .risk-flow { flex-direction: row; justify-content: center; gap: 40px; } }
.risk-score { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.risk-score-val { font-family: var(--font-display); font-size: 52px; font-weight: bold; letter-spacing: -.04em; line-height: 1; }
.risk-score-val small { font-size: 15px; color: var(--dark-400); font-weight: 400; }
.risk-score--before .risk-score-val { color: var(--crimson); }
.risk-score--after .risk-score-val { color: #ede8df; }
.risk-score-lbl { font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--dark-400); }
.risk-arrow { display: flex; flex-direction: column; align-items: center; color: var(--crimson); line-height: 1.2; }
.risk-arrow span { font-size: 22px; }
.risk-arrow small { font-family: var(--font-mono); font-size: 8.5px; text-transform: uppercase; letter-spacing: 1.2px; color: var(--dark-400); }
.risk-caption { position: absolute; top: 10px; left: 14px; font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--dark-400); }

/* Attack path chain */
.chain-row { margin-top: 24px; display: grid; gap: 8px; }
@media (min-width: 768px) { .chain-row { grid-template-columns: repeat(5, 1fr); } }
.chain-step { position: relative; display: flex; flex-direction: column; gap: 8px; border: 1px solid #2b2c2e; border-left: 2px solid var(--crimson); background: #101113; padding: 16px; font-family: var(--font-display); font-size: 11.5px; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; color: var(--ivory); line-height: 1.5; padding-right: 28px; }
.chain-num { font-family: var(--font-mono); font-size: 9px; color: var(--crimson); }
.chain-arrow { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); color: var(--crimson); }
@media (max-width: 767px) { .chain-step { flex-direction: row; align-items: baseline; } .chain-arrow { position: static; transform: none; margin-left: auto; } }

/* IR phases */
.ir-phase { display: flex; gap: 16px; margin-top: 20px; border: 1px solid #2b2c2e; background: #101113; padding: 20px; }
.ir-phase-num { font-family: var(--font-mono); font-size: 10px; color: var(--crimson); padding-top: 3px; }
.ir-phase-title { font-family: var(--font-display); font-size: 16px; font-weight: 600; letter-spacing: -.02em; color: #ede8df; }
.ir-phase-copy { margin-top: 8px; font-size: 13px; line-height: 1.6rem; color: var(--dark-300); }

/* Detail narrative */
.cs-section-title { margin-top: 48px; }
.cs-para { margin-top: 16px; font-size: 14px; line-height: 1.75rem; color: var(--dark-100); max-width: 850px; }
.cs-list { max-width: 850px; }
.cs-list .machine-item { border-bottom-color: #232426; }

/* Prev / next nav */
.cs-nav { margin-top: 56px; display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; }

/* ---------- VAPT plans / manual x AI charts / startup offer ---------- */
.plan-grid { margin-top: 32px; display: grid; gap: 12px; }
@media (min-width: 768px) { .plan-grid { margin-top: 56px; grid-template-columns: repeat(3, 1fr); } }
.plan-card { display: flex; flex-direction: column; border: 1px solid #2b2c2e; background: #101113; padding: 24px 20px; }
.plan-card:hover { border-color: rgba(219, 52, 52, .55); }
.plan-card--featured { border-color: rgba(219, 52, 52, .6); background: linear-gradient(180deg, rgba(217, 54, 54, .07), rgba(16, 17, 19, 1) 55%); }
.plan-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.plan-name { font-family: var(--font-display); font-size: 20px; font-weight: 600; letter-spacing: -.03em; color: #ede8df; }
.plan-tag { font-family: var(--font-mono); font-size: 8.5px; text-transform: uppercase; letter-spacing: 1.4px; color: var(--dark-400); white-space: nowrap; }
.plan-flag { font-family: var(--font-mono); font-size: 8.5px; text-transform: uppercase; letter-spacing: 1.4px; color: #171416; background: var(--crimson); padding: 4px 8px; white-space: nowrap; }
.plan-duration { margin-top: 14px; display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-mono); font-size: 10px; letter-spacing: .5px; color: var(--crimson); }
.plan-bestfor { margin-top: 12px; font-size: 12.5px; line-height: 1.55rem; color: var(--dark-300); }
.plan-features { margin-top: 18px; list-style: none; padding: 0; border-top: 1px solid #232426; flex-grow: 1; }
.plan-features li { display: flex; gap: 10px; align-items: baseline; padding: 9px 0; border-bottom: 1px solid #232426; font-size: 12.5px; line-height: 1.5rem; color: var(--dark-100); }
.plan-features li svg { color: var(--crimson); flex-shrink: 0; transform: translateY(2px); }
.plan-cta { margin-top: 20px; width: 100%; }

/* Manual x AI charts */
.mix-grid { margin-top: 32px; display: grid; gap: 12px; }
@media (min-width: 768px) { .mix-grid { margin-top: 48px; grid-template-columns: repeat(2, 1fr); } }
.mix-card { border: 1px solid #2b2c2e; background: #101113; padding: 28px 24px; }
.mix-title { font-family: var(--font-mono); font-size: 9.5px; text-transform: uppercase; letter-spacing: 1.6px; color: var(--dark-400); text-align: center; }
.ring-wrap { position: relative; width: min(230px, 78%); margin: 26px auto 0; }
.ring-svg { display: block; width: 100%; height: auto; }
.ring-center { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; pointer-events: none; }
.ring-num { font-family: var(--font-display); font-size: 34px; font-weight: bold; letter-spacing: -.04em; color: #f5f1e8; line-height: 1; }
.ring-lbl { font-family: var(--font-mono); font-size: 8.5px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--dark-300); }
.pie-wrap { width: min(200px, 70%); margin: 30px auto 0; aspect-ratio: 1/1; }
.pie { width: 100%; height: 100%; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(245, 241, 232, .08); }
.mix-legend { list-style: none; margin: 22px 0 0; padding: 0; }
.mix-legend li { display: flex; align-items: center; gap: 10px; padding: 8px 0; font-size: 12px; color: var(--dark-100); border-bottom: 1px solid #232426; }
.mix-legend li:last-child { border-bottom: none; }
.mix-legend li b { margin-left: auto; font-family: var(--font-mono); font-weight: 500; font-size: 11px; color: var(--ivory); }
.mix-legend--phases { border-top: 1px solid #232426; margin-top: 24px; padding-top: 6px; }

/* Startup free-VAPT band */
.startup-band { margin: 0 auto; max-width: var(--max-width); display: grid; gap: 28px; border: 1px solid rgba(219, 52, 52, .45); background: linear-gradient(120deg, rgba(217, 54, 54, .09), rgba(16, 17, 19, .6) 60%); padding: 32px 20px; }
@media (min-width: 768px) { .startup-band { grid-template-columns: 1.2fr 1fr; gap: 40px; padding: 44px 36px; } }
.startup-main { max-width: 560px; }
.startup-eyebrow { display: inline-flex; align-items: center; gap: 9px; font-family: var(--font-mono); font-size: 9.5px; text-transform: uppercase; letter-spacing: 1.6px; color: var(--crimson); }
.startup-title { margin-top: 16px; font-family: var(--font-display); font-size: 27px; font-weight: bold; letter-spacing: -.05em; color: var(--ivory); line-height: 1.15; }
.startup-copy { margin-top: 14px; font-size: 13.5px; line-height: 1.65rem; color: var(--dark-100); }
.startup-side-label { font-family: var(--font-mono); font-size: 9.5px; text-transform: uppercase; letter-spacing: 1.6px; color: var(--dark-400); margin-bottom: 6px; }
.startup-check { display: flex; gap: 10px; align-items: baseline; padding: 8px 0; font-size: 13px; line-height: 1.5rem; color: var(--dark-100); border-bottom: 1px solid rgba(217, 54, 54, .18); }
.startup-check svg { color: var(--crimson); flex-shrink: 0; transform: translateY(2px); }
.startup-note { margin-top: 16px; font-family: var(--font-mono); font-size: 10.5px; line-height: 1.7rem; color: var(--dark-300); }

/* ---------- Per-service visualisations ---------- */
.viz-panel { margin-top: 32px; border: 1px solid #2b2c2e; background: #101113; padding: 28px 24px; }
@media (min-width: 768px) { .viz-panel { padding: 40px 36px; } }
.viz-caption { margin-top: 26px; display: flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.4px; color: var(--dark-500); border-top: 1px solid #232426; padding-top: 16px; }
.viz-note { margin-top: 18px; text-align: center; font-size: 11.5px; color: var(--dark-300); }
.viz-note b { color: var(--ivory); font-family: var(--font-mono); font-weight: 500; }

/* Funnel */
.fn { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 14px; }
.fn-row { display: grid; grid-template-columns: minmax(150px, 230px) 1fr 52px; align-items: center; gap: 14px; }
.fn-label { font-size: 12px; color: var(--dark-100); line-height: 1.4; }
.fn-track { height: 34px; background: #18191b; position: relative; }
.fn-bar { height: 100%; background: linear-gradient(90deg, #ba2929, #d93636); }
.fn-row:nth-child(2) .fn-bar { background: linear-gradient(90deg, #5e5e60, #777776); }
.fn-pct { font-family: var(--font-mono); font-size: 12px; color: var(--ivory); text-align: right; }

/* Radar */
.radar-svg { display: block; width: min(420px, 92%); margin: 0 auto; }
.radar-svg--compact { width: 100%; }
.radar-lbl { fill: var(--dark-300); font-family: var(--font-mono); font-size: 9px; letter-spacing: .5px; }

/* Timeline */
.tl { position: relative; height: 190px; max-width: 780px; margin: 30px auto 0; }
.tl-line { position: absolute; left: 0; right: 0; top: 50%; height: 2px; background: #232426; }
.tl-progress { position: absolute; left: 0; top: 0; bottom: 0; width: 72%; background: linear-gradient(90deg, #d93636, #eb6a6a); box-shadow: 0 0 14px rgba(217,54,54,.55); }
.tl-event { position: absolute; width: 15%; transform: translateX(-50%); display: flex; flex-direction: column; gap: 6px; }
.tl-event::after { content: ''; position: absolute; left: 50%; width: 9px; height: 9px; border-radius: 50%; background: var(--crimson); box-shadow: 0 0 0 3px rgba(217,54,54,.22); }
.tl-top { left: 8%; top: calc(50% - 74px); } .tl-top::after { bottom: -22px; }
.tl-bottom { left: 24%; top: calc(50% + 26px); } .tl-bottom::after { top: -20px; }
.tl-event:nth-child(3) { left: 40%; } .tl-event:nth-child(4) { left: 56%; } .tl-event:nth-child(5) { left: 72%; } .tl-event:nth-child(6) { left: 88%; }
.tl-when { font-family: var(--font-mono); font-size: 10px; color: var(--crimson); }
.tl-what { font-size: 11px; line-height: 1.35; color: var(--dark-200); }

/* Coverage stacks */
.cov { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }
.cov-row { display: grid; grid-template-columns: minmax(140px, 210px) 1fr 46px; align-items: center; gap: 12px; }
.cov-label { font-size: 12px; color: var(--dark-100); }
.cov-track { display: flex; height: 16px; background: #18191b; overflow: hidden; }
.cov-seg--0 { background: #d93636; } .cov-seg--1 { background: #aaa7a2; } .cov-seg--2 { background: #292a2c; }
.cov-val { font-family: var(--font-mono); font-size: 11.5px; color: var(--ivory); text-align: right; }

/* Risk matrix */
.mx { display: grid; grid-template-columns: auto repeat(3, 1fr); gap: 6px; max-width: 520px; margin: 0 auto; }
.mx-corner { }
.mx-colhead, .mx-rowhead { font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.2px; color: var(--dark-400); display: flex; align-items: center; justify-content: center; text-align: center; }
.mx-colhead { padding: 4px 2px; }
.mx-cell { aspect-ratio: 1.35/1; display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 19px; font-weight: bold; color: var(--ivory); }

/* Horizontal bars */
.hbars { max-width: 720px; margin: 0 auto; display: flex; flex-direction: column; gap: 13px; }
.hbar-row { display: grid; grid-template-columns: minmax(160px, 240px) 1fr 48px; align-items: center; gap: 14px; }
.hbar-label { font-size: 12px; color: var(--dark-100); line-height: 1.4; }
.hbar-track { height: 12px; background: #18191b; }
.hbar-fill { height: 100%; background: #777776; }
.hbar-fill--top { background: linear-gradient(90deg, #ba2929, #d93636); }
.hbar-val { font-family: var(--font-mono); font-size: 11.5px; color: var(--ivory); text-align: right; }

/* Concentric rings */
.rings-wrap { display: grid; place-items: center; gap: 10px; }
@media (min-width: 768px) { .rings-wrap { grid-template-columns: auto 1fr; gap: 32px; } }
.rings-svg { width: min(250px, 80%); }
.rings-legend li b { font-family: var(--font-mono); }

/* Split bar */
.split-track { display: flex; height: 58px; max-width: 720px; margin: 0 auto; overflow: hidden; }
.split-seg { display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: bold; font-size: 17px; letter-spacing: -.02em; }
.split-seg--human { background: linear-gradient(90deg, #ba2929, #d93636); color: #f5f1e8; }
.split-seg--ai { background: #232426; color: var(--dark-200); }
.split-notes { max-width: 720px; margin: 22px auto 0; display: grid; gap: 12px; }
@media (min-width: 640px) { .split-notes { grid-template-columns: 1fr 1fr; } }
.split-note { display: flex; gap: 10px; align-items: flex-start; }
.split-note b { display: block; font-family: var(--font-display); font-size: 14px; color: #ede8df; letter-spacing: -.02em; }
.split-note p { margin-top: 3px; font-size: 12px; line-height: 1.45rem; color: var(--dark-300); }
.split-note .pie-swatch { margin-top: 5px; }

/* Homepage lens cards */
.lens-grid { margin-top: 32px; display: grid; gap: 12px; }
@media (min-width: 1024px) { .lens-grid { grid-template-columns: repeat(3, 1fr); } }
.lens-card { display: flex; flex-direction: column; gap: 8px; border: 1px solid #2b2c2e; background: #101113; padding: 22px 20px; text-decoration: none; transition: border-color .2s ease, background-color .2s ease; }
.lens-card:hover { border-color: rgba(219,52,52,.65); background-color: rgba(217,54,54,.05); }
.lens-title { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 9.5px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--crimson); }
.lens-viz { pointer-events: none; }
.lens-card .fn { gap: 8px; } .lens-card .fn-row { grid-template-columns: 1fr 44px; }
.lens-card .fn-track, .lens-card .cov-track { display: none; }
.lens-card .fn-label { font-size: 10.5px; }
.lens-card .tl { transform: scale(.82); transform-origin: left center; height: 150px; margin: 0; width: 118%; }
.lens-sub { margin-top: auto; padding-top: 14px; font-family: var(--font-display); font-size: 15px; font-weight: 600; letter-spacing: -.02em; color: #ede8df; }

/* Speedometer gauges (homepage lens cards) */
.speedo-wrap { display: flex; flex-direction: column; align-items: center; }
.speedo-svg { width: min(230px, 82%); height: auto; overflow: visible; }
.speedo-track { fill: none; stroke: #232426; stroke-width: 9; stroke-linecap: round; }
.speedo-redline { fill: none; stroke: #d93636; stroke-width: 4; opacity: .85; stroke-linecap: round; }
.speedo-progress { fill: none; stroke: #d93636; stroke-width: 9; stroke-linecap: round; stroke-dasharray: 0 100; transition: stroke-dasharray 1.4s cubic-bezier(.22,.61,.36,1) .25s; }
.is-visible .speedo-progress { stroke-dasharray: var(--pct, 0) 100; }
.speedo-tick { stroke: #3a3b3e; stroke-width: 1; }
.speedo-tick--major { stroke: #85868a; stroke-width: 2; }
.speedo-num { font-family: var(--font-mono); font-size: 7.5px; fill: #777776; text-anchor: middle; }
.speedo-needle { transform-box: view-box; transform-origin: 100px 92px; transform: rotate(-225deg); transition: transform 1.4s cubic-bezier(.22,.61,.36,1) .25s; filter: drop-shadow(0 2px 4px rgba(0,0,0,.55)); }
.is-visible .speedo-needle { transform: rotate(var(--rot, -225deg)); }
.speedo-needle line { stroke: #d93636; stroke-width: 3.4; stroke-linecap: round; }
.speedo-needle circle { fill: #d93636; }
.speedo-hub { fill: #17181a; stroke: #d93636; stroke-width: 2.4; }
.speedo-lcd { fill: #131416; stroke: #2b2c2e; stroke-width: 1.4; }
.speedo-readout { font-family: var(--font-display); font-weight: bold; font-size: 17px; letter-spacing: .04em; fill: #f5f1e8; text-anchor: middle; }
.speedo-lbl { margin-top: 10px; font-family: var(--font-mono); font-size: 8.5px; text-transform: uppercase; letter-spacing: 1.8px; color: var(--dark-300); }
.lens-viz .viz-note { margin-top: 16px; text-align: center; }
@media (prefers-reduced-motion: reduce) {
  .speedo-progress, .speedo-needle { transition: none; }
}

/* Case study findings */
.found-row { display: grid; grid-template-columns: minmax(110px, 150px) 1fr; gap: 16px; align-items: start; padding: 16px 0; border-bottom: 1px solid #232426; }
.found-row:last-of-type { border-bottom: none; }
.found-sev { font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 1.3px; color: var(--crimson); border: 1px solid rgba(217,54,54,.45); padding: 5px 10px; text-align: center; white-space: nowrap; }
.found-text { font-size: 13.5px; line-height: 1.65rem; color: var(--dark-100); }
.found-text code { font-family: var(--font-mono); font-size: 12px; background: #18191b; border: 1px solid #232426; padding: 2px 6px; }

/* ---------- Engagements: open list rows + stats ---------- */
.eng-stats { margin-top: 32px; display: grid; grid-template-columns: repeat(3, minmax(0, 240px)); gap: 12px; }
@media (max-width: 767px) { .eng-stats { grid-template-columns: 1fr; } }
.eng-stat { border: 1px solid #232426; background: #101113; padding: 18px 22px; display: flex; flex-direction: column; gap: 4px; }
.eng-stat-num { font-family: var(--font-display); font-size: 30px; font-weight: bold; letter-spacing: -.03em; color: var(--ivory); line-height: 1.1; }
.eng-stat-lbl { font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.4px; color: var(--dark-400); }

.eng-list { margin-top: 28px; display: flex; flex-direction: column; gap: 14px; }
.eng-row { display: grid; grid-template-columns: 84px minmax(0, 1fr) 210px; gap: 28px; align-items: stretch; border: 1px solid #2b2c2e; background: #101113; padding: 26px 30px; text-decoration: none; transition: border-color .2s ease, background-color .2s ease; }
.eng-row:hover { border-color: rgba(219, 52, 52, .55); background-color: rgba(217, 54, 54, .045); }
.eng-row-num { font-family: var(--font-display); font-size: 38px; font-weight: bold; letter-spacing: -.05em; color: var(--dark-600); line-height: 1; padding-top: 4px; transition: color .2s ease; }
.eng-row:hover .eng-row-num { color: var(--crimson); }
.eng-row-main { display: flex; flex-direction: column; gap: 9px; min-width: 0; }
.eng-row-main h3 { font-family: var(--font-display); font-size: 21px; font-weight: 600; letter-spacing: -.03em; color: #ede8df; line-height: 1.25; }
.eng-cat { display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--crimson); }
.eng-summary { font-size: 13px; line-height: 1.6rem; color: var(--dark-300); max-width: 680px; }
.eng-row-chips { margin-top: 2px; }

.eng-row-side { display: flex; flex-direction: column; justify-content: center; gap: 7px; padding-left: 26px; border-left: 1px solid #232426; }
.sev-line { display: inline-flex; align-items: baseline; justify-content: space-between; min-width: 130px; font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 1.2px; color: var(--dark-400); }
.sev-line b { font-family: var(--font-display); font-size: 17px; font-weight: bold; letter-spacing: -.02em; color: var(--ivory); }
.sev-line--na { justify-content: flex-start; text-transform: none; letter-spacing: .3px; font-size: 11px; }
.eng-verified { margin-top: 8px; display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 8.5px; text-transform: uppercase; letter-spacing: 1.3px; color: var(--dark-400); }
.eng-verified svg { color: var(--crimson); flex-shrink: 0; }
.eng-read { margin-top: 6px; display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--crimson); opacity: 0; transform: translateX(-4px); transition: opacity .2s ease, transform .2s ease; }
.eng-row:hover .eng-read { opacity: 1; transform: translateX(0); }

@media (max-width: 900px) {
  .eng-row { grid-template-columns: 56px 1fr; gap: 16px; padding: 20px 18px; }
  .eng-row-num { font-size: 24px; }
  .eng-row-side { grid-column: 2; border-left: none; padding-left: 0; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 14px; }
  .sev-line { min-width: auto; gap: 6px; }
  .eng-read { display: none; }
}

/* ---------- Reporting discipline charter panel ---------- */
.disc-panel { margin-top: 32px; display: grid; grid-template-columns: 1fr; border: 1px solid #2b2c2e; background: #101113; }
.disc-cell { padding: 26px 24px 30px; border-bottom: 1px solid #232426; }
.disc-cell:last-child { border-bottom: none; }
.disc-num { font-family: var(--font-mono); font-size: 10px; letter-spacing: 1.5px; color: var(--crimson); }
.disc-title { margin-top: 14px; font-family: var(--font-display); font-size: 15px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #ede8df; }
.disc-copy { margin-top: 10px; font-size: 12.5px; line-height: 1.6rem; color: var(--dark-300); }
.disc-foot { margin-top: 18px; display: flex; align-items: center; gap: 9px; font-family: var(--font-mono); font-size: 9.5px; text-transform: uppercase; letter-spacing: 1.4px; color: var(--dark-400); }
.disc-foot svg { color: var(--crimson); }

@media (min-width: 600px) {
  .disc-panel { grid-template-columns: 1fr 1fr; }
  .disc-cell:nth-child(odd) { border-right: 1px solid #232426; }
  .disc-cell:nth-child(n+3) { border-bottom: none; }
}
@media (min-width: 1000px) {
  .disc-panel { grid-template-columns: repeat(4, 1fr); }
  .disc-cell { border-bottom: none; padding: 32px 26px 36px; }
  .disc-cell:nth-child(n+3) { border-bottom: none; }
  .disc-cell:not(:nth-child(4n)) { border-right: 1px solid #232426; }
}

/* ---------- Engagements CTA: split with next-steps card ---------- */
.cta-inner--split { flex-direction: column; }
@media (min-width: 900px) {
  .cta-inner--split { flex-direction: row; align-items: center; gap: 48px; padding: 64px 32px; }
}
.cta-conf { margin-top: 16px; display: flex; align-items: center; gap: 9px; font-family: var(--font-mono); font-size: 10px; letter-spacing: .4px; color: var(--dark-300); }
.cta-conf svg { color: var(--crimson); flex-shrink: 0; }

.cta-next { width: 100%; max-width: 440px; border: 1px solid #2b2c2e; background: #101113; padding: 26px 26px 24px; }
@media (max-width: 899px) { .cta-next { margin-top: 8px; } }
.cta-next-label { font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1.6px; color: var(--crimson); margin-bottom: 6px; }
.cta-step { display: flex; gap: 16px; align-items: baseline; padding: 13px 0; border-bottom: 1px solid #232426; }
.cta-step:last-of-type { border-bottom: none; }
.cta-step-num { font-family: var(--font-mono); font-size: 10px; color: var(--crimson); }
.cta-step b { display: block; font-family: var(--font-display); font-size: 14.5px; font-weight: 600; letter-spacing: -.02em; color: #ede8df; }
.cta-step p { margin-top: 4px; font-size: 12.5px; line-height: 1.5rem; color: var(--dark-300); }
.cta-btn { width: 100%; justify-content: center; margin-top: 18px; display: inline-flex; }

/* ---------- Practice-area pillars ---------- */
.pillar-section--compact { padding-top: 8px; }
.pillar-grid { margin-top: 32px; display: grid; gap: 12px; }
@media (min-width: 768px) { .pillar-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .pillar-grid { grid-template-columns: repeat(3, 1fr); } }

.pillar-card { display: flex; flex-direction: column; border: 1px solid #2b2c2e; background: #101113; padding: 24px 22px; transition: border-color .2s ease, background-color .2s ease; }
.pillar-card:hover { border-color: rgba(219, 52, 52, .55); background-color: rgba(217, 54, 54, .04); }
.pillar-top { display: flex; align-items: center; justify-content: space-between; }
.pillar-icon { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--dark-600); background: var(--dark-900); color: var(--crimson); }
.pillar-num { font-family: var(--font-mono); font-size: 11px; color: var(--dark-500); }
.pillar-name { margin-top: 20px; font-family: var(--font-display); font-size: 19px; font-weight: 600; letter-spacing: -.03em; color: #ede8df; }
.pillar-tagline { margin-top: 8px; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .3px; color: var(--crimson-light); }
.pillar-copy { margin-top: 10px; font-size: 12.5px; line-height: 1.6rem; color: var(--dark-300); flex-grow: 1; }

.pillar-services { margin-top: 18px; padding-top: 16px; border-top: 1px solid #232426; display: flex; flex-wrap: wrap; gap: 6px; }
.pillar-svc { font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 1px; color: var(--dark-200); border: 1px solid var(--dark-600); padding: 5px 9px; text-decoration: none; transition: border-color .2s ease, color .2s ease, background-color .2s ease; }
.pillar-svc:hover { border-color: var(--crimson); color: var(--ivory); background-color: rgba(217, 54, 54, .12); }

/* Incident Response — the 2am pillar gets its own weight */
.pillar-card--ir { border-color: rgba(219, 52, 52, .55); background: linear-gradient(160deg, rgba(217, 54, 54, .09), rgba(16, 17, 19, 1) 60%); }
.pillar-card--ir:hover { border-color: var(--crimson); }
.pillar-card--ir .pillar-icon { border-color: rgba(217, 54, 54, .5); }

/* ---------- Subtle motion (disabled when user prefers reduced motion) ---------- */
@media (prefers-reduced-motion: no-preference) {
  @keyframes sk-pulse {
    0%, 100% { transform: scale(1); opacity: 1; box-shadow: 0 0 0 0 rgba(217, 54, 54, .55); }
    50% { transform: scale(1.18); opacity: .85; box-shadow: 0 0 0 6px rgba(217, 54, 54, 0); }
  }
  @keyframes sk-glow {
    0%, 100% { text-shadow: 0 0 16px rgba(217, 54, 54, .3); }
    50% { text-shadow: 0 0 30px rgba(217, 54, 54, .72); }
  }

  .pulse-dot { animation: sk-pulse 2.4s ease-in-out infinite; }

  .btn-primary { transition: background .2s ease, transform .18s ease, box-shadow .25s ease; }
  .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(217, 54, 54, .38); }
  .btn-ghost { transition: color .2s ease, border-color .2s ease, background-color .2s ease, transform .18s ease; }
  .btn-ghost:hover { transform: translateY(-2px); }

  .service-card, .lens-card, .plan-card, .pillar-card, .eng-row, .exam-card, .resource-card {
    transition: transform .25s ease, border-color .2s ease, background-color .2s ease;
  }
  .service-card:hover, .lens-card:hover, .plan-card:hover, .pillar-card:hover,
  .eng-row:hover, .exam-card:hover, .resource-card:hover { transform: translateY(-5px); }

  .trust-item { transition: background-color .25s ease; }
  .trust-icon { transition: transform .3s ease, border-color .25s ease, background-color .25s ease; }
  .trust-item:hover .trust-icon { transform: scale(1.08); }

  .hero-title .accent { animation: sk-glow 3.6s ease-in-out infinite; }

  .hero-view-btn { transition: background .2s ease, transform .2s ease; }
  .hero-view-btn:hover { transform: scale(1.06); }

  .red-rule { transition: width .4s ease; }
  .cta-section:hover .red-rule { width: 64px; }
}

/* Training pricing — localized monthly tiers (International/Pakistan switch) */
.training-note { display: flex; align-items: flex-start; gap: 14px; background: #101113; border: 1px solid #2b2c2e; border-left: 3px solid var(--crimson); padding: 18px 20px; margin-bottom: 34px; }
.training-note svg { color: var(--crimson); flex: none; margin-top: 2px; }
.training-note div { font-family: var(--font-mono); font-size: 12.5px; line-height: 1.7rem; color: #979694; }
.training-note b { color: #ede8df; }

.pricing-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; align-items: stretch; }
@media (max-width: 560px) { .pricing-grid { grid-template-columns: 1fr; } }

/* Pricing cards reuse the site's native plan-card anatomy (weekly plan cards / VAPT plans) */
.plan-price { margin-top: 20px; display: flex; align-items: baseline; flex-wrap: wrap; column-gap: 10px; }
.plan-price-amount { font-family: var(--font-display); font-size: 38px; font-weight: bold; letter-spacing: -.04em; color: var(--ivory); line-height: 1; }
.plan-price-when { font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 1.4px; color: var(--dark-300); }
.plan-subrow { display: flex; align-items: baseline; gap: 8px; margin-top: 9px; font-family: var(--font-mono); font-size: 10px; letter-spacing: .4px; line-height: 1.6rem; color: #b9b3aa; }
.plan-subrow svg { color: var(--crimson); flex: none; transform: translateY(2px); }
.plan-positioning { flex-grow: 1; margin: 18px 0 0; padding: 16px 0 0; border-top: 1px solid #232426; font-size: 12.5px; line-height: 1.55rem; color: var(--dark-100); }

/* Market switch — same filter pills as the academy catalogue */
.market-switch { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 36px; }
.market-btn { font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 1.2px; color: var(--dark-300); background: #101113; border: 1px solid #2b2c2e; border-radius: 999px; padding: 9px 16px; cursor: pointer; transition: border-color .2s ease, color .2s ease; }
.market-btn:hover { color: var(--ivory); border-color: rgba(219,52,52,.5); }
.market-btn.is-active { color: var(--ivory); border-color: var(--crimson); background: rgba(219,52,52,.1); }
.market-block { animation: fadeIn .25s ease; }
.market-copy { color: #979694; font-size: 14px; line-height: 1.6rem; max-width: 630px; margin: 0 0 26px; }

/* Practice Areas (Pillars) missing CSS */
.pillar-grid { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 40px; }
@media (min-width: 640px) { .pillar-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .pillar-grid { grid-template-columns: repeat(3, 1fr); } }

.pillar-card { border: 1px solid #2b2c2e; background: #101113; padding: 28px 24px; display: flex; flex-direction: column; position: relative; }
.pillar-top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 24px; }
.pillar-icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid #232426; border-radius: 12px; color: var(--crimson); background: rgba(217, 54, 54, 0.05); }
.pillar-num { font-family: var(--font-mono); font-size: 10px; color: var(--dark-400); letter-spacing: 1px; }
.pillar-name { font-family: var(--font-display); font-size: 19px; font-weight: 600; color: #ede8df; letter-spacing: -.03em; margin-bottom: 8px; }
.pillar-tagline { font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 1.2px; color: var(--crimson); margin-bottom: 16px; }
.pillar-copy { font-size: 13px; line-height: 1.55rem; color: var(--dark-300); margin-bottom: 24px; flex-grow: 1; }
.pillar-services { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; border-top: 1px solid #1f2022; padding-top: 20px; }

/* Pillar Carousel */
.pillar-carousel-wrapper { position: relative; max-width: 720px; margin: 40px auto 0; padding: 0 40px; }
.pillar-carousel { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; gap: 24px; -ms-overflow-style: none; scrollbar-width: none; }
.pillar-carousel::-webkit-scrollbar { display: none; }
.pillar-carousel > .pillar-card { flex: 0 0 100%; scroll-snap-align: center; }
.pillar-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--dark-600); background: #101113; color: var(--ivory); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: border-color .2s ease, background .2s ease; z-index: 10; }
.pillar-nav:hover { border-color: var(--crimson); background: rgba(219,52,52,.1); }
.pillar-nav.prev { left: -10px; }
.pillar-nav.next { right: -10px; }
.pillar-dots { display: flex; justify-content: center; gap: 8px; margin-top: 24px; }
.pillar-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--dark-600); cursor: pointer; transition: background .2s ease; }
.pillar-dot.active { background: var(--crimson); }



/* Practice Areas Strip */
.pillar-marquee-wrapper {
  overflow: hidden;
  width: 100%;
  padding: 40px 0 48px;
  background: var(--dark-900);
  border-top: 1px solid var(--dark-700);
  border-bottom: 1px solid var(--dark-700);
  margin-top: 0;
  display: flex;
  position: relative;
}
.pillar-marquee-wrapper::before,
.pillar-marquee-wrapper::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 80px;
  z-index: 2;
  pointer-events: none;
}
.pillar-marquee-wrapper::before { left: 0; background: linear-gradient(to right, var(--dark-900), transparent); }
.pillar-marquee-wrapper::after  { right: 0; background: linear-gradient(to left,  var(--dark-900), transparent); }
.pillar-marquee {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
  padding: 0 40px;
  white-space: normal;
  max-width: var(--max-width);
  margin: 0 auto;
  width: 100%;
}
.pillar-strip-card {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 0 0 auto;
  background: #101113;
  border: 1px solid #2b2c2e;
  padding: 16px 24px;
  transition: border-color .2s ease, background-color .2s ease;
}
.pillar-strip-card:hover {
  border-color: rgba(219,52,52,.65);
  background-color: rgba(219,52,52,.045);
}
.pillar-strip-card .pillar-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid #232426;
  background: rgba(217,54,54,.06);
  color: var(--crimson);
  flex-shrink: 0;
}
.pillar-strip-info { display: flex; flex-direction: column; gap: 2px; }
.pillar-strip-card .pillar-name {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -.02em;
  color: #ede8df;
  margin: 0;
}
.pillar-strip-card .pillar-tagline {
  font-family: var(--font-mono);
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: var(--crimson);
  margin: 0;
}


