:root{
  --ink:#0f2c25;
  --ink-2:#17372f;
  --paper:#f7f6f2;
  --white:#ffffff;
  --line:#d8ddd9;
  --soft:#eef0ed;
  --muted:#62706b;
  --accent:#b49b76;
  --accent-soft:#e8dfd1;
  --shadow:0 18px 45px rgba(11,34,28,.08);
  --serif:"Libre Caslon Display", Georgia, serif;
  --sans:"DM Sans", Arial, sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--sans);
  color:#1a2521;
  background:#fff;
  line-height:1.5;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input{font:inherit}
.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(15,44,37,.08);
}
.nav-wrap{
  min-height:74px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:28px;
}
.brand{display:flex;align-items:center;gap:12px;justify-self:start}
.brand-mark{
  width:40px;height:40px;border:1px solid var(--ink);
  display:grid;place-items:center;border-radius:50%;
  font:600 12px/1 var(--sans);letter-spacing:.08em;color:var(--ink);
}
.brand-name{font:400 23px/1 var(--serif);color:var(--ink)}
.main-nav{display:flex;align-items:center;gap:34px;font-size:14px;color:#27332f}
.main-nav a{transition:.2s ease}
.main-nav a:hover{color:var(--accent)}
.nav-cta{justify-self:end}
.menu-toggle{display:none;border:0;background:transparent;padding:8px;cursor:pointer}
.menu-toggle span{display:block;width:24px;height:1px;background:var(--ink);margin:6px 0}

.button{
  min-height:46px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  border:1px solid var(--ink);
  font-size:13px;
  transition:all .25s ease;
}
.button span,.text-link span,.solution-card a span{transition:transform .25s ease}
.button:hover span,.text-link:hover span,.solution-card a:hover span{transform:translateX(4px)}
.button-dark{background:var(--ink);color:#fff}
.button-dark:hover{background:var(--ink-2)}
.button-outline{background:#fff;color:var(--ink)}

.hero{background:linear-gradient(90deg,#f4f4f0 0%,#f4f4f0 46%,#eef0ee 46%,#eef0ee 100%)}
.hero-grid{
  min-height:590px;
  display:grid;
  grid-template-columns:45% 55%;
  overflow:hidden;
}
.hero-copy{padding:68px 42px 62px 0;display:flex;flex-direction:column;justify-content:center}
.eyebrow,.section-label{
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#58655f;
}
.hero h1,.purpose h2,.solutions-section h2,.industries-section h2,.insights-section h2,.contact-strip h2{
  margin:14px 0 0;
  font-family:var(--serif);
  font-weight:400;
  color:var(--ink);
}
.hero h1{font-size:clamp(50px,5.2vw,76px);line-height:.98;letter-spacing:-.025em}
.hero-copy p{max-width:460px;margin:24px 0 0;font-size:15px;color:#4d5954}
.hero-actions{display:flex;gap:14px;margin-top:28px}

.hero-visual{position:relative;min-height:590px}
.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-fade{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(244,244,240,.35),rgba(10,35,29,.05) 45%,rgba(7,28,23,.32));
}
.floating-panel{
  position:absolute;
  top:52px;right:34px;
  width:min(300px,42%);
  padding:20px 22px;
  color:#fff;
  background:rgba(20,54,46,.38);
  border:1px solid rgba(255,255,255,.38);
  backdrop-filter:blur(10px);
}
.panel-kicker{font-size:10px;letter-spacing:.09em;opacity:.85}
.risk-row{display:flex;align-items:center;justify-content:space-between;margin-top:10px}
.risk-score{font-size:42px;font-weight:500;line-height:1}
.risk-score span{font-size:12px;opacity:.75}
.risk-label{font-size:12px;margin-top:5px;opacity:.8}
.donut{
  width:58px;height:58px;border-radius:50%;
  background:conic-gradient(#dce8e3 0 72%,rgba(255,255,255,.2) 72% 100%);
  position:relative;
}
.donut:after{content:"";position:absolute;inset:10px;border-radius:50%;background:rgba(25,65,55,.85)}
.panel-divider{height:1px;background:rgba(255,255,255,.25);margin:16px 0}
.floating-panel ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.floating-panel li{display:flex;justify-content:space-between;font-size:11px}
.floating-panel li span{opacity:.78}
.floating-panel strong{font-weight:500}

.purpose{padding:42px 0;border-bottom:1px solid #ecefed}
.split-section{display:grid;grid-template-columns:42% 58%;gap:40px;align-items:start}
.purpose h2,.solutions-section h2,.industries-section h2,.insights-section h2{font-size:34px;line-height:1.1}
.purpose-text{max-width:590px;padding-top:7px}
.purpose-text p{margin:0 0 14px;color:#495650;font-size:14px}
.text-link{display:inline-flex;align-items:center;gap:14px;font-size:12px;color:var(--ink)}

.solutions-section,.industries-section,.insights-section{padding:54px 0}
.solutions-section h2,.industries-section h2,.insights-section h2{margin-bottom:24px}
.solution-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.solution-card{
  min-height:260px;
  border:1px solid #e0e5e1;
  padding:22px 20px 18px;
  display:flex;
  flex-direction:column;
  background:#fff;
  box-shadow:0 6px 20px rgba(13,45,36,.04);
}
.solution-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);transition:.25s ease}
.icon-badge{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  background:var(--ink);color:#fff;font-size:19px;margin-bottom:12px
}
.solution-card h3{margin:0;font:400 19px/1.15 var(--serif);color:var(--ink)}
.solution-card p{font-size:12.5px;color:#59645f;margin:16px 0 20px}
.solution-card a{margin-top:auto;display:inline-flex;align-items:center;gap:14px;font-size:11px}

.industries-section{padding-top:8px}
.industry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.industry-card{
  position:relative;min-height:185px;overflow:hidden;
  background-position:center;background-size:cover;border:1px solid rgba(15,44,37,.08)
}
.industry-card.construction{
  background-image:url("https://images.unsplash.com/photo-1503387762-592deb58ef4e?auto=format&fit=crop&w=900&q=80");
}
.industry-card.infrastructure{
  background-image:linear-gradient(135deg,#60716a,#263e36);
}
.industry-card.legal{
  background-image:linear-gradient(135deg,#58493d,#201f1b);
}
.industry-card.design{
  background-image:url("https://images.unsplash.com/photo-1487958449943-2429e8be8625?auto=format&fit=crop&w=900&q=80");
}
.industry-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,30,24,.05),rgba(5,31,25,.88))}
.industry-content{position:absolute;inset:0;padding:14px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff}
.mini-icon{position:absolute;top:12px;left:12px;width:36px;height:36px;background:var(--ink);display:grid;place-items:center}
.industry-content h3{margin:0 0 4px;font:400 20px/1 var(--serif)}
.industry-content p{font-size:11px;margin:0;max-width:180px;opacity:.92}
.industry-content>span{position:absolute;right:14px;bottom:12px}

.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:30px}
.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #e4e8e5}
.insight-card{
  display:grid;grid-template-columns:98px 1fr;gap:16px;padding:12px;
  border-right:1px solid #e4e8e5;min-height:150px
}
.insight-card:last-child{border-right:0}
.insight-art{min-height:120px;background:#e7ebe8;position:relative;overflow:hidden}
.insight-art.blueprint{background:linear-gradient(150deg,#a3b5b0,#1f4239)}
.insight-art.blueprint:before{content:"";position:absolute;inset:15px;border:1px solid rgba(255,255,255,.5);transform:rotate(-8deg)}
.insight-art.clock{background:radial-gradient(circle at 50% 50%,#fafafa 0 22%,#cfc9bc 23% 25%,#e9e5dc 26% 50%,#b7afa0 51% 53%,#eeeae1 54%)}
.insight-art.city{background:linear-gradient(160deg,#b8c6c0 0 35%,#274f43 36% 100%)}
.meta{font-size:8px;letter-spacing:.08em;color:#68736f}
.insight-card h3{margin:8px 0 5px;font:400 16px/1.15 var(--serif);color:var(--ink)}
.insight-card p{font-size:10.5px;color:#5b6762;margin:0 0 8px}
.insight-card a{font-size:10px}

.contact-strip{background:#f4f3ef;padding:28px 0;border-top:1px solid #e2e5e2}
.contact-grid{display:grid;grid-template-columns:1fr 1.3fr auto;align-items:center;gap:44px}
.contact-strip h2{font-size:46px;margin:0}
.contact-strip p{font-size:13px;color:#4f5a56;margin:0;max-width:480px}

.site-footer{background:linear-gradient(135deg,#0c2f68 0%,#11448f 42%,#0f5db0 100%);color:#fff;padding:34px 0 16px}
.footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr) 1.2fr;gap:36px}
.footer-logo{font:400 26px/1 var(--serif)}
.footer-brand p,.newsletter p{font-size:11px;opacity:.72;max-width:220px}
.site-footer h4{font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px}
.site-footer a{display:block;font-size:10.5px;opacity:.78;margin:7px 0}
.site-footer a:hover{opacity:1}
.newsletter form{display:flex;border:1px solid rgba(255,255,255,.28)}
.newsletter input{flex:1;min-width:0;border:0;outline:none;padding:10px;background:transparent;color:#fff;font-size:11px}
.newsletter input::placeholder{color:rgba(255,255,255,.55)}
.newsletter button{width:40px;border:0;background:transparent;color:#fff;cursor:pointer}
.newsletter small{display:block;margin-top:6px;font-size:9px;opacity:.7}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:24px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);
  font-size:9px;opacity:.65
}
.footer-bottom div{display:flex;gap:20px}
.footer-bottom a{display:inline;margin:0}

@media (max-width:980px){
  .nav-wrap{grid-template-columns:1fr auto}
  .main-nav,.nav-cta{display:none}
  .menu-toggle{display:block;justify-self:end}
  .main-nav.open{
    position:absolute;top:74px;left:0;right:0;display:flex;flex-direction:column;
    align-items:flex-start;padding:20px 24px;background:#fff;border-bottom:1px solid #e8ece9
  }
  .hero{background:#f4f4f0}
  .hero-grid{grid-template-columns:1fr}
  .hero-copy{padding-right:0}
  .hero-visual{min-height:470px}
  .split-section{grid-template-columns:1fr}
  .solution-grid,.industry-grid{grid-template-columns:repeat(2,1fr)}
  .insight-grid{grid-template-columns:1fr}
  .insight-card{border-right:0;border-bottom:1px solid #e4e8e5}
  .insight-card:last-child{border-bottom:0}
  .contact-grid{grid-template-columns:1fr;gap:18px}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:640px){
  .shell{width:min(100% - 28px,1180px)}
  .brand-name{font-size:19px}
  .hero-grid{min-height:auto}
  .hero-copy{padding:48px 0 40px}
  .hero h1{font-size:50px}
  .hero-actions{flex-direction:column;align-items:flex-start}
  .hero-visual{min-height:430px;margin:0 -14px}
  .floating-panel{width:72%;right:18px;top:24px}
  .purpose,.solutions-section,.industries-section,.insights-section{padding:42px 0}
  .solution-grid,.industry-grid{grid-template-columns:1fr}
  .solution-card{min-height:220px}
  .section-heading-row{display:block}
  .section-heading-row .text-link{margin-bottom:22px}
  .insight-card{grid-template-columns:82px 1fr}
  .contact-strip h2{font-size:38px}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{align-items:flex-start;gap:14px;flex-direction:column}
  .footer-bottom div{gap:14px;flex-wrap:wrap}
}


/* v5: selected blue Contract Solutions AI logo */
.brand-logo{
  display:block;
  width:240px;
  max-height:54px;
  object-fit:contain;
  object-position:left center;
}
.footer-logo-image{
  display:block;
  width:220px;
  max-height:62px;
  object-fit:contain;
  object-position:left center;
  background:#fff;
  padding:7px 10px;
  border-radius:2px;
}

/* Who We Serve + Sectors */
.serve-grid{
  grid-template-columns:repeat(5,1fr);
}
.industry-card.employers{
  background-image:linear-gradient(135deg,#788b98,#284154);
}
.serve-grid .industry-content h3{
  font-size:18px;
  line-height:1.08;
  max-width:190px;
}
.serve-grid .industry-content p{
  max-width:190px;
}

.sectors-section{
  padding:54px 0 72px;
  border-top:1px solid #ecefed;
  background:#f7f7f4;
}
.sectors-section h2{
  margin:14px 0 24px;
  font-family:var(--serif);
  font-weight:400;
  color:var(--ink);
  font-size:34px;
  line-height:1.1;
}
.sector-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border:1px solid #dfe4e1;
  background:#fff;
}
.sector-card{
  min-height:190px;
  padding:22px 20px;
  border-right:1px solid #dfe4e1;
}
.sector-card:last-child{border-right:0}
.sector-card>span{
  font-size:10px;
  color:#68736f;
}
.sector-card h3{
  margin:24px 0 10px;
  font:400 20px/1.1 var(--serif);
  color:var(--ink);
}
.sector-card p{
  margin:0;
  font-size:11px;
  line-height:1.6;
  color:#65716c;
}

@media (max-width:1100px){
  .serve-grid{grid-template-columns:repeat(3,1fr)}
  .sector-grid{grid-template-columns:repeat(2,1fr)}
  .sector-card{border-bottom:1px solid #dfe4e1}
}
@media (max-width:980px){
  .brand-logo{width:205px}
}
@media (max-width:640px){
  .brand-logo{width:180px}
  .serve-grid,.sector-grid{grid-template-columns:1fr}
  .sector-card{border-right:0}
}


/* v6 — Contract Preparation & Review dedicated solution page */
.product-page{background:#fff}
.product-hero{
  background:linear-gradient(90deg,#f4f4f0 0%,#f4f4f0 50%,#edf2f5 50%,#edf2f5 100%);
  border-bottom:1px solid #e2e7e4;
}
.product-hero-grid{
  min-height:650px;
  display:grid;
  grid-template-columns:50% 50%;
}
.product-hero-copy{
  padding:72px 68px 68px 0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.product-back{
  display:inline-block;
  margin-bottom:34px;
  font-size:11px;
  color:#62706b;
}
.product-hero h1{
  margin:14px 0 0;
  font:400 clamp(52px,5.3vw,76px)/.98 var(--serif);
  letter-spacing:-.03em;
  color:var(--ink);
  max-width:650px;
}
.product-lead{
  max-width:610px;
  margin:25px 0 0;
  font-size:18px;
  line-height:1.55;
  color:#243a34;
}
.product-description{
  max-width:610px;
  margin:18px 0 0;
  font-size:13px;
  line-height:1.7;
  color:#5e6b66;
}
.product-visual{
  position:relative;
  min-height:650px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:58px;
  background:
    radial-gradient(circle at 68% 27%,rgba(30,94,181,.13),transparent 34%),
    linear-gradient(145deg,#e9eef1,#dce5ea);
  overflow:hidden;
}
.product-visual:before{
  content:"";
  position:absolute;
  width:420px;height:420px;
  border:1px solid rgba(21,79,168,.15);
  border-radius:50%;
  right:-100px;top:-130px;
}
.contract-document{
  position:relative;
  z-index:2;
  width:min(440px,90%);
  background:#fff;
  box-shadow:0 30px 75px rgba(20,45,60,.18);
  padding:26px;
  border:1px solid rgba(18,68,144,.12);
}
.doc-top{display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.1em;color:#78837e}
.doc-status{color:#1757bf;font-weight:600}
.doc-title{font:400 29px/1.1 var(--serif);color:var(--ink);margin-top:28px}
.doc-meta{font-size:10px;color:#87918d;margin-top:5px}
.doc-lines{display:grid;gap:9px;margin:28px 0}
.doc-lines span{display:block;height:5px;width:70%;background:#e5e9e7}
.doc-lines .wide{width:92%}
.doc-lines .medium{width:82%}
.doc-highlight{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  background:#eef4fb;
  border-left:3px solid #1757bf;
  padding:16px;
}
.doc-highlight div{display:grid;gap:3px}
.doc-highlight small{font-size:8px;letter-spacing:.08em;color:#6f7e78}
.doc-highlight strong{font-size:12px;color:#18362e;font-weight:500}
.doc-highlight>span{font-size:10px;color:#1757bf}
.doc-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:20px;
}
.doc-summary-grid div{padding-top:13px;border-top:1px solid #e2e7e4;display:grid}
.doc-summary-grid span{font:400 24px var(--serif);color:var(--ink)}
.doc-summary-grid small{font-size:8px;color:#7b8681}
.product-floating-note{
  position:absolute;
  z-index:3;
  right:28px;
  bottom:42px;
  width:240px;
  background:#103c7d;
  color:#fff;
  padding:18px 20px;
  box-shadow:0 18px 42px rgba(15,52,104,.22);
}
.product-floating-note>span{font-size:8px;letter-spacing:.12em;opacity:.66}
.product-floating-note strong{display:block;margin:7px 0;font-size:12px;font-weight:500}
.product-floating-note p{margin:0;font-size:9px;line-height:1.5;opacity:.72}

.product-intro{padding:95px 0}
.product-intro-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  align-items:start;
}
.product-intro h2,
.product-capabilities h2,
.product-workflow h2,
.product-users h2{
  margin:12px 0 0;
  font:400 43px/1.08 var(--serif);
  color:var(--ink);
}
.product-intro-grid>div:last-child{padding-top:26px}
.product-intro-grid p{font-size:13px;line-height:1.75;color:#5e6a65}
.product-intro-grid .product-large-copy{font-size:18px;line-height:1.55;color:#263d35;margin-top:0}

.product-capabilities{
  background:#f5f5f1;
  padding:82px 0 96px;
}
.product-capabilities h2{margin-bottom:30px}
.capability-card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid #d8dfdb;
  border-left:1px solid #d8dfdb;
}
.capability-card-grid article{
  min-height:245px;
  padding:24px;
  background:#fff;
  border-right:1px solid #d8dfdb;
  border-bottom:1px solid #d8dfdb;
}
.capability-card-grid article>span{
  font-size:10px;
  color:#1757bf;
}
.capability-card-grid h3{
  margin:32px 0 12px;
  font:400 23px/1.15 var(--serif);
  color:var(--ink);
}
.capability-card-grid p{
  margin:0;
  font-size:11px;
  line-height:1.65;
  color:#66726d;
}

.product-workflow{
  padding:92px 0 100px;
  background:#0f3028;
  color:#fff;
}
.product-workflow-head{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:80px;
  align-items:end;
}
.product-workflow h2{color:#fff;font-size:48px}
.product-workflow-head>p{
  margin:0 0 6px;
  max-width:470px;
  font-size:13px;
  line-height:1.7;
  color:rgba(255,255,255,.64);
}
.product-steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-top:54px;
  border-top:1px solid rgba(255,255,255,.2);
}
.product-steps article{
  min-height:190px;
  padding:25px 25px 0 0;
  border-right:1px solid rgba(255,255,255,.15);
}
.product-steps article:not(:first-child){padding-left:25px}
.product-steps article:last-child{border-right:0}
.product-steps span{font-size:9px;color:#8db7f5}
.product-steps h3{font:400 26px var(--serif);margin:26px 0 9px}
.product-steps p{font-size:10.5px;line-height:1.65;color:rgba(255,255,255,.6)}

.product-users{padding:90px 0 100px}
.product-users-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px}
.product-users h2{font-size:44px}
.user-list{border-top:1px solid #dfe4e1}
.user-list>div{
  display:grid;
  grid-template-columns:230px 1fr;
  gap:25px;
  padding:19px 0;
  border-bottom:1px solid #dfe4e1;
}
.user-list strong{font-size:12px;font-weight:500;color:var(--ink)}
.user-list span{font-size:11px;color:#67736e}

@media(max-width:980px){
  .product-hero{background:#f4f4f0}
  .product-hero-grid,.product-intro-grid,.product-workflow-head,.product-users-grid{grid-template-columns:1fr}
  .product-hero-copy{padding-right:0}
  .product-visual{min-height:570px;margin:0 -28px}
  .capability-card-grid{grid-template-columns:repeat(2,1fr)}
  .product-steps{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .product-hero-copy{padding:45px 0}
  .product-hero h1{font-size:48px}
  .product-visual{padding:30px 15px;min-height:520px}
  .product-floating-note{right:12px;bottom:20px;width:210px}
  .capability-card-grid,.product-steps{grid-template-columns:1fr}
  .product-steps article{border-right:0;border-bottom:1px solid rgba(255,255,255,.15);padding:25px 0}
  .product-steps article:not(:first-child){padding-left:0}
  .user-list>div{grid-template-columns:1fr;gap:4px}
}


/* v7 — Header actions */
.header-actions{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:10px;
}
.header-actions .button{
  white-space:nowrap;
}
.nav-active{
  color:var(--accent)!important;
}

/* v7 — Insights / blog page */
.blog-hero{
  padding:92px 0 76px;
  background:#f4f4f0;
  border-bottom:1px solid #e2e7e4;
}
.blog-hero-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:90px;
  align-items:end;
}
.blog-hero h1{
  margin:14px 0 0;
  max-width:820px;
  font:400 clamp(54px,5.4vw,78px)/.98 var(--serif);
  letter-spacing:-.03em;
  color:var(--ink);
}
.blog-hero p{
  margin:0 0 7px;
  max-width:540px;
  font-size:14px;
  line-height:1.75;
  color:#5c6964;
}
.blog-content{
  padding:48px 0 105px;
}
.blog-filter{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding-bottom:28px;
  border-bottom:1px solid #e1e6e3;
}
.blog-filter-btn{
  border:1px solid #d8dfdb;
  background:#fff;
  color:#52605a;
  padding:9px 13px;
  font-size:10px;
  cursor:pointer;
  transition:.2s ease;
}
.blog-filter-btn:hover,
.blog-filter-btn.active{
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
}
.blog-featured{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:360px;
  margin-top:30px;
  border:1px solid #dfe4e1;
  background:#fff;
}
.blog-featured[hidden],
.blog-card[hidden]{
  display:none;
}
.blog-featured-visual{
  min-height:360px;
  padding:26px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:
    radial-gradient(circle at 72% 30%,rgba(70,133,230,.72),transparent 26%),
    linear-gradient(135deg,#0d326d,#2f68b8 58%,#9ab5d8);
  color:#fff;
}
.blog-featured-visual>span{
  font-size:9px;
  letter-spacing:.12em;
  opacity:.72;
}
.blog-featured-visual>strong{
  font:400 clamp(45px,5vw,72px)/.95 var(--serif);
  max-width:360px;
}
.blog-featured-copy{
  padding:44px 42px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.blog-featured-copy small,
.blog-card-body small{
  font-size:8px;
  letter-spacing:.1em;
  color:#74817b;
}
.blog-featured-copy h2{
  margin:13px 0 14px;
  font:400 38px/1.05 var(--serif);
  color:var(--ink);
}
.blog-featured-copy p{
  margin:0;
  font-size:12.5px;
  line-height:1.7;
  color:#65716c;
}
.article-status{
  display:inline-block;
  margin-top:22px;
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#1f5aa8;
}
.blog-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:22px;
}
.blog-card{
  border:1px solid #dfe4e1;
  background:#fff;
  transition:.25s ease;
}
.blog-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow);
}
.blog-card-visual{
  height:176px;
  padding:18px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
}
.blog-card-visual span{
  font:400 35px/1 var(--serif);
  color:rgba(255,255,255,.9);
}
.visual-contract{background:linear-gradient(135deg,#1a557e,#7ba4bc)}
.visual-notice{background:linear-gradient(135deg,#143b72,#7697c8)}
.visual-delay{background:linear-gradient(135deg,#4a647c,#b3c2cb)}
.visual-change{background:linear-gradient(135deg,#204c6e,#8aa7b7)}
.visual-ai{background:linear-gradient(135deg,#0e377d,#5f91d3)}
.visual-cost{background:linear-gradient(135deg,#465c75,#8ba0b8)}
.visual-fidic{background:linear-gradient(135deg,#1d456c,#708fab)}
.visual-dispute{background:linear-gradient(135deg,#273f5d,#8394a6)}
.blog-card-body{
  padding:21px 20px 23px;
}
.blog-card-body h3{
  margin:10px 0 10px;
  font:400 23px/1.12 var(--serif);
  color:var(--ink);
}
.blog-card-body p{
  margin:0;
  min-height:54px;
  font-size:10.5px;
  line-height:1.65;
  color:#66726d;
}

@media(max-width:1100px){
  .nav-wrap{
    grid-template-columns:auto 1fr auto;
    gap:20px;
  }
  .main-nav{
    gap:18px;
    font-size:12px;
  }
  .header-actions{
    gap:7px;
  }
  .header-actions .button{
    padding:0 12px;
    gap:9px;
  }
}
@media(max-width:980px){
  .main-nav,.header-actions{
    display:none;
  }
  .main-nav.open{
    display:flex;
  }
  .blog-hero-grid,.blog-featured{
    grid-template-columns:1fr;
  }
  .blog-grid{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:640px){
  .blog-hero{
    padding:62px 0 52px;
  }
  .blog-grid{
    grid-template-columns:1fr;
  }
  .blog-featured-copy{
    padding:30px 24px;
  }
}


/* UPDATE 1 — Hero hierarchy and Open Workspace */
.hero .eyebrow{
  font-size:14px;
  line-height:1.2;
  letter-spacing:.11em;
  font-weight:600;
  color:#244f87;
}
.hero h1{
  max-width:560px;
  font-size:clamp(38px,3.45vw,52px);
  line-height:1.06;
  letter-spacing:-.02em;
  margin-top:17px;
}
.hero-copy p{
  max-width:500px;
  font-size:15px;
  line-height:1.55;
  margin-top:22px;
}
.workspace-button{
  background:#0050D0;
  border-color:#0050D0;
  color:#fff;
}
.workspace-button:hover{
  background:#003FAD;
  border-color:#003FAD;
  color:#fff;
}


/* UPDATE 2 — Internal Workspace landing page */
.current-workspace{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.15);
}
.workspace-hero{
  background:linear-gradient(110deg,#f4f5f2 0%,#f4f5f2 48%,#e8eef7 48%,#dfe9f7 100%);
  border-bottom:1px solid #e0e5e2;
}
.workspace-hero-grid{
  min-height:650px;
  display:grid;
  grid-template-columns:45% 55%;
  align-items:center;
}
.workspace-copy{
  padding:76px 64px 76px 0;
}
.workspace-copy .eyebrow{
  font-size:13px;
  line-height:1.2;
  letter-spacing:.11em;
  font-weight:600;
  color:#244f87;
}
.workspace-copy h1{
  max-width:590px;
  margin:18px 0 0;
  font:400 clamp(54px,5.5vw,78px)/.98 var(--serif);
  letter-spacing:-.03em;
  color:var(--ink);
}
.workspace-copy>p{
  max-width:555px;
  margin:25px 0 0;
  font-size:15px;
  line-height:1.7;
  color:#56635e;
}
.workspace-actions{
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:30px;
}
.workspace-note{
  max-width:180px;
  font-size:10px;
  line-height:1.4;
  color:#7a8580;
}
.workspace-preview{
  position:relative;
  padding:58px 0 58px 46px;
}
.workspace-window{
  background:#fff;
  border:1px solid rgba(20,65,120,.14);
  box-shadow:0 28px 80px rgba(38,66,101,.18);
}
.workspace-window-top{
  height:42px;
  display:flex;
  align-items:center;
  gap:18px;
  padding:0 16px;
  border-bottom:1px solid #e6eaed;
  font-size:10px;
  color:#6c7773;
}
.workspace-dots{
  display:flex;
  gap:5px;
}
.workspace-dots span{
  width:7px;height:7px;border-radius:50%;
  background:#b9c6d7;
}
.workspace-window-body{
  display:grid;
  grid-template-columns:132px 1fr;
  min-height:430px;
}
.workspace-sidebar{
  padding:18px 12px;
  background:#0d315e;
  color:#fff;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.workspace-side-brand{
  width:36px;height:36px;border-radius:9px;
  display:grid;place-items:center;
  margin-bottom:15px;
  background:#0b59dd;
  font-weight:600;
}
.workspace-sidebar a{
  padding:10px 9px;
  font-size:9px;
  color:rgba(255,255,255,.62);
  border-radius:5px;
}
.workspace-sidebar a.active{
  color:#fff;
  background:rgba(255,255,255,.10);
}
.workspace-dashboard{
  padding:24px;
  background:#f6f8fa;
}
.workspace-dashboard-head{
  display:flex;
  justify-content:space-between;
  align-items:start;
}
.workspace-dashboard-head small{
  font-size:7px;
  letter-spacing:.12em;
  color:#7b8781;
}
.workspace-dashboard-head h2{
  margin:5px 0 0;
  font:400 25px var(--serif);
  color:#17352e;
}
.workspace-status{
  padding:7px 9px;
  border-radius:99px;
  background:#e4f0ff;
  color:#0a56c7;
  font-size:7px;
  font-weight:600;
  letter-spacing:.08em;
}
.workspace-metrics{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:22px;
}
.workspace-metrics div{
  padding:15px 13px;
  background:#fff;
  border:1px solid #e2e7e5;
  display:grid;
}
.workspace-metrics strong{
  font:400 27px var(--serif);
  color:#103d78;
}
.workspace-metrics span{
  margin-top:3px;
  font-size:8px;
  color:#78837e;
}
.workspace-panel{
  margin-top:15px;
  background:#fff;
  border:1px solid #e2e7e5;
}
.workspace-panel-head{
  padding:13px 15px;
  display:flex;
  justify-content:space-between;
  border-bottom:1px solid #e6eae8;
  font-size:9px;
}
.workspace-panel-head small{
  color:#89938e;
}
.workspace-row{
  padding:13px 15px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  border-bottom:1px solid #edf0ef;
  font-size:9px;
  color:#5f6b66;
}
.workspace-row:last-child{border-bottom:0}
.workspace-row b{
  color:#194d94;
  font-weight:500;
}
.workspace-illustrative{
  display:block;
  margin-top:10px;
  text-align:right;
  font-size:8px;
  color:#8a9490;
}
.workspace-modules{
  padding:90px 0 100px;
}
.workspace-modules h2{
  margin:13px 0 30px;
  font:400 46px/1.05 var(--serif);
  color:var(--ink);
}
.workspace-module-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-left:1px solid #dfe4e1;
  border-top:1px solid #dfe4e1;
}
.workspace-module-grid article{
  min-height:220px;
  padding:24px;
  border-right:1px solid #dfe4e1;
  border-bottom:1px solid #dfe4e1;
}
.workspace-module-grid article>span{
  font-size:9px;
  color:#0a56c7;
}
.workspace-module-grid h3{
  margin:28px 0 10px;
  font:400 24px/1.1 var(--serif);
  color:var(--ink);
}
.workspace-module-grid p{
  margin:0;
  font-size:11px;
  line-height:1.65;
  color:#68746f;
}
@media(max-width:980px){
  .workspace-hero{background:#f4f5f2}
  .workspace-hero-grid{grid-template-columns:1fr}
  .workspace-copy{padding-right:0}
  .workspace-preview{padding:0 0 55px}
  .workspace-module-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .workspace-copy{padding:55px 0 35px}
  .workspace-copy h1{font-size:48px}
  .workspace-window-body{grid-template-columns:94px 1fr}
  .workspace-dashboard{padding:14px}
  .workspace-metrics{grid-template-columns:1fr}
  .workspace-module-grid{grid-template-columns:1fr}
  .workspace-actions{align-items:flex-start;flex-direction:column}
}


/* UPDATE 3 — Consistent larger section overlines across the whole site */
body .section-label,
body .eyebrow{
  font-size:14px;
  line-height:1.2;
  letter-spacing:.11em;
  font-weight:600;
}

/* Keep the blue emphasis where the overline sits on light hero/product/workspace backgrounds */
.hero .eyebrow,
.product-hero .eyebrow,
.workspace-copy .eyebrow,
.blog-hero .section-label{
  font-size:14px;
}

/* Light labels used on dark sections stay readable at the same size */
body .section-label.light{
  font-size:14px;
  color:rgba(255,255,255,.72);
}


/* update 4 overrides */
html{scroll-behavior:smooth;scroll-padding-top:96px}
section[id]{scroll-margin-top:96px}
.eyebrow,.section-label{
  font-size:13px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#58655f;
  font-weight:500;
}
.hero h1{font-size:clamp(42px,4.6vw,64px);line-height:1.05;max-width:680px}
.hero-copy p{max-width:500px;font-size:18px;line-height:1.6}
.icon-badge,.mini-icon{font-size:20px}
.card-link{display:block}
.industry-card.infrastructure{background-image:url("https://images.unsplash.com/photo-1504307651254-35680f356dfd?auto=format&fit=crop&w=900&q=80")}
.industry-card.legal{background-image:url("https://images.unsplash.com/photo-1528740561666-dc2479dc08ab?auto=format&fit=crop&w=900&q=80")}
.industry-card.employers{background-image:url("https://images.unsplash.com/photo-1460317442991-0ec209397118?auto=format&fit=crop&w=900&q=80")}
.serve-grid .industry-card{transition:transform .25s ease, box-shadow .25s ease;box-shadow:0 6px 20px rgba(13,45,36,.06)}
.serve-grid .industry-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.contact-grid-expanded{grid-template-columns:1fr 1.2fr .9fr auto;align-items:center}
.contact-address{display:grid;gap:4px;font-size:13px;color:#4f5a56}
.contact-address strong{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.contact-address a{color:var(--ink)}
.workspace-button{border-color:#2f58d6;color:#2f58d6;background:#fff}
.workspace-button:hover{background:#edf3ff}
.current-workspace{background:#edf3ff}
.footer-grid h4{font-size:11px}
.site-footer a{font-size:13px;line-height:1.5}
.site-footer p{font-size:13px;line-height:1.6}
.book-demo-section{padding:84px 0 96px;background:#f7f6f2;min-height:calc(100vh - 74px)}
.book-demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.book-demo-section h1{margin:14px 0 0;font:400 clamp(44px,5vw,68px)/1 var(--serif);color:var(--ink)}
.book-demo-lead{margin:24px 0 0;font-size:18px;line-height:1.6;color:#324540;max-width:600px}
.book-demo-info{display:grid;gap:18px;margin-top:34px}
.book-demo-info div{display:grid;gap:4px;padding:16px 0;border-top:1px solid #dde4df}
.book-demo-info strong{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#54635d}
.book-demo-card{background:#fff;border:1px solid #d8dfdb;padding:28px;box-shadow:var(--shadow)}
.book-demo-card h2{margin:0 0 20px;font:400 34px/1.1 var(--serif);color:var(--ink)}
.demo-form{display:grid;gap:16px}
.demo-form label{display:grid;gap:8px;font-size:13px;color:#3b4944}
.demo-form input,.demo-form textarea{width:100%;border:1px solid #d8dfdb;padding:12px 14px;background:#fbfbf8;outline:none}
.demo-form small{font-size:12px;color:#66736d}
.product-users{padding:86px 0}
.product-users-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.user-list{display:grid;gap:16px;padding-top:18px}
.user-list div{display:grid;gap:4px;padding-bottom:16px;border-bottom:1px solid #dde4df}
.user-list strong{font-size:16px;color:var(--ink);font-weight:500}
.user-list span{font-size:13px;color:#5b6661;line-height:1.6}
.audience-hero{background:linear-gradient(90deg,#f4f4f0 0%,#f4f4f0 50%,#eef4ff 50%,#eef4ff 100%)}
.audience-visual{background:radial-gradient(circle at 68% 27%,rgba(47,88,214,.15),transparent 34%),linear-gradient(145deg,#eaf0fb,#dce7f7)}
@media (max-width:1100px){
  .contact-grid-expanded{grid-template-columns:1fr 1fr}
}
@media (max-width:980px){
  .book-demo-grid,.product-users-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .eyebrow,.section-label{font-size:12px}
  .hero h1{font-size:48px}
  .hero-copy p{font-size:16px}
  .contact-grid-expanded{grid-template-columns:1fr}
}


/* UPDATE 5 overrides */
#who-we-serve{scroll-margin-top:118px}
.footer-grid-six{grid-template-columns:1.4fr 1fr 1fr 1.1fr .9fr 1.1fr}
@media (max-width:1180px){.footer-grid-six{grid-template-columns:repeat(3,1fr)}}
@media (max-width:740px){.footer-grid-six{grid-template-columns:1fr}}
.sector-grid-expanded{grid-template-columns:repeat(3,1fr)}
.sector-link{display:block;text-decoration:none;color:inherit;transition:transform .25s ease,box-shadow .25s ease}
.sector-link:hover{transform:translateY(-4px);box-shadow:var(--shadow);position:relative;z-index:2}
.sector-card>span{display:block;font-size:28px;font-weight:500;line-height:1;color:#83918b;letter-spacing:.04em}
.sector-card h3{margin-top:20px}
@media (max-width:1100px){.sector-grid-expanded{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.sector-grid-expanded{grid-template-columns:1fr}}
.industry-card.construction{background-image:url("https://images.unsplash.com/photo-1517048676732-d65bc937f952?auto=format&fit=crop&w=1200&q=80")}
.industry-card.infrastructure{background-image:url("https://images.unsplash.com/photo-1503387762-592deb58ef4e?auto=format&fit=crop&w=1200&q=80")}
.industry-card.legal{background-image:url("https://images.unsplash.com/photo-1589829545856-d10d557cf95f?auto=format&fit=crop&w=1200&q=80")}
.industry-card.design{background-image:url("https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=1200&q=80")}
.industry-card.employers{background-image:url("https://images.unsplash.com/photo-1460317442991-0ec209397118?auto=format&fit=crop&w=1200&q=80")}
.contact-address span,.contact-address a{word-break:break-word}


/* UPDATE 6 — workspace arrow alignment + LinkedIn footer */
.workspace-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  font-size:15px;
  transform:none;
  position:relative;
  top:0;
}
.footer-social-link{
  display:inline-flex !important;
  align-items:center;
  gap:8px;
  margin-top:16px !important;
  opacity:1 !important;
  color:#fff;
  width:max-content;
}
.footer-social-link:hover{opacity:.86 !important}
.linkedin-mark{
  width:24px;
  height:24px;
  display:inline-grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.42);
  font-size:13px;
  font-weight:600;
  line-height:1;
  font-family:Arial,sans-serif;
}
.footer-social-link>span:last-child{
  font-size:12px;
  letter-spacing:.02em;
}


/* UPDATE 10 — Solutions + Sectors directory pages */
.active-nav{color:#2f58d6 !important}
.section-cta-row{display:flex;justify-content:flex-end;margin-top:24px}
.sector-grid-featured{grid-template-columns:repeat(3,1fr)}
.directory-hero{padding:76px 0 60px;background:#f6f6f2;border-bottom:1px solid #e3e7e4}
.directory-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}
.directory-hero h1{margin:14px 0 0;max-width:760px;font:400 clamp(44px,5vw,68px)/1.02 var(--serif);color:var(--ink);letter-spacing:-.02em}
.directory-hero p{margin:0;max-width:520px;font-size:16px;line-height:1.7;color:#52605a}
.directory-section{padding:70px 0 86px}
.solutions-overview-grid{grid-template-columns:repeat(3,1fr)}
.solutions-overview-grid .solution-card{min-height:290px}
.sectors-directory-section{padding:70px 0 86px;background:#fff;border-top:0}
@media(max-width:980px){
  .directory-hero-grid{grid-template-columns:1fr;gap:24px}
  .solutions-overview-grid,.sector-grid-featured{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .directory-hero{padding:52px 0 42px}
  .directory-hero h1{font-size:46px}
  .solutions-overview-grid,.sector-grid-featured{grid-template-columns:1fr}
  .section-cta-row{justify-content:flex-start}
}


/* UPDATE 11 — lean enterprise landing page + dedicated Who We Serve */
.premium-home .premium-hero .hero-grid{min-height:650px}
.premium-home .premium-hero .hero-copy{padding-right:74px}
.premium-home .premium-hero .hero-actions{gap:12px}
.hero-secondary-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.hero-secondary-actions .button{min-height:44px}
.hero-secondary-actions .button-dark{background:var(--ink);color:#fff}
.hero-secondary-actions .button-outline{background:transparent;color:var(--ink);border-color:#ccd6d1}
.hero-secondary-actions .button-outline:hover{background:#fff;border-color:var(--ink)}

.why-section{padding:86px 0 94px;background:#fff;border-bottom:1px solid #e5e9e6}
.why-head{display:grid;grid-template-columns:1.25fr .75fr;gap:72px;align-items:end;margin:14px 0 38px}
.why-head h2{margin:0;max-width:760px;font:400 clamp(40px,4vw,58px)/1.03 var(--serif);color:var(--ink)}
.why-head p{margin:0 0 5px;font-size:15px;line-height:1.7;color:#59665f;max-width:440px}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #dfe5e1;border-left:1px solid #dfe5e1}
.why-grid article{min-height:235px;padding:24px;border-right:1px solid #dfe5e1;border-bottom:1px solid #dfe5e1}
.why-grid article>span{font-size:11px;color:#2f58d6;letter-spacing:.08em}
.why-grid h3{margin:42px 0 12px;font:400 24px/1.08 var(--serif);color:var(--ink)}
.why-grid p{margin:0;font-size:12px;line-height:1.7;color:#65716c}

.home-workspace-section{padding:96px 0;background:#f5f6f3}
.home-workspace-grid{display:grid;grid-template-columns:38% 62%;gap:68px;align-items:center}
.home-workspace-copy h2{margin:15px 0 22px;font:400 clamp(42px,4.4vw,62px)/1 var(--serif);color:var(--ink)}
.home-workspace-copy>p{font-size:15px;line-height:1.75;color:#5b6862;margin:0 0 28px;max-width:500px}
.home-workspace-preview{padding:8px 0}
.home-preview-window{box-shadow:0 30px 80px rgba(28,61,91,.16)}

.credibility-band{background:var(--ink);color:#fff;padding:28px 0}
.credibility-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.credibility-inner>span{font-size:11px;letter-spacing:.15em;color:rgba(255,255,255,.65)}
.credibility-items{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.credibility-items b{font-size:13px;font-weight:500;letter-spacing:.02em}
.credibility-items i{font-style:normal;color:rgba(255,255,255,.3)}

.compact-listing-hero{padding:88px 0 58px;background:#f5f5f1;border-bottom:1px solid #e3e8e5}
.compact-listing-hero h1{margin:15px 0 18px;max-width:900px;font:400 clamp(48px,5vw,72px)/1 var(--serif);color:var(--ink)}
.compact-listing-hero p{margin:0;max-width:660px;font-size:16px;line-height:1.7;color:#5f6b66}
.audience-listing-section{padding:58px 0 96px}
.audience-listing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.audience-list-card{position:relative;min-height:330px;background-size:cover;background-position:center;overflow:hidden;color:#fff;display:flex;padding:24px;align-items:flex-end;box-shadow:0 8px 24px rgba(22,49,40,.08);transition:.25s ease}
.audience-list-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.audience-list-card>span{position:absolute;top:22px;left:24px;font-size:13px;letter-spacing:.08em;z-index:2}
.audience-list-card>div:last-child{position:relative;z-index:2;max-width:520px}
.audience-list-card h2{margin:0 0 10px;font:400 36px/1 var(--serif);color:#fff}
.audience-list-card p{margin:0 0 18px;max-width:500px;font-size:13px;line-height:1.6;color:rgba(255,255,255,.88)}
.audience-list-card b{font-size:12px;font-weight:500}
.audience-list-overlay{position:absolute!important;inset:0;background:linear-gradient(180deg,rgba(4,32,25,.10),rgba(4,31,25,.92));z-index:1!important;max-width:none!important}
.audience-construction{background-image:url("https://images.unsplash.com/photo-1503387762-592deb58ef4e?auto=format&fit=crop&w=1400&q=80")}
.audience-consultancies{background-image:url("https://images.unsplash.com/photo-1517048676732-d65bc937f952?auto=format&fit=crop&w=1400&q=80")}
.audience-law{background-image:url("https://images.unsplash.com/photo-1589829545856-d10d557cf95f?auto=format&fit=crop&w=1400&q=80")}
.audience-design{background-image:url("https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=1400&q=80")}
.audience-employers{background-image:url("https://images.unsplash.com/photo-1460317442991-0ec209397118?auto=format&fit=crop&w=1400&q=80")}

@media(max-width:1050px){
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .home-workspace-grid{grid-template-columns:1fr}
  .premium-home .premium-hero .hero-copy{padding-right:0}
}
@media(max-width:760px){
  .why-head{grid-template-columns:1fr;gap:18px}
  .why-grid,.audience-listing-grid{grid-template-columns:1fr}
  .credibility-inner{align-items:flex-start;flex-direction:column}
  .audience-list-card{min-height:290px}
}
@media(max-width:640px){
  .why-grid{grid-template-columns:1fr}
  .hero-secondary-actions{gap:10px}
}


/* UPDATE 13 — streamline hero CTAs */
.premium-home .premium-hero .hero-actions{display:none;}
.hero-primary-links{margin-top:30px;gap:16px;align-items:center;}
.hero-primary-links .button{min-height:56px;padding:16px 24px;font-size:16px;font-weight:600;border-width:1.5px;}
.hero-primary-links .button-dark{background:var(--ink);color:#fff;}
.hero-primary-links .button-outline{background:#fff;color:var(--ink);border-color:#b8c6c0;}
.hero-primary-links .button-outline:hover{background:#f6f8f7;border-color:var(--ink);}
@media (max-width: 768px){
  .hero-primary-links{flex-direction:column;align-items:flex-start;gap:12px;}
  .hero-primary-links .button{width:100%;justify-content:space-between;}
}


/* UPDATE 15 — blue footer + separate contact page */
.site-footer .footer-social-link,
.site-footer a{color:#fff}
.site-footer .footer-social-link .linkedin-mark{border-color:rgba(255,255,255,.45)}
.contact-page-hero{
  background:linear-gradient(90deg,#f4f4f0 0%,#f4f4f0 52%,#edf3fb 52%,#e7f0fb 100%);
  padding:96px 0 92px;
  border-bottom:1px solid #dde6ef;
}
.contact-page-grid{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:64px;
  align-items:start;
}
.contact-page-hero h1{
  margin:12px 0 18px;
  font:400 clamp(58px,7vw,96px)/.96 var(--serif);
  letter-spacing:-.03em;
  color:var(--ink);
}
.contact-page-intro{
  max-width:610px;
  margin:0;
  font-size:17px;
  line-height:1.8;
  color:#56635f;
}
.contact-page-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:30px;
}
.contact-page-card-wrap{
  display:grid;
  gap:18px;
}
.contact-card{
  border:1px solid #d8e0ea;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(2px);
  padding:26px 28px;
}
.contact-card-label{
  display:block;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#55708e;
  margin-bottom:12px;
}
.contact-card h2{
  margin:0 0 10px;
  font:400 34px/1.08 var(--serif);
  color:var(--ink);
}
.contact-card h2 a{color:inherit}
.contact-card p{
  margin:0;
  font-size:14px;
  line-height:1.75;
  color:#596660;
}
@media (max-width:900px){
  .contact-page-grid{grid-template-columns:1fr;gap:34px}
  .contact-page-hero{padding:78px 0 72px}
}


/* UPDATE 16 — simplify hero CTAs */
.hero-primary-links .hero-cta-light{
  background:#ffffff;
  color:#1d2b27;
  border:1.5px solid #2f58d6;
}
.hero-primary-links .hero-cta-light:hover{
  background:#2f58d6;
  color:#ffffff;
  border-color:#2f58d6;
}
.hero-primary-links .hero-cta-light span{
  color:inherit;
}

/* UPDATE 18 — final polish */
.premium-home .hero h1{
  font-size:clamp(36px,3.05vw,47px);
  line-height:1.08;
  max-width:590px;
}
.premium-home .hero-primary-links{margin-top:26px;gap:12px}
.premium-home .hero-primary-links .button{
  min-height:48px;
  padding:12px 18px;
  font-size:13px;
  font-weight:500;
}
.typical-outputs-section{padding:88px 0 92px;background:#f6f7f4;border-top:1px solid #e3e8e5}
.typical-outputs-head{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;margin:14px 0 30px}
.typical-outputs-head h2{margin:0;font:400 clamp(38px,4vw,54px)/1.03 var(--serif);color:var(--ink);max-width:720px}
.typical-outputs-head p{margin:0;font-size:14px;line-height:1.7;color:#5d6964;max-width:460px}
.typical-output-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #dce3df;border-left:1px solid #dce3df}
.typical-output-grid article{min-height:190px;padding:22px;border-right:1px solid #dce3df;border-bottom:1px solid #dce3df;background:#fff}
.typical-output-grid article>span{font-size:10px;letter-spacing:.08em;color:#2f58d6}
.typical-output-grid h3{margin:30px 0 10px;font:400 24px/1.08 var(--serif);color:var(--ink)}
.typical-output-grid p{margin:0;font-size:12px;line-height:1.7;color:#65716c}
.output-note{margin:18px 0 0;font-size:10.5px;color:#7a8580}
.trust-column a{display:block}
.security-hero{padding:92px 0 76px;background:linear-gradient(90deg,#f4f4f0 0%,#f4f4f0 55%,#edf3fb 55%,#e6effb 100%);border-bottom:1px solid #dce5ef}
.security-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:78px;align-items:end}
.security-hero h1{margin:14px 0 0;font:400 clamp(50px,5.8vw,80px)/.99 var(--serif);color:var(--ink);max-width:800px}
.security-hero p{margin:0 0 8px;font-size:15px;line-height:1.75;color:#5c6964;max-width:540px}
.security-principles{padding:74px 0 96px}
.security-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #dfe5e1;border-left:1px solid #dfe5e1}
.security-grid article{min-height:220px;padding:26px;border-right:1px solid #dfe5e1;border-bottom:1px solid #dfe5e1}
.security-grid article>span{font-size:10px;color:#2f58d6}
.security-grid h2{margin:32px 0 10px;font:400 30px/1.08 var(--serif);color:var(--ink)}
.security-grid p{margin:0;font-size:13px;line-height:1.75;color:#65716c;max-width:540px}
.security-note{margin-top:62px;max-width:760px}
.security-note h2{margin:12px 0 15px;font:400 44px/1.03 var(--serif);color:var(--ink)}
.security-note p{font-size:14px;line-height:1.75;color:#5c6862;margin:0 0 22px}
@media(max-width:900px){
  .typical-outputs-head,.security-hero-grid{grid-template-columns:1fr;gap:20px}
  .typical-output-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .premium-home .hero h1{font-size:43px}
  .typical-output-grid,.security-grid{grid-template-columns:1fr}
}

/* UPDATE 20 — Gardiner-style coloured underline on the top navigation */
.main-nav{
  align-self:stretch;
}
.main-nav a{
  position:relative;
  height:74px;
  display:flex;
  align-items:center;
  color:#27332f;
  --nav-accent:#2f58d6;
}
/* Gardiner reference: the bar sits at the bottom edge of the header, not under the text itself. */
.main-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:5px;
  background:var(--nav-accent);
  transform:scaleX(0);
  transform-origin:center;
  opacity:0;
  transition:transform .20s ease, opacity .20s ease;
  pointer-events:none;
}
/* Show the page colour when the user is actually on / over the navigation item. */
.main-nav a:hover,
.main-nav a:focus-visible,
.main-nav a.active-nav,
.main-nav a.nav-active,
.main-nav a.nav-people-active{
  color:#27332f !important;
}
.main-nav a:hover::after,
.main-nav a:focus-visible::after,
.main-nav a.nav-clicking::after{
  transform:scaleX(1);
  opacity:1;
}
/* After clicking, repeat the same cue briefly on the destination page, then remove it. */
.main-nav a.nav-arrival::after{
  animation:navAccentArrival .95s ease both;
}
@keyframes navAccentArrival{
  0%,68%{transform:scaleX(1);opacity:1}
  100%{transform:scaleX(0);opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .main-nav a::after{transition:none}
  .main-nav a.nav-arrival::after{animation-duration:.01ms}
}
@media(max-width:980px){
  .main-nav{align-self:auto}
  .main-nav a{
    height:auto;
    min-height:42px;
    width:max-content;
  }
  .main-nav a::after{
    bottom:0;
    height:3px;
  }
}


/* UPDATE 22 — section-coloured header CTA buttons (Gardiner-inspired) */
:root{
  --section-accent:#2f58d6;
  --section-accent-strong:#224dbd;
  --section-accent-soft:#edf3ff;
  --section-accent-soft-2:#dfe9ff;
}

.header-actions .button{
  min-width:184px;
}
.header-actions .workspace-button{
  background:#fff;
  border-color:var(--section-accent);
  color:var(--section-accent);
}
.header-actions .workspace-button:hover,
.header-actions .workspace-button:focus-visible,
.header-actions .workspace-button.current-page-action,
.header-actions .workspace-button.current-workspace{
  background:var(--section-accent-soft);
  border-color:var(--section-accent);
  color:var(--section-accent);
}
.header-actions .nav-cta.button-dark{
  background:var(--section-accent-strong);
  border-color:var(--section-accent-strong);
  color:#fff;
}
.header-actions .nav-cta.button-dark:hover,
.header-actions .nav-cta.button-dark:focus-visible{
  background:var(--section-accent);
  border-color:var(--section-accent);
  color:#fff;
}
.header-actions .nav-cta.button-dark.current-page-action{
  background:var(--section-accent);
  border-color:var(--section-accent);
  color:#fff;
  box-shadow:0 10px 22px color-mix(in srgb, var(--section-accent) 24%, transparent);
}
@supports not (color: color-mix(in srgb, white 50%, black)){
  .header-actions .nav-cta.button-dark.current-page-action{
    box-shadow:0 10px 22px rgba(47,88,214,.18);
  }
}
@media(max-width:980px){
  .header-actions .button{
    min-width:unset;
    width:100%;
  }
}


/* UPDATE 23 — unified top-section proportions across primary navigation pages */
.section-landing-hero{
  min-height:410px !important;
  padding:72px 0 !important;
  display:flex;
  align-items:center;
  background:#f5f5f1 !important;
  border-bottom:1px solid #e3e7e4 !important;
}
.section-landing-grid{
  width:min(1180px,calc(100% - 48px));
  margin-inline:auto;
  display:grid !important;
  grid-template-columns:1.15fr .85fr !important;
  gap:90px !important;
  align-items:end !important;
}
.section-landing-hero h1{
  margin:14px 0 0 !important;
  max-width:820px !important;
  font-family:var(--serif) !important;
  font-size:clamp(54px,5.15vw,74px) !important;
  font-weight:400 !important;
  line-height:.99 !important;
  letter-spacing:-.028em !important;
  color:var(--ink) !important;
}
.section-landing-hero p{
  margin:0 0 7px !important;
  max-width:540px !important;
  font-size:15px !important;
  line-height:1.72 !important;
  color:#58645f !important;
}
.section-landing-hero .section-label{
  font-size:10px !important;
  letter-spacing:.14em !important;
}
@media(max-width:980px){
  .section-landing-hero{
    min-height:auto !important;
    padding:58px 0 !important;
  }
  .section-landing-grid{
    grid-template-columns:1fr !important;
    gap:26px !important;
    align-items:start !important;
  }
  .section-landing-hero h1{
    max-width:780px !important;
    font-size:clamp(48px,7vw,64px) !important;
  }
  .section-landing-hero p{
    max-width:680px !important;
  }
}
@media(max-width:640px){
  .section-landing-hero{
    padding:46px 0 !important;
  }
  .section-landing-grid{
    width:min(100% - 28px,1180px);
    gap:22px !important;
  }
  .section-landing-hero h1{
    font-size:44px !important;
    line-height:1.01 !important;
  }
  .section-landing-hero p{
    font-size:14px !important;
  }
}


/* UPDATE 24 — shared Let's connect strip across primary pages */
.contact-strip{
  background:var(--paper);
  border-top:1px solid #e2e5e2;
  border-bottom:0;
}
.contact-strip .contact-grid-expanded{
  grid-template-columns:1.05fr 1.15fr .9fr auto;
  align-items:center;
  gap:40px;
}
.contact-strip h2{
  color:var(--ink);
}
.contact-strip-button.button-dark{
  background:var(--section-accent-strong);
  border-color:var(--section-accent-strong);
  color:#fff;
}
.contact-strip-button.button-dark:hover,
.contact-strip-button.button-dark:focus-visible{
  background:var(--section-accent);
  border-color:var(--section-accent);
  color:#fff;
}
.contact-strip .contact-address strong{
  color:var(--section-accent-strong);
}
@media (max-width:1100px){
  .contact-strip .contact-grid-expanded{
    grid-template-columns:1fr 1fr;
  }
  .contact-strip .contact-grid-expanded > a{
    justify-self:start;
  }
}
@media (max-width:720px){
  .contact-strip .contact-grid-expanded{
    grid-template-columns:1fr;
    gap:18px;
  }
  .contact-strip .contact-grid-expanded > *{
    justify-self:start;
  }
  .contact-strip-button.button-dark{
    width:100%;
  }
}


/* UPDATE 27 — Contract Preparation & Review content system */
.contract-review-page .product-capabilities h2{
  max-width:780px;
}
.contract-review-page .capability-card-grid article{
  min-height:290px;
}
.contract-review-page .capability-card-grid h3{
  margin-top:28px;
  font-size:22px;
}
.contract-review-page .capability-card-grid p{
  font-size:11.5px;
  line-height:1.7;
}
.product-fit-section{
  padding:88px 0 94px;
  background:#fff;
  border-top:1px solid #e6eae7;
}
.product-fit-head{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:70px;
  align-items:end;
  margin:14px 0 32px;
}
.product-fit-head h2{
  margin:0;
  max-width:760px;
  font:400 clamp(38px,4vw,54px)/1.03 var(--serif);
  color:var(--ink);
}
.product-fit-head p{
  margin:0;
  max-width:470px;
  font-size:14px;
  line-height:1.7;
  color:#5d6964;
}
.product-fit-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border-top:1px solid #dce3df;
  border-left:1px solid #dce3df;
}
.product-fit-grid article{
  min-height:235px;
  padding:22px 20px;
  border-right:1px solid #dce3df;
  border-bottom:1px solid #dce3df;
  background:#f9faf8;
}
.product-fit-grid article>span{
  font-size:10px;
  letter-spacing:.08em;
  color:#2f58d6;
}
.product-fit-grid h3{
  margin:30px 0 10px;
  font:400 22px/1.1 var(--serif);
  color:var(--ink);
}
.product-fit-grid p{
  margin:0;
  font-size:11.5px;
  line-height:1.7;
  color:#65716c;
}
.contract-review-page .typical-output-grid article{
  min-height:215px;
}
.contract-review-page .product-description{
  max-width:640px;
}
@media(max-width:1100px){
  .product-fit-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  .product-fit-head{grid-template-columns:1fr;gap:20px}
  .product-fit-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .contract-review-page .capability-card-grid article{min-height:0}
  .product-fit-section{padding:66px 0 72px}
  .product-fit-grid{grid-template-columns:1fr}
  .product-fit-grid article{min-height:0}
  .contract-review-page .typical-output-grid article{min-height:0}
}

/* UPDATE 28 — Claim Preparation detailed content system */
.claim-preparation-page .product-description{
  max-width:670px;
}
.claim-preparation-page .product-capabilities h2{
  max-width:850px;
}
.claim-preparation-page .capability-card-grid article{
  min-height:315px;
}
.claim-preparation-page .capability-card-grid h3{
  margin-top:26px;
  font-size:21px;
}
.claim-preparation-page .capability-card-grid p{
  font-size:11.5px;
  line-height:1.72;
}
.claim-preparation-page .typical-output-grid article{
  min-height:235px;
}
.claim-preparation-page .typical-output-grid h3{
  font-size:22px;
}
.claim-preparation-page .typical-output-grid p{
  font-size:11.5px;
  line-height:1.72;
}
.claim-preparation-page .product-intro-grid>div:last-child p{
  max-width:760px;
}
.claim-preparation-page .product-floating-note{
  max-width:270px;
}
@media(max-width:980px){
  .claim-preparation-page .capability-card-grid article,
  .claim-preparation-page .typical-output-grid article{
    min-height:0;
  }
}


/* UPDATE 29 — Delay & EOT Analysis detailed content system */
.delay-eot-page .product-description{
  max-width:690px;
}
.delay-eot-page .product-capabilities h2{
  max-width:880px;
}
.delay-eot-page .capability-card-grid article{
  min-height:335px;
}
.delay-eot-page .capability-card-grid h3{
  margin-top:25px;
  font-size:21px;
}
.delay-eot-page .capability-card-grid p{
  font-size:11.4px;
  line-height:1.7;
}
.delay-eot-page .typical-output-grid article{
  min-height:245px;
}
.delay-eot-page .typical-output-grid h3{
  font-size:21px;
}
.delay-eot-page .typical-output-grid p{
  font-size:11.4px;
  line-height:1.72;
}
.programme-source-note{
  margin-top:20px;
  max-width:650px;
  padding:12px 14px;
  border-left:3px solid #2f58d6;
  background:#f6f8fb;
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-size:11.5px;
  line-height:1.55;
}
.programme-source-note strong{
  flex:0 0 auto;
  color:var(--ink);
}
.programme-source-note span{
  color:#65716c;
}
.delay-eot-page .product-intro-grid>div:last-child p{
  max-width:780px;
}
.delay-eot-page .product-floating-note{
  max-width:285px;
}
@media(max-width:980px){
  .delay-eot-page .capability-card-grid article,
  .delay-eot-page .typical-output-grid article{
    min-height:0;
  }
}
@media(max-width:640px){
  .programme-source-note{
    display:grid;
    gap:4px;
  }
}


/* UPDATE 30 — deep solution pages + two new solution agents/modules */
.deep-solution-page .product-description{
  max-width:700px;
}
.deep-solution-page .product-capabilities h2{
  max-width:900px;
}
.deep-solution-page .capability-card-grid article{
  min-height:330px;
}
.deep-solution-page .capability-card-grid h3{
  margin-top:25px;
  font-size:21px;
}
.deep-solution-page .capability-card-grid p{
  font-size:11.4px;
  line-height:1.72;
}
.deep-solution-page .typical-output-grid article{
  min-height:250px;
}
.deep-solution-page .typical-output-grid h3{
  font-size:21px;
}
.deep-solution-page .typical-output-grid p{
  font-size:11.4px;
  line-height:1.72;
}
.deep-solution-page .product-intro-grid>div:last-child p{
  max-width:790px;
}
.deep-solution-page .product-floating-note{
  width:285px;
  max-width:calc(100% - 56px);
}
.solutions-overview-grid .solution-card{
  min-height:300px;
}
.solutions-overview-grid .solution-card h3{
  font-size:20px;
}
.solutions-overview-grid .solution-card p{
  font-size:12px;
  line-height:1.65;
}
@media(max-width:980px){
  .deep-solution-page .capability-card-grid article,
  .deep-solution-page .typical-output-grid article,
  .solutions-overview-grid .solution-card{
    min-height:0;
  }
}

/* UPDATE 31 — streamlined IA, Key Capabilities, Consultancy, and Industries text */
@media (min-width:1181px){
  .site-header .shell{width:min(1240px,calc(100% - 40px))}
  .site-header .brand-logo{width:205px}
  .site-header .main-nav{gap:20px;font-size:13px}
  .site-header .header-actions .button{min-width:148px;padding:0 14px;gap:10px}
}
@media (max-width:1180px){
  .nav-wrap{grid-template-columns:1fr auto}
  .main-nav,.header-actions{display:none}
  .menu-toggle{display:block;justify-self:end}
  .main-nav.open{
    position:absolute;top:74px;left:0;right:0;display:flex;flex-direction:column;
    align-items:flex-start;padding:20px 24px;background:#fff;border-bottom:1px solid #e8ece9
  }
  .main-nav{align-self:auto}
  .main-nav a{height:auto;min-height:42px;width:max-content}
  .main-nav a::after{bottom:0;height:3px}
}

/* Who We Serve — industries retained as concise text rather than standalone pages */
.industries-text-section{
  padding:72px 0 82px;
  background:#f7f7f4;
  border-top:1px solid #e6eae7;
}
.industries-text-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:86px;
  align-items:start;
}
.industries-text-grid h2{
  margin:13px 0 0;
  max-width:480px;
  font:400 42px/1.08 var(--serif);
  color:var(--ink);
}
.industries-text-content>p{
  margin:0;
  max-width:690px;
  font-size:15px;
  line-height:1.75;
  color:#56635e;
}
.industry-text-list{
  margin:28px 0 24px;
  display:flex;
  flex-wrap:wrap;
  border-top:1px solid #dfe5e1;
  border-left:1px solid #dfe5e1;
}
.industry-text-list span{
  flex:1 1 31%;
  min-width:210px;
  padding:17px 18px;
  border-right:1px solid #dfe5e1;
  border-bottom:1px solid #dfe5e1;
  background:#fff;
  font-size:13px;
  color:#263b34;
}
.industries-text-content .industries-note{
  font-size:12px;
  color:#71807a;
  max-width:700px;
}

/* Key Capabilities */
.capabilities-overview-section{padding:78px 0 92px;background:#fff}
.capabilities-intro-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:86px;
  align-items:start;
  margin-bottom:40px;
}
.capabilities-intro-grid h2,
.capability-principles-grid h2,
.consultancy-intro-grid h2,
.consultancy-services-section h2,
.engagement-heading h2,
.consultancy-process-grid h2{
  margin:12px 0 0;
  font:400 42px/1.08 var(--serif);
  color:var(--ink);
}
.capabilities-intro-grid>p,
.consultancy-intro-grid>div:last-child p,
.engagement-heading>p{
  margin:0 0 14px;
  max-width:720px;
  font-size:15px;
  line-height:1.78;
  color:#56635e;
}
.platform-capability-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  border-top:1px solid #dfe5e1;
  border-left:1px solid #dfe5e1;
}
.platform-capability-grid article{
  min-height:230px;
  padding:26px 28px;
  border-right:1px solid #dfe5e1;
  border-bottom:1px solid #dfe5e1;
  background:#fff;
}
.platform-capability-grid article>span,
.consultancy-service-grid article>span,
.engagement-model-grid article>span{
  display:block;
  margin-bottom:26px;
  font-size:10px;
  letter-spacing:.09em;
  color:var(--section-accent-strong);
}
.platform-capability-grid h3,
.consultancy-service-grid h3,
.engagement-model-grid h3{
  margin:0 0 12px;
  font:400 23px/1.12 var(--serif);
  color:var(--ink);
}
.platform-capability-grid p,
.consultancy-service-grid p,
.engagement-model-grid p{
  margin:0;
  font-size:13px;
  line-height:1.7;
  color:#5c6964;
}
.capability-principles-section{padding:78px 0 94px;background:#f4f6f5;border-top:1px solid #e1e6e3}
.capability-principles-grid,
.consultancy-process-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:86px;
  align-items:start;
}
.principle-list,
.consultancy-process-list{border-top:1px solid #d8e0dc}
.principle-list article,
.consultancy-process-list article{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:20px;
  padding:23px 0;
  border-bottom:1px solid #d8e0dc;
}
.principle-list strong,
.consultancy-process-list strong{
  font-size:10px;
  letter-spacing:.08em;
  color:var(--section-accent-strong);
  font-weight:500;
}
.principle-list h3,
.consultancy-process-list h3{margin:0 0 7px;font:400 21px/1.15 var(--serif);color:var(--ink)}
.principle-list p,
.consultancy-process-list p{margin:0;font-size:13px;line-height:1.7;color:#5d6964}

/* Consultancy */
.consultancy-intro-section{padding:78px 0 70px;background:#fff}
.consultancy-intro-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:86px;
  align-items:start;
}
.consultancy-services-section{padding:18px 0 94px;background:#fff}
.consultancy-heading{margin-bottom:30px}
.consultancy-service-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  border-top:1px solid #e1e4df;
  border-left:1px solid #e1e4df;
}
.consultancy-service-grid article{
  min-height:245px;
  padding:28px;
  border-right:1px solid #e1e4df;
  border-bottom:1px solid #e1e4df;
  background:#fff;
  scroll-margin-top:95px;
}
.engagement-model-section{padding:82px 0 92px;background:#f7f5ef;border-top:1px solid #e8e1d3}
.engagement-heading{max-width:850px;margin-bottom:34px}
.engagement-model-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.engagement-model-grid article{
  min-height:300px;
  padding:28px;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid #e1ded5;
}
.engagement-model-grid article.engagement-featured{
  background:var(--section-accent-soft);
  border-color:var(--section-accent);
}
.engagement-model-grid article a{
  margin-top:auto;
  padding-top:26px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:12px;
  color:var(--section-accent-strong);
}
.engagement-model-grid article a b{font-size:16px;font-weight:400}
.consultancy-process-section{padding:82px 0 94px;background:#fff}
.consultancy-boundary-section{padding:31px 0;background:#f6f7f5;border-top:1px solid #e0e5e2}
.consultancy-boundary-grid{display:grid;grid-template-columns:.45fr 1.55fr;gap:60px;align-items:start}
.consultancy-boundary-grid p{margin:0;max-width:900px;font-size:12px;line-height:1.75;color:#65716c}

@media(max-width:900px){
  .industries-text-grid,
  .capabilities-intro-grid,
  .capability-principles-grid,
  .consultancy-intro-grid,
  .consultancy-process-grid,
  .consultancy-boundary-grid{grid-template-columns:1fr;gap:30px}
  .platform-capability-grid,.consultancy-service-grid{grid-template-columns:1fr}
  .engagement-model-grid{grid-template-columns:1fr}
  .engagement-model-grid article{min-height:230px}
}
@media(max-width:640px){
  .industries-text-section,
  .capabilities-overview-section,
  .capability-principles-section,
  .consultancy-intro-section,
  .consultancy-services-section,
  .engagement-model-section,
  .consultancy-process-section{padding-top:52px;padding-bottom:58px}
  .industries-text-grid h2,
  .capabilities-intro-grid h2,
  .capability-principles-grid h2,
  .consultancy-intro-grid h2,
  .consultancy-services-section h2,
  .engagement-heading h2,
  .consultancy-process-grid h2{font-size:35px}
  .industry-text-list span{min-width:100%;flex-basis:100%}
  .platform-capability-grid article,.consultancy-service-grid article{min-height:auto;padding:23px 20px}
  .consultancy-boundary-section{padding:28px 0}
}


/* UPDATE 32 — Legal / policy pages */
.legal-page{background:#fff}
.legal-hero{
  background:#f4f4f0;
  border-bottom:1px solid #e2e7e4;
  padding:88px 0 76px;
}
.legal-hero-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:72px;
  align-items:end;
}
.legal-hero h1{
  margin:14px 0 0;
  font:400 clamp(54px,5vw,76px)/.98 var(--serif);
  letter-spacing:-.03em;
  color:var(--ink);
}
.legal-hero p{
  max-width:620px;
  margin:0;
  font-size:16px;
  line-height:1.7;
  color:#52605a;
}
.legal-updated{
  display:block;
  margin-top:16px;
  font-size:11px;
  color:#7a8580;
}
.legal-content{padding:72px 0 96px}
.legal-content-inner{max-width:880px}
.legal-section{
  padding:0 0 34px;
  margin:0 0 34px;
  border-bottom:1px solid #e6ebe7;
}
.legal-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.legal-section h2{
  margin:0 0 14px;
  font:400 30px/1.15 var(--serif);
  color:var(--ink);
}
.legal-section p{
  margin:0 0 12px;
  font-size:14px;
  line-height:1.8;
  color:#4f5c56;
}
.legal-section a{color:#2f58d6;text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){
  .legal-hero{padding:60px 0 52px}
  .legal-hero-grid{grid-template-columns:1fr;gap:28px}
  .legal-content{padding:54px 0 70px}
}


/* UPDATE 37 — Cookie consent */
.cookie-consent{
  position:fixed;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  z-index:1000;
  width:min(1180px,calc(100% - 36px));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:20px 22px;
  background:rgba(255,255,255,.98);
  color:#1a2521;
  border:1px solid #d9e0dc;
  box-shadow:0 18px 50px rgba(11,34,28,.16);
  backdrop-filter:blur(14px);
}
.cookie-consent__copy{max-width:790px}
.cookie-consent__copy strong{
  display:block;
  margin-bottom:5px;
  font-size:13px;
  letter-spacing:.04em;
  color:var(--ink);
}
.cookie-consent__copy p{
  margin:0;
  font-size:12px;
  line-height:1.6;
  color:#596660;
}
.cookie-consent__copy a{
  color:#2f58d6;
  text-decoration:underline;
  text-underline-offset:2px;
}
.cookie-consent__actions{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:10px;
}
.cookie-consent__button{
  min-height:44px;
  padding:0 16px;
  border:1px solid #2f58d6;
  background:#fff;
  color:#2f58d6;
  font:500 12px/1 var(--sans);
  cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.cookie-consent__button:hover,
.cookie-consent__button:focus-visible{background:#edf3ff;outline:none}
.cookie-consent__button--accept{
  background:#2f58d6;
  color:#fff;
}
.cookie-consent__button--accept:hover,
.cookie-consent__button--accept:focus-visible{
  background:#224dbd;
  border-color:#224dbd;
}
@media(max-width:760px){
  .cookie-consent{
    bottom:10px;
    width:calc(100% - 20px);
    align-items:stretch;
    flex-direction:column;
    gap:14px;
    padding:18px;
  }
  .cookie-consent__actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .cookie-consent__button{width:100%}
}
@media(max-width:420px){
  .cookie-consent__actions{grid-template-columns:1fr}
}
