/* csp/index.style-1.v1.css */
.hero{position:relative;min-height:840px;overflow:hidden;color:#fff;background:radial-gradient(circle at 76% 34%,rgba(45,117,181,.26),transparent 34%),linear-gradient(116deg,#051e2c 0%,#08233a 62%,#0b3150 100%)}

.hero:before{content:"";position:absolute;inset:0;opacity:.17;background-image:linear-gradient(rgba(146,243,240,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(146,243,240,.22) 1px,transparent 1px);background-size:74px 74px;mask-image:linear-gradient(90deg,transparent 25%,#000 72%,transparent);pointer-events:none}
.hero:after{content:"";position:absolute;width:720px;height:720px;right:-360px;bottom:-480px;border:120px solid rgba(146,243,240,.07);border-radius:50%}
.hero-grid{position:relative;z-index:2;width:min(calc(100% - 56px),1220px);margin:auto;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);gap:62px;align-items:center;min-height:690px;padding:74px 0 96px}
.hero-copy{max-width:760px}
.eyebrow{display:flex;align-items:center;gap:13px;margin-bottom:28px;color:#92f3f0;font-size:.76rem;font-weight:700;letter-spacing:.19em;text-transform:uppercase}
.eyebrow:before{content:"";width:36px;height:2px;background:#42e4ec}
.hero h1{max-width:800px;margin:0 0 26px;text-rendering:geometricPrecision}
.hero h1 .accent{display:block;color:#2ab7c1!important}
.lead{max-width:655px;margin-bottom:32px;color:rgba(255,255,255,.84);font-size:1.15rem;font-weight:500;line-height:1.7}
.actions{display:flex;flex-wrap:wrap;gap:14px}
.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border:1px solid transparent;border-radius:999px;font-weight:700;transition:transform .18s,background .18s,border-color .18s}
.btn-primary{color:#051e2c;background:#92f3f0;box-shadow:0 14px 34px rgba(36,210,222,.14)}
.btn-secondary{color:#fff;border-color:rgba(255,255,255,.48);background:transparent}
.btn-primary:hover,.btn-secondary:hover{transform:translateY(-2px)}
.btn-secondary:hover{border-color:#92f3f0;background:rgba(146,243,240,.08)}
.hero-copy{position:relative;z-index:3}
.intelligence-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:510px;margin:0;transform:translate(-25px,-15px);isolation:isolate}
.intelligence-visual:before{content:"";position:absolute;z-index:0;inset:20% 16%;border-radius:50%;background:radial-gradient(circle,rgba(36,210,222,.13),rgba(69,69,255,.055) 42%,transparent 72%);filter:blur(22px);animation:core-breathe 6s ease-in-out infinite}
.intelligence-visual img{position:relative;z-index:1;display:block;width:min(145%,800px);height:auto;max-height:615px;object-fit:contain;opacity:.72;filter:saturate(.88) brightness(.86) contrast(1.04) drop-shadow(0 18px 42px rgba(36,210,222,.11));animation:intelligence-float 12s ease-in-out infinite}
@keyframes intelligence-float{0%,100%{transform:translate3d(0,0,0)}
50%{transform:translate3d(0,-7px,0)}
}
@keyframes core-breathe{0%,100%{opacity:.55;transform:scale(.96)}
50%{opacity:1;transform:scale(1.05)}
}
main section{padding:112px 0}
.wrap{width:min(calc(100% - 56px),1220px);margin:auto}
.section-label{margin-bottom:20px;color:#176b75;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
h2{margin:0 0 22px}
.body-copy{color:#425268;font-size:1.08rem;line-height:1.75}
.intro{position:relative;background:#eaf8f8}
.intro:before{content:"";position:absolute;top:0;left:0;width:42%;height:8px;background:#42e4ec}
.intro-grid{display:grid;grid-template-columns:1.05fr .75fr;gap:110px;align-items:end}
.intro h2{margin-bottom:0}
.process{position:relative;overflow:hidden;color:#fff;background:#051e2c}
.process-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.65fr);gap:96px;align-items:start;margin-bottom:70px}
.process-head h2{max-width:760px}
.process .section-label{color:#92f3f0}
.process-head>.body-copy{max-width:470px;margin:60px 0 4px;color:rgba(255,255,255,.66)}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.process-step{min-height:420px;padding:34px 40px 34px;border-left:1px solid rgba(255,255,255,.15)}
.process-step:last-child{border-right:1px solid rgba(255,255,255,.15)}
.step-number{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:34px;border:2px solid #42e4ec;border-radius:50%;color:#92f3f0;font-family:Manrope,sans-serif;font-weight:700}
.process-step h3{margin:0 0 16px}
.process-step p{margin:0;color:rgba(255,255,255,.6);line-height:1.65}
.process-step .step-promise{min-height:76px;margin-bottom:14px;color:rgba(255,255,255,.92);font-weight:600;line-height:1.5}
.specialisms{background:#f4f7f8}
.specialisms-head{display:grid;grid-template-columns:1.08fr .65fr;gap:90px;align-items:end;margin-bottom:62px}
.specialism-list{border-top:1px solid rgba(12,43,68,.15)}
.specialism-row{display:grid;grid-template-columns:90px 1fr 1fr;gap:34px;align-items:center;min-height:136px;border-bottom:1px solid rgba(12,43,68,.15);transition:background .2s,padding .2s}
.specialism-row:hover{padding-inline:22px;background:#fff}
.specialism-number{color:#536b7f;font-size:.78rem;font-weight:600;letter-spacing:.14em}
.specialism-row h3{margin:0}
.specialism-row p{max-width:430px;margin:0;color:#425268;line-height:1.65}
.intelligence{padding:0!important;color:#fff;background:radial-gradient(circle at 82% 20%,rgba(74,224,222,.16),transparent 34%),linear-gradient(120deg,#051e2c 0%,#0a2d49 48%,#123d63 100%)}
.intelligence-grid{display:grid;grid-template-columns:1fr 1fr;min-height:630px}
.intelligence-copy{display:flex;flex-direction:column;justify-content:center;padding:100px 80px 100px 0}
.intelligence-copy .section-label{color:#92f3f0}
.intelligence-copy p{max-width:600px;color:rgba(255,255,255,.73)}
.signal-panel{position:relative;display:grid;align-content:center;gap:18px;padding:80px 0 80px 80px;border-left:1px solid rgba(255,255,255,.18)}
.signal-item{display:grid;grid-template-columns:44px 1fr;gap:18px;align-items:start;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.signal-item:last-child{border-bottom:0}
.signal-dot{width:20px;height:20px;margin-top:2px;border:5px solid rgba(146,243,240,.22);border-radius:50%;background:#92f3f0;box-shadow:0 0 28px rgba(146,243,240,.46)}
.signal-item p{margin:0;color:rgba(255,255,255,.65);line-height:1.6}
.journey-section{color:#fff;background:#051e2c}
.journey-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.journey{display:flex;min-height:390px;padding:58px 62px 58px 0;flex-direction:column}
.journey+.journey{padding-left:62px;padding-right:0;border-left:1px solid rgba(255,255,255,.16)}
.journey-tag{display:inline-block;margin-bottom:38px;color:#92f3f0;font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.journey h3{max-width:470px;margin:0 0 20px}
.text-link{display:inline-flex;align-items:center;align-self:flex-start;gap:9px;margin-top:auto;padding-top:24px;color:#154d6b;font-weight:700}
.text-link:after{content:"→";color:#6d28d9}
.journey .body-copy{color:rgba(255,255,255,.7)}
.journey .text-link{color:#92f3f0}
.journey .text-link:after{color:#7b64ff}

@media(max-width:860px){.hero-grid{grid-template-columns:1fr}
.intelligence-visual{min-height:390px;transform:none;margin-top:20px}
.intelligence-visual img{width:min(90%,560px);opacity:.76}
.intro-grid,.process-head,.specialisms-head,.intelligence-grid{grid-template-columns:1fr}
.process-head>.body-copy{margin-top:0}
.process-grid{grid-template-columns:1fr 1fr}
.specialism-row{grid-template-columns:52px 1fr;padding:30px 0}
.specialism-row p{grid-column:2/3}
.signal-panel{padding:36px 0 80px;border-left:0;border-top:1px solid rgba(255,255,255,.18)}
.journey-grid{grid-template-columns:1fr}
.journey,.journey+.journey{padding:48px 0;border-left:0}
.journey+.journey{border-top:1px solid rgba(255,255,255,.16)}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.intelligence-visual img,.intelligence-visual:before{animation:none!important}
.reveal-ready .reveal-section{opacity:1!important;transform:none!important;transition:none!important}
}
@media(max-width:620px){.wrap,.hero-grid{width:min(calc(100% - 30px),1220px)}
.hero-grid{padding:58px 0 72px}
.actions{display:grid}
.btn-primary,.btn-secondary{width:100%}
.process-grid{grid-template-columns:1fr}
.intelligence-visual{min-height:300px;margin-top:18px}
.intelligence-visual img{width:min(100%,560px)}
}


/* csp/index.style-2.v1.css */
/* Keep the finished intelligence artwork as the sole hero focal point. */
.hero:after{display:none}

.intelligence-visual{
  min-height:570px;
  transform:translate(-5px,4px);
}

.intelligence-visual:before{
  inset:14% 3%;
  background:radial-gradient(circle,rgba(36,210,222,.14),rgba(69,69,255,.06) 44%,transparent 73%);
  filter:blur(24px);
  animation:none;
}

.intelligence-visual img{
  width:min(150%,860px);
  max-width:none;
  max-height:none;
  opacity:.84;
  filter:saturate(.9) brightness(.9) contrast(1.03) drop-shadow(0 20px 46px rgba(36,210,222,.11));
  animation:constellation-shimmer 10s ease-in-out infinite;
}

.intelligence-visual:after{
  content:none;
}


@keyframes constellation-shimmer{
  0%,100%{opacity:.8;filter:saturate(.88) brightness(.87) contrast(1.03) drop-shadow(0 20px 42px rgba(36,210,222,.09))}

  50%{opacity:.86;filter:saturate(.94) brightness(.94) contrast(1.04) drop-shadow(0 20px 50px rgba(36,210,222,.15))}

}

.intelligence-core-mark,
.match-pulse{display:none}

@media(max-width:860px){
  .intelligence-visual{min-height:430px;transform:none;margin-top:20px}

  .intelligence-visual img{width:min(114%,700px)}


}

@media(max-width:620px){
  .intelligence-visual{min-height:320px}

  .intelligence-visual img{width:min(108%,620px)}


}


/* csp/index.style-3.v1.css */
/* Human-led hero: the full photograph already contains its own 45/55 composition. */
.intelligence{
  background:
    radial-gradient(circle at 82% 20%,rgba(74,224,222,.16),transparent 34%),
    linear-gradient(120deg,#051e2c 0%,#0a2d49 48%,#123d63 100%);
}

.hero-grid{
  display:block;
  min-height:747px;
  padding:74px 0 96px;
}

.hero-copy{
  position:relative;
  z-index:3;
  width:50%;
  max-width:680px;
}

.intelligence-visual{
  position:absolute;
  z-index:0;
  top:0;
  bottom:0;
  left:50%;
  width:100vw;
  min-height:0;
  height:auto;
  margin:0;
  overflow:hidden;
  transform:translateX(-50%);
}

.intelligence-visual:before{display:none}

.intelligence-visual:after{
  content:"";
  position:absolute;
  z-index:2;
  inset:0 0 0 50%;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(6,27,45,.94) 0%,rgba(6,27,45,.38) 8%,rgba(6,27,45,.1) 16%,transparent 24%);
}

.intelligence-visual img{
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:cover;
  object-position:center center;
  clip-path:inset(0 0 0 50%);
  opacity:.94;
  filter:none;
  animation:none;
}

@media(max-width:860px){
  .hero-grid{display:grid;grid-template-columns:1fr;gap:12px;min-height:0;padding:64px 0 72px}

  .hero-copy{width:100%}

  .hero-specialisms{flex-wrap:wrap;width:100%}

  .intelligence-visual{
    position:relative;
    z-index:0;
    top:auto;
    bottom:auto;
    left:auto;
    width:100%;
    height:430px;
    min-height:430px;
    margin:26px 0 0;
    transform:none;
  }

  .intelligence-visual img{
    width:122%;
    height:100%;
    object-position:78% center;
    transform:translateX(-12%);
  }

  .intelligence-visual:after{background:linear-gradient(90deg,rgba(8,35,58,.72),rgba(8,35,58,.15) 34%,transparent 58%)}

}

@media(max-width:620px){
  .hero-grid{padding:48px 0 56px}

  .intelligence-visual{height:330px;min-height:330px;margin-top:22px}

  .intelligence-visual img{
    width:138%;
    object-position:82% center;
    transform:translateX(-18%);
  }

  .intelligence-visual:after{background:linear-gradient(90deg,rgba(8,35,58,.58),rgba(8,35,58,.08) 30%,transparent 52%)}

}


/* csp/index.style-4.v1.css */
/* Homepage typography, readability and responsive image controls. */
:root{
  --homepage-heading-font:Manrope,Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --homepage-heading-weight:700;
  --homepage-heading-tracking:-.045em;
  --homepage-h1-space:28px;
  --homepage-h2-space:24px;
  --homepage-h3-space:14px;
}

.hero h1,
main h2,
main h3{
  font-optical-sizing:auto;
  font-synthesis:none;
  text-rendering:optimizeLegibility;
  text-shadow:none;
}

.hero h1{
  margin:0 0 var(--homepage-h1-space);
  text-wrap:balance;
}

main h2{
  margin:0 0 var(--homepage-h2-space)!important;
  text-wrap:balance;
}

main h3{
  margin:0 0 var(--homepage-h3-space)!important;
}

/* The source photograph already has a dark left-hand composition. Keep the
   extra overlay under the copy and let it clear before it reaches the faces. */
.intelligence-visual:after{
  inset:0 0 0 42%;
  background:linear-gradient(90deg,
    rgba(6,27,45,.98) 0%,
    rgba(6,27,45,.72) 20%,
    rgba(6,27,45,.3) 44%,
    transparent 72%);
}

@media(max-width:860px){
  .hero h1{max-width:720px}

  .intelligence-visual img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:68% center;
    transform:none;
    clip-path:none;
  }

  .intelligence-visual:after{
    inset:0;
    background:linear-gradient(180deg,rgba(6,27,45,.1),transparent 24%,transparent 80%,rgba(6,27,45,.2));
  }
}

@media(max-width:620px){

  .intelligence-visual{
    height:clamp(300px,84vw,350px);
    min-height:300px;
  }

  .intelligence-visual img{object-position:72% center}
}

/* Blend the full photograph into the hero while keeping the message dominant. */
@media(min-width:1101px){
  .hero-copy{
    width:60%;
    max-width:740px;
  }

  .intelligence-visual{
    top:0;
    bottom:0;
    left:auto;
    right:50%;
    width:46vw;
    height:auto;
    aspect-ratio:auto;
    margin-right:-50vw;
    transform:none;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.16) 5%,rgba(0,0,0,.68) 13%,#000 23%,#000 100%);
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.16) 5%,rgba(0,0,0,.68) 13%,#000 23%,#000 100%);
  }

  .intelligence-visual img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:right center;
    clip-path:none;
    opacity:1;
  }

  .intelligence-visual:after{
    inset:0;
    background:linear-gradient(90deg,rgba(6,27,45,.58) 0%,rgba(6,27,45,.22) 13%,transparent 27%);
  }

  .hero h1{
    text-rendering:optimizeLegibility;
    text-shadow:none!important;
    -webkit-font-smoothing:antialiased;
  }

  .hero .eyebrow,
  .hero .lead,
  .hero .actions,
  .hero-specialisms{
    font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    -webkit-font-smoothing:antialiased;
  }
}

@media(min-width:861px) and (max-width:1100px){
  .hero-grid{display:grid;grid-template-columns:1fr;gap:12px;min-height:0;padding:64px 0 72px}
  .hero-copy{width:100%;max-width:760px}
  .hero-specialisms{flex-wrap:wrap;width:100%}
  .intelligence-visual{position:relative;z-index:0;top:auto;bottom:auto;left:auto;right:auto;width:100%;height:430px;min-height:430px;margin:26px 0 0;transform:none}
  .intelligence-visual img{width:100%;height:100%;object-fit:cover;object-position:68% center;transform:none;clip-path:none;opacity:1}
  .intelligence-visual:after{inset:0;background:linear-gradient(180deg,rgba(6,27,45,.08),transparent 24%,transparent 80%,rgba(6,27,45,.2))}
}


/* csp/index.style-5.v1.css */
/* Final hero refinement: clearer hierarchy, quieter photography and a shorter first viewport. */
.hero{
  min-height:0;
}

.hero-grid{
  min-height:650px;
  padding:56px 0 62px;
}

.hero h1{
  max-width:720px;
}

.hero-specialisms{
  align-items:center;
  gap:0;
  margin-top:30px;
  color:rgba(255,255,255,.84);
  font-size:clamp(.8rem,.78vw,.875rem);
  font-weight:600;
}

/* Tight, editorial section rhythm keeps the homepage easy to scan. */
main section{padding:92px 0}
.intro{padding:82px 0}
.process-head{margin-bottom:52px}
.process-head>.body-copy{margin-top:42px}
.process-step{min-height:350px;padding:30px 30px 32px}
.process-step .step-promise{min-height:58px}
.step-number{margin-bottom:28px}
.specialisms-head{margin-bottom:48px}
.specialism-row{min-height:118px}
.journey{min-height:340px;padding-top:50px;padding-bottom:50px}

.hero-specialisms span{
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
}

.hero-specialisms span:before{
  width:5px;
  height:5px;
  margin:0 10px 0 14px;
  box-shadow:none;
}

.hero-specialisms span:first-child:before{
  margin-left:0;
}

@media(min-width:1101px){
  .intelligence-visual img{
    filter:saturate(.82) brightness(.86) contrast(1.05);
  }

  .intelligence-visual:after{
    background:
      linear-gradient(rgba(5,25,42,.12),rgba(5,25,42,.12)),
      linear-gradient(90deg,rgba(6,27,45,.68) 0%,rgba(6,27,45,.3) 16%,transparent 34%);
  }
}

@media(max-width:1100px){
  .hero-grid{min-height:0}
  .hero-specialisms{gap:12px 0}
  .hero-specialisms span:before{margin-left:0}
  .hero-specialisms span{margin-right:20px}
  .intelligence-visual img{filter:saturate(.84) brightness(.88) contrast(1.04)}
}

@media(max-width:620px){
  .hero-specialisms{
    display:flex;
    flex-wrap:wrap;
    gap:12px 0;
  }
  .hero-specialisms span,
  .hero-specialisms span:last-child{
    width:auto;
    min-height:0;
    margin-right:18px;
    padding:0;
  }
  .intelligence-visual{
    height:clamp(270px,74vw,320px);
    min-height:270px;
  }
}


/* csp/index.attrs.v1.css */
[data-csp-style="1"]{display:block !important;margin-top:18px !important;color:#92f3f0 !important;font-weight:700 !important}

/* Blue line icons for the five core specialisms. */
.specialism-row{grid-template-columns:142px minmax(0,1fr) minmax(0,1fr)}
.specialism-id{display:flex;align-items:center;gap:16px;min-width:0}
.specialism-icon{display:grid;place-items:center;flex:none;width:54px;height:54px;border-radius:14px;background:#e7f5fb;color:#1763a5}
.specialism-icon svg{display:block;width:28px;height:28px}
.specialism-number{color:#1763a5;font-size:.78rem;font-weight:700;letter-spacing:.2em}
@media(max-width:860px){.specialism-row{grid-template-columns:114px minmax(0,1fr);gap:18px}.specialism-row p{grid-column:2}}
@media(max-width:620px){.specialism-row{grid-template-columns:1fr;gap:10px;padding:24px 0}.specialism-id{gap:14px}.specialism-icon{width:48px;height:48px}.specialism-row h3,.specialism-row p{grid-column:1}.specialism-row p{margin:0}}

/* Expandable specialist evidence and representative roles. */
.specialism-row{display:block;min-height:0}
.specialism-trigger{display:grid;grid-template-columns:142px minmax(0,1fr) minmax(0,.9fr) 24px;gap:24px;align-items:center;width:100%;min-height:118px;padding:14px 0;border:0;background:transparent;color:#0c2b44;text-align:left;cursor:pointer;font:inherit}
.specialism-trigger:hover,.specialism-row.is-open .specialism-trigger{background:#fff;padding-inline:16px}
.specialism-trigger:focus-visible{outline:3px solid #1763a5;outline-offset:3px}
.specialism-name{font:700 clamp(1.65rem,3vw,2.75rem)/1.18 Manrope,sans-serif;letter-spacing:-.025em}
.specialism-short{color:#536b7f;font-size:.95rem;line-height:1.5}
.expand-icon{color:#1763a5;font-size:1.6rem;text-align:center;transition:transform .2s ease}
.specialism-row.is-open .expand-icon{transform:rotate(45deg)}
.specialism-detail{padding:0 32px 30px 166px;background:#fff}
.specialism-detail[hidden]{display:none}
.specialism-detail p{max-width:750px;margin:0 0 17px;color:#425268;font-size:1rem;line-height:1.65}
.role-tags{display:flex;flex-wrap:wrap;gap:8px}
.role-tags span{padding:8px 12px;border:1px solid #c5e5ea;border-radius:30px;background:#f3fbfc;color:#146279;font-size:.85rem;font-weight:700}
@media(max-width:860px){.specialism-trigger{grid-template-columns:114px minmax(0,1fr) 22px;gap:18px}.specialism-short{grid-column:2;grid-row:2;margin-top:-12px}.expand-icon{grid-column:3;grid-row:1}.specialism-detail{padding:0 22px 26px 132px}}
@media(max-width:620px){.specialism-trigger{grid-template-columns:70px minmax(0,1fr) 20px;gap:10px;min-height:100px;padding:14px 0}.specialism-id{gap:6px}.specialism-icon{width:42px;height:42px;border-radius:11px}.specialism-icon svg{width:23px;height:23px}.specialism-number{font-size:.68rem}.specialism-name{font-size:clamp(1.3rem,6vw,1.85rem)}.specialism-short{font-size:.84rem;line-height:1.35}.specialism-detail{padding:0 12px 23px 80px}.specialism-detail p{font-size:.93rem}.role-tags span{font-size:.78rem}}
@media(prefers-reduced-motion:reduce){.expand-icon{transition:none}}

/* Familiar expansion cue in the Isentix blue icon language. */
.expand-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid #b8dce4;border-radius:10px;background:#eaf7f9;color:#1763a5;font-size:initial;transition:background .2s}
.expand-icon svg{width:18px;height:18px;transition:transform .2s}
.specialism-row.is-open .expand-icon{transform:none;background:#dff2f7}
.specialism-row.is-open .expand-icon svg{transform:rotate(180deg)}
@media(prefers-reduced-motion:reduce){.expand-icon,.expand-icon svg{transition:none}}

/* Responsive hero crop v6: stable framing across phone and tablet ratios. */
.lead{
  max-width:610px;
  color:rgba(255,255,255,.9);
}

.btn-secondary{
  color:#f8ffff;
  border-color:rgba(255,255,255,.56);
  background:rgba(255,255,255,.025);
}

@media(min-width:1101px){
  .intelligence-visual:after{
    background:
      radial-gradient(circle at 45% 35%,rgba(255,255,255,.055) 0%,rgba(255,255,255,.025) 9%,transparent 18%),
      radial-gradient(circle at 78% 34%,rgba(255,255,255,.05) 0%,rgba(255,255,255,.02) 9%,transparent 18%),
      linear-gradient(rgba(5,25,42,.1),rgba(5,25,42,.1)),
      linear-gradient(90deg,rgba(6,27,45,.68) 0%,rgba(6,27,45,.3) 16%,transparent 34%);
  }
}

@media(max-width:860px){
  .intelligence-visual{
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:16/10;
    overflow:hidden;
  }

  .intelligence-visual img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:70% 32%;
    transform:none;
    clip-path:none;
  }
}

@media(max-width:620px){
  .intelligence-visual{
    height:auto;
    min-height:0;
    aspect-ratio:4/3;
  }

  .intelligence-visual img{
    width:118%;
    height:118%;
    object-position:71% 28%;
    transform:translate(-8%,0);
  }
}

@media(max-width:860px) and (orientation:landscape){
  .intelligence-visual{aspect-ratio:16/9}

  .intelligence-visual img{
    width:100%;
    height:100%;
    object-position:70% 34%;
    transform:none;
  }
}


/* Final hero polish v7: softer photographic blend and restrained facial lift. */
@media(min-width:1101px){
  .intelligence-visual{
    -webkit-mask-image:linear-gradient(90deg,
      transparent 0%,
      rgba(0,0,0,.08) 4%,
      rgba(0,0,0,.30) 10%,
      rgba(0,0,0,.70) 18%,
      rgba(0,0,0,.95) 27%,
      #000 34%);
    mask-image:linear-gradient(90deg,
      transparent 0%,
      rgba(0,0,0,.08) 4%,
      rgba(0,0,0,.30) 10%,
      rgba(0,0,0,.70) 18%,
      rgba(0,0,0,.95) 27%,
      #000 34%);
  }

  .intelligence-visual:after{
    background:
      radial-gradient(circle at 45% 35%,rgba(255,255,255,.075) 0%,rgba(255,255,255,.034) 9%,transparent 18%),
      radial-gradient(circle at 78% 34%,rgba(255,255,255,.07) 0%,rgba(255,255,255,.03) 9%,transparent 18%),
      linear-gradient(rgba(5,25,42,.10),rgba(5,25,42,.10)),
      linear-gradient(90deg,
        rgba(6,27,45,.62) 0%,
        rgba(6,27,45,.42) 12%,
        rgba(6,27,45,.18) 26%,
        transparent 42%);
  }
}

/* Homepage hero: bring the conversation closer, lift faces, and trim unused depth. */
@media (min-width:1101px) {
  .hero-grid { min-height:610px; }
  .intelligence-visual { top:0; bottom:-40px; }
  .intelligence-visual img {
    transform:scale(1.07);
    transform-origin:right center;
    filter:saturate(.9) brightness(.97) contrast(1.03);
  }
}
@media (max-width:1100px) {
  .intelligence-visual img { filter:saturate(.9) brightness(.96) contrast(1.03); }
}

/* The homepage introduction and four-stage process share one light section. */
.intro{padding:82px 0 94px}
.intro-grid{align-items:start}
.intro-copy{max-width:490px}
.intro-copy .body-copy{margin:0}
.intro-copy .body-copy+.body-copy{margin-top:18px}
.intro .process-grid{gap:14px;margin-top:54px}
.intro .process-step{min-height:0;padding:28px 24px 30px;border:1px solid #d1e6e9;border-radius:16px;background:rgba(255,255,255,.74)}
.intro .process-step:last-child{border-right:1px solid #d1e6e9}
.intro .step-number{width:42px;height:42px;margin-bottom:24px;border-color:#24b7c1;color:#176b75}
.intro .process-step h3{color:#0c2b44}
.intro .process-step p{color:#536174}
.intro .process-step .step-promise{min-height:0;margin-bottom:12px;color:#0c2b44}
.intro-process-link{display:inline-flex;align-items:center;gap:8px;margin-top:30px;color:#125c77;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.intro-process-link:hover{color:#083b53}
.intro-process-link:focus-visible{outline:3px solid #1763a5;outline-offset:4px}
@media(max-width:860px){.intro .process-grid{margin-top:40px}}
@media(max-width:620px){.intro{padding:68px 0 76px}.intro-copy .body-copy+.body-copy{margin-top:14px}.intro .process-grid{gap:12px;margin-top:32px}.intro .process-step{padding:22px}.intro .step-number{margin-bottom:16px}.intro-process-link{margin-top:24px}}

/* A single heading anchors the homepage introduction. */
.intro h2{max-width:720px;margin-bottom:0!important}

/* Bring section headings and their descriptions together on narrow screens. */
@media(max-width:860px){
  .intro-grid{gap:24px}
  .specialisms-head{gap:22px}
}
@media(max-width:620px){
  .intro-grid{gap:18px}
  .specialisms-head{gap:18px}
}

.specialisms-head h2{margin-bottom:6px!important}
.specialisms-subheading{max-width:640px;margin:0;color:#176b75;font-size:clamp(1.25rem,1.8vw,1.6rem);font-weight:600;line-height:1.35;letter-spacing:-.025em}

/* Let the specialisms headline carry the section without repeating the list. */
.specialisms-head{display:block;margin-bottom:34px}

/* The homepage is a brief process preview; the linked page carries the detail. */
@media(max-width:620px){
  .intro .process-step{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:16px;row-gap:3px;align-items:start;padding:16px}
  .intro .step-number{grid-row:1/3;margin:0}
  .intro .process-step h3{margin:0!important}
  .intro .process-step .step-promise{margin:0;line-height:1.4}
  .intro .process-step p:not(.step-promise){display:none}
  .specialisms-head{margin-bottom:28px}
}

/* Tighten the specialisms section while retaining separation from the process. */
.specialisms{padding-top:70px;padding-bottom:78px}
@media(max-width:620px){.specialisms{padding-top:60px;padding-bottom:68px}}

