/* ============================================================
   Partnerd Labs — Government Digital Workforce & Managed Technology Services
   Design system: navy-dominant, teal accent, serif display + technical sans
   ============================================================ */
:root{
  --navy:#0C2740; --navy-2:#12365A; --navy-3:#0A1F33; --ink:#122023;
  --teal:#17BEBB; --teal-d:#0E8F8D; --blue:#3E8EDE;
  --white:#FFFFFF; --panel:#F4F6F8; --panel-2:#EAEFF2;
  --line:#D8E0E5; --line-d:#C2CDD4; --mute:#5C6A72; --mute-l:#8A97A0;
  --navy-line:#26445C; --navy-line-2:#2C4E68;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"IBM Plex Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --maxw:1200px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family:var(--sans); color:var(--ink);
  background:var(--white); line-height:1.6; -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
h1,h2,h3,h4{font-family:var(--serif); font-weight:600; line-height:1.08; margin:0; letter-spacing:-.01em}
p{margin:0}

.container{max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,4vw,48px)}

/* ---------- eyebrow / section headers ---------- */
.eyebrow{
  font-family:var(--sans); font-size:.72rem; font-weight:600; letter-spacing:.22em;
  text-transform:uppercase; color:var(--teal-d); display:inline-flex; align-items:center; gap:.6em;
}
.eyebrow::before{content:""; width:.62em; height:.62em; background:var(--teal); display:inline-block}
.eyebrow--light{color:var(--teal)}
.section{padding:clamp(64px,9vw,120px) 0; position:relative}
.section__head{max-width:760px; margin-bottom:clamp(36px,5vw,60px)}
.section__title{font-size:clamp(1.9rem,4vw,3rem); margin-top:.5rem; color:var(--ink)}
.section__lead{margin-top:1rem; font-size:1.06rem; color:var(--mute); max-width:62ch}
.section--navy{background:var(--navy); color:#DDE8F0}
.section--navy .section__title{color:var(--white)}
.section--navy .section__lead{color:#9FC9E4}
.section--panel{background:var(--panel)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.55em; font-family:var(--sans);
  font-weight:600; font-size:.95rem; padding:.8em 1.4em; border-radius:2px;
  border:1px solid transparent; cursor:pointer; transition:transform .18s var(--ease),background .18s,color .18s,border-color .18s;
  letter-spacing:.01em;
}
.btn:hover{transform:translateY(-2px)}
.btn--primary{background:var(--teal); color:var(--navy)}
.btn--primary:hover{background:#3ad0cd}
.btn--ghost{background:transparent; color:var(--white); border-color:var(--navy-line-2)}
.btn--ghost:hover{border-color:var(--teal); color:var(--teal)}
.btn--dark{background:var(--navy); color:var(--white)}
.btn--dark:hover{background:var(--navy-2)}
.btn__arrow{transition:transform .18s var(--ease)}
.btn:hover .btn__arrow{transform:translateX(3px)}

/* ============================================================ NAV */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:50; height:74px; display:flex; align-items:center;
  background:transparent; transition:background .3s,box-shadow .3s,height .3s;
}
.nav.is-stuck{background:rgba(9,31,51,.92); backdrop-filter:blur(10px); box-shadow:0 1px 0 rgba(255,255,255,.06); height:64px}
.nav__inner{display:flex; align-items:center; justify-content:space-between; width:100%}
.nav__logo{height:26px; width:auto}
.nav__links{display:flex; align-items:center; gap:clamp(18px,2.2vw,34px)}
.nav__link{font-size:.9rem; font-weight:500; color:#CBD8E3; letter-spacing:.01em; position:relative; padding:6px 0}
.nav__link::after{content:""; position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--teal); transition:width .22s var(--ease)}
.nav__link:hover{color:#fff}
.nav__link:hover::after{width:100%}
.nav__cta{padding:.55em 1.1em; font-size:.85rem}
.nav__toggle{display:none; background:none; border:0; cursor:pointer; padding:8px}
.nav__toggle span{display:block; width:24px; height:2px; background:#fff; margin:5px 0; transition:.25s}

/* ============================================================ HERO */
.hero{position:relative; background:var(--navy); color:#fff; overflow:hidden; padding-top:74px}
.hero__grid{display:grid; grid-template-columns:1.05fr .95fr; min-height:calc(100vh - 74px)}
.hero__content{padding:clamp(40px,7vh,90px) clamp(20px,4vw,64px) clamp(40px,7vh,80px) max(24px,calc((100vw - var(--maxw))/2 + 24px)); display:flex; flex-direction:column; justify-content:center; max-width:760px}
.hero__eyebrow{margin-bottom:1.4rem}
.hero__title{font-size:clamp(2.3rem,4.6vw,4rem); letter-spacing:-.02em}
.hero__title em{font-style:normal; color:var(--teal)}
.hero__sub{margin-top:1.4rem; font-size:1.12rem; color:#AFC4D6; max-width:52ch}
.hero__actions{display:flex; flex-wrap:wrap; gap:14px; margin-top:2.2rem}
.hero__pills{display:flex; flex-wrap:wrap; gap:10px; margin-top:2.6rem}
.pill{font-size:.82rem; font-weight:500; color:#CFE6E5; border:1px solid var(--navy-line-2); background:var(--navy-2); border-radius:999px; padding:.42em 1em}
.hero__media{position:relative}
.hero__media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.hero__scrim{position:absolute; inset:0;
  background:linear-gradient(90deg,var(--navy) 0%,rgba(12,39,64,.55) 22%,rgba(12,39,64,.28) 55%,rgba(10,31,51,.55) 100%);
}
.hero__chip{position:absolute; left:-56px; bottom:52px; background:rgba(10,31,51,.86); backdrop-filter:blur(6px);
  border:1px solid var(--navy-line-2); border-radius:8px; padding:16px 20px; display:flex; gap:18px; box-shadow:0 20px 40px -20px rgba(0,0,0,.6)}
.hero__stat{display:flex; flex-direction:column}
.hero__stat b{font-family:var(--serif); font-size:1.7rem; color:#fff; line-height:1}
.hero__stat span{font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:#9FC9E4; margin-top:6px}
.hero__stat--accent b{color:var(--teal)}

/* ============================================================ TRUST STRIP */
.trust{background:var(--navy-3); color:#CBD8E3; padding:26px 0}
.trust__inner{display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap}
.trust__line{font-size:1rem; color:#AFC4D6}
.trust__line b{color:#fff; font-weight:600}
.trust__tags{display:flex; gap:26px; flex-wrap:wrap; font-size:.82rem; letter-spacing:.06em; color:#8FB6D0}
.trust__tags span{display:inline-flex; align-items:center; gap:.5em}
.trust__tags span::before{content:""; width:6px; height:6px; background:var(--teal); border-radius:50%}

/* ============================================================ GAP (numbered) */
.gap-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px}
.gap-card{background:var(--white); border:1px solid var(--line); border-radius:6px; padding:34px 30px}
.gap-card__n{font-family:var(--serif); font-size:4.4rem; line-height:.9; color:var(--teal); font-weight:600}
.gap-card__rule{width:44px; height:2px; background:var(--line-d); margin:18px 0}
.gap-card h3{font-size:1.24rem; color:var(--ink)}
.gap-card p{margin-top:.6rem; color:var(--mute); font-size:.98rem}
.statement{margin-top:clamp(34px,5vw,52px); background:var(--navy); color:#fff; border-radius:8px; padding:clamp(30px,5vw,46px); text-align:center}
.statement h3{font-size:clamp(1.5rem,3vw,2.2rem)}
.statement h3 em{font-style:normal; color:var(--teal)}

/* ============================================================ MODEL (maturity) */
.levels{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; align-items:end}
.level{border-radius:8px; padding:26px 24px; border:1px solid var(--line); background:#fff; position:relative}
.level--dark{background:var(--navy); border-color:transparent; color:#fff}
.level__bar{position:absolute; top:0; left:0; width:100%; height:5px; background:var(--teal); border-radius:8px 8px 0 0}
.level__k{font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--teal-d); font-weight:600}
.level--dark .level__k{color:var(--teal)}
.level h3{font-size:1.16rem; margin-top:.4rem; color:var(--ink)}
.level--dark h3{color:#fff}
.level p{margin-top:.7rem; font-size:.92rem; color:var(--mute)}
.level--dark p{color:#B9CEDF}
.level:nth-child(1){margin-bottom:0}
.level:nth-child(2){margin-bottom:22px}
.level:nth-child(3){margin-bottom:44px}
.level:nth-child(4){margin-bottom:66px}
.model-note{text-align:center; margin-top:34px; font-family:var(--serif); font-size:clamp(1.2rem,2.4vw,1.7rem); color:var(--ink)}
.model-note em{font-style:normal; color:var(--teal-d)}

/* ============================================================ PROCESS / OPERATING MODEL */
.flow{display:grid; grid-template-columns:repeat(5,1fr); gap:14px}
.flow__step{background:var(--navy-2); border-radius:8px; padding:22px 18px; position:relative}
.flow__step .role{font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--teal); font-weight:600}
.flow__step h4{font-family:var(--serif); color:#fff; font-size:1.05rem; margin:.35rem 0 .6rem}
.flow__step ul{margin:0; padding-left:1.1em; color:#B9CEDF; font-size:.86rem}
.flow__step li{margin:.15rem 0}
.gov-layer{margin-top:16px; background:var(--navy-3); border:1px solid var(--navy-line); border-radius:8px; padding:18px 24px; display:flex; align-items:center; gap:18px; flex-wrap:wrap}
.gov-layer b{color:var(--teal); letter-spacing:.08em; font-size:.82rem; text-transform:uppercase}
.gov-layer .items{display:flex; gap:20px; flex-wrap:wrap; color:#E6F1F8; font-size:.9rem; font-weight:500}
.gov-layer .items span{display:inline-flex; align-items:center; gap:.5em}
.gov-layer .items span::before{content:""; width:7px;height:7px;background:var(--teal)}
.flow-note{margin-top:26px; text-align:center; font-family:var(--serif); font-size:clamp(1.1rem,2.2vw,1.5rem); color:#fff}
.flow-note em{font-style:normal;color:var(--teal)}

/* ============================================================ CAPABILITIES */
.caps{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.cap{background:#fff; border:1px solid var(--line); border-radius:6px; padding:26px 24px; transition:transform .2s var(--ease),box-shadow .2s}
.cap:hover{transform:translateY(-4px); box-shadow:0 20px 40px -26px rgba(12,39,64,.45)}
.cap h3{font-size:1.12rem; color:var(--ink); display:flex; align-items:center; gap:.6rem}
.cap h3::before{content:""; width:10px; height:10px; background:var(--teal); flex:0 0 auto}
.cap ul{margin:.9rem 0 0; padding:0; list-style:none; color:var(--mute); font-size:.92rem}
.cap li{padding:.12rem 0}

/* ============================================================ HEALTHCARE ARCH */
.arch{display:flex; flex-direction:column; gap:14px}
.arch__apex{background:var(--navy); color:#fff; border-radius:8px; padding:20px 26px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px}
.arch__apex b{font-family:var(--serif); font-size:1.2rem; letter-spacing:.04em}
.arch__apex span{color:#9FC9E4; font-size:.9rem; font-style:italic}
.arch__row{display:grid; grid-template-columns:repeat(6,1fr); gap:12px}
.arch__node{background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:16px 12px; text-align:center; font-weight:600; font-family:var(--serif); font-size:.95rem; color:var(--ink)}
.arch__label{text-align:center; color:var(--teal-d); font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; font-weight:600; margin:8px 0}
.arch__groups{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.arch__g{background:#fff; border:1px solid var(--line); border-radius:6px; padding:22px}
.arch__g h4{font-family:var(--serif); font-size:1.08rem; color:var(--ink)}
.arch__g p{margin-top:.5rem; color:var(--mute); font-size:.9rem}

/* ============================================================ COMMAND CENTRE (dashboard) */
.dash{background:var(--navy); border-radius:12px; padding:clamp(20px,3vw,30px); box-shadow:0 40px 80px -40px rgba(0,0,0,.6)}
.dash__bar{display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #23425C; padding-bottom:16px; margin-bottom:20px}
.dash__bar b{color:#fff; font-family:var(--serif); font-size:1.15rem}
.dash__dots{display:flex; gap:18px; font-size:.78rem; color:#9FC9E4}
.dash__dots span{display:inline-flex; align-items:center; gap:.45em}
.dash__dots span::before{content:""; width:9px;height:9px;border-radius:50%;background:var(--teal)}
.kpis{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:18px}
.kpi{background:var(--navy-2); border-radius:8px; padding:16px 18px; border-left:3px solid var(--teal)}
.kpi b{display:block; font-family:var(--serif); font-size:1.9rem; color:#fff; line-height:1}
.kpi span{font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:#9FC9E4}
.dash__panels{display:grid; grid-template-columns:1.4fr 1fr; gap:16px}
.panel{background:var(--navy-3); border-radius:8px; padding:18px 20px}
.panel h5{margin:0 0 14px; font-family:var(--sans); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:#9FC9E4; font-weight:600}
.bar-row{display:grid; grid-template-columns:88px 1fr 38px; align-items:center; gap:10px; margin:9px 0; font-size:.85rem}
.bar-row .lab{color:#D3E3EF; font-weight:600}
.bar-track{height:16px; background:#16324A; border-radius:3px; overflow:hidden}
.bar-fill{height:100%; border-radius:3px; background:var(--teal)}
.bar-fill.blue{background:var(--blue)}
.bar-row .val{color:#fff; font-weight:600; text-align:right}
.alerts{display:flex; gap:8px; flex-wrap:wrap; margin-top:14px}
.alert{background:#16324A; border:1px solid #2C5170; border-radius:999px; padding:.32em .8em; font-size:.76rem; color:#C7DBEA}
.alert b{color:var(--teal)}

/* ============================================================ SOLUTIONS */
.sols{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.sol{background:#fff; border:1px solid var(--line); border-radius:8px; overflow:hidden; transition:transform .2s var(--ease),box-shadow .2s}
.sol:hover{transform:translateY(-4px); box-shadow:0 22px 44px -26px rgba(12,39,64,.4)}
.sol__mock{height:120px; background:var(--navy); position:relative; overflow:hidden}
.sol__mock::before{content:""; position:absolute; top:0;left:0;right:0; height:14px; background:var(--navy-3)}
.sol__mock i{position:absolute; border-radius:2px}
.sol__body{padding:18px 20px}
.sol__body h4{font-family:var(--serif); font-size:1.05rem; color:var(--ink)}
.sol__body p{margin-top:.35rem; color:var(--mute); font-size:.86rem}
.sols__note{margin-top:26px; text-align:center; color:var(--mute); font-size:.92rem; font-style:italic}
.sols__note b{font-style:normal; color:var(--ink)}

/* ============================================================ ECOSYSTEM (svg hub) */
.eco{display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,64px); align-items:center}
.eco__svg{width:100%; height:auto}
.eco__copy h2{color:#fff}
.eco__copy p{color:#9FC9E4; margin-top:1rem}
.eco__quote{margin-top:1.6rem; border-left:3px solid var(--teal); padding-left:18px; color:#CFE0EC; font-family:var(--serif); font-size:1.15rem; font-style:italic}

/* ============================================================ COMMERCIAL */
.formula{display:flex; align-items:stretch; gap:14px; flex-wrap:wrap; justify-content:center}
.formula__item{flex:1 1 180px; background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:20px; text-align:center; font-family:var(--serif); font-weight:600; color:var(--ink); display:flex; align-items:center; justify-content:center}
.formula__item.accent{background:var(--navy); color:#fff}
.formula__plus{display:flex; align-items:center; color:var(--teal); font-size:1.6rem; font-weight:700}
.commit{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:30px}
.commit__i{background:#fff; border:1px solid var(--line); border-radius:6px; padding:14px 16px; font-size:.9rem; font-weight:600; color:var(--ink); display:flex; align-items:center; gap:.6em}
.commit__i::before{content:""; width:11px;height:11px;background:var(--teal); flex:0 0 auto}

/* ============================================================ WHY (pillars) */
.pillars{display:grid; grid-template-columns:repeat(4,1fr); gap:22px}
.pillar{background:#fff; border:1px solid var(--line); border-radius:8px; padding:26px 24px; position:relative}
.pillar__n{font-family:var(--serif); font-size:2rem; color:var(--panel-2); font-weight:600}
.pillar h3{font-size:1.12rem; color:var(--ink); margin-top:.2rem}
.pillar p{margin-top:.6rem; color:var(--mute); font-size:.92rem}
.pillar__how{margin-top:16px; padding-top:12px; border-top:1px solid var(--line); font-size:.82rem; color:var(--ink)}
.pillar__how b{color:var(--teal-d); letter-spacing:.06em; font-size:.72rem}
.why-statement{margin-top:clamp(34px,5vw,50px); background:var(--navy); border-radius:10px; padding:clamp(30px,5vw,48px); display:flex; align-items:center; gap:28px; flex-wrap:wrap}
.why-statement img{height:64px; width:auto}
.why-statement div{flex:1 1 320px}
.why-statement .muted{color:#6E8DA4; font-family:var(--serif); font-size:clamp(1.2rem,2.4vw,1.7rem); font-weight:600}
.why-statement .lead{color:#fff; font-family:var(--serif); font-size:clamp(1.5rem,3vw,2.1rem); font-weight:600; margin-top:.2rem}

/* ============================================================ SCALE + ROADMAP */
.split{display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,56px)}
.scale-steps{display:flex; flex-direction:column; gap:10px}
.scale-step{display:flex; align-items:center; gap:14px}
.scale-step .dot{width:12px;height:12px;background:var(--teal);border-radius:50%;flex:0 0 auto}
.scale-step .box{flex:1; background:#fff; border:1px solid var(--line); border-radius:6px; padding:12px 16px}
.scale-step:nth-child(4) .box,.scale-step:nth-child(5) .box{background:var(--navy); color:#fff; border-color:transparent}
.scale-step .box b{font-family:var(--serif); font-size:1rem}
.scale-step .box span{display:block; color:var(--mute); font-size:.82rem}
.scale-step:nth-child(n+4) .box span{color:#B9CEDF}
.timeline{display:flex; flex-direction:column; gap:12px}
.phase{background:#fff; border:1px solid var(--line); border-radius:6px; padding:14px 18px; position:relative; padding-left:26px}
.phase::before{content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--teal); border-radius:6px 0 0 6px}
.phase .wk{font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--teal-d); font-weight:600}
.phase b{font-family:var(--serif); display:block; color:var(--ink)}
.phase span{color:var(--mute); font-size:.85rem}

/* ============================================================ CONTACT / CTA */
.cta{position:relative; background:var(--navy); color:#fff; overflow:hidden}
.cta__bg{position:absolute; inset:0}
.cta__bg img{width:100%;height:100%;object-fit:cover}
.cta__scrim{position:absolute; inset:0; background:linear-gradient(90deg,var(--navy) 30%,rgba(10,31,51,.72) 100%)}
.cta__inner{position:relative; display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(30px,5vw,60px); align-items:center; padding:clamp(60px,8vw,110px) 0}
.cta__title{font-size:clamp(2rem,4vw,3.2rem)}
.cta__title em{font-style:normal; color:var(--teal)}
.cta__tag{margin-top:1rem; color:var(--teal); font-family:var(--serif); font-style:italic; font-size:1.15rem}
.engage{background:var(--navy-2); border:1px solid var(--navy-line-2); border-radius:10px; padding:30px}
.engage h4{font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--navy); background:var(--teal); display:inline-block; padding:.5em 1em; border-radius:3px; font-family:var(--sans); font-weight:700}
.engage ul{list-style:none; margin:20px 0 0; padding:0}
.engage li{display:flex; align-items:center; gap:.7em; padding:.35rem 0; font-weight:500; color:#fff}
.engage li::before{content:""; width:11px;height:11px;background:var(--teal); flex:0 0 auto}
.engage .btn{margin-top:22px; width:100%; justify-content:center}

/* ============================================================ FOOTER */
.footer{background:var(--navy-3); color:#9FB3C4; padding:56px 0 30px}
.footer__grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:36px; padding-bottom:36px; border-bottom:1px solid var(--navy-line)}
.footer__logo{height:26px; margin-bottom:16px}
.footer p{font-size:.92rem; max-width:40ch}
.footer h5{color:#fff; font-family:var(--sans); font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; margin:0 0 14px}
.footer ul{list-style:none; margin:0; padding:0}
.footer li{margin:.4rem 0}
.footer a{font-size:.92rem; color:#B9CEDF}
.footer a:hover{color:var(--teal)}
.footer__base{display:flex; justify-content:space-between; align-items:center; padding-top:22px; font-size:.82rem; color:#6E8298; flex-wrap:wrap; gap:10px}

/* ============================================================ REVEAL */
.reveal{opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1; transform:none}

/* ============================================================ RESPONSIVE */
@media (max-width:960px){
  .hero__grid{grid-template-columns:1fr}
  .hero__media{min-height:320px; position:relative}
  .hero__chip{display:none}
  .gap-grid,.caps,.sols,.commit{grid-template-columns:repeat(2,1fr)}
  .levels,.flow,.pillars{grid-template-columns:repeat(2,1fr)}
  .level{margin-bottom:0 !important}
  .arch__row{grid-template-columns:repeat(3,1fr)}
  .arch__groups{grid-template-columns:1fr}
  .dash__panels,.eco,.split,.cta__inner{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr 1fr}
  .nav__links{display:none}
  .nav__links.open{display:flex; position:absolute; top:64px; left:0; right:0; flex-direction:column; background:rgba(9,31,51,.98); padding:18px 24px; gap:14px; align-items:flex-start}
  .nav__toggle{display:block}
}
@media (max-width:600px){
  .gap-grid,.caps,.sols,.commit,.levels,.flow,.pillars,.kpis,.arch__row{grid-template-columns:1fr}
  .trust__inner{flex-direction:column; align-items:flex-start}
  .why-statement{flex-direction:column; align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto !important}
  .reveal{opacity:1; transform:none; transition:none}
  .btn:hover,.cap:hover,.sol:hover{transform:none}
}

/* ============================================================
   ENHANCEMENTS — anchor offset, hover micro-interactions, parallax
   ============================================================ */

/* fix: keep section headings clear of the fixed navbar on anchor jumps */
.section, .cta, .hero{ scroll-margin-top: 88px; }

/* parallax images sit slightly oversized so movement never reveals edges */
.parallax-img{ height:120% !important; top:-10% !important; will-change: transform; }
@media (prefers-reduced-motion: reduce){
  .parallax-img{ height:100% !important; top:0 !important; transform:none !important; }
}

/* primary button — soft teal glow on hover */
.btn--primary{ transition: transform .18s var(--ease), background .18s, box-shadow .25s var(--ease); }
.btn--primary:hover{ box-shadow: 0 10px 30px -8px rgba(23,190,187,.55); }

/* maturity levels — lift + teal edge */
.level{ transition: transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s; }
.level:hover{ transform: translateY(-6px); box-shadow: 0 24px 44px -26px rgba(12,39,64,.5); }
.level:not(.level--dark):hover{ border-color: var(--teal); }

/* why-partnerd pillars */
.pillar{ transition: transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s; }
.pillar:hover{ transform: translateY(-6px); box-shadow: 0 24px 44px -26px rgba(12,39,64,.45); border-color: var(--teal); }
.pillar:hover .pillar__n{ color: var(--teal); transition: color .22s; }

/* execution-gap cards */
.gap-card{ transition: transform .22s var(--ease), box-shadow .22s var(--ease); }
.gap-card:hover{ transform: translateY(-5px); box-shadow: 0 22px 40px -26px rgba(12,39,64,.4); }

/* solution tiles — subtle inner zoom on hover (mock is CSS-drawn) */
.sol__mock{ transition: transform .35s var(--ease); }
.sol:hover .sol__mock{ transform: scale(1.03); }

/* commercial formula chips + governance commitments */
.formula__item, .commit__i{ transition: transform .18s var(--ease), border-color .18s, box-shadow .18s; }
.formula__item:not(.accent):hover, .commit__i:hover{ transform: translateY(-3px); border-color: var(--teal); box-shadow: 0 14px 28px -20px rgba(12,39,64,.35); }

/* healthcare architecture nodes */
.arch__node{ transition: transform .18s var(--ease), border-color .18s, background .18s; }
.arch__node:hover{ transform: translateY(-3px); border-color: var(--teal); background:#fff; }

/* dashboard KPI tiles */
.kpi{ transition: transform .2s var(--ease), box-shadow .2s var(--ease); }
.kpi:hover{ transform: translateY(-4px); box-shadow: 0 18px 34px -22px rgba(0,0,0,.5); }

/* scale steps + roadmap phases */
.scale-step .box, .phase{ transition: transform .18s var(--ease), box-shadow .18s var(--ease); }
.scale-step .box:hover, .phase:hover{ transform: translateX(4px); box-shadow: 0 16px 30px -24px rgba(12,39,64,.4); }

/* capability cards already lift; add teal heading cue */
.cap:hover h3{ color: var(--teal-d); transition: color .2s; }

/* ============================================================
   REPOSITIONING — new components (transformation content)
   ============================================================ */
.caps--4{ grid-template-columns:repeat(4,1fr); }
.caps--2{ grid-template-columns:repeat(2,1fr); }
@media (max-width:960px){ .caps--4,.caps--2{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:600px){ .caps--4,.caps--2{ grid-template-columns:1fr;} }

.cap .cap__sub{ font-size:.74rem; color:var(--teal-d); font-style:italic; margin-top:-.2rem; margin-bottom:.5rem; }
.section__kicker{ font-family:var(--serif); font-size:1.15rem; color:var(--ink); margin:0 0 .8rem; }
.section--navy .section__kicker{ color:#fff; }

/* positioning band */
.position{ background:var(--navy); color:#fff; }
.position .lifecycle{ display:flex; flex-wrap:wrap; gap:10px; margin-top:1.4rem; }
.position .lifecycle span{ background:var(--navy-2); border:1px solid var(--navy-line-2); border-radius:999px; padding:.5em 1.1em; font-weight:600; font-size:.9rem; color:#CFE6E5; }
.position .lifecycle span.arrow{ background:none; border:none; color:var(--teal); padding:.5em .2em; }

/* 5-level model */
.levels5{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
@media (max-width:1000px){ .levels5{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:600px){ .levels5{ grid-template-columns:1fr;} }
.lvl{ background:#fff; border:1px solid var(--line); border-radius:8px; padding:22px 20px; position:relative; transition:transform .22s var(--ease),box-shadow .22s,border-color .22s; }
.lvl:hover{ transform:translateY(-6px); box-shadow:0 24px 44px -26px rgba(12,39,64,.5); border-color:var(--teal); }
.lvl--dark{ background:var(--navy); border-color:transparent; color:#fff; }
.lvl__bar{ position:absolute; top:0; left:0; height:5px; width:100%; background:var(--teal); border-radius:8px 8px 0 0; }
.lvl__k{ font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--teal-d); font-weight:600; }
.lvl--dark .lvl__k{ color:var(--teal); }
.lvl h3{ font-size:1.05rem; margin:.35rem 0 .5rem; color:var(--ink); }
.lvl--dark h3{ color:#fff; }
.lvl p{ font-size:.86rem; color:var(--mute); }
.lvl--dark p{ color:#B9CEDF; }

/* chip rows / pipelines (citizen experience) */
.chiprow{ display:flex; flex-wrap:wrap; gap:10px; margin-top:.6rem; }
.chiprow span{ background:var(--panel); border:1px solid var(--line); border-radius:999px; padding:.45em 1em; font-weight:600; font-size:.86rem; color:var(--ink); }
.section--navy .chiprow span{ background:var(--navy-2); border-color:var(--navy-line-2); color:#CFE6E5; }
.flowline{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:.6rem; }
.flowline span{ background:var(--navy); color:#fff; border-radius:6px; padding:.4em .8em; font-weight:600; font-size:.82rem; }
.flowline b{ color:var(--teal); font-weight:700; }
.cx-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
@media (max-width:800px){ .cx-grid{ grid-template-columns:1fr; } }
.cx{ background:#fff; border:1px solid var(--line); border-radius:8px; padding:24px; }
.cx h4{ font-family:var(--serif); font-size:1.1rem; color:var(--ink); }
.cx p{ color:var(--mute); font-size:.92rem; margin-top:.4rem; }
.cx ul{ margin:.6rem 0 0; padding-left:1.1em; color:var(--mute); font-size:.9rem; }

/* AI steps */
.ai-steps{ display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
@media (max-width:1000px){ .ai-steps{ grid-template-columns:repeat(3,1fr);} }
@media (max-width:600px){ .ai-steps{ grid-template-columns:repeat(2,1fr);} }
.ai-step{ background:var(--navy-2); border-radius:8px; padding:18px; border-top:3px solid var(--teal); }
.ai-step b{ font-family:var(--serif); color:#fff; font-size:1.05rem; display:block; margin-bottom:.3rem; }
.ai-step span{ color:#B9CEDF; font-size:.84rem; }
.ai-tag{ text-align:center; margin-top:26px; color:var(--teal); font-weight:600; letter-spacing:.04em; }

/* illustrative badge */
.badge--illus{ background:rgba(23,190,187,.14); color:var(--teal); border:1px solid rgba(23,190,187,.4); border-radius:999px; padding:.3em .9em; font-size:.72rem; font-weight:600; letter-spacing:.04em; }
.dash__cats{ display:grid; grid-template-columns:repeat(6,1fr); gap:12px; margin-top:16px; }
@media (max-width:1000px){ .dash__cats{ grid-template-columns:repeat(3,1fr);} }
@media (max-width:600px){ .dash__cats{ grid-template-columns:repeat(2,1fr);} }
.dash__cat{ background:var(--navy-3); border-radius:8px; padding:14px; }
.dash__cat b{ color:#fff; font-size:.9rem; display:block; margin-bottom:.25rem; }
.dash__cat span{ color:#9FC9E4; font-size:.76rem; }

/* verticals reuse caps; governance blocks reuse caps */
/* training list */
.training{ columns:3; column-gap:32px; }
@media (max-width:900px){ .training{ columns:2; } }
@media (max-width:600px){ .training{ columns:1; } }
.training li{ break-inside:avoid; list-style:none; padding:.35rem 0 .35rem 1.4em; position:relative; color:var(--ink); }
.training li::before{ content:""; position:absolute; left:0; top:.7em; width:8px; height:8px; background:var(--teal); }

/* engagement steps (numbered) */
.engage-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:800px){ .engage-steps{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:520px){ .engage-steps{ grid-template-columns:1fr;} }
.estep{ background:#fff; border:1px solid var(--line); border-radius:8px; padding:22px; transition:transform .2s var(--ease),box-shadow .2s; }
.estep:hover{ transform:translateY(-4px); box-shadow:0 20px 38px -26px rgba(12,39,64,.4); }
.estep .n{ font-family:var(--serif); color:var(--teal-d); font-weight:600; font-size:1.1rem; }
.estep h4{ font-family:var(--serif); color:var(--ink); font-size:1.05rem; margin:.2rem 0 .4rem; }
.estep p{ color:var(--mute); font-size:.86rem; }

/* discuss-a-programme list in CTA */
.discuss{ list-style:none; margin:14px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:6px 18px; }
.discuss li{ color:#CFE6E5; font-size:.9rem; padding-left:1.1em; position:relative; }
.discuss li::before{ content:""; position:absolute; left:0; top:.55em; width:7px;height:7px;background:var(--teal); }
.contact-line{ margin-top:18px; color:#fff; font-weight:600; }
.contact-line a{ color:var(--teal); }

.disclaimer{ margin-top:22px; font-size:.84rem; color:var(--mute); font-style:italic; }
.section--navy .disclaimer{ color:#8FB6D0; }

/* 5-up pillars (Why Partnerd) — responsive */
.pillars--5{ grid-template-columns:repeat(5,1fr); }
@media (max-width:1000px){ .pillars--5{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .pillars--5{ grid-template-columns:1fr; } }

/* fix: positioning band text must be light on its navy background */
.position .section__title{ color:#fff; }
.position .section__lead{ color:#9FC9E4; }
.position .eyebrow{ color:var(--teal); }

/* ============================================================
   THREE-ENGINE STRATEGY — People · Technology · Managed Services
   ============================================================ */
.engines{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media (max-width:900px){ .engines{ grid-template-columns:1fr; } }
.engine{ background:var(--navy); color:#fff; border-radius:12px; padding:32px 28px; position:relative; overflow:hidden; transition:transform .22s var(--ease),box-shadow .22s; }
.engine:hover{ transform:translateY(-6px); box-shadow:0 30px 60px -30px rgba(12,39,64,.55); }
.engine::before{ content:""; position:absolute; top:0; left:0; right:0; height:6px; background:var(--teal); }
.engine .num{ font-family:var(--serif); font-size:2.4rem; color:rgba(23,190,187,.35); font-weight:600; }
.engine .tag{ font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--teal); font-weight:600; }
.engine h3{ font-family:var(--serif); font-size:1.6rem; margin:.2rem 0 .3rem; color:#fff; }
.engine .lead{ color:#9FC9E4; font-size:.95rem; }
.engine ul{ list-style:none; margin:1rem 0 0; padding:0; }
.engine li{ color:#CFE6E5; font-size:.92rem; padding:.22rem 0 .22rem 1.1em; position:relative; }
.engine li::before{ content:""; position:absolute; left:0; top:.6em; width:7px; height:7px; background:var(--teal); }

/* flywheel */
.flywheel{ display:flex; align-items:stretch; justify-content:center; gap:0; flex-wrap:wrap; }
.fw{ background:#fff; border:1px solid var(--line); border-radius:8px; padding:18px 20px; min-width:150px; flex:1 1 150px; max-width:220px; text-align:center; }
.fw .k{ font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--teal-d); font-weight:600; }
.fw b{ font-family:var(--serif); display:block; color:var(--ink); font-size:1.02rem; margin-top:.2rem; }
.fw span{ color:var(--mute); font-size:.8rem; display:block; margin-top:.2rem; }
.fw-arrow{ display:flex; align-items:center; color:var(--teal); font-size:1.5rem; font-weight:700; padding:0 8px; }
@media (max-width:820px){ .fw-arrow{ transform:rotate(90deg); padding:6px 0; width:100%; justify-content:center; } .flywheel{ flex-direction:column; align-items:stretch;} .fw{ max-width:none; } }
.fw--dark{ background:var(--navy); border-color:transparent; }
.fw--dark .k{ color:var(--teal); } .fw--dark b{ color:#fff; } .fw--dark span{ color:#B9CEDF; }

/* economics build-up */
.econ{ display:grid; grid-template-columns:1.25fr 1fr; gap:clamp(28px,4vw,52px); align-items:center; }
@media (max-width:820px){ .econ{ grid-template-columns:1fr; } }
.econ-rows{ display:flex; flex-direction:column; gap:12px; }
.econ-row{ display:grid; grid-template-columns:1fr auto; align-items:center; gap:14px; background:var(--navy-2); border-radius:8px; padding:14px 18px; }
.econ-row .lab{ color:#E6F1F8; font-weight:600; font-size:.95rem; }
.econ-row .lab span{ display:block; color:#9FC9E4; font-size:.78rem; font-weight:400; }
.econ-row .val{ font-family:var(--serif); color:var(--teal); font-weight:600; font-size:1.15rem; white-space:nowrap; }
.econ-total{ background:var(--teal); color:var(--navy); }
.econ-total .lab{ color:var(--navy); } .econ-total .val{ color:var(--navy); font-size:1.5rem; }
.econ-note{ }
.econ-note .big{ font-family:var(--serif); font-size:clamp(2.4rem,5vw,3.6rem); color:#fff; font-weight:600; line-height:1; }
.econ-note .cap{ color:#9FC9E4; margin-top:.6rem; font-size:1rem; }
.illus-band{ display:inline-block; background:rgba(23,190,187,.14); color:var(--teal); border:1px solid rgba(23,190,187,.4); border-radius:999px; padding:.4em 1.1em; font-size:.8rem; font-weight:600; letter-spacing:.03em; margin-bottom:1.2rem; }

/* talent network */
.network{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:.4rem; }
.network span{ background:var(--navy-2); border:1px solid var(--navy-line-2); border-radius:999px; padding:.55em 1.2em; color:#CFE6E5; font-weight:600; font-size:.92rem; }
.network span.hub{ background:var(--teal); color:var(--navy); border-color:var(--teal); }

/* three-word hero accent */
.hero__title .tw{ color:#fff; } .hero__title .tw em{ color:var(--teal); font-style:normal; }
