/* ── Shared design system for sub-pages (matches the redesigned home) ── */
:root{
  --green:#16A34A; --green-dark:#0E7A38; --green-soft:#EAF7EF;
  --navy:#14283F; --text:#475569; --muted:#64748B;
  --bg:#FFFFFF; --section:#F7F8FA; --band:#F0FDF7; --border:#E7ECF0;
  --blue:#2F6FED; --purple:#7C5CE0; --maxw:1200px;
  --shadow:0 1px 2px rgba(16,40,63,.04), 0 8px 30px rgba(16,40,63,.06);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;color:var(--text);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:'Inter Tight',sans-serif;color:var(--navy);line-height:1.12;letter-spacing:-.025em;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 28px;}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:'Inter',sans-serif;font-weight:600;font-size:.95rem;
  padding:13px 24px;border-radius:10px;cursor:pointer;border:1.5px solid transparent;transition:.18s;}
.btn svg{width:16px;height:16px;}
.btn-primary{background:var(--green);color:#fff;box-shadow:0 6px 18px rgba(22,163,74,.28);}
.btn-primary:hover{background:var(--green-dark);transform:translateY(-2px);}

/* nav */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);
  border-bottom:1px solid transparent;transition:border-color .25s,box-shadow .25s;}
header.scrolled{border-bottom-color:var(--border);box-shadow:0 4px 24px rgba(16,40,63,.05);}
.nav{display:flex;align-items:center;height:74px;}
.brand{display:flex;align-items:center;gap:11px;}
.brand .mark{width:34px;height:34px;flex-shrink:0;color:var(--green);}
.brand .name{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:1.32rem;color:var(--navy);letter-spacing:-.03em;}
.brand .name b{color:var(--green);}
.brand .by{display:block;font-family:'Inter',sans-serif;font-size:.68rem;font-weight:600;color:var(--muted);letter-spacing:.04em;margin-top:-3px;}
.nav-links{display:flex;align-items:center;gap:34px;margin:0 auto;list-style:none;}
.nav-links a{font-size:.95rem;font-weight:600;color:#334155;transition:color .2s;}
.nav-links a:hover{color:var(--green);}
.nav-cta{margin-left:auto;}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;width:42px;height:42px;}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--navy);margin:5px auto;border-radius:2px;}

/* page hero */
.phero{padding:clamp(38px,5vw,62px) 0 clamp(26px,4vw,44px);}
.back{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:.9rem;color:var(--muted);margin-bottom:24px;}
.back:hover{color:var(--green);}
.back svg{width:16px;height:16px;}
.eyebrow{display:inline-block;font-weight:700;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin-bottom:16px;}
.phero h1{font-size:clamp(2.1rem,4vw,3.3rem);font-weight:800;letter-spacing:-.035em;line-height:1.04;max-width:18ch;}
.phero .lede{max-width:64ch;margin-top:20px;font-size:clamp(1rem,1.25vw,1.12rem);}

/* sections */
.sec{padding:clamp(40px,5vw,72px) 0;}
.sec.alt{background:var(--section);}
.sec-head{margin-bottom:clamp(26px,3.5vw,42px);}
.sec-head .eyebrow{margin-bottom:12px;}
.sec-head h2{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;letter-spacing:-.03em;}
.sec-head p{margin-top:14px;max-width:62ch;color:var(--text);font-size:clamp(1rem,1.2vw,1.1rem);}

/* numbered card grid */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.card{border:1px solid var(--border);border-radius:14px;padding:24px 22px;background:#fff;transition:transform .2s,box-shadow .2s,border-color .2s;}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#d7e8de;}
.card .num{font-family:'Inter Tight',sans-serif;font-weight:800;font-size:.85rem;letter-spacing:.06em;color:var(--green);display:block;margin-bottom:12px;}
.card h3{font-size:1.04rem;font-weight:600;color:var(--navy);margin-bottom:9px;letter-spacing:-.01em;}
.card p{font-size:.9rem;line-height:1.55;color:var(--text);}

/* pipeline stages (case study) */
.stages{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.stage{border:1px solid var(--border);border-radius:16px;padding:28px 24px;background:#fff;}
.stage .snum{width:44px;height:44px;border-radius:12px;background:var(--green);color:#fff;font-family:'Inter Tight',sans-serif;
  font-weight:800;font-size:1.2rem;display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.stage h3{font-size:1.18rem;margin-bottom:10px;}
.stage p{font-size:.92rem;color:var(--text);margin-bottom:16px;}
.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chip{font-family:ui-monospace,'SF Mono',Menlo,monospace;font-size:.76rem;font-weight:600;color:var(--green);
  background:var(--green-soft);border:1px solid #d7eede;border-radius:999px;padding:5px 11px;}
.note{margin-top:26px;text-align:center;color:var(--text);max-width:72ch;margin:26px auto 0;font-size:1.02rem;}

/* flexible-engagement cards */
.flex3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.fcard{border:1px solid var(--border);border-radius:16px;padding:28px 24px;background:#fff;}
.fcard .fi{font-size:1.7rem;margin-bottom:12px;}
.fcard h3{font-size:1.1rem;margin-bottom:8px;}
.fcard p{font-size:.92rem;color:var(--text);}

/* final cta + contact cards */
.final-cta{background:var(--band);border-top:1px solid var(--green-soft);text-align:center;padding:clamp(56px,7vw,104px) 0;}
.final-cta h2{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:800;letter-spacing:-.035em;margin-bottom:18px;}
.final-cta p{max-width:58ch;margin:0 auto 34px;font-size:clamp(1.02rem,1.3vw,1.18rem);color:var(--text);}
.contact-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:680px;margin:0 auto;}
.ccard{display:flex;align-items:center;justify-content:center;gap:12px;background:#fff;border:1px solid var(--green-soft);
  border-radius:14px;padding:20px 22px;font-family:ui-monospace,'SF Mono',Menlo,monospace;font-size:clamp(1rem,1.4vw,1.15rem);
  font-weight:600;color:var(--green);transition:.18s;}
.ccard:hover{border-color:var(--green);box-shadow:var(--shadow);transform:translateY(-2px);}
.ccard svg{width:22px;height:22px;flex-shrink:0;}
.ccard.email{grid-column:1/-1;justify-self:center;width:min(100%,440px);}

/* footer */
footer{background:#0E1B2D;color:#8499b2;padding:40px 0;font-size:.88rem;}
.foot{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:space-between;}
.foot a:hover{color:#fff;}
.foot .links{display:flex;gap:20px;}

/* responsive */
@media (max-width:900px){ .cards,.stages,.flex3{grid-template-columns:repeat(2,1fr);} }
@media (max-width:760px){
  .nav-links{position:fixed;inset:74px 0 auto 0;flex-direction:column;background:#fff;gap:0;border-bottom:1px solid var(--border);
    padding:8px 0;transform:translateY(-130%);transition:transform .3s;}
  .nav-links.open{transform:translateY(0);}
  .nav-links li{width:100%;}.nav-links a{display:block;padding:14px 28px;}
  .nav-toggle{display:block;margin-left:auto;}.nav-cta{display:none;}
}
@media (max-width:540px){ .cards,.stages,.flex3,.contact-cards{grid-template-columns:1fr;} .ccard.email{width:100%;} }
