
:root{
  --blue-900:#0f2746;
  --blue-800:#1d3b66;
  --blue-700:#2d4d80;
  --blue-600:#3f67a6;
  --blue-500:#5a87d2;
  --blue-200:#e8f0ff;
  --ink:#0b1320;
  --muted:#6b7380;
  --bg:#ffffff;
  --card:#f4f7fb;
  --ring:#dbe5ff;
  --shadow:0 10px 30px rgba(13, 31, 62, .08);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, Apple Color Emoji, Segoe UI Emoji;
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
}

.container{
  width:min(1120px, 92vw);
  margin-inline:auto;
}

a{color:var(--blue-600);text-decoration:none}
a:hover{text-decoration:underline}

.btn{
  display:inline-block;
  padding:.85rem 1.15rem;
  border-radius:12px;
  background:var(--blue-700);
  color:#fff;
  font-weight:700;
  letter-spacing:.2px;
  box-shadow:var(--shadow);
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(13,31,62,.12);background:var(--blue-600)}

/* Header */
.header{
  position:sticky; top:0; z-index:50;
  background:#fff; border-bottom:1px solid #eef2f8;
  backdrop-filter:saturate(150%) blur(6px);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0}
.logo{font-size:1.125rem;font-weight:900;letter-spacing:.3px;color:var(--blue-900)}
.nav{display:flex;gap:22px;align-items:center}
.nav a{color:#14213d;font-weight:600}
@media (max-width: 860px){
  .nav{display:none}
}

/* Hero */
.hero{
  padding:72px 0 36px;
  background:
    radial-gradient(1200px 500px at 80% -200px, #e9f2ff 0, transparent 60%),
    linear-gradient(180deg, #ffffff, #ffffff);
}
.hero-grid{
  display:grid; grid-template-columns: 1.2fr 1fr; gap:48px; align-items:center;
}
.hero h1{
  font-size:clamp(30px, 3.2vw + 12px, 56px);
  line-height:1.05;
  letter-spacing:.3px;
  margin:0 0 12px;
  color:var(--blue-900);
}
.hero p.lead{font-size:clamp(16px, 1vw + 12px, 20px); color:#324155; margin:0 0 22px}
.kicker{display:inline-block;font-size:12px;letter-spacing:.4em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.hero-card{
  background:var(--card); border:1px solid #edf1f7; border-radius:18px; padding:20px; box-shadow:var(--shadow);
}
.hero-card img{width:100%; border-radius:14px; display:block}

/* Section base */
.section{padding:72px 0}
.section .eyebrow{
  color:var(--muted); text-transform:uppercase; letter-spacing:.3em; font-size:12px; font-weight:800;
}
.section h2{
  font-size:clamp(26px, 2vw + 16px, 40px); margin:.5rem 0 1rem; color:var(--blue-900);
}

/* About / Strategist */
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:42px}
.card{
  background:#fff;border:1px solid #eef2f8;border-radius:18px;padding:22px; box-shadow:var(--shadow);
}
blockquote{
  margin:0; padding-left:14px; border-left:4px solid var(--ring); color:#344156; font-style:italic;
}

/* Services */
.services{background:linear-gradient(180deg, #f7faff, #ffffff)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}
@media (max-width: 980px){.service-grid{grid-template-columns:1fr}}
.service{
  border:1px solid #e9eef7; border-radius:16px; padding:22px; background:#fff;
  display:flex; flex-direction:column; gap:12px;
}
.service h3{margin:.4rem 0;font-size:20px;color:#12223c}
.badge{display:inline-block;font-size:12px;background:var(--blue-200);color:var(--blue-800);padding:.25rem .6rem;border-radius:999px;font-weight:700}

/* Process */
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width: 980px){.process-steps{grid-template-columns:1fr 1fr}}
.step{background:#fff;border:1px solid #e9eef7;border-radius:14px;padding:18px}
.step .num{font-weight:900;color:var(--blue-700);font-size:14px}
.step h4{margin:.35rem 0 .35rem}

/* Team */
.team{background:#f8fbff}
.team-logos{
  display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:18px
}
@media (max-width: 980px){.team-logos{grid-template-columns:repeat(3,1fr)}}
.logo-tile{background:#fff;border:1px dashed #dfe7f6;border-radius:12px;height:64px}

/* Work */
.work-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media (max-width: 980px){.work-grid{grid-template-columns:repeat(2,1fr)}}
.work-grid img{width:100%;border-radius:12px; display:block}

/* Case study */
.case{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:center}
@media (max-width: 980px){.case{grid-template-columns:1fr}}
.case .panel{background:#fff;border:1px solid #e9eef7;border-radius:16px;padding:18px}

/* CTA */
.cta{
  text-align:center; padding:64px 0; background:
  radial-gradient(600px 240px at 50% -80px, #dbe7ff 0, transparent 70%),
  linear-gradient(180deg, #0f2746 0, #1d3b66 100%);
  color:#fff;
}
.cta h2{color:#fff; margin-top:0}
.cta p{opacity:.9}

/* Testimonials */
.testimonials .quote{
  background:#0f2746; color:#fff; border-radius:16px; padding:22px; margin:12px 0;
  display:grid; grid-template-columns:80px 1fr; gap:16px; align-items:center;
}
.avatar{width:80px;height:80px;border-radius:50%;background:#e6eefc}

/* Footer */
.footer{
  background:#0e2038; color:#c8d5ee; padding:48px 0; margin-top:48px;
}
.footer a{color:#e9f2ff}
.small{font-size:12px;color:#8fa1bf}
ul.inline{list-style:none;display:flex;gap:12px;padding:0;margin:0;flex-wrap:wrap}
hr.sep{border:none;height:1px;background:#eaeef7;margin:26px 0}
