:root{--deep:#0B3D91;--blue:#0057B8;--teal:#14B8A6;--navy:#0F172A;--slate:#475569;--muted:#64748B;--line:#E2E8F0;--bg:#F8FAFC;--max:1220px;--shadow:0 18px 50px rgba(15,23,42,.10);--radius:22px;--ease:220ms ease}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--slate);line-height:1.65;background:#fff}img{max-width:100%;height:auto}a{color:inherit}h1,h2,h3,h4{margin:0 0 .6em;font-family:Poppins,Arial,sans-serif;color:var(--navy);line-height:1.15}p{margin:0 0 1rem}.container{width:min(90%,var(--max));margin:auto}.section{padding:96px 0}.section.alt{background:var(--bg)}.eyebrow{font-weight:800;color:var(--blue);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;margin-bottom:14px}.section-head{max-width:780px;margin-bottom:48px}.section-head.center{text-align:center;margin-left:auto;margin-right:auto}.section-head h2{font-size:clamp(2.1rem,4vw,3.35rem)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:999px;text-decoration:none;font-weight:800;border:1px solid transparent;transition:transform var(--ease),background var(--ease),color var(--ease)}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--blue);color:#fff}.btn.primary:hover{background:var(--deep)}.btn.secondary{border-color:var(--blue);color:var(--blue);background:#fff}.btn.secondary:hover{background:var(--blue);color:#fff}.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(226,232,240,.85)}.nav{min-height:82px;display:flex;align-items:center;gap:24px}.brand img{display:block;width:264px}.menu{margin-left:auto;display:flex;align-items:center;gap:24px}.menu a{text-decoration:none;color:var(--navy);font-weight:700}.menu a:hover{color:var(--blue)}.menu-toggle{display:none;margin-left:auto;border:0;background:none}.menu-toggle span{display:block;width:26px;height:2px;margin:5px 0;background:var(--navy)}.hero{position:relative;overflow:hidden;padding:112px 0 104px;background:radial-gradient(circle at 84% 14%,rgba(20,184,166,.22),transparent 28%),linear-gradient(135deg,#fff 0%,#eef6ff 100%)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.hero h1{font-size:clamp(3rem,6vw,5.25rem);letter-spacing:-.05em}.hero .lead{font-size:1.18rem;max-width:700px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.hero-proof{display:flex;gap:28px;flex-wrap:wrap;margin-top:34px}.hero-proof strong{display:block;color:var(--navy);font-size:1.15rem}.hero-proof span{font-size:.9rem;color:var(--muted)}.journey{padding:30px;border:1px solid rgba(226,232,240,.9);border-radius:30px;background:rgba(255,255,255,.94);box-shadow:var(--shadow)}.source-row,.output-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.chip{padding:10px 14px;border-radius:999px;background:#eff6ff;color:var(--deep);font-weight:800;font-size:.86rem}.arrow{text-align:center;color:var(--teal);font-size:1.75rem;margin:10px 0}.core{padding:30px;border-radius:24px;color:#fff;text-align:center;background:linear-gradient(135deg,var(--deep),var(--teal));box-shadow:0 18px 40px rgba(0,87,184,.20)}.core strong{display:block;font-size:1.4rem}.core small{opacity:.9}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.kpi{padding:26px;border:1px solid var(--line);border-radius:18px;background:#fff;text-align:center}.kpi strong{display:block;font-size:2rem;color:var(--deep);font-family:Poppins}.grid{display:grid;gap:24px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 8px 30px rgba(15,23,42,.06);transition:transform var(--ease),box-shadow var(--ease)}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.icon{display:grid;place-items:center;width:50px;height:50px;margin-bottom:18px;border-radius:15px;color:#fff;background:linear-gradient(135deg,var(--deep),var(--teal));font-weight:900}.framework{display:grid;gap:14px;max-width:920px;margin:auto}.layer{padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.05)}.layer.top{color:#fff;background:linear-gradient(135deg,var(--deep),var(--teal));border:0}.layer.top h3{color:#fff}.tech-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.tech-box{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff}.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.step{padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff}.step span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#fff;background:var(--blue);font-weight:900;margin-bottom:14px}.tag{display:inline-block;margin-bottom:14px;padding:6px 10px;border-radius:999px;background:#ecfeff;color:#0f766e;font-weight:800;font-size:.78rem}.cta{padding:82px 0;text-align:center;color:#fff;background:radial-gradient(circle at 20% 20%,rgba(20,184,166,.24),transparent 30%),linear-gradient(135deg,#071426,#0B3D91)}.cta h2{color:#fff;font-size:clamp(2.2rem,4vw,3.5rem)}.cta p{max-width:740px;margin:0 auto 26px;color:#dbeafe}.site-footer{padding:70px 0 28px;background:#020617;color:#cbd5e1}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:36px}.footer-logo{width:250px}.site-footer h3{color:#fff;font-size:1rem}.site-footer a{display:block;text-decoration:none;color:#cbd5e1;margin:8px 0}.site-footer a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:44px;padding-top:24px;border-top:1px solid rgba(148,163,184,.18);font-size:.9rem}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}.page-hero{padding:84px 0 66px;background:linear-gradient(135deg,#f8fbff,#eef6ff)}.page-hero h1{font-size:clamp(2.5rem,5vw,4.4rem)}@media(max-width:980px){.hero-grid,.footer-grid{grid-template-columns:1fr}.grid-4,.grid-3,.tech-grid{grid-template-columns:repeat(2,1fr)}.timeline{grid-template-columns:1fr}.menu-toggle{display:block}.menu{position:absolute;top:82px;left:5%;right:5%;display:none;flex-direction:column;align-items:stretch;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.menu.open{display:flex}.nav .btn{display:none}}@media(max-width:640px){.section{padding:72px 0}.grid-4,.grid-3,.tech-grid,.kpis{grid-template-columns:1fr}.hero{padding-top:82px}.brand img{width:200px}.footer-bottom{flex-direction:column}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* About page */
.about-hero{position:relative;overflow:hidden;padding:104px 0;background:radial-gradient(circle at 85% 15%,rgba(20,184,166,.20),transparent 30%),linear-gradient(135deg,#fff,#eef6ff)}
.about-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}
.about-hero h1{font-size:clamp(3rem,5.8vw,5rem);letter-spacing:-.045em}
.about-lead{font-size:1.17rem;max-width:720px}
.meaning-card{position:relative;padding:36px;border:1px solid rgba(226,232,240,.9);border-radius:30px;background:rgba(255,255,255,.95);box-shadow:var(--shadow)}
.meaning-card h2{font-size:2.6rem;color:var(--deep)}
.meaning-mark{display:grid;place-items:center;width:76px;height:76px;margin-bottom:24px;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--deep),var(--teal));font-family:Poppins;font-size:2.7rem;font-weight:800}
.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.story-copy{font-size:1.08rem}
.values-section{background:linear-gradient(135deg,#071426,#0B3D91);color:#dbeafe}
.values-section h2,.values-section h3{color:#fff}.values-section .eyebrow{color:#5eead4}
.values-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
.values-list{display:grid;gap:12px}
.value-row{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid rgba(226,232,240,.16)}
.value-row span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(20,184,166,.18);color:#5eead4;font-weight:800}
.value-row p{color:#cbd5e1}
.audience-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.audience-pill{padding:13px 18px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font-weight:700;box-shadow:0 6px 18px rgba(15,23,42,.05)}
.menu a[aria-current="page"]{color:var(--blue)}
@media(max-width:980px){.about-hero-grid,.story-grid,.values-grid{grid-template-columns:1fr}}


/* =========================================================
   CONCINNITY TYPOGRAPHY & VISUAL REFINEMENT — v1.1
   Quiet confidence: restrained sizing, lighter weights,
   softer surfaces, and improved reading rhythm.
========================================================= */

:root {
  --font-heading: "Manrope", Arial, sans-serif;
  --font-body: "Inter", Arial, sans-serif;
  --shadow-sm: 0 6px 22px rgba(15, 23, 42, 0.055);
  --shadow-md: 0 16px 42px rgba(15, 23, 42, 0.09);
  --radius-sm: 9px;
  --radius-md: 16px;
  --radius-lg: 24px;
}

body {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.72;
  letter-spacing: -0.005em;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.18;
}

h1 { font-weight: 600; }
h2 { font-weight: 600; }
h3 { font-weight: 600; }

.hero h1 {
  max-width: 760px;
  font-size: clamp(2.55rem, 5.1vw, 4.35rem);
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.page-hero h1 {
  max-width: 880px;
  font-size: clamp(2.25rem, 4.4vw, 3.75rem);
  line-height: 1.1;
}

.section-heading h2,
.section-head h2 {
  font-size: clamp(1.85rem, 3.35vw, 2.75rem);
  line-height: 1.16;
}

.card h2 {
  font-size: clamp(1.4rem, 2.2vw, 1.8rem);
}

.card h3,
.capability h3,
.tech-box h3,
.timeline-step h3,
.step h3 {
  font-size: 1.2rem;
  line-height: 1.3;
}

.hero .lead,
.page-hero .lead,
.section-heading p,
.section-head p {
  font-size: 1.04rem;
  line-height: 1.72;
}

.eyebrow {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.13em;
}

.primary-nav a,
.menu a {
  font-size: 0.94rem;
  font-weight: 500;
}

.btn,
.nav-button,
.nav-cta {
  min-height: 44px;
  padding: 0 19px;
  font-size: 0.91rem;
  font-weight: 600;
  box-shadow: none;
}

.section {
  padding-top: 78px;
  padding-bottom: 78px;
}

.hero {
  padding-top: 88px;
  padding-bottom: 84px;
}

.page-hero {
  padding-top: 68px;
  padding-bottom: 54px;
}

.section-heading,
.section-head {
  margin-bottom: 38px;
}

.card,
.capability,
.tech-box,
.timeline-step,
.step,
.layer,
.kpi,
.value-card {
  border-color: rgba(226, 232, 240, 0.9);
  box-shadow: var(--shadow-sm);
}

.card,
.capability {
  padding: 26px;
}

.card:hover,
.capability:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}

.icon {
  width: 44px;
  height: 44px;
  margin-bottom: 16px;
  border-radius: 13px;
  font-size: 0.88rem;
}

.data-journey,
.journey {
  box-shadow: var(--shadow-md);
}

.journey-core,
.core {
  box-shadow: 0 12px 30px rgba(0, 87, 184, 0.15);
}

.site-header {
  box-shadow: none;
}

.nav,
.nav-shell {
  min-height: 76px;
}

.primary-nav,
.menu {
  gap: 21px;
}

.site-footer {
  padding-top: 58px;
}

.site-footer h3 {
  font-family: var(--font-heading);
  font-weight: 600;
}

.site-footer p,
.site-footer a {
  font-size: 0.92rem;
}

p {
  max-width: 72ch;
}

.centered p,
.center p,
.cta p,
.section-title p {
  max-width: 760px;
}

@media (max-width: 980px) {
  .hero h1 {
    font-size: clamp(2.45rem, 8vw, 3.75rem);
  }

  .menu,
  .primary-nav {
    top: 76px;
  }
}

@media (max-width: 640px) {
  body {
    font-size: 15.5px;
  }

  .section {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .hero {
    padding-top: 66px;
    padding-bottom: 66px;
  }

  .page-hero {
    padding-top: 56px;
    padding-bottom: 44px;
  }

  .hero h1 {
    font-size: clamp(2.2rem, 11vw, 3.15rem);
  }

  .section-heading h2,
  .section-head h2 {
    font-size: clamp(1.75rem, 8vw, 2.35rem);
  }

  .card,
  .capability {
    padding: 23px;
  }
}
