/* =======================================
   GLOBAL THEME
   ======================================= */

html{
  box-sizing:border-box;
}
*,*::before,*::after{
  box-sizing:inherit;
}

html.ak-theme-dark{
  --ak-bg: #050608;
  --ak-bg-alt: #0b0d12;
  --ak-surface: #050608;
  --ak-surface-alt: #050609;
  --ak-border-subtle: #262a36;
  --ak-border-strong: #1f232e;
  --ak-text-main: #f5f5f5;
  --ak-text-soft: #c3c7d4;
  --ak-text-muted: #9ca1b1;
  --ak-text-subtle: #8c91a2;
  --ak-text-faint: #787e90;
  --ak-accent: #e1e1e1;
  --ak-accent-soft: rgba(194,155,92,.26);
  --ak-shadow-soft: 0 18px 45px rgba(0,0,0,.55);
}

html.ak-theme-light{
  --ak-bg: #fff;
  --ak-bg-alt: #ffffff;
  --ak-surface: #ffffff;
  --ak-surface-alt: #f9fafb;
  --ak-border-subtle: #dde1ea;
  --ak-border-strong: #c3c7d4;
  --ak-text-main: #111827;
  --ak-text-soft: #1f2933;
  --ak-text-muted: #4b5563;
  --ak-text-subtle: #6b7280;
  --ak-text-faint: #9ca3af;
  --ak-accent: #b33b00;
  --ak-accent-soft: rgba(177,131,53,.22);
  --ak-shadow-soft: 0 16px 40px rgba(15,23,42,.16);
}

body{
  margin:0;
      font-family: 'Mona Sans', system-ui, sans-serif;
  background:var(--ak-bg);
  color:var(--ak-text-main);
  -webkit-font-smoothing:antialiased;
}

p {
    font-family: 'source sans 3', sans-serif;
    font-weight: 300;
    font-size: 1rem;
}

/* =======================================
   HEADER / FOOTER THEME TOGGLE
   ======================================= */

.ak-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.ak-brand{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
}

.ak-logo-img{
  height:32px;
  width:auto;
  object-fit:contain;
  display:block;
}

.ak-brand-text{
  display:flex;
  flex-direction:column;
}

.ak-brand-primary{
  font-size:15px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--ak-text-main);
}

.ak-brand-secondary{
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ak-text-subtle);
}

/* Theme toggle control */

.ak-theme-toggle{
  border-radius:999px;
  border:1px solid var(--ak-border-subtle);
  background:var(--ak-surface-alt);
  padding:4px 10px;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ak-text-subtle);
  display:inline-flex;
  align-items:center;
  gap:6px;
  cursor:pointer;
}

.ak-theme-toggle-icon{
  font-size:12px;
}

html.ak-theme-dark .ak-theme-toggle-label-dark,
html.ak-theme-light .ak-theme-toggle-label-light{
  font-weight:600;
  color:var(--ak-text-main);
}

/* =======================================
   LANDING PAGE ( /index.php )
   ======================================= */

.ak-landing-main{
  max-width:1240px;
  margin:0 auto;
  padding:32px 18px 72px;
}

/* HERO */

.ak-hero-grid{
  padding:32px 0 24px;
  display:grid;
  gap:32px;
  grid-template-columns:minmax(0,3fr) minmax(0,2.4fr);
  align-items:flex-start;
}

.ak-hero-kicker{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.2em;
  color:var(--ak-text-main);
  margin-bottom:10px;
}

.ak-hero-title{
  font-family:"Mona Sans",system-ui,sans-serif;
  font-size:32px;
  line-height:1.15;
  margin:0 0 14px;
  color:var(--ak-text-main);
  font-weight:500;
}

.ak-hero-title .ak-highlight{
  color:var(--ak-accent);
}

.ak-hero-body{
  font-size:15px;
  line-height:1.7;
  color:var(--ak-text-soft);
  margin:0 0 16px;
}

.ak-hero-sub{
  font-size:13px;
  line-height:1.7;
  color:var(--ak-text-muted);
  margin:0 0 18px;
}

.ak-hero-ctas{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:12px;
}

.ak-hero-cta-primary,
.ak-hero-cta-secondary{
  padding:10px 18px;
  border-radius:999px;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
}

.ak-hero-cta-primary{
  border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(135deg,#161820,#262a36);
  color:#f5f5f5;
}

.ak-hero-cta-secondary{
  border:1px solid var(--ak-border-subtle);
  background:transparent;
  color:var(--ak-text-soft);
}

html.ak-theme-light .ak-hero-cta-primary{
  border-color:rgba(15,23,42,.18);
  background:linear-gradient(135deg,#f5f5f7,#e5e7eb);
  color:#111827;
}

.ak-hero-footnote{
  font-size:12px;
  color:var(--ak-text-faint);
  margin:0;
}

/* HERO PANEL */

.ak-hero-panel{
  border-radius:18px;
  
  background:radial-gradient(circle at 0 0,rgba(38,42,54,.9),var(--ak-surface));
  padding:18px 18px 14px;
  position:relative;
  overflow:hidden;
  box-shadow:var(--ak-shadow-soft);
}

html.ak-theme-light .ak-hero-panel{
  background:radial-gradient(circle at 0 0,#f5f5f5,var(--ak-surface));
}

.ak-hero-panel .ak-hero-panel-label{
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ak-text-subtle);
  margin:0 0 10px;
  font-family:"Mona Sans",system-ui,sans-serif;
}

.ak-hero-panel-list{
  list-style:none;
  padding:0;
  margin:0;
  font-size:13px;
  color:var(--ak-text-soft);
}
.ak-hero-panel-list li{
  margin-bottom:6px;
  position:relative;
  padding-left:16px;
}
.ak-hero-panel-list li::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:999px;
  background:var(--ak-accent);
  position:absolute;
  left:0;
  top:7px;
}

.ak-hero-panel-tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-radius:999px;
  padding:4px 9px;
  border:1px solid rgba(255,255,255,.18);
  font-size:11px;
  color:var(--ak-text-muted);
  margin-top:8px;
  background:rgba(0,0,0,.18);
}
.ak-hero-panel-tag .badge{
  width:14px;
  height:14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.4);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:9px;
}

html.ak-theme-light .ak-hero-panel-tag{
  background:rgba(255,255,255,.75);
  border-color:rgba(15,23,42,.18);
  color:#374151;
}

.ak-hero-panel-radar{
  position:absolute;
  inset:auto -80px -70px auto;
  width:170px;
  height:170px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.06);
  background:radial-gradient(circle at 30% 30%,var(--ak-accent-soft),transparent 55%);
  opacity:.8;
  pointer-events:none;
}

/* SHARED SECTION HEADINGS */

.ak-section-heading{
  font-family:"Mona Sans",system-ui,sans-serif;
  font-size:16px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--ak-text-main);
  margin:32px 0 10px;
}

.ak-section-sub{
  font-size:14px;
  line-height:1.7;
  color:var(--ak-text-soft);
  margin:0 0 14px;
}

/* ROLE VIEW */

.ak-role-wrapper{
  border-radius:18px;
  border:1px solid var(--ak-border-subtle);
  background:var(--ak-surface);
  padding:18px 18px 16px;
  display:grid;
  gap:18px;
  grid-template-columns:minmax(0,1.5fr) minmax(0,2fr);
}

.ak-role-pills{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.ak-role-pill{
  border-radius:999px;
  border:1px solid var(--ak-border-strong);
  padding:9px 12px;
  font-size:13px;
  color:var(--ak-text-soft);
  background:var(--ak-surface);
  text-align:left;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.ak-role-pill small{
  font-size:11px;
  color:var(--ak-text-subtle);
}
.ak-role-pill span.chevron{
  font-size:11px;
  opacity:.7;
}

.ak-role-pill.is-active{
  border-color:var(--ak-accent);
  background:radial-gradient(circle at 0 0,#262a36,var(--ak-surface));
  color:var(--ak-text-main);
}

html.ak-theme-light .ak-role-pill.is-active{
  background:radial-gradient(circle at 0 0,#fdfaf5,var(--ak-surface));
}

.ak-role-content{
  border-radius:16px;
  border:1px solid var(--ak-border-strong);
  background:var(--ak-surface-alt);
  padding:14px 14px 10px;
}

.ak-role-title{
  font-family:"Mona Sans",system-ui,sans-serif;
  font-size:15px;
  margin:0 0 6px;
  color:var(--ak-text-main);
}

.ak-role-meta{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--ak-text-subtle);
  margin:0 0 10px;
}

.ak-role-body{
  font-size:13px;
  line-height:1.7;
  color:var(--ak-text-soft);
  margin:0 0 8px;
}

.ak-role-items{
  list-style:none;
  margin:0 0 8px;
  padding:0;
  font-size:12px;
  color:var(--ak-text-muted);
}
.ak-role-items li{
  margin-bottom:4px;
  padding-left:12px;
  position:relative;
}
.ak-role-items li::before{
  content:"–";
  position:absolute;
  left:0;
  top:0;
  opacity:.7;
}

.ak-role-link{
  font-size:12px;
  color:var(--ak-accent);
  text-decoration:none;
}

/* DEPLOYMENT BUILDER */

.ak-builder-wrapper{
  border-radius:18px;
  border:1px solid var(--ak-border-subtle);
  background:var(--ak-surface);
  padding:18px 18px 16px;
  margin-top:22px;
  display:grid;
  gap:18px;
  grid-template-columns:minmax(0,1.8fr) minmax(0,2fr);
}

.ak-builder-pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.ak-builder-pill{
  border-radius:999px;
  border:1px solid var(--ak-border-subtle);
  padding:7px 11px;
  font-size:12px;
  color:var(--ak-text-soft);
  background:var(--ak-surface);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:6px;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.ak-builder-pill span.box{
  width:12px;
  height:12px;
  border-radius:3px;
  border:1px solid #555b6f;
}

.ak-builder-pill.is-selected{
  border-color:var(--ak-accent);
  background:radial-gradient(circle at 0 0,#262a36,var(--ak-surface));
  color:var(--ak-text-main);
}
.ak-builder-pill.is-selected span.box{
  border-color:var(--ak-accent);
  background:var(--ak-accent-soft);
}

html.ak-theme-light .ak-builder-pill.is-selected{
  background:radial-gradient(circle at 0 0,#fdfaf5,var(--ak-surface));
}

.ak-builder-note{
  font-size:12px;
  color:var(--ak-text-faint);
  margin-top:6px;
}

.ak-builder-result{
  border-radius:16px;
  border:1px solid var(--ak-border-strong);
  background:var(--ak-surface-alt);
  padding:14px 14px 10px;
  font-size:13px;
  color:var(--ak-text-soft);
}

.ak-builder-result h3{
  font-family:"Mona Sans",system-ui,sans-serif;
  font-size:14px;
  margin:0 0 6px;
  color:var(--ak-text-main);
}

.ak-builder-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:6px 0 8px;
}
.ak-builder-tag{
  border-radius:999px;
  border:1px solid var(--ak-border-subtle);
  font-size:11px;
  padding:4px 9px;
  color:var(--ak-text-muted);
}

.ak-builder-path{
  font-size:12px;
  color:var(--ak-text-muted);
  margin:0 0 6px;
}

.ak-builder-links{
  font-size:12px;
}
.ak-builder-links a{
  color:var(--ak-accent);
  text-decoration:none;
  margin-right:10px;
}

/* WHAT LIVES HERE */

.ak-what-wrapper{
  padding:24px 0 0;
}

.ak-what-grid{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
}

.ak-what-card{
  border-radius:14px;
  border:1px solid var(--ak-border-subtle);
  background:var(--ak-surface);
  padding:16px 16px 12px;
}
.ak-what-title{
  font-family:"Mona Sans",system-ui,sans-serif;
  font-size:14px;
  margin:0 0 6px;
  color:var(--ak-text-main);
}
.ak-what-body{
  font-size:13px;
  line-height:1.7;
  color:var(--ak-text-soft);
  margin:0;
}

/* =======================================
   THREAT INTEL PAGE ( /threat-intel/index.php )
   ======================================= */

.ak-ti-main{
  max-width:1240px;
  margin:0 auto;
  padding:32px 18px 72px;
}

.ak-ti-hero{
  padding:32px 0 24px;
  display:grid;
  grid-template-columns:minmax(0,3fr) minmax(0,2.4fr);
  gap:32px;
  align-items:flex-start;
}

.ak-ti-kicker{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.2em;
  color:var(--ak-accent);
  margin-bottom:10px;
}

.ak-ti-title{
  font-family:"Mona Sans",system-ui,sans-serif;
  font-size:30px;
  line-height:1.2;
  margin:0 0 12px;
  color:var(--ak-text-main);
  font-weight:500;
}
.ak-ti-title .ak-highlight{
  color:var(--ak-accent);
}

.ak-ti-body{
  font-size:15px;
  line-height:1.7;
  color:var(--ak-text-soft);
  margin:0 0 14px;
}
.ak-ti-sub{
  font-size:13px;
  line-height:1.7;
  color:var(--ak-text-muted);
  margin:0 0 18px;
}

.ak-ti-ctas{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.ak-ti-cta{
  padding:9px 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:linear-gradient(135deg,#161820,#262a36);
  cursor:pointer;
  color:#f5f5f5;
}
.ak-ti-cta.secondary{
  background:transparent;
  border-color:var(--ak-border-subtle);
  color:var(--ak-text-soft);
}

html.ak-theme-light .ak-ti-cta{
  border-color:rgba(15,23,42,.14);
  background:linear-gradient(135deg,#f5f5f7,#e5e7eb);
  color:#111827;
}

.ak-ti-hero-note{
  font-size:12px;
  color:var(--ak-text-faint);
  margin:10px 0 0;
}

/* HERO PANEL */

.ak-ti-panel{
  border-radius:18px;
  border:1px solid var(--ak-border-subtle);
  background:radial-gradient(circle at 0 0,rgba(38,42,54,.9),var(--ak-surface));
  padding:18px 18px 12px;
  position:relative;
  overflow:hidden;
  box-shadow:var(--ak-shadow-soft);
}
html.ak-theme-light .ak-ti-panel{
  background:radial-gradient(circle at 0 0,#fdfaf5,var(--ak-surface));
}

.ak-ti-panel-title{
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ak-text-subtle);
  margin:0 0 10px;
  font-family:"Mona Sans",system-ui,sans-serif;
  font-weight:500;
}

.ak-ti-metrics{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:8px;
}
.ak-ti-metric{
  border-radius:12px;
  border:1px solid rgba(255,255,255,.07);
  padding:8px 10px 7px;
  font-size:12px;
  color:var(--ak-text-soft);
  background:rgba(0,0,0,.22);
}
html.ak-theme-light .ak-ti-metric{
  background:rgba(255,255,255,.75);
  border-color:rgba(15,23,42,.12);
}

.ak-ti-metric-label{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--ak-text-subtle);
  margin-bottom:3px;
}
.ak-ti-metric-value{
  display:flex;
  align-items:baseline;
  gap:4px;
}
.ak-ti-metric-main{
  font-family:"Mona Sans",system-ui,sans-serif;
  font-size:18px;
  color:var(--ak-text-main);
}
.ak-ti-metric-sub{
  font-size:11px;
  color:var(--ak-text-muted);
}

.ak-ti-radar-shell{
  margin-top:6px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.06);
  padding:8px 10px;
  font-size:11px;
  color:var(--ak-text-soft);
  position:relative;
  overflow:hidden;
}
html.ak-theme-light .ak-ti-radar-shell{
  border-color:rgba(15,23,42,.12);
}

.ak-ti-radar-grid{
  position:absolute;
  inset:-20px;
  background-image:
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.08) 0,transparent 55%),
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.06) 0,transparent 35%);
  opacity:.18;
  pointer-events:none;
}
.ak-ti-radar-bars{
  display:flex;
  gap:6px;
  margin-top:4px;
  position:relative;
  z-index:1;
}
.ak-ti-radar-bar{
  flex:1;
  height:26px;
  border-radius:6px;
  background:linear-gradient(180deg,var(--ak-accent),rgba(194,155,92,.05));
  opacity:.7;
  transform-origin:bottom;
}
.ak-ti-radar-bar.low{transform:scaleY(.35);}
.ak-ti-radar-bar.med{transform:scaleY(.6);}
.ak-ti-radar-bar.high{transform:scaleY(.95);}
.ak-ti-radar-legend{
  margin-top:5px;
  display:flex;
  justify-content:space-between;
  font-size:10px;
  color:var(--ak-text-subtle);
  position:relative;
  z-index:1;
}

/* Section headings reuse .ak-ti-section-heading / sub */

.ak-ti-section-heading{
  font-family:"Mona Sans",system-ui,sans-serif;
  font-size:16px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--ak-text-main);
  margin:28px 0 8px;
}
.ak-ti-section-sub{
  font-size:14px;
  line-height:1.7;
  color:var(--ak-text-soft);
  margin:0 0 14px;
}

/* MODES */

.ak-ti-modes{
  border-radius:18px;
  border:1px solid var(--ak-border-subtle);
  background:var(--ak-surface);
  padding:16px 16px 14px;
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(0,2fr);
  gap:16px;
}

.ak-ti-mode-tabs{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.ak-ti-mode-tab{
  border-radius:999px;
  border:1px solid var(--ak-border-strong);
  background:var(--ak-surface);
  padding:9px 11px;
  font-size:13px;
  color:var(--ak-text-soft);
  text-align:left;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.ak-ti-mode-tab small{
  font-size:11px;
  color:var(--ak-text-subtle);
}
.ak-ti-mode-tab span.icon{
  width:20px;
  height:20px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.2);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
}

.ak-ti-mode-tab.is-active{
  border-color:var(--ak-accent);
  background:radial-gradient(circle at 0 0,#262a36,var(--ak-surface));
  color:var(--ak-text-main);
}
html.ak-theme-light .ak-ti-mode-tab.is-active{
  background:radial-gradient(circle at 0 0,#fdfaf5,var(--ak-surface));
}

.ak-ti-mode-panel{
  border-radius:16px;
  border:1px solid var(--ak-border-strong);
  background:var(--ak-surface-alt);
  padding:14px 14px 10px;
  font-size:13px;
  color:var(--ak-text-soft);
}

.ak-ti-mode-title{
  font-family:"Mona Sans",system-ui,sans-serif;
  font-size:15px;
  margin:0 0 6px;
  color:var(--ak-text-main);
  font-weight:500;
}
.ak-ti-mode-meta{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--ak-text-subtle);
  margin:0 0 8px;
}
.ak-ti-mode-list{
  list-style:none;
  margin:0 0 8px;
  padding:0;
  font-size:12px;
  color:var(--ak-text-muted);
}
.ak-ti-mode-list li{
  margin-bottom:4px;
  padding-left:12px;
  position:relative;
}
.ak-ti-mode-list li::before{
  content:"–";
  position:absolute;
  left:0;
  top:0;
  opacity:.7;
}
.ak-ti-mode-links a{
  font-size:12px;
  color:var(--ak-accent);
  text-decoration:none;
  margin-right:10px;
}

/* SIGNAL BOARD */

.ak-ti-board-wrapper{
  border-radius:18px;
  border:1px solid var(--ak-border-subtle);
  background:var(--ak-surface);
  padding:16px 16px 14px;
  margin-top:22px;
}
.ak-ti-board-header{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-bottom:10px;
}
.ak-ti-board-title{
  font-family:"Mona Sans",system-ui,sans-serif;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--ak-text-main);
  font-weight:500;
}
.ak-ti-board-note{
  font-size:11px;
  color:var(--ak-text-faint);
}

.ak-ti-filters{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}
.ak-ti-filter-pill{
  border-radius:999px;
  border:1px solid var(--ak-border-subtle);
  background:var(--ak-surface);
  padding:5px 10px;
  font-size:11px;
  color:var(--ak-text-subtle);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:6px;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.ak-ti-filter-pill span.dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:#555b6f;
}
.ak-ti-filter-pill[data-severity="high"] span.dot{background:#d9534f;}
.ak-ti-filter-pill[data-severity="med"] span.dot{background:#f0ad4e;}
.ak-ti-filter-pill[data-severity="low"] span.dot{background:#5cb85c;}

.ak-ti-filter-pill.is-active{
  border-color:var(--ak-accent);
  color:var(--ak-text-main);
}

.ak-ti-board-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:10px;
  margin-top:10px;
}

.ak-ti-signal{
  border-radius:12px;
  border:1px solid var(--ak-border-subtle);
  background:var(--ak-surface-alt);
  padding:10px 10px 8px;
  font-size:12px;
  color:var(--ak-text-soft);
  position:relative;
  overflow:hidden;
}
.ak-ti-signal-labels{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:4px;
}
.ak-ti-signal-severity{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.ak-ti-signal-severity.high{color:#ff7666;}
.ak-ti-signal-severity.med{color:#f0ad4e;}
.ak-ti-signal-severity.low{color:#76d672;}
.ak-ti-signal-domain{
  font-size:11px;
  color:var(--ak-text-subtle);
}

.ak-ti-signal-body{
  margin:0 0 6px;
  line-height:1.5;
}
.ak-ti-signal-meta{
  font-size:11px;
  color:var(--ak-text-faint);
  display:flex;
  justify-content:space-between;
  gap:6px;
}
.ak-ti-signal-tag{
  font-size:10px;
  border-radius:999px;
  border:1px solid var(--ak-border-subtle);
  padding:2px 6px;
}
.ak-ti-signal-radar{
  position:absolute;
  inset:auto -60px -60px auto;
  width:120px;
  height:120px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.05);
  background:radial-gradient(circle at 40% 30%,var(--ak-accent-soft),transparent 55%);
  opacity:.4;
  pointer-events:none;
}

/* COLLECTION PLANNER */

.ak-ti-planner{
  border-radius:18px;
  border:1px solid var(--ak-border-subtle);
  background:var(--ak-surface);
  padding:16px 16px 14px;
  margin-top:26px;
  display:grid;
  grid-template-columns:minmax(0,1.8fr) minmax(0,2fr);
  gap:18px;
}
.ak-ti-planner-pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.ak-ti-planner-pill{
  border-radius:999px;
  border:1px solid var(--ak-border-subtle);
  background:var(--ak-surface);
  padding:7px 11px;
  font-size:12px;
  color:var(--ak-text-soft);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:6px;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.ak-ti-planner-pill span.box{
  width:12px;
  height:12px;
  border-radius:3px;
  border:1px solid #555b6f;
}
.ak-ti-planner-pill.is-selected{
  border-color:var(--ak-accent);
  background:radial-gradient(circle at 0 0,#262a36,var(--ak-surface));
  color:var(--ak-text-main);
}
.ak-ti-planner-pill.is-selected span.box{
  border-color:var(--ak-accent);
  background:var(--ak-accent-soft);
}
html.ak-theme-light .ak-ti-planner-pill.is-selected{
  background:radial-gradient(circle at 0 0,#fdfaf5,var(--ak-surface));
}

.ak-ti-planner-note{
  font-size:12px;
  color:var(--ak-text-faint);
  margin-top:6px;
}

.ak-ti-planner-panel{
  border-radius:16px;
  border:1px solid var(--ak-border-strong);
  background:var(--ak-surface-alt);
  padding:14px 14px 10px;
  font-size:13px;
  color:var(--ak-text-soft);
}
.ak-ti-planner-panel h3{
  font-family:"Mona Sans",system-ui,sans-serif;
  font-size:14px;
  margin:0 0 6px;
  color:var(--ak-text-main);
}
.ak-ti-planner-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:4px 0 6px;
}
.ak-ti-planner-tag{
  border-radius:999px;
  border:1px solid var(--ak-border-subtle);
  padding:3px 8px;
  font-size:11px;
  color:var(--ak-text-muted);
}
.ak-ti-planner-text{
  font-size:12px;
  color:var(--ak-text-muted);
  margin:0 0 6px;
}
.ak-ti-planner-links a{
  font-size:12px;
  color:var(--ak-accent);
  text-decoration:none;
  margin-right:10px;
}

/* TIMELINE */

.ak-ti-timeline{
  margin-top:30px;
  border-top:1px solid rgba(21,23,28,.8);
  padding-top:18px;
}
html.ak-theme-light .ak-ti-timeline{
  border-top-color:#e5e7eb;
}
.ak-ti-timeline-grid{
  display:grid;
  gap:16px;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
}
.ak-ti-timeline-card{
  border-radius:14px;
  border:1px solid var(--ak-border-subtle);
  background:var(--ak-surface);
  padding:14px 14px 10px;
  font-size:13px;
  color:var(--ak-text-soft);
  position:relative;
}
.ak-ti-timeline-step{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--ak-text-subtle);
  margin:0 0 4px;
}
.ak-ti-timeline-title{
  font-family:"Mona Sans",system-ui,sans-serif;
  font-size:14px;
  margin:0 0 6px;
  color:var(--ak-text-main);
  font-weight:500;
}
.ak-ti-timeline-bar{
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--ak-accent),#f7f0d0);
  margin:6px 0 8px;
  opacity:.6;
}
.ak-ti-timeline-card::before{
  content:"";
  position:absolute;
  top:10px;
  left:-6px;
  width:10px;
  height:10px;
  border-radius:999px;
  border:2px solid var(--ak-accent);
  background:var(--ak-surface);
}

/* RESPONSIVE */

@media (max-width:900px){
  .ak-hero-grid,
  .ak-role-wrapper,
  .ak-builder-wrapper,
  .ak-ti-hero,
  .ak-ti-modes,
  .ak-ti-planner{
    grid-template-columns:minmax(0,1fr);
  }
}
/* =======================================
   HEADER / TOPBAR / NAV
   ======================================= */

:root{
  --ak-header-h: 80px;
}

/* body offset when header is fixed */
body.has-fixed-header{
  padding-top:var(--ak-header-h);
}

/* Scroll progress bar */
#scroll-progress-bar{
  position:fixed;
  left:0;
  top:0;
  height:3px;
  width:0;
  background:linear-gradient(90deg,#000,#00000070);
  z-index:1200;
  transform-origin:left center;
}

/* Topbar */

.ak-topbar{
  background:var(--ak-bg);
  color:var(--ak-text-soft);
  border-bottom:1px solid var(--ak-border-subtle);
  font-size:12px;
  padding:4px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.ak-topbar-left{
  font-family:"Mona Sans", system-ui, sans-serif;
  letter-spacing:.05em;
  text-transform:uppercase;
  font-size:11px;
  color:var(--ak-text-subtle);
}
.ak-topbar-right{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:12px;
}
.ak-topbar-link{
  color:var(--ak-text-soft);
  text-decoration:none;
  white-space:nowrap;
}
.ak-topbar-link:hover{
  color:var(--ak-text-main);
  text-decoration:none;
}
.ak-topbar-divider{
  opacity:.4;
}

/* Header shell */

.ak-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:1100;
  background:rgba(5,6,8,.96);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.04);
  transition:top .22s ease, box-shadow .18s ease, background .18s ease;
}
.ak-header.is-hidden{
  top:calc(-1.5 * var(--ak-header-h));
  box-shadow:none;
}
.ak-header.is-visible{
  top:0;
  box-shadow:0 12px 40px rgba(0,0,0,.4);
}

/* Light theme adjustments */
html.ak-theme-light .ak-header{
  background:rgba(245,245,247,.96);
  border-bottom-color:rgba(15,23,42,.06);
  box-shadow:0 12px 40px rgba(15,23,42,.12);
}
html.ak-theme-light .ak-topbar{
  background:#f5f5f7;
  border-bottom-color:#e5e7eb;
}
html.ak-theme-light .ak-topbar-link:hover{
  color:#111827;
}

/* Header inner (brand + nav) */

.ak-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 20px;
  max-width:1240px;
  margin:0 auto;
}

/* Brand */

.ak-brand{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
}

/* Dual-logo setup for theme switch */
.ak-logo-img-dark,
.ak-logo-img-light{
  height:32px;
  width:auto;
  object-fit:contain;
  display:block;
}

/* Default: dark theme */
html.ak-theme-dark .ak-logo-img-dark{ display:block; }
html.ak-theme-dark .ak-logo-img-light{ display:none; }

/* Light theme flips */
html.ak-theme-light .ak-logo-img-dark{ display:none; }
html.ak-theme-light .ak-logo-img-light{ display:block; }

.ak-brand-text{
  display:flex;
  flex-direction:column;
  line-height:1.2;
}
.ak-brand-primary{
  font-family:"Mona Sans", system-ui, sans-serif;
  font-size:15px;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--ak-text-main);
}
.ak-brand-secondary{
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ak-text-subtle);
}

/* If you still want the old 'AK' block logo anywhere */
.ak-logo-mark{
  width:32px;
  height:32px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.12);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:"Mona Sans", system-ui, sans-serif;
  font-weight:700;
  font-size:17px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#f5f5f5;
  background:radial-gradient(circle at 0 0,#2e313a,#0c0d11);
}
html.ak-theme-light .ak-logo-mark{
  border-color:rgba(15,23,42,.12);
  color:#111827;
  background:radial-gradient(circle at 0 0,#f9fafb,#e5e7eb);
}

/* Nav */

.ak-nav{
  display:flex;
  align-items:center;
  gap:18px;
  font-size:13px;
}

.ak-nav-mobile {
  display: none;
}
.ak-nav a{
  text-decoration:none;
  color:#dadde7;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:11px;
  font-weight:500;
}
.ak-nav a:hover{
  color:#ffffff;
}
html.ak-theme-light .ak-nav a{
  color:#374151;
}
html.ak-theme-light .ak-nav a:hover{
  color:#111827;
}

/* CTA */

.ak-nav-cta{
  padding:7px 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(135deg,#161820,#252938);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.ak-nav-cta span.icon{
  width:18px;
  height:18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.25);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:10px;
}

html.ak-theme-light .ak-nav-cta{
  border-color:rgba(15,23,42,.16);
  background:linear-gradient(135deg,#f5f5f7,#e5e7eb);
  color:#111827;
}
html.ak-theme-light .ak-nav-cta span.icon{
  border-color:rgba(15,23,42,.35);
}

/* Mobile nav toggle */

.ak-nav-toggle{
  display:none;
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.24);
  background:transparent;
  color:#e4e4e4;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
html.ak-theme-light .ak-nav-toggle{
  border-color:rgba(15,23,42,.2);
  color:#111827;
}

/* Theme toggle button (from earlier block) fits visually next to nav/CTA */

/* Responsive header / nav */

@media (max-width:900px){
    
     .ak-nav {
    display: none;
  }
  .ak-header-inner{
    padding:10px 14px;
  }

  .ak-topbar{
    padding:4px 12px;
    flex-direction:row;
    align-items:center;
  }

  /* Header remains the stacking root on top */
  .ak-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1200;
  }

  /* Header content sits above the nav sheet */
  .ak-header-inner,
  .ak-topbar {
    position: relative;
    z-index: 2;
  }

  .ak-topbar-right{
    flex-wrap:wrap;
  }

  .ak-nav-toggle{
    display:flex;
  }

  /* Mobile nav slides UNDER header content */
   /* Mobile nav drawer */
  .ak-nav-mobile {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    /* push it visually below the header */
    margin-top: var(--ak-header-h, 70px);

    background: var(--ak-bg, #050609);
    border-top: 1px solid #15171c;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 38px 16px 18px;

    transform: translateY(-120%);
    opacity: 1;
    pointer-events: none;
    transition: transform .5s ease, opacity .2s ease;

    z-index: 1100; /* BELOW header (2000), so header always on top */
  }

  .ak-nav-mobile.is-open {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }
  
  nav.ak-nav-mobile a {
    opacity: 0;
    
}
  
  nav.ak-nav-mobile.is-open a {
    color: #181818;
    text-decoration: none;
    padding: 9px 0px;
  
    opacity:1;
}

}

.fa-regular, .far {
    font-weight: 700;
}