@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root{
  --ink:#0B1220;
  --paper:#F6F7FA;
  --white:#FFFFFF;
  --mist:#E7EAF0;
  --line:#D9DEE7;

  --orange:#F47521;
  --orange-deep:#C8501A;

  --navy-deep:#081020;
  --sec-blue:#1C4E80;
  --sec-blue-light:#3D7CB8;
  --sec-green:#1FAE7C;

  --sd-purple:#6E45E2;
  --sd-purple-deep:#4B2BAE;
  --sd-cyan:#2FB2E8;
  --sd-ink:#120D24;

  --raise-navy:#0E1B33;
  --raise-amber:#FF8A3D;
  --raise-amber-light:#FFC56E;

  --wi-ink:#0A1A1A;
  --wi-teal:#0ABFB8;
  --wi-teal-light:#5DE0DB;
  --wi-coral:#FF5C6A;
  --wi-dark:#071212;

  --radius:14px;
  --maxw:1240px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'IBM Plex Sans',sans-serif;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Space Grotesk',sans-serif;
  margin:0 0 .5em;
  line-height:1.08;
  letter-spacing:-0.01em;
}
p{margin:0 0 1em; line-height:1.65;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.eyebrow{
  font-family:'IBM Plex Mono',monospace;
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:500;
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
section{padding:96px 0;}
@media(max-width:768px){section{padding:64px 0;} .wrap{padding:0 20px;}}

/* ===== BUTTONS ===== */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:.95rem;
  padding:13px 26px; border-radius:999px; border:1.5px solid transparent;
  cursor:pointer; transition:transform .15s ease, box-shadow .15s ease, background .2s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--ink); color:#fff;}
.btn-primary:hover{box-shadow:0 10px 24px rgba(0,0,0,.18);}
.btn-outline{border-color:currentColor; background:transparent;}
.btn-ghost{background:rgba(255,255,255,.12); color:#fff; border-color:rgba(255,255,255,.35);}
.btn-sm{padding:9px 18px; font-size:.85rem;}

/* theme accent buttons */
.theme-secureti .btn-accent{background:var(--sec-green); color:var(--navy-deep);}
.theme-selfdefense .btn-accent{background:var(--sd-cyan); color:var(--sd-ink);}
.theme-raise .btn-accent{background:linear-gradient(135deg,var(--raise-amber),var(--raise-amber-light)); color:var(--raise-navy);}
.btn-accent{background:var(--orange); color:#fff;}

/* ===== NAV ===== */
.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.theme-secureti .site-header,.theme-selfdefense .site-header,.theme-raise .site-header{
  background:rgba(8,16,32,.85);
  border-bottom:1px solid rgba(255,255,255,.1);
}
.nav-row{display:flex; align-items:center; justify-content:space-between; height:78px;}
.brand-lockup{display:flex; align-items:center; gap:10px; font-family:'Space Grotesk'; font-weight:700; font-size:1.05rem;}
.brand-lockup img{height:30px; width:auto;}
.theme-secureti .brand-lockup,.theme-selfdefense .brand-lockup,.theme-raise .brand-lockup{color:#fff;}
.bu-tag{
  font-family:'IBM Plex Mono'; font-size:.68rem; letter-spacing:.1em; text-transform:uppercase;
  padding:3px 9px; border-radius:6px; border:1px solid var(--line); color:#5a6273; margin-left:2px;
}
.theme-secureti .bu-tag{border-color:rgba(31,174,124,.5); color:var(--sec-green);}
.theme-selfdefense .bu-tag{border-color:rgba(47,178,232,.5); color:var(--sd-cyan);}
.theme-raise .bu-tag{border-color:rgba(255,138,61,.5); color:var(--raise-amber-light);}

.main-nav{display:flex; align-items:center; gap:30px;}
.main-nav a{font-size:.9rem; font-weight:500; color:var(--ink); position:relative; padding:6px 0;}
.theme-secureti .main-nav a,.theme-selfdefense .main-nav a,.theme-raise .main-nav a{color:rgba(255,255,255,.82);}
.main-nav a.current{color:var(--accent);}
.main-nav a.current::after{content:"";position:absolute; left:0; right:0; bottom:-3px; height:2px; background:var(--accent); border-radius:2px;}
.theme-secureti{--accent:var(--sec-green);}
.theme-selfdefense{--accent:var(--sd-cyan);}
.theme-raise{--accent:var(--raise-amber);}
body:not(.theme-secureti):not(.theme-selfdefense):not(.theme-raise){--accent:var(--orange);}
.nav-cta{display:flex; align-items:center; gap:14px;}
.nav-toggle{display:none; background:none; border:0; cursor:pointer;}
.nav-toggle span{display:block; width:22px; height:2px; background:currentColor; margin:5px 0;}
.theme-secureti .nav-toggle,.theme-selfdefense .nav-toggle,.theme-raise .nav-toggle{color:#fff;}

@media(max-width:980px){
  .main-nav{position:fixed; top:78px; left:0; right:0; bottom:0; height:calc(100vh - 78px); background:var(--white); flex-direction:column; align-items:flex-start; padding:28px; gap:20px; transform:translateX(100%); transition:transform .25s ease; overflow:auto;}
  .theme-secureti .main-nav,.theme-selfdefense .main-nav,.theme-raise .main-nav{background:var(--navy-deep);}
  .main-nav.open{transform:translateX(0);}
  .main-nav a{font-size:1.15rem;}
  .nav-toggle{display:block;}
}

/* ===== FOOTER (unifying parent shell) ===== */
.site-footer{background:var(--ink); color:rgba(255,255,255,.7); padding:72px 0 28px;}
.footer-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:40px;}
.footer-col h4{color:#fff; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; font-family:'IBM Plex Mono'; font-weight:500; margin-bottom:18px;}
.footer-col a{display:block; color:rgba(255,255,255,.65); font-size:.92rem; margin-bottom:11px;}
.footer-col a:hover{color:#fff;}
.footer-brand-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:8px;}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; margin-top:56px; padding-top:24px; border-top:1px solid rgba(255,255,255,.12); font-size:.8rem; color:rgba(255,255,255,.45); flex-wrap:wrap; gap:12px;}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr; gap:32px;}}

/* ===== UTILITIES ===== */
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
@media(max-width:900px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}}
.card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:32px;}
.theme-secureti .card{background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.12); color:#fff;}
.theme-selfdefense .card{background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.12); color:#fff;}
.theme-raise .card{background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.12); color:#fff;}
.card.on-dark{background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.14); color:#fff;}
.tag-pill{font-family:'IBM Plex Mono'; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; padding:4px 10px; border-radius:999px; border:1px solid currentColor; display:inline-block;}
.muted{opacity:.7;}
.center{text-align:center;}
.section-head{max-width:680px; margin-bottom:56px;}
.section-head.center{margin-left:auto; margin-right:auto;}

/* dark page backgrounds */
.theme-secureti{background:radial-gradient(ellipse at top right, #0F2236 0%, var(--navy-deep) 55%); color:#fff;}
.theme-selfdefense{background:radial-gradient(ellipse at top left, #221A42 0%, var(--sd-ink) 55%); color:#fff;}
.theme-raise{background:linear-gradient(180deg,#0E1B33 0%, #16243F 100%); color:#fff;}
.theme-webimpression{background:radial-gradient(ellipse at top right, #0D2626 0%, var(--wi-dark) 60%); color:#fff;}
.theme-webimpression .site-header{background:rgba(7,18,18,.88); border-bottom:1px solid rgba(255,255,255,.1);}
.theme-webimpression .brand-lockup{color:#fff;}
.theme-webimpression .main-nav a{color:rgba(255,255,255,.82);}
.theme-webimpression .bu-tag{border-color:rgba(10,191,184,.5); color:var(--wi-teal);}
.theme-webimpression .nav-toggle{color:#fff;}
.theme-webimpression{--accent:var(--wi-teal);}
.theme-webimpression .card{background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.12); color:#fff;}
.theme-webimpression .btn-accent{background:var(--wi-teal); color:var(--wi-dark);}
.theme-webimpression .proc-step{border-top-color:rgba(255,255,255,.12);}
.theme-webimpression table.compare th,.theme-webimpression table.compare td{border-bottom-color:rgba(255,255,255,.12);}
.theme-webimpression .main-nav{background:var(--wi-dark);}
@media(max-width:980px){.theme-webimpression .main-nav{background:var(--wi-dark);}}

/* breadcrumb / BU strip under nav to reinforce parent->child */
.bu-strip{font-family:'IBM Plex Mono'; font-size:.78rem; letter-spacing:.04em; padding:11px 0; border-bottom:1px solid var(--line); color:#5a6273;}
.theme-secureti .bu-strip,.theme-selfdefense .bu-strip,.theme-raise .bu-strip{border-bottom-color:rgba(255,255,255,.12); color:rgba(255,255,255,.55);}
.bu-strip a{color:inherit;}
.bu-strip a:hover{color:var(--accent);}
.bu-strip .sep{margin:0 8px; opacity:.5;}

/* stat row */
.stat-row{display:flex; gap:48px; flex-wrap:wrap;}
.stat{font-family:'IBM Plex Mono';}
.stat .num{font-family:'Space Grotesk'; font-size:2.4rem; font-weight:700; display:block; color:var(--accent);}
.stat .lbl{font-size:.78rem; letter-spacing:.05em; text-transform:uppercase; opacity:.65;}

/* hero core-dot signature (home only) */
.core-dot-wrap{position:relative; width:100%; max-width:520px; aspect-ratio:1; margin:0 auto;}
.core-dot{position:absolute; top:50%; left:50%; width:26px; height:26px; border-radius:50%; background:var(--orange); transform:translate(-50%,-50%); box-shadow:0 0 0 0 rgba(244,117,33,.5); animation:pulse 2.6s ease-out infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(244,117,33,.45);}70%{box-shadow:0 0 0 36px rgba(244,117,33,0);}100%{box-shadow:0 0 0 0 rgba(244,117,33,0);}}
.core-trail{position:absolute; top:50%; left:50%; height:2px; background:linear-gradient(90deg, var(--orange), transparent); transform-origin:left center;}
.core-trail span{position:absolute; right:-5px; top:-5px; width:12px; height:12px; border-radius:50%;}

@media(prefers-reduced-motion:reduce){
  .core-dot{animation:none;}
  *{scroll-behavior:auto !important;}
}

/* numbered process */
.proc-step{display:flex; gap:20px; padding:24px 0; border-top:1px solid var(--line);}
.theme-secureti .proc-step,.theme-selfdefense .proc-step,.theme-raise .proc-step{border-top-color:rgba(255,255,255,.12);}
.proc-step .n{font-family:'IBM Plex Mono'; font-size:.85rem; color:var(--accent); flex:0 0 36px;}

table.compare{width:100%; border-collapse:collapse; font-size:.92rem;}
table.compare th,table.compare td{padding:14px 16px; text-align:left; border-bottom:1px solid var(--line);}
.theme-secureti table.compare th,.theme-secureti table.compare td,.theme-selfdefense table.compare th,.theme-selfdefense table.compare td,.theme-raise table.compare th,.theme-raise table.compare td{border-bottom-color:rgba(255,255,255,.12);}
table.compare th{font-family:'IBM Plex Mono'; font-size:.74rem; text-transform:uppercase; letter-spacing:.06em; opacity:.6; font-weight:500;}

.cta-band{padding:80px 0; text-align:center;}
.cta-band h2{font-size:clamp(1.8rem,3vw,2.6rem);}

::selection{background:var(--orange); color:#fff;}
:focus-visible{outline:2px solid var(--orange); outline-offset:3px;}

/* .reveal is intentionally static now — the page's one animated moment is the
   hero core-dot pulse, kept deliberate rather than scattering fades on every card. */
.reveal{opacity:1; transform:none;}

/* ===== PROFILE CARDS (Leadership / Ambassador) ===== */
.profile-card{display:grid; grid-template-columns:220px 1fr; gap:36px; align-items:start; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:36px;}
.profile-card img{width:220px; height:220px; object-fit:cover; border-radius:12px;}
.profile-card .role{font-family:'IBM Plex Mono'; font-size:.76rem; letter-spacing:.1em; text-transform:uppercase; color:var(--orange); margin-bottom:6px; display:block;}
.profile-card h3{font-size:1.5rem; margin-bottom:4px;}
.profile-card .sub{font-size:.92rem; color:#5a6273; margin-bottom:16px;}
.profile-card .stat-row{margin:18px 0 4px; gap:34px;}
@media(max-width:680px){.profile-card{grid-template-columns:1fr; text-align:left;} .profile-card img{width:140px; height:140px;}}

/* ===== HERO DECORATIVE AI GRAPHIC ===== */
.hero-deco-wrap{position:relative;}
.hero-deco{position:absolute; top:-10px; right:-30px; width:340px; max-width:42vw; opacity:.9; pointer-events:none; z-index:0;}
@media(max-width:900px){.hero-deco{display:none;}}
.hero-deco .pulse-node{animation:deco-pulse 3.4s ease-in-out infinite;}
.hero-deco .pulse-node-2{animation:deco-pulse 3.4s ease-in-out infinite 1.1s;}
.hero-deco .pulse-node-3{animation:deco-pulse 3.4s ease-in-out infinite 2.2s;}
@keyframes deco-pulse{0%,100%{opacity:.4;}50%{opacity:1;}}
@media(prefers-reduced-motion:reduce){.hero-deco .pulse-node,.hero-deco .pulse-node-2,.hero-deco .pulse-node-3{animation:none; opacity:.85;}}
.hero-deco-inline{position:relative; z-index:1;}
