:root{
 --navy:#071d31;--navy2:#0b2c47;--ink:#0b2940;--slate:#52677a;--teal:#159b68;--teal2:#24c486;
 --white:#fff;--cloud:#f5f8fa;--line:#dbe5eb;--max:1440px;--radius:14px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}
a{color:inherit;text-decoration:none}.container{width:min(var(--max),calc(100% - 7vw));margin:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:100;background:#fff;padding:.7rem}
.site-header{height:76px;background:rgba(255,255,255,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(10,40,62,.08);backdrop-filter:blur(10px)}
.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:.65rem;min-width:max-content}.brand-mark{width:58px;height:40px}.brand-copy{display:flex;flex-direction:column}.brand-copy strong{letter-spacing:.16em;font-size:1rem}.brand-copy em{font-style:normal;color:#159b68}.brand-copy small{font-size:.46rem;letter-spacing:.17em;color:#65788a;margin-top:.15rem}
.primary-nav{display:flex;align-items:center;gap:2rem;font-size:.82rem}.primary-nav a{padding:.4rem 0}.primary-nav a.active{border-bottom:2px solid var(--teal)}.primary-nav .nav-cta{background:var(--navy2);color:#fff;padding:.75rem 1.25rem;border-radius:8px}.menu-button{display:none;border:1px solid var(--line);background:#fff;border-radius:8px;padding:.55rem .8rem}
.hero{min-height:590px;position:relative;overflow:hidden;background:linear-gradient(105deg,#06192b 0%,#0a2a44 56%,#123e59 100%);color:#fff}.hero-art{position:absolute;inset:0;overflow:hidden}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,18,31,.95) 0%,rgba(3,18,31,.73) 40%,rgba(3,18,31,.18) 75%,rgba(3,18,31,.48) 100%)}.network{position:absolute;right:-2%;top:2%;width:67%;height:100%;opacity:.9}.grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to left,#000,transparent 85%)}.orb{position:absolute;border-radius:50%;filter:blur(55px);opacity:.3}.orb-a{width:420px;height:420px;background:#19cbbb;right:13%;top:12%}.orb-b{width:280px;height:280px;background:#4283bd;right:37%;bottom:-10%}
.hero-grid{position:relative;z-index:2;min-height:590px;display:grid;grid-template-columns:1.55fr .65fr;gap:10vw;align-items:center}.hero-copy{max-width:800px}.eyebrow{text-transform:uppercase;letter-spacing:.27em;font-weight:700;font-size:.7rem;color:#5c7588;margin:0 0 1rem}.eyebrow.light{color:#a8e9e3}.hero h1{font-size:clamp(3rem,5.4vw,5.8rem);line-height:.95;letter-spacing:-.045em;margin:.3rem 0 1.4rem}.hero h1 span{color:var(--teal2)}.lead{font-size:clamp(1.05rem,1.5vw,1.35rem);max-width:720px;color:#e6eef3}.actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;border-radius:999px;padding:1rem 1.5rem;font-weight:700;font-size:.9rem;transition:.2s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--teal2);color:#052335}.button.ghost{border:1px solid rgba(255,255,255,.75);color:#fff}.button.compact{padding:.75rem 1.25rem;margin-top:1rem}.hero-points{border-left:1px solid rgba(255,255,255,.16);padding-left:2rem}.micro{font-size:.72rem;letter-spacing:.22em;line-height:1.7;font-weight:700;margin-bottom:2rem}.benefit{display:flex;align-items:center;gap:1rem;margin:1rem 0;text-transform:uppercase;font-size:.7rem;letter-spacing:.14em;font-weight:700}.benefit .icon{font-size:1.35rem;color:var(--teal2)}
.section{padding:5rem 0}.section.soft{background:linear-gradient(180deg,#f7fafb,#edf4f7)}.section.dark{background:linear-gradient(120deg,#061b2d,#0a3551);color:#fff}.section-intro.split{display:grid;grid-template-columns:1fr .8fr;gap:7vw;align-items:end;margin-bottom:2.5rem}.section-intro h2,.sector-grid h2,.outcomes h2,.cta-grid h2{font-size:clamp(2rem,3vw,3.1rem);line-height:1.05;letter-spacing:-.035em;margin:0}.section-intro>p{font-size:1.05rem;color:var(--slate);max-width:620px}.cards.six{display:grid;grid-template-columns:repeat(6,1fr);gap:.75rem}.card{border:1px solid #e7eef2;border-radius:var(--radius);padding:1.45rem;min-height:250px;box-shadow:0 8px 28px rgba(12,47,70,.05);background:#fff}.card h3{font-size:1rem;line-height:1.15;margin:1rem 0 .75rem}.card p{font-size:.85rem;color:var(--slate)}.line-icon{font-size:1.8rem;color:#0e9695}.pillars{display:grid;grid-template-columns:repeat(5,1fr);margin-top:2.5rem}.pillars>div{padding:0 1.7rem;border-right:1px solid #cfdee6}.pillars>div:first-child{padding-left:0}.pillars>div:last-child{border:0}.pillars b{font-size:1.6rem;color:#0c9998}.pillars h3{font-size:.95rem}.pillars p{font-size:.82rem;color:var(--slate)}
.sector-grid{display:grid;grid-template-columns:.7fr 1fr;gap:5vw;align-items:center}.sector-grid>div:first-child>p:not(.eyebrow){color:#d3e1e8}.sector-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.sector-tiles div{min-height:130px;display:flex;align-items:end;justify-content:center;text-align:center;padding:1rem;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:linear-gradient(145deg,rgba(43,113,146,.48),rgba(4,29,47,.75));font-weight:700}
.outcomes{display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:0}.stat{padding:0 1.5rem;border-left:1px solid var(--line);display:flex;flex-direction:column}.stat strong{font-size:1.55rem;color:var(--navy2)}.stat span{font-size:.8rem;color:var(--slate);margin-top:.4rem}
.cta-section{padding:3.2rem 0;background:linear-gradient(120deg,#edf7fa,#f7fbfc)}.cta-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:5vw;align-items:center}.cta-grid p{color:var(--slate);max-width:780px}.cta-action{display:flex;flex-direction:column;align-items:center;gap:.7rem}.cta-action small{color:var(--slate)}
.site-footer{padding:2rem 0;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:3rem}.footer-grid nav{display:flex;gap:1.5rem;font-size:.8rem}.footer-grid>p{font-size:.7rem;color:var(--slate)}
@media(max-width:1100px){.cards.six{grid-template-columns:repeat(3,1fr)}.pillars{grid-template-columns:repeat(3,1fr);gap:2rem}.pillars>div{border:0;padding:0}.outcomes{grid-template-columns:repeat(2,1fr);gap:2rem}.outcomes>div:first-child{grid-column:1/-1}.stat{border-left:0;padding:0}.primary-nav{gap:1rem}}
@media(max-width:800px){.container{width:min(100% - 2rem,var(--max))}.site-header{height:68px}.brand-copy strong{font-size:.82rem}.brand-copy small{display:none}.brand-mark{width:48px}.menu-button{display:block}.primary-nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;padding:1rem;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.primary-nav.open{display:flex}.primary-nav .nav-cta{text-align:center}.hero-grid{grid-template-columns:1fr;padding:4.5rem 0 3rem;gap:2rem}.hero-points{display:none}.network{width:130%;right:-55%;opacity:.55}.hero h1{font-size:clamp(3rem,14vw,4.6rem)}.section{padding:3.5rem 0}.section-intro.split,.sector-grid,.cta-grid{grid-template-columns:1fr;gap:1.5rem}.cards.six{grid-template-columns:repeat(2,1fr)}.pillars{grid-template-columns:repeat(2,1fr)}.sector-tiles{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr}.footer-grid nav{flex-wrap:wrap}}
@media(max-width:520px){.cards.six,.pillars,.sector-tiles,.outcomes{grid-template-columns:1fr}.card{min-height:auto}.actions{flex-direction:column}.button{width:100%}.hero{min-height:650px}.hero-grid{min-height:650px}.section-intro h2,.sector-grid h2,.outcomes h2,.cta-grid h2{font-size:2.15rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* V3 photographic visual refresh */
.hero-art{
  background:
    linear-gradient(90deg,rgba(3,18,31,.94) 0%,rgba(3,18,31,.72) 38%,rgba(3,18,31,.15) 69%,rgba(3,18,31,.38) 100%),
    url("../assets/images/hero-network-mountains.jpg") center 48%/cover no-repeat !important;
}
.hero-art .orb,.hero-art .grid-lines,.hero-art .network{display:none!important}
.sector-tile{background-size:cover!important;background-position:center!important}
.sector-tile:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,24,38,.72),rgba(3,24,38,.08));z-index:1}
.sector-tile span{z-index:2!important}
.sector-tile.fs{background-image:url("../assets/images/financial-services.jpg")!important}
.sector-tile.ps{background-image:url("../assets/images/professional-services.jpg")!important}
.sector-tile.pub{background-image:url("../assets/images/public-sector.jpg")!important}
.sector-tile.tech{background-image:url("../assets/images/technology-saas.jpg")!important}
.sector-tile.legal{background-image:url("../assets/images/legal.jpg")!important}
.sector-tile.grow{background-image:url("../assets/images/growing-businesses.jpg")!important}
.legal-page{padding:5rem 0}.legal-wrap{max-width:920px}.legal-page h1{font-size:clamp(2.5rem,5vw,4rem);line-height:1.05}
.legal-page h2{margin-top:2.2rem}.legal-page p,.legal-page li{color:#40586b}.notice{background:#f0f8f4;border-left:4px solid #159b68;padding:1rem 1.2rem;margin:1.5rem 0}
.legal-links{font-size:.75rem;color:#52677a}.legal-links a{text-decoration:underline;text-underline-offset:3px}

/* V3.1 service-card visual redesign */
.card{
  position:relative;
  overflow:hidden;
  padding:1.45rem 1.35rem 1.5rem;
  min-height:275px;
  border:1px solid #dce8e3;
  background:linear-gradient(155deg,#fff 58%,#f5fbf8 100%);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.card:after{
  content:"";position:absolute;width:110px;height:110px;border-radius:50%;
  right:-55px;top:-55px;background:rgba(36,196,134,.07);pointer-events:none;
}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(7,45,49,.10);border-color:#b8ddcd}
.service-icon{
  width:68px;height:68px;display:flex;align-items:center;justify-content:center;
  margin:0 0 1.15rem;padding:.45rem;border-radius:16px;
  background:linear-gradient(145deg,#eefaf5,#fff);
  border:1px solid #d7eee4;
  box-shadow:0 5px 15px rgba(21,155,104,.07);
}
.service-icon img{display:block;width:56px;height:56px}
.card h3{margin:.25rem 0 .75rem;font-size:1.04rem;line-height:1.18}
.card p{margin:0;font-size:.86rem;line-height:1.55}
@media(max-width:800px){
  .cards.six{grid-template-columns:1fr!important;gap:.85rem}
  .card{
    min-height:0;display:grid;grid-template-columns:76px 1fr;grid-template-rows:auto auto;
    column-gap:1rem;align-items:center;padding:1rem 1.1rem;
  }
  .service-icon{grid-row:1/3;width:70px;height:70px;margin:0}
  .service-icon img{width:58px;height:58px}
  .card h3{grid-column:2;margin:0 0 .3rem;font-size:1.05rem}
  .card p{grid-column:2;margin:0;font-size:.84rem}
}
@media(max-width:420px){
  .card{grid-template-columns:64px 1fr;column-gap:.8rem}
  .service-icon{width:60px;height:60px;border-radius:14px}
  .service-icon img{width:50px;height:50px}
}

/* V4 */
.hero-art{background:linear-gradient(90deg,rgba(3,18,31,.82) 0%,rgba(3,18,31,.68) 24%,rgba(3,18,31,.38) 43%,rgba(3,18,31,.08) 65%,rgba(3,18,31,.18) 100%),url("../assets/images/hero-network-mountains.jpg") 54% 48%/cover no-repeat!important}
.sector-tile{min-height:180px!important;position:relative;overflow:hidden;background-size:cover!important;background-position:center!important;display:flex!important;align-items:flex-end!important;justify-content:stretch!important;padding:0!important}
.sector-tile:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,20,34,.28),rgba(3,20,34,.02) 60%)!important;z-index:1}
.sector-tile span{position:relative;z-index:2!important;width:100%;padding:.8rem 1rem .85rem 1.15rem;background:rgba(5,29,48,.90);border-top:2px solid #24c486;color:#fff;text-align:left;font-weight:700}
.hero-new-icon{width:46px!important;height:46px!important;display:flex!important;align-items:center!important;justify-content:center!important}
.hero-new-icon img{width:42px;height:42px;display:block}
.value-icon{width:58px;height:58px;display:flex;align-items:center;justify-content:center;margin:0 0 1rem;border-radius:14px;background:#fff;border:1px solid #d9ebe4;box-shadow:0 5px 14px rgba(7,45,49,.06)}
.value-icon img{width:50px;height:50px}
@media(max-width:900px){.sector-tiles{grid-template-columns:repeat(2,1fr)!important}.sector-tile{min-height:165px!important}}
@media(max-width:560px){.sector-tiles{grid-template-columns:1fr!important}.sector-tile{min-height:180px!important}.hero-art{background-position:62% 50%!important}}

/* V4.1 logo and sector sharpness refinement */
.sector-tile span{
 display:flex!important;align-items:center;gap:.72rem;
}
.sector-tile span b{font:inherit;color:inherit}
.sector-icon{
 width:34px;height:34px;flex:0 0 34px;display:block;
 filter:none!important;
}

/* V4.2 Case Studies */
.cs-page{background:#f6f9fb;color:#0b2940}.cs-hero{color:#fff;background:linear-gradient(90deg,rgba(3,18,31,.93),rgba(3,18,31,.68) 48%,rgba(3,18,31,.24)),url("../assets/images/hero-network-mountains.jpg") 50% 52%/cover no-repeat}.cs-hero-inner{padding:4.8rem 1.25rem 5rem;max-width:1180px}.cs-hero h1{font-size:clamp(2.7rem,5vw,5rem);line-height:.98;margin:.35rem 0 1.25rem;max-width:760px;color:#fff}.cs-hero p:not(.eyebrow){max-width:760px;font-size:1.05rem;line-height:1.55}.cs-page .eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.13em;color:#24c486;margin:0 0 .6rem}.cs-stack{padding:2rem 1.25rem 3rem;max-width:1240px}.cs-card{background:#fff;border:1px solid #dce6eb;border-radius:14px;overflow:hidden;margin:0 0 2rem;box-shadow:0 8px 30px rgba(4,30,48,.07)}.cs-banner{min-height:255px;padding:2.3rem 2.5rem;display:flex;align-items:flex-end;color:#fff;background-position:center;background-size:cover;position:relative}.cs-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,25,43,.94),rgba(3,25,43,.66) 50%,rgba(3,25,43,.15))}.cs-banner>div{position:relative;z-index:1}.cs-banner h2{color:#fff;font-size:clamp(2rem,3.3vw,3.2rem);line-height:1.05;margin:.15rem 0 .75rem}.cs-meta{font-weight:650;margin:0}.cs-government{background-image:url("../assets/images/public-sector.jpg")}.cs-bank{background-image:url("../assets/images/financial-services.jpg")}.cs-law{background-image:url("../assets/images/legal.jpg")}.cs-grid{display:grid;grid-template-columns:repeat(4,1fr)}.cs-grid>section{padding:1.7rem 1.5rem;border-right:1px solid #e2eaee}.cs-grid>section:last-child{border-right:0}.cs-grid h3{font-size:1.05rem;margin:0 0 .8rem;color:#092b43}.cs-grid h3:before{content:"";display:inline-block;width:10px;height:10px;border:3px solid #24c486;border-radius:50%;margin-right:.55rem}.cs-grid p{font-size:.94rem;line-height:1.55;margin:.6rem 0}.cs-perspective{margin:0 1.5rem 1.5rem;padding:1.15rem 1.4rem;border-radius:11px;background:linear-gradient(90deg,#e7faf3,#f3fbf8);border-left:4px solid #24c486}.cs-perspective strong{display:block;color:#0a3048;margin-bottom:.25rem}.cs-perspective p{margin:0;line-height:1.5}.cs-closing{text-align:center;color:#fff;padding:4.5rem 1.25rem;background:linear-gradient(rgba(3,27,46,.92),rgba(3,27,46,.96)),url("../assets/images/hero-network-mountains.jpg") center/cover no-repeat}.cs-closing .container{max-width:950px}.cs-closing h2{color:#fff;font-size:clamp(2rem,3vw,3rem);margin:0 0 1rem}.cs-closing p{line-height:1.55}.cs-closing .btn{display:inline-block;margin:1.3rem 0 .4rem}.cs-small{font-size:.9rem;font-weight:650}@media(max-width:900px){.cs-grid{grid-template-columns:1fr 1fr}.cs-grid>section:nth-child(2){border-right:0}.cs-grid>section{border-bottom:1px solid #e2eaee}}@media(max-width:620px){.cs-grid{grid-template-columns:1fr}.cs-grid>section{border-right:0}.cs-banner{min-height:260px;padding:1.5rem}.cs-meta{font-size:.88rem}.cs-perspective{margin:0 1rem 1rem}}

/* V4.3 - Navigation, header proportions and Case Studies hero refinement */
@media (min-width: 901px){
  .site-header .container,
  header .container{
    min-height:94px;
  }
  .brand img,
  .logo img,
  header .brand img{
    width:auto;
    height:auto;
    max-height:62px;
  }
  header nav{
    gap:30px;
  }
  header nav a{
    font-size:16px;
  }
  header nav .btn,
  header nav a.btn{
    padding:15px 24px;
  }
  .cs-hero-inner{
    padding-top:3.35rem;
    padding-bottom:3.55rem;
  }
  .cs-hero h1{
    font-size:clamp(2.8rem,4.35vw,4.5rem);
    margin-bottom:1rem;
  }
  .cs-hero p:not(.eyebrow){
    line-height:1.48;
    margin-top:.65rem;
    margin-bottom:.65rem;
  }
}

/* V4.4 - simplified navigation, active page indicator, larger brand/header */
@media (min-width: 901px){
  header{
    min-height:116px!important;
  }
  header .container,
  .site-header .container{
    min-height:116px!important;
    max-width:1800px;
    padding-left:28px;
    padding-right:36px;
  }

  /* Increase the full brand lock-up, including the tagline */
  header .brand,
  header .logo{
    transform:scale(1.16);
    transform-origin:left center;
    margin-right:34px;
  }

  header nav{
    gap:38px!important;
    align-items:center;
  }
  header nav a{
    font-size:18px!important;
    line-height:1.2;
  }
  header nav a.btn,
  header nav .btn{
    font-size:18px!important;
    padding:18px 27px!important;
    border-radius:11px;
  }

  /* Current-page underline only */
  header nav a:not(.nav-current):not(:hover)::after{
    opacity:0!important;
    transform:scaleX(0)!important;
  }
  header nav a.nav-current{
    position:relative;
  }
  header nav a.nav-current::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-14px;
    height:2px;
    background:#159b68;
    opacity:1!important;
    transform:scaleX(1)!important;
  }
}

/* No misleading current-page underline on legal/privacy pages */
body:not(.home) header nav a[aria-current="page"]::after{
  opacity:1;
}

/* V4.4.1 - Mobile navigation functionality/polish */
@media(max-width:800px){
  .site-header{position:sticky;top:0;z-index:100}
  .menu-button{cursor:pointer;font-size:15px;font-weight:700;color:#0b2940;min-width:68px}
  .primary-nav{z-index:99;box-shadow:0 12px 24px rgba(4,30,48,.12)}
  .primary-nav.open{display:flex!important}
  .primary-nav a{font-size:16px;padding:.8rem .35rem}
  .primary-nav .nav-cta{padding:.9rem 1rem;margin-top:.25rem}
}

/* V4.5 - Primary CTA and hero outcome icon refinement */
header nav a.nav-cta,
header nav .nav-cta,
header nav a.btn,
header nav .btn{
  background:#159b68!important;
  border-color:#159b68!important;
  color:#fff!important;
}
header nav a.nav-cta:hover,
header nav .nav-cta:hover,
header nav a.btn:hover,
header nav .btn:hover{
  background:#118158!important;
  border-color:#118158!important;
  color:#fff!important;
}
.hero .mini-icon img,
.hero .outcome-icon img,
.hero-outcomes img{
  width:38px!important;
  height:38px!important;
  object-fit:contain;
}

/* V4.5.1 - Correct hero benefit icon implementation */
.hero-aside .benefit .icon,
.benefit .icon{
  width:38px!important;
  height:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 38px!important;
  font-size:0!important;
}
.hero-aside .benefit .icon img,
.benefit .icon img{
  width:34px!important;
  height:34px!important;
  display:block!important;
  object-fit:contain!important;
}

/* V4.6 - Professional value proposition icon set */
.feature .line-icon{
  width:42px!important;
  height:42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  font-size:0!important;
}
.feature .line-icon img{
  width:36px!important;
  height:36px!important;
  display:block!important;
  object-fit:contain!important;
}

/* V4.6.1 - value icon exact markup fix */
.feature .icon img,.feature .line-icon img,.feature .feature-icon img{
 width:36px!important;height:36px!important;display:block!important;object-fit:contain!important;
}
.feature .icon,.feature .line-icon,.feature .feature-icon{
 width:42px!important;height:42px!important;display:flex!important;align-items:center!important;
 justify-content:flex-start!important;font-size:0!important;
}

/* V4.6.2 - exact pillar icon styling */
.pillars .pillar-icon{display:flex!important;align-items:center!important;width:42px!important;height:42px!important;font-size:0!important;}
.pillars .pillar-icon img{display:block!important;width:36px!important;height:36px!important;object-fit:contain!important;}

/* V4.8 - Impact section: same icon language as Senior Experience */
.impact-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:42px!important;
  height:42px!important;
  margin:0 0 12px 0!important;
  font-size:0!important;
}
.impact-icon img{
  display:block!important;
  width:36px!important;
  height:36px!important;
  object-fit:contain!important;
}
