
:root{
  --navy:#07182f; --navy2:#0d2a4f; --navy3:#031022; --teal:#17c9bd; --teal2:#0fa69e;
  --cyan:#45d8ff; --gold:#d3b16b; --white:#fff; --soft:#f4f7fb; --ink:#09182b; --muted:#667488; --line:#dde8f2;
  --shadow:0 24px 70px rgba(5,18,38,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:white;line-height:1.6}
.topbar{position:fixed;z-index:50;top:0;left:0;right:0;height:96px;padding:0 4.8vw;display:flex;align-items:center;justify-content:space-between;background:rgba(3,16,34,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.09)}
.logo{display:flex;align-items:center;background:white;border-radius:12px;padding:7px 14px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.logo img{height:58px;width:auto;display:block}
nav{display:flex;align-items:center;gap:24px}
nav a{color:white;text-decoration:none;text-transform:uppercase;font-size:.82rem;font-weight:800}
nav a:hover{color:var(--teal)}
.nav-btn{border:1px solid var(--teal);border-radius:6px;padding:14px 20px;color:white!important}
.dropdown{position:relative}
.drop-menu{display:none;position:absolute;top:26px;left:-20px;min-width:310px;background:white;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:12px}
.drop-menu a{display:block;color:var(--ink);padding:10px 12px;text-transform:none;font-weight:700}
.dropdown:hover .drop-menu{display:block}
.menu{display:none;color:white;background:none;border:0;font-size:1.8rem}

.hero,.page-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 86% 26%,rgba(69,216,255,.27),transparent 26%),linear-gradient(110deg,var(--navy3),var(--navy) 56%,var(--navy2));color:white}
.hero{min-height:720px;padding:180px 5.3vw 125px}
.page-hero{padding:180px 5.3vw 96px}
.page-hero.small{min-height:420px}
.hero-content{max-width:760px;position:relative;z-index:2}
.kicker{color:var(--teal);text-transform:uppercase;letter-spacing:.16em;font-weight:900;font-size:.86rem;margin:0 0 18px}
.center{text-align:center}
h1,h2,h3{line-height:1.1;margin:0 0 18px}
h1{font-size:clamp(2.5rem,5vw,5.2rem);letter-spacing:-.045em}
h2{font-size:clamp(2rem,3.2vw,3.5rem);letter-spacing:-.035em}
h3{font-size:1.22rem}
em{font-style:normal;color:var(--teal)}
.lead{font-size:1.22rem;max-width:780px;color:#d9e5ef}
.actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:34px}
.btn{display:inline-block;text-decoration:none;border-radius:7px;padding:16px 28px;font-weight:900;border:0;cursor:pointer}
.primary{background:linear-gradient(135deg,var(--teal),var(--teal2));color:white;box-shadow:0 14px 30px rgba(23,201,189,.28)}
.ghost{border:1px solid rgba(255,255,255,.32);color:white}
.hero-bg{position:absolute;inset:0}
.world-map{position:absolute;right:17%;top:14%;width:48%;height:50%;background:radial-gradient(circle,#18cfc5 1px,transparent 2px);background-size:12px 12px;opacity:.16;border-radius:45%}
.growth-chart{position:absolute;right:4vw;bottom:108px;width:38vw;height:335px;display:flex;align-items:end;gap:17px;opacity:.96}
.growth-chart span{width:7%;background:linear-gradient(to top,#0b4d7d,#18d7e8);box-shadow:0 0 24px rgba(69,216,255,.25)}
.growth-chart i{position:absolute;right:4%;top:0;width:70%;height:4px;background:linear-gradient(90deg,transparent,#45d8ff);transform:rotate(-27deg);box-shadow:0 0 20px #45d8ff}
.growth-chart i:after{content:"";position:absolute;right:-14px;top:-11px;border-left:26px solid #45d8ff;border-top:13px solid transparent;border-bottom:13px solid transparent}

.credential-card{position:relative;z-index:5;margin:-55px 5.3vw 0;background:white;border-radius:12px;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(5,1fr);padding:25px}
.credential-card div{padding:0 22px;border-right:1px solid var(--line);display:grid;grid-template-columns:48px 1fr;column-gap:14px;align-items:center}
.credential-card div:last-child{border-right:0}
.credential-card svg,.icon svg{width:44px;height:44px;stroke:var(--teal2);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.credential-card b{display:block;font-size:1.03rem}
.credential-card span{display:block;color:var(--muted);font-size:.9rem;grid-column:2}
.dark-impact{margin:0 5.3vw;padding:42px 4vw;background:linear-gradient(135deg,var(--navy3),var(--navy2));color:white;border-radius:0 0 12px 12px}
.metric-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:24px}
.metric-grid div{border-right:1px solid rgba(255,255,255,.22);padding:8px 20px}
.metric-grid div:last-child{border-right:0}
.metric-grid strong{display:block;color:var(--teal);font-family:Georgia,serif;font-size:2.35rem}
.metric-grid span{color:#e8f0f7;font-size:.94rem}
.section{padding:88px 5.3vw}
.muted{background:linear-gradient(180deg,#f7fafc,#eef4f8)}
.solution-row,.service-grid,.education-grid,.role-grid,.ledger-grid,.engagement-models,.why-grid,.insight-grid{display:grid;gap:22px}
.solution-row{grid-template-columns:repeat(3,1fr)}
.solution-row article,.service-detail,.education-grid article,.role-card,.ledger-grid article,.engagement-models article,.why-grid article,.insight-grid article{background:white;border:1px solid var(--line);border-radius:14px;padding:27px;box-shadow:0 10px 36px rgba(7,22,42,.07)}
.solution-row .icon,.service-head .icon,.engagement-models .icon{display:inline-grid;place-items:center;width:62px;height:62px;border-radius:16px;background:#edf8f7;margin-bottom:16px}
.solution-row p,.service-detail p,.education-grid p,.role-card p,.ledger-grid p,.engagement-models p,.why-grid p,.insight-grid p,.split p,.contact p{color:var(--muted)}
.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.education-grid{grid-template-columns:repeat(3,1fr)}
.education-grid span,.insight-grid span{display:inline-block;color:var(--teal2);font-size:1.8rem;font-weight:900;margin-bottom:16px}
.role-grid{grid-template-columns:repeat(4,1fr)}
.role-card{display:flex;gap:16px;align-items:flex-start}
.company-logo,.mini-logo{flex:0 0 auto;display:inline-grid;place-items:center;background:linear-gradient(135deg,var(--navy2),var(--teal2));color:white;font-weight:900;border-radius:12px}
.company-logo{width:62px;height:62px}
.mini-logo{width:42px;height:42px;margin-right:12px;font-size:.78rem}
.service-grid{grid-template-columns:repeat(3,1fr)}
.service-head{display:flex;align-items:center;justify-content:space-between}
.service-head span{font-size:2.1rem;color:var(--navy2);font-weight:900}
.impact-table-wrap{overflow:auto;background:white;border-radius:16px;box-shadow:var(--shadow);border:1px solid var(--line)}
.impact-table{width:100%;border-collapse:collapse;min-width:980px}
.impact-table th{background:var(--navy2);color:white;text-align:left;padding:18px}
.impact-table td{padding:18px;border-bottom:1px solid var(--line);vertical-align:top}
.impact-table td:first-child{font-weight:900;color:var(--navy2);min-width:240px}
.ledger-grid{grid-template-columns:repeat(4,1fr)}
.engagement-models,.why-grid{grid-template-columns:repeat(4,1fr)}
.insight-grid{grid-template-columns:repeat(3,1fr)}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:50px}
form{background:white;border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:var(--shadow);display:grid;gap:15px}
input,select,textarea{width:100%;padding:15px;border:1px solid var(--line);border-radius:8px;font:inherit}
textarea{min-height:130px}
.footer{display:flex;justify-content:space-between;gap:30px;padding:34px 5.3vw;background:var(--navy3);color:#b9c5d2}
.footer img{height:68px;background:white;border-radius:10px;padding:8px}
.footer strong{color:white}

@media(max-width:1120px){
  .menu{display:block}
  nav{display:none;position:absolute;top:96px;left:0;right:0;background:var(--navy3);flex-direction:column;align-items:flex-start;padding:24px 5.3vw}
  nav.open{display:flex}
  .dropdown:hover .drop-menu{display:none}
  .drop-menu{position:static;box-shadow:none;margin-top:10px}
  .growth-chart{opacity:.32;width:70vw}
  .credential-card,.metric-grid,.solution-row,.service-grid,.education-grid,.role-grid,.ledger-grid,.engagement-models,.why-grid,.insight-grid,.contact,.split{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .hero{padding-top:150px;min-height:650px}
  .logo img{height:48px}
  .credential-card,.metric-grid,.solution-row,.service-grid,.education-grid,.role-grid,.ledger-grid,.engagement-models,.why-grid,.insight-grid,.contact,.split{grid-template-columns:1fr}
  .credential-card div,.metric-grid div{border-right:0;border-bottom:1px solid var(--line)}
  .footer{flex-direction:column}
}


/* Company logo treatment for About page */
.logo-role {
  align-items: center;
  min-height: 132px;
}

.company-logo-wrap {
  flex: 0 0 112px;
  width: 112px;
  height: 76px;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 14px;
  display: grid;
  place-items: center;
  padding: 12px;
  box-shadow: 0 8px 24px rgba(7, 22, 42, .06);
}

.company-logo-wrap img {
  max-width: 100%;
  max-height: 52px;
  object-fit: contain;
  display: block;
}

.company-logo-fallback {
  display: none;
  width: 54px;
  height: 54px;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  font-weight: 900;
  background: linear-gradient(135deg, var(--navy2), var(--teal2));
}

@media(max-width:680px){
  .logo-role {
    align-items: flex-start;
  }
  .company-logo-wrap {
    width: 100px;
    height: 70px;
    flex-basis: 100px;
  }
}


/* Mobile-first refinements */
img, svg {
  max-width: 100%;
}

@media (max-width: 1120px) {
  body {
    overflow-x: hidden;
  }

  .topbar {
    height: 82px;
    padding: 0 20px;
  }

  .logo {
    padding: 5px 9px;
    border-radius: 10px;
  }

  .logo img {
    height: 48px;
  }

  nav {
    top: 82px;
    max-height: calc(100vh - 82px);
    overflow-y: auto;
    gap: 0;
  }

  nav a,
  .dropdown > a {
    width: 100%;
    padding: 14px 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }

  .nav-btn {
    margin-top: 12px;
    text-align: center;
    width: 100%;
  }

  .dropdown {
    width: 100%;
  }

  .dropdown .drop-menu {
    display: block;
    position: static;
    min-width: auto;
    width: 100%;
    margin: 0 0 12px;
    padding: 8px 12px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: none;
  }

  .dropdown .drop-menu a {
    color: #dbe8f3;
    font-size: .82rem;
    padding: 9px 0;
    border-bottom: 0;
  }

  .hero,
  .page-hero {
    padding-left: 24px;
    padding-right: 24px;
  }

  .credential-card,
  .dark-impact,
  .section {
    margin-left: 24px;
    margin-right: 24px;
  }

  .section {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (max-width: 760px) {
  .hero {
    min-height: auto;
    padding-top: 132px;
    padding-bottom: 78px;
  }

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

  .page-hero.small {
    min-height: auto;
  }

  h1 {
    font-size: clamp(2.15rem, 11vw, 3.25rem);
  }

  h2 {
    font-size: clamp(1.75rem, 8vw, 2.55rem);
  }

  .lead {
    font-size: 1.05rem;
  }

  .actions {
    flex-direction: column;
  }

  .btn {
    width: 100%;
    text-align: center;
    padding: 15px 20px;
  }

  .growth-chart {
    right: -35vw;
    bottom: 42px;
    width: 100vw;
    height: 230px;
    opacity: .18;
  }

  .world-map {
    right: -30%;
    width: 100%;
    height: 45%;
    opacity: .11;
  }

  .credential-card {
    margin-top: -34px;
    padding: 12px;
    border-radius: 14px;
  }

  .credential-card div {
    grid-template-columns: 42px 1fr;
    padding: 16px 10px;
  }

  .credential-card svg,
  .icon svg {
    width: 38px;
    height: 38px;
  }

  .dark-impact {
    padding: 28px 18px;
  }

  .metric-grid {
    gap: 10px;
  }

  .metric-grid div {
    padding: 16px 8px;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.16);
  }

  .metric-grid strong {
    font-size: 2rem;
  }

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

  .solution-row article,
  .service-detail,
  .education-grid article,
  .role-card,
  .ledger-grid article,
  .engagement-models article,
  .why-grid article,
  .insight-grid article {
    padding: 22px;
  }

  .role-card {
    flex-direction: column;
  }

  .company-logo-wrap {
    width: 118px;
    height: 78px;
  }

  .contact {
    gap: 28px;
  }

  form {
    padding: 22px;
  }

  .impact-table-wrap {
    margin-left: -4px;
    margin-right: -4px;
    border-radius: 12px;
  }

  .impact-table {
    min-width: 820px;
    font-size: .92rem;
  }

  .impact-table th,
  .impact-table td {
    padding: 14px;
  }

  .footer {
    padding: 28px 24px;
  }
}

@media (max-width: 420px) {
  .topbar {
    padding: 0 14px;
  }

  .logo img {
    height: 42px;
  }

  .hero,
  .page-hero {
    padding-left: 18px;
    padding-right: 18px;
  }

  .credential-card,
  .dark-impact,
  .section {
    margin-left: 18px;
    margin-right: 18px;
  }

  .kicker {
    font-size: .74rem;
    letter-spacing: .13em;
  }

  h1 {
    font-size: 2.05rem;
  }

  .service-head {
    align-items: flex-start;
    gap: 14px;
  }

  .service-head span {
    font-size: 1.65rem;
  }
}

.cookie-banner{position:fixed;bottom:20px;left:20px;right:20px;background:#07182f;color:#fff;padding:16px;border-radius:12px;z-index:9999;display:flex;gap:12px;justify-content:space-between;align-items:center}
.cookie-banner button{padding:10px 14px;border-radius:6px;border:0}
.cookie-accept{background:#17c9bd;color:#fff}
.cookie-settings{background:#fff}

.legal-links{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.legal-links a{color:#dbe8f3;text-decoration:none;font-size:.92rem}
.legal-links a:hover{color:var(--teal)}
.legal-page{max-width:980px}
.legal-page h2{font-size:1.7rem;margin-top:34px}
.legal-page h3{font-size:1.15rem;margin-top:20px}
.legal-page p{color:var(--muted)}
.consent-line{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--muted)}
.consent-line input{width:auto;margin-top:5px}
.cookie-banner{position:fixed;bottom:20px;left:20px;right:20px;background:#07182f;color:#fff;padding:18px;border-radius:14px;z-index:9999;display:flex;gap:18px;justify-content:space-between;align-items:flex-start;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.cookie-banner p{margin:0;color:#dbe8f3}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.cookie-banner button{padding:10px 14px;border-radius:7px;border:0;cursor:pointer;font-weight:800}
.cookie-accept{background:#17c9bd;color:#fff}
.cookie-reject,.cookie-settings{background:#fff;color:#07182f}
.cookie-panel{position:fixed;inset:auto 20px 20px auto;max-width:430px;background:#fff;color:#09182b;border-radius:14px;z-index:10000;padding:22px;box-shadow:0 18px 60px rgba(0,0,0,.35)}
.cookie-panel h3{margin-top:0}
.cookie-panel label{display:block;margin:12px 0;color:#667488}
.cookie-panel input{width:auto;margin-right:8px}
@media(max-width:760px){.cookie-banner{flex-direction:column;left:12px;right:12px;bottom:12px}.cookie-actions{width:100%;justify-content:stretch}.cookie-actions button{flex:1}.cookie-panel{left:12px;right:12px;bottom:12px;max-width:none}.legal-links{flex-direction:column;align-items:flex-start}}


/* Premium typography enhancement */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Manrope:wght@600;700;800&display=swap');

:root {
  --heading-font: 'Manrope', Inter, Arial, sans-serif;
  --body-font: 'Inter', Arial, sans-serif;
  --heading-ink: #04152b;
  --body-ink: #5f6b7a;
}

body {
  font-family: var(--body-font);
  font-size: 18px;
  line-height: 1.8;
  font-weight: 400;
  color: var(--heading-ink);
}

h1,
h2,
h3,
h4,
.logo,
.nav-btn,
.metric-grid strong,
.credential-card b {
  font-family: var(--heading-font);
  color: inherit;
}

h1 {
  font-size: clamp(3rem, 6vw, 5.8rem);
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 1.03;
}

h2 {
  font-size: clamp(2.1rem, 3.5vw, 3.7rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.08;
  color: var(--heading-ink);
}

h3 {
  font-size: 1.38rem;
  font-weight: 800;
  letter-spacing: -0.025em;
  color: var(--heading-ink);
}

p,
li,
td,
input,
select,
textarea,
.legal-page p,
.service-detail p,
.solution-row p,
.education-grid p,
.role-card p,
.ledger-grid p,
.engagement-models p,
.why-grid p,
.insight-grid p,
.split p,
.contact p {
  color: var(--body-ink);
  font-weight: 400;
}

.lead {
  font-size: 1.24rem;
  line-height: 1.75;
  font-weight: 500;
  color: #dce8f2;
}

.kicker,
.impact-table th,
nav a {
  font-family: var(--body-font);
  font-weight: 800;
  letter-spacing: 0.16em;
}

.section > h2.center::after,
.section .center + .solution-row::before,
.section .center + .service-grid::before {
  content: none;
}

.section h2.center::after,
.split h2::after,
.legal-page h2::after {
  content: "";
  width: 72px;
  height: 4px;
  display: block;
  margin: 20px auto 0;
  background: linear-gradient(90deg, var(--teal), var(--cyan));
  border-radius: 99px;
}

.split h2::after,
.legal-page h2::after {
  margin-left: 0;
}

.solution-row article,
.service-detail,
.education-grid article,
.role-card,
.ledger-grid article,
.engagement-models article,
.why-grid article,
.insight-grid article {
  font-size: 0.98rem;
}

.role-card h3 {
  font-size: 1.2rem;
  margin-bottom: 6px;
}

.role-card p {
  font-size: 0.96rem;
  font-weight: 500;
}

.impact-table th {
  font-size: 0.78rem;
  text-transform: uppercase;
  color: white;
}

.impact-table td {
  font-size: 0.96rem;
  line-height: 1.7;
}

.impact-table td:first-child {
  font-family: var(--heading-font);
  font-size: 1.05rem;
  font-weight: 800;
}

.ledger-grid .kicker,
.case-grid .kicker {
  font-size: 0.72rem;
  color: var(--teal2);
}

.legal-page {
  font-size: 1.04rem;
}

.legal-page h2 {
  font-size: 2rem;
  margin-top: 44px;
  margin-bottom: 16px;
}

.legal-page h3 {
  font-size: 1.22rem;
  font-weight: 800;
}

.metric-grid strong {
  font-size: clamp(2rem, 3.2vw, 3rem);
  font-weight: 800;
}

.credential-card b {
  font-size: 1.12rem;
  font-weight: 800;
}

.credential-card span,
.metric-grid span {
  font-size: 0.95rem;
  line-height: 1.55;
}

@media(max-width:760px) {
  body {
    font-size: 16.5px;
    line-height: 1.75;
  }

  h1 {
    font-size: clamp(2.35rem, 12vw, 3.5rem);
    letter-spacing: -0.045em;
  }

  h2 {
    font-size: clamp(1.85rem, 9vw, 2.7rem);
  }

  h3 {
    font-size: 1.22rem;
  }

  .lead {
    font-size: 1.04rem;
  }

  .section h2.center::after,
  .split h2::after,
  .legal-page h2::after {
    width: 58px;
    height: 3px;
  }
}


/* Refined typography override */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

body{
  font-family:'Inter',Arial,sans-serif;
  font-size:17px;
  line-height:1.75;
}

h1,h2,h3,h4,.logo,.metric-grid strong,.credential-card b{
  font-family:'Inter',Arial,sans-serif;
}

h1{
  font-size:clamp(2.6rem,4.6vw,4.6rem);
  font-weight:700;
  letter-spacing:-0.035em;
  line-height:1.08;
}

h2{
  font-size:clamp(1.8rem,2.8vw,2.9rem);
  font-weight:700;
  letter-spacing:-0.025em;
  line-height:1.15;
}

h3{
  font-size:1.15rem;
  font-weight:700;
  letter-spacing:-0.01em;
}

.lead{
  font-size:1.12rem;
  font-weight:400;
}

.kicker{
  font-size:.78rem;
}

.role-card h3,
.service-detail h3,
.solution-row h3,
.ledger-grid h3,
.engagement-models h3,
.why-grid h3,
.insight-grid h3{
  font-size:1.12rem;
}

.metric-grid strong{
  font-size:clamp(1.8rem,2.8vw,2.5rem);
}

.legal-page h2{
  font-size:1.6rem;
}

.section h2.center::after,
.split h2::after,
.legal-page h2::after{
  width:52px;
  margin-top:14px;
}

@media(max-width:760px){
 h1{font-size:clamp(2rem,9vw,3rem);}
 h2{font-size:clamp(1.55rem,7vw,2.2rem);}
 body{font-size:16px;}
}


/* IBM Plex Sans + Inter typography */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');

body{
  font-family:'Inter', Arial, sans-serif;
}

h1,h2,h3,h4,h5,h6,
.logo,
.nav-btn,
.metric-grid strong,
.credential-card b,
.service-head span{
  font-family:'IBM Plex Sans', Arial, sans-serif;
}

h1{
  font-size:clamp(2.5rem,4.4vw,4.4rem);
  font-weight:700;
  letter-spacing:-0.03em;
}

h2{
  font-size:clamp(1.8rem,2.7vw,2.8rem);
  font-weight:700;
}

h3{
  font-size:1.12rem;
  font-weight:600;
}

.metric-grid strong{
  font-weight:700;
}

.role-card h3,
.service-detail h3,
.solution-row h3,
.ledger-grid h3,
.engagement-models h3,
.why-grid h3,
.insight-grid h3{
  font-weight:600;
}

@media(max-width:760px){
 h1{font-size:clamp(2rem,8vw,3rem);}
 h2{font-size:clamp(1.5rem,6vw,2.15rem);}
}

/* Executive Profile section update */
.executive-profile-section {
  padding-top: 70px;
}

.executive-profile-card {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 44px;
  align-items: center;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 36px;
  box-shadow: 0 18px 54px rgba(7, 22, 42, .10);
}

.executive-photo-wrap {
  background: linear-gradient(135deg, #eef6f8, #ffffff);
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid var(--line);
}

.executive-photo-wrap img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.executive-profile-copy h2 {
  margin-bottom: 8px;
}

.executive-profile-copy h3 {
  color: var(--teal2);
  margin-bottom: 16px;
}

.executive-profile-copy p {
  max-width: 900px;
}

.executive-credentials {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  margin-top: 26px;
}

.executive-credentials div {
  background: #f5f8fb;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 16px;
}

.executive-credentials strong {
  display: block;
  color: var(--heading-ink, #07182f);
  font-weight: 800;
  line-height: 1.2;
}

.executive-credentials span {
  display: block;
  color: var(--body-ink, #5f6b7a);
  font-size: .9rem;
  line-height: 1.45;
  margin-top: 6px;
}

@media(max-width: 980px) {
  .executive-profile-card {
    grid-template-columns: 1fr;
  }

  .executive-photo-wrap {
    max-width: 360px;
  }

  .executive-credentials {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media(max-width: 620px) {
  .executive-profile-card {
    padding: 22px;
  }

  .executive-photo-wrap img {
    height: 360px;
  }

  .executive-credentials {
    grid-template-columns: 1fr;
  }
}

/* Final company logo updates */
.logo-role {
  align-items: center;
  min-height: 134px;
}

.company-logo-wrap {
  flex: 0 0 128px;
  width: 128px;
  height: 86px;
  border: 1px solid var(--line);
  background: #ffffff;
  border-radius: 14px;
  display: grid;
  place-items: center;
  padding: 12px;
  box-shadow: 0 8px 24px rgba(7,22,42,.06);
}

.company-logo-wrap img {
  max-width: 100%;
  max-height: 58px;
  object-fit: contain;
  display: block;
}

.impact-logo-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
}

.impact-logo-grid div {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  min-height: 130px;
  padding: 18px;
  display: grid;
  place-items: center;
  text-align: center;
  box-shadow: 0 8px 26px rgba(7,22,42,.06);
}

.impact-logo-grid img {
  max-width: 140px;
  max-height: 60px;
  object-fit: contain;
  margin-bottom: 12px;
}

.impact-logo-grid span {
  color: var(--body-ink, #5f6b7a);
  font-weight: 700;
  font-size: .9rem;
}

@media(max-width: 980px) {
  .impact-logo-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media(max-width: 620px) {
  .company-logo-wrap {
    width: 118px;
    height: 78px;
    flex-basis: 118px;
  }
  .impact-logo-grid {
    grid-template-columns: 1fr;
  }
}

.impact-company-reference{
 display:grid;
 grid-template-columns:repeat(5,1fr);
 gap:14px;
 margin:0 0 24px;
}
.impact-company{
 background:#fff;
 border:1px solid var(--line);
 border-radius:12px;
 padding:12px;
 text-align:center;
}
.impact-company img{
 max-width:120px;
 max-height:48px;
 object-fit:contain;
 display:block;
 margin:0 auto 8px;
}
.impact-company span{
 font-size:.85rem;
 font-weight:700;
}
@media(max-width:900px){
 .impact-company-reference{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:600px){
 .impact-company-reference{grid-template-columns:1fr;}
}

/* Logos embedded directly inside Challenge-Action-Impact company headings */
.impact-company-title {
  display: flex !important;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}

.impact-company-title img {
  width: 88px;
  max-width: 88px;
  height: 52px;
  object-fit: contain;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 8px;
  flex: 0 0 88px;
}

.impact-company-title span {
  display: block;
}

.impact-company-title small {
  display: block;
  color: var(--body-ink, #5f6b7a);
  font-size: .78rem;
  font-weight: 600;
  margin-top: 3px;
}

.impact-table .impact-company-title {
  margin-bottom: 0;
}

.impact-table .impact-company-title img {
  width: 78px;
  max-width: 78px;
  height: 44px;
  flex-basis: 78px;
}

@media(max-width: 620px) {
  .impact-company-title {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  .impact-company-title img {
    width: 104px;
    max-width: 104px;
    height: 56px;
  }
}

.impact-client{
 display:flex;
 align-items:center;
 gap:10px;
}
.impact-client img{
 width:72px;
 height:40px;
 object-fit:contain;
 background:#fff;
 border:1px solid #e5e7eb;
 border-radius:6px;
 padding:4px;
 flex:0 0 72px;
}
.impact-client span{
 font-weight:700;
}

/* Service category and bullet list updates */
.home-service-categories article {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 170px;
}

.service-link {
  display: inline-flex;
  margin-top: 18px;
  color: var(--teal2, #0fa69e);
  font-weight: 800;
  text-decoration: none;
}

.service-link:hover {
  text-decoration: underline;
}

.service-bullets {
  margin: 18px 0 0;
  padding-left: 20px;
  color: var(--body-ink, #5f6b7a);
}

.service-bullets li {
  margin-bottom: 9px;
  line-height: 1.55;
}

.service-detail .service-head {
  margin-bottom: 10px;
}

/* Final Services page bullet-card layout */
.section-heading {
  max-width: 860px;
  margin-bottom: 34px;
}

.section-heading p:not(.kicker) {
  color: var(--body-ink, #5f6b7a);
}

.service-bullet-card {
  display: flex;
  flex-direction: column;
}

.service-bullet-card .service-head {
  margin-bottom: 8px;
}

.service-bullets {
  margin: 16px 0 0;
  padding-left: 20px;
  color: var(--body-ink, #5f6b7a);
}

.service-bullets li {
  margin-bottom: 9px;
  line-height: 1.55;
}

.service-bullets li::marker {
  color: var(--teal2, #0fa69e);
}

.service-bullet-card h3 {
  margin-bottom: 8px;
}

/* Final rebuilt Services page - no empty bullets */
.services-clean-grid .service-bullet-card {
  display: flex;
  flex-direction: column;
}

.service-number {
  font-size: 2.3rem;
  font-weight: 900;
  color: var(--navy2, #0d2a4f);
  margin-bottom: 18px;
  line-height: 1;
}

.services-clean-grid .service-bullets {
  margin: 18px 0 0;
  padding-left: 1.2rem;
  list-style-position: outside;
}

.services-clean-grid .service-bullets li {
  margin-bottom: 9px;
  line-height: 1.55;
}

.services-clean-grid .service-bullets li:empty,
.services-clean-grid .service-bullets li.blank {
  display: none !important;
}

.services-clean-grid .service-bullets li::marker {
  color: var(--teal2, #0fa69e);
}


/* Service anchor offset for sticky header */
.service-detail{
  scroll-margin-top:120px;
}

@media (max-width:768px){
  .service-detail{
    scroll-margin-top:90px;
  }
}

/* Restored Home services category section */
.home-services-section {
  background: #fff;
}

.home-service-categories article {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 170px;
  text-align: left;
}

.home-service-categories h3 {
  margin-bottom: 24px;
}

.service-link {
  display: inline-flex;
  margin-top: auto;
  color: var(--teal2, #0fa69e);
  font-weight: 800;
  text-decoration: none;
}

.service-link:hover {
  text-decoration: underline;
}

/* Consultation form updates */
.consultation-form label {
  display: grid;
  gap: 7px;
}

.consultation-form label span {
  font-weight: 700;
  color: var(--heading-ink, #07182f);
  font-size: .95rem;
}

.consultation-form label em {
  color: var(--body-ink, #5f6b7a);
  font-style: normal;
  font-weight: 500;
}

.phone-row {
  display: grid;
  grid-template-columns: 0.75fr 1.25fr;
  gap: 14px;
}

.consultation-form .consent-line {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

.consultation-form .consent-line input {
  width: auto;
  margin-top: 5px;
  flex: 0 0 auto;
}

.consultation-form .consent-line span {
  font-weight: 500;
  color: var(--body-ink, #5f6b7a);
}

.form-note {
  color: var(--body-ink, #5f6b7a);
  font-size: .9rem;
  margin: 0;
}

@media(max-width: 700px) {
  .phone-row {
    grid-template-columns: 1fr;
  }
}
