/* One public-site palette. Keep geometry and content in their existing templates.
   The scoped !important rules override legacy page styles and saved CMS colors. */
:root,
html body.premium-theme[data-fixed-colors="light"] {
  color-scheme: light;
  --site-paper: #ffffff !important;
  --site-background: var(--sp-paper,#f2f6f7) !important;
  --site-ink: var(--sp-ink,#102c40) !important;
  --site-muted: var(--sp-muted,#526b7b) !important;
  --site-accent: var(--sp-action,#176b65) !important;
  --site-accent-hover: var(--sp-action-hover,#125650) !important;
  --site-border: var(--sp-line,#d5e1e6) !important;
  --site-night: var(--sp-night,#0a2132) !important;
}
/* Legacy page aliases are confined to content, preserving the original menu. */
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main {
  --primary: var(--sp-action,#176b65) !important;
  --primary-hover: var(--sp-action,#176b65) !important;
  --primary-light: var(--sp-action,#176b65) !important;
  --accent: var(--sp-action,#176b65) !important;
  --primary-glow: rgba(23,107,101,.08) !important;
  --primary-glow-strong: rgba(23,107,101,.16) !important;
  --bg-dark: var(--sp-paper,#f2f6f7) !important;
  --bg-darker: var(--sp-paper,#f2f6f7) !important;
  --bg-deep: var(--sp-paper,#f2f6f7) !important;
  --bg-card: #ffffff !important;
  --bg-card-hover: var(--sp-paper,#f2f6f7) !important;
  --surface: #ffffff !important;
  --surface-light: var(--sp-paper,#f2f6f7) !important;
  --text-main: var(--sp-ink,#102c40) !important;
  --text-light: var(--sp-ink,#102c40) !important;
  --text-muted: var(--sp-muted,#526b7b) !important;
  --text-dim: var(--sp-muted,#526b7b) !important;
  --border: var(--sp-line,#d5e1e6) !important;
  --border-light: var(--sp-line,#d5e1e6) !important;
  --nav-bg: #ffffff !important;
  --nav-border: var(--sp-line,#d5e1e6) !important;
  --cms-bg: var(--sp-paper,#f2f6f7) !important;
  --cms-surface: #ffffff !important;
  --cms-text: var(--sp-ink,#102c40) !important;
  --cms-accent: var(--sp-action,#176b65) !important;
  --cms-button: #ffffff !important;
  --design-header: #ffffff !important;
  --design-footer: var(--sp-night,#0a2132) !important;
  --design-menu: #ffffff !important;
  --design-heading: var(--sp-ink,#102c40) !important;
  --design-hover: var(--sp-action,#176b65) !important;
  --design-gradient: #ffffff !important;
  --bn-night: var(--sp-night,#0a2132) !important;
  --bn-ink: var(--sp-ink,#102c40) !important;
  --bn-line: var(--sp-line,#d5e1e6) !important;
  --bn-azure: var(--sp-action,#176b65) !important;
  --v17-ink: var(--sp-ink,#102c40) !important;
  --v17-accent: var(--sp-action,#176b65) !important;
  --v17-glass: #ffffff !important;
}
html body.premium-theme[data-fixed-colors="light"] {
  background: var(--site-background) !important;
  color: var(--site-ink) !important;
}
/* Legacy pages contain both white and dark literal backgrounds. Give every
   content surface the same explicit background/text pair. */
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main {
  background: var(--site-background) !important;
  color: var(--site-ink) !important;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(
  section, article, aside, details, dialog,
  [class*="-card"], [class*="-panel"], [class*="-box"],
  [class*="-hero"], [class*="-content"], [class*="-section"],
  [class*="-item"], [class*="-body"], [class*="-header"],
  [class*="-visual"], [class*="-stat"], [class*="bg-"],
  .attack-warning, .attack-success, .checklist-progress, .kb-help,
  .bg-dark, .bg-darker, .bg-navy, .bg-white, .bg-light,
  .gradient-dark, .dark-card, .dark-panel, .light-card,
  .v17-inner, .v17-link, .uh-section, .uh-card
) {
  background-color: var(--site-paper) !important;
  background-image: none !important;
  color: var(--site-ink) !important;
  border-color: var(--site-border) !important;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(*) {
  color: var(--site-ink) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(p,small,figcaption,.text-muted,.hero-subtitle,.section-subtitle,.stat-label) {
  color: var(--site-muted) !important;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(h1,h2,h3,h4,h5,h6) {
  color: var(--site-ink) !important;
  opacity: 1 !important;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(
  .gradient-text,.text-accent,.text-primary,.badge-accent,.hero-badge,
  .premium-eyebrow,.uh-label,.v17-kicker,.breadcrumb-nav a
) {
  color: var(--site-accent) !important;
  -webkit-text-fill-color: currentColor !important;
  background-image: none !important;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(a:not([class]),.text-link,.premium-text-link,.uh-text-link) {
  color: var(--site-accent) !important;
  text-decoration: underline;
  text-underline-offset: .18em;
}
/* Controls always have opaque surfaces, including readonly fields and options. */
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),textarea,select,option) {
  background: var(--site-paper) !important;
  color: var(--site-ink) !important;
  -webkit-text-fill-color: var(--site-ink) !important;
  border-color: #8496aa !important;
  caret-color: var(--site-ink);
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(input,textarea)::placeholder {
  color: var(--site-muted) !important;
  -webkit-text-fill-color: var(--site-muted) !important;
  opacity: 1 !important;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(input[type="checkbox"],input[type="radio"],input[type="range"]) { accent-color: var(--site-accent); }
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(button,input[type="submit"],.btn,.premium-button,.uh-button,.btn-accent,.btn-primary,.btn-hero-primary,.bn-hero-btn,.ss-whatsapp-btn) {
  background: var(--site-accent) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: currentColor !important;
  border-color: var(--site-accent) !important;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(button,.btn,.premium-button,.uh-button,.bn-hero-btn,.ss-whatsapp-btn) :where(*) {
  color: inherit !important;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(button,.btn,.premium-button,.uh-button,.bn-hero-btn):hover {
  background: var(--site-accent-hover) !important;
  color: #ffffff !important;
  border-color: var(--site-accent-hover) !important;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(.btn-outline,.btn-outline-light,.btn-outline-primary,.btn-secondary,.uh-button-alt) {
  background: var(--site-paper) !important;
  color: var(--site-accent) !important;
  border-color: var(--site-accent) !important;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(table,td,th) {
  background: var(--site-paper) !important;
  color: var(--site-ink) !important;
  border-color: var(--site-border) !important;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(thead,th) { background: #f2f6f7 !important; }
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(pre,.terminal,.terminal-output,.code-block) {
  background: var(--site-night) !important;
  color: #eaf3f2 !important;
  border-color: #526b7b !important;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(pre,.terminal,.terminal-output,.code-block) :where(*) { color: #eaf3f2 !important; }
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(code:not(pre code):not(.terminal code):not(.code-block code)) {
  background: #f2f6f7 !important;
  color: #133448 !important;
}
/* Number markers and selected page links are solid accent surfaces. */
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(
  [class$="-number"],.step-num,.method-num,.timeline-year,
  .pb-categories a.current,.pb-pagination a[aria-current="page"]
) {
  background: var(--site-accent) !important;
  color: #ffffff !important;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where([class*="-badge"]) {
  background: #f2f6f7 !important;
  color: var(--site-accent) !important;
  border-color: var(--site-border) !important;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where([class*="-badge"]) :where(*) { color: inherit !important; }
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(.action-btn,.check-btn,.emergency-btn,.btn-emergency,.ss-cta,.kb-help>a) {
  background: var(--site-accent) !important;
  color: #ffffff !important;
  border-color: var(--site-accent) !important;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(.action-btn,.check-btn,.emergency-btn,.btn-emergency,.ss-cta) :where(*) { color: inherit !important; }
/* Tab selection remains visible with the fixed palette. */
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(.scenario-tab,.tab-btn,.filter-btn,.attack-btn,.kb-filters button) {
  background: #ffffff !important;
  color: var(--site-accent) !important;
  border-color: var(--site-accent) !important;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(.scenario-tab,.tab-btn,.filter-btn,.attack-btn,.kb-filters button):is(.active,[aria-selected="true"],[aria-pressed="true"]) {
  background: var(--site-accent) !important;
  color: #ffffff !important;
}
/* Status colors are fixed pairs rather than theme-dependent bright text. */
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(.alert,.risk-badge-sm,.top-risk-badge,.source-status,.matrix-cell) {
  background: #f2f6f7 !important;
  color: var(--site-ink) !important;
  border-color: var(--site-border) !important;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(.alert-success,.source-status.active,.matrix-cell.level-1) { background: #e7f3ed !important; color: #14623f !important; }
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(.alert-warning,.matrix-cell.level-2,.matrix-cell.level-3) { background: #fff3d6 !important; color: #784900 !important; }
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(.alert-danger,.matrix-cell.level-4,.matrix-cell.level-5) { background: #fce8ec !important; color: #971c32 !important; }
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(.alert,.source-status,.matrix-cell) :where(*) { color: inherit !important; }
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(.terminal-body,.terminal-line,.terminal-input-line,#console) {
  background: var(--site-night) !important;
  color: #eaf3f2 !important;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(.terminal-body,.terminal-line,.terminal-input-line,#console) :where(div,span,p,code) { color: #eaf3f2 !important; }
/* Footer and consent form have their own explicit, fixed light-on-navy pair. */
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] :where(.bn-footer,.siber-footer,.ss-cookie-panel) {
  background: var(--site-night) !important;
  color: #eaf3f2 !important;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] :where(.bn-footer,.siber-footer,.ss-cookie-panel) :where(a,h1,h2,h3,h4,h5,h6,p,span,strong,small,label,li) {
  color: #eaf3f2 !important;
  -webkit-text-fill-color: currentColor !important;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] :where(.bn-footer,.siber-footer) a:hover { color: #ffffff !important; text-decoration: underline !important; }
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] .ss-cookie-panel button {
  background: #ffffff !important;
  color: var(--site-ink) !important;
  border-color: #ffffff !important;
}

/* Compact corporate footer. Scoped independently from the header and page content. */
html body.premium-theme footer.bn-footer.ss-footer {
  background:#0a2132!important;color:#eaf3f2!important;
  margin:0!important;padding:0!important;border:0!important;
  font-family:"Segoe UI",Arial,sans-serif!important;font-size:14px;line-height:1.6;
}
html body.premium-theme .ss-footer,
html body.premium-theme .ss-footer * {box-sizing:border-box}
html body.premium-theme .ss-footer .bn-container {
  width:calc(100% - 64px)!important;max-width:1320px!important;
  margin-inline:auto!important;padding-inline:0!important;
}
html body.premium-theme .ss-footer .bn-footer-top {
  padding:48px 0 40px!important;background:transparent!important;border:0!important;
}
html body.premium-theme .ss-footer .bn-footer-grid {
  display:grid!important;grid-template-columns:minmax(230px,1.65fr) repeat(4,minmax(0,1fr))!important;
  align-items:start!important;gap:36px!important;
}
html body.premium-theme .ss-footer .bn-footer-about {grid-column:auto!important;min-width:0}
html body.premium-theme .ss-footer .bn-footer-brand {
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  width:238px!important;max-width:100%!important;height:82px!important;min-height:0!important;
  padding:9px 12px!important;border:1px solid #133448!important;border-radius:12px!important;
  background:#ffffff05!important;box-shadow:none!important;
}
html body.premium-theme .ss-footer .bn-footer-brand img {
  display:block;width:100%!important;height:auto!important;max-height:64px!important;
  max-width:100%!important;object-fit:contain!important;filter:none!important;
}
html body.premium-theme .ss-footer .bn-footer-about p {
  max-width:290px!important;margin:18px 0 20px!important;font-size:14px!important;
  line-height:1.85!important;letter-spacing:0!important;color:#85dfd0!important;
}
html body.premium-theme .ss-footer .bn-footer-flag {
  display:flex!important;align-items:center!important;gap:10px!important;
  margin:0!important;font-size:10px!important;font-weight:750!important;
  line-height:1.5!important;letter-spacing:.045em!important;
}
html body.premium-theme .ss-footer .bn-flag-svg {
  width:42px!important;height:34px!important;flex:0 0 42px!important;
  animation:none!important;filter:none!important;
}
html body.premium-theme .ss-footer .bn-footer-col {min-width:0;padding:4px 0 0!important}
html body.premium-theme .ss-footer .bn-footer-col h2 {
  margin:0 0 20px!important;font-size:12px!important;line-height:1.5!important;
  font-weight:800!important;letter-spacing:.09em!important;color:#fff!important;
}
html body.premium-theme .ss-footer .bn-footer-col nav {display:flex!important;flex-direction:column!important;gap:11px!important}
html body.premium-theme .ss-footer .bn-footer-col a {
  display:block!important;width:fit-content;max-width:100%;padding:0!important;
  font-size:14px!important;font-weight:400!important;line-height:1.65!important;
  color:#85dfd0!important;overflow-wrap:anywhere;text-decoration:none!important;
  transition:color .18s ease;
}
html body.premium-theme .ss-footer .bn-footer-col a:hover,
html body.premium-theme .ss-footer .bn-footer-bottom a:hover {color:#85dfd0!important;text-decoration:none!important}
html body.premium-theme .ss-footer .bn-footer-mid {
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  flex-wrap:wrap!important;gap:18px 28px!important;min-height:0!important;
  padding-block:24px!important;border-block:1px solid #ffffff16!important;
}
html body.premium-theme .ss-footer .bn-footer-mid>strong {
  flex:1 1 300px;font-size:14px!important;font-weight:600!important;line-height:1.7!important;
}
html body.premium-theme .ss-footer .ss-contact-actions {
  display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:12px 20px!important;min-width:0;max-width:100%;
}
html body.premium-theme .ss-footer .bn-footer-mid a {
  font-size:14px!important;line-height:1.5!important;overflow-wrap:anywhere;text-decoration:none!important;
}
html body.premium-theme .ss-footer .bn-footer-mid .ss-whatsapp-btn {
  min-height:44px!important;padding:10px 18px!important;border:1px solid #526b7b!important;
  border-radius:8px!important;background:#133448!important;color:#fff!important;
  font-size:13px!important;font-weight:700!important;white-space:nowrap;
}
html body.premium-theme .ss-footer .bn-footer-mid .ss-whatsapp-btn:hover {background:#133448!important}
html body.premium-theme .ss-footer .bn-footer-bottom {
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  flex-direction:row!important;flex-wrap:wrap!important;gap:16px 28px!important;
  min-height:0!important;padding-block:22px!important;color:#85dfd0!important;
  font-size:12px!important;line-height:1.6!important;
}
html body.premium-theme .ss-footer .bn-footer-bottom>span {font-size:12px!important;color:#85dfd0!important}
html body.premium-theme .ss-footer .bn-footer-bottom nav {
  display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:10px 20px!important;
}
html body.premium-theme .ss-footer .bn-footer-bottom a {
  font-size:12px!important;line-height:1.6!important;color:#85dfd0!important;text-decoration:none!important;
}
html body.premium-theme .ss-footer #analytics-preferences {
  position:static!important;display:inline-flex!important;align-items:center!important;
  width:auto!important;min-height:32px!important;margin:0!important;padding:5px 10px!important;
  border:1px solid #ffffff30!important;border-radius:6px!important;
  background:transparent!important;color:#85dfd0!important;
  font-family:inherit!important;font-size:12px!important;line-height:1.5!important;
}
html body.premium-theme .ss-footer #analytics-preferences:hover {background:#ffffff0a!important}
html body.premium-theme .ss-footer :is(a,button):focus-visible {outline:2px solid #85dfd0!important;outline-offset:4px!important}
@media(max-width:1100px) {
  html body.premium-theme .ss-footer .bn-footer-grid {grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:30px!important}
  html body.premium-theme .ss-footer .bn-footer-about {grid-column:1/-1!important;display:grid;grid-template-columns:240px minmax(0,1fr);column-gap:30px;align-items:center}
  html body.premium-theme .ss-footer .bn-footer-about p {margin:0!important;max-width:440px!important}
  html body.premium-theme .ss-footer .bn-footer-flag {grid-column:2;margin-top:8px!important}
  html body.premium-theme .ss-footer .bn-footer-brand {grid-row:1 / span 2}
}
@media(max-width:700px) {
  html body.premium-theme .ss-footer .bn-container {width:calc(100% - 40px)!important}
  html body.premium-theme .ss-footer .bn-footer-top {padding:32px 0!important}
  html body.premium-theme .ss-footer .bn-footer-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px 24px!important}
  html body.premium-theme .ss-footer .bn-footer-about {display:block!important}
  html body.premium-theme .ss-footer .bn-footer-about p {margin:16px 0!important;max-width:360px!important}
  html body.premium-theme .ss-footer .bn-footer-col h2 {margin-bottom:14px!important}
  html body.premium-theme .ss-footer .bn-footer-col nav {gap:9px!important}
  html body.premium-theme .ss-footer .bn-footer-mid {align-items:flex-start!important;gap:16px!important}
  html body.premium-theme .ss-footer .bn-footer-mid>strong {flex-basis:100%}
  html body.premium-theme .ss-footer .ss-contact-actions {gap:12px 16px!important}
  html body.premium-theme .ss-footer .bn-footer-bottom {align-items:flex-start!important;flex-direction:column!important;gap:14px!important}
  html body.premium-theme .ss-footer .bn-footer-bottom nav {gap:10px 16px!important}
}
/* Match the original navy/blue navigation without a separate rectangle over the photo. */
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(.bn-slider,.bn-slide,.ss-slider) { background-color: var(--site-night) !important; }
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main .bn-hero-frame { background: transparent !important; }
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(.bn-slide-copy,.ss-slide-copy) {
  background: transparent !important;
  color: #eaf3f2 !important;
  padding-inline: clamp(16px,2vw,28px);
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(.bn-slide-copy,.ss-slide-copy) :where(h1,h2,h3,p,span,strong,small) { color: #eaf3f2 !important; }
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(.bn-slide-wash,.ss-overlay) {
  background: linear-gradient(90deg,#0a2132 0%,#0a2132f5 35%,#0a2132e6 62%,#0a213270 82%,#0a213220 100%) !important;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(.bn-hero-btn,.ss-cta) {
  background: #176b65 !important;
  border: 1px solid #85dfd0 !important;
  color: #ffffff !important;
  box-shadow: 0 8px 24px #0a213240;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(.bn-hero-btn,.ss-cta):hover {
  background: #176b65 !important;
  border-color: #85dfd0 !important;
  color: #ffffff !important;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(.bn-slider-tools>button,.bn-side-progress button,.ss-slider-controls>button) {
  background: #133448 !important;
  border-color: #85dfd0 !important;
  color: #ffffff !important;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(.bn-side-progress button)[aria-pressed="true"] { background: #85dfd0 !important; }
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(.bn-slider-dots,.ss-dots) button {
  background: #d5e1e6 !important;
  border: 2px solid var(--site-night) !important;
  opacity: 1 !important;
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(.bn-slider-dots,.ss-dots) button[aria-pressed="true"] {
  background: #ffffff !important;
  border-color: #85dfd0 !important;
  box-shadow: 0 0 0 2px #ffffff;
}
@media(max-width:620px) {
  html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :where(.bn-slide-wash,.ss-overlay) {
    background: linear-gradient(90deg,#0a2132f5,#0a2132f0 70%,#0a2132d9) !important;
  }
}
html body.premium-theme[data-fixed-colors="light"][data-cms-theme] main :focus-visible { outline: 3px solid #176b65 !important; outline-offset: 3px; }
html body.premium-theme[data-fixed-colors="light"] ::selection { background: #176b65; color: #ffffff; -webkit-text-fill-color: #ffffff; }
