
:root{
  --navy:#0B1630;
  --navy-2:#0F1B34;
  --navy-3:#122544;
  --turq:#5ED0C8;
  --white:#F2F6F9;
  --gray:#9FB3C8;
  --line:rgba(255,255,255,.08);
  --line-strong:rgba(94,208,200,.30);
  --panel:rgba(255,255,255,.04);
  --panel-2:rgba(255,255,255,.03);
  --shadow:0 20px 60px rgba(0,0,0,.28);
  --container:min(1240px, calc(100vw - 48px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Inter',system-ui,sans-serif;
  color:var(--white);
  background:
    radial-gradient(900px 550px at 15% 0%, rgba(94,208,200,.08), transparent 60%),
    radial-gradient(850px 520px at 85% 25%, rgba(94,208,200,.05), transparent 55%),
    linear-gradient(180deg,var(--navy) 0%, var(--navy-2) 48%, #081120 100%);
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
.container{width:var(--container);margin:0 auto}
.bg-grid{
  position:fixed; inset:0; z-index:-2; pointer-events:none; opacity:.12;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(circle at center, black 32%, transparent 84%);
}
.orb{position:fixed; border-radius:50%; filter:blur(80px); z-index:-3; pointer-events:none}
.orb-a{width:420px;height:420px;left:-120px;top:90px;background:rgba(94,208,200,.14)}
.orb-b{width:360px;height:360px;right:-100px;bottom:120px;background:rgba(94,208,200,.08)}

.site-header{
  position:sticky; top:0; z-index:30;
  backdrop-filter:blur(14px);
  background:rgba(8,17,32,.82);
  border-bottom:1px solid var(--line);
}
.nav{
  min-height:88px;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
}
.brand{display:flex; align-items:center; gap:14px}
.brand-mark{
  width:48px; height:48px; border-radius:16px;
  background:linear-gradient(135deg,var(--turq),#96e8e1);
  color:#0A1A30; display:grid; place-items:center; font-weight:900; font-size:1.2rem;
  box-shadow:var(--shadow);
}
.brand-copy strong{display:block; font-size:1.06rem}
.brand-copy span{display:block; color:var(--gray); font-size:.8rem; font-weight:600}
.menu{display:flex; align-items:center; gap:18px}
.menu a{color:var(--gray); font-weight:600}
.menu a:hover{color:var(--white)}
.menu-toggle{
  display:none; background:transparent; color:var(--white);
  border:1px solid var(--line); border-radius:12px; padding:8px 12px; font-size:20px;
}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:14px; padding:13px 18px; font-weight:800; transition:.25s ease;
}
.btn-primary{
  background:linear-gradient(135deg,var(--turq),#8fe7df);
  color:#0A1A30; box-shadow:var(--shadow);
}
.btn-primary:hover{transform:translateY(-2px)}
.btn-secondary,.btn-outline{
  border:1px solid var(--line); background:rgba(255,255,255,.02); color:var(--white);
}
.btn-secondary:hover,.btn-outline:hover{
  border-color:var(--line-strong); background:rgba(255,255,255,.05);
}

.hero{padding:92px 0 72px; border-bottom:1px solid var(--line)}
.hero-grid{
  display:grid; grid-template-columns:1.08fr .92fr; gap:34px; align-items:center;
}
.eyebrow{
  margin:0 0 12px;
  color:var(--turq);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.hero h1{
  margin:0 0 18px;
  font-size:clamp(3rem,5vw,5.4rem);
  line-height:.96;
  max-width:12ch;
}
.hero h1 span{color:var(--turq)}
.lead,.subtext{
  color:var(--gray);
  line-height:1.8;
}
.lead{max-width:62ch; font-size:1.06rem; margin:0 0 16px}
.lead-strong{color:var(--white); font-weight:700}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin:24px 0 16px}
.hero-chips{display:flex; gap:10px; flex-wrap:wrap}
.hero-chips span{
  padding:7px 12px; border-radius:999px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(94,208,200,.18);
  color:var(--turq); font-size:.84rem; font-weight:700;
}
.hero-panel,.card,.work-card,.framework-box,.framework-diagnostic,.impact-box,.kpi-card,.cta-panel,.signal-card{
  background:linear-gradient(180deg,var(--panel),var(--panel-2));
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow);
}
.hero-panel{padding:22px}
.hero-panel-head{display:flex; gap:8px; margin-bottom:18px}
.hero-panel-head span{width:10px; height:10px; border-radius:50%; background:#2a426c}
.hero-signal-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:18px}
.signal-card{padding:16px; border-radius:18px}
.signal-card strong{display:block; color:var(--turq); margin-bottom:6px}
.signal-card p{margin:0; color:var(--gray); line-height:1.6; font-size:.92rem}
.hero-core{
  position:relative; height:220px; border-radius:22px; overflow:hidden;
  background:radial-gradient(circle at center, rgba(94,208,200,.18), transparent 48%), rgba(255,255,255,.02);
  display:grid; place-items:center;
}
.core-ring{
  position:absolute; border-radius:50%;
  border:2px solid rgba(94,208,200,.35);
}
.ring-1{width:180px; height:180px; box-shadow:0 0 0 18px rgba(94,208,200,.05)}
.ring-2{width:240px; height:240px; opacity:.4}
.core-copy{position:relative; text-align:center}
.core-copy span{display:block; color:var(--gray); margin-bottom:6px}
.core-copy strong{font-size:1.4rem}

.section{padding:88px 0}
.section-head{max-width:920px; margin:0 0 32px}
.section-head.center{text-align:center; margin-left:auto; margin-right:auto}
.section h2{margin:0; font-size:clamp(2.1rem,3.5vw,3.3rem); line-height:1.08}
.statement .container{
  padding:22px 0;
  text-align:center;
  color:var(--gray);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.alt{background:linear-gradient(180deg, rgba(255,255,255,.018), rgba(255,255,255,.008))}
.narrow{max-width:940px}
.card-grid{display:grid; gap:18px}
.four-grid{grid-template-columns:repeat(4,1fr)}
.three-grid{grid-template-columns:repeat(3,1fr)}
.six-grid{grid-template-columns:repeat(3,1fr)}
.card,.work-card{padding:24px}
.card h3,.work-card h3{margin:0 0 10px}
.card p,.work-card p,.card li,.work-card li{color:var(--gray); line-height:1.75}
.card ul,.work-card ul{margin:0; padding-left:20px}
.card:hover,.work-card:hover{
  transform:translateY(-4px);
  border-color:var(--line-strong);
  box-shadow:0 20px 60px rgba(0,0,0,.3);
}
.framework-shell{display:grid; gap:14px; margin-top:18px}
.framework-row{display:grid; gap:12px}
.row-five{grid-template-columns:repeat(5,1fr)}
.row-four{grid-template-columns:repeat(4,1fr)}
.row-two{grid-template-columns:repeat(2,1fr)}
.framework-box,.impact-box{padding:16px; text-align:center}
.framework-box strong{display:block; color:var(--white); margin-bottom:6px}
.framework-box span{color:var(--gray); line-height:1.6}
.framework-diagnostic{padding:26px; text-align:center}
.framework-diagnostic h3{margin:0 0 8px; font-size:1.9rem}
.framework-diagnostic p{margin:0; color:var(--gray)}
.framework-arrow{text-align:center; color:var(--turq); font-size:30px; font-weight:900}
.capability strong{color:var(--turq)}
.framework-closing{
  margin:20px 0 0;
  text-align:center;
  color:var(--white);
  font-weight:700;
}
.work-step{
  display:inline-grid; place-items:center;
  width:44px; height:44px; border-radius:14px;
  background:rgba(94,208,200,.12);
  border:1px solid var(--line-strong);
  color:var(--turq);
  font-weight:900;
  margin-bottom:12px;
}
.kpi-grid{
  display:grid; grid-template-columns:repeat(5,1fr); gap:14px;
}
.kpi-card{
  padding:22px; text-align:center;
}
.kpi-card strong{
  display:inline-grid; place-items:center;
  width:52px; height:52px; border-radius:16px;
  background:rgba(94,208,200,.12);
  border:1px solid var(--line-strong);
  color:var(--turq); font-size:1.45rem;
}
.kpi-card span{display:block; margin-top:12px; color:var(--gray); font-weight:700}
.cta-panel{
  padding:30px 34px;
  display:flex; align-items:center; justify-content:space-between; gap:22px;
}
.reveal{opacity:0; transform:translateY(20px); transition:opacity .7s ease, transform .7s ease}
.reveal.visible{opacity:1; transform:translateY(0)}
.delay-1{transition-delay:.08s}
.delay-2{transition-delay:.16s}
.delay-3{transition-delay:.24s}

@media (max-width:1024px){
  .hero-grid,.four-grid,.three-grid,.six-grid,.row-five,.row-four,.row-two,.kpi-grid,.cta-panel,.hero-signal-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:900px){
  .menu-toggle{display:inline-flex}
  .menu{
    position:absolute; top:88px; left:0; right:0; display:none;
    flex-direction:column; align-items:flex-start; gap:0;
    padding:10px 20px 16px;
    background:rgba(8,17,32,.98);
    border-bottom:1px solid var(--line);
  }
  .menu.open{display:flex}
  .menu a{width:100%; padding:12px 0}
}
