/* Services: consistent type hierarchy, spacing and logo-red/navy palette. */
body.inner-reference-theme .elementor.elementor-23{--e-global-color-primary:#173747;--e-global-color-secondary:#cf4763;--e-global-color-accent:#cf4763;--e-global-color-text:#63747b}
body.inner-reference-theme main .elementor.elementor-23>.e-parent{padding-left:5%!important;padding-right:5%!important;box-sizing:border-box!important}
body.inner-reference-theme main .elementor.elementor-23 .copied-page-hero{padding-top:64px!important;padding-bottom:64px!important;background:#f5f7f8!important}
body.inner-reference-theme main .elementor.elementor-23 h1{font-size:clamp(36px,4vw,56px)!important;line-height:1.13!important;letter-spacing:-1.2px!important;color:#173747!important;max-width:900px!important;margin-bottom:24px!important}
body.inner-reference-theme main .elementor.elementor-23 h2{font-size:clamp(30px,3vw,42px)!important;line-height:1.2!important;letter-spacing:-.8px!important;color:#173747!important}
body.inner-reference-theme main .elementor.elementor-23 .elementor-widget-text-editor,body.inner-reference-theme main .elementor.elementor-23 .elementor-widget-text-editor p{font-size:17px!important;line-height:1.75!important;color:#63747b!important}
body.inner-reference-theme main .elementor.elementor-23 :is(.elementor-element-db8213c,.elementor-element-28ef6ea){gap:40px!important;--gap:40px!important;--column-gap:40px!important;margin-top:20px!important;margin-bottom:20px!important}
body.inner-reference-theme main .elementor.elementor-23 .flow-navy-card.elementor-element:nth-child(n){padding:32px!important;border:1px solid #dce3e7!important;border-radius:24px!important;background:#f5f7f8!important;box-shadow:0 8px 24px #17374707!important;gap:18px!important;--gap:18px!important;min-height:0!important}
body.inner-reference-theme main .elementor.elementor-23 .flow-navy-card:nth-child(n) .elementor-heading-title{font-size:28px!important;line-height:1.2!important;letter-spacing:-.5px!important;color:#cf4763!important;margin:0 0 12px!important}
body.inner-reference-theme main .elementor.elementor-23 .flow-navy-card:nth-child(n) :is(.elementor-widget-text-editor,.elementor-widget-text-editor p,.elementor-icon-list-text){font-size:17px!important;line-height:1.75!important;color:#63747b!important}
body.inner-reference-theme main .elementor.elementor-23 .flow-navy-card:nth-child(n) .elementor-icon{background:#cf4763!important;color:white!important;width:48px!important;height:48px!important;border-radius:50%!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:12px!important;box-sizing:border-box!important}
body.inner-reference-theme main .elementor.elementor-23 .flow-navy-card:nth-child(n) .elementor-icon svg{width:24px!important;height:24px!important;fill:white!important}
body.inner-reference-theme main .elementor.elementor-23 .elementor-button{font-size:16px!important;font-weight:600!important;line-height:1.4!important;padding:14px 22px!important;border-radius:8px!important;background:#cf4763!important;border:1px solid #cf4763!important;color:white!important;box-shadow:none!important}
body.inner-reference-theme main .elementor.elementor-23 .flow-navy-card.elementor-element:nth-child(n):hover{background:#173747!important;border-color:#173747!important}
body.inner-reference-theme main .elementor.elementor-23 .flow-navy-card:nth-child(n):hover :is(.elementor-heading-title,.elementor-widget-text-editor,.elementor-widget-text-editor p,.elementor-icon-list-text){color:#fff!important}
body.inner-reference-theme main .elementor.elementor-23 .flow-navy-card:nth-child(n):hover .elementor-button{background:white!important;border-color:white!important}
body.inner-reference-theme main .elementor.elementor-23 .flow-navy-card:nth-child(n):hover .elementor-button span{color:#173747!important}
body.inner-reference-theme main .services-methodology .methodology-journey{gap:36px!important}
body.inner-reference-theme main .services-methodology .methodology-journey li{padding:30px 26px!important;background:#f5f7f8!important}
body.inner-reference-theme main .services-methodology .methodology-journey h3{color:#cf4763!important;font-size:26px!important}
body.inner-reference-theme main .services-methodology .methodology-journey li p{font-size:17px!important;line-height:1.7!important;color:#63747b!important}
body.inner-reference-theme main .services-methodology .methodology-journey li:hover{background:#173747!important;border-color:#173747!important}
body.inner-reference-theme main .services-methodology .methodology-journey li:hover h3,body.inner-reference-theme main .services-methodology .methodology-journey li:hover p{color:white!important}
@media(max-width:800px){body.inner-reference-theme main .elementor.elementor-23 :is(.elementor-element-db8213c,.elementor-element-28ef6ea){gap:28px!important}body.inner-reference-theme main .elementor.elementor-23 .flow-navy-card.elementor-element:nth-child(n){padding:24px!important}}

body.inner-reference-theme main .elementor.elementor-23[data-design=consistent]>.elementor-element.elementor-element-24e45d1.e-parent{padding-top:32px!important;--padding-top:32px!important;margin-top:0!important;--margin-top:0px!important;min-height:0!important;--min-height:0px!important}
body.inner-reference-theme main .elementor.elementor-23>.elementor-element.elementor-element-24e45d1>.e-con-inner{padding-top:0!important;margin-top:0!important;justify-content:flex-start!important}
body.inner-reference-theme main .elementor.elementor-23 .elementor-element-9a3e1bd{margin-top:0!important}
body.inner-reference-theme main .elementor.elementor-23 .elementor-element-9a3e1bd p{margin-top:0!important}

/* Services introduction typography and brand colour. */
body.inner-reference-theme main .elementor.elementor-23 .elementor-element.elementor-element-9a3e1bd{background:transparent!important;border:0!important;padding:0!important;border-radius:0!important;margin:0 0 16px!important}
body.inner-reference-theme main .elementor.elementor-23 .elementor-element.elementor-element-9a3e1bd p{font-family:'Hanken Grotesk',Arial,sans-serif!important;font-size:14px!important;font-weight:600!important;letter-spacing:1.5px!important;line-height:1.4!important;text-transform:uppercase!important;color:#cf4763!important;background:transparent!important;padding:0!important;margin:0!important}
body.inner-reference-theme main .elementor.elementor-23 .elementor-element.elementor-element-c6b6c3e .elementor-heading-title{font-family:'Hanken Grotesk',Arial,sans-serif!important;font-size:clamp(32px,3.3vw,46px)!important;font-weight:500!important;line-height:1.18!important;letter-spacing:-1px!important;color:#cf4763!important;margin:0!important}
body.inner-reference-theme main .elementor.elementor-23 .elementor-element.elementor-element-c6b6c3e{margin:0 0 20px!important}
body.inner-reference-theme main .elementor.elementor-23 .elementor-element.elementor-element-d70b562{width:100%!important;max-width:850px!important;margin:0 auto 28px!important;text-align:center!important}
body.inner-reference-theme main .elementor.elementor-23 .elementor-element.elementor-element-d70b562 p{font-family:'Hanken Grotesk',Arial,sans-serif!important;font-size:18px!important;font-weight:400!important;line-height:1.7!important;color:#63747b!important;margin:0!important}
body.inner-reference-theme main .elementor.elementor-23 .elementor-element.elementor-element-d70b562 strong{color:#173747!important;font-weight:500!important}

body.inner-reference-theme main .elementor.elementor-23 .elementor-element.elementor-element-9a3e1bd p{font-size:22px!important;line-height:1.4!important;letter-spacing:1px!important}

/* Balanced Services banner scale. */
body.inner-reference-theme main .elementor.elementor-23 .elementor-element.elementor-element-bb64610{padding-top:56px!important;padding-bottom:56px!important;min-height:0!important;--min-height:0px!important}
body.inner-reference-theme main .elementor.elementor-23 .elementor-element.elementor-element-bb64610>.e-con-inner{gap:22px!important;align-items:center!important;max-width:1100px!important}
body.inner-reference-theme main .elementor.elementor-23 .elementor-element.elementor-element-f49260f{width:100%!important;max-width:820px!important;margin:0!important}
body.inner-reference-theme main .elementor.elementor-23 .elementor-element.elementor-element-bb64610 .elementor-element-f49260f h1.elementor-heading-title{font-family:'Hanken Grotesk',Arial,sans-serif!important;font-size:clamp(32px,3.2vw,46px)!important;font-weight:500!important;line-height:1.17!important;letter-spacing:-1px!important;text-align:center!important;color:#173747!important;margin:0!important;max-width:none!important}
body.inner-reference-theme main .elementor.elementor-23 .elementor-element.elementor-element-6494b77{width:100%!important;max-width:700px!important;margin:0!important;padding:0!important;text-align:center!important}
body.inner-reference-theme main .elementor.elementor-23 .elementor-element.elementor-element-6494b77 p{font-size:18px!important;line-height:1.7!important;letter-spacing:0!important;text-align:center!important;margin:0!important;color:#63747b!important}
body.inner-reference-theme main .elementor.elementor-23 .elementor-element.elementor-element-3241b08{gap:18px!important;justify-content:center!important;margin:8px 0 0!important;padding:0!important;width:100%!important}
body.inner-reference-theme main .elementor.elementor-23 .elementor-element.elementor-element-bb64610 .elementor-button{font-size:16px!important;font-weight:500!important;line-height:1.4!important;padding:14px 22px!important;box-shadow:none!important}
body.inner-reference-theme main .elementor.elementor-23 .elementor-element.elementor-element-75db635 .elementor-button{background:transparent!important;border:1px solid #173747!important;color:#173747!important}
body.inner-reference-theme main .elementor.elementor-23 .elementor-element.elementor-element-75db635 .elementor-button span{color:#173747!important}

/* Service titles retain the logo-red accent on navy hover. */
body.palette-clean.inner-reference-theme main .elementor.elementor-23 .flow-navy-card.elementor-element:nth-child(n):hover .elementor-heading-title,body.palette-clean.inner-reference-theme main .elementor.elementor-23 .flow-navy-card.elementor-element:nth-child(n):hover .elementor-heading-title span{color:#cf4763!important}
body.inner-reference-theme main .services-methodology .methodology-journey li:hover h3{color:#cf4763!important}

/* Reserve separate columns for the service icon and title. */
body.inner-reference-theme main .elementor.elementor-23 .flow-navy-card .elementor-element.e-con:has(>.elementor-widget-icon):has(>.elementor-widget-heading){display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;column-gap:20px!important;row-gap:18px!important;align-items:center!important;width:100%!important;min-width:0!important}
body.inner-reference-theme main .elementor.elementor-23 .flow-navy-card .elementor-element.e-con:has(>.elementor-widget-icon):has(>.elementor-widget-heading)>.elementor-widget-icon{grid-column:1!important;width:48px!important;min-width:48px!important;max-width:48px!important;margin:0!important;align-self:start!important}
body.inner-reference-theme main .elementor.elementor-23 .flow-navy-card .elementor-element.e-con:has(>.elementor-widget-icon):has(>.elementor-widget-heading)>.elementor-widget-heading{grid-column:2!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important}
body.inner-reference-theme main .elementor.elementor-23 .flow-navy-card .elementor-element.e-con:has(>.elementor-widget-icon):has(>.elementor-widget-heading)>.elementor-widget-heading .elementor-heading-title{margin:0!important;overflow-wrap:normal!important;word-break:normal!important}
body.inner-reference-theme main .elementor.elementor-23 .flow-navy-card .elementor-element.e-con:has(>.elementor-widget-icon):has(>.elementor-widget-heading)>:not(.elementor-widget-icon):not(.elementor-widget-heading){grid-column:1 / -1!important}

/* Keep the methodology introduction and steps on the same left edge. */
body.inner-reference-theme main section.services-methodology {
  padding-block: clamp(36px, 5vw, 72px);
  scroll-margin-top: 100px;
}

body.inner-reference-theme main .services-methodology .methodology-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: clamp(24px, 3vw, 36px);
  text-align: left;
}

body.inner-reference-theme main .services-methodology .methodology-kicker {
  font-size: clamp(15px, 1.1vw, 17px) !important;
  margin: 0 0 8px;
}

body.inner-reference-theme main .services-methodology .methodology-summary {
  max-width: 100%;
  margin: 0 !important;
}

body.inner-reference-theme main .services-methodology .methodology-journey li {
  min-height: 0;
  text-align: left;
}

.services-methodology .methodology-journey li:not(:last-child)::after {
  right: -37px;
  width: 36px;
  background: transparent;
}

@media (max-width: 650px) {
  body.inner-reference-theme main .services-methodology .methodology-journey {
    gap: 16px !important;
  }
}
