/* Web Challengers v17 — canonical responsive layout correction layer
   Loaded after site.css so legacy selectors cannot narrow shared headings. */

:root{
  --layout-shell:1240px;
  --layout-pad:24px;
  --section-space:92px;
  --section-space-mobile:68px;
  --heading-xl:clamp(3rem,4.2vw,4.8rem);
  --heading-lg:clamp(2.45rem,3.25vw,3.6rem);
  --heading-md:clamp(2rem,2.6vw,3rem);
  --copy-width:620px;
}

/* predictable sizing */
*,*::before,*::after{box-sizing:border-box}
img,svg,video{max-width:100%}
h1 br,h2 br,h3 br,h4 br,h5 br{display:none!important}

/* containers */
.shell{
  width:min(calc(100% - (var(--layout-pad) * 2)),var(--layout-shell))!important;
  max-width:var(--layout-shell)!important;
  margin-inline:auto!important;
}
.content-section{padding:var(--section-space) 0!important}

/* ------------------------------------------------------------------
   Canonical split heading system
   ------------------------------------------------------------------ */
.section-heading{margin:0 0 36px!important}
.section-heading.split-heading{
  display:grid!important;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)!important;
  column-gap:clamp(28px,4.5vw,60px)!important;
  row-gap:20px!important;
  align-items:center!important;
}
.section-heading-title,
.section-heading-side{
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
}
.section-heading-side{
  justify-self:stretch!important;
  align-self:center!important;
}
.section-heading h2,
.section-heading-title h2{
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  font-size:var(--heading-lg)!important;
  line-height:1.02!important;
  letter-spacing:-.052em!important;
  text-wrap:pretty!important;
}
.section-heading h2 br,
.section-heading-title h2 br{display:none!important}
.section-heading h2 em,
.section-heading-title h2 em{
  font-family:Georgia,serif!important;
  font-weight:400!important;
  font-style:italic!important;
  color:#657159!important;
}
.section-heading p,
.section-heading-copy,
.section-heading-side p{
  width:auto!important;
  max-width:var(--copy-width)!important;
  margin:0!important;
  justify-self:start!important;
  font-size:1rem!important;
  line-height:1.72!important;
  color:#65707b!important;
}
.eyebrow{margin-bottom:13px!important}

/* no homepage-specific width traps */
.page-home #services .section-heading-title,
.page-home #solutions .section-heading-title,
.cards-section .section-heading-title,
.industries-section .section-heading-title,
.team-section .section-heading-title,
.team-preview .section-heading-title{
  max-width:none!important;
}
.page-home #services .section-heading h2,
.page-home #solutions .section-heading h2,
.team-preview .section-heading h2,
.content-section.section-muted .section-heading h2{
  max-width:none!important;
  font-size:var(--heading-lg)!important;
}
.page-home #services .section-heading-copy,
.page-home #solutions .section-heading-copy,
.industries-section .section-heading-copy,
.team-section .section-heading-copy,
.team-preview .section-heading-copy{
  max-width:var(--copy-width)!important;
  justify-self:start!important;
}

/* cards */
.smart-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
}
.smart-grid.grid-count-1{grid-template-columns:minmax(0,760px)!important}
.smart-grid.grid-count-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.smart-grid.grid-count-3,.smart-grid.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.smart-grid.grid-count-5,.smart-grid.grid-count-6{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.smart-card{
  min-width:0!important;
  min-height:264px!important;
  padding:24px!important;
}
.smart-card h3{
  max-width:none!important;
  margin:50px 0 10px!important;
  font-size:1.28rem!important;
  line-height:1.15!important;
  text-wrap:pretty!important;
}
.smart-card p{font-size:.94rem!important;line-height:1.66!important}
.smart-card .card-link{margin-top:auto!important}

/* statement / what we bring */
.statement-section{padding:88px 0!important}
.statement-modern{
  display:grid!important;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  gap:clamp(38px,5vw,68px)!important;
  align-items:start!important;
}
.statement-intro{position:static!important;max-width:none!important}
.statement-modern .statement-copy{
  max-width:10.5ch!important;
  font-size:clamp(2.7rem,3.55vw,4rem)!important;
  line-height:.99!important;
  letter-spacing:-.055em!important;
}
.statement-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:15px!important}
.statement-proof-grid article{min-height:190px!important;padding:22px!important}
.statement-foot-full{grid-column:1/-1!important}

/* process */
.process-section{padding:88px 0!important}
.process-intro{
  display:grid!important;
  grid-template-columns:minmax(0,1.02fr) minmax(340px,.98fr)!important;
  gap:clamp(38px,5vw,64px)!important;
  align-items:end!important;
}
.process-title-block h2{
  max-width:none!important;
  font-size:var(--heading-lg)!important;
  line-height:1.02!important;
}
.process-title-block h2 br{display:none!important}
.process-intro-copy p{max-width:var(--copy-width)!important}
.process-section .process-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:15px!important}
.process-section .process-card{min-height:214px!important;padding:24px!important}

/* industries */
.industry-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
.industry-card{min-height:210px!important;padding:24px!important}
.industry-card p{max-width:none!important}

/* featured solutions */
.feature-solution{padding:88px 0!important}
.feature-solution-grid{
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
  gap:clamp(38px,5vw,70px)!important;
  align-items:center!important;
}
.feature-solution h2{
  max-width:12ch!important;
  font-size:clamp(2.8rem,3.8vw,4.35rem)!important;
  line-height:1.01!important;
}

/* FAQ */
.faq-section{padding:88px 0!important}
.faq-layout{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)!important;gap:64px!important}
.faq-section .section-heading h2{font-size:var(--heading-lg)!important;max-width:none!important}

/* team listing and previews */
.team-section .section-heading{margin:42px 0 28px!important}
.team-preview{padding:88px 0!important}
.team-preview-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;gap:18px!important}
.team-preview-art{aspect-ratio:1/.94!important}
.team-preview-card img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 14%!important;opacity:1!important;visibility:visible!important}

/* inner page sections */
.intro-split{
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  gap:clamp(38px,5vw,70px)!important;
}
.intro-split h2{font-size:var(--heading-lg)!important;max-width:none!important}

/* CTAs */
.contact-cta .cta-grid{grid-template-columns:minmax(0,.95fr) minmax(340px,1.05fr)!important;gap:50px!important}
.contact-cta h2{font-size:clamp(2.7rem,3.8vw,4.25rem)!important;max-width:none!important}

/* inner heroes */
.inner-hero-grid{grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr)!important;gap:50px!important}
.inner-hero-copy h1{font-size:clamp(3.2rem,4.7vw,5.45rem)!important;max-width:none!important}

/* profile / legal / contact */
.team-profile-grid{grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr)!important;gap:54px!important}
.case-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;gap:56px!important}
.contact-layout{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr)!important;gap:42px!important}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}

/* Large desktop: keep headings broad and balanced */
@media(min-width:1400px){
  :root{--layout-shell:1280px;--heading-lg:clamp(2.7rem,3vw,3.75rem)}
  .section-heading.split-heading{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)!important}
}

/* Tablet */
@media(max-width:1100px){
  :root{--layout-pad:20px}
  .section-heading.split-heading{
    grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr)!important;
    gap:clamp(24px,4vw,40px)!important;
  }
  .smart-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .smart-grid.grid-count-3,.smart-grid.grid-3,.smart-grid.grid-count-5,.smart-grid.grid-count-6{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .statement-modern,.process-intro,.feature-solution-grid,.faq-layout,.intro-split,.inner-hero-grid,.contact-cta .cta-grid,.case-grid,.contact-layout{grid-template-columns:1fr!important;gap:30px!important}
  .statement-modern .statement-copy{max-width:15ch!important}
  .process-section .process-grid,.industry-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .team-profile-grid{grid-template-columns:minmax(0,1fr)!important}
  .team-profile-grid>*{min-width:0!important}
}

/* Mobile */
@media(max-width:760px){
  :root{--layout-pad:14px;--section-space:var(--section-space-mobile)}
  .content-section{padding:var(--section-space-mobile) 0!important}
  .section-heading{margin-bottom:26px!important}
  .section-heading.split-heading{grid-template-columns:1fr!important;gap:14px!important;align-items:start!important}
  .section-heading h2,.section-heading-title h2,
  .page-home #services .section-heading h2,
  .page-home #solutions .section-heading h2,
  .team-preview .section-heading h2,
  .content-section.section-muted .section-heading h2,
  .intro-split h2,.process-title-block h2{
    font-size:clamp(2.2rem,9.8vw,3.15rem)!important;
    line-height:1!important;
    max-width:none!important;
  }
  .section-heading p,.section-heading-copy,.section-heading-side p{max-width:none!important;font-size:.95rem!important}
  .smart-grid,.smart-grid.grid-count-1,.smart-grid.grid-count-2,.smart-grid.grid-count-3,.smart-grid.grid-3,.smart-grid.grid-count-5,.smart-grid.grid-count-6{grid-template-columns:1fr!important}
  .smart-card{min-height:0!important;padding:22px!important}
  .statement-section,.process-section,.feature-solution,.faq-section,.team-preview{padding:var(--section-space-mobile) 0!important}
  .statement-modern .statement-copy{font-size:clamp(2.25rem,10vw,3.2rem)!important;max-width:none!important}
  .statement-proof-grid{grid-template-columns:1fr!important}
  .process-section .process-grid,.industry-grid{grid-template-columns:1fr!important}
  .process-section .process-card,.industry-card{min-height:0!important}
  .process-rail{display:none!important}
  .feature-solution h2,.contact-cta h2{font-size:clamp(2.25rem,10vw,3.3rem)!important;max-width:none!important}
  .faq-layout,.intro-split,.inner-hero-grid,.contact-cta .cta-grid,.case-grid,.contact-layout{grid-template-columns:1fr!important}
  .team-preview-grid{grid-template-columns:1fr!important}
  .form-grid{grid-template-columns:1fr!important}
}

/* Preserve intended editorial line break without constraining the column width. */
.section-heading h2 em,
.section-heading-title h2 em,
.process-title-block h2 em{display:block!important}
@media(max-width:760px){
  .section-heading h2 em,
  .section-heading-title h2 em,
  .process-title-block h2 em{display:block!important}
}

/* ==================================================================
   v18 focused refinement: homepage team/statement + Solutions contrast
   ================================================================== */

/* Home: What we bring — compact editorial header + 4 equal proof cards */
.page-home .statement-section{padding:88px 0 86px!important;background:linear-gradient(180deg,#f7f5ef 0%,#f4f1ea 100%)!important}
.page-home .statement-modern-v2{
  display:grid!important;
  grid-template-columns:minmax(0,1.02fr) minmax(320px,.98fr)!important;
  gap:34px 56px!important;
  align-items:end!important;
}
.page-home .statement-modern-v2 .statement-intro{min-width:0!important;max-width:none!important}
.page-home .statement-modern-v2 .statement-label{margin-bottom:18px!important}
.page-home .statement-modern-v2 .statement-copy{
  margin:0!important;
  max-width:18.5ch!important;
  font-size:clamp(2.75rem,3.65vw,4.2rem)!important;
  line-height:.98!important;
  letter-spacing:-.06em!important;
  text-wrap:wrap!important;
}
.page-home .statement-modern-v2 .statement-copy em{color:#657159!important;font-family:Georgia,serif!important;font-style:italic!important;font-weight:400!important}
.page-home .statement-side{align-self:end!important;max-width:560px!important;padding-bottom:4px!important}
.page-home .statement-side .statement-big{
  margin:0!important;
  max-width:none!important;
  font-size:1.02rem!important;
  line-height:1.78!important;
  font-weight:400!important;
  color:#606b75!important;
}
.page-home .statement-foot-inline{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:20px!important;padding:0!important;border:0!important}
.page-home .statement-foot-inline span{display:inline-flex!important;align-items:center!important;padding:9px 12px!important;border:1px solid #dfd9cf!important;border-radius:999px!important;background:rgba(255,255,255,.78)!important;color:#5d675f!important;font-size:.7rem!important;line-height:1!important;font-weight:800!important;letter-spacing:.06em!important;text-transform:uppercase!important}
.page-home .statement-modern-v2 .statement-proof-grid{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  margin-top:2px!important;
}
.page-home .statement-modern-v2 .statement-proof-grid article{
  min-height:180px!important;
  padding:22px!important;
  border-radius:20px!important;
  border:1px solid rgba(18,24,31,.08)!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(20,26,34,.035)!important;
}
.page-home .statement-modern-v2 .statement-proof-grid article>span{width:42px!important;height:42px!important;font-size:.76rem!important}
.page-home .statement-modern-v2 .statement-proof-grid article strong{margin:20px 0 8px!important;font-size:1.08rem!important;line-height:1.16!important}
.page-home .statement-modern-v2 .statement-proof-grid article p{margin:0!important;font-size:.9rem!important;line-height:1.65!important;color:#65707a!important}

/* Home: team preview — keep faces large, consistent and readable */
.page-home .team-preview{padding:86px 0!important}
.page-home .team-preview-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:16px!important;
}
.page-home .team-preview-card{border-radius:20px!important;overflow:hidden!important;background:#fff!important;border:1px solid rgba(18,24,31,.075)!important;box-shadow:0 10px 28px rgba(16,22,31,.035)!important}
.page-home .team-preview-card{
  min-height:0!important;
  aspect-ratio:1/1!important;
}
.page-home .team-preview-art{
  position:relative!important;
  aspect-ratio:1/1!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:0!important;
  background:#edf0eb!important;
}
.page-home .team-preview-card:after{display:none!important}
.page-home .team-preview-card:focus-visible{
  outline:3px solid #6a8a50!important;
  outline-offset:4px!important;
}
.page-home .team-preview-card img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 18%!important;
  border:0!important;
  border-radius:0!important;
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
}
.page-home .team-preview-copy{position:relative!important;padding:15px 16px 18px!important;min-height:126px!important;background:#fff!important}
.page-home .team-preview-copy span{padding:6px 9px!important;font-size:.65rem!important}
.page-home .team-preview-copy h3{margin:9px 0 4px!important;font-size:1.05rem!important;line-height:1.12!important}
.page-home .team-preview-copy p{padding-right:22px!important;font-size:.82rem!important;line-height:1.48!important;color:#65707a!important}
.page-home .team-preview-copy i{right:16px!important;bottom:17px!important}

/* Keep the Solutions hero aligned with the Services page hero system. */
.page-solutions .inner-hero{
  min-height:650px!important;
  padding:128px 0 74px!important;
  background:
    radial-gradient(circle at 8% 18%, rgba(121,255,88,.13), transparent 20%),
    radial-gradient(circle at 88% 18%, rgba(70,148,255,.16), transparent 24%),
    linear-gradient(106deg,#071019 0%,#0a1520 36%,#0b1320 100%)!important;
  color:#fff!important;
}
.page-solutions .inner-hero:before{
  background:
    radial-gradient(circle at 13% 16%,rgba(128,255,80,.11),transparent 28%),
    radial-gradient(circle at 84% 26%,rgba(78,112,255,.11),transparent 24%),
    linear-gradient(180deg,#090d16,#0c121e 72%,#0d131e)!important;
}
.page-solutions .inner-orbit{border-color:rgba(255,255,255,.065)!important}
.page-solutions .inner-hero-grid{grid-template-columns:minmax(0,.88fr) minmax(420px,1fr)!important;gap:56px!important;align-items:center!important}
.page-solutions .inner-hero-copy .breadcrumbs,
.page-solutions .inner-hero-copy .breadcrumbs a,
.page-solutions .inner-hero-copy .breadcrumbs span{color:rgba(255,255,255,.58)!important}
.page-solutions .inner-hero-copy .eyebrow{color:#91ff57!important}
.page-solutions .inner-hero-copy h1{color:#fff!important;font-size:clamp(3.7rem,5.6vw,6.2rem)!important;line-height:.92!important;letter-spacing:-.072em!important;}
.page-solutions .inner-hero-copy h1 em{color:#8fff54!important}
.page-solutions .inner-hero-copy>p{color:rgba(255,255,255,.76)!important;max-width:570px!important;font-size:1.08rem!important;line-height:1.76!important}
.page-solutions .inner-hero .button-ghost{color:#fff!important;border-color:rgba(255,255,255,.22)!important;background:rgba(255,255,255,.04)!important}
.page-solutions .inner-photo-visual{
  min-height:500px!important;
  border-radius:30px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 32px 80px rgba(0,0,0,.34)!important;
  background:#0a1420!important;
}
.page-solutions .inner-photo-visual:before{background:linear-gradient(180deg,rgba(8,14,22,.05) 30%,rgba(8,14,22,.72) 100%)!important}
.page-solutions .inner-photo-visual img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}

/* Solutions page: the specialist section becomes a warm light feature with a dark interactive product panel */
.page-solutions .feature-solution{
  padding:88px 0!important;
  background:linear-gradient(180deg,#f7f5ef 0%,#f4f1ea 100%)!important;
  color:#111827!important;
  border-top:1px solid rgba(18,24,31,.06)!important;
  border-bottom:1px solid rgba(18,24,31,.06)!important;
}
.page-solutions .feature-solution:before{border-color:rgba(18,24,31,.06)!important}
.page-solutions .feature-solution .eyebrow{color:#66715f!important}
.page-solutions .feature-solution h2{color:#111827!important;width:50%!important;max-width:none!important;font-size:clamp(2.75rem,4vw,4.55rem)!important;text-wrap:pretty!important}
.page-solutions .feature-solution h2 em{color:#627257!important}
.page-solutions .feature-solution p{color:#606b75!important}
.page-solutions .feature-solution .tag-dark span{color:#59655d!important;background:#f3f4ef!important;border-color:#daddd6!important}
.page-solutions .feature-solution .auction-ui{max-width:400px!important}
.page-solutions .feature-solution .auction-ui{
  background:linear-gradient(145deg,#111a25,#0a111a)!important;
  color:#fff!important;
  border-color:rgba(18,24,31,.08)!important;
  box-shadow:0 24px 60px rgba(15,22,30,.16)!important;
}
.page-solutions .feature-solution .auction-product p{color:rgba(255,255,255,.46)!important}
.page-solutions .feature-solution .feature-solution-grid{gap:10px!important}

@media(min-width:1101px){
  .page-solutions .feature-solution{
    padding:104px 0!important;
  }
  .page-solutions .feature-solution .feature-solution-grid{
    grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr)!important;
    gap:10px!important;
    align-items:center!important;
  }
  .page-solutions .feature-solution h2{
    width:100%!important;
  }
  .page-solutions .feature-solution .auction-ui{
    width:min(100%,400px)!important;
  }
}

/* Guided estimator: clear progress, deliberate estimate reveal and stronger side panel. */
.estimate-layout{
  grid-template-columns:minmax(290px,.76fr) minmax(0,1.24fr)!important;
  gap:clamp(28px,4vw,58px)!important;
  align-items:start!important;
}
.estimate-guide{
  position:sticky!important;
  top:105px!important;
  display:grid!important;
  gap:20px!important;
  overflow:hidden!important;
  padding:clamp(24px,3vw,38px)!important;
  border:1px solid rgba(255,255,255,.1)!important;
  border-radius:26px!important;
  background:radial-gradient(circle at 100% 0%,rgba(147,171,116,.22),transparent 34%),linear-gradient(145deg,#101d29 0%,#172631 62%,#1e302e 100%)!important;
  box-shadow:0 28px 70px rgba(18,30,38,.16)!important;
  color:#f3f5ef!important;
}
.estimate-guide:before{
  position:absolute!important;
  top:-90px!important;
  right:-105px!important;
  width:240px!important;
  height:240px!important;
  border:1px solid rgba(229,238,219,.12)!important;
  border-radius:50%!important;
  content:""!important;
  pointer-events:none!important;
}
.estimate-guide .eyebrow{position:relative!important;z-index:1!important;color:#b9c9a8!important;font-size:.72rem!important;font-weight:800!important;letter-spacing:.14em!important}
.estimate-guide h2{position:relative!important;z-index:1!important;margin:-7px 0 -8px!important;color:#f6f7f3!important;font-size:clamp(2rem,3vw,2.75rem)!important;line-height:1.08!important;letter-spacing:-.055em!important}
.estimate-guide>p{position:relative!important;z-index:1!important;margin:0!important;color:rgba(239,243,234,.72)!important;font-size:.91rem!important;line-height:1.7!important}
.estimate-guide-steps{display:grid!important;gap:0!important}
.estimate-guide-steps article{display:grid!important;grid-template-columns:37px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;padding:15px 0!important;border-top:1px solid rgba(235,241,228,.12)!important}
.estimate-guide-number{display:grid!important;width:34px!important;height:34px!important;place-items:center!important;border:1px solid rgba(229,238,219,.2)!important;border-radius:11px!important;color:#c5d0b9!important;font-size:.7rem!important;font-weight:800!important;transition:background .2s ease,border-color .2s ease,color .2s ease!important}
.estimate-guide-steps article.is-current .estimate-guide-number,.estimate-guide-steps article.is-complete .estimate-guide-number{border-color:#a8bc8e!important;background:#a8bc8e!important;color:#152019!important}
.estimate-guide-steps article>div{display:grid!important;gap:4px!important}
.estimate-guide-steps b{color:#f1f3ee!important;font-size:.88rem!important;font-weight:750!important}
.estimate-guide-steps small{color:rgba(235,240,230,.62)!important;font-size:.76rem!important;line-height:1.5!important}
.estimate-guide-note{display:grid!important;grid-template-columns:27px minmax(0,1fr)!important;gap:10px!important;align-items:start!important;padding:14px!important;border:1px solid rgba(224,234,213,.13)!important;border-radius:15px!important;background:rgba(255,255,255,.055)!important}
.estimate-guide-note>span{display:grid!important;width:25px!important;height:25px!important;place-items:center!important;border-radius:50%!important;background:rgba(174,194,151,.18)!important;color:#c8d8b7!important;font-size:.78rem!important;font-weight:900!important}
.estimate-guide-note p{margin:0!important;color:rgba(237,242,232,.68)!important;font-size:.76rem!important;line-height:1.55!important}
.estimate-guide-note strong{color:#e5ecd9!important;font-size:.8rem!important}
.estimate-guide-contact{width:max-content!important;color:#c4d3b3!important;font-size:.78rem!important;font-weight:700!important;text-decoration:none!important}
.estimate-guide-contact:hover{color:#fff!important}
.estimate-section .estimate-layout{max-width:var(--layout-shell)!important}
.estimate-form{gap:22px!important;padding:clamp(18px,3vw,30px)!important;border:1px solid rgba(20,30,38,.09)!important;border-radius:24px!important;background:#fff!important;box-shadow:0 22px 70px rgba(21,33,38,.08)!important}
.estimate-step{display:grid!important;gap:21px!important}
.estimate-step[hidden]{display:none!important}
.estimate-step-heading{display:grid!important;gap:7px!important}
.estimate-step-heading>span{color:#687958!important;font-size:.68rem!important;font-weight:850!important;letter-spacing:.13em!important}
.estimate-step-heading h3{margin:0!important;color:#1b252e!important;font-size:clamp(1.45rem,2.5vw,1.9rem)!important;line-height:1.2!important;letter-spacing:-.035em!important}
.estimate-step-heading p{margin:0!important;color:#68717a!important;font-size:.86rem!important;line-height:1.6!important}
.estimate-project-choices{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important}
.estimate-project-choice{position:relative!important;display:grid!important;grid-template-columns:18px minmax(0,1fr) 15px!important;gap:11px!important;align-items:start!important;min-width:0!important;margin:0!important;padding:13px!important;border:1px solid rgba(27,37,46,.12)!important;border-radius:14px!important;background:#fff!important;cursor:pointer!important;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease!important}
.estimate-project-choice:hover{transform:translateY(-1px)!important;border-color:rgba(88,111,68,.45)!important}
.estimate-project-choice.is-selected{border-color:#74875e!important;background:#f5f7f0!important;box-shadow:0 0 0 2px rgba(116,135,94,.1)!important}
.estimate-project-choice>input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important}
.estimate-choice-mark{display:grid!important;width:17px!important;height:17px!important;margin-top:2px!important;place-items:center!important;border:1.5px solid #a9b0a7!important;border-radius:50%!important}
.estimate-project-choice.is-selected .estimate-choice-mark{border-color:#60754b!important}
.estimate-project-choice.is-selected .estimate-choice-mark:after{width:9px!important;height:9px!important;border-radius:50%!important;background:#60754b!important;content:""!important}
.estimate-project-choice>input:focus-visible+.estimate-choice-mark{outline:3px solid rgba(93,121,66,.32)!important;outline-offset:3px!important}
.estimate-choice-copy{display:grid!important;gap:5px!important;min-width:0!important}
.estimate-choice-copy strong{color:#26313a!important;font-size:.8rem!important;font-weight:750!important;line-height:1.35!important}
.estimate-choice-copy small{color:#737b81!important;font-size:.69rem!important;font-weight:500!important;line-height:1.45!important}
.estimate-choice-arrow{align-self:center!important;color:#87927c!important;font-size:.9rem!important}
.estimate-step-actions{display:flex!important;flex-wrap:wrap!important;justify-content:space-between!important;gap:12px!important}
.estimate-step-actions .button{min-height:47px!important}
.estimate-step-actions .button-outline{border:1px solid rgba(27,37,46,.17)!important;background:#fff!important;color:#34404a!important}
.estimate-form .button-accent{justify-self:start!important}
.estimate-result{display:grid!important;gap:6px!important}
@media(max-width:900px){
  .estimate-layout{grid-template-columns:minmax(0,1fr)!important;gap:28px!important}
  .estimate-guide{position:relative!important;top:auto!important}
}
@media(max-width:600px){
  .estimate-project-choices{grid-template-columns:minmax(0,1fr)!important}
  .estimate-step-actions{align-items:stretch!important;flex-direction:column-reverse!important}
  .estimate-step-actions .button{width:100%!important;justify-content:center!important}
  .estimate-guide{padding:24px!important}
}

/* Solutions catalogue gets extra separation after the featured block */
.page-solutions .cards-section{padding-top:92px!important}
.page-solutions .cards-section .section-heading{margin-bottom:32px!important}
.page-solutions .section-key-solution-catalogue .section-heading.split-heading{
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)!important;
  row-gap:14px!important;
  align-items:center!important;
}
.page-solutions .section-key-solution-catalogue .section-heading-title,
.page-solutions .section-key-solution-catalogue .section-heading-copy{
  grid-column:auto!important;
  justify-self:start!important;
}
.page-solutions .section-key-solution-catalogue .section-heading-title{
  grid-row:auto!important;
}
.page-solutions .section-key-solution-catalogue .section-heading-copy{
  grid-row:auto!important;
  max-width:650px!important;
}
.page-solutions .section-key-solution-catalogue .smart-grid{
  gap:20px!important;
}
.page-solutions .section-key-solution-catalogue .smart-card{
  padding:28px!important;
}
.page-solutions .section-key-solution-catalogue .smart-card p{
  margin-bottom:16px!important;
}
@media(max-width:760px){
  .page-solutions .section-key-solution-catalogue .smart-card{
    padding:24px!important;
  }
}

@media(max-width:1100px){
  .page-home .statement-modern-v2{grid-template-columns:1fr!important;gap:24px!important}
  .page-home .statement-side{max-width:none!important}
  .page-home .statement-modern-v2 .statement-copy{max-width:18ch!important}
  .page-home .statement-modern-v2 .statement-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .page-home .team-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .page-solutions .inner-hero-grid{grid-template-columns:1fr!important;gap:34px!important}
  .page-solutions .inner-photo-visual{min-height:390px!important}
}
@media(max-width:760px){
  .page-home .statement-section{padding:68px 0!important}
  .page-home .statement-modern-v2 .statement-copy{font-size:clamp(2.25rem,10vw,3.15rem)!important;max-width:none!important}
  .page-home .statement-modern-v2 .statement-proof-grid{grid-template-columns:1fr!important}
  .page-home .statement-modern-v2 .statement-proof-grid article{min-height:0!important}
  .page-home .team-preview-grid{grid-template-columns:1fr!important}
  .page-solutions .inner-hero{padding:104px 0 62px!important}
  .page-solutions .inner-hero-copy h1{font-size:clamp(2.7rem,13vw,4.1rem)!important}
  .page-solutions .inner-photo-visual{min-height:300px!important;border-radius:22px!important}
  .page-solutions .feature-solution{padding:68px 0!important}
  .page-solutions .feature-solution h2{width:100%!important}
  .page-solutions .feature-solution .auction-ui{max-width:590px!important}
}

/* Home hero: match the compact split composition and readable title scale. */
.page-home .hero-refined{
  padding:108px 0 20px!important;
  background:linear-gradient(105deg,#071019 0%,#08131d 48%,#09121d 100%)!important;
}
.page-home .hero-refined.hero-with-background-image{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:#06111c!important;
}
.page-home .hero-with-background-image:before{display:none!important}
.page-home .hero-with-background-image .hero-background-image{
  position:absolute!important;
  z-index:0!important;
  inset:0!important;
  overflow:hidden!important;
}
.page-home .hero-with-background-image .hero-background-image:after{
  position:absolute!important;
  inset:0!important;
  background:
    linear-gradient(90deg,rgba(4,12,21,.82) 0%,rgba(4,12,21,.72) 38%,rgba(4,12,21,.36) 62%,rgba(4,12,21,.06) 84%),
    linear-gradient(0deg,rgba(4,12,21,.48) 0%,transparent 36%,rgba(4,12,21,.08) 100%)!important;
  content:""!important;
}
.page-home .hero-with-background-image .hero-background-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 22%!important;
}
.page-home .hero-with-background-image .hero-refined-bg{display:none!important}
.page-home .hero-with-background-image .hero-product-scene{display:none!important}
.page-home .hero-with-background-image .hero-refined-grid,
.page-home .hero-proof-band .hero-proof-wide{
  position:relative!important;
  z-index:1!important;
}
.page-home .hero-refined-grid{
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)!important;
  gap:24px!important;
  min-height:380px!important;
}
.page-home .hero-refined .hero-copy{
  max-width:540px!important;
  padding:8px 0!important;
}
.page-home .hero-refined .hero-kicker{
  margin-bottom:14px!important;
  font-size:.7rem!important;
}
.page-home .hero-refined h1{
  max-width:none!important;
  font-size:clamp(42px,4.25vw,60px)!important;
  line-height:.94!important;
  letter-spacing:-.07em!important;
  text-wrap:wrap!important;
}
.page-home .hero-refined .hero-lede{
  max-width:470px!important;
  margin:18px 0 22px!important;
  font-size:.96rem!important;
  line-height:1.55!important;
}
.page-home .hero-refined .hero-actions{gap:10px!important}
.page-home .hero-refined .button{
  min-height:44px!important;
  padding:0 19px!important;
  font-size:.82rem!important;
}
.page-home .hero-product-scene{
  min-height:380px!important;
  background-position:center right!important;
}
.page-home .hero-proof-wide{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  margin-top:0!important;
  padding-top:14px!important;
}
.page-home .hero-proof-wide div{
  min-height:68px!important;
  padding:10px 16px 8px 0!important;
  border:0!important;
  border-right:1px solid rgba(255,255,255,.12)!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
}
.page-home .hero-proof-wide div:last-child{border-right:0!important}
.page-home .hero-proof-wide strong{
  padding-top:0!important;
  font-size:1.4rem!important;
}
.page-home .hero-proof-wide span{
  margin-top:5px!important;
  max-width:none!important;
  font-size:.72rem!important;
  line-height:1.35!important;
}

@media(min-width:761px) and (max-width:1100px){
  .page-home .hero-refined{padding:92px 0 22px!important}
  .page-home .hero-refined-grid{
    grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)!important;
    gap:12px!important;
    min-height:320px!important;
  }
  .page-home .hero-refined h1{font-size:clamp(38px,5.2vw,48px)!important}
  .page-home .hero-refined .hero-lede{
    margin:15px 0 17px!important;
    font-size:.79rem!important;
  }
  .page-home .hero-refined .hero-actions{flex-wrap:nowrap!important}
  .page-home .hero-refined .button{
    width:auto!important;
    min-width:0!important;
    min-height:36px!important;
    padding:0 10px!important;
    font-size:.68rem!important;
    white-space:nowrap!important;
  }
  .page-home .hero-product-scene{min-height:320px!important}
  .page-home .hero-with-background-image .hero-background-image img{object-position:62% 22%!important}
  .page-home .hero-proof-wide{width:min(100% - 34px,1200px)!important}
  .page-home .hero-proof-wide div{min-height:62px!important}
}

@media(max-width:760px){
  .page-home .hero-refined{padding:102px 0 26px!important}
  .page-home .hero-refined-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    min-height:0!important;
  }
  .page-home .hero-refined h1{font-size:clamp(38px,10.8vw,46px)!important}
  .page-home .hero-refined .hero-lede{
    max-width:520px!important;
    margin:16px 0 20px!important;
    font-size:.9rem!important;
  }
  .page-home .hero-with-background-image .hero-background-image img{
    object-position:66% 22%!important;
  }
  .page-home .hero-with-background-image .hero-background-image:after{
    background:
      linear-gradient(90deg,rgba(4,12,21,.82) 0%,rgba(4,12,21,.74) 58%,rgba(4,12,21,.44) 100%),
      linear-gradient(0deg,rgba(4,12,21,.8) 0%,rgba(4,12,21,.34) 72%)!important;
  }
  .page-home .hero-product-scene{
    min-height:250px!important;
    border-radius:0!important;
  }
  .page-home .hero-proof-wide{
    width:min(100% - 28px,1200px)!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    padding-top:10px!important;
  }
  .page-home .hero-proof-wide div{
    min-height:58px!important;
    padding:10px 12px 8px 0!important;
    border-right:1px solid rgba(255,255,255,.12)!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
  }
  .page-home .hero-proof-wide div:nth-child(2n){border-right:0!important}
  .page-home .hero-proof-wide div:nth-last-child(-n+2){border-bottom:0!important}
  .page-home .hero-proof-wide strong{font-size:1.25rem!important}
  .page-home .hero-proof-wide span{font-size:.68rem!important}
}

/* Home: clearer opening message and proof-point hierarchy. */
.page-home .statement-section{padding:76px 0 82px!important}
.page-home .statement-modern-v2{
  grid-template-columns:minmax(0,1fr) minmax(0,.88fr)!important;
  gap:22px 64px!important;
  align-items:center!important;
}
.page-home .statement-modern-v2 .statement-label{margin-bottom:14px!important}
.page-home .statement-modern-v2 .statement-copy{
  max-width:16ch!important;
  font-size:clamp(2.8rem,4vw,4.35rem)!important;
  line-height:.96!important;
}
.page-home .statement-side{max-width:540px!important;padding:0!important}
.page-home .statement-side .statement-big{
  font-size:1rem!important;
  line-height:1.7!important;
}
.page-home .statement-foot-inline{gap:7px!important;margin-top:16px!important}
.page-home .statement-foot-inline span{
  padding:8px 10px!important;
  font-size:.64rem!important;
  letter-spacing:.045em!important;
}
.page-home .statement-modern-v2 .statement-proof-grid{
  margin-top:8px!important;
  gap:12px!important;
}
.page-home .statement-modern-v2 .statement-proof-grid article{
  min-height:168px!important;
  padding:18px!important;
}
.page-home .statement-modern-v2 .statement-proof-grid article>span{
  width:36px!important;height:36px!important;
}
.page-home .statement-modern-v2 .statement-proof-grid article strong{
  margin:15px 0 7px!important;
  font-size:1rem!important;
}
.page-home .statement-modern-v2 .statement-proof-grid article p{
  font-size:.84rem!important;
}
.page-home .statement-streamlined{
  display:block!important;
}
.page-home .statement-streamlined .statement-intro{
  display:block!important;
  max-width:900px!important;
  margin:0 0 30px!important;
}
.page-home .statement-streamlined .statement-label{
  margin-bottom:14px!important;
}
.page-home .statement-streamlined .statement-copy{
  max-width:16ch!important;
  font-size:clamp(2.8rem,4.4vw,4.5rem)!important;
  line-height:.96!important;
}
.page-home .statement-streamlined .statement-lede{
  display:block!important;
  width:100%!important;
  max-width:66ch!important;
  margin:18px 0 0!important;
  color:#626c74!important;
  font-size:1rem!important;
  line-height:1.7!important;
}
.page-home .statement-streamlined .statement-proof-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  margin-top:0!important;
}
@media(max-width:1100px){
  .page-home .statement-streamlined .statement-proof-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  .page-home .statement-streamlined .statement-intro{
    margin-bottom:22px!important;
  }
  .page-home .statement-streamlined .statement-copy{
    font-size:clamp(2.35rem,9.5vw,3.2rem)!important;
  }
  .page-home .statement-streamlined .statement-lede{
    margin-top:14px!important;
    font-size:.94rem!important;
  }
  .page-home .statement-streamlined .statement-proof-grid{
    grid-template-columns:1fr!important;
  }
}

/* Home: feature auction capabilities by the stages of a sale. */
.page-home .home-specialist-solution{
  padding:82px 0!important;
  background:
    radial-gradient(circle at 85% 48%,rgba(112,255,70,.075),transparent 34%),
    linear-gradient(120deg,#08121c 0%,#0b1721 100%)!important;
}
.page-home .home-specialist-solution .feature-solution-grid{
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  gap:clamp(40px,6vw,82px)!important;
}
.page-home .home-specialist-solution h2{
  max-width:12ch!important;
  font-size:clamp(2.65rem,4vw,4.15rem)!important;
  line-height:.98!important;
}
.page-home .home-specialist-solution .feature-solution-grid>div:first-child>p{
  max-width:48ch!important;
  font-size:.96rem!important;
  line-height:1.68!important;
}
.page-home .solution-capabilities{
  display:grid!important;
  gap:8px!important;
  margin:20px 0 22px!important;
}
.page-home .solution-capabilities article{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
  padding:12px 14px!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.035)!important;
}
.page-home .solution-capabilities article>span{
  display:grid!important;
  width:30px!important;height:30px!important;
  place-items:center!important;
  border-radius:50%!important;
  color:#a3ff78!important;
  background:rgba(142,255,85,.1)!important;
  font-size:.66rem!important;
  font-weight:800!important;
}
.page-home .solution-capabilities h3{
  margin:0 0 3px!important;
  color:#fff!important;
  font-size:.9rem!important;
  line-height:1.3!important;
}
.page-home .solution-capabilities p{
  margin:0!important;
  color:rgba(255,255,255,.62)!important;
  font-size:.78rem!important;
  line-height:1.45!important;
}

/* Home: turn the process cards into a clear, numbered delivery sequence. */
.page-home #approach.process-section{
  padding:82px 0 88px!important;
  background:#f5f3ed!important;
}
.page-home #approach .process-intro{
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)!important;
  gap:clamp(36px,6vw,82px)!important;
  margin-bottom:28px!important;
}
.page-home #approach .process-title-block h2{
  max-width:18ch!important;
  font-size:clamp(2.65rem,4vw,4.1rem)!important;
  line-height:.98!important;
}
.page-home #approach .process-title-block h2 br{display:block!important}
.page-home #approach .process-title-block h2 em{
  color:#66745a!important;
}
.page-home #approach .process-intro-copy>p{
  max-width:52ch!important;
  font-size:.96rem!important;
  line-height:1.68!important;
  color:#626c74!important;
}
.page-home #approach .process-outcomes{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin-top:16px!important;
}
.page-home #approach .process-outcomes span{
  padding:8px 10px!important;
  border:1px solid #dedbd2!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#59635e!important;
  font-size:.67rem!important;
  line-height:1.2!important;
  font-weight:750!important;
}
.page-home #approach .process-section .process-grid,
.page-home #approach .process-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}
.page-home #approach .process-rail{
  display:none!important;
}
.page-home #approach .process-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:270px!important;
  padding:24px!important;
  border:1px solid rgba(17,24,34,.085)!important;
  border-radius:var(--wc-card-radius)!important;
  background:#fff!important;
  box-shadow:0 12px 30px rgba(16,22,31,.035)!important;
  overflow:hidden!important;
  transform:none!important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease!important;
}
.page-home #approach .process-card:hover{
  border-color:rgba(17,21,33,.24)!important;
  box-shadow:0 24px 60px rgba(20,26,35,.08)!important;
  transform:translateY(-5px)!important;
}
.page-home #approach .process-card-top{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  margin-bottom:26px!important;
}
.page-home #approach .process-card-top>span{
  display:block!important;
  width:auto!important;height:auto!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#9da29c!important;
  font-size:.68rem!important;
  font-weight:900!important;
  letter-spacing:.1em!important;
}
.page-home #approach .process-card-top small{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#9da29c!important;
  font-size:.61rem!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.1em!important;
}
.page-home #approach .process-card h3{
  margin:0 0 11px!important;
  color:#111829!important;
  font-size:1.28rem!important;
  line-height:1.14!important;
  letter-spacing:-.035em!important;
  text-wrap:balance!important;
}
.page-home #approach .process-card>p{
  margin:0!important;
  color:var(--wc-copy)!important;
  font-size:.94rem!important;
  line-height:1.68!important;
}
.page-home #approach .process-result{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  margin-top:auto!important;
  min-height:0!important;
  padding:16px 0 0!important;
  border:0!important;
  border-top:1px solid var(--line)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#687078!important;
  font-size:.76rem!important;
  line-height:1.4!important;
  font-weight:700!important;
}
.page-home #approach .process-result span{
  display:grid!important;
  flex:0 0 21px!important;
  width:21px!important;height:21px!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#eff3e9!important;
  color:#6b8656!important;
  font-size:.68rem!important;
}
.page-home #approach .process-card .process-accent{
  display:none!important;
}

@media(max-width:1100px){
  .page-home .statement-modern-v2{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)!important}
  .page-home .statement-modern-v2 .statement-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .page-home .home-specialist-solution .feature-solution-grid{grid-template-columns:1fr!important;gap:30px!important}
  .page-home .home-specialist-solution .auction-ui{width:100%!important;max-width:none!important}
  .page-home #approach .process-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .page-home .statement-section{padding:64px 0!important}
  .page-home .statement-modern-v2{grid-template-columns:1fr!important;gap:18px!important}
  .page-home .statement-modern-v2 .statement-copy{font-size:clamp(2.35rem,9.5vw,3.2rem)!important}
  .page-home .statement-modern-v2 .statement-proof-grid{grid-template-columns:1fr!important}
  .page-home .statement-side .statement-big{font-size:.94rem!important}
  .page-home .statement-foot-inline{margin-top:12px!important}
  .page-home .statement-modern-v2 .statement-proof-grid{margin-top:8px!important}
  .page-home .statement-modern-v2 .statement-proof-grid article{min-height:0!important;padding:17px!important}
  .page-home .home-specialist-solution{padding:64px 0!important}
  .page-home .home-specialist-solution .feature-solution-grid{gap:24px!important}
  .page-home .home-specialist-solution h2{font-size:clamp(2.35rem,10vw,3.3rem)!important}
  .page-home #approach.process-section{padding:66px 0 72px!important}
  .page-home #approach .process-intro{grid-template-columns:1fr!important;gap:16px!important}
  .page-home #approach .process-title-block h2{font-size:clamp(2.35rem,10vw,3.3rem)!important}
  .page-home #approach .process-grid{grid-template-columns:1fr!important;gap:10px!important}
  .page-home #approach .process-card{min-height:0!important;padding:17px!important}
  .page-home #approach .process-card-top{margin-bottom:15px!important}
  .page-home #approach .process-result{padding-top:13px!important}
}

/* Balance the specialist feature columns and reset legacy team-card insets. */
.page-home .home-specialist-solution .feature-solution-grid{
  grid-template-columns:1fr!important;
  gap:0!important;
  align-items:stretch!important;
}
.page-home .home-specialist-solution .feature-solution-copy{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)!important;
  grid-template-rows:auto auto auto auto!important;
  gap:0 56px!important;
  align-items:start!important;
}
.page-home .home-specialist-solution .feature-solution-copy>.eyebrow{
  grid-column:1/-1!important;
  grid-row:1!important;
  margin-bottom:14px!important;
}
.page-home .home-specialist-solution .feature-solution-copy>h2{
  grid-column:1!important;
  grid-row:2!important;
  margin:0!important;
}
.page-home .home-specialist-solution .feature-solution-copy>p{
  grid-column:1!important;
  grid-row:3!important;
  max-width:54ch!important;
  margin:18px 0 0!important;
}
.page-home .home-specialist-solution .solution-capabilities{
  grid-column:2!important;
  grid-row:2/5!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-self:center!important;
  gap:10px!important;
  margin:0!important;
}
.page-home .home-specialist-solution .solution-capabilities article{
  min-height:0!important;
  grid-template-columns:36px minmax(0,1fr)!important;
  gap:14px!important;
  align-content:center!important;
  padding:17px 18px!important;
  border-color:rgba(255,255,255,.12)!important;
  border-radius:15px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025))!important;
}
.page-home .home-specialist-solution .solution-capabilities article>span{
  width:36px!important;
  height:36px!important;
  font-size:.72rem!important;
}
.page-home .home-specialist-solution .solution-capabilities h3{
  margin:2px 0 8px!important;
  font-size:1rem!important;
}
.page-home .home-specialist-solution .solution-capabilities p{
  font-size:.84rem!important;
  line-height:1.55!important;
}
.page-home .home-specialist-solution .feature-solution-copy>.button{
  grid-column:1!important;
  grid-row:4!important;
  justify-self:start!important;
  margin-top:24px!important;
}
.page-home .home-specialist-solution .auction-ui{
  width:100%!important;
  max-width:none!important;
  height:480px!important;
  min-height:480px!important;
  align-self:center!important;
  display:grid!important;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  grid-template-rows:auto auto auto!important;
  align-content:space-between!important;
  align-items:center!important;
  gap:18px!important;
  margin:0!important;
  padding:28px!important;
}
.page-home .home-specialist-solution .auction-top,
.page-home .home-specialist-solution .auction-modules{
  grid-column:1/-1!important;
}
.page-home .home-specialist-solution .auction-top{grid-row:1!important}
.page-home .home-specialist-solution .auction-product{
  grid-column:1!important;
  grid-row:2!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:12px!important;
  align-content:center!important;
  margin:0!important;
}
.page-home .home-specialist-solution .auction-art{
  width:100%!important;
  height:80px!important;
}
.page-home .home-specialist-solution .auction-product strong{font-size:1.8rem!important}
.page-home .home-specialist-solution .auction-stream{
  grid-column:2!important;
  grid-row:2!important;
  width:100%!important;
  align-self:center!important;
}
.page-home .home-specialist-solution .auction-modules{
  grid-row:3!important;
  align-self:end!important;
}
.page-home .team-preview-card>div{
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
}
.page-home .team-preview-art{
  width:100%!important;
  flex:none!important;
}
.page-home .team-preview-copy{
  width:100%!important;
  flex:none!important;
}

@media(max-width:1100px){
  .page-home .home-specialist-solution .feature-solution-copy{
    grid-template-columns:minmax(0,1.02fr) minmax(280px,.98fr)!important;
    gap:0 32px!important;
  }
  .page-home .home-specialist-solution .solution-capabilities{
    gap:8px!important;
  }
  .page-home .home-specialist-solution .solution-capabilities article{
    grid-template-columns:34px minmax(0,1fr)!important;
    padding:14px!important;
  }
  .page-home .home-specialist-solution .auction-ui{
    height:auto!important;
    min-height:0!important;
    display:block!important;
    align-self:stretch!important;
    margin:0!important;
  }
}

/* Compact project form controls while retaining clear labels and focus states. */
.project-form{
  padding:26px!important;
  border-radius:24px!important;
}
.project-form .form-grid{
  gap:13px!important;
  margin-bottom:12px!important;
}
.project-form label span{
  margin-bottom:5px!important;
  font-size:.82rem!important;
  line-height:1.35!important;
  text-transform:none!important;
  letter-spacing:normal!important;
}
.project-form input:not([type=checkbox]),
.project-form select,
.project-form textarea{
  box-sizing:border-box!important;
  height:44px!important;
  min-height:0!important;
  padding:10px 12px!important;
  border-radius:11px!important;
  font-size:.9rem!important;
  line-height:1.4!important;
}
.project-form select{padding-right:38px!important}
.project-form textarea{
  height:132px!important;
  min-height:118px!important;
  padding:12px!important;
  resize:vertical!important;
}
.project-form .full{margin-top:0!important}
.project-form .consent{
  gap:9px!important;
  margin-top:13px!important;
}
.project-form .button{
  min-width:0!important;
  margin-top:8px!important;
  padding:13px 20px!important;
}
.project-form .form-note{
  margin-top:11px!important;
  font-size:.78rem!important;
  line-height:1.55!important;
}
@media(max-width:760px){
  .project-form{padding:20px!important;border-radius:20px!important}
  .project-form .form-grid{gap:11px!important}
  .project-form .form-grid .full{grid-column:1/-1!important}
  .project-form input:not([type=checkbox]),
  .project-form select{height:42px!important}
  .project-form textarea{height:122px!important;min-height:110px!important}
}

@media(max-width:760px){
  .page-home .home-specialist-solution .feature-solution-copy{
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  .page-home .home-specialist-solution .feature-solution-copy>h2,
  .page-home .home-specialist-solution .feature-solution-copy>p,
  .page-home .home-specialist-solution .solution-capabilities,
  .page-home .home-specialist-solution .feature-solution-copy>.button{
    grid-column:1!important;
    grid-row:auto!important;
  }
  .page-home .home-specialist-solution .feature-solution-copy>.eyebrow{
    grid-column:1!important;
  }
  .page-home .home-specialist-solution .feature-solution-copy>p{
    margin:16px 0 0!important;
  }
  .page-home .home-specialist-solution .solution-capabilities{
    grid-template-columns:1fr!important;
    margin:22px 0 0!important;
  }
  .page-home .home-specialist-solution .solution-capabilities article{
    grid-template-columns:38px minmax(0,1fr)!important;
    min-height:0!important;
  }
  .page-home .home-specialist-solution .feature-solution-copy>.button{
    margin-top:20px!important;
  }
}

/* Specialist solution: editorial copy paired with one connected capability panel. */
.page-home .home-specialist-solution{
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(ellipse at 88% 48%,rgba(125,255,83,.1),transparent 42%),
    linear-gradient(118deg,#08121c 0%,#0b1721 62%,#0e1c20 100%)!important;
}
.page-home .home-specialist-solution:after{
  position:absolute!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:58%!important;
  border-left:1px solid rgba(255,255,255,.045)!important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.012))!important;
  content:""!important;
  pointer-events:none!important;
}
.page-home .home-specialist-solution .feature-solution-grid{
  position:relative!important;
  z-index:1!important;
}
.page-home .home-specialist-solution .feature-solution-copy{
  grid-template-columns:minmax(0,.94fr) minmax(390px,1.06fr)!important;
  grid-template-rows:auto auto auto auto!important;
  gap:0 clamp(44px,6vw,88px)!important;
  align-items:center!important;
}
.page-home .home-specialist-solution .feature-solution-copy>.eyebrow{
  grid-column:1!important;
  grid-row:1!important;
  margin-bottom:20px!important;
}
.page-home .home-specialist-solution .feature-solution-copy>h2{
  grid-column:1!important;
  grid-row:2!important;
  max-width:none!important;
  font-size:clamp(2.9rem,4.4vw,4.5rem)!important;
  line-height:.96!important;
  letter-spacing:-.065em!important;
}
.page-home .home-specialist-solution .feature-solution-copy>p{
  grid-column:1!important;
  grid-row:3!important;
  max-width:46ch!important;
  margin:22px 0 0!important;
  color:rgba(236,241,244,.68)!important;
  font-size:1rem!important;
  line-height:1.75!important;
}
.page-home .home-specialist-solution .solution-capabilities{
  grid-column:2!important;
  grid-row:1/5!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:0!important;
  align-self:center!important;
  margin:0!important;
  padding:24px 30px!important;
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:24px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.025))!important;
  box-shadow:0 28px 80px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.04)!important;
  backdrop-filter:blur(12px)!important;
}
.page-home .home-specialist-solution .solution-capabilities-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:20px!important;
  padding:2px 0 20px!important;
  border-bottom:1px solid rgba(255,255,255,.1)!important;
}
.page-home .home-specialist-solution .solution-capabilities-head>span{
  color:#a4ff77!important;
  font-size:.63rem!important;
  line-height:1.4!important;
  font-weight:850!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
.page-home .home-specialist-solution .solution-capabilities-head>strong{
  color:rgba(255,255,255,.52)!important;
  font-size:.72rem!important;
  line-height:1.4!important;
  font-weight:650!important;
  text-align:right!important;
}
.page-home .home-specialist-solution .solution-capabilities article{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  gap:17px!important;
  align-items:start!important;
  min-height:0!important;
  padding:20px 0!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;
  border-radius:0!important;
  background:transparent!important;
}
.page-home .home-specialist-solution .solution-capabilities article:last-child{
  padding-bottom:5px!important;
  border-bottom:0!important;
}
.page-home .home-specialist-solution .solution-capabilities article>span{
  width:38px!important;
  height:38px!important;
  border:1px solid rgba(151,255,103,.2)!important;
  background:rgba(133,255,86,.08)!important;
  color:#a4ff77!important;
  font-size:.68rem!important;
}
.page-home .home-specialist-solution .solution-capabilities h3{
  margin:1px 0 6px!important;
  color:#fff!important;
  font-size:1.04rem!important;
  letter-spacing:-.02em!important;
}
.page-home .home-specialist-solution .solution-capabilities p{
  max-width:42ch!important;
  color:rgba(236,241,244,.57)!important;
  font-size:.84rem!important;
  line-height:1.55!important;
}
.page-home .home-specialist-solution .feature-solution-copy>.button{
  grid-column:1!important;
  grid-row:4!important;
  justify-self:start!important;
  margin-top:26px!important;
}
@media(max-width:900px){
  .page-home .home-specialist-solution:after{left:0!important;border-left:0!important}
  .page-home .home-specialist-solution .feature-solution-copy{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    gap:0!important;
  }
  .page-home .home-specialist-solution .feature-solution-copy>.eyebrow,
  .page-home .home-specialist-solution .feature-solution-copy>h2,
  .page-home .home-specialist-solution .feature-solution-copy>p,
  .page-home .home-specialist-solution .solution-capabilities,
  .page-home .home-specialist-solution .feature-solution-copy>.button{
    grid-column:1!important;
    grid-row:auto!important;
  }
  .page-home .home-specialist-solution .feature-solution-copy>.eyebrow{margin-bottom:14px!important}
  .page-home .home-specialist-solution .feature-solution-copy>p{margin-top:16px!important}
  .page-home .home-specialist-solution .solution-capabilities{
    margin-top:30px!important;
    padding:20px 24px!important;
  }
  .page-home .home-specialist-solution .feature-solution-copy>.button{margin-top:22px!important}
}
@media(max-width:760px){
  .page-home .home-specialist-solution .solution-capabilities{
    gap:0!important;
    margin-top:24px!important;
    padding:17px 18px!important;
    border-radius:19px!important;
  }
  .page-home .home-specialist-solution .solution-capabilities-head{
    flex-direction:column!important;
    gap:5px!important;
    padding-bottom:15px!important;
  }
  .page-home .home-specialist-solution .solution-capabilities-head>strong{text-align:left!important}
  .page-home .home-specialist-solution .solution-capabilities article{
    grid-template-columns:36px minmax(0,1fr)!important;
    gap:13px!important;
    padding:16px 0!important;
  }
  .page-home .home-specialist-solution .solution-capabilities article>span{
    width:34px!important;
    height:34px!important;
  }
  .page-home .home-specialist-solution .feature-solution-copy>.button{
    margin-top:20px!important;
  }
}

/* Project estimator form */
.estimate-layout{
  grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr)!important;
  gap:clamp(32px,5vw,72px)!important;
}
.estimate-form{
  display:grid!important;
  gap:20px!important;
}
.estimate-form .estimate-fieldset{
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.estimate-form .estimate-fieldset>legend,
.estimate-features>legend{
  width:100%!important;
  margin:0 0 12px!important;
  padding:0 0 9px!important;
  border-bottom:1px solid rgba(18,24,31,.1)!important;
  color:#18202c!important;
  font-size:.91rem!important;
  font-weight:800!important;
}
.estimate-form .form-grid{margin:0!important}
.estimate-scope-fields{
  display:grid!important;
  grid-column:1/-1!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:13px!important;
}
.estimate-scope-fields[hidden],
.estimate-form [hidden]{display:none!important}
.estimate-form [data-estimate-website-required]{
  color:#66715f!important;
  font-size:.72rem!important;
  font-style:normal!important;
  font-weight:600!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.estimate-features{
  display:grid!important;
  grid-column:1/-1!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px 14px!important;
  min-width:0!important;
  margin:2px 0 0!important;
  padding:14px!important;
  border:1px solid rgba(18,24,31,.09)!important;
  border-radius:14px!important;
  background:#fafaf7!important;
}
.estimate-features>legend{grid-column:1/-1!important}
.estimate-features label{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  gap:9px!important;
  align-items:start!important;
}
.estimate-features input{
  width:17px!important;
  height:17px!important;
  min-height:0!important;
  margin:2px 0 0!important;
  accent-color:#5e704e!important;
}
.estimate-features label>span{
  margin:0!important;
  color:#3f4852!important;
  font-size:.82rem!important;
  font-weight:500!important;
  letter-spacing:0!important;
  line-height:1.45!important;
  text-transform:none!important;
}
.estimate-result{
  padding:20px!important;
  border:1px solid rgba(74,94,59,.18)!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#f4f6ee,#fbfcf8)!important;
}
.estimate-result>div{display:grid!important;gap:5px!important}
.estimate-result>div>span{
  color:#5f6a58!important;
  font-size:.72rem!important;
  font-weight:800!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}
.estimate-result strong{
  color:#18201a!important;
  font-size:clamp(1.8rem,4vw,2.5rem)!important;
  line-height:1.1!important;
  letter-spacing:-.05em!important;
}
.estimate-result small{color:#66715f!important;font-size:.73rem!important}
.estimate-result p{
  margin:12px 0!important;
  color:#606b64!important;
  font-size:.87rem!important;
  line-height:1.6!important;
}
.estimate-result ul{
  display:grid!important;
  gap:7px!important;
  margin:0!important;
  padding:11px 0 0!important;
  border-top:1px solid rgba(74,94,59,.15)!important;
  list-style:none!important;
}
.estimate-result li{
  display:flex!important;
  justify-content:space-between!important;
  gap:16px!important;
  color:#515b53!important;
  font-size:.78rem!important;
  line-height:1.45!important;
}
.estimate-result li b{flex:none!important;color:#303b31!important;font-weight:750!important}
.estimate-assurance{
  padding:14px 16px!important;
  border-left:3px solid #84936d!important;
  background:rgba(255,255,255,.55)!important;
  font-size:.89rem!important;
}
.estimate-message{display:grid!important;gap:7px!important}
.contact-copy .contact-estimate-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:0 0 14px!important;
  padding:0 0 3px!important;
  border-bottom:1px solid rgba(18,24,31,.35)!important;
}
.estimate-mobile-bundle{
  display:grid!important;
  grid-column:1/-1!important;
  gap:12px!important;
  min-width:0!important;
  margin:0!important;
  padding:16px!important;
  border:1px solid rgba(132,147,109,.42)!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#f0f4e9,#fbfcf7)!important;
  box-shadow:0 12px 28px rgba(43,57,33,.07)!important;
}
.estimate-mobile-bundle[hidden]{display:none!important}
.estimate-mobile-bundle>legend{
  padding:0 8px!important;
  color:#526442!important;
  font-size:.74rem!important;
  font-weight:850!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}
.estimate-mobile-bundle-choice{
  display:grid!important;
  grid-template-columns:20px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
  margin:0!important;
  cursor:pointer!important;
}
.estimate-mobile-bundle-choice>input{
  width:18px!important;
  height:18px!important;
  min-height:0!important;
  margin:3px 0 0!important;
  accent-color:#5e704e!important;
}
.estimate-mobile-bundle-choice>span{display:grid!important;gap:6px!important}
.estimate-mobile-bundle-choice strong{color:#25321f!important;font-size:.96rem!important;font-weight:800!important}
.estimate-mobile-bundle-choice small{color:#596454!important;font-size:.8rem!important;font-weight:500!important;line-height:1.55!important}

.page-404 main{overflow:hidden!important}
.not-found-section{
  position:relative!important;
  display:grid!important;
  min-height:min(720px,calc(100vh - 120px))!important;
  align-items:center!important;
  overflow:hidden!important;
  padding:clamp(74px,10vw,132px) 0!important;
  background:
    radial-gradient(ellipse at 78% 24%,rgba(107,132,83,.2),transparent 34%),
    linear-gradient(135deg,#09121d 0%,#101a25 55%,#101d25 100%)!important;
}
.not-found-orbit{
  position:absolute!important;
  top:-250px!important;
  right:-160px!important;
  width:min(70vw,800px)!important;
  aspect-ratio:1!important;
  border:1px solid rgba(219,229,207,.1)!important;
  border-radius:50%!important;
  pointer-events:none!important;
}
.not-found-orbit:before,.not-found-orbit:after{
  position:absolute!important;
  inset:12%!important;
  border:1px solid rgba(219,229,207,.08)!important;
  border-radius:50%!important;
  content:""!important;
}
.not-found-orbit:after{inset:27%!important}
.not-found-layout{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.7fr)!important;
  gap:clamp(40px,8vw,120px)!important;
  align-items:center!important;
}
.not-found-copy .eyebrow{
  color:#b7c7a6!important;
  font-size:.75rem!important;
  font-weight:800!important;
  letter-spacing:.15em!important;
}
.not-found-copy h1{
  max-width:780px!important;
  margin:19px 0 20px!important;
  color:#f4f6f1!important;
  font-size:clamp(2.8rem,6vw,5.4rem)!important;
  line-height:1.02!important;
  letter-spacing:-.065em!important;
}
.not-found-copy h1 em{color:#b7c89e!important;font-style:normal!important}
.not-found-copy>p{
  max-width:550px!important;
  margin:0!important;
  color:rgba(235,240,232,.74)!important;
  font-size:1.05rem!important;
  line-height:1.75!important;
}
.not-found-copy .hero-actions{margin-top:30px!important}
.not-found-panel{
  display:grid!important;
  gap:0!important;
  padding:23px!important;
  border:1px solid rgba(226,234,219,.13)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.055)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(14px)!important;
}
.not-found-panel>span{
  margin:0 0 10px!important;
  color:#c6d2ba!important;
  font-size:.73rem!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
.not-found-panel>a{
  display:flex!important;
  justify-content:space-between!important;
  gap:16px!important;
  padding:17px 0!important;
  border-top:1px solid rgba(226,234,219,.12)!important;
  color:#f2f4ef!important;
  text-decoration:none!important;
}
.not-found-panel>a>span{display:grid!important;gap:5px!important}
.not-found-panel strong{font-size:.94rem!important;font-weight:750!important}
.not-found-panel small{color:rgba(235,240,232,.62)!important;font-size:.78rem!important;line-height:1.45!important}
.not-found-panel i{color:#b7c89e!important;font-size:1rem!important;font-style:normal!important}
.not-found-panel>a:hover strong{color:#cbd9b8!important}

@media(max-width:900px){
  .estimate-layout{grid-template-columns:minmax(0,1fr)!important;gap:28px!important}
  .estimate-layout .contact-copy{position:static!important}
  .not-found-layout{grid-template-columns:minmax(0,1fr)!important;gap:40px!important}
  .not-found-panel{max-width:620px!important}
}
@media(max-width:600px){
  .estimate-form{gap:16px!important}
  .estimate-scope-fields,
  .estimate-features{grid-template-columns:minmax(0,1fr)!important}
  .estimate-features>legend{grid-column:1!important}
  .estimate-result{padding:16px!important}
  .estimate-mobile-bundle{padding:13px!important}
  .not-found-section{min-height:0!important;padding:78px 0!important}
  .not-found-copy h1{font-size:clamp(2.65rem,12vw,4rem)!important}
  .not-found-copy .hero-actions{align-items:stretch!important;flex-direction:column!important}
  .not-found-copy .hero-actions .button{justify-content:center!important}
  .not-found-panel{padding:18px!important}
}

/* Consistent, comfortable form rhythm across contact, careers and estimates. */
.project-form{
  display:grid!important;
  gap:20px!important;
}
.project-form .form-grid{
  column-gap:18px!important;
  row-gap:20px!important;
  margin:0!important;
}
.project-form .form-grid label,
.project-form label.full,
.estimate-scope-fields label,
.estimate-message{
  display:flex!important;
  min-width:0!important;
  flex-direction:column!important;
  gap:8px!important;
  margin:0!important;
}
.project-form .form-grid label>span,
.project-form>label.full>span,
.estimate-scope-fields label>span,
.estimate-message>span{
  margin:0!important;
  color:#303b45!important;
  font-size:.9rem!important;
  font-weight:650!important;
  line-height:1.4!important;
  text-transform:none!important;
  letter-spacing:normal!important;
}
.project-form input:not([type=checkbox]):not([type=radio]),
.project-form select,
.project-form textarea{
  width:100%!important;
  min-width:0!important;
  min-height:48px!important;
  margin:0!important;
  padding:12px 14px!important;
  border:1px solid #cbd1cc!important;
  border-radius:12px!important;
  background-color:#fff!important;
  color:#18212a!important;
  font:inherit!important;
  font-size:1rem!important;
  line-height:1.45!important;
  box-shadow:0 1px 2px rgba(16,24,32,.035)!important;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease!important;
}
.project-form select{
  padding-right:42px!important;
}
.project-form textarea{
  min-height:150px!important;
  resize:vertical!important;
}
.project-form input::placeholder,
.project-form textarea::placeholder{
  color:#68727b!important;
  opacity:1!important;
}
.project-form input:not([type=checkbox]):not([type=radio]):hover,
.project-form select:hover,
.project-form textarea:hover{
  border-color:#9da9a0!important;
}
.project-form input:not([type=checkbox]):not([type=radio]):focus,
.project-form select:focus,
.project-form textarea:focus{
  border-color:#52713e!important;
  background-color:#fff!important;
  box-shadow:0 0 0 3px rgba(82,113,62,.18)!important;
}
.project-form input[type=checkbox],
.project-form input[type=radio]{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  accent-color:#52713e!important;
}
.project-form .consent{
  display:grid!important;
  grid-template-columns:20px minmax(0,1fr)!important;
  align-items:start!important;
  gap:11px!important;
  margin:0!important;
}
.project-form .consent input{
  margin:2px 0 0!important;
}
.project-form .consent span{
  margin:0!important;
  color:#414b54!important;
  font-size:.88rem!important;
  font-weight:450!important;
  line-height:1.55!important;
  text-transform:none!important;
  letter-spacing:normal!important;
}
.project-form .form-note{
  margin:0!important;
  color:#59646d!important;
  font-size:.82rem!important;
  line-height:1.55!important;
}
.project-form .button{
  min-height:50px!important;
  margin:0!important;
  padding:12px 22px!important;
}
.estimate-form{
  gap:22px!important;
}
.estimate-step{
  gap:24px!important;
}
.estimate-step-heading{
  gap:9px!important;
  padding-bottom:18px!important;
  border-bottom:1px solid #e7eae5!important;
}
.estimate-step-heading>span{
  font-size:.75rem!important;
}
.estimate-step-heading p{
  font-size:.95rem!important;
  line-height:1.65!important;
}
.estimate-project-choices{
  gap:12px!important;
}
.estimate-project-choice{
  min-height:100px!important;
  padding:16px!important;
}
.estimate-choice-copy{
  gap:7px!important;
}
.estimate-choice-copy strong{
  font-size:.9rem!important;
}
.estimate-choice-copy small,
.estimate-choice-description{
  font-size:.8rem!important;
  line-height:1.5!important;
}
.estimate-scope-fields{
  column-gap:18px!important;
  row-gap:20px!important;
}
.estimate-features{
  gap:10px 16px!important;
  padding:18px!important;
}
.estimate-features label{
  min-height:42px!important;
  align-items:center!important;
}
.estimate-mobile-bundle-choice{
  align-items:start!important;
  padding:12px!important;
}
.estimate-step-actions .button{
  min-height:50px!important;
}
@media(max-width:760px){
  .project-form{
    gap:18px!important;
  }
  .project-form .form-grid{
    row-gap:17px!important;
  }
  .project-form textarea{
    min-height:132px!important;
  }
  .estimate-step{
    gap:20px!important;
  }
  .estimate-project-choice{
    min-height:0!important;
  }
}

/* Shared feedback messages: clear severity, readable copy and consistent spacing. */
.form-alert,
.estimate-save-status:not([hidden]){
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  align-items:start!important;
  gap:12px!important;
  width:100%!important;
  margin:0 0 16px!important;
  padding:16px 18px!important;
  border:1px solid #c9d1d8!important;
  border-radius:16px!important;
  background:#f4f7f9!important;
  color:#27343e!important;
  font-size:.96rem!important;
  font-weight:500!important;
  line-height:1.6!important;
  box-shadow:0 4px 14px rgba(26,39,49,.045)!important;
}
.project-form>.form-alert,
.estimate-form>.form-alert{
  margin-bottom:0!important;
}
.form-alert-icon{
  display:grid!important;
  width:34px!important;
  height:34px!important;
  place-items:center!important;
  border:1px solid currentColor!important;
  border-radius:50%!important;
  font-size:1rem!important;
  font-weight:800!important;
  line-height:1!important;
}
.estimate-save-status:not([hidden]):before{
  display:grid!important;
  width:34px!important;
  height:34px!important;
  place-items:center!important;
  border:1px solid currentColor!important;
  border-radius:50%!important;
  background:#f9e0dc!important;
  content:"!"!important;
  font-size:1rem!important;
  font-weight:800!important;
  line-height:1!important;
}
.form-alert-message{
  min-width:0!important;
  padding-top:4px!important;
  color:inherit!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  line-height:inherit!important;
  overflow-wrap:anywhere!important;
}
.form-alert.success{
  border-color:#acd6b8!important;
  background:#eff9f1!important;
  color:#174f2b!important;
}
.form-alert.success .form-alert-icon{
  background:#dcefe1!important;
}
.form-alert.error{
  border-color:#e9b8b1!important;
  background:#fff3f1!important;
  color:#76271f!important;
}
.form-alert.error .form-alert-icon{
  background:#f9e0dc!important;
}
.form-alert.info,
.form-alert.information{
  border-color:#b9cfe9!important;
  background:#f0f6fd!important;
  color:#194a78!important;
}
.form-alert.info .form-alert-icon,
.form-alert.information .form-alert-icon{
  background:#dceafb!important;
}
.form-alert.warning{
  border-color:#e7d19b!important;
  background:#fff8e8!important;
  color:#6a4610!important;
}
.form-alert.warning .form-alert-icon{
  background:#f7edcf!important;
}
.team-empty{
  padding:22px 24px!important;
  border:1px solid #d4dad5!important;
  border-radius:16px!important;
  background:#f7f8f5!important;
  color:#3f4b44!important;
  font-size:.96rem!important;
  line-height:1.6!important;
}
@media(max-width:600px){
  .form-alert,
  .estimate-save-status:not([hidden]){
    grid-template-columns:32px minmax(0,1fr)!important;
    gap:10px!important;
    padding:14px!important;
    border-radius:14px!important;
    font-size:.92rem!important;
  }
  .form-alert-icon{
    width:30px!important;
    height:30px!important;
  }
  .estimate-save-status:not([hidden]):before{
    width:30px!important;
    height:30px!important;
  }
}

/* Main navigation pages use their existing hero artwork as full-bleed backgrounds. */
.inner-hero-with-background-image{
  isolation:isolate!important;
  overflow:hidden!important;
}
.inner-hero-with-background-image:before{
  z-index:1!important;
  background:
    linear-gradient(90deg,rgba(5,12,21,.86) 0%,rgba(5,12,21,.66) 44%,rgba(5,12,21,.2) 100%),
    linear-gradient(0deg,rgba(5,12,21,.56),transparent 55%)!important;
}
.inner-hero-background-image{
  position:absolute!important;
  z-index:0!important;
  inset:0!important;
  overflow:hidden!important;
}
.inner-hero-background-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 42%!important;
}
.inner-hero-with-background-image .inner-orbit{z-index:1!important}
.inner-hero-with-background-image .inner-hero-grid{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  min-height:440px!important;
  padding-bottom:4px!important;
}
.inner-hero-with-background-image .inner-hero-copy{max-width:min(740px,67%)!important}
.inner-hero-with-background-image .inner-hero-background-card{
  left:auto!important;
  right:0!important;
  bottom:0!important;
  width:min(390px,34%)!important;
}

.legal-page-hero{
  padding:clamp(112px,13vw,176px) 0 64px!important;
  background:#f0eee8!important;
  border-bottom:1px solid rgba(18,24,31,.09)!important;
}
.legal-page-hero-copy{
  max-width:var(--layout-shell)!important;
}
.legal-page-hero .eyebrow{
  display:block!important;
  margin-bottom:18px!important;
  color:#67705f!important;
}
.legal-page-hero h1{
  max-width:14ch!important;
  margin:0!important;
  color:#111521!important;
  font-size:clamp(3rem,6vw,5.25rem)!important;
  line-height:.98!important;
  letter-spacing:-.065em!important;
}
.legal-page-hero p{
  max-width:62ch!important;
  margin:20px 0 0!important;
  color:#626972!important;
  font-size:1.05rem!important;
  line-height:1.7!important;
}
@media(max-width:760px){
  .legal-page-hero{padding:108px 0 42px!important}
  .legal-page-hero .eyebrow{margin-bottom:14px!important}
  .legal-page-hero h1{font-size:clamp(2.65rem,12vw,3.5rem)!important}
  .legal-page-hero p{margin-top:16px!important;font-size:.98rem!important}
}

.team-hero-with-background-image{
  isolation:isolate!important;
  display:flex!important;
  align-items:center!important;
  min-height:620px!important;
  padding:132px 0 68px!important;
  overflow:hidden!important;
  background:#08111a!important;
}
.team-hero-background-image{
  position:absolute!important;
  z-index:0!important;
  inset:0!important;
  overflow:hidden!important;
}
.team-hero-background-image:after{
  position:absolute!important;
  inset:0!important;
  content:""!important;
  background:
    linear-gradient(90deg,rgba(5,12,20,.88) 0%,rgba(5,12,20,.68) 43%,rgba(5,12,20,.18) 100%),
    linear-gradient(0deg,rgba(5,12,20,.54),transparent 55%)!important;
}
.team-hero-background-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 45%!important;
}
.page-team .team-hero-with-background-image .team-hero-refined-grid{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  min-height:420px!important;
}
.page-team .team-hero-with-background-image .team-hero-copy{
  max-width:min(720px,66%)!important;
}
.page-team .team-hero-with-background-image .team-group-scene{
  position:absolute!important;
  right:0!important;
  bottom:0!important;
  width:260px!important;
  min-height:0!important;
  overflow:visible!important;
}
.page-team .team-hero-with-background-image .team-count-card{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  margin:0!important;
}

.careers-hero-with-background-image{
  position:relative!important;
  isolation:isolate!important;
  min-height:620px!important;
  display:flex!important;
  align-items:center!important;
  padding:132px 0 76px!important;
  overflow:hidden!important;
  background:#111923!important;
}
.careers-hero-background-image{
  position:absolute!important;
  z-index:0!important;
  inset:0!important;
  overflow:hidden!important;
}
.careers-hero-background-image:after{
  position:absolute!important;
  inset:0!important;
  content:""!important;
  background:linear-gradient(90deg,rgba(5,11,18,.40),rgba(5,11,18,.12) 68%,rgba(5,11,18,.26))!important;
}
.careers-hero-background-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 42%!important;
}
.careers-hero-with-background-image .careers-hero-grid{
  position:relative!important;
  z-index:1!important;
  display:block!important;
}
.careers-hero-with-background-image .careers-copy{
  max-width:760px!important;
  padding:clamp(24px,4vw,48px)!important;
  border:1px solid rgba(255,255,255,.68)!important;
  border-radius:28px!important;
  background:rgba(248,247,241,.94)!important;
  box-shadow:0 26px 70px rgba(0,0,0,.24)!important;
  backdrop-filter:blur(12px)!important;
}

@media(max-width:900px){
  .inner-hero-with-background-image .inner-hero-grid{min-height:460px!important}
  .inner-hero-with-background-image .inner-hero-copy{max-width:min(740px,80%)!important}
  .inner-hero-with-background-image .inner-hero-background-card{width:min(360px,48%)!important}
  .page-team .team-hero-with-background-image .team-hero-copy{max-width:80%!important}
  .page-team .team-hero-with-background-image .team-group-scene{width:230px!important}
}
@media(max-width:760px){
  .inner-hero-with-background-image{
    padding:116px 0 54px!important;
    min-height:0!important;
  }
  .inner-hero-with-background-image .inner-hero-grid{
    display:flex!important;
    min-height:0!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:24px!important;
  }
  .inner-hero-with-background-image .inner-hero-copy{max-width:100%!important}
  .inner-hero-with-background-image .inner-hero-background-card{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    max-width:520px!important;
    margin:0 0 0 auto!important;
  }
  .inner-hero-with-background-image .inner-hero-copy h1{max-width:12ch!important}
  .inner-hero-with-background-image .inner-hero-background-image img{object-position:62% center!important}

  .team-hero-with-background-image{
    min-height:0!important;
    padding:112px 0 46px!important;
  }
  .page-team .team-hero-with-background-image .team-hero-refined-grid{
    min-height:0!important;
  }
  .page-team .team-hero-with-background-image .team-hero-copy{max-width:100%!important}
  .page-team .team-hero-with-background-image .team-group-scene{
    position:relative!important;
    width:100%!important;
    margin:24px 0 0!important;
  }
  .page-team .team-hero-with-background-image .team-count-card{max-width:230px!important}

  .careers-hero-with-background-image{
    min-height:0!important;
    padding:108px 0 52px!important;
  }
  .careers-hero-with-background-image .careers-copy{padding:24px!important}
}

/* Full-width proof strip sits flush along the bottom edge of the home hero. */
.page-home .hero-refined.hero-with-background-image{padding-bottom:50px!important}
.page-home .hero-proof-band{
  position:relative!important;
  width:100%!important;
  margin:0!important;
  padding:12px 0!important;
  border-top:1px solid rgba(255,255,255,.16)!important;
  background:#07121c!important;
}
.page-home .hero-proof-band .hero-proof-wide{
  width:min(calc(100% - 2 * var(--layout-pad)),var(--layout-shell))!important;
  max-width:var(--layout-shell)!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
}
.page-home .hero-proof-band .hero-proof-wide>div{
  display:flex!important;
  min-height:60px!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  padding:0!important;
  border:0!important;
  border-right:1px solid rgba(255,255,255,.17)!important;
  text-align:center!important;
}
.page-home .hero-proof-band .hero-proof-wide>div:first-child{padding-left:0!important}
.page-home .hero-proof-band .hero-proof-wide>div:last-child{
  padding-right:0!important;
  border-right:0!important;
}
.page-home .hero-proof-band .hero-proof-wide strong{
  margin:0!important;
  color:#fff!important;
  font-size:1.35rem!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
}
.page-home .hero-proof-band .hero-proof-wide span{
  margin:5px 0 0!important;
  color:rgba(255,255,255,.72)!important;
  font-size:.7rem!important;
  line-height:1.35!important;
}
@media(max-width:760px){
  .page-home .hero-proof-band .hero-proof-wide{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    padding:0!important;
  }
  .page-home .hero-proof-band .hero-proof-wide>div{
    min-height:58px!important;
    padding:0!important;
    border-right:1px solid rgba(255,255,255,.14)!important;
    border-bottom:1px solid rgba(255,255,255,.12)!important;
  }
  .page-home .hero-proof-band .hero-proof-wide>div:nth-child(2n){
    padding-right:0!important;
    border-right:0!important;
  }
  .page-home .hero-proof-band .hero-proof-wide>div:nth-last-child(-n+2){
    border-bottom:0!important;
  }
  .page-home .hero-proof-band .hero-proof-wide>div:first-child{padding-left:0!important}
}

/* Keep homepage section titles and descriptions in the shared split layout. */
.page-home #services .section-heading.split-heading{
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)!important;
  row-gap:14px!important;
  align-items:center!important;
}
.page-home #services .section-heading-title{
  grid-column:auto!important;
  grid-row:auto!important;
}
.page-home #services .section-heading-copy{
  grid-column:auto!important;
  grid-row:auto!important;
  max-width:58ch!important;
}
@media(max-width:760px){
  .page-home #services .section-heading.split-heading{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .page-home #services .section-heading-title,
  .page-home #services .section-heading-copy{
    grid-column:1!important;
    grid-row:auto!important;
  }
}
.page-home #services .smart-card .card-link{
  padding-top:24px!important;
}
.page-home #services .smart-card .tag-row{
  margin-bottom:16px!important;
}
.page-home #solutions .section-heading.split-heading{
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)!important;
  row-gap:14px!important;
  align-items:center!important;
}
.page-home #solutions .section-heading-title{
  grid-column:auto!important;
  grid-row:auto!important;
}
.page-home #solutions .section-heading-copy{
  grid-column:auto!important;
  grid-row:auto!important;
  max-width:58ch!important;
}
@media(max-width:760px){
  .page-home #solutions .section-heading.split-heading{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .page-home #solutions .section-heading-title,
  .page-home #solutions .section-heading-copy{
    grid-column:1!important;
    grid-row:auto!important;
  }
}
.page-home #approach .process-intro{
  grid-template-columns:minmax(0,1fr)!important;
  gap:20px!important;
  align-items:start!important;
}
.page-home #approach .process-title-block,
.page-home #approach .process-intro-copy{
  max-width:650px!important;
}
.page-home #approach .process-intro-copy p{
  max-width:600px!important;
}
.page-home .industries-section .section-heading.split-heading{
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)!important;
  row-gap:14px!important;
  align-items:center!important;
}
.page-home .industries-section .section-heading-title,
.page-home .industries-section .section-heading-copy{
  grid-column:auto!important;
  justify-self:start!important;
}
.page-home .industries-section .section-heading-title{
  grid-row:auto!important;
}
.page-home .industries-section .section-heading-copy{
  grid-row:auto!important;
  max-width:650px!important;
}
.page-home .team-preview .section-heading.split-heading{
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)!important;
  row-gap:14px!important;
  align-items:center!important;
}
.page-home .team-preview .section-heading-title,
.page-home .team-preview .section-heading-side{
  grid-column:auto!important;
  justify-self:start!important;
}
.page-home .team-preview .section-heading-title{
  grid-row:auto!important;
}
.page-home .team-preview .section-heading-side{
  grid-row:auto!important;
  max-width:650px!important;
}
.page-home .team-preview .section-heading-copy{
  max-width:650px!important;
}
.section-key-service-catalogue .section-heading.split-heading{
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)!important;
  row-gap:14px!important;
  align-items:center!important;
}
.section-key-service-catalogue .section-heading-title,
.section-key-service-catalogue .section-heading-copy{
  grid-column:auto!important;
  justify-self:start!important;
}
.section-key-service-catalogue .section-heading-title{
  grid-row:auto!important;
}
.section-key-service-catalogue .section-heading-copy{
  grid-row:auto!important;
  max-width:650px!important;
}
.section-key-service-catalogue .smart-card .tag-row{
  margin-bottom:18px!important;
}
.section-key-service-catalogue .smart-card .card-link{
  padding-top:20px!important;
}

/* Careers hero matches the image-led split used across inner pages. */
.page-careers .careers-copy h1{
  max-width:590px!important;
}
.page-careers .section-key-why-join .section-heading.split-heading{
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)!important;
  row-gap:14px!important;
  align-items:center!important;
}
.page-careers .section-key-why-join .section-heading-title,
.page-careers .section-key-why-join .section-heading-copy{
  grid-column:auto!important;
  justify-self:start!important;
}
.page-careers .section-key-why-join .section-heading-title{
  grid-row:auto!important;
}
.page-careers .section-key-why-join .section-heading-copy{
  grid-row:auto!important;
  max-width:650px!important;
}
.page-service-custom-web-applications .intro-split{
  grid-template-columns:minmax(0,1fr)!important;
  row-gap:18px!important;
}
.page-service-custom-web-applications .intro-split .rich-copy{
  grid-column:1!important;
  max-width:760px!important;
}
.page-service-custom-web-applications .section-key-what-we-can-deliver .section-heading.split-heading{
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)!important;
  row-gap:14px!important;
  align-items:center!important;
}
.page-service-custom-web-applications .section-key-what-we-can-deliver .section-heading-title,
.page-service-custom-web-applications .section-key-what-we-can-deliver .section-heading-copy{
  grid-column:auto!important;
  justify-self:start!important;
}
.page-service-custom-web-applications .section-key-what-we-can-deliver .section-heading-title{
  grid-row:auto!important;
}
.page-service-custom-web-applications .section-key-what-we-can-deliver .section-heading-copy{
  grid-row:auto!important;
  max-width:650px!important;
}
.page-service-custom-web-applications .process-intro{
  grid-template-columns:minmax(0,1fr)!important;
  row-gap:14px!important;
  align-items:start!important;
}
.page-service-custom-web-applications .process-intro-copy{
  grid-column:1!important;
  justify-self:start!important;
  max-width:650px!important;
}
.page-service-website-development .intro-split,
.page-service-wordpress-woocommerce .intro-split,
.page-service-ecommerce-development .intro-split,
.page-service-api-integrations .intro-split,
.page-service-maintenance-support .intro-split,
.page-service-drupal-development .intro-split,
.page-service-performance-security .intro-split{
  grid-template-columns:minmax(0,1fr)!important;
  row-gap:18px!important;
}
.page-service-website-development .intro-split .rich-copy,
.page-service-wordpress-woocommerce .intro-split .rich-copy,
.page-service-ecommerce-development .intro-split .rich-copy,
.page-service-api-integrations .intro-split .rich-copy,
.page-service-maintenance-support .intro-split .rich-copy,
.page-service-drupal-development .intro-split .rich-copy,
.page-service-performance-security .intro-split .rich-copy{
  grid-column:1!important;
  max-width:760px!important;
}
.page-service-website-development .cards-section .section-heading.split-heading,
.page-service-wordpress-woocommerce .cards-section .section-heading.split-heading,
.page-service-ecommerce-development .cards-section .section-heading.split-heading,
.page-service-api-integrations .cards-section .section-heading.split-heading,
.page-service-maintenance-support .cards-section .section-heading.split-heading,
.page-service-drupal-development .cards-section .section-heading.split-heading,
.page-service-performance-security .cards-section .section-heading.split-heading{
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)!important;
  row-gap:14px!important;
  align-items:center!important;
}
.page-service-website-development .cards-section .section-heading-title,
.page-service-website-development .cards-section .section-heading-copy,
.page-service-wordpress-woocommerce .cards-section .section-heading-title,
.page-service-wordpress-woocommerce .cards-section .section-heading-copy,
.page-service-ecommerce-development .cards-section .section-heading-title,
.page-service-ecommerce-development .cards-section .section-heading-copy,
.page-service-api-integrations .cards-section .section-heading-title,
.page-service-api-integrations .cards-section .section-heading-copy,
.page-service-maintenance-support .cards-section .section-heading-title,
.page-service-maintenance-support .cards-section .section-heading-copy,
.page-service-drupal-development .cards-section .section-heading-title,
.page-service-drupal-development .cards-section .section-heading-copy,
.page-service-performance-security .cards-section .section-heading-title,
.page-service-performance-security .cards-section .section-heading-copy{
  grid-column:auto!important;
  justify-self:start!important;
}
.page-service-website-development .cards-section .section-heading-title,
.page-service-wordpress-woocommerce .cards-section .section-heading-title,
.page-service-ecommerce-development .cards-section .section-heading-title,
.page-service-api-integrations .cards-section .section-heading-title,
.page-service-maintenance-support .cards-section .section-heading-title,
.page-service-drupal-development .cards-section .section-heading-title,
.page-service-performance-security .cards-section .section-heading-title{
  grid-row:auto!important;
}
.page-service-website-development .cards-section .section-heading-copy,
.page-service-wordpress-woocommerce .cards-section .section-heading-copy,
.page-service-ecommerce-development .cards-section .section-heading-copy,
.page-service-api-integrations .cards-section .section-heading-copy,
.page-service-maintenance-support .cards-section .section-heading-copy,
.page-service-drupal-development .cards-section .section-heading-copy,
.page-service-performance-security .cards-section .section-heading-copy{
  grid-row:auto!important;
  max-width:650px!important;
}
.page-service-website-development .process-intro,
.page-service-wordpress-woocommerce .process-intro,
.page-service-ecommerce-development .process-intro,
.page-service-api-integrations .process-intro,
.page-service-maintenance-support .process-intro,
.page-service-drupal-development .process-intro,
.page-service-performance-security .process-intro{
  grid-template-columns:minmax(0,1fr)!important;
  row-gap:14px!important;
  align-items:start!important;
}
.page-service-website-development .process-intro-copy,
.page-service-wordpress-woocommerce .process-intro-copy,
.page-service-ecommerce-development .process-intro-copy,
.page-service-api-integrations .process-intro-copy,
.page-service-maintenance-support .process-intro-copy,
.page-service-drupal-development .process-intro-copy,
.page-service-performance-security .process-intro-copy{
  grid-column:1!important;
  justify-self:start!important;
  max-width:650px!important;
}
:is(
  .page-solution-live-auction-marketplaces,
  .page-solution-custom-business-software,
  .page-solution-ecommerce-payment-platforms,
  .page-solution-integration-automation,
  .page-solution-agency-development-partner,
  .page-solution-technical-takeover-recovery,
  .page-solution-client-customer-portals,
  .page-solution-booking-ticketing-membership
) .intro-split{
  grid-template-columns:minmax(0,1fr)!important;
  row-gap:18px!important;
}
:is(
  .page-solution-live-auction-marketplaces,
  .page-solution-custom-business-software,
  .page-solution-ecommerce-payment-platforms,
  .page-solution-integration-automation,
  .page-solution-agency-development-partner,
  .page-solution-technical-takeover-recovery,
  .page-solution-client-customer-portals,
  .page-solution-booking-ticketing-membership
) .intro-split .rich-copy{
  grid-column:1!important;
  max-width:760px!important;
}
:is(
  .page-solution-live-auction-marketplaces,
  .page-solution-custom-business-software,
  .page-solution-ecommerce-payment-platforms,
  .page-solution-integration-automation,
  .page-solution-agency-development-partner,
  .page-solution-technical-takeover-recovery,
  .page-solution-client-customer-portals,
  .page-solution-booking-ticketing-membership
) .cards-section .section-heading.split-heading{
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)!important;
  row-gap:14px!important;
  align-items:center!important;
}
:is(
  .page-solution-live-auction-marketplaces,
  .page-solution-custom-business-software,
  .page-solution-ecommerce-payment-platforms,
  .page-solution-integration-automation,
  .page-solution-agency-development-partner,
  .page-solution-technical-takeover-recovery,
  .page-solution-client-customer-portals,
  .page-solution-booking-ticketing-membership
) .cards-section .section-heading-title,
:is(
  .page-solution-live-auction-marketplaces,
  .page-solution-custom-business-software,
  .page-solution-ecommerce-payment-platforms,
  .page-solution-integration-automation,
  .page-solution-agency-development-partner,
  .page-solution-technical-takeover-recovery,
  .page-solution-client-customer-portals,
  .page-solution-booking-ticketing-membership
) .cards-section .section-heading-copy{
  grid-column:auto!important;
  justify-self:start!important;
}
:is(
  .page-solution-live-auction-marketplaces,
  .page-solution-custom-business-software,
  .page-solution-ecommerce-payment-platforms,
  .page-solution-integration-automation,
  .page-solution-agency-development-partner,
  .page-solution-technical-takeover-recovery,
  .page-solution-client-customer-portals,
  .page-solution-booking-ticketing-membership
) .cards-section .section-heading-title{
  grid-row:auto!important;
}
:is(
  .page-solution-live-auction-marketplaces,
  .page-solution-custom-business-software,
  .page-solution-ecommerce-payment-platforms,
  .page-solution-integration-automation,
  .page-solution-agency-development-partner,
  .page-solution-technical-takeover-recovery,
  .page-solution-client-customer-portals,
  .page-solution-booking-ticketing-membership
) .cards-section .section-heading-copy{
  grid-row:auto!important;
  max-width:650px!important;
}
:is(
  .page-solution-live-auction-marketplaces,
  .page-solution-custom-business-software,
  .page-solution-ecommerce-payment-platforms,
  .page-solution-integration-automation,
  .page-solution-agency-development-partner,
  .page-solution-technical-takeover-recovery,
  .page-solution-client-customer-portals,
  .page-solution-booking-ticketing-membership
) .process-intro{
  grid-template-columns:minmax(0,1fr)!important;
  row-gap:14px!important;
  align-items:start!important;
}
:is(
  .page-solution-live-auction-marketplaces,
  .page-solution-custom-business-software,
  .page-solution-ecommerce-payment-platforms,
  .page-solution-integration-automation,
  .page-solution-agency-development-partner,
  .page-solution-technical-takeover-recovery,
  .page-solution-client-customer-portals,
  .page-solution-booking-ticketing-membership
) .process-intro-copy{
  grid-column:1!important;
  justify-self:start!important;
  max-width:650px!important;
}
@media(max-width:760px){
  .page-careers .careers-copy h1{
    max-width:none!important;
  }
}

/* Team page hero follows the site's split, image-led hero layout. */
.page-team .team-hero-refined{
  padding:92px 0 64px!important;
  background:
    radial-gradient(circle at 12% 18%,rgba(121,255,88,.1),transparent 25%),
    linear-gradient(106deg,#071019 0%,#0a1520 42%,#0b1320 100%)!important;
}
.page-team .team-hero-refined-grid{
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  gap:clamp(36px,5vw,64px)!important;
  min-height:0!important;
  align-items:center!important;
}
.page-team .team-hero-copy{
  max-width:none!important;
  padding:0!important;
}
.page-team .team-hero-copy h1{
  max-width:none!important;
  font-size:clamp(3.3rem,5vw,5.2rem)!important;
  line-height:.96!important;
  text-wrap:balance!important;
}
.page-team .team-hero-copy h1 em{
  font-family:Georgia,serif!important;
  font-style:italic!important;
  font-weight:400!important;
  color:#91ff57!important;
}
.page-team .team-hero-copy p{
  max-width:54ch!important;
  margin-top:22px!important;
}
.page-team .team-group-scene{
  min-height:500px!important;
  border-radius:30px!important;
}
.page-team .team-group-scene img{
  border-radius:30px!important;
}
@media(max-width:1100px){
  .page-team .team-hero-refined-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:30px!important;
  }
  .page-team .team-hero-copy{
    max-width:700px!important;
  }
  .page-team .team-group-scene{
    min-height:430px!important;
  }
}
@media(max-width:760px){
  .page-team .team-hero-refined{
    padding:70px 0 42px!important;
  }
  .page-team .team-hero-refined-grid{
    gap:24px!important;
  }
  .page-team .team-hero-copy h1{
    font-size:clamp(2.8rem,12vw,4rem)!important;
  }
  .page-team .team-group-scene{
    min-height:360px!important;
    border-radius:24px!important;
  }
  .page-team .team-group-scene img{
    border-radius:24px!important;
  }
}
.page-team .team-section .section-heading.split-heading{
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)!important;
  row-gap:14px!important;
  align-items:center!important;
}
.page-team .team-section .section-heading-title,
.page-team .team-section .section-heading-side{
  grid-column:auto!important;
  justify-self:start!important;
}
.page-team .team-section .section-heading-title{
  grid-row:auto!important;
}
.page-team .team-section .section-heading-side{
  grid-row:auto!important;
  max-width:650px!important;
}
.page-team .team-section .section-heading-copy{
  max-width:650px!important;
}
.page-about .inner-hero-copy h1 .about-hero-title-lead{
  white-space:normal!important;
}
.page-about .inner-hero-copy h1{
  text-wrap:initial!important;
}
.page-about .section-key-project-experience .section-heading-title h2{
  max-width:560px!important;
  font-size:clamp(2.8rem,3.8vw,3.5rem)!important;
}
.page-about .section-key-project-experience .section-heading.split-heading{
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)!important;
  row-gap:14px!important;
  align-items:center!important;
}
.page-about .section-key-project-experience .section-heading-title,
.page-about .section-key-project-experience .section-heading-copy{
  grid-column:auto!important;
  justify-self:start!important;
}
.page-about .section-key-project-experience .section-heading-title{
  grid-row:auto!important;
}
.page-about .section-key-project-experience .section-heading-copy{
  grid-row:auto!important;
  max-width:650px!important;
}
.page-about .section-key-how-we-work .section-heading.split-heading{
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)!important;
  row-gap:14px!important;
  align-items:center!important;
}
.page-about .section-key-how-we-work .section-heading-title,
.page-about .section-key-how-we-work .section-heading-copy{
  grid-column:auto!important;
  justify-self:start!important;
}
.page-about .section-key-how-we-work .section-heading-title{
  grid-row:auto!important;
}
.page-about .section-key-how-we-work .section-heading-copy{
  grid-row:auto!important;
  max-width:650px!important;
}
.page-about .founder-story-copy h2{
  max-width:none!important;
  font-size:clamp(2.5rem,4vw,4rem)!important;
}
@media(max-width:760px){
  .page-about .inner-hero-copy h1{
    font-size:clamp(2.4rem,10vw,3.4rem)!important;
  }
  .page-about .section-key-project-experience .section-heading-title h2{
    max-width:none!important;
    font-size:clamp(2.3rem,10vw,3.4rem)!important;
  }
  .page-about .founder-story-copy h2{
    font-size:clamp(2.2rem,8vw,2.8rem)!important;
  }
}
.page-team .section-key-how-the-team-works .section-heading.split-heading{
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)!important;
  row-gap:14px!important;
  align-items:center!important;
}
.page-team .section-key-how-the-team-works .section-heading-title,
.page-team .section-key-how-the-team-works .section-heading-copy{
  grid-column:auto!important;
  justify-self:start!important;
}
.page-team .section-key-how-the-team-works .section-heading-title{
  grid-row:auto!important;
}
.page-team .section-key-how-the-team-works .section-heading-copy{
  grid-row:auto!important;
  max-width:650px!important;
}

/* Split section headings stack only when the viewport is narrow. */
@media(max-width:760px){
  .page-solutions .section-key-solution-catalogue .section-heading.split-heading,
  .page-home .industries-section .section-heading.split-heading,
  .page-home .team-preview .section-heading.split-heading,
  .section-key-service-catalogue .section-heading.split-heading,
  .page-careers .section-key-why-join .section-heading.split-heading,
  .page-service-custom-web-applications .section-key-what-we-can-deliver .section-heading.split-heading,
  .page-team .team-section .section-heading.split-heading,
  .page-about .section-key-project-experience .section-heading.split-heading,
  .page-about .section-key-how-we-work .section-heading.split-heading,
  .page-team .section-key-how-the-team-works .section-heading.split-heading,
  :is(
    .page-service-website-development,
    .page-service-wordpress-woocommerce,
    .page-service-ecommerce-development,
    .page-service-api-integrations,
    .page-service-maintenance-support,
    .page-service-drupal-development,
    .page-service-performance-security
  ) .cards-section .section-heading.split-heading,
  :is(
    .page-solution-live-auction-marketplaces,
    .page-solution-custom-business-software,
    .page-solution-ecommerce-payment-platforms,
    .page-solution-integration-automation,
    .page-solution-agency-development-partner,
    .page-solution-technical-takeover-recovery,
    .page-solution-client-customer-portals,
    .page-solution-booking-ticketing-membership
  ) .cards-section .section-heading.split-heading{
    grid-template-columns:minmax(0,1fr)!important;
    row-gap:14px!important;
    align-items:start!important;
  }
}

/* Home section intros use the same left-title / right-teaser rhythm globally. */
.page-home .statement-modern-v2.statement-streamlined{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:clamp(20px,3vw,32px)!important;
  align-items:stretch!important;
}
.page-home .statement-streamlined .statement-intro{
  display:grid!important;
  grid-column:1/-1!important;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)!important;
  column-gap:clamp(28px,4.5vw,60px)!important;
  row-gap:12px!important;
  align-items:center!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
}
.page-home .statement-streamlined .statement-label{
  grid-column:1!important;
  grid-row:1!important;
  margin:0!important;
}
.page-home .statement-streamlined .statement-copy{
  grid-column:1!important;
  grid-row:2!important;
  max-width:none!important;
}
.page-home .statement-streamlined .statement-copy em{
  white-space:nowrap!important;
}
.page-home .statement-streamlined .statement-lede{
  grid-column:2!important;
  grid-row:1/3!important;
  align-self:center!important;
  max-width:58ch!important;
  margin:0!important;
}
.page-home .statement-streamlined .statement-proof-grid{
  grid-column:1/-1!important;
  grid-row:auto!important;
}
.page-home #approach .process-intro{
  display:grid!important;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)!important;
  gap:clamp(28px,4.5vw,60px)!important;
  align-items:center!important;
  width:auto!important;
  max-width:none!important;
  margin:0 0 28px!important;
}
.page-home #approach .process-title-block,
.page-home #approach .process-intro-copy{
  max-width:none!important;
}

@media(max-width:900px){
  .page-home .statement-streamlined .statement-intro{
    grid-template-columns:minmax(0,1fr)!important;
    row-gap:12px!important;
  }
  .page-home .statement-streamlined .statement-label,
  .page-home .statement-streamlined .statement-copy,
  .page-home .statement-streamlined .statement-lede{
    grid-column:1!important;
    grid-row:auto!important;
  }
  .page-home .statement-streamlined .statement-lede{
    margin-top:2px!important;
  }
  .page-home #approach .process-intro{
    grid-template-columns:minmax(0,1fr)!important;
    gap:16px!important;
  }
}

.estimate-section .estimate-layout{
  grid-template-columns:minmax(290px,.76fr) minmax(0,1.24fr)!important;
  gap:clamp(28px,4vw,58px)!important;
  align-items:start!important;
}
.estimate-section .estimate-form{
  gap:22px!important;
  padding:clamp(18px,3vw,30px)!important;
  border:1px solid rgba(20,30,38,.09)!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 22px 70px rgba(21,33,38,.08)!important;
}
@media(max-width:900px){
  .estimate-section .estimate-layout{grid-template-columns:minmax(0,1fr)!important;gap:28px!important}
  .estimate-section .estimate-guide{position:relative!important;top:auto!important}
}

.page-404 .not-found-section{
  min-height:590px!important;
  padding:clamp(76px,9vw,118px) 0!important;
}
.page-404 .not-found-layout{
  grid-template-columns:minmax(0,1.2fr) minmax(230px,.65fr)!important;
  gap:clamp(32px,7vw,100px)!important;
}
.not-found-copy h1{max-width:720px!important}
.not-found-copy h1 em{color:#a9c18e!important}
.not-found-copy .hero-actions .button-ghost{
  border-color:rgba(255,255,255,.23)!important;
  color:#f4f6f1!important;
}
.not-found-visual{
  position:relative!important;
  display:grid!important;
  min-height:290px!important;
  place-items:center!important;
  isolation:isolate!important;
}
.not-found-visual:before,.not-found-visual:after{
  position:absolute!important;
  z-index:-1!important;
  width:min(100%,310px)!important;
  aspect-ratio:1!important;
  border:1px solid rgba(225,235,214,.15)!important;
  border-radius:50%!important;
  content:""!important;
}
.not-found-visual:after{width:min(73%,226px)!important;border-color:rgba(225,235,214,.1)!important}
.not-found-visual>span{
  color:rgba(236,242,230,.1)!important;
  font-size:clamp(7rem,15vw,12rem)!important;
  font-weight:850!important;
  line-height:.8!important;
  letter-spacing:-.1em!important;
}
.not-found-visual>i{
  position:absolute!important;
  top:23%!important;
  right:14%!important;
  width:14px!important;
  height:14px!important;
  border-radius:50%!important;
  background:#a9c18e!important;
  box-shadow:0 0 32px rgba(169,193,142,.8)!important;
}
.not-found-visual>small{
  position:absolute!important;
  bottom:16px!important;
  color:rgba(236,242,230,.55)!important;
  font-size:.65rem!important;
  font-weight:800!important;
  letter-spacing:.2em!important;
}
.not-found-destinations{
  padding:clamp(72px,9vw,112px) 0!important;
  background:#f4f2ec!important;
}
.not-found-section-heading{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(240px,.65fr)!important;
  gap:40px!important;
  align-items:end!important;
  margin:0 0 34px!important;
}
.not-found-section-heading .eyebrow{color:#657650!important}
.not-found-section-heading h2{
  margin:10px 0 0!important;
  color:#151d25!important;
  font-size:clamp(2rem,4vw,3.35rem)!important;
  line-height:1.08!important;
  letter-spacing:-.055em!important;
}
.not-found-section-heading>p{
  max-width:390px!important;
  justify-self:end!important;
  margin:0 0 3px!important;
  color:#60686e!important;
  font-size:.96rem!important;
  line-height:1.75!important;
}
.not-found-cards{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
.not-found-card{
  display:grid!important;
  min-height:208px!important;
  grid-template-rows:auto 1fr auto!important;
  gap:25px!important;
  padding:22px!important;
  border:1px solid rgba(21,29,37,.1)!important;
  border-radius:20px!important;
  background:#fff!important;
  color:#19232a!important;
  text-decoration:none!important;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease!important;
}
.not-found-card:hover{
  transform:translateY(-3px)!important;
  border-color:rgba(92,113,72,.42)!important;
  box-shadow:0 18px 42px rgba(21,29,37,.08)!important;
}
.not-found-card-number{
  color:#71845d!important;
  font-size:.7rem!important;
  font-weight:850!important;
  letter-spacing:.12em!important;
}
.not-found-card-content{display:grid!important;align-content:start!important;gap:8px!important}
.not-found-card-content strong{font-size:1.05rem!important;font-weight:780!important;letter-spacing:-.02em!important}
.not-found-card-content small{color:#687177!important;font-size:.82rem!important;line-height:1.55!important}
.not-found-card>i{
  justify-self:end!important;
  color:#667951!important;
  font-size:1rem!important;
  font-style:normal!important;
}
.not-found-support{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:24px!important;
  margin:24px 0 0!important;
  padding:22px 24px!important;
  border:1px solid rgba(21,29,37,.09)!important;
  border-radius:18px!important;
  background:#ebe8df!important;
}
.not-found-support .eyebrow{color:#647650!important;font-size:.69rem!important}
.not-found-support p{margin:7px 0 0!important;color:#5d666b!important;font-size:.83rem!important;line-height:1.55!important}
.not-found-support .button-accent{flex-shrink:0!important}
@media(max-width:900px){
  .page-404 .not-found-layout{grid-template-columns:minmax(0,1fr)!important}
  .not-found-visual{display:none!important}
  .not-found-section-heading{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
  .not-found-section-heading>p{justify-self:start!important}
  .not-found-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:600px){
  .page-404 .not-found-section{min-height:0!important;padding:82px 0!important}
  .not-found-cards{grid-template-columns:minmax(0,1fr)!important}
  .not-found-card{min-height:170px!important}
  .not-found-support{align-items:stretch!important;flex-direction:column!important;padding:19px!important}
  .not-found-support .button{justify-content:center!important}
}

.estimate-project-choices{
  gap:12px!important;
  padding:2px!important;
}
.estimate-project-choice{
  min-height:136px!important;
  grid-template-columns:22px minmax(0,1fr) 20px!important;
  gap:13px!important;
  align-content:start!important;
  padding:17px!important;
  border-color:rgba(27,37,46,.11)!important;
  border-radius:17px!important;
  box-shadow:0 4px 14px rgba(18,29,34,.035)!important;
}
.estimate-project-choice:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(88,111,68,.5)!important;
  box-shadow:0 12px 25px rgba(23,35,29,.08)!important;
}
.estimate-project-choice.is-selected{
  border-color:#6f8559!important;
  background:linear-gradient(145deg,#f5f8ef,#fbfcf8)!important;
  box-shadow:0 0 0 2px rgba(116,135,94,.11),0 12px 28px rgba(37,53,28,.075)!important;
}
.estimate-choice-mark{
  width:19px!important;
  height:19px!important;
  margin-top:1px!important;
  background:#fff!important;
}
.estimate-choice-mark:after{transition:transform .18s ease!important}
.estimate-choice-copy{gap:7px!important;text-transform:none!important}
.estimate-choice-meta{
  display:flex!important;
  min-height:21px!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:8px!important;
}
.estimate-choice-meta>small{
  width:max-content!important;
  padding:4px 7px!important;
  border-radius:999px!important;
  background:#f1f3ee!important;
  color:#647255!important;
  font-size:.58rem!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
}
.estimate-choice-meta>b{
  color:#61764b!important;
  font-size:.58rem!important;
  font-weight:800!important;
  line-height:1.2!important;
  text-align:right!important;
}
.estimate-choice-copy strong{
  color:#1e2a30!important;
  font-size:.91rem!important;
  font-weight:780!important;
  line-height:1.3!important;
  letter-spacing:-.018em!important;
  text-transform:none!important;
}
.estimate-choice-description{
  color:#6d767b!important;
  font-size:.75rem!important;
  font-weight:500!important;
  line-height:1.5!important;
  text-transform:none!important;
}
.estimate-choice-arrow{
  display:grid!important;
  width:25px!important;
  height:25px!important;
  place-items:center!important;
  border:1px solid rgba(27,37,46,.1)!important;
  border-radius:50%!important;
  color:#737f68!important;
  font-size:.75rem!important;
  transition:background .18s ease,color .18s ease,transform .18s ease!important;
}
.estimate-project-choice:hover .estimate-choice-arrow,
.estimate-project-choice.is-selected .estimate-choice-arrow{
  transform:translate(1px,-1px)!important;
  border-color:#d8e0cf!important;
  background:#eaf0e2!important;
  color:#4d6439!important;
}
.estimate-project-choice:focus-within{
  outline:3px solid rgba(93,121,66,.23)!important;
  outline-offset:2px!important;
}
.estimate-save-status[hidden]{display:none!important}
.estimate-save-status:not([hidden]){
  display:block!important;
  margin:0!important;
  padding:13px 15px!important;
  border:1px solid #e4bdb5!important;
  border-radius:12px!important;
  background:#fff2ef!important;
  color:#753a2d!important;
  font-size:.84rem!important;
  line-height:1.5!important;
}
.estimate-draft-consent{margin:4px 0 0!important}
.estimate-draft-consent>span{font-size:.75rem!important;line-height:1.55!important}
.country-service-section{
  padding-top:clamp(78px,9vw,112px)!important;
  padding-bottom:clamp(76px,8vw,102px)!important;
  background:#f4f2ec!important;
}
.country-service-section .section-heading{margin-bottom:32px!important}
.country-service-section .smart-grid{gap:16px!important}
.country-service-section .country-service-card{
  position:relative!important;
  display:flex!important;
  min-height:285px!important;
  flex-direction:column!important;
  padding:24px!important;
  border:1px solid rgba(27,37,46,.09)!important;
  border-radius:19px!important;
  background:linear-gradient(160deg,#fff 0%,#fbfbf8 100%)!important;
  box-shadow:0 8px 24px rgba(20,31,36,.035)!important;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease!important;
}
.country-service-section .country-service-card:hover{
  transform:translateY(-3px)!important;
  border-color:rgba(97,119,75,.28)!important;
  box-shadow:0 18px 38px rgba(20,31,36,.08)!important;
}
.country-service-section .country-service-card .smart-index{
  display:grid!important;
  width:38px!important;
  height:38px!important;
  place-items:center!important;
  border:1px solid rgba(109,131,86,.18)!important;
  border-radius:12px!important;
  background:#f0f3e9!important;
  color:#63784e!important;
  font-size:.68rem!important;
  font-weight:850!important;
}
.country-service-section .country-service-card h3{margin:19px 0 9px!important}
.country-service-section .country-service-card h3 a{
  color:#1c2930!important;
  text-decoration:none!important;
  text-decoration-color:#91a17d!important;
  text-underline-offset:4px!important;
}
.country-service-section .country-service-card h3 a:hover{text-decoration:underline!important}
.country-service-section .country-service-card>p{
  flex:1!important;
  margin:0!important;
  color:#626c72!important;
  font-size:.83rem!important;
  line-height:1.65!important;
}
.country-service-section .country-service-card .card-link{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:12px!important;
  margin-top:20px!important;
  padding-top:13px!important;
  border-top:1px solid rgba(27,37,46,.09)!important;
  color:#5f744b!important;
  font-size:.76rem!important;
  font-weight:780!important;
  text-decoration:none!important;
}
.country-service-section .country-service-card .card-link i{font-style:normal!important;transition:transform .18s ease!important}
.country-service-section .country-service-card .card-link:hover i{transform:translate(2px,-2px)!important}
.country-service-more{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:20px!important;
  margin-top:25px!important;
  padding:20px 22px!important;
  border:1px solid rgba(27,37,46,.09)!important;
  border-radius:17px!important;
  background:#ebe9e1!important;
}
.country-service-more>div{display:grid!important;gap:5px!important}
.country-service-more strong{color:#1f2b31!important;font-size:.91rem!important;font-weight:780!important}
.country-service-more span{color:#697177!important;font-size:.79rem!important;line-height:1.5!important}
.country-service-more .button{flex:none!important}
.country-contact-actions{display:flex!important;flex-wrap:wrap!important;gap:11px!important}
.country-contact-actions .button{justify-content:center!important}
.country-contact-actions .button-ghost{
  border:1px solid rgba(255,255,255,.22)!important;
  background:rgba(255,255,255,.035)!important;
  color:#f6f7f2!important;
}
.country-contact-note{
  display:block!important;
  margin-top:13px!important;
  color:rgba(255,255,255,.6)!important;
  font-size:.72rem!important;
  line-height:1.55!important;
}
@media(max-width:760px){
  .country-service-section .country-service-card{min-height:250px!important;padding:21px!important}
}
@media(max-width:600px){
  .estimate-project-choice{min-height:121px!important;padding:15px!important}
  .estimate-choice-copy strong{font-size:.9rem!important}
  .country-service-more{align-items:stretch!important;flex-direction:column!important;padding:18px!important}
  .country-service-more .button{width:100%!important;justify-content:center!important}
  .country-contact-actions{align-items:stretch!important;flex-direction:column!important}
  .country-contact-actions .button{width:100%!important}
}
.country-services-jump{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:10px 4px!important;
  color:rgba(255,255,255,.78)!important;
  font-size:.78rem!important;
  font-weight:720!important;
  text-decoration:none!important;
}
.country-services-jump span{color:#9cf276!important;font-size:1rem!important}
.country-services-jump:hover{color:#fff!important}
.country-next-steps{display:grid!important;gap:10px!important;margin-top:22px!important}
.country-next-steps>a{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 24px!important;
  gap:5px 14px!important;
  padding:16px 17px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.045)!important;
  color:#fff!important;
  text-decoration:none!important;
  transition:background .2s ease,border-color .2s ease,transform .2s ease!important;
}
.country-next-steps>a:first-child{
  border-color:rgba(156,242,118,.34)!important;
  background:linear-gradient(110deg,rgba(156,242,118,.12),rgba(255,255,255,.045))!important;
}
.country-next-steps>a:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(156,242,118,.48)!important;
  background:rgba(255,255,255,.085)!important;
}
.country-next-steps>a:focus-visible,.country-services-jump:focus-visible{
  outline:2px solid #9cf276!important;
  outline-offset:4px!important;
}
.country-next-steps>a>span{
  grid-column:1!important;
  color:#a7d58c!important;
  font-size:.63rem!important;
  font-weight:800!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}
.country-next-steps>a>strong{
  grid-column:1!important;
  color:#fff!important;
  font-size:.9rem!important;
  font-weight:780!important;
  line-height:1.3!important;
}
.country-next-steps>a>small{
  grid-column:1!important;
  color:rgba(255,255,255,.62)!important;
  font-size:.73rem!important;
  line-height:1.5!important;
}
.country-next-steps>a>i{
  grid-column:2!important;
  grid-row:1/4!important;
  align-self:center!important;
  justify-self:center!important;
  color:#9cf276!important;
  font-size:1.05rem!important;
  font-style:normal!important;
  transition:transform .18s ease!important;
}
.country-next-steps>a:hover>i{transform:translate(2px,-2px)!important}
@media(max-width:600px){
  .country-services-jump{justify-content:center!important}
  .country-next-steps>a{padding:15px!important}
}

/* Refined navigation states and mobile menu panel. */
.surface-header .desktop-nav a{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:40px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  font-weight:650!important;
  transition:background .18s ease,color .18s ease,transform .18s ease!important;
}
.surface-header .desktop-nav a:hover{
  color:#101a20!important;
  background:#f1f5ed!important;
}
.surface-header .desktop-nav a.is-active{
  color:#28461f!important;
  background:#edf8e8!important;
}
.surface-header .desktop-nav a.is-active:after{display:none!important}
.surface-header .button-light{
  background:#8cff5a!important;
  color:#10200d!important;
  box-shadow:0 8px 20px rgba(91,153,52,.16)!important;
}
.surface-header .button-light:hover{
  background:#a3ff78!important;
  box-shadow:0 10px 26px rgba(91,153,52,.23)!important;
}
.surface-header .menu-btn{
  display:none!important;
  width:44px!important;
  height:44px!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:column!important;
  gap:5px!important;
  border:1px solid rgba(17,25,34,.1)!important;
  border-radius:14px!important;
  background:#f5f7f2!important;
  cursor:pointer!important;
  transition:background .18s ease,border-color .18s ease,transform .18s ease!important;
}
.surface-header .menu-btn:hover{
  background:#edf8e8!important;
  border-color:rgba(77,133,48,.24)!important;
}
.surface-header .menu-btn span{
  width:18px!important;
  height:2px!important;
  margin:0!important;
  border-radius:2px!important;
  background:#142016!important;
  transition:transform .18s ease,opacity .18s ease!important;
}
.surface-header .menu-btn[aria-expanded="true"] span:first-child{
  transform:translateY(3.5px) rotate(45deg)!important;
}
.surface-header .menu-btn[aria-expanded="true"] span:last-child{
  transform:translateY(-3.5px) rotate(-45deg)!important;
}
.surface-header .mobile-menu a:focus-visible,
.surface-header .desktop-nav a:focus-visible,
.surface-header .menu-btn:focus-visible{
  outline:3px solid rgba(87,150,55,.4)!important;
  outline-offset:3px!important;
}

@media(max-width:1080px){
  .surface-header .menu-btn{display:inline-flex!important}
  .surface-header .mobile-menu{
    position:fixed!important;
    inset:calc(70px + 10px) 16px auto!important;
    z-index:130!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:5px!important;
    max-height:calc(100dvh - 94px)!important;
    overflow:auto!important;
    padding:12px!important;
    border:1px solid rgba(21,33,27,.1)!important;
    border-radius:20px!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 24px 70px rgba(14,24,32,.2),0 3px 12px rgba(14,24,32,.06)!important;
    opacity:0!important;
    visibility:hidden!important;
    transform:translateY(-8px) scale(.985)!important;
    transform-origin:top center!important;
    transition:opacity .18s ease,visibility .18s ease,transform .18s ease!important;
    backdrop-filter:blur(18px)!important;
  }
  .surface-header .mobile-menu.show{
    opacity:1!important;
    visibility:visible!important;
    transform:translateY(0) scale(1)!important;
  }
  .surface-header .mobile-menu a{
    display:flex!important;
    min-height:52px!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    padding:0 14px!important;
    border:1px solid transparent!important;
    border-radius:13px!important;
    background:transparent!important;
    color:#26312d!important;
    font-size:.97rem!important;
    font-weight:680!important;
    letter-spacing:-.015em!important;
    transition:background .16s ease,color .16s ease,border-color .16s ease!important;
  }
  .surface-header .mobile-menu a>span{
    display:grid!important;
    width:28px!important;
    height:28px!important;
    flex:0 0 28px!important;
    place-items:center!important;
    border-radius:50%!important;
    background:#f3f5f1!important;
    color:#717c72!important;
    font-size:.82rem!important;
    transition:background .16s ease,color .16s ease,transform .16s ease!important;
  }
  .surface-header .mobile-menu a:hover{
    border-color:rgba(46,78,40,.08)!important;
    background:#f6f8f4!important;
    color:#17251a!important;
  }
  .surface-header .mobile-menu a:hover>span{transform:translate(1px,-1px)!important}
  .surface-header .mobile-menu a.is-active,
  .surface-header .mobile-menu a[aria-current="page"]{
    border-color:rgba(64,112,43,.14)!important;
    background:#edf7e8!important;
    color:#2f5725!important;
  }
  .surface-header .mobile-menu a.is-active>span,
  .surface-header .mobile-menu a[aria-current="page"]>span{
    background:#8cff5a!important;
    color:#15230f!important;
  }
}

@media(max-width:760px){
  .surface-header .nav-wrap{height:70px!important}
  .surface-header .mobile-menu{
    inset:calc(70px + 8px) 12px auto!important;
    max-height:calc(100dvh - 90px)!important;
    padding:10px!important;
    border-radius:18px!important;
  }
  .surface-header .mobile-menu a{
    min-height:50px!important;
    padding:0 12px!important;
    font-size:.94rem!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .surface-header .desktop-nav a,
  .surface-header .menu-btn,
  .surface-header .menu-btn span,
  .surface-header .mobile-menu,
  .surface-header .mobile-menu a,
  .surface-header .mobile-menu a>span{
    transition:none!important;
  }
}

/* Keep page-specific hero theme rules from masking the shared image layer. */
.page-solutions .inner-hero-with-background-image:before{
  z-index:1!important;
  background:
    linear-gradient(90deg,rgba(5,12,21,.86) 0%,rgba(5,12,21,.66) 44%,rgba(5,12,21,.2) 100%),
    linear-gradient(0deg,rgba(5,12,21,.56),transparent 55%)!important;
}
.page-team .team-hero-with-background-image{
  min-height:620px!important;
  padding:132px 0 68px!important;
}
.page-about .inner-hero-background-image img{object-position:center 8%!important}
@media(max-width:760px){
  .page-team .team-hero-with-background-image{
    min-height:0!important;
    padding:112px 0 46px!important;
  }
}

/* Final hero refinements for legibility and comfortable phone layouts. */
.page-about .inner-hero-background-image img{object-position:center top!important}
.page-home .hero-refined-grid{min-height:520px!important}

@media(min-width:761px) and (max-width:1100px){
  .page-home .hero-refined-grid{min-height:400px!important}
}

@media(max-width:760px){
  .page-home .hero-refined{
    padding:116px 0 32px!important;
  }
  .page-home .hero-refined-grid{
    gap:0!important;
    min-height:0!important;
  }
  .page-home .hero-refined .hero-copy{
    max-width:100%!important;
    padding:14px 0 26px!important;
  }
  .page-home .hero-refined .hero-kicker{
    margin-bottom:16px!important;
    font-size:.65rem!important;
    letter-spacing:.11em!important;
  }
  .page-home .hero-refined h1{
    max-width:12ch!important;
    font-size:clamp(2.5rem,10.2vw,3.2rem)!important;
    line-height:.98!important;
    letter-spacing:-.065em!important;
    text-wrap:balance!important;
  }
  .page-home .hero-refined .hero-lede{
    max-width:40ch!important;
    margin:17px 0 20px!important;
    font-size:.92rem!important;
    line-height:1.6!important;
    color:rgba(255,255,255,.82)!important;
  }
  .page-home .hero-refined .hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    justify-items:start!important;
  }
  .page-home .hero-refined .hero-actions .button{
    min-height:46px!important;
    width:min(100%,300px)!important;
    justify-content:center!important;
    padding:0 17px!important;
    font-size:.82rem!important;
  }
  .page-home .hero-with-background-image .hero-background-image img{
    object-position:68% 22%!important;
  }
  .page-home .hero-with-background-image .hero-background-image:after{
    background:
      linear-gradient(90deg,rgba(4,12,21,.88) 0%,rgba(4,12,21,.78) 52%,rgba(4,12,21,.52) 100%),
      linear-gradient(0deg,rgba(4,12,21,.88) 0%,rgba(4,12,21,.58) 48%,rgba(4,12,21,.38) 100%)!important;
  }
  .page-home .hero-proof-wide{
    gap:0!important;
  }
  .page-home .hero-proof-wide div{
    padding:9px 10px 9px 0!important;
  }
  .page-home .hero-proof-wide strong{font-size:1.15rem!important}
  .page-home .hero-proof-wide span{font-size:.66rem!important}

  .inner-hero-with-background-image{
    padding:110px 0 38px!important;
  }
  .inner-hero-with-background-image:before{
    background:
      linear-gradient(90deg,rgba(5,12,21,.82) 0%,rgba(5,12,21,.69) 62%,rgba(5,12,21,.48) 100%),
      linear-gradient(0deg,rgba(5,12,21,.84) 0%,rgba(5,12,21,.54) 55%,rgba(5,12,21,.32) 100%)!important;
  }
  .inner-hero-with-background-image .inner-hero-copy .breadcrumbs{
    margin-bottom:20px!important;
    font-size:.72rem!important;
  }
  .inner-hero-with-background-image .inner-hero-copy .eyebrow{
    margin-bottom:12px!important;
  }
  .inner-hero-with-background-image .inner-hero-copy h1{
    max-width:12ch!important;
    font-size:clamp(2.55rem,11.2vw,3.2rem)!important;
    line-height:.98!important;
    letter-spacing:-.065em!important;
    text-wrap:balance!important;
  }
  .inner-hero-with-background-image .inner-hero-copy>p{
    max-width:42ch!important;
    margin:18px 0 20px!important;
    font-size:.95rem!important;
    line-height:1.65!important;
    color:rgba(255,255,255,.84)!important;
  }
  .inner-hero-with-background-image .inner-hero-copy .hero-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:10px!important;
  }
  .inner-hero-with-background-image .inner-hero-copy .hero-actions .button{
    min-height:46px!important;
    width:auto!important;
    max-width:100%!important;
    padding:0 17px!important;
    font-size:.8rem!important;
  }
  .inner-hero-with-background-image .inner-hero-background-card{
    padding:17px 18px!important;
    border-radius:18px!important;
    background:rgba(7,13,22,.86)!important;
    backdrop-filter:blur(14px)!important;
  }
  .inner-hero-with-background-image .inner-hero-background-card strong{
    font-size:1.08rem!important;
  }
  .inner-hero-with-background-image .inner-photo-tags{gap:6px!important}
  .inner-hero-with-background-image .inner-photo-tags i{
    padding:6px 8px!important;
    font-size:.62rem!important;
  }
  .inner-hero-with-background-image .inner-hero-background-image img{
    object-position:center 30%!important;
  }
  .page-estimate .inner-hero-with-background-image .inner-hero-background-image img{
    object-position:right 30%!important;
  }
  .page-about .inner-hero-background-image img{
    object-position:center 8%!important;
  }

  .team-hero-with-background-image{
    padding:106px 0 38px!important;
  }
  .team-hero-background-image:after{
    background:
      linear-gradient(90deg,rgba(5,12,20,.82) 0%,rgba(5,12,20,.68) 60%,rgba(5,12,20,.44) 100%),
      linear-gradient(0deg,rgba(5,12,20,.86),rgba(5,12,20,.38) 72%)!important;
  }
  .page-team .team-hero-with-background-image .team-hero-copy .breadcrumbs{
    margin-bottom:20px!important;
    font-size:.72rem!important;
  }
  .page-team .team-hero-with-background-image .team-hero-copy h1{
    max-width:12ch!important;
    font-size:clamp(2.55rem,11vw,3.25rem)!important;
    line-height:.99!important;
    text-wrap:balance!important;
  }
  .page-team .team-hero-with-background-image .team-hero-copy p{
    max-width:42ch!important;
    margin-top:18px!important;
    font-size:.95rem!important;
    line-height:1.65!important;
    color:rgba(255,255,255,.84)!important;
  }
  .page-team .team-hero-with-background-image .team-count-card{
    padding:14px 16px!important;
    border-radius:17px!important;
  }

  .careers-hero-with-background-image{
    padding:104px 0 38px!important;
  }
  .careers-hero-background-image:after{
    background:linear-gradient(90deg,rgba(5,11,18,.38),rgba(5,11,18,.22) 68%,rgba(5,11,18,.38))!important;
  }
  .careers-hero-background-image img{object-position:center 38%!important}
  .careers-hero-with-background-image .careers-copy{
    padding:21px!important;
    border-radius:22px!important;
    background:rgba(248,247,241,.96)!important;
  }
  .careers-hero-with-background-image .careers-copy .breadcrumbs{
    margin-bottom:18px!important;
    font-size:.72rem!important;
  }
  .careers-hero-with-background-image .careers-copy .eyebrow{margin-bottom:12px!important}
  .careers-hero-with-background-image .careers-copy h1{
    max-width:12ch!important;
    font-size:clamp(2.35rem,10.5vw,3rem)!important;
    line-height:.99!important;
    letter-spacing:-.06em!important;
    text-wrap:balance!important;
  }
  .careers-hero-with-background-image .careers-copy p{
    margin:16px 0 18px!important;
    font-size:.92rem!important;
    line-height:1.65!important;
  }
  .careers-hero-with-background-image .careers-copy .hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  .careers-hero-with-background-image .careers-copy .hero-actions .button{
    width:100%!important;
    min-height:46px!important;
    justify-content:center!important;
    padding:0 16px!important;
  }
}

@media(max-width:760px){
  .faq-list summary span{
    flex:0 0 1.25rem!important;
    min-width:0!important;
    align-self:center!important;
    text-align:center!important;
  }
}

/* Team profile identity and strengths */
.team-profile-caption{
  display:grid!important;
  gap:16px!important;
  margin-top:16px!important;
  padding:20px!important;
  border:1px solid rgba(27,37,46,.1)!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,#fff,#f6f7f3)!important;
  box-shadow:0 16px 38px rgba(24,34,38,.06)!important;
}
.team-profile-caption>strong{
  color:#1b252e!important;
  font-size:1rem!important;
  line-height:1.45!important;
  letter-spacing:-.02em!important;
}
.team-profile-caption-details{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.team-profile-caption-details>span{
  display:grid!important;
  align-content:start!important;
  gap:5px!important;
  min-width:0!important;
  margin:0!important;
  padding:12px!important;
  border:1px solid rgba(27,37,46,.08)!important;
  border-radius:14px!important;
  background:#fff!important;
}
.team-profile-caption-details small{
  color:#7b8278!important;
  font-size:.65rem!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.team-profile-caption-details b{
  color:#26313a!important;
  font-size:.82rem!important;
  line-height:1.35!important;
  overflow-wrap:anywhere!important;
}
.team-profile-highlights{
  display:grid!important;
  gap:14px!important;
  margin:30px 0 8px!important;
}
.team-profile-highlights>h2,
.team-profile-block>h2{
  margin:0!important;
  color:#26313a!important;
  font-size:1rem!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
}
.team-profile-highlights>div{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
.team-profile-highlights article{
  display:grid!important;
  align-content:start!important;
  gap:14px!important;
  min-width:0!important;
  padding:16px!important;
  border:1px solid rgba(27,37,46,.1)!important;
  border-radius:17px!important;
  background:linear-gradient(155deg,#fff,#f7f8f4)!important;
}
.team-profile-highlights article>span{
  display:grid!important;
  width:29px!important;
  height:29px!important;
  place-items:center!important;
  border-radius:10px!important;
  background:#eef5e8!important;
  color:#61794e!important;
  font-size:.67rem!important;
  font-weight:850!important;
}
.team-profile-highlights article>p{
  margin:0!important;
  color:#515d65!important;
  font-size:.79rem!important;
  line-height:1.55!important;
}
.team-profile-block>h2{margin-bottom:16px!important}
@media(max-width:760px){
  .team-profile-caption{gap:13px!important;padding:17px!important;border-radius:18px!important}
  .team-profile-caption>strong{font-size:.94rem!important}
  .team-profile-highlights{margin-top:24px!important}
  .team-profile-highlights>div{grid-template-columns:minmax(0,1fr)!important}
  .team-profile-highlights article{
    grid-template-columns:29px minmax(0,1fr)!important;
    align-items:start!important;
    gap:12px!important;
    padding:14px!important;
  }
}

/* Global readability floor for supporting text and interactive labels. */
main :is([class] small, small),
main .team-meta span,
main .team-meta small,
main .team-disclosure,
main .team-preview-card>div span,
main .team-profile-caption-details small,
main .team-profile-highlights article>span,
main .estimate-guide-number,
main .estimate-guide .eyebrow,
main .not-found-support .eyebrow,
main .process-card-top small,
body.page-home #approach .process-card-top small,
body.page-home #approach .process-card-top>span,
body.page-home #approach .process-outcomes span,
main .smart-index,
main .process-outcomes span,
main .proof-row span,
main .hero-proof-wide span,
main .inner-photo-card>span,
main .inner-photo-tags i,
main .breadcrumbs a,
main .breadcrumbs span{
  font-size:12px!important;
}
main .eyebrow{font-size:12px!important}
main .tag-row span,
main .tag-row.tag-dark span,
main .team-card .tag-row span,
body.page-home #services .smart-card .tag-row span,
main .section-key-service-catalogue .smart-card .tag-row span{
  min-height:34px!important;
  padding:7px 11px!important;
  font-size:13px!important;
  line-height:1.35!important;
}
main .team-filter{
  min-height:42px!important;
  padding:10px 14px!important;
  font-size:14px!important;
}
main .card-link{font-size:13px!important}

/* Contact and careers forms have a clear, page-specific title inside the card. */
.contact-layout>.project-form{
  padding:clamp(22px,3vw,36px)!important;
}
.project-form-header{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  gap:15px!important;
  align-items:start!important;
  margin:0 0 24px!important;
  padding:0 0 22px!important;
  border-bottom:1px solid rgba(17,21,33,.1)!important;
}
.project-form-header-mark{
  display:grid!important;
  width:44px!important;
  height:44px!important;
  place-items:center!important;
  border:1px solid rgba(94,119,71,.18)!important;
  border-radius:14px!important;
  background:#f1f6eb!important;
  color:#526c3f!important;
  font-size:20px!important;
  font-weight:700!important;
}
.project-form-eyebrow{
  display:block!important;
  margin:0 0 6px!important;
  color:#667650!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.1em!important;
  line-height:1.35!important;
  text-transform:uppercase!important;
}
.project-form-header h3{
  margin:0!important;
  color:#111821!important;
  font-size:clamp(1.45rem,2.3vw,1.9rem)!important;
  font-weight:750!important;
  line-height:1.12!important;
  letter-spacing:-.04em!important;
}
.project-form-header p{
  margin:7px 0 0!important;
  color:#66717a!important;
  font-size:.92rem!important;
  line-height:1.55!important;
}
@media(max-width:760px){
  .contact-layout>.project-form{padding:21px!important}
  .project-form-header{
    grid-template-columns:40px minmax(0,1fr)!important;
    gap:12px!important;
    margin-bottom:20px!important;
    padding-bottom:18px!important;
  }
  .project-form-header-mark{width:40px!important;height:40px!important}
  .project-form-header h3{font-size:1.42rem!important}
}

/* Keep team search separate from the discipline filters at every viewport. */
.team-toolbar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:stretch!important;
  gap:10px!important;
  padding:14px!important;
}
.team-toolbar-heading{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  min-width:0!important;
}
.team-filter-list{
  display:flex!important;
  width:100%!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  min-width:0!important;
}
.team-filter-group{
  display:grid!important;
  min-width:0!important;
}
.team-filter-label{
  color:#69717b!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.3!important;
}
.team-toolbar .team-filter{
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:10px 14px!important;
  border:1px solid transparent!important;
  border-radius:999px!important;
  color:#525b66!important;
  font-size:14px!important;
  font-weight:650!important;
  line-height:1.25!important;
  white-space:nowrap!important;
  justify-self:start!important;
}
.team-toolbar .team-filter:hover,
.team-toolbar .team-filter:focus-visible{
  border-color:rgba(17,21,33,.14)!important;
  background:#f3f5f0!important;
  color:#162019!important;
}
.team-toolbar .team-filter:focus-visible{
  outline:3px solid #6b9f36!important;
  outline-offset:2px!important;
}
.team-toolbar .team-filter.is-active{
  border-color:#111821!important;
  background:#111821!important;
  color:#fff!important;
}
.team-toolbar .team-search{
  display:block!important;
  flex:0 1 380px!important;
  width:min(100%,380px)!important;
  min-width:0!important;
  margin:0!important;
}
.team-toolbar .team-search input{
  height:44px!important;
  font-size:14px!important;
}
@media(max-width:760px){
  .team-toolbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
    padding:12px!important;
    overflow:visible!important;
  }
  .team-toolbar-heading{
    align-items:stretch!important;
    flex-direction:column-reverse!important;
    gap:8px!important;
  }
  .team-filter-list{
    display:flex!important;
    width:100%!important;
    grid-template-columns:none!important;
    flex-wrap:nowrap!important;
    gap:7px!important;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain!important;
    padding:2px 2px 8px!important;
    scrollbar-width:thin!important;
    scrollbar-color:rgba(17,24,33,.28) transparent!important;
    scroll-snap-type:x proximity!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .team-toolbar .team-filter{
    min-height:44px!important;
    padding:10px 14px!important;
    scroll-snap-align:start!important;
  }
  .team-toolbar .team-search{
    display:block!important;
    flex:none!important;
    justify-self:stretch!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
  .team-toolbar .team-search input{height:46px!important}
}
@media(min-width:761px) and (max-width:1050px){
  .team-filter-list{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}

/* Service and solution detail heroes: shorter titles, calmer supporting panel. */
body:is([class*="page-service-"],[class*="page-solution-"]) .inner-hero-with-background-image{
  padding:116px 0 60px!important;
  min-height:0!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .inner-hero-with-background-image .inner-hero-grid{
  min-height:420px!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .inner-hero-with-background-image .inner-hero-copy{
  max-width:min(780px,68%)!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .inner-hero-with-background-image .inner-hero-copy h1{
  max-width:18ch!important;
  font-size:clamp(3rem,4vw,4.35rem)!important;
  line-height:.98!important;
  letter-spacing:-.065em!important;
  text-wrap:balance!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .inner-hero-with-background-image .inner-hero-background-card{
  width:min(350px,32%)!important;
  padding:20px!important;
  border-radius:22px!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .inner-hero-with-background-image .inner-photo-card strong{
  margin:12px 0 8px!important;
  font-size:1.28rem!important;
  line-height:1.2!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .inner-hero-with-background-image .inner-photo-card p{
  font-size:.88rem!important;
  line-height:1.55!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .inner-hero-with-background-image .inner-photo-tags{
  gap:6px!important;
  margin-top:10px!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .inner-hero-with-background-image .inner-photo-tags i{
  padding:7px 9px!important;
  font-size:11px!important;
  line-height:1.3!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .inner-hero-with-background-image .inner-photo-tags{
  display:none!important;
}
@media(max-width:900px){
  body:is([class*="page-service-"],[class*="page-solution-"]) .inner-hero-with-background-image .inner-photo-card{
    width:min(360px,48%)!important;
  }
}
@media(max-width:760px){
  body:is([class*="page-service-"],[class*="page-solution-"]) .inner-hero-with-background-image{
    padding:108px 0 44px!important;
  }
  body:is([class*="page-service-"],[class*="page-solution-"]) .inner-hero-with-background-image .inner-hero-grid{
    min-height:0!important;
    gap:22px!important;
  }
  body:is([class*="page-service-"],[class*="page-solution-"]) .inner-hero-with-background-image .inner-hero-copy{
    max-width:100%!important;
  }
  body:is([class*="page-service-"],[class*="page-solution-"]) .inner-hero-with-background-image .inner-hero-copy h1{
    max-width:none!important;
    font-size:clamp(2.2rem,9.4vw,3rem)!important;
    line-height:1.02!important;
  }
  body:is([class*="page-service-"],[class*="page-solution-"]) .inner-hero-with-background-image .inner-hero-background-card{
    width:100%!important;
    max-width:520px!important;
  }
}
body:is([class*="page-service-"],[class*="page-solution-"]) .inner-hero-copy .service-solution-hero-title{
  max-width:18ch!important;
  font-size:clamp(2.9rem,4.4vw,4.4rem)!important;
  line-height:.98!important;
  text-wrap:balance!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .inner-hero-copy .service-solution-hero-lede{
  max-width:25ch!important;
  margin:18px 0 0!important;
  color:#fff!important;
  font-size:clamp(1.35rem,2vw,1.9rem)!important;
  font-weight:650!important;
  line-height:1.2!important;
  letter-spacing:-.035em!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .inner-hero-copy .service-solution-hero-lede em{
  color:#8fff54!important;
  font-family:Georgia,serif!important;
  font-weight:400!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .cards-section .smart-card{
  min-height:320px!important;
  padding:26px!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .cards-section .smart-card h3{
  margin:22px 0 12px!important;
  font-size:1.24rem!important;
  line-height:1.2!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .cards-section .smart-card p{
  color:#58616b!important;
  font-size:.96rem!important;
  line-height:1.72!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .content-section{
  padding-top:clamp(64px,7vw,104px)!important;
  padding-bottom:clamp(64px,7vw,104px)!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .intro-split{
  grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr)!important;
  align-items:start!important;
  gap:clamp(42px,6vw,88px)!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .intro-split>div:first-child{
  position:relative!important;
  padding-top:4px!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .intro-split>div:first-child:after{
  content:""!important;
  display:block!important;
  width:48px!important;
  height:3px!important;
  margin-top:24px!important;
  border-radius:99px!important;
  background:#8bdc43!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .intro-split h2{
  max-width:17ch!important;
  font-size:clamp(2.1rem,3vw,3.2rem)!important;
  line-height:1.08!important;
  letter-spacing:-.05em!important;
  text-wrap:balance!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .intro-split .rich-copy{
  grid-column:auto!important;
  max-width:740px!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .intro-split .rich-copy p{
  color:#535d67!important;
  font-size:1.02rem!important;
  line-height:1.8!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .intro-split .check-list{
  margin-top:26px!important;
  gap:10px!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .intro-split .check-list li{
  min-height:56px!important;
  display:flex!important;
  align-items:center!important;
  padding:12px 14px 12px 40px!important;
  background:rgba(255,255,255,.65)!important;
  color:#343b44!important;
  font-size:.84rem!important;
  line-height:1.5!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .cards-section .section-heading{
  align-items:end!important;
  column-gap:clamp(28px,5vw,76px)!important;
  margin-bottom:40px!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .cards-section .section-heading-title h2{
  max-width:18ch!important;
  font-size:clamp(2.2rem,3.55vw,3.65rem)!important;
  line-height:1.04!important;
  text-wrap:balance!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .cards-section .section-heading-copy{
  max-width:54ch!important;
  color:#5f6871!important;
  font-size:1rem!important;
  line-height:1.75!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .cards-section .smart-grid{
  gap:18px!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .cards-section .smart-card{
  min-height:300px!important;
  padding:24px!important;
  border-color:rgba(17,21,33,.09)!important;
  border-radius:20px!important;
  box-shadow:0 8px 24px rgba(20,26,35,.035)!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .cards-section .smart-card:hover{
  transform:translateY(-4px)!important;
  border-color:rgba(17,21,33,.18)!important;
  box-shadow:0 18px 38px rgba(20,26,35,.075)!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .cards-section .smart-index{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:30px!important;
  border-radius:9px!important;
  background:#f0f4eb!important;
  color:#506345!important;
  font-size:.68rem!important;
  letter-spacing:.04em!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .faq-section .faq-layout{
  align-items:start!important;
  gap:clamp(38px,6vw,86px)!important;
}
body:is([class*="page-service-"],[class*="page-solution-"]) .faq-section .section-heading h2{
  max-width:15ch!important;
  font-size:clamp(2.25rem,3.7vw,3.6rem)!important;
  line-height:1.05!important;
  text-wrap:balance!important;
}
@media(max-width:760px){
  body:is([class*="page-service-"],[class*="page-solution-"]) .content-section{
    padding-top:58px!important;
    padding-bottom:58px!important;
  }
  body:is([class*="page-service-"],[class*="page-solution-"]) .intro-split{
    grid-template-columns:minmax(0,1fr)!important;
    gap:24px!important;
  }
  body:is([class*="page-service-"],[class*="page-solution-"]) .intro-split h2{
    max-width:19ch!important;
    font-size:clamp(2.05rem,8.3vw,2.8rem)!important;
  }
  body:is([class*="page-service-"],[class*="page-solution-"]) .intro-split>div:first-child:after{
    margin-top:18px!important;
  }
  body:is([class*="page-service-"],[class*="page-solution-"]) .intro-split .rich-copy{
    max-width:none!important;
  }
  body:is([class*="page-service-"],[class*="page-solution-"]) .intro-split .rich-copy p{
    font-size:.96rem!important;
  }
  body:is([class*="page-service-"],[class*="page-solution-"]) .intro-split .check-list{
    grid-template-columns:minmax(0,1fr)!important;
    margin-top:20px!important;
  }
  body:is([class*="page-service-"],[class*="page-solution-"]) .cards-section .section-heading{
    gap:14px!important;
    margin-bottom:28px!important;
  }
  body:is([class*="page-service-"],[class*="page-solution-"]) .cards-section .section-heading-title h2{
    max-width:19ch!important;
    font-size:clamp(2.05rem,8.3vw,2.8rem)!important;
  }
  body:is([class*="page-service-"],[class*="page-solution-"]) .cards-section .smart-card{
    min-height:0!important;
    padding:22px!important;
  }
  body:is([class*="page-service-"],[class*="page-solution-"]) .faq-section .section-heading h2{
    max-width:19ch!important;
    font-size:clamp(2.05rem,8.3vw,2.8rem)!important;
  }
  body:is([class*="page-service-"],[class*="page-solution-"]) .inner-hero-copy .service-solution-hero-title{
    max-width:none!important;
    font-size:clamp(2.25rem,9.5vw,3.2rem)!important;
  }
  body:is([class*="page-service-"],[class*="page-solution-"]) .inner-hero-copy .service-solution-hero-lede{
    margin-top:14px!important;
    font-size:clamp(1.25rem,5.8vw,1.65rem)!important;
  }
  body:is([class*="page-service-"],[class*="page-solution-"]) .cards-section .smart-card{
    min-height:0!important;
    padding:22px!important;
  }
}

/* Accessibility: provide a visible keyboard skip target and clear focus. */
.skip-link{
  position:fixed!important;
  top:12px!important;
  left:12px!important;
  z-index:10001!important;
  padding:12px 18px!important;
  transform:translateY(-160%)!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#111521!important;
  font-weight:700!important;
  text-decoration:underline!important;
}
.skip-link:focus{
  transform:translateY(0)!important;
}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid #176b36!important;
  outline-offset:3px!important;
}
:where(.section-dark,.hero,.inner-hero,.team-hero,.careers-hero) :where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline-color:#c2ff47!important;
}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}

/* Keep supporting copy and footer labels readable against warm light surfaces. */
.section-heading .eyebrow,
.team-preview .eyebrow{
  color:#505a49!important;
}
.section-heading-copy,
.section-heading-side p,
.team-preview-notice{
  color:#4f5964!important;
}
.site-footer{
  color:#111521!important;
}
.footer-brand p,
.footer-brand>span,
.footer-col a,
.footer-bottom,
.footer-bottom a{
  color:#4b535d!important;
}
.footer-heading{
  margin:0 0 8px!important;
  color:#414a43!important;
  font-size:.78rem!important;
  font-weight:800!important;
  line-height:1.4!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}
.footer-col a:hover,
.footer-bottom a:hover{
  color:#111521!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
/* Keep the estimate save status above its earlier legacy component rules. */
.estimate-form .estimate-save-status:not([hidden]){
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  align-items:start!important;
  gap:12px!important;
  width:100%!important;
  margin:0!important;
  padding:16px 18px!important;
  border:1px solid #e9b8b1!important;
  border-radius:16px!important;
  background:#fff3f1!important;
  color:#76271f!important;
  font-size:.96rem!important;
  font-weight:500!important;
  line-height:1.6!important;
  box-shadow:0 4px 14px rgba(26,39,49,.045)!important;
}
@media(max-width:600px){
  .estimate-form .estimate-save-status:not([hidden]){
    grid-template-columns:32px minmax(0,1fr)!important;
    gap:10px!important;
    padding:14px!important;
    border-radius:14px!important;
    font-size:.92rem!important;
  }
}

/* Team directory and homepage portrait cards share the same refined hover. */
.team-card{
  border-color:rgba(18,26,38,.09)!important;
  box-shadow:0 10px 26px rgba(18,26,38,.045)!important;
  transition:transform .28s cubic-bezier(.2,.7,.2,1),border-color .28s ease,box-shadow .28s ease!important;
}
.team-card-image{
  position:relative!important;
  isolation:isolate!important;
}
.team-card-image img{
  position:relative!important;
  z-index:0!important;
  transform:scale(1)!important;
  transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease!important;
  will-change:transform;
}
.team-card-image:after{
  position:absolute!important;
  z-index:1!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(12,22,18,0) 55%,rgba(12,22,18,.24) 100%)!important;
  content:""!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .3s ease!important;
}
.team-card-image:before{
  position:absolute!important;
  z-index:2!important;
  right:14px!important;
  bottom:14px!important;
  display:grid!important;
  width:40px!important;
  height:40px!important;
  place-items:center!important;
  border:1px solid rgba(255,255,255,.65)!important;
  border-radius:50%!important;
  background:#f2ffe9!important;
  color:#1b3c22!important;
  content:"↗"!important;
  font-size:17px!important;
  font-weight:700!important;
  opacity:0!important;
  transform:translateY(6px) scale(.92)!important;
  transition:opacity .22s ease,transform .22s ease!important;
}
.team-card:hover,
.team-card:focus-within{
  transform:translateY(-5px)!important;
  border-color:rgba(105,143,79,.48)!important;
  box-shadow:0 20px 42px rgba(18,34,25,.12),0 5px 14px rgba(18,34,25,.05)!important;
}
.team-card:hover .team-card-image img,
.team-card:focus-within .team-card-image img{
  transform:scale(1.045)!important;
  filter:saturate(1.04)!important;
}
.team-card:hover .team-card-image:after,
.team-card:focus-within .team-card-image:after{
  opacity:1!important;
}
.team-card:hover .team-card-image:before,
.team-card:focus-within .team-card-image:before{
  opacity:1!important;
  transform:translateY(0) scale(1)!important;
}
.team-card .team-card-body h3 a,
.team-card .card-link{
  transition:color .2s ease,text-decoration-color .2s ease!important;
}
.team-card:hover .team-card-body h3 a,
.team-card:focus-within .team-card-body h3 a,
.team-card:hover .card-link,
.team-card:focus-within .card-link{
  color:#416334!important;
}
.page-home .team-preview-card{
  position:relative!important;
  isolation:isolate!important;
  border-color:rgba(18,24,31,.1)!important;
  box-shadow:0 10px 28px rgba(16,22,31,.05)!important;
  transition:transform .3s cubic-bezier(.2,.7,.2,1),border-color .3s ease,box-shadow .3s ease!important;
}
.page-home .team-preview-card:after{
  position:absolute!important;
  z-index:1!important;
  inset:0!important;
  display:block!important;
  border-radius:inherit!important;
  background:linear-gradient(180deg,rgba(12,22,18,0) 58%,rgba(12,22,18,.2) 100%)!important;
  content:""!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .3s ease!important;
}
.page-home .team-preview-card:before{
  position:absolute!important;
  z-index:2!important;
  right:14px!important;
  bottom:14px!important;
  display:grid!important;
  width:42px!important;
  height:42px!important;
  place-items:center!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:50%!important;
  background:#f2ffe9!important;
  color:#1b3c22!important;
  content:"↗"!important;
  font-size:18px!important;
  font-weight:700!important;
  opacity:0!important;
  transform:translateY(7px) scale(.92)!important;
  transition:opacity .22s ease,transform .22s ease!important;
}
.page-home .team-preview-card img{
  position:absolute!important;
  z-index:0!important;
  transform:scale(1)!important;
  transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease!important;
  will-change:transform;
}
.page-home .team-preview-card:hover,
.page-home .team-preview-card:focus-visible{
  transform:translateY(-6px)!important;
  border-color:rgba(105,143,79,.52)!important;
  box-shadow:0 22px 44px rgba(18,34,25,.15),0 6px 16px rgba(18,34,25,.06)!important;
}
.page-home .team-preview-card:hover img,
.page-home .team-preview-card:focus-visible img{
  transform:scale(1.045)!important;
  filter:saturate(1.05)!important;
}
.page-home .team-preview-card:hover:after,
.page-home .team-preview-card:focus-visible:after,
.page-home .team-preview-card:hover:before,
.page-home .team-preview-card:focus-visible:before{
  opacity:1!important;
}
.page-home .team-preview-card:hover:before,
.page-home .team-preview-card:focus-visible:before{
  transform:translateY(0) scale(1)!important;
}
@media(prefers-reduced-motion:reduce){
  .team-card,
  .team-card-image img,
  .team-card-image:before,
  .team-card-image:after,
  .page-home .team-preview-card,
  .page-home .team-preview-card img,
  .page-home .team-preview-card:before,
  .page-home .team-preview-card:after{
    transition:none!important;
    will-change:auto!important;
  }
}


/* Long-form service / solution / industry editorial guide */
.expert-guide-section{padding:clamp(72px,8vw,118px) 0;background:#f7f5ef;border-top:1px solid rgba(18,24,31,.08);border-bottom:1px solid rgba(18,24,31,.08)}
.expert-guide-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.65fr);gap:clamp(42px,7vw,110px);align-items:end;margin-bottom:clamp(42px,5vw,72px)}
.expert-guide-head h2{max-width:780px;margin:.65rem 0 0;font-size:clamp(2.2rem,4.15vw,4.65rem);line-height:.96;letter-spacing:-.055em}
.expert-guide-head>p{max-width:600px;margin:0;color:var(--muted,#647080);font-size:clamp(1rem,1.15vw,1.12rem);line-height:1.75}
.expert-guide-list{border-top:1px solid rgba(18,24,31,.13)}
.expert-guide-row{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:clamp(42px,7vw,120px);padding:clamp(34px,4.5vw,64px) 0;border-bottom:1px solid rgba(18,24,31,.13)}
.expert-guide-title>span{display:block;margin-bottom:18px;color:#6d7865;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.expert-guide-title h3{max-width:430px;margin:0;font-size:clamp(1.35rem,2vw,2rem);line-height:1.08;letter-spacing:-.035em}
.expert-guide-body{max-width:790px}
.expert-guide-body p{margin:0 0 1rem;color:var(--muted,#647080);font-size:1rem;line-height:1.78}
.expert-guide-body ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;margin:24px 0 0;padding:0;list-style:none}
.expert-guide-body li{position:relative;padding:12px 0 12px 22px;border-top:1px solid rgba(18,24,31,.1);font-size:.94rem;line-height:1.55}
.expert-guide-body li:before{position:absolute;left:0;top:17px;width:7px;height:7px;border-radius:50%;background:#738066;content:""}
@media(max-width:860px){.expert-guide-head,.expert-guide-row{grid-template-columns:1fr;gap:24px}.expert-guide-head{align-items:start}.expert-guide-head h2{max-width:680px}.expert-guide-body{max-width:none}}
@media(max-width:600px){.expert-guide-section{padding:62px 0}.expert-guide-head{margin-bottom:34px}.expert-guide-row{padding:34px 0}.expert-guide-body ul{grid-template-columns:1fr}.expert-guide-body li{padding-top:10px;padding-bottom:10px}.expert-guide-body li:before{top:15px}}

/* Desktop full-background heroes: keep the content vertically centred and allow CMS-controlled extra height. */
@media(min-width:761px){
  .page-home .hero-with-background-image .hero-refined-grid,
  .inner-hero-with-background-image .inner-hero-grid,
  .page-team .team-hero-with-background-image .team-hero-refined-grid,
  .careers-hero-with-background-image .careers-hero-grid{
    align-items:center!important;
    align-content:center!important;
  }
  .inner-hero-with-background-image .inner-hero-grid,
  .page-team .team-hero-with-background-image .team-hero-refined-grid,
  .careers-hero-with-background-image .careers-hero-grid{
    display:flex!important;
  }
  .page-home .hero-with-background-image .hero-refined-grid{
    display:grid!important;
  }
  .inner-hero-with-background-image .inner-hero-copy,
  .page-team .team-hero-with-background-image .team-hero-copy,
  .careers-hero-with-background-image .careers-copy{
    align-self:center!important;
  }

  .hero-with-background-image.hero-extra-height-10 .hero-refined-grid,
  .inner-hero-with-background-image.hero-extra-height-10 .inner-hero-grid,
  .team-hero-with-background-image.hero-extra-height-10 .team-hero-refined-grid,
  .careers-hero-with-background-image.hero-extra-height-10 .careers-hero-grid{padding-top:16px!important;padding-bottom:16px!important}
  .hero-with-background-image.hero-extra-height-20 .hero-refined-grid,
  .inner-hero-with-background-image.hero-extra-height-20 .inner-hero-grid,
  .team-hero-with-background-image.hero-extra-height-20 .team-hero-refined-grid,
  .careers-hero-with-background-image.hero-extra-height-20 .careers-hero-grid{padding-top:32px!important;padding-bottom:32px!important}
  .hero-with-background-image.hero-extra-height-30 .hero-refined-grid,
  .inner-hero-with-background-image.hero-extra-height-30 .inner-hero-grid,
  .team-hero-with-background-image.hero-extra-height-30 .team-hero-refined-grid,
  .careers-hero-with-background-image.hero-extra-height-30 .careers-hero-grid{padding-top:48px!important;padding-bottom:48px!important}
  .hero-with-background-image.hero-extra-height-40 .hero-refined-grid,
  .inner-hero-with-background-image.hero-extra-height-40 .inner-hero-grid,
  .team-hero-with-background-image.hero-extra-height-40 .team-hero-refined-grid,
  .careers-hero-with-background-image.hero-extra-height-40 .careers-hero-grid{padding-top:64px!important;padding-bottom:64px!important}
  .hero-with-background-image.hero-extra-height-50 .hero-refined-grid,
  .inner-hero-with-background-image.hero-extra-height-50 .inner-hero-grid,
  .team-hero-with-background-image.hero-extra-height-50 .team-hero-refined-grid,
  .careers-hero-with-background-image.hero-extra-height-50 .careers-hero-grid{padding-top:80px!important;padding-bottom:80px!important}
}

/* CMS-controlled desktop shade coverage for full-background heroes.
   The overlay occupies only the configured text-side width, then fades to clear. */
@media(min-width:761px){
  .page-home .hero-with-background-image .hero-background-image:after{
    inset:0 auto 0 0!important;
    width:var(--hero-overlay-width,62%)!important;
    background:linear-gradient(90deg,rgba(4,12,21,var(--hero-overlay-darkness,.82)) 0%,rgba(4,12,21,var(--hero-overlay-darkness,.82)) 48%,rgba(4,12,21,0) 100%)!important;
  }
  .inner-hero-with-background-image:before{
    inset:0 auto 0 0!important;
    width:var(--hero-overlay-width,62%)!important;
    background:linear-gradient(90deg,rgba(5,12,21,var(--hero-overlay-darkness,.86)) 0%,rgba(5,12,21,var(--hero-overlay-darkness,.86)) 48%,rgba(5,12,21,0) 100%)!important;
  }
  .team-hero-with-background-image .team-hero-background-image:after{
    inset:0 auto 0 0!important;
    width:var(--hero-overlay-width,62%)!important;
    background:linear-gradient(90deg,rgba(5,12,20,var(--hero-overlay-darkness,.88)) 0%,rgba(5,12,20,var(--hero-overlay-darkness,.88)) 48%,rgba(5,12,20,0) 100%)!important;
  }
  .careers-hero-with-background-image .careers-hero-background-image:after{
    inset:0 auto 0 0!important;
    width:var(--hero-overlay-width,62%)!important;
    background:linear-gradient(90deg,rgba(5,11,18,var(--hero-overlay-darkness,.40)) 0%,rgba(5,11,18,var(--hero-overlay-darkness,.40)) 48%,rgba(5,11,18,0) 100%)!important;
  }
}

/* Final CMS-driven hero shade controls.
   These intentionally outrank page-specific hero rules so per-page slider values always win. */
@media(min-width:761px){
  html body.page-home .hero-with-background-image .hero-background-image:after{
    inset:0 auto 0 0!important;
    width:var(--hero-overlay-width,62%)!important;
    background:linear-gradient(90deg,rgba(4,12,21,var(--hero-overlay-darkness,.82)) 0%,rgba(4,12,21,var(--hero-overlay-darkness,.82)) 46%,rgba(4,12,21,var(--hero-overlay-darkness,.82)) 58%,rgba(4,12,21,0) 100%)!important;
  }
  html body[class*="page-"] .inner-hero-with-background-image:before{
    inset:0 auto 0 0!important;
    width:var(--hero-overlay-width,62%)!important;
    background:linear-gradient(90deg,rgba(5,12,21,var(--hero-overlay-darkness,.86)) 0%,rgba(5,12,21,var(--hero-overlay-darkness,.86)) 46%,rgba(5,12,21,var(--hero-overlay-darkness,.86)) 58%,rgba(5,12,21,0) 100%)!important;
  }
  html body.page-team .team-hero-with-background-image .team-hero-background-image:after{
    inset:0 auto 0 0!important;
    width:var(--hero-overlay-width,62%)!important;
    background:linear-gradient(90deg,rgba(5,12,20,var(--hero-overlay-darkness,.88)) 0%,rgba(5,12,20,var(--hero-overlay-darkness,.88)) 46%,rgba(5,12,20,var(--hero-overlay-darkness,.88)) 58%,rgba(5,12,20,0) 100%)!important;
  }
  html body.page-careers .careers-hero-with-background-image .careers-hero-background-image:after,
  html body .careers-hero-with-background-image .careers-hero-background-image:after{
    inset:0 auto 0 0!important;
    width:var(--hero-overlay-width,62%)!important;
    background:linear-gradient(90deg,rgba(5,11,18,var(--hero-overlay-darkness,.40)) 0%,rgba(5,11,18,var(--hero-overlay-darkness,.40)) 46%,rgba(5,11,18,var(--hero-overlay-darkness,.40)) 58%,rgba(5,11,18,0) 100%)!important;
  }
}

/* 2026-10-11 — home team preview metadata + dynamic experience presentation */
.page-home .team-preview-grid{
  align-items:stretch!important;
}
.page-home .team-preview-card{
  display:flex!important;
  flex-direction:column!important;
  aspect-ratio:auto!important;
  min-height:100%!important;
  text-decoration:none!important;
}
.page-home .team-preview-art{
  flex:0 0 auto!important;
  aspect-ratio:1/.92!important;
}
.page-home .team-preview-copy{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  min-height:148px!important;
  padding:15px 16px 18px!important;
  background:#fff!important;
}
.page-home .team-preview-copy>span{
  align-self:flex-start!important;
  display:inline-flex!important;
  padding:5px 8px!important;
  border-radius:999px!important;
  background:#eef6ea!important;
  color:#416334!important;
  font-size:.62rem!important;
  font-weight:800!important;
  letter-spacing:.075em!important;
  line-height:1.1!important;
  text-transform:uppercase!important;
}
.page-home .team-preview-copy h3{
  margin:10px 0 4px!important;
  color:#111823!important;
  font-size:1.05rem!important;
  line-height:1.12!important;
}
.page-home .team-preview-copy strong{
  display:block!important;
  color:#5b6570!important;
  font-size:.76rem!important;
  font-weight:650!important;
  line-height:1.4!important;
}
.page-home .team-preview-copy p{
  margin:auto 0 0!important;
  padding:12px 0 0!important;
  color:#6c7680!important;
  font-size:.73rem!important;
  font-weight:700!important;
  line-height:1.3!important;
}
.page-home .team-preview-card:before{
  right:14px!important;
  bottom:14px!important;
}
@media(max-width:980px){
  .page-home .team-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:680px){
  .page-home .team-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .page-home .team-preview-copy{min-height:140px!important;padding:13px 14px 15px!important}
  .page-home .team-preview-copy h3{font-size:1rem!important}
}
@media(max-width:460px){
  .page-home .team-preview-grid{grid-template-columns:1fr!important}
  .page-home .team-preview-art{aspect-ratio:1/.74!important}
  .page-home .team-preview-copy{min-height:0!important}
}

/* Stack the portrait above the profile copy on tablet-sized screens. */
@media(min-width:761px) and (max-width:1100px){
  .team-profile-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:clamp(28px,4vw,42px)!important;
  }
  .team-profile-art{
    position:static!important;
    width:100%!important;
    max-width:580px!important;
    margin-inline:auto!important;
  }
  .team-profile-main{width:100%!important;min-width:0!important}
  .team-profile-top h1{font-size:clamp(2.8rem,4.8vw,3.8rem)!important}
  .team-profile-highlights>div{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .team-profile-highlights article:last-child:nth-child(odd){grid-column:1/-1}
}

@media(max-width:760px){
  .team-profile-art{
    width:100%!important;
    max-width:440px!important;
    margin-inline:auto!important;
  }
  .team-profile-frame,
  .team-profile-frame img{
    width:100%!important;
    max-width:none!important;
  }
}

/* Polished mobile navigation panel and backdrop. */
@media(max-width:1080px){
  body.menu-open:before{
    content:"";
    position:fixed;
    inset:70px 0 0;
    z-index:110;
    background:rgba(15,23,20,.34);
    -webkit-backdrop-filter:blur(3px);
    backdrop-filter:blur(3px);
    animation:mobileNavBackdropIn .18s ease-out both;
  }
  .surface-header .mobile-menu{
    left:50%!important;
    right:auto!important;
    width:min(480px,calc(100vw - 24px))!important;
    max-height:calc(100dvh - 94px)!important;
    gap:4px!important;
    padding:16px!important;
    border:1px solid rgba(21,33,27,.12)!important;
    border-radius:22px!important;
    background:linear-gradient(155deg,rgba(255,255,255,.99),rgba(248,250,247,.98))!important;
    box-shadow:0 28px 80px rgba(12,24,18,.22),0 5px 18px rgba(12,24,18,.08)!important;
    transform:translate(-50%,-8px) scale(.985)!important;
  }
  .surface-header .mobile-menu:before{
    content:"Explore";
    display:block;
    padding:2px 10px 11px;
    border-bottom:1px solid rgba(21,33,27,.09);
    color:#77817b;
    font-size:10px;
    font-weight:800;
    letter-spacing:.13em;
    line-height:1.4;
    text-transform:uppercase;
  }
  .surface-header .mobile-menu.show{
    transform:translate(-50%,0) scale(1)!important;
  }
  .surface-header .mobile-menu>a:not(.mobile-menu-cta),
  .surface-header .mobile-menu>.mobile-menu-group{
    border-bottom:1px solid rgba(21,33,27,.065)!important;
  }
  .surface-header .mobile-menu>a:not(.mobile-menu-cta){
    min-height:48px!important;
    padding:0 10px!important;
    border-radius:11px!important;
    color:#29352f!important;
    font-size:.94rem!important;
    font-weight:650!important;
  }
  .surface-header .mobile-menu>a:not(.mobile-menu-cta):hover,
  .surface-header .mobile-menu>a:not(.mobile-menu-cta):focus-visible,
  .surface-header .mobile-menu>a:not(.mobile-menu-cta).is-active{
    border-color:transparent!important;
    background:#f0f5ed!important;
    color:#1d3524!important;
  }
  .surface-header .mobile-menu .mobile-menu-parent{
    min-height:50px!important;
    padding:8px 10px!important;
    border-radius:11px!important;
    font-size:.94rem!important;
    font-weight:700!important;
  }
  .surface-header .mobile-menu .mobile-menu-parent[aria-expanded="true"]{
    background:#f1f6ee!important;
  }
  .surface-header .mobile-menu .mobile-menu-children{
    margin:2px 0 10px!important;
    padding:5px!important;
    border-color:#e2e9df!important;
    border-radius:12px!important;
    background:#f8faf7!important;
  }
  .surface-header .mobile-menu .mobile-menu-children a{
    min-height:42px!important;
    padding:8px 9px!important;
    border-radius:9px!important;
    font-size:.86rem!important;
  }
  .surface-header .mobile-menu .mobile-menu-children a:last-child{
    min-height:44px!important;
    margin-top:4px!important;
    border-radius:8px!important;
  }
  .surface-header .mobile-menu .mobile-menu-cta{
    min-height:50px!important;
    margin-top:8px!important;
    padding:0 15px!important;
    border-radius:13px!important;
    box-shadow:0 8px 18px rgba(76,131,48,.16)!important;
    font-size:.94rem!important;
  }
}
@media(max-width:760px){
  body.menu-open:before{inset:70px 0 0}
  .surface-header .mobile-menu{
    top:78px!important;
    max-height:calc(100dvh - 90px)!important;
    padding:13px!important;
    border-radius:18px!important;
  }
}
@keyframes mobileNavBackdropIn{
  from{opacity:0}
  to{opacity:1}
}
@media(prefers-reduced-motion:reduce){
  body.menu-open:before{animation:none}
}


/* ============================================================
   2026-10-12 — final responsive safety & polish pass
   Shared front-end guardrails for compact tablets, phones and
   unusually narrow embedded/webview widths. Desktop is untouched.
   ============================================================ */

@media(max-width:1100px){
  .process-intro-copy p{max-width:none!important}
}

@media(max-width:900px){
  html,body{max-width:100%;overflow-x:clip}
  main,main>section,section,.shell{min-width:0}
  .shell{width:min(calc(100% - 32px),var(--wc-shell,1240px))!important}

  /* Any shared two-column editorial header should stack before it gets cramped. */
  .section-heading.split-heading,
  .section-heading.is-split,
  .lp-head,
  .project-gallery-head,
  .team-related-projects .project-gallery-head,
  .faq-layout,
  .contact-cta .cta-grid,
  .contact-layout,
  .intro-split,
  .process-intro,
  .case-grid,
  .statement-modern,
  .founder-story-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:clamp(18px,4vw,30px)!important;
  }

  .section-heading-title,
  .section-heading-side,
  .section-heading-copy,
  .rich-copy,
  .contact-copy,
  .cta-panel,
  .project-gallery-head>*{min-width:0!important;max-width:none!important}

  .section-heading h2,
  .intro-split h2,
  .process-title-block h2,
  .contact-cta h2,
  .faq-section .section-heading h2,
  .team-preview .section-heading h2{
    max-width:none!important;
    text-wrap:balance;
  }

  .smart-grid,
  .smart-grid.grid-count-3,
  .smart-grid.grid-3,
  .smart-grid.grid-count-4,
  .smart-grid.grid-count-5,
  .smart-grid.grid-count-6,
  .industry-grid,
  .process-section .process-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .footer-brand{grid-column:1/-1!important;max-width:none!important}
}

@media(max-width:700px){
  .shell{width:min(calc(100% - 28px),var(--wc-shell,1240px))!important}
  main{overflow:hidden}
  img,video,iframe,svg{max-width:100%;height:auto}

  /* Prevent long labels/titles from forcing horizontal overflow. */
  h1,h2,h3,h4,p,a,button,span,strong,small,li,dt,dd{
    overflow-wrap:anywhere;
    word-break:normal;
  }

  .section-heading,
  .section-heading.split-heading,
  .section-heading.is-split{
    margin-bottom:clamp(24px,7vw,38px)!important;
  }
  .section-heading h2,
  .intro-split h2,
  .process-title-block h2,
  .contact-cta h2,
  .faq-section .section-heading h2,
  .team-preview .section-heading h2{
    font-size:clamp(2rem,10vw,3rem)!important;
    line-height:1.02!important;
    letter-spacing:-.045em!important;
  }
  .section-heading p,.section-heading-copy,.section-heading-side p{
    font-size:.94rem!important;
    line-height:1.65!important;
  }

  /* All content/entity blocks become one comfortable column on phones. */
  .smart-grid,
  .smart-grid.grid-count-1,
  .smart-grid.grid-count-2,
  .smart-grid.grid-count-3,
  .smart-grid.grid-3,
  .smart-grid.grid-count-4,
  .smart-grid.grid-count-5,
  .smart-grid.grid-count-6,
  .industry-grid,
  .process-section .process-grid,
  .team-grid,
  .team-preview-grid,
  .case-panel,
  .proof-row,
  .engagement-grid,
  .lp-steps{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .smart-card,.industry-card,.process-card,.team-card,.engagement-card{
    min-width:0!important;
    min-height:0!important;
  }
  .smart-card h3,.industry-card h3,.process-card h3{max-width:none!important}

  /* Buttons and chip groups need to wrap rather than squeeze. */
  .hero-actions,.cta-actions,.cta-options,.tag-row,.inner-photo-tags,.capability-strip{
    max-width:100%;
    flex-wrap:wrap!important;
  }
  .hero-actions .button,.cta-actions .button{max-width:100%;white-space:normal;text-align:center}

  .team-profile-highlights>div,
  .team-profile-facts,
  .footer-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .footer-brand{grid-column:auto!important}
  .footer-bottom{align-items:flex-start!important;text-align:left!important}
}

@media(max-width:520px){
  .shell{width:min(calc(100% - 24px),var(--wc-shell,1240px))!important}

  /* Compact page rhythm without making sections feel crushed. */
  .statement-section,.services-section,.work-section,.approach-section,.why-section,
  .engagement-section,.technology-section,.global-section,.faq-section,.final-cta,
  .process-section,.team-preview,.cards-section,.industries-section,.contact-cta{
    padding-top:clamp(54px,14vw,68px)!important;
    padding-bottom:clamp(54px,14vw,68px)!important;
  }

  .inner-hero{padding-top:92px!important;padding-bottom:48px!important}
  .inner-hero-copy h1,.hero-refined h1,.team-hero-copy h1,.careers-copy h1{
    max-width:none!important;
    font-size:clamp(2.25rem,12vw,3.25rem)!important;
    line-height:.98!important;
    letter-spacing:-.055em!important;
  }
  .inner-hero-copy>p,.hero-lede,.team-hero-copy>p{
    max-width:none!important;
    font-size:.94rem!important;
    line-height:1.6!important;
  }

  .smart-card,.industry-card,.process-card,.team-card,.engagement-card,
  .cta-panel,.modern-card{border-radius:16px!important}
  .smart-card,.process-card{padding:18px!important}

  .team-card-body,.team-preview-copy{padding:14px!important}
  .team-card-image,.team-preview-art{aspect-ratio:4/3!important}

  .site-footer{padding-top:52px!important}
  .footer-grid{gap:26px!important}
  .footer-bottom{margin-top:34px!important;padding:18px 0!important}
}

@media(max-width:360px){
  .shell{width:min(calc(100% - 20px),var(--wc-shell,1240px))!important}
  .section-heading h2,
  .intro-split h2,
  .process-title-block h2,
  .contact-cta h2,
  .faq-section .section-heading h2{
    font-size:clamp(1.8rem,11vw,2.35rem)!important;
  }
  .button,.button-small,.cs-pill-link{max-width:100%;white-space:normal}
  .cta-panel,.smart-card,.industry-card,.process-card,.team-card{padding-left:14px!important;padding-right:14px!important}
}

/* Homepage specialist auction feature: keep this as a concise proof block, not a second full landing section. */
.page-home .home-specialist-solution{
  padding:clamp(54px,5.4vw,72px) 0!important;
}
.page-home .home-specialist-solution .feature-solution-copy{
  grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr)!important;
  gap:0 clamp(36px,5vw,68px)!important;
}
.page-home .home-specialist-solution .feature-solution-copy>.eyebrow{
  margin-bottom:14px!important;
}
.page-home .home-specialist-solution .feature-solution-copy>h2{
  max-width:11ch!important;
  margin:0!important;
  font-size:clamp(2.35rem,3.55vw,3.65rem)!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
}
.page-home .home-specialist-solution .feature-solution-copy>p{
  max-width:50ch!important;
  margin:16px 0 0!important;
  font-size:.94rem!important;
  line-height:1.62!important;
}
.page-home .home-specialist-solution .solution-capabilities{
  padding:17px 22px!important;
  border-radius:20px!important;
}
.page-home .home-specialist-solution .solution-capabilities-head{
  gap:14px!important;
  padding:0 0 13px!important;
}
.page-home .home-specialist-solution .solution-capabilities-head>strong{
  font-size:.9rem!important;
}
.page-home .home-specialist-solution .solution-capabilities article{
  grid-template-columns:32px minmax(0,1fr)!important;
  gap:12px!important;
  padding:12px 0!important;
}
.page-home .home-specialist-solution .solution-capabilities article:last-child{
  padding-bottom:2px!important;
}
.page-home .home-specialist-solution .solution-capabilities article>span{
  width:30px!important;
  height:30px!important;
  font-size:.61rem!important;
}
.page-home .home-specialist-solution .solution-capabilities h3{
  margin:0 0 3px!important;
  font-size:.96rem!important;
}
.page-home .home-specialist-solution .solution-capabilities p{
  max-width:none!important;
  font-size:.79rem!important;
  line-height:1.45!important;
}
.page-home .home-specialist-solution .feature-solution-copy>.button{
  margin-top:18px!important;
  min-height:43px!important;
  padding:11px 17px!important;
}
@media(max-width:900px){
  .page-home .home-specialist-solution{
    padding:54px 0!important;
  }
  .page-home .home-specialist-solution .feature-solution-copy>h2{
    max-width:13ch!important;
    font-size:clamp(2.3rem,7.5vw,3.25rem)!important;
  }
  .page-home .home-specialist-solution .feature-solution-copy>p{
    margin-top:13px!important;
  }
  .page-home .home-specialist-solution .solution-capabilities{
    margin-top:22px!important;
    padding:15px 20px!important;
  }
  .page-home .home-specialist-solution .feature-solution-copy>.button{
    margin-top:17px!important;
  }
}
@media(max-width:760px){
  .page-home .home-specialist-solution{
    padding:46px 0!important;
  }
  .page-home .home-specialist-solution .feature-solution-copy>.eyebrow{
    margin-bottom:11px!important;
  }
  .page-home .home-specialist-solution .feature-solution-copy>h2{
    max-width:none!important;
    font-size:clamp(2rem,9vw,2.75rem)!important;
    line-height:1.01!important;
  }
  .page-home .home-specialist-solution .feature-solution-copy>p{
    font-size:.9rem!important;
    line-height:1.56!important;
  }
  .page-home .home-specialist-solution .solution-capabilities{
    margin-top:18px!important;
    padding:13px 16px!important;
    border-radius:17px!important;
  }
  .page-home .home-specialist-solution .solution-capabilities-head{
    padding-bottom:10px!important;
  }
  .page-home .home-specialist-solution .solution-capabilities article{
    grid-template-columns:29px minmax(0,1fr)!important;
    gap:10px!important;
    padding:10px 0!important;
  }
  .page-home .home-specialist-solution .solution-capabilities article>span{
    width:28px!important;
    height:28px!important;
  }
  .page-home .home-specialist-solution .solution-capabilities h3{
    font-size:.92rem!important;
  }
  .page-home .home-specialist-solution .solution-capabilities p{
    font-size:.76rem!important;
    line-height:1.42!important;
  }
  .page-home .home-specialist-solution .feature-solution-copy>.button{
    margin-top:15px!important;
  }
}

/* Homepage auction refinement: concise specialist block with unrestricted headline width. */
.page-home .home-specialist-solution{
  padding:clamp(46px,4.6vw,62px) 0!important;
}
.page-home .home-specialist-solution .feature-solution-copy>h2{
  max-width:none!important;
  font-size:clamp(2.28rem,3.3vw,3.45rem)!important;
  line-height:1!important;
}
.page-home .home-specialist-solution .feature-solution-copy>p:empty{
  display:none!important;
}
.page-home .home-specialist-solution .solution-capabilities{
  margin-top:18px!important;
  padding:14px 20px!important;
}
.page-home .home-specialist-solution .solution-capabilities-head{
  padding-bottom:10px!important;
}
.page-home .home-specialist-solution .solution-capabilities article{
  padding:10px 0!important;
}
.page-home .home-specialist-solution .feature-solution-copy>.button{
  margin-top:14px!important;
}
@media(max-width:900px){
  .page-home .home-specialist-solution{
    padding:46px 0!important;
  }
  .page-home .home-specialist-solution .feature-solution-copy>h2{
    max-width:none!important;
  }
  .page-home .home-specialist-solution .solution-capabilities{
    margin-top:16px!important;
  }
}
@media(max-width:760px){
  .page-home .home-specialist-solution{
    padding:40px 0!important;
  }
  .page-home .home-specialist-solution .feature-solution-copy>h2{
    max-width:none!important;
  }
  .page-home .home-specialist-solution .solution-capabilities{
    margin-top:14px!important;
  }
}

/* 2026-10-15 — Responsive featured-solution hardening.
   Text-only feature sections must never retain the empty preview column.
   Stack the shared featured-solution pattern earlier on tablet widths so
   editorial copy, capability panels and preview cards use the full viewport. */
.feature-solution-grid.feature-solution-grid-text-only{
  grid-template-columns:minmax(0,1fr)!important;
  gap:0!important;
}
.feature-solution-grid.feature-solution-grid-text-only>.feature-solution-copy{
  width:100%!important;
  min-width:0!important;
}

@media(max-width:1100px){
  .page-home .home-specialist-solution .feature-solution-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
  }
  .page-home .home-specialist-solution .feature-solution-copy{
    width:100%!important;
    min-width:0!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    gap:0!important;
    align-items:start!important;
  }
  .page-home .home-specialist-solution .feature-solution-copy>.eyebrow,
  .page-home .home-specialist-solution .feature-solution-copy>h2,
  .page-home .home-specialist-solution .feature-solution-copy>p,
  .page-home .home-specialist-solution .solution-capabilities,
  .page-home .home-specialist-solution .feature-solution-copy>.button{
    grid-column:1!important;
    grid-row:auto!important;
  }
  .page-home .home-specialist-solution .feature-solution-copy>h2{
    max-width:18ch!important;
    font-size:clamp(2.45rem,6vw,3.65rem)!important;
  }
  .page-home .home-specialist-solution .feature-solution-copy>p{
    max-width:62ch!important;
    margin-top:16px!important;
  }
  .page-home .home-specialist-solution .solution-capabilities{
    width:100%!important;
    max-width:none!important;
    margin:26px 0 0!important;
    padding:20px 24px!important;
  }
  .page-home .home-specialist-solution .feature-solution-copy>.button{
    margin-top:20px!important;
  }

  /* Same shared component is used on Solutions and can otherwise feel cramped
     at tablet widths while the desktop two-column layout is still active. */
  .feature-solution-grid:not(.feature-solution-grid-text-only){
    grid-template-columns:minmax(0,1fr)!important;
    gap:32px!important;
    align-items:start!important;
  }
  .feature-solution-grid:not(.feature-solution-grid-text-only)>.auction-ui{
    width:100%!important;
    max-width:none!important;
  }
}

@media(max-width:760px){
  .page-home .home-specialist-solution .feature-solution-copy>h2{
    max-width:none!important;
    font-size:clamp(2rem,9vw,2.75rem)!important;
    line-height:1.01!important;
  }
  .page-home .home-specialist-solution .solution-capabilities{
    margin-top:20px!important;
    padding:15px 16px!important;
    border-radius:18px!important;
  }
  .page-home .home-specialist-solution .solution-capabilities-head{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:4px!important;
    padding-bottom:12px!important;
  }
  .page-home .home-specialist-solution .solution-capabilities-head>strong{
    text-align:left!important;
  }
  .page-home .home-specialist-solution .solution-capabilities article{
    grid-template-columns:32px minmax(0,1fr)!important;
    gap:11px!important;
    padding:13px 0!important;
  }
  .page-home .home-specialist-solution .solution-capabilities article>span{
    width:30px!important;
    height:30px!important;
  }
  .page-home .home-specialist-solution .solution-capabilities h3{
    font-size:.94rem!important;
  }
  .page-home .home-specialist-solution .solution-capabilities p{
    font-size:.79rem!important;
    line-height:1.48!important;
  }
  .page-home .home-specialist-solution .feature-solution-copy>.button{
    width:100%!important;
    justify-content:center!important;
    margin-top:16px!important;
  }
}

@media(max-width:420px){
  .page-home .home-specialist-solution .solution-capabilities{
    padding:14px!important;
  }
  .page-home .home-specialist-solution .solution-capabilities article{
    grid-template-columns:29px minmax(0,1fr)!important;
    gap:10px!important;
    padding:12px 0!important;
  }
  .page-home .home-specialist-solution .solution-capabilities article>span{
    width:28px!important;
    height:28px!important;
    font-size:.6rem!important;
  }
}


/* 2026-10-15 About page founder card centring on tablet + small screens */
@media (max-width: 1024px){
  .page-about .founder-story-art{
    width:min(100%, 650px)!important;
    max-width:650px!important;
    justify-self:center!important;
    margin-inline:auto!important;
  }
}
@media (max-width: 900px){
  .page-about .founder-story-grid{
    justify-items:center!important;
  }
  .page-about .founder-story-art{
    justify-self:center!important;
    margin-inline:auto!important;
  }
  .page-about .founder-story-copy{
    width:100%!important;
  }
}
