/* MQUAD 24 — one coherent system for the entire agency website. */
@font-face {
    font-family: 'Outfit Site';
    src: url('/assets/fonts/outfit-300.ttf') format('truetype');
    font-weight: 300;
    font-display: swap
}

@font-face {
    font-family: 'Outfit Site';
    src: url('/assets/fonts/outfit-400.ttf') format('truetype');
    font-weight: 400;
    font-display: swap
}

@font-face {
    font-family: 'Outfit Site';
    src: url('/assets/fonts/outfit-500.ttf') format('truetype');
    font-weight: 500;
    font-display: swap
}

:root {
    --font-site: 'Outfit Site', Arial, sans-serif;
    --ink: #142f48;
    --text: #4c6277;
    --muted: #5f7386;
    --blue: #2066bc;
    --navy: #091a2d;
    --yellow: #f5cf5c;
    --border: #dbe4ec;
    --light: #f2f6fa;
    --paper: #fbfcfe;
    --brand: #2066bc;
    --purple: #2066bc;
    --radius: 16px;
    --wrap: 1320px
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 112px
}

* {
    box-sizing: border-box
}

body.growth-site {
    font: 400 17px/1.65 var(--font-site);
    background: var(--paper);
    color: var(--text);
    margin: 0;
    -webkit-font-smoothing: antialiased
}

.growth-site :is(h1, h2, h3, h4, h5, h6, p) {
    margin-top: 0
}

.growth-site :is(h1, h2, h3, h4, h5, h6) {
    font-family: var(--font-site);
    color: var(--ink);
    font-weight: 400;
    letter-spacing: -.035em
}

.growth-site h1 {
    font-size: clamp(52px, 5.7vw, 84px);
    line-height: 1.06;
    font-weight: 300;
    letter-spacing: -.045em;
    margin-bottom: 26px
}

.growth-site h2 {
    font-size: clamp(36px, 4vw, 58px);
    line-height: 1.12;
    font-weight: 300;
    letter-spacing: -.04em
}

.growth-site h3 {
    font-size: 26px;
    line-height: 1.25
}

.growth-site p {
    font-size: 17px;
    line-height: 1.7;
    margin-bottom: 20px
}

.growth-site :is(a, button, input, select, textarea, span, small, li, strong, b) {
    font-family: var(--font-site)
}

.growth-site strong,
.growth-site b {
    font-weight: 500
}

.growth-site a {
    color: var(--blue)
}

.growth-site a:hover {
    color: #154e96
}

.growth-site .wrap,
.ed-wrap {
    max-width: var(--wrap);
    width: calc(100% - 96px);
    margin-left: auto;
    margin-right: auto
}

.growth-site main {
    overflow: clip
}

.growth-site img {
    max-width: 100%;
    height: auto
}

.growth-site [hidden] {
    display: none !important
}

.growth-site .eyebrow,
.ed-label {
    display: block;
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: .1em;
    text-transform: uppercase;
    font-weight: 500;
    color: #426681;
    margin-bottom: 18px
}

.growth-site .eyebrow::before {
    background: linear-gradient(90deg, #148bc4, var(--yellow));
    width: 24px
}

.growth-site .section-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 50px;
    margin-bottom: 42px
}

.growth-site .section-head h2 {
    margin: 0;
    max-width: 800px
}

.growth-site .section-head>p {
    max-width: 370px;
    font-size: 17px;
    margin: 0
}

.growth-site .word-highlight,
.ed-gradient {
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    background: linear-gradient(100deg, #2266bf 10%, #158caf 52%, #b78b1c 100%);
    background-clip: text;
    -webkit-background-clip: text;
    font-weight: inherit;
    position: static
}

.growth-site .word-highlight::before,
.growth-site .word-highlight::after {
    display: none
}

.growth-site [data-surface=dark] {
    --surface-heading: #fff;
    --surface-copy: #d7e4ef;
    --surface-muted: #b6cadc;
    color: #d7e4ef
}

.growth-site [data-surface=dark] :is(h1, h2, h3, h4) {
    color: #fff
}

.growth-site [data-surface=dark] :is(p, li, small, .eyebrow) {
    color: #c7d8e8
}

.growth-site [data-surface=dark] .word-highlight,
.g-process .ed-gradient {
    background-image: linear-gradient(105deg, #8ddaff, #accaff 52%, #ffe18c)
}

.growth-site [data-surface=light] {
    --surface-heading: #142f48;
    --surface-copy: #4c6277;
    color: #4c6277
}

.growth-site [data-surface=light] :is(h1, h2, h3, h4, b, strong) {
    color: var(--ink)
}

.growth-site [data-surface=light] :is(p, li, small) {
    color: var(--text)
}

.growth-site .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    padding: 17px 23px;
    min-height: 56px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: 0;
    border: 1px solid var(--border);
    box-shadow: none;
    cursor: pointer;
    text-decoration: none;
    transition: transform .25s, background .25s, box-shadow .25s;
    position: relative;
    overflow: hidden
}

.growth-site .btn.primary {
    background: linear-gradient(105deg, #f5cf5c, #ffe5a0);
    color: #142f48;
    border-color: #f5cf5c;
    box-shadow: 0 6px 24px #f5cf5c12
}

.growth-site .btn.primary::after {
    content: '';
    position: absolute;
    top: -60%;
    bottom: -60%;
    width: 35%;
    left: -60%;
    background: linear-gradient(90deg, transparent, #fff7, transparent);
    transform: skew(-20deg);
    transition: left .65s
}

.growth-site .btn.primary:hover::after {
    left: 130%
}

.growth-site .btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px #142f4810
}

.growth-site .btn.secondary {
    color: var(--ink);
    border: 1px solid #afc1d1;
    background: #fff
}

.growth-site [data-surface=dark] .btn.secondary,
.growth-site .btn.ghost {
    background: transparent;
    color: #fff;
    border: 1px solid #5b748d
}

.growth-site .actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    align-items: center
}

.growth-site :is(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid #2187cc;
    outline-offset: 4px
}

.growth-site .textlink,
.ed-text-link {
    display: inline-flex;
    gap: 12px;
    align-items: center;
    color: var(--ink);
    font-size: 16px;
    text-decoration: none;
    background: none;
    border: 0;
    border-bottom: 1px solid #a4bacb;
    border-radius: 0;
    padding: 7px 0;
    cursor: pointer
}

.growth-site .breadcrumb {
    display: inline-block;
    font-size: 13px;
    color: var(--muted);
    margin-bottom: 24px
}

.growth-site .page-motion-toggle {
    padding: 8px 0;
    border: 0;
    background: none;
    color: inherit;
    opacity: .75;
    cursor: pointer;
    font-size: 11px;
    display: block;
    margin: 0 0 16px
}

.growth-site .skip {
    z-index: 2000
}

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important
}

/* Navigation stays calm while the content does the talking. */
.growth-site header {
    background: #ffffffed;
    border-bottom: 1px solid #dbe4ec;
    box-shadow: none;
    backdrop-filter: blur(16px);
    position: sticky;
    top: 0;
    z-index: 90
}

.growth-site header .nav {
    height: 86px;
    max-width: 1420px;
    gap: 26px;
    padding: 0
}

.growth-site .brand img {
    width: 145px;
    height: auto;
    max-height: 60px;
    object-fit: contain
}

.growth-site .brand small {
    display: none
}

.growth-site header nav {
    gap: 27px
}

.growth-site header nav>a,
.growth-site header nav>.dropdown>button {
    font-size: 17px;
    font-weight: 400;
    color: var(--ink);
    letter-spacing: 0;
    padding: 12px 0
}

.growth-site header .dropdown>button::after {
    display: none
}

.growth-site header nav>a:last-child {
    background: var(--ink);
    color: white;
    padding: 12px 24px;
    border-radius: 7px
}

.growth-site header .mobile-toggle {
    font: 400 17px var(--font-site);
    color: var(--ink);
    background: none;
    border: 0
}

.growth-site header .mega-panel {
    top: 85px;
    border: 1px solid var(--border);
    border-radius: 0 0 13px 13px;
    box-shadow: 0 20px 50px #0b24461c;
    width: min(1180px, calc(100vw - 64px))
}

.growth-site .mega-panel-body {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
    padding: 30px
}

.growth-site .mega-column {
    padding: 0;
    border: 0
}

.growth-site .mega-column h2 {
    font-size: 19px;
    letter-spacing: -.02em;
    font-weight: 500;
    margin-bottom: 9px
}

.growth-site .mega-column>p {
    font-size: 13px;
    color: var(--muted)
}

.growth-site .mega-link {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 12px 7px
}

.growth-site .mega-link:hover,
.growth-site .industry-menu-link:hover {
    background: #f0f6fb
}

.growth-site .mega-link b,
.growth-site .industry-menu-link b {
    font-size: 16px;
    font-weight: 400;
    color: var(--ink)
}

.growth-site .mega-link small,
.growth-site .industry-menu-link small {
    font-size: 12px;
    line-height: 1.5;
    color: var(--muted)
}

.growth-site .mega-icon {
    background: #f0f6fb;
    color: var(--blue);
    width: 30px;
    height: 30px;
    border-radius: 8px
}

.growth-site .mega-icon svg {
    width: 19px;
    height: 19px
}

.growth-site .mega-arrow {
    display: none
}

.growth-site .mega-footer {
    background: #edf4f9
}

.growth-site .mega-footer a {
    font-size: 14px;
    color: var(--ink)
}

.growth-site .industry-menu-link {
    padding: 10px 7px;
    border-radius: 6px
}

.growth-site .mega-feature {
    display: none
}

/* A photo-led hero, with a motion graphic that explains the commercial journey. */
.g-hero {
    background: radial-gradient(ellipse at 100% 40%, #18456a 0, transparent 50%), linear-gradient(115deg, #060c15, #0c2035);
    padding: 65px 0 0;
    position: relative
}

.growth-site .g-hero .g-hero-grid {
    display: grid;
    grid-template-columns: 1.07fr 1fr;
    gap: 65px;
    align-items: center;
    position: relative;
    padding-bottom: 67px
}

.g-hero-copy h1 {
    font-size: clamp(64px, 6.5vw, 100px);
    max-width: 750px;
    margin: 23px 0 25px;
    line-height: 1.01
}

.g-hero-copy>p {
    font-size: 19px;
    max-width: 565px;
    margin-bottom: 30px
}

.g-hero-copy>.eyebrow {
    display: flex;
    align-items: center;
    gap: 9px
}

.g-pulse {
    display: inline-block;
    width: 7px;
    height: 7px;
    background: #8ddaff;
    border-radius: 50%;
    box-shadow: 0 0 0 5px #8ddaff13;
    flex-shrink: 0;
    animation: g-pulse 3s ease-in-out infinite
}

.g-hero-assurance {
    display: flex;
    flex-wrap: wrap;
    gap: 17px;
    font-size: 12px;
    color: #b6cadc;
    margin-top: 24px
}

.g-hero-art {
    min-width: 0;
    position: relative;
    padding: 15px 0 0
}

.g-hero-photo {
    height: 350px;
    position: relative;
    border-radius: 20px 20px 4px 4px;
    overflow: hidden
}

.g-hero-photo>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 48% center;
    animation: g-photo 18s ease-in-out infinite alternate
}

.g-hero-photo::after {
    content: '';
    position: absolute;
    inset: 50% 0 0;
    background: linear-gradient(transparent, #071729ae)
}

.g-photo-caption {
    position: absolute;
    bottom: 23px;
    left: 27px;
    color: #fff;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 300;
    z-index: 1
}

.g-search-float {
    position: absolute;
    top: 35px;
    left: -30px;
    right: 35px;
    background: #fff;
    padding: 15px 21px;
    display: flex;
    gap: 12px;
    align-items: center;
    border-radius: 12px;
    color: var(--ink);
    box-shadow: 0 12px 40px #06101b25;
    font-size: 15px;
    animation: g-search 7s ease-in-out infinite
}

.g-search-icon {
    font-size: 25px;
    line-height: 1;
    color: var(--blue)
}

.g-search-cursor {
    width: 2px;
    height: 17px;
    background: #5d88a9;
    animation: g-cursor 1.4s infinite
}

.g-query {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.g-motion-flow {
    background: #102a43;
    position: relative;
    color: #8ec3e8;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border: 1px solid #294760;
    border-radius: 0 0 15px 15px;
    padding: 23px 8px 19px
}

.g-motion-flow svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none
}

.g-flow-dash {
    animation: g-dash 7s linear infinite
}

.g-motion-flow>div {
    position: relative;
    text-align: center
}

.g-motion-flow>div>span {
    display: grid;
    place-items: center;
    margin: 0 auto 9px;
    border: 1px solid #4b7898;
    background: #173c5a;
    width: 29px;
    height: 29px;
    border-radius: 50%;
    font-size: 10px;
    color: #e9f5ff
}

.g-motion-flow b {
    display: block;
    font-size: 13px;
    font-weight: 400;
    color: #fff
}

.g-motion-flow small {
    display: block;
    font-size: 10px;
    color: #a5c1d6
}

.g-hero-motion {
    position: absolute;
    bottom: 12px;
    right: 0;
    color: #bad0e3 !important;
    margin: 0 !important
}

.growth-site .g-intent-bar {
    border-top: 1px solid #2b4156;
    display: grid;
    grid-template-columns: .85fr 1.4fr auto;
    gap: 15px 30px;
    align-items: center;
    padding: 26px 0 28px
}

.g-intent-bar .eyebrow {
    font-size: 10px;
    margin: 0 0 4px;
    color: #a9c2d7
}

.g-intent-bar>div>span:last-child {
    font-size: 19px;
    font-weight: 300;
    color: white
}

.g-intent-options {
    display: flex;
    gap: 10px;
    flex-wrap: wrap
}

.g-intent-options button {
    padding: 12px 16px;
    background: #ffffff08;
    border: 1px solid #4b657b;
    border-radius: 100px;
    color: #ecf6fe;
    cursor: pointer;
    font-size: 14px;
    transition: background .25s
}

.g-intent-options button[aria-pressed=true] {
    background: #dceeff;
    border-color: #dceeff;
    color: #17314a
}

.g-intent-link {
    color: #dbeeff !important;
    text-decoration: none;
    font-size: 13px
}

.growth-site #g-goal-status {
    grid-column: 2 / 4;
    color: #a9c2d7;
    font-size: 12px;
    margin: 0;
    min-height: 20px
}

/* Client strip */
.growth-site .clients-section {
    padding: 28px 0 30px;
    border-bottom: 1px solid var(--border);
    width: 100%;
    max-width: none;
    margin: 0;
    background: white
}

.growth-site .clients-section .section-head {
    display: none
}

.mq-strip-label {
    display: block;
    text-align: center;
    font-size: 12px;
    color: var(--muted);
    margin-bottom: 22px
}

.client-logo-marquee {
    overflow: hidden;
    mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent)
}

.client-logo-track {
    display: flex;
    width: max-content;
    animation: g-logo-scroll 48s linear infinite
}

.logo-scroll-group {
    display: flex;
    gap: 45px;
    align-items: center;
    padding-right: 45px;
    flex-shrink: 0
}

.growth-site .logo-scroll-link {
    height: 56px;
    width: 155px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3px;
    border: 0;
    background: none
}

.growth-site .logo-scroll-link>img {
    width: auto;
    max-width: 140px;
    height: auto;
    max-height: 50px;
    object-fit: contain;
    filter: grayscale(1);
    opacity: .7;
    transition: filter .3s, opacity .3s
}

.growth-site .logo-scroll-link:hover img {
    filter: none;
    opacity: 1
}

.client-logo-marquee:hover .client-logo-track,
.client-logo-marquee:focus-within .client-logo-track {
    animation-play-state: paused
}

/* AI visibility is substantial, crawlable content with a live CSS illustration. */
.growth-site .g-ai {
    padding-top: 95px;
    padding-bottom: 90px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9%;
    align-items: center
}

.g-ai h2 {
    font-size: clamp(42px, 4.3vw, 64px)
}

.g-ai>div>p {
    max-width: 520px
}

.g-platforms {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 21px;
    margin: 25px 0 32px
}

.g-platform {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--ink)
}

.g-platform img {
    width: 24px;
    height: 24px;
    object-fit: contain
}

.g-ai-stages span:nth-child(2)::after {
    animation-delay: .8s
}

.g-ai-stages span:nth-child(3)::after {
    animation-delay: 1.6s
}

.g-answer-lines i:nth-child(2) {
    width: 84%
}

.g-answer-lines i:nth-child(3) {
    width: 66%
}

/* Service cards: authentic photography, concrete services, one connected system. */
.growth-site .g-services {
    padding-top: 70px;
    padding-bottom: 85px;
    border-top: 1px solid var(--border)
}

.g-service-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px
}

.g-service-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 15px;
    padding: 15px 23px 23px;
    transition: border-color .3s, transform .3s, box-shadow .3s;
    min-width: 0
}

.g-service-card:hover {
    border-color: #9bbcd6;
    transform: translateY(-6px);
    box-shadow: 0 18px 40px #1233530c
}

.g-service-photo {
    height: 190px;
    overflow: hidden;
    position: relative;
    border-radius: 9px;
    margin: 0 -8px 24px
}

.g-service-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s
}

.g-service-card:hover img {
    transform: scale(1.04)
}

.g-service-photo>span {
    position: absolute;
    left: 12px;
    bottom: 12px;
    border-radius: 50%;
    background: #fff;
    height: 30px;
    width: 30px;
    display: grid;
    place-items: center;
    font-size: 10px;
    color: var(--ink)
}

.g-service-card h3 {
    font-size: 27px;
    font-weight: 400;
    margin-bottom: 12px
}

.g-service-card p {
    font-size: 15px;
    min-height: 74px
}

.g-service-card>div:last-child a {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    border-top: 1px solid var(--border);
    padding: 12px 0 10px;
    font-size: 14px;
    text-decoration: none;
    color: var(--ink)
}

.g-service-card>div:last-child a:hover {
    color: var(--blue)
}

.g-agency-link {
    font-size: 14px !important;
    margin-top: 26px;
    margin-bottom: 0 !important;
    color: var(--muted)
}

/* Proof: source-labelled historical results and a separate interactive sample. */
.g-proof {
    padding: 85px 0 80px;
    background: #eaf1f7
}

.g-proof-tabs {
    display: flex;
    gap: 7px;
    margin-bottom: 20px
}

.g-proof-tabs button {
    background: transparent;
    border: 1px solid #a9bfce;
    border-radius: 7px;
    color: var(--ink);
    padding: 13px 20px;
    font-size: 15px;
    cursor: pointer
}

.g-proof-tabs button[aria-selected=true] {
    background: var(--ink);
    color: white;
    border-color: var(--ink)
}

.g-rank-layout {
    display: grid;
    grid-template-columns: .72fr 1.28fr;
    background: #fff;
    border: 1px solid #d0dee9;
    border-radius: 16px;
    overflow: hidden
}

.g-proof-story {
    padding: 32px;
    border-right: 1px solid var(--border);
    background: #f9fbfd
}

.g-proof-story>img {
    width: 145px;
    height: 70px;
    object-fit: contain;
    object-position: left center;
    display: block;
    margin-bottom: 15px
}

.g-source-tag {
    display: inline-flex;
    font-size: 10px;
    letter-spacing: .02em;
    background: #edf4f8;
    color: #47657d;
    border: 1px solid #cfdee9;
    border-radius: 30px;
    padding: 5px 9px
}

.g-proof-story h3 {
    font-size: 30px;
    margin-top: 23px
}

.g-proof-story p {
    font-size: 14px
}

.g-rank-callout {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 22px 0
}

.g-rank-callout strong {
    font-size: 48px;
    line-height: 1;
    color: var(--blue);
    font-weight: 300
}

.g-rank-callout span {
    font-size: 12px;
    line-height: 1.5;
    color: var(--muted)
}

.g-table-scroll {
    min-width: 0;
    padding: 18px 28px;
    overflow: auto
}

.g-rank-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 430px;
    text-align: left
}

.g-rank-table caption {
    text-align: left;
    font-size: 13px;
    color: var(--muted);
    padding: 12px 0 18px
}

.g-rank-table th,
.g-rank-table td {
    padding: 14px 8px;
    border-bottom: 1px solid var(--border);
    font-size: 15px;
    line-height: 1.5;
    vertical-align: middle;
    color: var(--ink)
}

.g-rank-table thead th {
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .04em;
    background: #f6f9fc
}

.g-rank-table tbody th {
    font-weight: 400
}

.g-rank-table small {
    display: block;
    font-size: 10px;
    color: var(--muted)
}

.g-rank-table td:last-child {
    width: 150px
}

.g-rank-table .cs-rank-badge {
    background: #e9f3ff;
    border: 1px solid #c1dbf6;
    border-radius: 5px;
    color: #195caa;
    font-size: 12px;
    padding: 6px 9px;
    white-space: nowrap;
    display: inline-block
}

.growth-site .g-source-note {
    font-size: 11px;
    line-height: 1.6;
    color: #5d7287;
    margin: 17px 0 0
}

.g-dashboard {
    border: 1px solid #d1dfe9;
    background: #fff;
    border-radius: 16px;
    padding: 27px
}

.g-dashboard-top {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid var(--border);
    padding-bottom: 20px;
    align-items: center
}

.g-dashboard-top>div {
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 19px;
    color: var(--ink)
}

.g-dashboard-tools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    font-size: 13px;
    padding: 18px 0;
    color: var(--muted)
}

.g-dashboard-tools label {
    display: flex;
    gap: 8px;
    align-items: center;
    font-size: 12px;
    margin: 0
}

.g-dashboard-tools select {
    padding: 7px 25px 7px 10px;
    border: 1px solid var(--border);
    border-radius: 5px;
    font: 400 13px var(--font-site);
    width: auto;
    margin: 0
}

.g-metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px
}

.g-metrics>div {
    padding: 17px 20px;
    border-radius: 7px;
    background: #f1f6fb;
    border-top: 2px solid #2066bc
}

.g-metrics>div:nth-child(2) {
    border-color: #77acbe
}

.g-metrics>div:nth-child(3) {
    border-color: #bb9a3d
}

.g-metrics>div:nth-child(4) {
    border-color: #8499b0
}

.g-metrics span {
    font-size: 12px;
    color: var(--muted)
}

.g-metrics strong {
    display: block;
    color: var(--ink);
    font-size: 33px;
    font-weight: 300;
    margin-top: 7px
}

.g-chart-key {
    display: flex;
    gap: 18px;
    align-items: center;
    padding: 22px 0 0;
    font-size: 11px;
    color: var(--blue)
}

.g-chart-key>span:nth-child(2) {
    color: #4b8597
}

.g-chart-key small {
    margin-left: auto;
    color: var(--muted);
    font-size: 10px
}

.g-chart {
    width: 100%;
    height: auto;
    display: block;
    margin-top: 13px
}

.g-chart-line {
    stroke-dasharray: 1400;
    stroke-dashoffset: 0;
    animation: g-chart-draw 2s ease-out both
}

.g-proof-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-top: 25px
}

.g-proof-bottom p {
    font-size: 14px;
    margin: 0;
    max-width: 500px
}

/* Agency story and delivery roadmap. */
.g-process {
    background: radial-gradient(ellipse at 90% 0, #19466b, transparent 60%), #0c2034;
    padding: 85px 0
}

.g-process .ed-process-layout {
    display: grid;
    grid-template-columns: 1fr .95fr;
    gap: 8%;
    align-items: center
}

.g-process .ed-process-image {
    height: 570px;
    position: relative;
    border-radius: 13px;
    overflow: hidden
}

.g-process .ed-process-image>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 70%
}

.g-process .ed-photo-note {
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 22px;
    padding: 20px 24px;
    background: #ffffffeb;
    border-radius: 7px;
    color: var(--ink);
    font-size: 25px;
    font-weight: 300;
    line-height: 1.25
}

.g-process .ed-label {
    color: #b6d3e6
}

.g-process h2 {
    font-size: clamp(40px, 4.2vw, 61px);
    margin-top: 15px
}

.g-process p {
    font-size: 17px;
    color: #c7d8e8
}

.ed-process-tabs {
    display: flex;
    gap: 13px;
    border-bottom: 1px solid #4c6981;
    margin-top: 25px
}

.ed-process-tabs button {
    flex: 1;
    background: none;
    border: 0;
    border-bottom: 2px solid transparent;
    padding: 13px 0;
    color: #b8cfe2;
    text-align: left;
    font-size: 16px;
    cursor: pointer
}

.ed-process-tabs button span {
    display: block;
    font-size: 11px;
    margin-bottom: 7px
}

.ed-process-tabs button[aria-selected=true] {
    border-color: #f5cf5c;
    color: #fff
}

.ed-process-panel {
    padding-top: 25px;
    min-height: 160px
}

.g-process .ed-process-panel h3 {
    font-size: 26px;
    color: white;
    margin-bottom: 11px
}

.g-process .ed-process-panel p {
    font-size: 15px
}

.g-process .ed-text-link {
    color: #d8eaff;
    border-color: #63859f
}

.growth-site .sector-explorer {
    padding: 80px 0;
    background: #fff;
    border-bottom: 1px solid var(--border)
}

.sector-explorer-inner {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 8%;
    align-items: start
}

.sector-intro p {
    max-width: 350px;
    font-size: 17px
}

.sector-tabs {
    display: flex;
    gap: 7px;
    flex-wrap: wrap;
    margin-bottom: 20px
}

.sector-tabs button {
    font-size: 12px;
    padding: 11px 13px;
    border: 1px solid #b7cbd9;
    border-radius: 6px;
    background: none;
    color: var(--ink);
    cursor: pointer
}

.sector-tabs button[aria-selected=true] {
    background: var(--ink);
    color: #fff;
    border-color: var(--ink)
}

.sector-panel-intro {
    font-size: 13px !important;
    color: var(--muted)
}

.sector-link-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 18px
}

.sector-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 17px 0;
    border-bottom: 1px solid var(--border);
    text-decoration: none;
    color: var(--ink) !important;
    font-size: 17px
}

.sector-link-icon {
    display: flex;
    width: 28px;
    height: 28px;
    flex-shrink: 0
}

.sector-link svg {
    width: 28px;
    height: 28px;
    transition: transform .3s
}

.sector-link:hover svg {
    transform: translateY(-3px)
}

.sector-go {
    margin-left: auto;
    font-size: 12px;
    color: var(--muted)
}

.sector-isometric {
    display: none
}

/* Case studies and client feedback */
.growth-site .g-work {
    padding-top: 85px;
    padding-bottom: 75px
}

.g-work .ed-section-head {
    display: flex;
    justify-content: space-between;
    gap: 35px;
    align-items: end;
    margin-bottom: 35px
}

.g-work .ed-section-head h2 {
    margin: 15px 0 0
}

.g-work .ed-case-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px
}

.g-work .ed-case {
    text-decoration: none;
    color: var(--ink)
}

.g-work .ed-case-photo {
    position: relative;
    height: 380px;
    padding: 30px 30px 0;
    overflow: hidden;
    border-radius: 12px;
    background: #e2ebf0
}

.g-work .ed-case:nth-child(2) .ed-case-photo {
    background: #eae6de
}

.g-work .ed-case-photo img {
    width: 100%;
    height: auto;
    min-height: 100%;
    object-fit: cover;
    object-position: top;
    box-shadow: 0 15px 35px #12344a16;
    transition: transform .7s
}

.g-work .ed-case:hover img {
    transform: translateY(-14px)
}

.g-work .ed-case-open {
    position: absolute;
    right: 20px;
    bottom: 20px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #fff;
    font-size: 25px
}

.g-work .ed-case-meta {
    padding: 23px 0;
    display: flex;
    justify-content: space-between;
    gap: 20px
}

.g-work .ed-case-meta h3 {
    font-size: 26px;
    margin: 8px 0 10px
}

.g-work .ed-case-meta p {
    font-size: 14px;
    margin: 0
}

.g-work .ed-case-meta>span {
    font-size: 11px;
    white-space: nowrap
}

.g-work .ed-label {
    font-size: 10px;
    letter-spacing: .09em;
    text-transform: uppercase
}

.g-feedback {
    padding: 65px 0;
    background: #edf3f9
}

.ed-quote-grid {
    display: grid;
    grid-template-columns: 1.45fr .7fr;
    gap: 12%;
    align-items: center
}

.ed-quote-grid figure {
    margin: 20px 0
}

.ed-quote-grid blockquote {
    font-size: clamp(28px, 3.2vw, 43px);
    line-height: 1.3;
    font-weight: 300;
    letter-spacing: -.025em;
    color: var(--ink);
    margin: 0 0 25px
}

.ed-quote-grid figcaption {
    display: flex;
    gap: 12px;
    align-items: center;
    font-size: 14px;
    color: var(--ink)
}

.ed-person {
    width: 43px;
    height: 43px;
    border-radius: 50%;
    background: var(--ink);
    color: white;
    display: grid;
    place-items: center
}

.ed-quote-grid figcaption small {
    font-size: 11px;
    display: block;
    color: var(--muted)
}

.ed-review-link>span {
    font-size: 24px;
    font-weight: 300;
    line-height: 1.3;
    display: block;
    margin-bottom: 15px;
    color: var(--ink)
}

.ed-review-link small {
    display: block;
    font-size: 10px;
    color: var(--muted);
    margin-top: 16px
}

.g-feedback .ed-label {
    font-size: 11px;
    color: var(--muted);
    letter-spacing: .08em;
    text-transform: uppercase
}

/* FAQs, contextual form help, and the final decision. */
.growth-site .g-faq,
.growth-site .faq,
.growth-site .service-faq {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 9%;
    padding-top: 85px;
    padding-bottom: 85px
}

.g-faq h2 {
    margin-bottom: 24px
}

.growth-site details {
    border: 0;
    border-bottom: 1px solid var(--border);
    padding: 0;
    margin: 0;
    background: transparent;
    border-radius: 0
}

.growth-site summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    gap: 22px;
    font-size: 18px;
    font-weight: 400;
    color: var(--ink);
    padding: 21px 0;
    line-height: 1.4
}

.growth-site summary::-webkit-details-marker {
    display: none
}

.growth-site summary>span {
    font-size: 20px;
    font-weight: 300;
    transition: transform .3s
}

.growth-site details[open] summary>span {
    transform: rotate(45deg)
}

.growth-site details>p {
    font-size: 15px;
    color: var(--text);
    line-height: 1.75;
    padding: 0 25px 20px 0;
    margin: 0
}

.growth-site details[open]>p {
    animation: g-reveal .35s ease-out
}

.growth-site .audit {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 8%;
    padding: 75px 0 85px;
    background: transparent;
    border: 0;
    border-radius: 0;
    margin-bottom: 0;
    position: relative
}

.g-audit::before {
    content: '';
    position: absolute;
    inset: 0 calc((1320px - 100vw)/2);
    background: #f1f5fa;
    z-index: -1;
    pointer-events: none
}

.growth-site .audit h2 {
    font-size: 53px;
    line-height: 1.12
}

.growth-site .audit>div>p {
    font-size: 17px
}

.growth-site .audit form {
    padding: 33px;
    background: #fff;
    border: 1px solid #cddde9;
    border-radius: 16px;
    box-shadow: 0 20px 55px #142f4808;
    min-width: 0;
    align-self: start
}

.g-form-heading {
    margin-bottom: 25px
}

.g-form-heading .eyebrow {
    font-size: 10px;
    margin-bottom: 9px
}

.growth-site .g-form-heading h3 {
    font-size: 26px;
    font-weight: 400;
    margin-bottom: 10px
}

.g-form-heading .textlink {
    font-size: 12px
}

.growth-site label {
    font-size: 13px;
    font-weight: 400;
    color: var(--ink);
    display: block;
    margin-bottom: 17px
}

.growth-site input,
.growth-site select,
.growth-site textarea {
    font: 400 16px var(--font-site);
    padding: 13px 12px;
    border: 1px solid #b8cbd9;
    border-radius: 7px;
    background: #fff;
    color: var(--ink);
    width: 100%;
    min-width: 0;
    margin-top: 7px;
    transition: border-color .2s, box-shadow .2s
}

.growth-site input:focus,
.growth-site select:focus,
.growth-site textarea:focus {
    border-color: #216cc1;
    box-shadow: 0 0 0 3px #216cc110
}

.growth-site .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 17px
}

.growth-site .form-note,
.growth-site .small {
    font-size: 11px !important;
    color: var(--muted)
}

.growth-site .ticks {
    font-size: 15px
}

.growth-site .ticks li {
    margin: 12px 0
}

.growth-site .mq-assure {
    font-size: 12px !important
}

.g-form-helper {
    display: flex;
    align-items: start;
    gap: 13px;
    background: #e5eef6;
    border: 1px solid #c6d8e8;
    border-radius: 9px;
    padding: 18px;
    margin-top: 27px
}

.g-form-helper>span {
    color: #1767b2;
    font-size: 22px
}

.growth-site .g-form-helper p {
    font-size: 13px;
    color: #365b79;
    margin: 0;
    line-height: 1.6
}

.g-qualification {
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding-top: 19px;
    margin-bottom: 20px
}

.g-qualification .form-note {
    margin-top: -5px
}

.g-brief-summary {
    border: 1px solid #b3cfe5;
    background: #edf5fc;
    padding: 15px;
    margin-top: 20px;
    border-radius: 8px;
    font-size: 13px;
    color: var(--ink)
}

.growth-site #send-options {
    border-top: 1px solid var(--border);
    padding-top: 23px;
    margin-top: 25px
}

.growth-site #send-options h3 {
    font-size: 24px
}

.growth-site #send-options p {
    font-size: 13px
}

.growth-site #send-options .btn {
    margin: 6px 6px 5px 0;
    font-size: 14px;
    padding: 12px 15px
}

.g-close {
    padding: 75px 0 85px;
    background: radial-gradient(ellipse at right, #1a4d74, transparent 60%), #091929
}

.g-close h2 {
    font-size: clamp(45px, 5.8vw, 83px);
    line-height: 1.08;
    margin-bottom: 30px
}

.g-next-step {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    border-top: 1px solid var(--border);
    padding-top: 60px;
    padding-bottom: 65px
}

.g-next-step h2 {
    font-size: 46px;
    margin-bottom: 17px
}

.g-next-step p {
    font-size: 16px;
    margin: 0
}

.g-next-step .eyebrow {
    font-size: 11px
}

/* Solution detail: photographic hero, modular deliverables, explicit scope. */
.growth-site .g-solution-hero {
    padding: 0;
    background: radial-gradient(ellipse at 100% 25%, #19486e, transparent 60%), linear-gradient(115deg, #060d17, #102a44);
    border-bottom: 0
}

.growth-site .g-solution-hero .service-hero-inner {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 7%;
    padding: 60px 0 65px;
    align-items: center
}

.growth-site .g-solution-hero h1 {
    font-size: clamp(51px, 5.7vw, 85px);
    line-height: 1.06;
    letter-spacing: -.045em;
    font-weight: 300;
    color: #fff
}

.growth-site .g-solution-hero p {
    font-size: 18px;
    line-height: 1.7;
    max-width: 620px;
    color: #d0e0ed
}

.growth-site .g-solution-hero .breadcrumb {
    color: #bad1e3;
    font-size: 12px;
    margin-bottom: 22px
}

.growth-site .g-solution-hero .eyebrow {
    color: #b8d1e6;
    font-size: 11px
}

.growth-site .service-trust-notes {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    font-size: 11px;
    color: #bfd5e6;
    margin-top: 24px
}

.g-solution-photo {
    background: #fff;
    border: 1px solid #466582;
    border-radius: 17px;
    overflow: hidden;
    box-shadow: 0 25px 60px #0001;
    min-width: 0
}

.growth-site .g-solution-photo .service-art-photo {
    position: relative;
    aspect-ratio: 1.12;
    overflow: hidden;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0
}

.growth-site .g-solution-photo .service-art-photo>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    animation: g-photo 22s ease-in-out infinite alternate
}

.growth-site .platform-strip {
    position: absolute;
    bottom: 15px;
    left: 15px;
    right: 15px;
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 13px 15px;
    background: #fffffff0;
    border: 1px solid #ffffffb0;
    border-radius: 9px
}

.growth-site .platform-tile {
    display: flex;
    align-items: center;
    gap: 9px;
    flex: 1;
    padding: 0;
    background: none;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    transform: none
}

.growth-site .platform-tile img {
    width: 29px;
    height: 29px;
    object-fit: contain
}

.growth-site .platform-tile b {
    font-size: 12px;
    font-weight: 400;
    color: var(--ink)
}

.g-solution-caption {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 5px 18px;
    padding: 20px 23px;
    background: #fff;
    color: var(--ink)
}

.g-solution-caption>span:first-child {
    font-size: 9px;
    color: var(--muted);
    letter-spacing: .09em
}

.g-solution-caption b {
    font-size: 20px;
    font-weight: 400;
    grid-column: 1
}

.g-solution-caption>span:last-child {
    font-size: 25px;
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center
}

.growth-site .service-subnav {
    background: #fff;
    border-bottom: 1px solid var(--border);
    box-shadow: none;
    position: sticky;
    top: 86px;
    z-index: 30
}

.growth-site .service-subnav>.wrap {
    display: flex;
    justify-content: space-between;
    gap: 25px;
    align-items: center;
    padding-top: 13px;
    padding-bottom: 13px
}

.growth-site .service-subnav nav {
    display: flex;
    gap: 22px;
    overflow: auto;
    white-space: nowrap;
    scrollbar-width: none
}

.growth-site .service-subnav nav a {
    font-size: 13px;
    letter-spacing: 0;
    color: var(--muted);
    text-decoration: none;
    padding: 9px 0
}

.growth-site .service-subnav nav a:hover {
    color: var(--blue)
}

.growth-site .service-subnav>.wrap>.btn {
    padding: 10px 17px;
    min-height: 43px;
    font-size: 13px;
    white-space: nowrap
}

.growth-site .service-included {
    padding-top: 80px;
    padding-bottom: 80px
}

.growth-site .service-capability-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 19px
}

.growth-site .service-capability-grid>article {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 26px;
    box-shadow: none;
    position: relative;
    min-width: 0;
    transition: border-color .3s, box-shadow .3s, transform .3s
}

.growth-site .service-capability-grid>article:hover {
    border-color: #97b9d4;
    box-shadow: 0 15px 30px #142f4808;
    transform: translateY(-4px)
}

.capability-index {
    display: flex;
    justify-content: space-between;
    font-size: 10px;
    color: #6c8295;
    margin-bottom: 23px
}

.capability-index i {
    font-size: 15px;
    font-style: normal
}

.capability-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 49px;
    height: 49px;
    border-radius: 11px;
    background: #edf5fc;
    color: #276cb0;
    margin-bottom: 20px
}

.capability-icon svg {
    width: 32px;
    height: 32px
}

.capability-icon .icon-accent {
    stroke: #b6973a;
    stroke-dasharray: 80;
    animation: g-icon-draw 5s ease-in-out infinite
}

.growth-site .service-capability-grid h3 {
    font-size: 23px;
    margin-bottom: 14px
}

.growth-site .service-capability-grid p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--text);
    margin: 0
}

.growth-site .service-workflow {
    background: radial-gradient(ellipse at right top, #19486d, transparent 65%), #0b2034;
    padding: 80px 0;
    color: #d4e4ef
}

.growth-site .service-workflow h2 {
    color: #fff
}

.growth-site .service-workflow .section-head>p {
    font-size: 15px;
    color: #b8cedf
}

.growth-site .workflow-layout {
    display: grid;
    grid-template-columns: .7fr 1.3fr;
    gap: 35px
}

.growth-site .workflow-tabs {
    display: flex;
    flex-direction: column;
    gap: 7px;
    position: relative
}

.growth-site .workflow-tabs button {
    display: flex;
    align-items: center;
    gap: 17px;
    padding: 15px 18px;
    border: 1px solid #ffffff1c;
    background: #ffffff04;
    color: #b9d0e2;
    border-radius: 8px;
    text-align: left;
    font-size: 15px;
    cursor: pointer
}

.growth-site .workflow-tabs button>span {
    font-size: 11px;
    color: #88b2d0;
    min-width: 20px
}

.growth-site .workflow-tabs button>b {
    font-weight: 400
}

.growth-site .workflow-tabs button>i {
    margin-left: auto;
    font-style: normal
}

.growth-site .workflow-tabs button[aria-selected=true] {
    background: #e5f2ff;
    color: #163853;
    border-color: #e5f2ff;
    box-shadow: none
}

.growth-site .workflow-tabs button[aria-selected=true]>span {
    color: #276fae
}

.growth-site .workflow-view {
    padding: 32px;
    background: #ffffff07;
    border: 1px solid #43617b;
    border-radius: 13px;
    min-width: 0;
    position: relative
}

.growth-site .workflow-panel {
    padding: 0;
    background: none;
    border: 0
}

.growth-site .workflow-panel h3 {
    font-size: 34px;
    font-weight: 300;
    color: #fff;
    margin: 16px 0
}

.growth-site .workflow-panel>p {
    font-size: 17px;
    color: #cedfec
}

.growth-site .workflow-step-label {
    font-size: 10px;
    letter-spacing: .08em;
    color: #93b6d0
}

.growth-site .workflow-illustration {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    align-items: center;
    gap: 12px;
    padding: 15px 0 33px;
    min-height: 160px
}

.growth-site .workflow-visual-node {
    background: #112e47;
    border: 1px solid #4f6f89;
    border-radius: 8px;
    font-size: 12px;
    padding: 18px 13px;
    text-align: center;
    line-height: 1.5;
    color: #dcecf8;
    position: relative;
    z-index: 1
}

.growth-site .workflow-visual-node>small {
    display: block;
    font-size: 8px;
    letter-spacing: .08em;
    color: #8fb5d3;
    margin-bottom: 9px
}

.growth-site .workflow-visual-center {
    position: relative;
    display: grid;
    place-items: center
}

.growth-site .workflow-visual-center svg {
    width: 100%;
    height: auto
}

.growth-site .workflow-visual-center>span {
    position: absolute;
    top: 100%;
    font-size: 10px;
    color: #7ca8c9
}

.growth-site .workflow-route {
    stroke: #8cd4ff;
    stroke-dasharray: 80 500;
    animation: g-workflow-dash 5s linear infinite
}

.growth-site .workflow-route-base {
    stroke: #668da9
}

.growth-site .workflow-traveller {
    display: none
}

.growth-site .workflow-deliverable {
    background: #eaf4ff;
    border-radius: 8px;
    padding: 16px 20px;
    margin-top: 24px;
    color: #163652
}

.growth-site .workflow-deliverable span {
    display: block;
    font-size: 9px;
    letter-spacing: .08em;
    color: #4f7392
}

.growth-site .workflow-deliverable b {
    font-size: 15px;
    color: #163652;
    display: block;
    font-weight: 400;
    margin-top: 5px
}

.growth-site .workflow-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 27px;
    padding-top: 20px;
    border-top: 1px solid #44617a
}

.growth-site .workflow-controls button {
    border: 1px solid #6a859d;
    border-radius: 6px;
    padding: 9px 13px;
    background: none;
    color: #dcecf9;
    font-size: 12px;
    cursor: pointer
}

.growth-site .workflow-count {
    font-size: 11px;
    margin-left: auto;
    color: #a5c8e3
}

.growth-site .workflow-progress {
    height: 2px;
    background: #3a5870;
    overflow: hidden;
    width: 100%;
    order: 4
}

.growth-site .workflow-progress::after {
    content: '';
    height: 100%;
    display: block;
    background: var(--yellow);
    transform-origin: left;
    animation: g-progress var(--workflow-duration, 5200ms) linear infinite
}

.growth-site .workflow-status {
    font-size: 10px;
    color: #a5c8e3;
    margin-top: 15px
}

.growth-site .workflow-next-action {
    font-size: 12px;
    color: #cae7fc
}

.growth-site .workflow-motion-paused *,
.growth-site main.motion-paused * {
    animation-play-state: paused !important
}

.growth-site .workflow-progress-reset .workflow-progress::after {
    animation: none
}

.growth-site .service-results,
.growth-site .service-packages,
.growth-site .service-depth,
.growth-site .industry-results,
.growth-site .industry-depth {
    padding-top: 80px;
    padding-bottom: 75px
}

.growth-site .service-proof-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px
}

.growth-site .service-proof-grid>article,
.growth-site .service-proof-grid>div {
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #fff;
    padding: 25px;
    color: var(--text);
    box-shadow: none;
    min-width: 0
}

.growth-site .service-proof-grid h3 {
    font-size: 24px
}

.growth-site .service-proof-grid p {
    font-size: 14px
}

.growth-site .proof-source-note,
.growth-site .proof-preview-label {
    font-size: 11px;
    color: var(--muted);
    line-height: 1.65
}

.growth-site .service-evidence-footer {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    border-top: 1px solid var(--border);
    margin-top: 25px;
    padding-top: 22px;
    font-size: 13px
}

.growth-site #reporting-preview {
    padding-top: 20px;
    padding-bottom: 65px
}

.growth-site .search-report {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 13px;
    padding: 30px
}

.growth-site .serp-preview {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 9px;
    color: var(--ink)
}

.growth-site .serp-preview h3 {
    color: #195ba4
}

.growth-site .report-metrics {
    gap: 15px
}

.growth-site .package-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    align-items: stretch;
    margin-top: 30px
}

.growth-site .package-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 13px;
    box-shadow: none;
    padding: 28px;
    position: relative;
    overflow: hidden;
    min-width: 0
}

.growth-site .package-card.package-featured {
    background: linear-gradient(140deg, #102b44, #184767);
    border-color: #1a527c;
    color: #d8e9f6;
    transform: none;
    box-shadow: 0 15px 40px #142f4812
}

.growth-site .g-package-flag {
    font-size: 10px;
    background: #f5cf5c;
    color: #142f48;
    border-radius: 30px;
    padding: 6px 11px;
    align-self: flex-start;
    margin-bottom: 24px
}

.growth-site .package-topline {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 9px;
    letter-spacing: .09em;
    color: #698499;
    margin-bottom: 21px
}

.growth-site .package-topline i {
    font-size: 19px;
    font-style: normal
}

.growth-site .package-card h3 {
    font-size: 29px;
    line-height: 1.18;
    margin-bottom: 12px
}

.growth-site .package-fit {
    font-size: 13px;
    min-height: 39px;
    color: var(--muted)
}

.growth-site .package-price {
    padding: 22px 0;
    border-top: 1px solid #97b2c944;
    border-bottom: 1px solid #97b2c944;
    margin: 8px 0 20px
}

.growth-site .package-price b {
    font-size: 30px;
    font-weight: 300;
    display: block;
    line-height: 1.3
}

.growth-site .package-price span {
    display: block;
    font-size: 10px;
    margin-top: 8px;
    color: var(--muted)
}

.growth-site .package-card ul {
    list-style: none;
    margin: 0 0 25px;
    padding: 0;
    flex: 1
}

.growth-site .package-card li {
    font-size: 14px;
    line-height: 1.6;
    display: flex;
    gap: 9px;
    margin: 12px 0;
    color: var(--text)
}

.growth-site .package-card li>span {
    color: var(--blue);
    flex-shrink: 0
}

.growth-site .package-card.package-featured :is(h3, b) {
    color: #fff
}

.growth-site .package-card.package-featured :is(p, li, small, .package-topline, .package-price span) {
    color: #c7deee
}

.growth-site .package-card.package-featured li>span {
    color: #ffe18c
}

.growth-site .package-cta .btn {
    width: fit-content;
    font-size: 15px
}

.growth-site .package-footnote {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    padding-top: 23px;
    font-size: 12px;
    color: var(--muted)
}

.growth-site .mq-perks {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 25px;
    font-size: 12px;
    list-style: none;
    padding: 0;
    margin: 20px 0;
    color: var(--muted)
}

.growth-site .service-depth {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 8%
}

.growth-site .service-depth-details>div {
    border-bottom: 1px solid var(--border);
    padding: 21px 0
}

.growth-site .service-depth-details h3 {
    font-size: 25px;
    margin-bottom: 12px
}

.growth-site .service-depth-details p {
    font-size: 15px
}

.growth-site .service-final-cta,
.growth-site .industry-why-band,
.growth-site .brand-close,
.growth-site .cs-end-cta {
    background: radial-gradient(ellipse at right, #1b4c70, transparent 65%), #0b2034;
    padding: 65px 0;
    color: #d5e7f5
}

.growth-site :is(.service-final-cta, .industry-why-band, .brand-close, .cs-end-cta) h2 {
    color: #fff;
    max-width: 950px
}

.growth-site :is(.service-final-cta, .industry-why-band, .brand-close, .cs-end-cta) p {
    color: #bfd4e5;
    font-size: 17px
}

.growth-site .brand-triangle {
    display: none
}

.growth-site .cta-band {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    background: #112e48;
    border: 1px solid #335a79;
    border-radius: 13px;
    padding: 45px;
    margin-top: 35px;
    margin-bottom: 65px
}

.growth-site .cta-band h2 {
    font-size: 43px;
    margin: 0;
    color: #fff
}

.growth-site .cta-band .eyebrow {
    color: #b9d7ec
}

.growth-site .brand-close .word-highlight,
.growth-site .cs-end-cta .word-highlight {
    background-image: linear-gradient(105deg, #8ddaff, #abcaff 50%, #ffe18c)
}

/* Industry pages have their own photographic composition and a compact roadmap. */
.g-industry-hero {
    background: linear-gradient(115deg, #07111e, #102e49);
    padding: 0
}

.g-industry-hero-grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 7%;
    align-items: center;
    padding-top: 55px;
    padding-bottom: 60px
}

.g-industry-hero h1 {
    font-size: clamp(53px, 5.7vw, 84px);
    font-weight: 300;
    line-height: 1.07
}

.g-industry-hero p {
    font-size: 18px;
    color: #caddeb
}

.g-industry-hero .breadcrumb {
    color: #bed4e5
}

.g-industry-hero .eyebrow {
    font-size: 10px;
    color: #b6d1e4
}

.g-industry-figure {
    height: 550px;
    position: relative;
    margin: 0;
    overflow: hidden;
    border-radius: 80px 16px 16px 16px
}

.growth-site .g-industry-photo {
    display: block !important;
    position: static;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: none;
    opacity: 1;
    animation: g-photo 22s ease-in-out infinite alternate
}

.g-industry-figure::after {
    content: '';
    position: absolute;
    inset: 60% 0 0;
    background: linear-gradient(transparent, #0c2237c9)
}

.g-industry-figure figcaption {
    position: absolute;
    bottom: 28px;
    left: 30px;
    right: 30px;
    color: #fff;
    z-index: 1;
    font-size: 27px;
    line-height: 1.15;
    font-weight: 300
}

.g-industry-figure figcaption>span {
    float: right;
    font-size: 40px
}

.growth-site .industry-hero-process {
    display: block;
    color: #cbe5f9;
    text-decoration: none;
    font-size: 12px;
    margin-top: 22px
}

.growth-site .industry-context {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 9%;
    padding-top: 75px;
    padding-bottom: 70px
}

.growth-site .industry-context h2 {
    font-size: 46px
}

.growth-site .seo-overview-list>div {
    border-bottom: 1px solid var(--border);
    padding: 17px 0
}

.growth-site .seo-overview-list h3 {
    font-size: 23px
}

.growth-site .seo-overview-list p {
    font-size: 15px
}

.growth-site .industry-solutions {
    padding-top: 35px;
    padding-bottom: 75px
}

.growth-site .industry-solution-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 21px
}

.growth-site .industry-solution-card {
    padding: 27px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: none;
    position: relative;
    transition: transform .3s, border-color .3s
}

.growth-site .industry-solution-card:hover {
    transform: translateY(-4px);
    border-color: #8eb3d0
}

.growth-site .industry-pillar-icon {
    display: flex;
    width: 45px;
    height: 45px;
    background: #edf5fc;
    color: var(--blue);
    padding: 10px;
    border-radius: 9px;
    margin-bottom: 20px
}

.growth-site .industry-pillar-icon svg {
    width: 100%;
    height: 100%
}

.growth-site .industry-solution-number {
    position: absolute;
    right: 22px;
    top: 29px;
    font-size: 10px;
    color: #7a91a5
}

.industry-solution-number i {
    font-style: normal;
    margin-left: 10px
}

.growth-site .industry-solution-card h3 {
    font-size: 26px
}

.growth-site .industry-solution-copy p {
    font-size: 15px;
    line-height: 1.75
}

.growth-site .industry-solution-copy p:last-child {
    margin-bottom: 0
}

.growth-site .industry-results-content {
    border: 1px solid var(--border);
    border-radius: 13px;
    padding: 32px;
    background: #fff
}

.growth-site .industry-results-content h3 {
    font-size: 26px
}

.growth-site .industry-results-content p {
    font-size: 16px
}

.growth-site .industry-review-cta {
    margin-top: 25px;
    border-top: 1px solid var(--border);
    padding-top: 20px
}

.growth-site .industry-depth {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 9%
}

.growth-site .industry-detail-list>div {
    border-bottom: 1px solid var(--border);
    padding: 22px 0
}

.growth-site .industry-detail-list h3 {
    font-size: 25px
}

.growth-site .industry-detail-list p {
    font-size: 15px
}

.growth-site .industry-why-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px
}

.growth-site .industry-why-grid h3 {
    font-size: 23px;
    color: #fff
}

.growth-site .industry-why-grid p {
    font-size: 15px
}

/* Case study directory and details: work first, evidence second, no fabricated KPIs. */
.growth-site .cs-index-hero {
    background: linear-gradient(120deg, #0b2034, #19466b);
    padding: 65px 0 70px;
    color: #d4e5f2;
    overflow: hidden
}

.growth-site .cs-index-hero h1 {
    font-size: clamp(58px, 6.5vw, 94px);
    color: #fff;
    font-weight: 300;
    max-width: 1000px
}

.growth-site .cs-index-hero p {
    color: #c9dce9;
    max-width: 600px;
    font-size: 19px
}

.growth-site .cs-index-hero .eyebrow {
    color: #bcd4e5
}

.growth-site .cs-directory {
    padding-top: 45px;
    padding-bottom: 70px
}

.growth-site .project-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 25px
}

.growth-site .project-filters button {
    border: 1px solid #b6cbd9;
    border-radius: 30px;
    background: none;
    color: var(--ink);
    padding: 11px 18px;
    font-size: 13px;
    cursor: pointer
}

.growth-site .project-filters button[aria-pressed=true],
.growth-site .project-filters button.active {
    background: var(--ink);
    border-color: var(--ink);
    color: white
}

.growth-site .cs-list-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 35px 30px
}

.growth-site .cs-list-cover {
    border-radius: 13px;
    aspect-ratio: 1.4;
    background: #e3edf3;
    overflow: hidden;
    border: 1px solid #d0dce5;
    box-shadow: none
}

.growth-site .cs-list-cover>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s
}

.growth-site .cs-list-card:hover .cs-list-cover>img {
    transform: scale(1.035)
}

.growth-site .cs-list-shade {
    display: none
}

.growth-site .cs-card-logo {
    position: absolute;
    left: 20px;
    right: auto;
    top: 20px;
    bottom: auto;
    width: 175px;
    height: 74px;
    padding: 12px 17px;
    border-radius: 8px;
    border: 1px solid #dce6ed;
    background: #fffffff5;
    box-shadow: none;
    display: flex;
    align-items: center;
    justify-content: center
}

.growth-site .cs-card-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: none;
    mix-blend-mode: normal
}

.growth-site .cs-card-button {
    position: absolute;
    bottom: 20px;
    right: 20px;
    left: auto;
    width: auto;
    padding: 11px 20px;
    background: #fff;
    border: 0;
    border-radius: 30px;
    color: var(--ink);
    font-size: 12px;
    box-shadow: none
}

.growth-site .cs-card-button i {
    margin-left: 20px
}

.growth-site .cs-list-caption {
    text-align: left;
    padding: 21px 1px 5px
}

.growth-site .cs-list-caption h2 {
    font-size: 29px;
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 12px
}

.growth-site .cs-list-caption p {
    font-size: 14px;
    color: var(--muted);
    line-height: 1.6;
    margin: 0
}

.growth-site .cs-detail-hero {
    background: linear-gradient(115deg, #081725, #153b5a);
    padding: 45px 0 65px
}

.growth-site .cs-detail-hero .breadcrumb {
    color: #c0d9eb
}

.growth-site .cs-detail-hero-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7%;
    align-items: center
}

.growth-site .cs-detail-hero h1 {
    font-size: clamp(51px, 5.3vw, 80px);
    line-height: 1.06;
    color: #fff;
    font-weight: 300
}

.growth-site .cs-detail-hero h2 {
    font-size: 27px;
    color: #cde4f5;
    font-weight: 300;
    margin-bottom: 19px
}

.growth-site .cs-detail-hero p {
    font-size: 17px;
    color: #bfd5e6
}

.growth-site .cs-brand-art {
    padding: 22px 22px 0;
    background: #eaf1f7;
    border: 1px solid #7c99ae;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: none;
    min-height: 0;
    position: relative
}

.growth-site .cs-hero-logo {
    display: block;
    width: 165px;
    height: 68px;
    object-fit: contain;
    margin: 0 0 20px;
    filter: none
}

.growth-site .cs-cover-stack {
    height: 330px;
    transform: none;
    border-radius: 6px 6px 0 0;
    overflow: hidden;
    box-shadow: 0 10px 30px #102f4920
}

.growth-site .cs-cover-stack img {
    width: 100%;
    height: auto;
    min-height: 100%;
    object-fit: cover;
    object-position: top;
    transform: none
}

.growth-site .cs-introduction {
    padding-top: 70px;
    padding-bottom: 65px;
    display: grid;
    grid-template-columns: 1.1fr .8fr;
    gap: 9%
}

.growth-site .cs-introduction h2 {
    font-size: 45px
}

.growth-site .cs-client-facts {
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #fff;
    padding: 25px
}

.growth-site .cs-client-facts dt {
    font-size: 10px;
    letter-spacing: .07em;
    color: var(--muted)
}

.growth-site .cs-client-facts dd {
    font-size: 15px;
    margin: 5px 0 20px;
    color: var(--ink)
}

.growth-site .cs-challenge {
    background: #edf3f8;
    padding: 60px 0
}

.growth-site .cs-story-split {
    display: grid;
    grid-template-columns: .7fr 1.3fr;
    gap: 9%
}

.growth-site .cs-story-split p {
    font-size: 17px
}

.growth-site .cs-approach {
    padding-top: 75px;
    padding-bottom: 65px
}

.growth-site .cs-approach-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px
}

.growth-site .cs-approach-grid>article {
    border: 1px solid var(--border);
    padding: 25px;
    border-radius: 11px;
    background: white;
    box-shadow: none
}

.growth-site .cs-approach-grid h3 {
    font-size: 24px
}

.growth-site .cs-approach-grid p {
    font-size: 15px
}

.growth-site .cs-provenance {
    font-size: 11px;
    color: var(--muted);
    line-height: 1.65;
    margin-top: 25px
}

.growth-site .case-data-section {
    padding-top: 10px;
    padding-bottom: 65px
}

.growth-site .case-data-board {
    border: 1px solid #c9dbe8;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: none;
    background: #fff
}

.growth-site .case-data-top {
    background: #edf4f9;
    padding: 25px 30px;
    border-bottom: 1px solid #d2e1ec
}

.growth-site .case-data-top h2 {
    font-size: 39px;
    color: var(--ink)
}

.growth-site .case-data-top p {
    font-size: 14px
}

.growth-site .case-data-body {
    display: grid;
    grid-template-columns: .65fr 1.35fr;
    gap: 25px;
    padding: 25px
}

.growth-site .case-site-preview {
    height: 450px;
    overflow: hidden;
    background: #eaf0f5;
    border: 1px solid var(--border);
    border-radius: 8px
}

.growth-site .case-site-preview img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: top
}

.growth-site .case-table-grid {
    display: grid;
    gap: 22px;
    min-width: 0
}

.growth-site .case-table-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden
}

.growth-site .case-table-card h3 {
    font-size: 22px;
    padding: 18px 20px;
    margin: 0;
    background: #f4f8fc
}

.growth-site .case-table-scroll {
    overflow: auto
}

.growth-site .case-table-card table {
    border-collapse: collapse;
    width: 100%;
    min-width: 460px
}

.growth-site .case-table-card :is(th, td) {
    padding: 12px 15px;
    border-bottom: 1px solid var(--border);
    font-size: 13px;
    text-align: left;
    font-weight: 400;
    color: var(--text)
}

.growth-site .case-table-card thead th {
    font-size: 11px;
    font-weight: 500;
    color: var(--ink)
}

.growth-site .case-table-card th small {
    display: block;
    font-size: 10px;
    color: var(--muted)
}

.growth-site .case-data-note {
    font-size: 11px;
    line-height: 1.6;
    color: var(--muted);
    padding: 15px 20px;
    margin: 0
}

.growth-site .cs-rank-badge {
    display: inline-block;
    border: 1px solid #bbd8ef;
    background: #eaf4ff;
    color: #205c98;
    border-radius: 4px;
    padding: 4px 8px;
    font-size: 11px;
    white-space: nowrap
}

.growth-site .cs-insights {
    padding-top: 20px;
    padding-bottom: 65px
}

.growth-site .cs-insights h2 {
    font-size: 45px
}

.growth-site .cs-insights>div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px
}

.growth-site .cs-insights h3 {
    font-size: 24px
}

.growth-site .cs-insights p {
    font-size: 15px
}

/* Remaining routes get deliberate page templates, readable content, and next steps. */
.growth-site .editorial-hero,
.growth-site .page-hero,
.growth-site .article-hero {
    padding-top: 62px;
    padding-bottom: 65px;
    margin-bottom: 0;
    background: none
}

.growth-site .editorial-hero h1 {
    max-width: 1080px;
    font-size: clamp(55px, 6.4vw, 92px);
    font-weight: 300
}

.growth-site .editorial-hero>p {
    font-size: 20px;
    max-width: 800px
}

.growth-site .page-hero {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 8%;
    align-items: center
}

.growth-site .page-hero h1 {
    font-size: clamp(51px, 5.4vw, 78px);
    font-weight: 300
}

.growth-site .page-hero p {
    font-size: 18px
}

.growth-site .page-photo {
    height: 430px;
    width: 100%;
    object-fit: cover;
    border-radius: 16px;
    filter: none
}

.growth-site .document-layout {
    display: grid;
    grid-template-columns: .35fr 1fr;
    gap: 7%;
    padding: 45px 0 65px;
    max-width: 1180px
}

.growth-site .document-layout aside {
    position: sticky;
    top: 180px;
    align-self: start;
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 22px;
    background: #fff
}

.growth-site .document-layout aside>a {
    display: block;
    font-size: 14px;
    line-height: 1.5;
    margin: 14px 0;
    text-decoration: none
}

.growth-site .document-layout aside>.btn {
    font-size: 13px;
    padding: 13px;
    margin-top: 22px
}

.growth-site .content-block {
    padding: 10px 0 34px;
    margin-bottom: 30px;
    border-bottom: 1px solid var(--border)
}

.growth-site .content-block h2 {
    font-size: 42px
}

.growth-site .content-block p {
    font-size: 17px
}

.growth-site .content-block h3 {
    font-size: 25px
}

.growth-site .mq-ticks>p {
    padding: 15px 0 15px 25px;
    border-bottom: 1px solid #e5edf4;
    position: relative
}

.growth-site .mq-ticks>p::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--blue)
}

.growth-site .solution-directory {
    padding: 10px 0 65px
}

.growth-site .solution-group {
    margin-bottom: 45px
}

.growth-site .solution-group>h2 {
    font-size: 36px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--border)
}

.growth-site .solution-detail-card {
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: none;
    background: #fff
}

.growth-site .solution-detail-card h3 {
    font-size: 27px
}

.growth-site .solution-detail-card p {
    font-size: 15px
}

.growth-site .solution-detail-card .btn {
    font-size: 14px
}

.growth-site .blog-directory {
    padding-top: 10px;
    padding-bottom: 75px
}

.growth-site .blog-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 30px
}

.growth-site .blog-filters button {
    border: 1px solid #b7cbd9;
    border-radius: 30px;
    padding: 11px 18px;
    background: #fff;
    color: var(--ink);
    font-size: 13px;
    cursor: pointer
}

.growth-site .blog-filters button.active,
.growth-site .blog-filters button[aria-pressed=true] {
    background: var(--ink);
    color: white
}

.growth-site .insight-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px
}

.growth-site .insight-card {
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #fff;
    box-shadow: none;
    overflow: hidden;
    padding-bottom: 25px
}

.growth-site .insight-card .insight-image {
    height: 225px;
    border-radius: 0;
    overflow: hidden
}

.growth-site .insight-image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    transition: transform .7s
}

.growth-site .insight-card:hover img {
    transform: scale(1.04)
}

.growth-site .insight-card h3 {
    font-size: 26px;
    margin: 19px 22px 15px
}

.growth-site .insight-card p {
    font-size: 14px;
    margin: 0 22px 18px
}

.growth-site .insight-card>a.textlink {
    margin: 0 22px
}

.growth-site .article-hero {
    max-width: 1100px
}

.growth-site .article-hero h1 {
    font-size: clamp(49px, 5.9vw, 83px);
    font-weight: 300;
    max-width: 1100px
}

.growth-site .article-hero p {
    font-size: 20px;
    max-width: 850px
}

.growth-site .article-byline {
    font-size: 12px;
    color: var(--muted)
}

.growth-site .article-cover {
    margin-bottom: 60px
}

.growth-site .article-cover img {
    height: 450px;
    width: 100%;
    object-fit: cover;
    border-radius: 15px
}

.growth-site .article-layout {
    display: grid;
    grid-template-columns: 1fr .35fr;
    gap: 8%;
    padding-bottom: 65px;
    max-width: 1120px
}

.growth-site .journal-prose h2 {
    font-size: 38px;
    margin-top: 45px
}

.growth-site .journal-prose h3 {
    font-size: 27px;
    margin-top: 30px
}

.growth-site .journal-prose p,
.growth-site .journal-prose li {
    font-size: 18px;
    line-height: 1.85
}

.growth-site .journal-sidebar {
    position: sticky;
    top: 150px;
    align-self: start;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: #fff;
    padding: 24px;
    font-size: 14px
}

.growth-site .journal-sidebar h3 {
    font-size: 23px
}

.growth-site .journal-sidebar p {
    font-size: 14px
}

.growth-site .journal-sidebar .btn {
    font-size: 13px;
    padding: 13px
}

.growth-site .insights-section {
    padding: 35px 0 70px
}

.growth-site .uc-hero {
    padding-top: 60px;
    padding-bottom: 60px;
    gap: 8%
}

.growth-site .uc-hero h1 {
    font-size: clamp(52px, 5.6vw, 84px);
    font-weight: 300
}

.growth-site .uc-hero p {
    font-size: 18px
}

.growth-site .uc-feature {
    border-radius: 15px;
    overflow: hidden;
    border: 1px solid var(--border);
    box-shadow: none
}

.growth-site .uc-goals {
    padding: 65px 0;
    background: #edf3f8
}

.growth-site .uc-gallery,
.growth-site .uc-measure,
.growth-site .ads-report-section {
    padding-top: 70px;
    padding-bottom: 70px
}

.growth-site .uc-grid {
    gap: 25px
}

.growth-site .report-dashboard {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 15px;
    box-shadow: none;
    overflow: hidden
}

.growth-site .reviews-section {
    padding: 65px 0;
    background: #edf3f8
}

.growth-site .mq-cta-band {
    border-radius: 12px;
    background: #102e47;
    padding: 40px;
    color: #fff;
    margin-bottom: 50px
}

.growth-site .mq-cta-band h2 {
    color: #fff
}

/* A small, explicit automated guide. It never pretends to be a human or a live AI. */
.g-guide-launch {
    position: fixed;
    bottom: 25px;
    right: 26px;
    z-index: 110;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #a8c2d8;
    border-radius: 40px;
    padding: 7px 19px 7px 7px;
    background: #fff;
    color: var(--ink);
    font-size: 13px;
    box-shadow: 0 8px 35px #0d2c4e26;
    cursor: pointer;
    transition: transform .25s
}

.g-guide-launch:hover {
    transform: translateY(-3px)
}

.g-bot {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: linear-gradient(135deg, #123a5d, #215784);
    color: #d3efff;
    flex-shrink: 0
}

.g-bot svg {
    width: 31px;
    height: 31px;
    overflow: visible
}

.g-bot .g-eye {
    transform-origin: center;
    animation: g-blink 7s infinite
}

.g-bot .g-antenna {
    fill: #f5cf5c;
    animation: g-pulse 3s ease-in-out infinite
}

.g-guide-teaser {
    position: fixed;
    right: 27px;
    bottom: 97px;
    z-index: 109;
    background: #fff;
    border: 1px solid #bdd0df;
    border-radius: 13px;
    padding: 17px 36px 18px 18px;
    box-shadow: 0 10px 30px #143c5e12;
    width: 260px;
    font-size: 13px;
    color: var(--ink);
    animation: g-reveal .4s ease-out
}

.g-guide-teaser>button {
    position: absolute;
    right: 9px;
    top: 5px;
    border: 0;
    background: none;
    cursor: pointer;
    padding: 3px 6px;
    font-size: 19px;
    color: #5b7388
}

.g-guide-teaser p {
    font-size: 13px;
    margin: 0
}

.g-guide-teaser strong {
    display: block;
    margin-bottom: 5px;
    font-weight: 500
}

.g-guide-dialog {
    position: fixed;
    right: 25px;
    bottom: 100px;
    width: 390px;
    max-width: calc(100vw - 30px);
    max-height: calc(100dvh - 130px);
    z-index: 120;
    background: #fff;
    border: 1px solid #bed0de;
    border-radius: 17px;
    box-shadow: 0 25px 90px #07182d38;
    overflow: auto;
    overscroll-behavior: contain;
    color: var(--ink);
    animation: g-reveal .35s ease-out
}

.g-guide-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 20px;
    background: linear-gradient(115deg, #102e48, #1a4d73);
    border-radius: 16px 16px 0 0;
    color: #fff;
    position: sticky;
    top: 0;
    z-index: 2
}

.g-guide-header h2 {
    font-size: 19px;
    color: #fff;
    font-weight: 400;
    letter-spacing: -.02em;
    margin: 0
}

.g-guide-header p {
    font-size: 10px;
    margin: 2px 0 0;
    color: #bed8ea
}

.g-guide-header>button {
    margin-left: auto;
    align-self: start;
    color: #c9e1f3;
    border: 0;
    background: none;
    font-size: 24px;
    cursor: pointer;
    line-height: 1;
    padding: 2px 0 5px 8px
}

.g-guide-header .g-bot {
    width: 37px;
    height: 37px;
    background: #ffffff0d
}

.g-guide-content {
    padding: 24px
}

.g-guide-progress {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #628098;
    margin-bottom: 15px
}

.g-guide-progress>span:last-child {
    width: 90px;
    height: 3px;
    background: #dde8f0;
    border-radius: 10px;
    overflow: hidden
}

.g-guide-progress i {
    display: block;
    height: 100%;
    background: #377db8;
    transition: width .3s
}

.growth-site .g-guide-content h3 {
    font-size: 26px;
    font-weight: 300;
    line-height: 1.2;
    margin: 0 0 12px;
    color: var(--ink)
}

.growth-site .g-guide-content>p {
    font-size: 13px;
    color: var(--muted);
    line-height: 1.65;
    margin-bottom: 20px
}

.g-guide-choices {
    display: grid;
    gap: 9px
}

.g-guide-choice {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    background: #f6f9fc;
    border: 1px solid #cddde9;
    border-radius: 8px;
    padding: 12px 13px;
    font-size: 14px;
    color: var(--ink);
    cursor: pointer;
    text-align: left;
    transition: background .2s, border-color .2s
}

.g-guide-choice:hover {
    background: #eaf4fd;
    border-color: #84afd0
}

.g-guide-choice:focus-visible {
    outline-offset: 2px
}

.g-guide-back {
    border: 0;
    background: none;
    padding: 5px 0;
    color: #597992;
    font-size: 12px;
    cursor: pointer;
    margin-top: 19px
}

.g-guide-note {
    padding: 14px 24px;
    border-top: 1px solid #dce6ef;
    font-size: 10px;
    color: #638096;
    background: #f6f9fc
}

.g-guide-content label {
    font-size: 12px
}

.g-guide-content input {
    padding: 12px;
    font-size: 15px
}

.g-guide-content .btn {
    font-size: 14px;
    padding: 13px 17px;
    min-height: 48px;
    gap: 10px
}

.g-guide-error {
    font-size: 12px !important;
    color: #a03732 !important;
    margin-top: 10px
}

.g-guide-result-list {
    margin: 0 0 20px;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 9px
}

.g-guide-result-list li {
    border: 1px solid #d2e2ed;
    background: #f1f7fc;
    padding: 10px 13px;
    border-radius: 7px;
    font-size: 13px
}

.g-guide-result-list li span {
    display: block;
    font-size: 10px;
    color: #6b879d;
    margin-top: 3px
}

.g-guide-restart {
    border: 0;
    background: none;
    color: #5b7c96;
    text-decoration: underline;
    font-size: 12px;
    padding: 10px 0;
    cursor: pointer;
    display: block;
    margin-top: 10px
}

.g-form-progress {
    border-bottom: 1px solid var(--border);
    padding-bottom: 20px;
    margin-bottom: 22px
}

.g-form-progress>span {
    font-size: 11px;
    color: var(--muted)
}

.g-form-progress>div {
    height: 3px;
    background: #e6edf4;
    margin-top: 9px;
    border-radius: 10px;
    overflow: hidden
}

.g-form-progress i {
    height: 100%;
    background: #5a95c6;
    display: block;
    width: 0;
    transition: width .3s
}

.g-contact-bar {
    display: none
}

.g-guide-toast {
    font-size: 12px;
    background: #e8f3fb;
    color: #2d6389;
    border: 1px solid #b3d0e6;
    border-radius: 8px;
    padding: 13px 15px;
    margin-bottom: 20px;
    animation: g-reveal .4s ease-out
}

/* Footer and motion controls */
.growth-site footer {
    background: #f1f5f8;
    border-top: 1px solid var(--border);
    padding: 55px 0 0;
    color: var(--muted)
}

.growth-site .footer-top {
    display: grid;
    grid-template-columns: 1.3fr .8fr 1.1fr .8fr;
    gap: 40px;
    padding-bottom: 40px
}

.growth-site .footer-top .brand img {
    width: 140px
}

.growth-site footer h3 {
    font-size: 16px;
    font-weight: 500;
    color: var(--ink);
    letter-spacing: -.015em;
    margin-bottom: 20px
}

.growth-site footer p {
    font-size: 14px;
    margin-top: 18px;
    color: var(--muted)
}

.growth-site footer a {
    display: block;
    font-size: 13px;
    color: #4a687f;
    line-height: 1.65;
    margin: 7px 0;
    text-decoration: none
}

.growth-site footer span {
    font-size: 13px;
    color: var(--muted)
}

.growth-site .footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 25px;
    border-top: 1px solid var(--border);
    padding: 22px 0
}

.growth-site .footer-bottom span {
    font-size: 11px
}

.growth-site .social {
    display: flex;
    gap: 15px;
    margin-top: 15px
}

.growth-site .g-word {
    display: inline-block;
    transform: none;
    vertical-align: baseline
}

.growth-site .g-heading-running .g-word {
    animation: g-heading-in .85s cubic-bezier(.2, .65, .2, 1) both;
    animation-delay: var(--word-delay, 0s)
}

.growth-site .g-heading-running .word-highlight {
    animation: g-heading-in .85s cubic-bezier(.2, .65, .2, 1) both, g-gradient-drift 10s ease-in-out 1s infinite;
    background-size: 150% 100%
}

.g-reveal-on {
    animation: g-reveal .75s cubic-bezier(.2, .65, .2, 1) both
}

.g-offscreen * {
    animation-play-state: paused !important
}

.g-motion-paused *,
.g-motion-paused *::before,
.g-motion-paused *::after {
    animation-play-state: paused !important
}

.g-motion-paused .g-word {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important
}

.g-motion-paused .g-chart-line {
    stroke-dashoffset: 0 !important
}

.g-motion-paused [data-reveal] {
    opacity: 1 !important;
    transform: none !important
}

.growth-site main.motion-paused .g-word {
    opacity: 1 !important;
    transform: none !important
}

@keyframes g-heading-in {
    from {
        opacity: .45;
        transform: translateY(.18em);
        filter: blur(2px)
    }

    to {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0)
    }
}

@keyframes g-gradient-drift {

    0%,
    100% {
        background-position: 0 50%
    }

    50% {
        background-position: 100% 50%
    }
}

@keyframes g-reveal {
    from {
        opacity: .55;
        transform: translateY(18px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes g-photo {
    from {
        transform: scale(1)
    }

    to {
        transform: scale(1.045)
    }
}

@keyframes g-search {

    0%,
    100% {
        transform: translateY(0)
    }

    50% {
        transform: translateY(-6px)
    }
}

@keyframes g-pulse {

    0%,
    100% {
        opacity: 1
    }

    50% {
        opacity: .45
    }
}

@keyframes g-cursor {

    0%,
    40%,
    100% {
        opacity: 1
    }

    45%,
    90% {
        opacity: 0
    }
}

@keyframes g-dash {
    to {
        stroke-dashoffset: -512
    }
}

@keyframes g-logo-scroll {
    to {
        transform: translateX(-50%)
    }
}

@keyframes g-glow {
    to {
        transform: translate(-80px, 80px)
    }
}

@keyframes g-stage {

    0%,
    10% {
        width: 0
    }

    45%,
    75% {
        width: 100%
    }

    100% {
        width: 0
    }
}

@keyframes g-spark {
    to {
        transform: rotate(360deg)
    }
}

@keyframes g-line-shine {

    0%,
    20% {
        transform: translateX(-100%)
    }

    80%,
    100% {
        transform: translateX(100%)
    }
}

@keyframes g-chart-draw {
    from {
        stroke-dashoffset: 1400
    }

    to {
        stroke-dashoffset: 0
    }
}

@keyframes g-icon-draw {

    0%,
    100% {
        stroke-dashoffset: 0
    }

    50% {
        stroke-dashoffset: 20
    }
}

@keyframes g-workflow-dash {
    to {
        stroke-dashoffset: -580
    }
}

@keyframes g-progress {
    from {
        transform: scaleX(0)
    }

    to {
        transform: scaleX(1)
    }
}

@keyframes g-blink {

    0%,
    43%,
    47%,
    100% {
        transform: scaleY(1)
    }

    45% {
        transform: scaleY(.15)
    }
}

@media(min-width:1500px) {
    .g-hero {
        padding-top: 85px
    }

    .growth-site .g-hero .g-hero-grid {
        padding-bottom: 80px
    }

    .g-hero-photo {
        height: 400px
    }

    .g-motion-flow {
        padding-top: 28px;
        padding-bottom: 25px
    }

    .g-solution-hero .service-hero-inner {
        padding-top: 80px;
        padding-bottom: 85px
    }
}

@media(max-width:1150px) {

    .growth-site .wrap,
    .ed-wrap {
        width: calc(100% - 64px)
    }

    .growth-site header nav {
        gap: 18px
    }

    .growth-site .g-hero .g-hero-grid {
        gap: 40px
    }

    .g-hero-copy h1 {
        font-size: 76px
    }

    .g-hero-copy .btn {
        font-size: 14px;
        padding: 15px 17px;
        gap: 15px
    }

    .g-hero-photo {
        height: 340px
    }

    .g-search-float {
        left: -14px;
        right: 20px;
        font-size: 13px
    }

    .g-motion-flow b {
        font-size: 11px
    }

    .g-motion-flow small {
        font-size: 9px
    }

    .growth-site .g-intent-bar {
        grid-template-columns: .8fr 1.4fr;
        gap: 15px 25px
    }

    .g-intent-link {
        display: none
    }

    .growth-site #g-goal-status {
        grid-column: 2
    }

    .g-service-grid {
        gap: 16px
    }

    .g-service-card {
        padding: 12px 18px 20px
    }

    .g-service-card h3 {
        font-size: 25px
    }

    .g-service-photo {
        height: 160px
    }

    .g-service-card p {
        font-size: 14px;
        min-height: 76px
    }

    .g-proof-story {
        padding: 25px
    }

    .g-table-scroll {
        padding: 15px 18px
    }

    .g-rank-layout {
        grid-template-columns: .75fr 1.25fr
    }

    .g-proof-story h3 {
        font-size: 27px
    }

    .g-process .ed-process-image {
        height: 540px
    }

    .ed-process-tabs {
        gap: 9px
    }

    .ed-process-tabs button {
        font-size: 14px
    }

    .g-work .ed-case-meta {
        display: block
    }

    .g-work .ed-case-meta>span {
        display: block;
        margin-top: 13px
    }

    .g-work .ed-case-photo {
        height: 330px
    }

    .growth-site .audit {
        gap: 5%
    }

    .growth-site .audit h2 {
        font-size: 46px
    }

    .growth-site .audit form {
        padding: 26px
    }

    .growth-site .g-solution-hero .service-hero-inner {
        gap: 5%
    }

    .growth-site .g-solution-hero h1 {
        font-size: 67px
    }

    .growth-site .g-solution-hero .btn {
        font-size: 14px;
        padding: 15px 17px;
        gap: 14px
    }

    .growth-site .g-solution-photo .service-art-photo {
        aspect-ratio: .95
    }

    .growth-site .workflow-layout {
        grid-template-columns: .8fr 1.2fr;
        gap: 25px
    }

    .growth-site .workflow-view {
        padding: 25px
    }

    .growth-site .workflow-illustration {
        gap: 6px
    }

    .growth-site .workflow-visual-node {
        padding: 15px 9px;
        font-size: 10px
    }

    .growth-site .service-capability-grid>article {
        padding: 23px
    }

    .growth-site .package-card {
        padding: 23px
    }

    .growth-site .package-card h3 {
        font-size: 25px
    }

    .growth-site .package-card li {
        font-size: 13px
    }

    .g-industry-hero h1 {
        font-size: 65px
    }

    .g-industry-figure {
        height: 520px
    }

    .growth-site .industry-solution-card {
        padding: 23px
    }

    .growth-site .case-data-body {
        grid-template-columns: .6fr 1.4fr;
        padding: 20px;
        gap: 20px
    }

    .growth-site .cs-detail-hero h1 {
        font-size: 66px
    }

    .growth-site .cs-approach-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .g-audit::before {
        inset: 0 -32px
    }

    .growth-site .footer-top {
        gap: 25px
    }

    .growth-site .footer-top>div:first-child {
        min-width: 0
    }

    .growth-site footer a {
        font-size: 12px;
        overflow-wrap: anywhere
    }
}

@media(max-width:800px) {
    html {
        scroll-padding-top: 90px
    }

    .growth-site {
        overflow-x: hidden
    }

    .growth-site .wrap,
    .ed-wrap {
        width: calc(100% - 44px)
    }

    .growth-site header .nav {
        height: 76px;
        width: calc(100% - 36px);
        justify-content: space-between
    }

    .growth-site .brand img {
        width: 130px
    }

    .growth-site header nav {
        top: 75px;
        left: 0;
        right: 0;
        width: 100%;
        background: #fff;
        padding: 18px 24px;
        max-height: calc(100dvh - 75px);
        overflow: auto;
        border-bottom: 1px solid var(--border)
    }

    .growth-site header nav.mobile-open {
        display: flex;
        flex-direction: column;
        gap: 0;
        align-items: stretch
    }

    .growth-site header nav>a,
    .growth-site header nav>.dropdown>button {
        font-size: 24px;
        padding: 15px 0;
        line-height: 1.3
    }

    .growth-site header nav>a:last-child {
        align-self: flex-start;
        margin-top: 15px;
        font-size: 18px;
        padding: 12px 22px
    }

    .growth-site header .mega-panel {
        position: static;
        left: auto;
        top: auto;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        transform: none;
        border-radius: 8px;
        padding: 0;
        margin: 8px 0 12px;
        box-shadow: none;
        max-height: none
    }

    .growth-site .mega-panel-body {
        grid-template-columns: 1fr;
        gap: 22px;
        padding: 20px
    }

    .growth-site .mega-column h2 {
        font-size: 20px
    }

    .growth-site .mega-column>p {
        font-size: 13px
    }

    .growth-site .mega-link b,
    .growth-site .industry-menu-link b {
        font-size: 17px
    }

    .growth-site .mega-footer {
        flex-wrap: wrap;
        gap: 15px;
        padding: 15px 20px
    }

    .g-hero {
        padding-top: 38px
    }

    .growth-site .g-hero .g-hero-grid {
        grid-template-columns: 1fr;
        gap: 30px;
        padding-bottom: 45px
    }

    .g-hero-copy h1 {
        font-size: clamp(58px, 11vw, 84px);
        max-width: 700px;
        margin: 23px 0
    }

    .g-hero-copy>p {
        font-size: 18px;
        max-width: 600px
    }

    .g-hero-copy>.eyebrow {
        font-size: 10px
    }

    .g-hero-art {
        max-width: 600px;
        width: 100%;
        margin: auto
    }

    .g-hero-photo {
        height: 350px
    }

    .g-search-float {
        left: 12px;
        right: 25px;
        top: 29px;
        font-size: 14px
    }

    .g-motion-flow {
        padding-top: 20px;
        padding-bottom: 18px
    }

    .g-motion-flow b {
        font-size: 13px
    }

    .g-motion-flow small {
        font-size: 10px
    }

    .g-hero-motion {
        font-size: 10px !important;
        bottom: 8px
    }

    .growth-site .g-intent-bar {
        grid-template-columns: 1fr;
        gap: 15px;
        padding: 23px 0
    }

    .g-intent-bar>div:first-child {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 15px
    }

    .g-intent-bar>div>span:last-child {
        font-size: 17px
    }

    .g-intent-bar .eyebrow {
        font-size: 9px;
        max-width: 100px
    }

    .g-intent-options {
        gap: 8px;
        flex-wrap: nowrap
    }

    .g-intent-options button {
        font-size: 13px;
        padding: 11px 14px;
        flex: 1;
        white-space: nowrap
    }

    .growth-site #g-goal-status {
        grid-column: 1;
        font-size: 11px
    }

    .mq-strip-label {
        max-width: 300px;
        margin: 0 auto 18px;
        font-size: 11px;
        line-height: 1.6
    }

    .growth-site .clients-section {
        padding: 25px 0
    }

    .growth-site .g-ai {
        padding-top: 60px;
        padding-bottom: 65px;
        grid-template-columns: 1fr;
        gap: 32px
    }

    .g-ai h2 {
        font-size: 49px
    }

    .g-ai>div>p {
        max-width: 600px
    }

    .g-platforms {
        margin-bottom: 25px
    }

    .growth-site .section-head {
        display: block;
        margin-bottom: 30px
    }

    .growth-site .section-head>p {
        margin-top: 20px;
        max-width: 540px
    }

    .growth-site .g-services {
        padding: 50px 0 60px
    }

    .g-service-grid {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .g-service-card {
        display: grid;
        grid-template-columns: .75fr 1fr;
        gap: 0 25px;
        padding: 20px;
        align-items: start
    }

    .g-service-photo {
        grid-column: 1;
        grid-row: 1 / 4;
        height: 100%;
        min-height: 290px;
        margin: 0
    }

    .g-service-card h3 {
        grid-column: 2;
        font-size: 27px;
        margin: 0 0 15px
    }

    .g-service-card p {
        grid-column: 2;
        min-height: 0;
        font-size: 15px
    }

    .g-service-card>div:last-child {
        grid-column: 2
    }

    .g-service-card>div:last-child a {
        font-size: 14px
    }

    .g-proof {
        padding: 60px 0
    }

    .g-proof-tabs {
        gap: 7px
    }

    .g-proof-tabs button {
        padding: 12px 14px;
        font-size: 13px;
        flex: 1
    }

    .g-rank-layout {
        grid-template-columns: 1fr
    }

    .g-proof-story {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px 25px;
        padding: 25px;
        border-right: 0;
        border-bottom: 1px solid var(--border)
    }

    .g-proof-story>img {
        width: 130px;
        height: 55px;
        margin: 0
    }

    .g-proof-story>.g-source-tag {
        align-self: start;
        justify-self: end;
        font-size: 9px
    }

    .g-proof-story h3 {
        grid-column: 1;
        font-size: 28px;
        margin: 12px 0
    }

    .g-proof-story p {
        grid-column: 1;
        font-size: 13px;
        margin: 0
    }

    .g-rank-callout {
        grid-column: 2;
        grid-row: 2 / 4;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        margin: 0 0 0 25px
    }

    .g-rank-callout strong {
        font-size: 50px
    }

    .g-proof-story .textlink {
        grid-column: 1 / 3;
        justify-self: start;
        font-size: 13px;
        margin-top: 8px
    }

    .g-table-scroll {
        padding: 15px 20px
    }

    .g-rank-table {
        min-width: 400px
    }

    .g-dashboard {
        padding: 20px
    }

    .g-dashboard-top {
        align-items: flex-start;
        gap: 13px;
        flex-direction: column
    }

    .g-dashboard-top>div {
        font-size: 19px
    }

    .g-dashboard-tools {
        font-size: 11px;
        gap: 10px
    }

    .g-metrics {
        grid-template-columns: 1fr 1fr;
        gap: 9px
    }

    .g-metrics>div {
        padding: 14px 16px
    }

    .g-metrics strong {
        font-size: 30px
    }

    .g-chart-key {
        gap: 12px;
        flex-wrap: wrap
    }

    .g-chart-key small {
        margin-left: 0;
        flex-basis: 100%
    }

    .g-proof-bottom {
        display: block
    }

    .g-proof-bottom .btn {
        margin-top: 18px;
        font-size: 14px
    }

    .g-process {
        padding: 60px 0
    }

    .g-process .ed-process-layout {
        grid-template-columns: 1fr;
        gap: 35px
    }

    .g-process .ed-process-image {
        height: 390px
    }

    .g-process h2 {
        font-size: 48px
    }

    .g-process .ed-process-content>p {
        font-size: 17px
    }

    .ed-process-tabs button {
        font-size: 17px
    }

    .ed-process-panel {
        min-height: 145px
    }

    .growth-site .sector-explorer {
        padding: 60px 0
    }

    .sector-explorer-inner {
        grid-template-columns: 1fr;
        gap: 25px
    }

    .sector-intro h2 br {
        display: none
    }

    .sector-intro p {
        max-width: 600px
    }

    .sector-tabs {
        gap: 6px
    }

    .sector-tabs button {
        font-size: 12px;
        padding: 10px 11px
    }

    .growth-site .g-work {
        padding: 60px 0
    }

    .g-work .ed-section-head {
        display: block;
        margin-bottom: 30px
    }

    .g-work .ed-section-head>.ed-text-link {
        margin-top: 20px;
        font-size: 14px
    }

    .g-work .ed-case-grid {
        gap: 27px;
        grid-template-columns: 1fr
    }

    .g-work .ed-case-photo {
        height: 410px
    }

    .g-work .ed-case-meta {
        display: block
    }

    .g-work .ed-case-meta>span {
        margin-top: 12px;
        display: block
    }

    .g-feedback {
        padding: 50px 0
    }

    .ed-quote-grid {
        grid-template-columns: 1fr;
        gap: 25px
    }

    .ed-quote-grid blockquote {
        font-size: 35px
    }

    .ed-review-link {
        padding-top: 22px;
        border-top: 1px solid #c8d9e6
    }

    .ed-review-link>span {
        font-size: 22px
    }

    .growth-site .g-faq,
    .growth-site .faq,
    .growth-site .service-faq {
        grid-template-columns: 1fr;
        gap: 25px;
        padding-top: 60px;
        padding-bottom: 60px
    }

    .g-faq-intro>p {
        max-width: 500px
    }

    .growth-site .g-faq h2 {
        font-size: 44px
    }

    .growth-site summary {
        font-size: 18px;
        padding: 20px 0
    }

    .growth-site .audit {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 60px 0
    }

    .growth-site .audit h2 {
        font-size: 46px
    }

    .growth-site .audit form {
        padding: 26px
    }

    .g-audit::before {
        inset: 0 -22px
    }

    .g-form-helper {
        margin-top: 20px;
        max-width: 560px
    }

    .g-close {
        padding: 55px 0 60px
    }

    .g-close h2 {
        font-size: 57px
    }

    .g-next-step {
        display: block;
        padding-top: 45px;
        padding-bottom: 50px
    }

    .g-next-step .btn {
        margin-top: 24px
    }

    .g-next-step h2 {
        font-size: 43px
    }

    .growth-site .g-solution-hero .service-hero-inner {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 36px 0 45px
    }

    .growth-site .g-solution-hero h1 {
        font-size: clamp(49px, 9vw, 72px);
        max-width: 700px
    }

    .growth-site .g-solution-hero p {
        font-size: 18px
    }

    .growth-site .g-solution-photo .service-art-photo {
        aspect-ratio: 1.45
    }

    .g-solution-photo {
        max-width: 600px;
        width: 100%;
        margin: auto
    }

    .g-solution-caption b {
        font-size: 21px
    }

    .growth-site .service-subnav {
        top: 75px
    }

    .growth-site .service-subnav>.wrap {
        width: 100%;
        padding: 10px 22px;
        gap: 15px
    }

    .growth-site .service-subnav nav {
        gap: 20px;
        flex: 1
    }

    .growth-site .service-subnav>.wrap>.btn {
        font-size: 11px;
        padding: 9px 12px;
        min-height: 35px;
        gap: 8px
    }

    .growth-site .service-included {
        padding-top: 55px;
        padding-bottom: 55px
    }

    .growth-site .service-capability-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px
    }

    .growth-site .service-capability-grid>article {
        padding: 22px
    }

    .growth-site .service-capability-grid h3 {
        font-size: 23px
    }

    .growth-site .service-capability-grid p {
        font-size: 14px
    }

    .growth-site .service-workflow {
        padding: 55px 0
    }

    .growth-site .workflow-layout {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .growth-site .workflow-tabs {
        display: flex;
        flex-direction: row;
        overflow: auto;
        gap: 9px;
        padding-bottom: 5px
    }

    .growth-site .workflow-tabs button {
        flex-shrink: 0;
        max-width: none;
        gap: 10px;
        padding: 13px 16px;
        font-size: 13px;
        white-space: nowrap
    }

    .growth-site .workflow-tabs button>i {
        display: none
    }

    .growth-site .workflow-view {
        padding: 26px
    }

    .growth-site .workflow-illustration {
        min-height: 145px;
        padding-bottom: 20px;
        gap: 12px
    }

    .growth-site .workflow-visual-node {
        font-size: 12px;
        padding: 18px 12px
    }

    .growth-site .workflow-panel h3 {
        font-size: 33px
    }

    .growth-site .workflow-panel>p {
        font-size: 16px
    }

    .growth-site .workflow-controls {
        gap: 9px
    }

    .growth-site .workflow-controls button {
        font-size: 11px
    }

    .growth-site .service-results,
    .growth-site .service-packages,
    .growth-site .service-depth,
    .growth-site .industry-results,
    .growth-site .industry-depth {
        padding: 55px 0
    }

    .growth-site .service-proof-grid {
        grid-template-columns: 1fr;
        gap: 17px
    }

    .growth-site .service-evidence-footer {
        display: block;
        font-size: 13px
    }

    .growth-site .service-evidence-footer>* {
        margin-bottom: 12px
    }

    .growth-site .package-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        max-width: 600px;
        margin-left: auto;
        margin-right: auto
    }

    .growth-site .package-card {
        padding: 28px
    }

    .growth-site .package-card h3 {
        font-size: 32px
    }

    .growth-site .package-fit {
        min-height: 0;
        font-size: 14px
    }

    .growth-site .package-card li {
        font-size: 15px
    }

    .growth-site .package-card ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2px 20px
    }

    .growth-site .package-card li {
        font-size: 14px
    }

    .growth-site .package-footnote {
        display: block;
        font-size: 12px
    }

    .growth-site .package-footnote a {
        display: block;
        margin-top: 15px
    }

    .growth-site .service-depth {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .growth-site .service-final-cta,
    .growth-site .industry-why-band,
    .growth-site .brand-close,
    .growth-site .cs-end-cta {
        padding: 50px 0
    }

    .growth-site .service-final-cta h2,
    .growth-site .industry-why-band h2,
    .growth-site .brand-close h2 {
        font-size: 44px
    }

    .growth-site .service-final-cta .btn {
        font-size: 14px
    }

    .growth-site .cta-band {
        display: block;
        padding: 30px;
        margin-bottom: 50px
    }

    .growth-site .cta-band h2 {
        font-size: 39px;
        margin-bottom: 22px
    }

    .g-industry-hero-grid {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 35px 0 40px
    }

    .g-industry-hero h1 {
        font-size: clamp(50px, 9vw, 70px)
    }

    .g-industry-figure {
        height: 390px;
        border-radius: 45px 12px 12px 12px
    }

    .g-industry-figure figcaption {
        font-size: 26px
    }

    .growth-site .industry-context {
        grid-template-columns: 1fr;
        gap: 25px;
        padding: 55px 0
    }

    .growth-site .industry-context h2 {
        font-size: 43px
    }

    .growth-site .industry-solutions {
        padding-top: 15px;
        padding-bottom: 50px
    }

    .growth-site .industry-solution-grid {
        grid-template-columns: 1fr;
        gap: 17px
    }

    .growth-site .industry-solution-card {
        padding: 28px
    }

    .growth-site .industry-solution-card h3 {
        font-size: 28px
    }

    .growth-site .industry-solution-copy p {
        font-size: 16px
    }

    .growth-site .industry-results-content {
        padding: 25px
    }

    .growth-site .industry-depth {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .growth-site .industry-why-grid {
        grid-template-columns: 1fr;
        gap: 18px
    }

    .growth-site .cs-index-hero {
        padding: 40px 0 50px
    }

    .growth-site .cs-index-hero h1 {
        font-size: clamp(55px, 10vw, 78px)
    }

    .growth-site .cs-directory {
        padding-top: 30px
    }

    .growth-site .cs-list-grid {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .growth-site .cs-list-cover {
        aspect-ratio: 1.45
    }

    .growth-site .cs-card-logo {
        width: 170px;
        height: 72px;
        left: 17px;
        top: 17px
    }

    .growth-site .cs-list-caption h2 {
        font-size: 28px
    }

    .growth-site .cs-list-caption p {
        font-size: 14px
    }

    .growth-site .cs-detail-hero {
        padding: 32px 0 45px
    }

    .growth-site .cs-detail-hero-grid {
        grid-template-columns: 1fr;
        gap: 30px
    }

    .growth-site .cs-detail-hero h1 {
        font-size: clamp(51px, 9vw, 72px)
    }

    .growth-site .cs-detail-hero h2 {
        font-size: 27px
    }

    .growth-site .cs-brand-art {
        max-width: 600px;
        width: 100%;
        margin: auto
    }

    .growth-site .cs-cover-stack {
        height: 340px
    }

    .growth-site .cs-introduction {
        grid-template-columns: 1fr;
        gap: 25px;
        padding: 50px 0
    }

    .growth-site .cs-introduction h2 {
        font-size: 42px
    }

    .growth-site .cs-story-split {
        grid-template-columns: 1fr;
        gap: 15px
    }

    .growth-site .cs-story-split h2 {
        font-size: 40px
    }

    .growth-site .cs-approach {
        padding: 55px 0
    }

    .growth-site .cs-approach-grid {
        grid-template-columns: 1fr
    }

    .growth-site .case-data-body {
        grid-template-columns: 1fr;
        padding: 20px
    }

    .growth-site .case-site-preview {
        height: 330px
    }

    .growth-site .case-data-top {
        padding: 23px
    }

    .growth-site .case-data-top h2 {
        font-size: 35px
    }

    .growth-site .cs-insights>div {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .growth-site .cs-insights h2 {
        font-size: 42px
    }

    .growth-site .page-hero {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 38px 0 40px
    }

    .growth-site .page-hero h1 {
        font-size: clamp(51px, 9vw, 70px)
    }

    .growth-site .page-photo {
        height: 350px
    }

    .growth-site .document-layout {
        grid-template-columns: 1fr;
        padding-top: 25px;
        gap: 30px;
        padding-bottom: 45px
    }

    .growth-site .document-layout aside {
        position: static;
        display: flex;
        flex-wrap: wrap;
        gap: 8px 17px;
        align-items: center;
        padding: 15px 20px
    }

    .growth-site .document-layout aside .eyebrow {
        width: 100%;
        margin-bottom: 0;
        font-size: 10px
    }

    .growth-site .document-layout aside>a {
        font-size: 12px;
        margin: 3px 0
    }

    .growth-site .document-layout aside>.btn {
        font-size: 11px;
        margin: 5px 0;
        padding: 8px 12px;
        min-height: 35px
    }

    .growth-site .content-block h2 {
        font-size: 38px
    }

    .growth-site .content-block p {
        font-size: 17px
    }

    .growth-site .editorial-hero,
    .growth-site .article-hero {
        padding: 40px 0 45px
    }

    .growth-site .editorial-hero h1,
    .growth-site .article-hero h1 {
        font-size: clamp(51px, 9vw, 72px)
    }

    .growth-site .editorial-hero>p,
    .growth-site .article-hero p {
        font-size: 18px
    }

    .growth-site .insight-grid {
        grid-template-columns: 1fr;
        gap: 22px
    }

    .growth-site .insight-card .insight-image {
        height: 280px
    }

    .growth-site .insight-card h3 {
        font-size: 29px
    }

    .growth-site .article-cover {
        margin-bottom: 35px
    }

    .growth-site .article-cover img {
        height: 330px
    }

    .growth-site .article-layout {
        grid-template-columns: 1fr;
        gap: 30px
    }

    .growth-site .journal-sidebar {
        position: static
    }

    .growth-site .journal-prose h2 {
        font-size: 35px
    }

    .growth-site .journal-prose p,
    .growth-site .journal-prose li {
        font-size: 17px
    }

    .growth-site .solution-detail-card {
        padding: 25px
    }

    .growth-site .uc-hero {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 35px 0 45px
    }

    .growth-site .uc-hero h1 {
        font-size: clamp(51px, 9vw, 72px)
    }

    .growth-site .footer-top {
        grid-template-columns: 1fr 1fr;
        gap: 35px
    }

    .growth-site .footer-top>div:first-child {
        grid-column: 1 / 3
    }

    .growth-site footer a {
        font-size: 13px
    }

    .growth-site .footer-bottom {
        padding-bottom: 100px;
        display: block
    }

    .growth-site .footer-bottom>span {
        display: block;
        margin: 5px 0
    }

    .g-contact-bar {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 100;
        display: grid;
        grid-template-columns: .75fr 1fr 1.2fr;
        gap: 8px;
        padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
        background: #ffffffed;
        backdrop-filter: blur(16px);
        border-top: 1px solid #cddde9
    }

    .g-contact-bar>a {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        text-decoration: none;
        border: 1px solid #b8cbd9;
        border-radius: 8px;
        padding: 12px 7px;
        color: var(--ink);
        font-size: 14px;
        line-height: 1.4
    }

    .g-contact-bar>a:last-child {
        background: var(--yellow);
        border-color: var(--yellow);
        font-weight: 500
    }

    .g-guide-launch {
        right: 15px;
        bottom: calc(87px + env(safe-area-inset-bottom));
        padding: 5px 13px 5px 5px;
        font-size: 12px;
        gap: 8px
    }

    .g-guide-launch .g-bot {
        width: 36px;
        height: 36px
    }

    .g-guide-launch .g-bot svg {
        width: 27px;
        height: 27px
    }

    .g-guide-teaser {
        right: 15px;
        bottom: calc(149px + env(safe-area-inset-bottom));
        width: 250px
    }

    .g-guide-dialog {
        right: 15px;
        bottom: calc(146px + env(safe-area-inset-bottom));
        max-height: calc(100dvh - 170px);
        width: 390px
    }

    .g-guide-content {
        padding: 21px
    }

    .g-guide-header {
        padding: 16px 20px
    }
}

@media(max-width:480px) {

    .growth-site .wrap,
    .ed-wrap {
        width: calc(100% - 36px)
    }

    .growth-site h1 {
        font-size: 49px
    }

    .growth-site h2 {
        font-size: 38px
    }

    .growth-site .btn {
        font-size: 14px;
        padding: 16px 18px;
        gap: 15px;
        min-height: 53px
    }

    .growth-site .g-hero .g-hero-grid {
        gap: 22px
    }

    .g-hero-copy h1 {
        font-size: 61px;
        line-height: 1.02
    }

    .g-hero-copy>p {
        font-size: 17px
    }

    .g-hero-copy .actions {
        gap: 10px;
        align-items: stretch
    }

    .g-hero-copy .actions>.btn {
        flex: 1;
        min-width: 145px;
        font-size: 12px;
        padding: 14px 12px;
        gap: 9px
    }

    .g-hero-assurance {
        gap: 9px;
        font-size: 10px;
        margin-top: 19px
    }

    .g-hero-art {
        padding-top: 12px
    }

    .g-hero-photo {
        height: 277px;
        border-radius: 13px 13px 0 0
    }

    .g-photo-caption {
        font-size: 22px;
        left: 21px;
        bottom: 20px
    }

    .g-search-float {
        font-size: 12px;
        padding: 12px 14px;
        left: 12px;
        right: 16px;
        top: 24px
    }

    .g-motion-flow b {
        font-size: 10px
    }

    .g-motion-flow small {
        font-size: 8px
    }

    .g-motion-flow>div>span {
        width: 25px;
        height: 25px;
        font-size: 9px
    }

    .g-intent-bar>div>span:last-child {
        font-size: 16px
    }

    .g-intent-options {
        gap: 6px
    }

    .g-intent-options button {
        font-size: 10px;
        padding: 11px 9px
    }

    .growth-site #g-goal-status {
        font-size: 10px;
        line-height: 1.6
    }

    .g-ai h2 {
        font-size: 43px
    }

    .g-platforms {
        gap: 14px
    }

    .g-platform {
        font-size: 11px;
        gap: 6px
    }

    .g-platform img {
        width: 22px;
        height: 22px
    }

    .g-service-card {
        display: block;
        padding: 15px 23px 23px
    }

    .g-service-photo {
        height: 205px;
        min-height: 0;
        margin: 0 -8px 24px
    }

    .g-service-card h3 {
        font-size: 28px
    }

    .g-service-card p {
        font-size: 15px
    }

    .g-service-card>div:last-child a {
        font-size: 15px
    }

    .g-proof-tabs button {
        font-size: 11px;
        padding: 12px 10px
    }

    .g-proof-story {
        gap: 10px 15px;
        padding: 22px
    }

    .g-proof-story h3 {
        font-size: 25px
    }

    .g-proof-story p {
        font-size: 12px
    }

    .g-proof-story>.g-source-tag {
        font-size: 8px;
        padding: 5px 7px
    }

    .g-rank-callout {
        margin-left: 7px;
        gap: 10px
    }

    .g-rank-callout strong {
        font-size: 40px
    }

    .g-rank-callout span {
        font-size: 10px
    }

    .g-table-scroll {
        padding: 12px 15px
    }

    .g-rank-table th,
    .g-rank-table td {
        font-size: 13px;
        padding: 13px 7px
    }

    .g-rank-table small {
        font-size: 9px
    }

    .g-rank-table {
        min-width: 375px
    }

    .g-dashboard {
        padding: 18px
    }

    .g-metrics strong {
        font-size: 28px
    }

    .g-metrics span {
        font-size: 10px
    }

    .g-dashboard-tools>span {
        max-width: 150px;
        line-height: 1.5
    }

    .g-process .ed-process-image {
        height: 330px
    }

    .g-process .ed-photo-note {
        font-size: 22px;
        padding: 17px 20px;
        left: 17px;
        right: 17px;
        bottom: 17px
    }

    .g-process h2 {
        font-size: 44px
    }

    .ed-process-tabs {
        gap: 8px
    }

    .ed-process-tabs button {
        font-size: 14px
    }

    .ed-process-panel {
        min-height: 165px
    }

    .sector-tabs button {
        font-size: 10px;
        padding: 10px 9px
    }

    .sector-link {
        font-size: 15px;
        gap: 9px
    }

    .sector-link-grid {
        gap: 0 13px
    }

    .sector-link-icon,
    .sector-link svg {
        width: 23px;
        height: 23px
    }

    .g-work .ed-case-photo {
        height: 315px;
        padding: 22px 22px 0
    }

    .g-work .ed-case-meta h3 {
        font-size: 25px
    }

    .ed-quote-grid blockquote {
        font-size: 30px
    }

    .growth-site .g-faq h2 {
        font-size: 41px
    }

    .growth-site .audit h2 {
        font-size: 42px
    }

    .growth-site .audit form {
        padding: 22px
    }

    .growth-site .form-row {
        grid-template-columns: 1fr;
        gap: 0
    }

    .growth-site .g-form-heading h3 {
        font-size: 25px
    }

    .growth-site .audit label {
        font-size: 13px
    }

    .growth-site .g-form-helper p {
        font-size: 12px
    }

    .g-audit::before {
        inset: 0 -18px
    }

    .g-close h2 {
        font-size: 49px
    }

    .growth-site .g-solution-hero h1 {
        font-size: 52px;
        line-height: 1.07
    }

    .growth-site .g-solution-hero p {
        font-size: 17px
    }

    .growth-site .g-solution-hero .btn {
        font-size: 12px;
        padding: 14px 14px;
        min-height: 50px
    }

    .growth-site .service-trust-notes {
        gap: 8px;
        font-size: 9px
    }

    .growth-site .g-solution-photo .service-art-photo {
        aspect-ratio: 1.15
    }

    .growth-site .platform-strip {
        left: 12px;
        right: 12px;
        bottom: 12px;
        gap: 10px;
        padding: 11px
    }

    .growth-site .platform-tile img {
        width: 24px;
        height: 24px
    }

    .growth-site .platform-tile b {
        font-size: 10px
    }

    .g-solution-caption {
        padding: 17px 20px
    }

    .g-solution-caption b {
        font-size: 19px
    }

    .growth-site .service-capability-grid {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .growth-site .service-capability-grid>article {
        padding: 25px
    }

    .growth-site .service-capability-grid h3 {
        font-size: 26px
    }

    .growth-site .service-capability-grid p {
        font-size: 16px
    }

    .growth-site .capability-index {
        margin-bottom: 18px
    }

    .growth-site .workflow-view {
        padding: 21px
    }

    .growth-site .workflow-visual-node {
        padding: 14px 8px;
        font-size: 10px
    }

    .growth-site .workflow-visual-node>small {
        font-size: 7px
    }

    .growth-site .workflow-illustration {
        gap: 5px;
        min-height: 135px
    }

    .growth-site .workflow-panel h3 {
        font-size: 30px
    }

    .growth-site .workflow-deliverable {
        padding: 15px
    }

    .growth-site .workflow-deliverable b {
        font-size: 14px
    }

    .growth-site .workflow-controls .workflow-count {
        margin-left: auto;
        font-size: 10px
    }

    .growth-site .workflow-controls button {
        font-size: 10px;
        padding: 8px 10px
    }

    .growth-site .package-card {
        padding: 25px
    }

    .growth-site .package-card ul {
        display: block
    }

    .growth-site .package-card li {
        font-size: 15px
    }

    .growth-site .package-card h3 {
        font-size: 29px
    }

    .growth-site .service-final-cta h2,
    .growth-site .industry-why-band h2,
    .growth-site .brand-close h2 {
        font-size: 40px
    }

    .growth-site .cta-band {
        padding: 26px
    }

    .growth-site .cta-band h2 {
        font-size: 35px
    }

    .g-industry-hero h1 {
        font-size: 52px
    }

    .g-industry-hero p {
        font-size: 17px
    }

    .g-industry-figure {
        height: 310px
    }

    .g-industry-figure figcaption {
        font-size: 23px;
        left: 24px;
        bottom: 24px
    }

    .growth-site .industry-context h2 {
        font-size: 39px
    }

    .growth-site .industry-solution-card {
        padding: 25px
    }

    .growth-site .industry-solution-card h3 {
        font-size: 26px
    }

    .growth-site .industry-solution-copy p {
        font-size: 15px
    }

    .growth-site .cs-index-hero h1 {
        font-size: 57px
    }

    .growth-site .project-filters {
        gap: 6px
    }

    .growth-site .project-filters button {
        font-size: 11px;
        padding: 9px 13px
    }

    .growth-site .cs-card-logo {
        width: 148px;
        height: 64px;
        left: 15px;
        top: 15px;
        padding: 10px 14px
    }

    .growth-site .cs-card-button {
        right: 15px;
        bottom: 15px;
        font-size: 11px;
        padding: 10px 16px
    }

    .growth-site .cs-list-caption h2 {
        font-size: 26px
    }

    .growth-site .cs-list-caption p {
        font-size: 13px
    }

    .growth-site .cs-detail-hero h1 {
        font-size: 51px
    }

    .growth-site .cs-detail-hero h2 {
        font-size: 25px
    }

    .growth-site .cs-cover-stack {
        height: 275px
    }

    .growth-site .cs-brand-art {
        padding: 18px 18px 0
    }

    .growth-site .cs-hero-logo {
        width: 150px;
        height: 60px
    }

    .growth-site .case-data-top h2 {
        font-size: 32px
    }

    .growth-site .case-data-body {
        padding: 16px;
        gap: 18px
    }

    .growth-site .case-site-preview {
        height: 275px
    }

    .growth-site .case-table-card h3 {
        font-size: 20px;
        padding: 15px
    }

    .growth-site .case-table-card :is(th, td) {
        padding: 12px;
        font-size: 12px
    }

    .growth-site .page-hero h1 {
        font-size: 51px
    }

    .growth-site .page-photo {
        height: 280px
    }

    .growth-site .editorial-hero h1,
    .growth-site .article-hero h1 {
        font-size: 51px
    }

    .growth-site .content-block h2 {
        font-size: 36px
    }

    .growth-site .insight-card .insight-image {
        height: 230px
    }

    .growth-site .article-cover img {
        height: 260px
    }

    .growth-site .journal-prose h2 {
        font-size: 32px
    }

    .growth-site .footer-top {
        gap: 30px 20px
    }

    .growth-site .footer-top>div:nth-child(3) {
        grid-column: 1 / 3
    }

    .growth-site .footer-top>div:last-child {
        grid-column: 1 / 3
    }

    .growth-site .footer-top h3 {
        margin-bottom: 13px
    }

    .g-guide-dialog {
        right: 12px;
        max-width: calc(100vw - 24px);
        bottom: calc(139px + env(safe-area-inset-bottom));
        max-height: calc(100dvh - 160px)
    }

    .g-guide-content {
        padding: 20px
    }

    .g-guide-header h2 {
        font-size: 19px
    }

    .g-guide-content h3 {
        font-size: 25px
    }

    .g-contact-bar>a {
        font-size: 13px;
        padding: 12px 5px
    }

    .g-guide-launch {
        bottom: calc(83px + env(safe-area-inset-bottom))
    }

    .g-guide-teaser {
        bottom: calc(143px + env(safe-area-inset-bottom))
    }
}

@media(max-width:359px) {
    .g-hero-copy h1 {
        font-size: 54px
    }

    .g-intent-options button {
        font-size: 9px;
        padding: 10px 7px
    }

    .g-guide-launch>span:last-child {
        font-size: 11px
    }

    .growth-site .g-solution-hero h1,
    .g-industry-hero h1,
    .growth-site .page-hero h1 {
        font-size: 46px
    }
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }

    *,
    *::before,
    *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important
    }

    .growth-site .g-word {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important
    }

    .growth-site .page-motion-toggle {
        display: none
    }

    .g-chart-line {
        stroke-dashoffset: 0 !important
    }
}

/* Family finishing details */
.growth-site .workflow-next-action {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    padding: 27px 0 0;
    margin-top: 25px;
    border-top: 1px solid #3c5d79
}

.growth-site .workflow-next-action b {
    font-size: 19px;
    color: #fff;
    font-weight: 300
}

.growth-site .workflow-next-action p {
    font-size: 13px;
    color: #aecbdd;
    margin: 7px 0 0
}

.growth-site .workflow-next-action .btn {
    font-size: 14px;
    white-space: nowrap
}

.growth-site details>div>p {
    font-size: 15px;
    line-height: 1.75;
    padding-right: 20px
}

.growth-site .solution-group .cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 23px
}

.growth-site .solution-group:first-child .cards {
    grid-template-columns: repeat(2, minmax(0, 1fr))
}

.growth-site .solution-group .card {
    border: 1px solid var(--border);
    border-radius: 13px;
    padding: 16px;
    background: #fff;
    box-shadow: none;
    min-width: 0;
    transition: transform .3s, border-color .3s
}

.growth-site .solution-group .card:hover {
    transform: translateY(-5px);
    border-color: #97b7ce
}

.growth-site .solution-group .card>div:last-child {
    padding: 20px 8px 10px
}

.growth-site .solution-group .card h3 {
    font-size: 27px;
    font-weight: 400;
    color: var(--ink)
}

.growth-site .solution-group .card p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--text)
}

.growth-site .solution-group .card .textlink {
    font-size: 14px;
    color: var(--blue)
}

.growth-site .service-real-visual {
    height: 205px;
    position: relative;
    overflow: hidden;
    border-radius: 7px;
    margin: 0;
    aspect-ratio: auto
}

.growth-site .service-real-visual>img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.growth-site .real-card-brand {
    position: absolute;
    bottom: 12px;
    left: 12px;
    padding: 9px 15px;
    background: #fff;
    border-radius: 7px;
    box-shadow: 0 5px 20px #102e4a18
}

.growth-site .real-card-brand img {
    height: 33px;
    width: 60px;
    object-fit: contain
}

.growth-site #g-sample-table {
    margin-top: 25px;
    max-height: 340px;
    overflow: auto;
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 0 17px
}

.growth-site #g-sample-table summary {
    font-size: 13px;
    padding: 15px 0
}

.growth-site #g-sample-table table {
    min-width: 0;
    width: 100%
}

.growth-site #g-sample-table th,
.growth-site #g-sample-table td {
    font-size: 12px;
    padding: 10px
}

.growth-site .audit .g-brief-summary {
    white-space: normal
}

.growth-site .audit:target {
    scroll-margin-top: 115px
}

.growth-site .g-next-step .btn {
    white-space: nowrap
}

@media(max-width:800px) {

    .growth-site .solution-group .cards,
    .growth-site .solution-group:first-child .cards {
        grid-template-columns: 1fr 1fr;
        gap: 18px
    }

    .growth-site .solution-group .card h3 {
        font-size: 24px
    }

    .growth-site .solution-group .card p {
        font-size: 14px
    }

    .growth-site .service-real-visual {
        height: 180px
    }

    .growth-site .workflow-next-action {
        display: block
    }

    .growth-site .workflow-next-action .btn {
        margin-top: 20px
    }

    .growth-site .g-hero-copy .eyebrow::before {
        display: none
    }
}

@media(max-width:480px) {

    .growth-site .solution-group .cards,
    .growth-site .solution-group:first-child .cards {
        grid-template-columns: 1fr
    }

    .growth-site .solution-group .card h3 {
        font-size: 27px
    }

    .growth-site .solution-group .card p {
        font-size: 15px
    }

    .growth-site .service-real-visual {
        height: 220px
    }

    .growth-site .workflow-next-action b {
        font-size: 20px
    }
}

/* Clear the retained foundation's old flex widths inside the new grid roadmap. */
.growth-site .service-workflow .workflow-illustration {
    height: auto;
    min-height: 160px;
    gap: 12px;
    margin: 0 0 16px;
    padding: 15px 0 30px
}

.growth-site .service-workflow .workflow-visual-node {
    width: 100%;
    max-width: none;
    min-width: 0;
    font-size: 12px !important;
    padding: 17px 13px !important;
    line-height: 1.5;
    background: #112e47
}

.growth-site .service-workflow .workflow-visual-center {
    width: 100%;
    max-width: none;
    min-width: 0;
    height: 90px;
    flex: none
}

.growth-site .workflow-progress>i {
    display: none
}

.growth-site .workflow-view .workflow-status {
    color: #a5c8e3 !important
}

.growth-site .workflow-controls {
    margin-bottom: 0
}

.growth-site .workflow-visual-center svg {
    display: block;
    height: 85px
}

.growth-site .workflow-controls .workflow-play {
    font-size: 12px
}

@media(max-width:480px) {
    .growth-site .service-workflow .workflow-illustration {
        min-height: 130px;
        gap: 5px;
        padding-bottom: 20px;
        margin-bottom: 12px
    }

    .growth-site .service-workflow .workflow-visual-node {
        font-size: 10px !important;
        padding: 13px 8px !important
    }

    .growth-site .service-workflow .workflow-visual-center {
        height: 75px
    }

    .growth-site .workflow-visual-center svg {
        height: 70px
    }
}

/* v25: blue-to-yellow actions, four-field forms and clean menu hover. */
.growth-site .btn.primary {
    background: linear-gradient(105deg, #2266bf 0%, #158caf 52%, #f5cf5c 100%);
    border: 1px solid #75adbe;
    color: #fff;
    gap: 17px;
    isolation: isolate
}

.growth-site .btn.primary::before {
    content: '';
    position: absolute;
    inset: 0 42px 0 0;
    background: linear-gradient(90deg, #09253d80 0%, #09253d80 82%, #09253d00);
    z-index: -1;
    pointer-events: none
}

.growth-site .btn.primary>.g-cta-label {
    color: #fff;
    position: relative;
    line-height: 1.4;
    text-align: center
}

.growth-site .btn.primary>.g-cta-arrow {
    position: relative;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    background: #ffffffd9;
    color: #142f48;
    font-size: 18px;
    line-height: 1
}

.growth-site .btn.primary:hover {
    background: linear-gradient(105deg, #2167bc 0%, #2495b4 52%, #ffdb76 100%)
}

.growth-site .g-short-form {
    padding: 28px
}

.growth-site .g-short-form .g-form-heading {
    margin-bottom: 22px
}

.growth-site .g-short-form .g-form-heading h3 {
    font-size: 27px;
    margin-bottom: 0
}

.growth-site .g-short-form .g-form-heading .eyebrow {
    margin-bottom: 9px
}

.growth-site .g-short-form .form-row {
    gap: 16px
}

.growth-site .g-short-form label {
    margin-bottom: 17px
}

.growth-site .g-short-form>.btn.primary {
    width: fit-content;
    margin-top: 2px
}

.growth-site .g-short-form>.form-note {
    margin: 13px 0 0;
    text-align: center;
    font-size: 11px
}

.growth-site .g-audit {
    align-items: center
}

.growth-site .g-short-form .g-brief-summary {
    font-size: 11px;
    padding: 12px;
    margin-top: 15px
}

.growth-site header :is(.mega-link, .industry-menu-link):hover,
.growth-site header :is(.mega-link, .industry-menu-link):focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    border-color: transparent !important
}

.growth-site header :is(.mega-link, .industry-menu-link) {
    border-radius: 0;
    transition: color .2s
}

.growth-site header .mega-icon,
.growth-site header .mega-link:hover .mega-icon {
    background: transparent !important;
    box-shadow: none
}

.growth-site header :is(.mega-link, .industry-menu-link):hover b {
    color: #2066bc
}

.growth-site header .dropdown>button:hover,
.growth-site header nav>a:not(:last-child):hover {
    background: transparent;
    box-shadow: none;
    color: #2066bc
}

/* Subtle glass surfaces on the service boxes, with readable, solid-colour text. */
.growth-site :is(.g-services, .service-included, .solution-group) {
    position: relative;
    isolation: isolate
}

.growth-site .g-services::before,
.growth-site .service-included::before {
    content: '';
    position: absolute;
    inset: 120px -35px 20px;
    z-index: -1;
    background: radial-gradient(ellipse at 10% 20%, #83c5ec45, transparent 52%), radial-gradient(ellipse at 90% 85%, #f5cf5c25, transparent 50%);
    pointer-events: none;
    filter: blur(18px)
}

.growth-site .g-service-card,
.growth-site .service-capability-grid>article,
.growth-site .solution-group .card {
    background: linear-gradient(135deg, #ffffffc9, #f1f8ff94);
    border: 1px solid #ffffffef;
    outline: 1px solid #c8dce980;
    backdrop-filter: blur(18px) saturate(125%);
    -webkit-backdrop-filter: blur(18px) saturate(125%);
    box-shadow: 0 12px 35px #153b5a09, inset 0 1px 0 #fff
}

.growth-site .g-service-card:hover,
.growth-site .service-capability-grid>article:hover,
.growth-site .solution-group .card:hover {
    background: linear-gradient(135deg, #ffffffed, #edf7ffb5);
    border-color: #fff;
    box-shadow: 0 18px 38px #153b5a12, inset 0 1px 0 #fff
}

.growth-site .g-service-card :is(h3, a),
.growth-site .service-capability-grid>article h3 {
    color: #142f48
}

.growth-site .g-service-card p,
.growth-site .service-capability-grid>article p {
    color: #4c6277
}

.g-google-layout {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 9%;
    align-items: center
}

.g-google-intro h2 {
    margin-bottom: 28px
}

.g-google-review-link {
    display: flex;
    gap: 13px;
    align-items: center;
    padding-top: 5px
}

.g-google-review-link>img {
    width: 31px;
    height: 31px;
    object-fit: contain
}

.growth-site .g-google-review-link h3 {
    font-size: 20px;
    margin: 0 0 2px
}

.g-google-review-link .textlink {
    font-size: 14px
}

.g-google-client-quote {
    margin: 0;
    padding: 32px;
    background: #ffffffbd;
    border: 1px solid #d2e0ec;
    border-radius: 15px
}

.g-feedback-label {
    display: block;
    font-size: 10px;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: #59748a;
    margin-bottom: 20px
}

.g-google-client-quote blockquote {
    font-size: 32px;
    font-weight: 300;
    color: #142f48;
    line-height: 1.35;
    letter-spacing: -.02em;
    margin: 0 0 25px
}

.g-google-client-quote figcaption {
    display: flex;
    gap: 12px;
    align-items: center;
    color: #142f48;
    font-size: 14px
}

.g-google-client-quote figcaption small {
    display: block;
    font-size: 11px;
    color: #5f7386
}

.g-google-client-quote figcaption>img {
    width: 90px;
    height: 38px;
    object-fit: contain;
    margin-left: auto
}

.g-feedback-source {
    display: inline-block;
    font-size: 10px;
    color: #59748a !important;
    margin-top: 21px;
    text-decoration: none
}

.growth-site .g-contact-bar>a:last-child {
    background: linear-gradient(105deg, #d0e9ff, #d1eced 55%, #f5cf5c);
    border-color: #afc9ce;
    color: #142f48
}

@supports not (backdrop-filter:blur(18px)) {

    .growth-site .g-service-card,
    .growth-site .service-capability-grid>article,
    .growth-site .solution-group .card {
        background: #f4f9fd
    }
}

@media(max-width:800px) {
    .g-google-layout {
        grid-template-columns: 1fr;
        gap: 30px
    }

    .g-google-client-quote {
        padding: 28px
    }

    .g-google-client-quote blockquote {
        font-size: 31px
    }

    .growth-site .g-short-form {
        padding: 25px
    }

    .growth-site .btn.primary {
        gap: 13px
    }

    .growth-site .g-short-form .form-row {
        grid-template-columns: 1fr 1fr
    }
}

@media(max-width:480px) {
    .growth-site .g-short-form {
        padding: 22px
    }

    .growth-site .g-short-form .g-form-heading h3 {
        font-size: 25px
    }

    .growth-site .g-short-form .form-row {
        grid-template-columns: 1fr;
        gap: 0
    }

    .g-google-client-quote {
        padding: 24px
    }

    .g-google-client-quote blockquote {
        font-size: 28px
    }

    .g-google-client-quote figcaption>img {
        width: 72px
    }

    .growth-site .btn.primary>.g-cta-arrow {
        width: 23px;
        height: 23px;
        font-size: 16px
    }

    .growth-site .g-hero-copy .btn.primary {
        gap: 9px
    }
}

/* v26: Q-letter cyan / royal blue, finished with the logo's yellow accent. */
:root {
    --q-cyan: #00a7fc;
    --q-blue: #007afc;
    --q-royal: #0054fc;
    --q-yellow: #fdbd26
}

.growth-site .btn.primary {
    background: linear-gradient(115deg, var(--q-cyan) 0%, var(--q-blue) 42%, var(--q-royal) 79%, var(--q-yellow) 100%);
    border-color: #428ff4;
    color: #fff
}

.growth-site .btn.primary::before {
    background: linear-gradient(90deg, #051d4466 0%, #051d4466 85%, #051d4400);
    inset: 0 41px 0 0
}

.growth-site .btn.primary>.g-cta-arrow {
    background: var(--q-yellow);
    color: #09274a;
    box-shadow: 0 0 0 1px #ffd86d80
}

.growth-site .btn.primary:hover {
    background: linear-gradient(115deg, #16b0ff 0%, #1284ff 42%, #1464ff 79%, #ffd04c 100%)
}

.growth-site .g-contact-bar>a:last-child {
    background: linear-gradient(115deg, #007afc, #0054fc);
    border-color: #428ff4;
    color: #fff
}

.growth-site .g-contact-bar>a:last-child>span:last-child {
    display: grid;
    place-items: center;
    background: var(--q-yellow);
    color: #09274a;
    width: 21px;
    height: 21px;
    border-radius: 50%;
    font-size: 14px;
    flex-shrink: 0
}

.growth-site header nav>a[href="/contact.html"] {
    background: transparent;
    color: var(--ink);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 12px 0
}

.growth-site header nav>a[href="/contact.html"]:hover {
    background: transparent;
    color: var(--blue);
    box-shadow: none
}

@media(max-width:800px) {
    .growth-site header nav>a[href="/contact.html"] {
        background: transparent;
        font-size: 24px;
        padding: 15px 0;
        margin-top: 0;
        align-self: stretch
    }
}

/* Centered page and section headings throughout the website. */
.growth-site main :is(h1, h2, h3, h4) {
    text-align: center
}

.growth-site main .eyebrow,
.growth-site main .ed-label {
    text-align: center
}

.growth-site .section-head,
.growth-site .ed-section-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 19px;
    text-align: center
}

.growth-site .section-head>div,
.growth-site .ed-section-head>div {
    width: 100%
}

.growth-site .section-head h2,
.growth-site .ed-section-head h2 {
    max-width: 1050px;
    margin-left: auto;
    margin-right: auto
}

.growth-site .section-head>p {
    max-width: 680px;
    margin: 0 auto;
    text-align: center
}

.growth-site .section-head br {
    display: initial
}

.growth-site .g-hero .g-hero-grid,
.growth-site .g-solution-hero .service-hero-inner,
.growth-site .g-industry-hero-grid,
.growth-site .cs-detail-hero-grid,
.growth-site .page-hero,
.growth-site .uc-hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 35px;
    text-align: center
}

.growth-site .g-hero-copy,
.growth-site .service-hero-inner>div:first-child,
.growth-site .g-industry-hero-grid>div:first-child,
.growth-site .cs-detail-hero-grid>div:first-child,
.growth-site .page-hero>div:first-child,
.growth-site .uc-hero-copy {
    width: 100%;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto
}

.growth-site .g-hero-copy h1,
.growth-site .g-solution-hero h1,
.growth-site .g-industry-hero h1,
.growth-site .cs-detail-hero h1,
.growth-site .page-hero h1,
.growth-site .uc-hero h1 {
    max-width: 1050px;
    margin-left: auto;
    margin-right: auto
}

.growth-site .g-hero-copy>p,
.growth-site .g-solution-hero .service-hero-inner>div:first-child>p,
.growth-site .g-industry-hero-grid>div:first-child>p,
.growth-site .cs-detail-hero-grid>div:first-child>p,
.growth-site .page-hero>div:first-child>p,
.growth-site .uc-hero-copy>p {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    text-align: center
}

.growth-site .g-hero-copy>.eyebrow,
.growth-site .g-hero-copy .actions,
.growth-site .service-hero-inner>div:first-child>.actions,
.growth-site .g-hero-assurance,
.growth-site .service-trust-notes,
.growth-site .cs-hero-actions {
    justify-content: center
}

.growth-site .page-motion-toggle {
    margin-left: auto;
    margin-right: auto
}

.growth-site .g-hero-art {
    max-width: 850px;
    width: 100%;
    margin-left: auto;
    margin-right: auto
}

.growth-site .g-hero-photo {
    height: 350px
}

.growth-site .g-search-float {
    left: 35px;
    right: 35px
}

.growth-site .g-photo-caption {
    text-align: left
}

.growth-site .g-hero-motion {
    right: 0
}

.growth-site .g-solution-photo {
    max-width: 850px;
    width: 100%;
    margin: auto
}

.growth-site .g-solution-photo .service-art-photo {
    aspect-ratio: 2.2
}

.growth-site .g-industry-figure {
    max-width: 950px;
    width: 100%;
    height: 420px;
    margin: auto;
    border-radius: 15px
}

.growth-site .g-industry-figure figcaption {
    text-align: left
}

.growth-site .cs-brand-art {
    max-width: 790px;
    width: 100%;
    margin: auto;
    text-align: left
}

.growth-site .cs-detail-hero .cs-cover-stack {
    height: 350px
}

.growth-site .page-hero .page-photo {
    max-width: 950px;
    margin: auto;
    height: 400px
}

.growth-site .uc-feature {
    max-width: 850px;
    margin: auto
}

.growth-site .g-ai,
.growth-site .g-process .ed-process-layout,
.growth-site .sector-explorer-inner,
.growth-site .g-faq,
.growth-site .service-faq,
.growth-site .faq,
.growth-site .audit,
.growth-site .service-depth,
.growth-site .industry-context,
.growth-site .industry-depth,
.growth-site .cs-introduction,
.growth-site .cs-story-split,
.growth-site .g-google-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 35px
}

.growth-site .g-ai>div:first-child,
.growth-site .ed-process-content,
.growth-site .sector-intro,
.growth-site .g-faq-intro,
.growth-site .service-faq>div:first-child,
.growth-site .faq>div:first-child,
.growth-site .audit>div:first-child,
.growth-site .service-depth-intro,
.growth-site .seo-overview-head,
.growth-site .industry-depth>div:first-child,
.growth-site .cs-introduction>div:first-child,
.growth-site .cs-story-split>div:first-child,
.growth-site .g-google-intro {
    text-align: center;
    max-width: 1050px;
    width: 100%;
    margin-left: auto;
    margin-right: auto
}

.growth-site .g-ai>div:first-child>p,
.growth-site .sector-intro>p,
.growth-site .g-faq-intro>p,
.growth-site .service-faq>div:first-child>p,
.growth-site .faq>div:first-child>p,
.growth-site .audit>div:first-child>p,
.growth-site .service-depth-intro>p,
.growth-site .g-google-intro>p {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto
}

.growth-site .g-platforms,
.growth-site .g-google-review-link {
    justify-content: center
}

.growth-site .g-process .ed-process-image {
    order: 2;
    width: 100%;
    max-width: 1000px;
    height: 400px;
    margin: auto
}

.growth-site .ed-process-tabs,
.growth-site .ed-process-panel {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto
}

.growth-site .ed-process-tabs button {
    text-align: center
}

.growth-site .ed-process-panel p {
    text-align: center
}

.growth-site .sector-selection {
    max-width: 950px;
    width: 100%;
    margin: auto
}

.growth-site .sector-tabs {
    justify-content: center
}

.growth-site .sector-panel-intro {
    text-align: center
}

.growth-site .g-faq>div:last-child,
.growth-site .faq>div:last-child,
.growth-site .service-faq>div:last-child {
    width: 100%;
    max-width: 950px;
    margin: auto
}

.growth-site .audit form {
    max-width: 760px;
    width: 100%;
    margin: auto
}

.growth-site .audit .ticks {
    display: flex;
    justify-content: center;
    gap: 12px 25px;
    flex-wrap: wrap
}

.growth-site .g-google-client-quote {
    max-width: 950px;
    width: 100%;
    margin: auto
}

.growth-site .g-next-step,
.growth-site .cta-band {
    flex-direction: column;
    align-items: center;
    text-align: center
}

.growth-site .g-next-step p {
    margin-left: auto;
    margin-right: auto
}

.growth-site .g-close,
.growth-site .service-final-cta,
.growth-site .cs-end-cta,
.growth-site .brand-close,
.growth-site .cs-index-hero,
.growth-site .editorial-hero,
.growth-site .article-hero {
    text-align: center
}

.growth-site :is(.g-close, .service-final-cta, .cs-end-cta, .brand-close, .cs-index-hero, .editorial-hero, .article-hero) :is(h1, h2, p) {
    margin-left: auto;
    margin-right: auto
}

.growth-site :is(.g-close, .service-final-cta, .cs-end-cta, .brand-close, .editorial-hero) .actions {
    justify-content: center
}

.growth-site .article-byline {
    justify-content: center
}

.growth-site .g-service-card h3,
.growth-site .service-capability-grid h3,
.growth-site .industry-solution-card h3,
.growth-site .solution-group .card h3,
.growth-site .package-card h3 {
    width: 100%
}

.growth-site .g-guide-content h3 {
    text-align: left
}

@media(max-width:800px) {
    .growth-site .g-hero-photo {
        height: 340px
    }

    .growth-site .g-solution-photo .service-art-photo {
        aspect-ratio: 1.65
    }

    .growth-site .g-industry-figure {
        height: 350px
    }

    .growth-site .g-process .ed-process-image {
        height: 350px
    }

    .growth-site .page-hero .page-photo {
        height: 340px
    }

    .growth-site .g-next-step .btn {
        margin-top: 0
    }

    .growth-site .g-hero-copy h1 {
        max-width: 100%
    }
}

@media(max-width:480px) {
    .growth-site .g-hero-photo {
        height: 280px
    }

    .growth-site .g-search-float {
        left: 15px;
        right: 15px
    }

    .growth-site .g-solution-photo .service-art-photo {
        aspect-ratio: 1.15
    }

    .growth-site .g-industry-figure,
    .growth-site .g-process .ed-process-image {
        height: 300px
    }

    .growth-site .page-hero .page-photo {
        height: 280px
    }

    .growth-site .g-hero-copy .actions {
        flex-wrap: wrap
    }

    .growth-site .audit .ticks {
        display: block;
        text-align: center
    }

    .growth-site .section-head,
    .growth-site .ed-section-head {
        gap: 15px
    }

    .growth-site .g-hero-copy .eyebrow {
        font-size: 9px
    }

    .growth-site .g-hero-copy h1 {
        font-size: 58px
    }
}

/* v27: coloured service chapters, inspired by the supplied photo / glass references. */
.growth-site .g-services-colour-band {
    position: relative;
    isolation: isolate;
    background: radial-gradient(ellipse at 5% 12%, #00a7fc55, transparent 58%), radial-gradient(ellipse at 97% 95%, #fdbd2630, transparent 50%), linear-gradient(125deg, #075276 0%, #135cad 55%, #073f87 100%);
    color: #f2f8ff;
    border-top: 1px solid #519bd5;
    border-bottom: 1px solid #519bd5;
    overflow: hidden
}

.growth-site .g-services-colour-band::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 75% 5%, #84d9ff1c, transparent 55%);
    pointer-events: none;
    z-index: -1
}

.growth-site .g-services-colour-band :is(.g-services, .service-included) {
    padding-top: 75px;
    padding-bottom: 75px;
    border: 0
}

.growth-site .g-services-colour-band :is(.g-services, .service-included)::before {
    display: none
}

.growth-site .g-services-colour-band .eyebrow {
    color: #d2edff
}

.growth-site .g-services-colour-band .section-head h2 {
    color: #fff
}

.growth-site .g-services-colour-band .section-head>p {
    color: #e3f2ff
}

.growth-site .g-services-colour-band .word-highlight {
    background-image: linear-gradient(105deg, #c3edff, #b5d6ff 52%, #ffe09a)
}

.growth-site .g-services-colour-band .g-service-card,
.growth-site .g-services-colour-band .service-capability-grid>article {
    background: linear-gradient(145deg, #083c6580, #082d578a);
    border: 1px solid #e9f7ffa3;
    outline: 0;
    border-radius: 22px;
    backdrop-filter: blur(20px) saturate(125%);
    -webkit-backdrop-filter: blur(20px) saturate(125%);
    box-shadow: inset 0 1px 0 #ffffff42, 0 12px 35px #04254c16;
    transition: transform .3s, background .3s, border-color .3s
}

.growth-site .g-services-colour-band .g-service-card:hover,
.growth-site .g-services-colour-band .service-capability-grid>article:hover {
    background: linear-gradient(145deg, #124d7799, #082d57a6);
    border-color: #fff;
    box-shadow: inset 0 1px 0 #ffffff65, 0 16px 38px #03275229;
    transform: translateY(-5px)
}

.growth-site .g-services-colour-band .g-service-card h3,
.growth-site .g-services-colour-band .service-capability-grid h3 {
    color: #fff;
    font-weight: 400
}

.growth-site .g-services-colour-band .g-service-card p,
.growth-site .g-services-colour-band .service-capability-grid p {
    color: #edf7ff
}

.growth-site .g-services-colour-band .g-service-card>div:last-child a {
    color: #fff;
    border-top-color: #d9f0ff3b
}

.growth-site .g-services-colour-band .g-service-card>div:last-child a:hover {
    color: #ffe19a
}

.growth-site .g-services-colour-band .g-service-photo {
    border-radius: 14px;
    border: 1px solid #e4f5ff55
}

.growth-site .g-services-colour-band .g-service-photo>span {
    background: #fff;
    color: #143957;
    border: 1px solid #ffffff8c
}

.growth-site .g-services-colour-band .g-agency-link {
    color: #dcefff;
    text-align: center
}

.growth-site .g-services-colour-band .g-agency-link a {
    color: #ffe19a
}

.growth-site .g-services-colour-band .capability-index {
    color: #c0dff4
}

.growth-site .g-services-colour-band .capability-icon {
    background: linear-gradient(135deg, #e0f5ff, #b6dfff);
    border: 1px solid #effaff99;
    color: #16549c;
    box-shadow: 0 6px 18px #07385b20
}

.growth-site .g-services-colour-band .capability-icon .icon-accent {
    stroke: #a47c12
}

.growth-site .g-services-colour-band .service-capability-grid p a {
    color: #fff1bb;
    text-decoration-color: #c8dcec80;
    text-underline-offset: 3px
}

.growth-site .g-capability-colour-band {
    background: radial-gradient(ellipse at 100% 0, #00a7fc38, transparent 65%), radial-gradient(ellipse at 0 100%, #fdbd2620, transparent 50%), linear-gradient(125deg, #0a436d, #124d91 60%, #07386d)
}

/* Solution directory chapters alternate a tinted glass surface and open white space. */
.growth-site .solution-directory .solution-group {
    padding: 40px 30px 45px;
    margin: 0 0 35px;
    border-radius: 20px;
    border: 1px solid #c6deef;
    background: radial-gradient(ellipse at 0 0, #00a7fc14, transparent 55%), linear-gradient(135deg, #eaf6ff, #f3f8ff 70%, #fff7dd)
}

.growth-site .solution-directory .solution-group:nth-child(2) {
    background: radial-gradient(ellipse at 100% 100%, #fdbd262b, transparent 60%), linear-gradient(135deg, #e8f5ff, #edf4ff);
    border-color: #c6d9f0
}

.growth-site .solution-directory .solution-group .card {
    background: linear-gradient(145deg, #ffffffd9, #f5fbffc4);
    border: 1px solid #fff;
    outline: 1px solid #c5dce890;
    box-shadow: inset 0 1px 0 #fff, 0 10px 25px #123f6208
}

.growth-site .solution-directory .solution-group .card:hover {
    border-color: #fff;
    background: #ffffffeb
}

@supports not (backdrop-filter:blur(20px)) {

    .growth-site .g-services-colour-band .g-service-card,
    .growth-site .g-services-colour-band .service-capability-grid>article {
        background: #0d4273
    }
}

@media(max-width:800px) {
    .growth-site .g-services-colour-band :is(.g-services, .service-included) {
        padding-top: 55px;
        padding-bottom: 55px
    }

    .growth-site .solution-directory .solution-group {
        padding: 30px 22px 35px;
        border-radius: 16px
    }
}

@media(max-width:480px) {

    .growth-site .g-services-colour-band .g-service-card,
    .growth-site .g-services-colour-band .service-capability-grid>article {
        border-radius: 19px
    }

    .growth-site .g-services-colour-band .g-service-photo {
        border-radius: 11px
    }

    .growth-site .solution-directory .solution-group {
        padding: 25px 17px 30px
    }

    .growth-site .g-services-colour-band .section-head h2 {
        font-size: 39px
    }
}

/* v28: Q-gradient actions, an actual typewriter hero and one-field audit entry. */
.growth-site .btn.primary {
    background: linear-gradient(115deg, #00a7fc 0%, #007afc 48%, #0054fc 100%);
    border-color: #268bff
}

.growth-site .btn.primary:hover {
    background: linear-gradient(115deg, #17b1ff 0%, #1285ff 48%, #1464ff 100%)
}

.growth-site .btn.primary>.g-cta-arrow {
    background: transparent;
    box-shadow: none;
    color: #fdbd26;
    font-size: 24px
}

.growth-site .g-contact-bar>a:last-child {
    background: linear-gradient(115deg, #008cfa, #0054fc);
    color: #fff
}

.growth-site .g-contact-bar>a:last-child>span:last-child {
    background: transparent;
    color: #fdbd26;
    font-size: 20px
}

.growth-site .mq-typing-heading {
    font-size: clamp(65px, 6.7vw, 100px);
    line-height: 1.1;
    max-width: 1100px
}

.mq-typed-word {
    display: inline-block;
    min-width: 8ch;
    text-align: left;
    white-space: nowrap
}

.mq-type-caret {
    display: inline-block;
    width: 3px;
    height: .78em;
    background: #fdbd26;
    margin-left: 5px;
    vertical-align: -.02em;
    animation: mq-caret 1s step-end infinite
}

.mq-typing-heading>span[aria-hidden=true] {
    display: block;
    animation: mq-heading-rise .9s cubic-bezier(.2, .65, .2, 1) both
}

.growth-site .mq-hero-url {
    display: flex;
    align-items: center;
    position: relative;
    max-width: 650px;
    width: 100%;
    margin: 28px auto 0;
    background: #fff;
    border: 1px solid #a5cce5;
    border-radius: 13px;
    padding: 6px;
    gap: 7px;
    box-shadow: 0 10px 40px #03111f25;
    text-align: left
}

.growth-site .mq-hero-url input {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 13px 7px;
    margin: 0;
    background: transparent;
    font-size: 17px;
    color: #173853;
    min-width: 0;
    flex: 1;
    height: 53px
}

.growth-site .mq-hero-url input:focus {
    outline: 0;
    box-shadow: none
}

.growth-site .mq-hero-url:focus-within {
    outline: 3px solid #8ddaff70;
    outline-offset: 4px
}

.mq-url-icon {
    padding-left: 13px;
    font-size: 27px;
    line-height: 1;
    color: #286b9d
}

.growth-site .mq-hero-url button {
    display: grid;
    place-items: center;
    width: 55px;
    height: 53px;
    flex-shrink: 0;
    background: linear-gradient(135deg, #00a7fc, #0054fc);
    border: 0;
    border-radius: 8px;
    font-size: 30px;
    line-height: 1;
    color: #fdbd26;
    cursor: pointer;
    transition: filter .2s
}

.growth-site .mq-hero-url button:hover {
    filter: brightness(1.12)
}

.growth-site .mq-url-help {
    font-size: 12px !important;
    color: #b9d1e4 !important;
    margin: 13px auto 0;
    max-width: 650px
}

.growth-site .mq-url-error {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin: 10px 0 0;
    background: #fff4ed;
    border: 1px solid #efb6a4;
    padding: 9px 14px;
    border-radius: 7px;
    font-size: 12px;
    color: #8b3a24 !important;
    z-index: 3
}

/* The supplied ecosystem layout, rebuilt with the real MQUAD mark and linked cards. */
.mq-ecosystem {
    position: relative;
    isolation: isolate;
    padding: 70px 0 40px;
    background: radial-gradient(ellipse at 50% 65%, #d7f2ff 0%, #edf8ff 38%, #fff 72%);
    overflow: hidden;
    border-bottom: 1px solid #dae8f2
}

.growth-site .mq-ecosystem .section-head {
    margin-bottom: 12px;
    gap: 17px
}

.mq-ecosystem .section-head>p {
    max-width: 670px
}

.mq-ecosystem-stage {
    position: relative;
    max-width: 1100px;
    width: 100%;
    height: 510px;
    margin: 0 auto
}

.mq-network {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: .85
}

.mq-network-flow {
    animation: mq-signal 7s linear infinite
}

.mq-ecosystem-core {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 310px;
    height: 310px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    perspective: 800px
}

.mq-core-ring {
    position: absolute;
    inset: 0;
    border: 1px dashed #81b7d988;
    border-radius: 50%;
    animation: mq-ring-turn 40s linear infinite
}

.mq-core-ring.ring-two {
    inset: 30px;
    border-style: dotted;
    border-color: #8acdeabb;
    animation-direction: reverse;
    animation-duration: 30s
}

.mq-core-symbol {
    position: relative;
    width: 180px;
    height: 190px;
    display: grid;
    place-items: center;
    transform-style: preserve-3d;
    animation: mq-q-float 7s ease-in-out infinite;
    filter: drop-shadow(7px 10px 0 #0a65bd15) drop-shadow(0 15px 20px #087abc24)
}

.mq-core-symbol img {
    width: 180px;
    height: 188px;
    object-fit: contain
}

.mq-core-caption {
    position: relative;
    text-align: center;
    font-size: 13px;
    line-height: 1.45;
    color: #315979;
    margin-top: 8px
}

.growth-site .mq-orbit-card {
    position: absolute;
    display: grid;
    grid-template-columns: 43px 1fr 16px;
    gap: 12px;
    align-items: center;
    width: 270px;
    min-height: 116px;
    padding: 20px 18px;
    text-decoration: none;
    background: linear-gradient(135deg, #ffffffeb, #f0f9ffe6);
    border: 1px solid #a9cee6;
    border-radius: 15px;
    box-shadow: 0 12px 30px #0d4d7810, inset 0 1px 0 #fff;
    backdrop-filter: blur(12px);
    color: #142f48;
    z-index: 2;
    animation: mq-tile-float 6s ease-in-out infinite;
    animation-delay: var(--mq-card-phase, 0s)
}

.growth-site .mq-orbit-card:hover {
    border-color: #298cda;
    box-shadow: 0 15px 35px #0d4d7820;
    background: #fff
}

.growth-site .mq-orbit-card h3 {
    font-size: 20px;
    line-height: 1.2;
    margin: 0 0 7px;
    color: #142f48;
    text-align: left
}

.growth-site .mq-orbit-card p {
    font-size: 11px;
    line-height: 1.5;
    margin: 0;
    color: #4c6b84
}

.mq-orbit-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: linear-gradient(140deg, #cfeeff, #edf6ff);
    border: 1px solid #b9dff4;
    color: #106bb0
}

.mq-orbit-icon svg,
.mq-orbit-icon img {
    width: 27px;
    height: 27px;
    object-fit: contain
}

.mq-orbit-arrow {
    align-self: start;
    color: #387aa9;
    font-size: 18px
}

.mq-orbit-1 {
    left: 0;
    top: 25px
}

.mq-orbit-2 {
    left: 24px;
    top: 195px
}

.mq-orbit-3 {
    left: 0;
    top: 365px
}

.mq-orbit-4 {
    right: 0;
    top: 25px
}

.mq-orbit-5 {
    right: 24px;
    top: 195px
}

.mq-orbit-6 {
    right: 0;
    top: 365px
}

.growth-site .mq-ecosystem-more {
    display: table;
    margin: 0 auto 10px;
    font-size: 14px
}

/* Visible card motion is shared by every page family, not restricted to hover. */
.growth-site .mq-motion-card {
    isolation: isolate
}

.mq-card-energy {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: 3;
    padding: 1.5px;
    background: linear-gradient(115deg, #8edaff10 10%, #5ac9ff 32%, #fdbd26 45%, #0054fc 62%, #8edaff10 85%);
    background-size: 250% 250%;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    animation: mq-card-edge 5s linear infinite;
    animation-delay: var(--mq-card-phase, 0s);
    opacity: .95
}

.growth-site .mq-motion-card :is(.capability-icon, .industry-pillar-icon, .mq-orbit-icon, .review-avatar) {
    animation: mq-icon-float 5s ease-in-out infinite;
    animation-delay: var(--mq-card-phase, 0s)
}

.growth-site .mq-motion-card :is(.g-service-photo, .service-real-visual, .insight-image)>img,
.growth-site .mq-motion-card .cs-list-cover>img {
    animation: mq-photo-motion 11s ease-in-out infinite alternate;
    animation-delay: var(--mq-card-phase, 0s);
    transform-origin: center
}

.growth-site .mq-motion-card .capability-icon .icon-accent,
.growth-site .mq-motion-card .industry-pillar-icon path:last-child {
    stroke-dasharray: 70 25;
    animation: mq-icon-stroke 5s linear infinite
}

.growth-site .mq-motion-card:hover .mq-card-energy,
.growth-site .mq-motion-card:focus-within .mq-card-energy {
    opacity: 1;
    animation-duration: 2.5s
}

.growth-site .mq-card-paused,
.growth-site .mq-card-paused * {
    animation-play-state: paused !important
}

.growth-site .mq-motion-hero {
    position: relative;
    isolation: isolate
}

.mq-hero-signal {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 70px;
    pointer-events: none;
    color: #69baf1;
    opacity: .7;
    z-index: -1;
    overflow: hidden
}

.mq-hero-signal svg {
    width: 100%;
    height: 100%
}

.growth-site .g-motion-paused .mq-card-energy {
    animation-play-state: paused !important
}

@keyframes mq-card-edge {
    0% {
        background-position: 0% 50%
    }

    50% {
        background-position: 100% 50%
    }

    100% {
        background-position: 0% 50%
    }
}

@keyframes mq-icon-float {

    0%,
    100% {
        transform: translateY(0) rotate(-2deg)
    }

    50% {
        transform: translateY(-6px) rotate(3deg)
    }
}

@keyframes mq-photo-motion {
    from {
        transform: scale(1.01) translateX(-1%)
    }

    to {
        transform: scale(1.075) translateX(1%)
    }
}

@keyframes mq-icon-stroke {
    to {
        stroke-dashoffset: -190
    }
}

@keyframes mq-signal {
    to {
        stroke-dashoffset: -432
    }
}

@keyframes mq-ring-turn {
    to {
        transform: rotate(360deg)
    }
}

@keyframes mq-q-float {

    0%,
    100% {
        transform: translateY(0) rotateY(-15deg) rotateZ(-5deg)
    }

    50% {
        transform: translateY(-13px) rotateY(10deg) rotateZ(4deg)
    }
}

@keyframes mq-tile-float {

    0%,
    100% {
        transform: translateY(0)
    }

    50% {
        transform: translateY(-7px)
    }
}

@keyframes mq-caret {

    0%,
    49% {
        opacity: 1
    }

    50%,
    100% {
        opacity: 0
    }
}

@keyframes mq-heading-rise {
    from {
        opacity: .45;
        transform: translateY(16px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@supports not (mask-composite:exclude) {
    .mq-card-energy {
        inset: auto 15px 0;
        height: 2px;
        padding: 0;
        mask: none;
        -webkit-mask: none
    }
}

@media(max-width:1100px) {
    .mq-orbit-card {
        width: 240px !important;
        padding: 17px 15px !important;
        gap: 9px !important
    }

    .mq-orbit-2 {
        left: 0
    }

    .mq-orbit-5 {
        right: 0
    }

    .mq-ecosystem-core {
        width: 255px;
        height: 255px
    }

    .mq-core-symbol,
    .mq-core-symbol img {
        width: 150px;
        height: 157px
    }

    .mq-network {
        opacity: .65
    }
}

@media(max-width:800px) {
    .mq-ecosystem {
        padding: 55px 0 35px
    }

    .mq-ecosystem-stage {
        height: auto;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 17px;
        padding-top: 0;
        padding-bottom: 25px
    }

    .mq-ecosystem-core {
        position: relative;
        left: auto;
        top: auto;
        transform: none;
        width: 245px;
        height: 245px;
        grid-column: 1 / 3;
        justify-self: center;
        margin: 4px 0 15px
    }

    .mq-core-caption {
        font-size: 11px
    }

    .mq-network {
        display: none
    }

    .growth-site .mq-orbit-card {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        width: 100% !important;
        min-height: 120px;
        padding: 19px 15px !important;
        grid-template-columns: 36px 1fr;
        gap: 11px !important
    }

    .mq-orbit-arrow {
        position: absolute;
        right: 13px;
        top: 10px;
        font-size: 13px
    }

    .mq-orbit-icon {
        width: 35px;
        height: 35px;
        border-radius: 8px
    }

    .mq-orbit-icon img,
    .mq-orbit-icon svg {
        width: 23px;
        height: 23px
    }

    .growth-site .mq-orbit-card h3 {
        font-size: 18px;
        text-align: left
    }

    .growth-site .mq-orbit-card p {
        font-size: 11px
    }

    .growth-site .mq-typing-heading {
        font-size: clamp(55px, 9.3vw, 76px)
    }

    .growth-site .mq-hero-url {
        max-width: 600px
    }

    .growth-site .mq-url-help {
        font-size: 11px !important
    }

    .mq-hero-signal {
        height: 50px
    }
}

@media(max-width:480px) {
    .growth-site .mq-typing-heading {
        font-size: 52px;
        line-height: 1.15
    }

    .mq-typed-word {
        min-width: 7.5ch
    }

    .mq-type-caret {
        width: 2px;
        margin-left: 3px
    }

    .growth-site .mq-hero-url {
        margin-top: 23px;
        padding: 5px;
        gap: 4px;
        border-radius: 11px
    }

    .growth-site .mq-hero-url input {
        font-size: 14px;
        padding: 12px 4px;
        height: 48px
    }

    .mq-url-icon {
        font-size: 23px;
        padding-left: 9px
    }

    .growth-site .mq-hero-url button {
        width: 46px;
        height: 48px;
        font-size: 27px
    }

    .growth-site .mq-url-help {
        font-size: 10px !important;
        max-width: 320px
    }

    .mq-ecosystem-stage {
        gap: 13px
    }

    .growth-site .mq-orbit-card {
        grid-template-columns: 1fr;
        gap: 12px !important;
        padding: 20px 15px !important;
        min-height: 160px;
        text-align: center
    }

    .mq-orbit-icon {
        justify-self: center;
        width: 39px;
        height: 39px
    }

    .growth-site .mq-orbit-card h3 {
        text-align: center;
        font-size: 18px
    }

    .growth-site .mq-orbit-card p {
        font-size: 10px
    }

    .mq-ecosystem-core {
        width: 220px;
        height: 220px;
        margin: 0 0 15px
    }

    .mq-core-symbol,
    .mq-core-symbol img {
        width: 138px;
        height: 144px
    }

    .mq-core-ring.ring-two {
        inset: 22px
    }

    .mq-ecosystem .section-head h2 {
        font-size: 38px
    }

    .mq-ecosystem .section-head>p {
        font-size: 15px
    }

    .growth-site .mq-ecosystem-more {
        font-size: 13px
    }
}

@media(max-width:359px) {
    .growth-site .mq-typing-heading {
        font-size: 46px
    }

    .growth-site .mq-orbit-card {
        padding: 18px 11px !important
    }

    .growth-site .mq-orbit-card h3 {
        font-size: 16px
    }
}

@media(prefers-reduced-motion:reduce) {

    .mq-core-symbol,
    .mq-core-ring,
    .mq-orbit-card,
    .mq-card-energy,
    .mq-network-flow,
    .mq-type-caret {
        animation: none !important
    }

    .mq-core-symbol {
        transform: none !important
    }

    .mq-card-energy {
        opacity: .4
    }

    .mq-typing-heading>span[aria-hidden=true] {
        animation: none !important;
        opacity: 1;
        transform: none
    }
}

/* Keep the connected service cards' titles centered, as requested. */
.growth-site .mq-orbit-card {
    grid-template-columns: 1fr;
    gap: 10px !important;
    min-height: 136px;
    text-align: center
}

.mq-orbit-icon {
    justify-self: center
}

.growth-site .mq-orbit-card h3 {
    text-align: center;
    margin-bottom: 5px
}

.mq-orbit-arrow {
    position: absolute;
    right: 15px;
    top: 13px
}

.growth-site .mq-orbit-card p {
    text-align: center
}

@media(max-width:800px) {
    .growth-site .mq-orbit-card {
        min-height: 150px
    }
}

/* Apply the same Q-gradient treatment to primary and secondary calls to action. */
.growth-site .btn.secondary,
.growth-site .btn.ghost,
.growth-site [data-surface=dark] .btn.secondary {
    background: linear-gradient(115deg, #00a7fc 0%, #007afc 48%, #0054fc 100%);
    border: 1px solid #268bff;
    color: #fff;
    isolation: isolate
}

.growth-site .btn.secondary::before,
.growth-site .btn.ghost::before {
    content: '';
    position: absolute;
    inset: 0 41px 0 0;
    background: linear-gradient(90deg, #051d4466 0%, #051d4466 85%, transparent);
    pointer-events: none;
    z-index: -1
}

.growth-site .btn>.g-cta-label {
    position: relative;
    color: #fff;
    text-align: center;
    line-height: 1.4
}

.growth-site .btn>.g-cta-arrow {
    position: relative;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 27px;
    height: 27px;
    background: transparent;
    color: #fdbd26;
    font-size: 24px;
    line-height: 1
}

.growth-site .btn.secondary:hover,
.growth-site .btn.ghost:hover {
    background: linear-gradient(115deg, #17b1ff 0%, #1285ff 48%, #1464ff 100%)
}

.growth-site .cs-card-button {
    background: linear-gradient(#051d444d, #051d444d), linear-gradient(115deg, #00a7fc, #0054fc);
    color: #fff
}

.growth-site .cs-card-button i {
    color: #fdbd26
}

.growth-site .mq-hero-url button>span {
    color: #fdbd26
}

@media(max-width:480px) {
    .growth-site .btn>.g-cta-arrow {
        width: 23px;
        height: 23px;
        font-size: 22px
    }
}

/* v29: balanced typography, transparent Q sculpture and luminous service glass. */
.growth-site main :is(.section-head, .ed-section-head)>div {
    min-width: 0;
    width: 100%;
    max-width: 1050px;
    margin-inline: auto
}

.growth-site main :is(.section-head, .ed-section-head) :is(h2, p) {
    margin-inline: auto;
    text-wrap: balance
}

.growth-site main :is(.g-ai, .service-hero-inner)>* {
    min-width: 0
}

.growth-site .mq-hero-sculpture {
    position: relative;
    isolation: isolate;
    display: grid;
    place-items: center;
    width: 100%;
    height: clamp(290px, 43vw, 470px);
    perspective: 1000px;
    overflow: visible
}

.growth-site .mq-hero-sculpture>img {
    position: relative;
    z-index: 1;
    width: min(100%, 470px);
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 18px 35px #009dff30);
    transform-origin: 50% 55%;
    animation: mq-sculpture-drift 9s ease-in-out infinite
}

.growth-site .mq-sculpture-halo {
    position: absolute;
    width: 70%;
    height: 75%;
    border-radius: 50%;
    background: radial-gradient(ellipse, #00a7fc2e, transparent 68%);
    filter: blur(25px);
    animation: mq-halo-breathe 8s ease-in-out infinite
}

.growth-site .mq-sculpture-shadow {
    position: absolute;
    bottom: 3%;
    width: 40%;
    height: 18px;
    border-radius: 50%;
    background: #007afc35;
    filter: blur(18px);
    animation: mq-halo-breathe 9s ease-in-out infinite
}

.growth-site .g-hero-art:has(.mq-hero-sculpture) .g-search-float {
    position: relative;
    inset: auto;
    width: min(580px, calc(100% - 32px));
    margin: 0 auto 20px;
    box-sizing: border-box;
    text-align: left
}

.growth-site .g-hero-art:has(.mq-hero-sculpture) .g-motion-flow {
    border-radius: 18px;
    background: linear-gradient(125deg, #102c4380, #064b754a);
    backdrop-filter: blur(18px)
}

.growth-site .g-home-services-band {
    background: radial-gradient(ellipse at 10% 10%, #00a7fc19, transparent 55%), radial-gradient(ellipse at 90% 90%, #0054fc12, transparent 55%), #f5faff;
    color: #173b59;
    border-block: 1px solid #d9eaf5
}

.growth-site .g-home-services-band::before {
    background: radial-gradient(ellipse at 80% 5%, #fdbd2614, transparent 40%)
}

.growth-site .g-home-services-band .eyebrow {
    color: #325b77
}

.growth-site .g-home-services-band .section-head h2 {
    color: #102d48
}

.growth-site .g-home-services-band .section-head>p {
    color: #496578
}

.growth-site .g-home-services-band .word-highlight {
    background-image: linear-gradient(105deg, #007faf, #0054fc 58%, #b58112)
}

.growth-site .g-home-services-band .g-service-grid {
    align-items: stretch;
    gap: 24px;
    perspective: 1400px
}

.growth-site .g-home-services-band .g-service-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: linear-gradient(145deg, #ffffffeb, #ddf5ffb8 50%, #d5e6ffb8);
    border: 1px solid #ffffff;
    border-radius: 24px;
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #85caff70, 0 16px 35px #0054fc12;
    padding: 22px;
    transform: translateZ(0);
    transition: transform .4s, box-shadow .4s
}

.growth-site .g-home-services-band .g-service-card:hover {
    background: linear-gradient(145deg, #fff, #e5f8ff 50%, #dbeaff);
    border-color: #fff;
    transform: translateY(-6px) rotateX(1deg);
    box-shadow: inset 1px 1px 0 #fff, 0 24px 40px #0054fc20
}

.growth-site .g-home-services-band .g-service-card h3 {
    color: #123752;
    line-height: 1.25;
    font-size: clamp(25px, 2.3vw, 32px);
    margin: 20px auto 14px;
    text-wrap: balance;
    min-height: 2.5em;
    display: grid;
    place-content: center
}

.growth-site .g-home-services-band .g-service-card p {
    color: #3f5c72;
    text-align: center;
    line-height: 1.7;
    margin: 0 auto 24px;
    max-width: 30ch
}

.growth-site .g-home-services-band .g-service-card>div:last-child {
    margin-top: auto;
    width: 100%
}

.growth-site .g-home-services-band .g-service-card>div:last-child a {
    color: #173e60;
    border-top-color: #b9d7ec;
    line-height: 1.5;
    gap: 12px
}

.growth-site .g-home-services-band .g-service-card>div:last-child a:hover {
    color: #0054b5
}

.growth-site .g-home-services-band .g-service-photo {
    border: 1px solid #fff;
    border-radius: 15px;
    box-shadow: 0 8px 16px #0054fc14
}

.growth-site .g-home-services-band .g-agency-link {
    color: #496578
}

.growth-site .g-home-services-band .g-agency-link a {
    color: #0054b5
}

@keyframes mq-sculpture-drift {

    0%,
    100% {
        transform: translateY(0) rotateY(-9deg) rotateZ(-3deg)
    }

    50% {
        transform: translateY(-15px) rotateY(9deg) rotateZ(3deg)
    }
}

@keyframes mq-halo-breathe {

    0%,
    100% {
        opacity: .6;
        transform: scale(.9)
    }

    50% {
        opacity: 1;
        transform: scale(1.08)
    }
}

@media(max-width:600px) {
    .growth-site .g-home-services-band .g-service-card h3 {
        min-height: 0
    }

    .growth-site .g-motion-flow {
        gap: 5px
    }

    .growth-site .g-motion-flow b {
        font-size: 11px;
        line-height: 1.5
    }

    .growth-site .g-motion-flow small {
        font-size: 9px
    }
}

.growth-site.g-motion-paused :is(.mq-hero-sculpture>img, .mq-sculpture-halo, .mq-sculpture-shadow) {
    animation-play-state: paused !important
}

@media(prefers-reduced-motion:reduce) {
    .growth-site :is(.mq-hero-sculpture>img, .mq-sculpture-halo, .mq-sculpture-shadow) {
        animation: none !important
    }

    .growth-site .g-home-services-band .g-service-card:hover {
        transform: none
    }
}

/* v30: one compact CTA system, sampled from the final MQUAD Q isotype. */
.growth-site {
    --q-cyan: #00a7fc;
    --q-blue: #007afc;
    --q-royal: #0054fc;
    --q-yellow: #fdbd26;
    --cta-fill: linear-gradient(115deg, var(--q-cyan), var(--q-blue) 48%, var(--q-royal))
}

.growth-site :is(.btn, .btn.primary, .btn.secondary, .btn.ghost),
.growth-site [data-surface=dark] .btn.secondary {
    box-sizing: border-box;
    display: inline-flex;
    flex: 0 1 auto;
    width: fit-content;
    max-width: 100%;
    min-width: 0;
    min-height: 46px;
    padding: 11px 17px;
    gap: 12px;
    background: var(--cta-fill);
    border: 1px solid #268bff;
    border-radius: 9px;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    justify-content: center;
    align-items: center;
    text-align: center;
    isolation: isolate
}

.growth-site :is(.btn.primary, .btn.secondary, .btn.ghost)::before {
    content: '';
    position: absolute;
    inset: 0 34px 0 0;
    pointer-events: none;
    background: linear-gradient(90deg, #051d4466 0%, #051d4466 85%, transparent);
    z-index: -1
}

.growth-site :is(.btn.primary, .btn.secondary, .btn.ghost):hover {
    background: linear-gradient(115deg, #17b1ff, #1285ff 48%, #1464ff);
    border-color: #46aeff
}

.growth-site .btn>.g-cta-label {
    min-width: 0;
    white-space: normal
}

.growth-site .btn>.g-cta-arrow,
.growth-site .btn.primary>.g-cta-arrow {
    display: grid;
    place-items: center;
    flex: 0 0 20px;
    width: 20px;
    height: 22px;
    background: transparent;
    box-shadow: none;
    color: var(--q-yellow);
    font-size: 22px;
    line-height: 1;
    border-radius: 0
}

.growth-site .package-cta>.btn,
.growth-site .g-short-form>.btn.primary,
.growth-site .journal-sidebar .btn,
.growth-site .document-layout aside>.btn,
.growth-site .g-hero-copy .actions>.btn,
.growth-site .g-solution-hero .btn {
    width: fit-content;
    min-width: 0;
    max-width: 100%;
    flex: 0 1 auto;
    padding: 11px 17px;
    gap: 12px;
    min-height: 46px;
    font-size: 14px
}

.growth-site .package-cta {
    text-align: center
}

.growth-site .g-short-form>.btn.primary {
    justify-self: center;
    margin-inline: auto
}

.growth-site .service-subnav>.wrap>.btn {
    width: fit-content;
    min-width: 0;
    padding: 9px 13px;
    min-height: 44px;
    gap: 9px;
    font-size: 13px
}

.growth-site .mq-hero-url button {
    background: var(--cta-fill);
    color: var(--q-yellow);
    width: 48px;
    min-width: 44px;
    min-height: 44px
}

.growth-site .g-ai {
    display: block
}

.growth-site .g-ai>div:first-child {
    margin-inline: auto;
    max-width: 1000px
}

@media(max-width:480px) {

    .growth-site :is(.btn, .btn.primary, .btn.secondary, .btn.ghost),
    .growth-site .g-solution-hero .btn {
        font-size: 13px;
        padding: 11px 14px;
        gap: 10px;
        min-height: 46px
    }

    .growth-site .package-cta>.btn,
    .growth-site .g-short-form>.btn.primary {
        width: fit-content;
        min-width: 0
    }

    .growth-site .actions {
        justify-content: center;
        flex-wrap: wrap
    }
}

/* v31: shared inner-page resilience and a dimensional cyan-blue assistant. */
.growth-site main :is(section, article, figure, .section-head, .ed-section-head, .service-hero-inner, .g-industry-hero-grid, .cs-detail-hero-grid, .workflow-view, .workflow-panel, .package-card, .industry-solution-card, .case-table-card, .content-block) {
    min-width: 0
}

.growth-site main :is(h1, h2, h3, h4, p, li, a) {
    overflow-wrap: break-word
}

.growth-site main :is(.service-capability-grid, .industry-solution-grid, .package-grid, .cs-list-grid, .cs-approach-grid, .global-market-grid)>* {
    min-width: 0
}

.growth-site .g-solution-hero :is(h1, h2, h3),
.growth-site .g-industry-hero :is(h1, h2, h3),
.growth-site .cs-detail-hero :is(h1, h2, h3) {
    color: #fff
}

.growth-site .g-solution-hero :is(p, .breadcrumb, .eyebrow),
.growth-site .g-industry-hero :is(p, .breadcrumb, .eyebrow) {
    color: #c7ddeb
}

.growth-site :is(.service-hero-inner, .g-industry-hero-grid, .cs-detail-hero-grid)>div {
    min-width: 0;
    max-width: 100%
}

.growth-site .platform-strip {
    flex-wrap: wrap;
    justify-content: center;
    max-width: calc(100% - 24px)
}

.growth-site .platform-tile {
    min-width: 0;
    flex: 0 1 auto
}

.growth-site .workflow-illustration {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    max-width: 100%
}

.growth-site .workflow-visual-node {
    overflow-wrap: anywhere
}

.growth-site :is(.report-chart, .report-chart-wrap, .seo-proof-table, .case-table-wrap, .case-table-scroll, .g-table-scroll) {
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain
}

.growth-site :is(.report-chart, .g-chart) svg {
    min-width: 0;
    width: 100%;
    height: auto
}

.growth-site .g-guide-launch {
    padding: 5px 15px 5px 5px;
    gap: 9px;
    max-width: calc(100vw - 32px);
    background: linear-gradient(130deg, #ffffffee, #e9f7ffee);
    border: 1px solid #b4e1ff;
    box-shadow: inset 0 1px 0 #fff, 0 10px 30px #0054fc22;
    backdrop-filter: blur(16px);
    font-size: 13px;
    color: #173853
}

.growth-site .g-bot {
    position: relative;
    display: grid;
    place-items: center;
    width: 57px;
    height: 57px;
    border: 0;
    background: transparent;
    perspective: 500px;
    overflow: visible
}

.mq-bot-3d {
    position: relative;
    display: block;
    width: 49px;
    height: 49px;
    transform-style: preserve-3d;
    animation: mq-bot-float 8s ease-in-out infinite;
    filter: drop-shadow(0 5px 4px #0054fc30)
}

.mq-bot-shell {
    position: absolute;
    inset: 8px 3px 6px;
    border-radius: 15px;
    background: linear-gradient(135deg, #d3f7ff 0%, #00a7fc 27%, #007afc 65%, #0038ba 100%);
    border: 1px solid #92e9ff;
    box-shadow: inset 2px 3px 3px #ffffffb0, inset -3px -4px 5px #002e9970, 3px 4px 0 #004ed0
}

.mq-bot-face {
    position: absolute;
    inset: 7px 5px 6px;
    border-radius: 9px;
    background: linear-gradient(150deg, #10364f, #041526);
    border: 1px solid #29ceff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    box-shadow: inset 0 2px 4px #0008
}

.mq-bot-face .g-eye {
    display: block;
    width: 5px;
    height: 8px;
    border-radius: 5px;
    background: #7eeaff;
    box-shadow: 0 0 7px #00d9ff;
    animation: mq-bot-blink 6s infinite;
    transform-origin: center
}

.mq-bot-smile {
    position: absolute;
    width: 9px;
    height: 4px;
    bottom: 3px;
    border-bottom: 1.5px solid #fdbd26;
    border-radius: 50%
}

.mq-bot-shine {
    position: absolute;
    left: 7px;
    top: 2px;
    width: 19px;
    height: 3px;
    background: #fff9;
    border-radius: 50%;
    transform: rotate(-12deg)
}

.mq-bot-aerial {
    position: absolute;
    left: 24px;
    top: 0;
    height: 9px;
    width: 2px;
    background: #3cd6ff
}

.mq-bot-aerial::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #fdbd26;
    box-shadow: 0 0 8px #fdbd2680
}

.mq-bot-ear {
    position: absolute;
    top: 20px;
    width: 5px;
    height: 13px;
    border-radius: 4px;
    background: linear-gradient(#72e5ff, #0054fc);
    border: 1px solid #2bbdff
}

.mq-bot-ear-left {
    left: 0
}

.mq-bot-ear-right {
    right: -2px
}

.mq-bot-base {
    position: absolute;
    bottom: 0;
    left: 16px;
    width: 19px;
    height: 6px;
    border-radius: 3px 3px 8px 8px;
    background: linear-gradient(#54d8ff, #0054fc);
    box-shadow: 0 2px 0 #002c8c
}

.mq-bot-orbit {
    position: absolute;
    inset: -5px -9px;
    border: 1px solid #00a7fc40;
    border-radius: 50%;
    transform: rotateX(66deg) rotateZ(-25deg);
    pointer-events: none
}

.mq-bot-orbit::after {
    content: '';
    position: absolute;
    left: 8px;
    top: 0;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #fdbd26;
    box-shadow: 0 0 6px #fdbd2670
}

.growth-site .g-guide-header {
    background: linear-gradient(120deg, #07314f, #004a99);
    align-items: center
}

.growth-site .g-guide-header .g-bot {
    width: 49px;
    height: 49px;
    background: transparent;
    flex-shrink: 0
}

.growth-site .g-guide-header>div {
    min-width: 0
}

.growth-site .g-guide-teaser {
    box-sizing: border-box;
    max-width: calc(100vw - 40px);
    bottom: 112px;
    right: 27px;
    background: linear-gradient(135deg, #fff, #e5f7ff);
    border: 1px solid #9edcff;
    color: #173853
}

.growth-site .g-guide-dialog {
    bottom: 112px
}

.growth-site:has(.g-guide-teaser:not([hidden])) .g-guide-launch .mq-bot-3d {
    animation: mq-bot-pop .9s ease-out, mq-bot-float 8s .9s ease-in-out infinite
}

@keyframes mq-bot-float {

    0%,
    100% {
        transform: translate3d(-2px, 0, 0) rotateY(-16deg) rotateZ(-5deg)
    }

    25% {
        transform: translate3d(4px, -5px, 5px) rotateY(12deg) rotateZ(4deg)
    }

    50% {
        transform: translate3d(1px, -9px, 10px) rotateY(20deg) rotateZ(5deg)
    }

    75% {
        transform: translate3d(-4px, -4px, 5px) rotateY(-10deg) rotateZ(-3deg)
    }
}

@keyframes mq-bot-blink {

    0%,
    42%,
    46%,
    100% {
        transform: scaleY(1)
    }

    44% {
        transform: scaleY(.12)
    }
}

@keyframes mq-bot-pop {
    0% {
        transform: scale(.75) translateY(8px)
    }

    45% {
        transform: scale(1.2) translateY(-12px) rotateZ(-8deg)
    }

    75% {
        transform: scale(.96) translateY(1px)
    }

    100% {
        transform: scale(1)
    }
}

@media(max-width:800px) {
    .growth-site .g-guide-launch {
        bottom: calc(83px + env(safe-area-inset-bottom));
        right: 16px
    }

    .growth-site .g-guide-teaser {
        bottom: calc(160px + env(safe-area-inset-bottom));
        right: 16px
    }

    .growth-site .g-guide-dialog {
        bottom: calc(160px + env(safe-area-inset-bottom));
        max-height: calc(100dvh - 185px)
    }

    .growth-site .g-guide-launch .g-bot {
        width: 49px;
        height: 49px
    }

    .growth-site .g-guide-launch>span:last-child {
        font-size: 12px
    }
}

@media(max-width:480px) {
    .growth-site .workflow-illustration {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 15px 0
    }

    .growth-site .service-workflow .workflow-visual-center {
        width: 100%;
        height: 64px
    }

    .growth-site .workflow-illustration>svg {
        display: none
    }

    .growth-site .service-workflow .workflow-visual-node {
        font-size: 13px !important;
        padding: 13px !important
    }

    .growth-site :is(.g-solution-hero, .g-industry-hero, .cs-detail-hero, .page-hero) h1 {
        font-size: clamp(38px, 10.7vw, 52px);
        line-height: 1.13
    }

    .growth-site .service-subnav>.wrap {
        overflow-x: auto;
        justify-content: flex-start;
        gap: 15px
    }
}

.growth-site.g-motion-paused :is(.mq-bot-3d, .mq-bot-face .g-eye) {
    animation-play-state: paused !important
}

@media(prefers-reduced-motion:reduce) {
    .growth-site :is(.mq-bot-3d, .mq-bot-face .g-eye) {
        animation: none !important
    }
}

/* A focused hero: copy and audit entry beside the dimensional search Q. */
@media(min-width:1001px) {
    .growth-site .g-hero .g-hero-grid {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
        align-items: center;
        gap: clamp(25px, 4vw, 65px);
        padding-bottom: 65px
    }

    .growth-site .g-hero-copy h1 {
        font-size: clamp(60px, 5.9vw, 90px);
        line-height: 1.08
    }

    .growth-site .g-hero-copy>p {
        max-width: 650px;
        font-size: 18px
    }

    .growth-site .g-hero-art {
        width: 100%;
        max-width: 570px;
        align-self: center
    }

    .growth-site .mq-hero-sculpture {
        height: clamp(350px, 36vw, 500px)
    }

    .growth-site .g-hero-art:has(.mq-hero-sculpture) .g-search-float {
        width: 100%;
        margin: 0 auto;
        font-size: 13px;
        padding: 16px 18px
    }

    .growth-site .g-hero-motion {
        position: absolute;
        right: 0;
        bottom: 16px;
        margin: 0
    }
}

.growth-site .g-hero-art .g-query {
    white-space: normal;
    min-width: 0;
    line-height: 1.5;
    overflow-wrap: break-word
}

.growth-site .g-search-float {
    max-width: 100%;
    min-width: 0
}

@media(max-width:1000px) {
    .growth-site .g-hero .g-hero-grid {
        grid-template-columns: minmax(0, 1fr);
        padding-bottom: 50px
    }

    .growth-site .mq-hero-sculpture {
        height: clamp(260px, 52vw, 400px)
    }

    .growth-site .g-hero-art {
        max-width: 650px
    }

    .growth-site .g-hero-motion {
        position: static;
        grid-column: 1;
        margin: 0 auto
    }
}

/* Clinic reporting: branded keyword tabs and honest Search Console states. */
.growth-site .g-proof-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-bottom: 25px
}

.growth-site .g-proof-tabs button {
    flex: 0 1 auto;
    min-height: 46px;
    padding: 12px 22px;
    border-radius: 10px;
    font-size: 15px;
    line-height: 1.4
}

.growth-site .g-proof-tabs [aria-selected=true] {
    background: linear-gradient(115deg, #007fbf, #0054fc);
    color: #fff;
    border-color: #007afc
}

.growth-site .mq-clinic-story {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px
}

.growth-site .mq-clinic-story>img {
    height: 80px;
    width: 190px;
    object-fit: contain;
    margin: 0
}

.growth-site .mq-clinic-story h3 {
    font-size: 30px;
    line-height: 1.2;
    margin: 0;
    max-width: 22ch
}

.growth-site .mq-clinic-story p {
    margin: 0;
    max-width: 30ch
}

.growth-site .mq-clinic-story .textlink {
    margin: 0;
    justify-content: center
}

.growth-site .mq-clinic-ranks {
    min-width: 490px
}

.growth-site .mq-clinic-ranks th:first-child {
    width: 42%
}

.growth-site .mq-rank-pending {
    display: inline-block;
    padding: 6px 9px;
    border: 1px solid #cbdde9;
    border-radius: 7px;
    background: #f1f6fa;
    color: #496276;
    font-size: 12px;
    line-height: 1.4;
    white-space: nowrap
}

.growth-site .mq-client-dashboard {
    margin-top: 24px;
    padding: clamp(20px, 3vw, 32px);
    border: 1px solid #c6ddeb;
    border-radius: 18px;
    background: linear-gradient(145deg, #ffffff, #f1f9ff);
    box-shadow: inset 0 1px 0 #fff, 0 10px 30px #0054fc08;
    min-width: 0
}

.growth-site .mq-client-dashboard .g-dashboard-top {
    gap: 15px;
    flex-wrap: wrap
}

.growth-site .mq-client-dashboard .g-dashboard-top>div {
    display: flex;
    align-items: center;
    gap: 11px;
    font-size: 22px;
    color: #173853
}

.growth-site .mq-report-context {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 24px 0 18px;
    color: #48657c;
    font-size: 13px
}

.growth-site .mq-report-context strong {
    color: #173853;
    font-size: 16px;
    font-weight: 400
}

.growth-site .mq-client-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr))
}

.growth-site .mq-client-metrics>div {
    background: #fff;
    border: 1px solid #d4e7f5;
    min-width: 0
}

.growth-site .mq-client-metrics strong {
    color: #466b88
}

.growth-site .mq-client-metrics small {
    display: block;
    color: #5a7184;
    font-size: 11px;
    margin-top: 7px
}

.growth-site .mq-report-awaiting {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    padding: 34px 22px;
    margin-top: 22px;
    min-height: 160px;
    border: 1px dashed #a8cde7;
    border-radius: 12px;
    background: linear-gradient(135deg, #edf8ff80, #fff);
    text-align: center
}

.growth-site .mq-report-awaiting>span {
    font-size: 55px;
    color: #007afc;
    line-height: 1
}

.growth-site .mq-report-awaiting h4 {
    font-size: 24px;
    font-weight: 400;
    margin: 0 0 9px;
    color: #173853
}

.growth-site .mq-report-awaiting p {
    max-width: 590px;
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: #496578
}

@media(max-width:650px) {
    .growth-site .g-proof-tabs {
        display: grid;
        grid-template-columns: 1fr 1fr
    }

    .growth-site .g-proof-tabs button {
        font-size: 13px;
        padding: 11px 10px
    }

    .growth-site .mq-clinic-story {
        padding: 25px
    }

    .growth-site .mq-clinic-story h3 {
        font-size: 27px
    }

    .growth-site .mq-client-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .growth-site .mq-client-dashboard .g-dashboard-top>div {
        font-size: 19px
    }

    .growth-site .mq-report-context {
        align-items: flex-start;
        flex-direction: column
    }

    .growth-site .mq-report-awaiting {
        flex-direction: column;
        gap: 10px;
        padding: 25px 17px
    }

    .growth-site .mq-report-awaiting h4 {
        font-size: 22px
    }
}

/* v32: Q-spectrum services, confident typography and a tighter page rhythm. */
.growth-site .g-home-services-band {
    background: radial-gradient(ellipse at 10% 0, #80e6ff70, transparent 52%), linear-gradient(125deg, #009be7 0%, #007afc 52%, #0054fc 100%);
    color: #fff;
    border-color: #75c9ff
}

.growth-site .g-home-services-band::before {
    background: radial-gradient(ellipse at 90% 90%, #001a8f20, transparent 55%)
}

.growth-site .g-home-services-band .section-head h2 {
    color: #fff
}

.growth-site .g-home-services-band .eyebrow,
.growth-site .g-home-services-band .section-head>p {
    color: #fff
}

.growth-site .g-home-services-band .word-highlight {
    background-image: linear-gradient(100deg, #d8f7ff 0%, #fff 50%, #ffe39a 100%)
}

.growth-site .g-home-services-band .g-service-card {
    background: linear-gradient(145deg, #ffffffed, #e2f7ffeb 48%, #d7e8ffed);
    border-color: #e4f8ff;
    box-shadow: inset 1px 1px 0 #fff, inset -2px -2px 0 #a5dcff, 0 18px 35px #00298624;
    padding: 18px
}

.growth-site .g-home-services-band .g-service-card:hover {
    background: linear-gradient(145deg, #fff, #e7f9ff 48%, #dceaff);
    box-shadow: inset 1px 1px 0 #fff, 0 22px 38px #00298635
}

.growth-site .g-home-services-band .g-service-card .mq-card-energy {
    background-image: linear-gradient(115deg, #dcf7ff40, #fff 32%, #00a7fc 48%, #0054fc 68%, #dcf7ff40)
}

.growth-site .g-home-services-band .g-agency-link,
.growth-site .g-home-services-band .g-agency-link a {
    color: #fff
}

.growth-site .g-home-services-band .g-service-photo {
    width: 100%;
    height: auto;
    aspect-ratio: 1.5;
    min-height: 0;
    margin: 0 0 10px;
    flex: none;
    overflow: hidden
}

.growth-site .g-home-services-band .g-service-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.growth-site .g-home-services-band .g-service-card h3 {
    margin: 10px auto 12px
}

.growth-site .g-home-services-band .g-service-card p {
    margin-bottom: 18px
}

.growth-site main :is(h1, .g-hero-copy h1, .g-solution-hero h1, .g-industry-hero h1, .cs-detail-hero h1, .page-hero h1, .uc-hero h1, .cs-index-hero h1, .editorial-hero h1, .article-hero h1) {
    font-size: clamp(64px, 7.2vw, 108px);
    font-weight: 300;
    line-height: 1.06;
    letter-spacing: -.04em;
    text-wrap: balance
}

.growth-site main .g-word {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere
}

.growth-site .g-heading-running .g-word {
    animation: mq-title-arrive .95s cubic-bezier(.16, .75, .25, 1) both;
    animation-delay: var(--word-delay, 0s);
    transform-origin: 50% 100%
}

.growth-site .g-heading-running .word-highlight {
    animation: mq-title-arrive .95s cubic-bezier(.16, .75, .25, 1) both, g-gradient-drift 7s ease-in-out 1s infinite;
    animation-delay: var(--word-delay, 0s), 1s;
    background-size: 180% 100%
}

.growth-site .g-heading-visual {
    display: block
}

@keyframes mq-title-arrive {
    from {
        opacity: .2;
        transform: perspective(600px) translateY(25px) rotateX(12deg);
        filter: blur(5px)
    }

    to {
        opacity: 1;
        transform: perspective(600px) translateY(0) rotateX(0);
        filter: blur(0)
    }
}

.growth-site :is(.g-ai, .g-work, .g-faq, .faq, .service-faq, .audit, .service-included, .service-results, .service-packages, .service-depth, .industry-results, .industry-depth, .industry-context) {
    padding-top: 58px;
    padding-bottom: 58px
}

.growth-site :is(.g-proof, .g-process, .g-feedback, .sector-explorer, .service-workflow, .service-final-cta, .industry-why-band, .cs-end-cta, .brand-close, .mq-ecosystem) {
    padding-top: 58px;
    padding-bottom: 58px
}

.growth-site .g-services-colour-band :is(.g-services, .service-included) {
    padding-top: 58px;
    padding-bottom: 58px
}

.growth-site :is(.section-head, .ed-section-head) {
    margin-bottom: 30px;
    gap: 20px
}

.growth-site .clients-section {
    padding-top: 22px;
    padding-bottom: 22px;
    margin-top: 0;
    margin-bottom: 0;
    border-top: 0
}

.growth-site .g-next-step {
    padding-top: 38px;
    padding-bottom: 38px
}

.growth-site .g-close {
    padding-top: 48px;
    padding-bottom: 48px
}

.growth-site .g-hero {
    padding-top: 45px
}

.growth-site .g-hero .g-hero-grid {
    padding-bottom: 45px
}

.growth-site .g-solution-hero .service-hero-inner,
.growth-site .g-industry-hero-grid {
    padding-top: 45px;
    padding-bottom: 45px;
    gap: 28px
}

@media(min-width:1001px) {
    .growth-site .g-hero-copy h1 {
        font-size: clamp(68px, 6.8vw, 102px)
    }

    .growth-site .g-hero .g-hero-grid {
        gap: 35px
    }

    .growth-site .g-hero-art {
        padding-top: 0
    }
}

@media(max-width:800px) {
    .growth-site main :is(h1, .g-hero-copy h1, .g-solution-hero h1, .g-industry-hero h1, .cs-detail-hero h1, .page-hero h1, .uc-hero h1, .cs-index-hero h1, .editorial-hero h1, .article-hero h1) {
        font-size: clamp(55px, 9vw, 80px);
        line-height: 1.1
    }

    .growth-site :is(.g-ai, .g-work, .g-faq, .faq, .service-faq, .audit, .service-included, .service-results, .service-packages, .service-depth, .industry-results, .industry-depth, .industry-context, .g-proof, .g-process, .g-feedback, .sector-explorer, .service-workflow, .mq-ecosystem) {
        padding-top: 42px;
        padding-bottom: 42px
    }

    .growth-site .g-services-colour-band :is(.g-services, .service-included) {
        padding-block: 42px
    }

    .growth-site .g-home-services-band .g-service-photo {
        aspect-ratio: 1.8
    }

    .growth-site .g-home-services-band .g-service-card h3 {
        min-height: 0
    }
}

@media(max-width:480px) {
    .growth-site main :is(h1, .g-hero-copy h1, .g-solution-hero h1, .g-industry-hero h1, .cs-detail-hero h1, .page-hero h1, .uc-hero h1, .cs-index-hero h1, .editorial-hero h1, .article-hero h1) {
        font-size: clamp(43px, 12vw, 59px);
        line-height: 1.1;
        letter-spacing: -.035em
    }

    .growth-site .g-hero {
        padding-top: 30px
    }

    .growth-site .g-hero .g-hero-grid {
        gap: 20px;
        padding-bottom: 32px
    }

    .growth-site .g-home-services-band .g-service-photo {
        aspect-ratio: 1.55
    }

    .growth-site .g-home-services-band .g-service-card {
        padding: 17px
    }

    .growth-site .clients-section {
        padding-block: 17px
    }

    .growth-site .g-next-step {
        padding-block: 30px
    }
}

@media(prefers-reduced-motion:reduce) {
    .growth-site .g-heading-running :is(.g-word, .word-highlight) {
        animation: none !important;
        opacity: 1;
        transform: none;
        filter: none
    }
}

/* Client voices and the homepage journal. */
.growth-site .mq-review-section {
    background: radial-gradient(ellipse at 0 0, #00a7fc0c, transparent 55%), #edf5fb;
    padding-block: 56px
}

.mq-review-layout {
    display: grid;
    grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr);
    gap: 24px;
    align-items: stretch
}

.mq-google-card {
    padding: 32px;
    border: 1px solid #c6deee;
    border-radius: 20px;
    background: linear-gradient(145deg, #fff, #e3f5ff);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 18px
}

.growth-site .mq-google-card h3 {
    margin: 0;
    font-size: 30px;
    line-height: 1.2
}

.growth-site .mq-google-card p {
    margin: 0;
    font-size: 16px;
    max-width: 29ch
}

.mq-google-card>img {
    width: 42px;
    height: 42px;
    object-fit: contain
}

.mq-review-carousel {
    min-width: 0;
    border: 1px solid #c4dbea;
    border-radius: 20px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 12px 35px #0054fc08
}

.mq-review-window {
    overflow: hidden;
    width: 100%
}

.mq-review-track {
    display: flex;
    align-items: stretch;
    transition: transform .65s cubic-bezier(.2, .7, .2, 1);
    will-change: transform
}

.mq-review-slide {
    flex: 0 0 100%;
    min-width: 0;
    box-sizing: border-box;
    margin: 0;
    padding: 30px 34px 22px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    position: relative
}

.growth-site .mq-review-slide .g-feedback-label {
    font-size: 11px;
    color: #527084;
    letter-spacing: .02em;
    line-height: 1.5
}

.mq-review-quote {
    font-size: 62px;
    color: #007afc;
    line-height: .8;
    margin: 25px 0 10px
}

.growth-site .mq-review-slide blockquote {
    font-size: clamp(24px, 2.5vw, 33px);
    font-weight: 300;
    letter-spacing: -.025em;
    line-height: 1.35;
    margin: 0 0 27px;
    color: #173853;
    max-width: 32ch
}

.mq-review-slide figcaption {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: auto;
    width: 100%
}

.mq-review-slide figcaption>img {
    margin-left: auto;
    width: 100px;
    height: 40px;
    object-fit: contain
}

.mq-review-slide figcaption strong {
    display: block;
    font-size: 16px;
    color: #173853
}

.mq-review-slide figcaption small {
    display: block;
    font-size: 12px;
    color: #567084
}

.mq-review-avatar {
    display: grid;
    place-items: center;
    width: 43px;
    height: 43px;
    background: linear-gradient(135deg, #007eab, #0054d0);
    color: white;
    border-radius: 50%;
    font-size: 18px;
    flex-shrink: 0
}

.mq-review-slide .g-feedback-source {
    margin-top: 16px;
    font-size: 12px;
    color: #31618b
}

.mq-review-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    border-top: 1px solid #e1edf5;
    padding: 15px 24px;
    color: #49677e;
    font-size: 12px
}

.mq-review-controls>div {
    display: flex;
    gap: 8px
}

.mq-review-controls button {
    border: 1px solid #b8d5e8;
    border-radius: 50%;
    height: 44px;
    width: 44px;
    background: #f1f8ff;
    color: #095da4;
    font-size: 20px;
    cursor: pointer
}

.mq-review-controls button:hover {
    background: #dcefff
}

.mq-review-controls [data-review-pause] {
    width: auto;
    border-radius: 7px;
    padding: 9px 12px;
    font-size: 12px;
    min-height: 44px;
    height: auto
}

.growth-site .mq-review-source-note {
    font-size: 11px;
    line-height: 1.6;
    color: #587287;
    text-align: center;
    max-width: 800px;
    margin: 20px auto 0
}

.growth-site .mq-home-insights {
    padding-block: 56px
}

.mq-blog-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px
}

.mq-blog-card {
    display: flex;
    flex-direction: column;
    border: 1px solid #d2e3f0;
    border-radius: 18px;
    background: #fff;
    overflow: hidden;
    min-width: 0;
    box-shadow: 0 8px 30px #0054fc07
}

.mq-blog-image {
    display: block;
    aspect-ratio: 1.7;
    overflow: hidden
}

.mq-blog-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s
}

.mq-blog-card:hover .mq-blog-image img {
    transform: scale(1.04)
}

.mq-blog-copy {
    padding: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex: 1
}

.growth-site .mq-blog-copy>.eyebrow {
    font-size: 11px;
    margin-bottom: 12px
}

.growth-site .mq-blog-copy h3 {
    font-size: 28px;
    line-height: 1.2;
    margin: 0 0 14px
}

.mq-blog-copy h3 a {
    color: #173853;
    text-decoration: none
}

.mq-blog-copy h3 a:hover {
    color: #0054b5
}

.growth-site .mq-blog-copy p {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 20px
}

.mq-blog-copy .textlink {
    margin-top: auto;
    font-size: 14px
}

.mq-blog-footer {
    text-align: center;
    margin-top: 27px
}

@media(max-width:800px) {
    .mq-review-layout {
        grid-template-columns: 1fr
    }

    .mq-google-card {
        padding: 26px
    }

    .mq-blog-list {
        grid-template-columns: 1fr;
        gap: 18px
    }

    .mq-blog-card {
        display: grid;
        grid-template-columns: minmax(0, .7fr) minmax(0, 1fr)
    }

    .mq-blog-image {
        aspect-ratio: auto;
        height: 100%
    }

    .mq-blog-copy {
        padding: 24px
    }

    .growth-site .mq-review-section,
    .growth-site .mq-home-insights {
        padding-block: 42px
    }
}

@media(max-width:480px) {
    .mq-review-slide {
        padding: 25px 23px 20px
    }

    .growth-site .mq-review-slide blockquote {
        font-size: 26px
    }

    .mq-review-slide figcaption>img {
        width: 75px
    }

    .mq-review-controls {
        padding: 13px 17px;
        gap: 8px
    }

    .mq-review-controls [data-review-count] {
        font-size: 11px
    }

    .mq-review-controls [data-review-pause] {
        padding: 8px;
        font-size: 11px
    }

    .mq-blog-card {
        display: flex
    }

    .mq-blog-image {
        aspect-ratio: 1.8
    }

    .mq-blog-copy {
        padding: 23px
    }

    .growth-site .mq-blog-copy h3 {
        font-size: 27px
    }
}

@media(prefers-reduced-motion:reduce) {

    .mq-review-track,
    .mq-blog-image img {
        transition: none
    }

    .mq-blog-card:hover .mq-blog-image img {
        transform: none
    }
}

/* A clear fourth column in both mega menus. */
.growth-site header .mega-panel {
    width: min(1340px, calc(100vw - 48px));
    max-height: calc(100dvh - 110px);
    overflow-y: auto;
    overscroll-behavior: contain
}

.growth-site header .mega-panel-body {
    grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(230px, .95fr);
    gap: 22px;
    padding: 26px;
    align-items: start
}

.growth-site header .mega-panel-body>section {
    min-width: 0
}

.growth-site header .mq-mega-promo {
    min-width: 0;
    align-self: stretch;
    background: linear-gradient(145deg, #e5f7ff, #f3f7ff);
    border: 1px solid #c6e6ff;
    border-radius: 14px;
    overflow: hidden;
    margin: 0;
    padding: 0;
    text-align: left
}

.growth-site header .mq-mega-promo>img {
    display: block;
    width: 100%;
    height: 160px;
    object-fit: cover;
    max-height: none;
    border-radius: 0
}

.growth-site header .mq-mega-promo>div {
    padding: 20px
}

.growth-site header .mq-mega-kicker {
    display: block;
    font-size: 10px;
    line-height: 1.5;
    color: #47677d;
    margin-bottom: 10px
}

.growth-site header .mq-mega-promo h3 {
    font-size: 25px;
    line-height: 1.15;
    font-weight: 400;
    color: #153650;
    margin: 0 0 13px;
    text-align: left;
    letter-spacing: -.025em
}

.growth-site header .mq-mega-promo p {
    font-size: 14px;
    line-height: 1.6;
    color: #496578;
    margin: 0 0 18px
}

.growth-site header .mq-mega-promo .btn {
    width: fit-content;
    max-width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 10px 13px;
    gap: 9px;
    font-size: 13px;
    color: white;
    background: var(--cta-fill);
    border: 1px solid #268bff;
    line-height: 1.4;
    text-align: center
}

.growth-site header .mq-mega-promo .btn:hover {
    background: linear-gradient(115deg, #17b1ff, #1285ff 48%, #1464ff)
}

.growth-site header .mq-mega-promo .g-cta-arrow {
    color: #fdbd26
}

@media(min-width:801px) and (max-width:1150px) {
    .growth-site header .mega-panel-body {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px
    }

    .growth-site header .mq-mega-promo {
        display: grid;
        grid-template-columns: minmax(0, .7fr) minmax(0, 1fr);
        align-items: center
    }

    .growth-site header .mq-mega-promo>img {
        height: 100%;
        min-height: 230px
    }

    .growth-site header .mq-mega-promo>div {
        padding: 18px
    }

    .growth-site header .mq-mega-promo h3 {
        font-size: 22px
    }
}

@media(max-width:800px) {
    .growth-site header .mega-panel {
        width: 100%;
        max-height: none;
        overflow: visible
    }

    .growth-site header .mega-panel-body {
        grid-template-columns: minmax(0, 1fr);
        gap: 22px;
        padding: 20px
    }

    .growth-site header .mq-mega-promo {
        display: grid;
        grid-template-columns: minmax(0, .6fr) minmax(0, 1fr)
    }

    .growth-site header .mq-mega-promo>img {
        height: 100%;
        min-height: 190px
    }

    .growth-site header .mq-mega-promo>div {
        padding: 18px
    }

    .growth-site header .mq-mega-promo h3 {
        font-size: 23px
    }
}

@media(max-width:400px) {
    .growth-site header .mq-mega-promo {
        display: block
    }

    .growth-site header .mq-mega-promo>img {
        height: 135px;
        min-height: 0
    }

    .growth-site header .mq-mega-promo>div {
        padding: 17px
    }
}

/* Healthcare focus replaces the repeated homepage service list. */
.mq-healthcare-focus {
    padding-block: 56px;
    background: radial-gradient(ellipse at 4% 0, #a5f1ff4d, transparent 50%), linear-gradient(125deg, #009be7, #007afc 52%, #0054fc);
    border-block: 1px solid #5fc4ff;
    isolation: isolate
}

.growth-site .mq-healthcare-focus .section-head h2,
.growth-site .mq-healthcare-focus .section-head>p,
.growth-site .mq-healthcare-focus .eyebrow {
    color: #fff
}

.growth-site .mq-healthcare-focus .word-highlight {
    background-image: linear-gradient(105deg, #c1f0ff, #fff 55%, #ffe49e)
}

.mq-healthcare-layout {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 28px;
    align-items: stretch
}

.mq-healthcare-photo {
    position: relative;
    min-width: 0;
    min-height: 450px;
    border: 1px solid #ccf3ffb3;
    border-radius: 22px;
    overflow: hidden;
    margin: 0;
    box-shadow: 0 14px 35px #00328a24
}

.mq-healthcare-photo>img {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.mq-healthcare-photo figcaption {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    padding: 18px 22px;
    border: 1px solid #ffffffb0;
    border-radius: 14px;
    background: #f7fcffed;
    color: #153b57;
    backdrop-filter: blur(18px);
    font-size: 24px;
    line-height: 1.25;
    font-weight: 300;
    text-align: center;
    box-shadow: 0 8px 24px #00418f15
}

.mq-healthcare-photo figcaption>span {
    display: block;
    font-size: 25px;
    color: #007afc;
    margin-bottom: 8px
}

.mq-healthcare-content {
    padding: 27px;
    border: 1px solid #d3f3ff;
    background: linear-gradient(145deg, #fffffff2, #e1f5fff0 52%, #d5e8fff2);
    border-radius: 22px;
    box-shadow: inset 1px 1px 0 #fff, 0 14px 35px #00328a24;
    min-width: 0
}

.mq-patient-journey {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0
}

.mq-patient-journey>li {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 19px;
    position: relative;
    padding: 0 0 25px;
    align-items: start
}

.mq-patient-journey>li:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 50px;
    bottom: 4px;
    left: 23px;
    width: 1px;
    background: linear-gradient(#00a7fc, #0054fc30);
    transform-origin: top;
    animation: mq-health-connect 4s ease-in-out infinite
}

.mq-health-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    position: relative;
    border: 1px solid #80d5ff;
    border-radius: 15px;
    color: #0068cd;
    background: linear-gradient(145deg, #fff, #bfebff 50%, #a9cfff);
    box-shadow: inset 1px 1px 0 #fff, 0 5px 12px #0054fc19;
    animation: mq-health-float 6s ease-in-out infinite
}

.mq-health-icon svg {
    width: 28px;
    height: 28px
}

.mq-patient-journey>li:nth-child(2) .mq-health-icon {
    animation-delay: -2s
}

.mq-patient-journey>li:nth-child(3) .mq-health-icon {
    animation-delay: -4s
}

.growth-site .mq-health-step {
    display: block;
    font-size: 10px;
    letter-spacing: .06em;
    color: #3c6a8b;
    margin: 0 0 7px
}

.growth-site .mq-patient-journey h3 {
    font-size: 25px;
    line-height: 1.2;
    color: #153b57;
    margin: 0 0 9px;
    text-align: left;
    font-weight: 400;
    letter-spacing: -.025em
}

.growth-site .mq-patient-journey p {
    font-size: 16px;
    line-height: 1.6;
    color: #3f6079;
    margin: 0;
    max-width: 50ch
}

.mq-healthcare-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
    align-items: center;
    padding-top: 3px
}

.mq-healthcare-actions .textlink {
    font-size: 13px
}

@keyframes mq-health-connect {

    0%,
    100% {
        opacity: .4;
        transform: scaleY(.85)
    }

    50% {
        opacity: 1;
        transform: scaleY(1)
    }
}

@keyframes mq-health-float {

    0%,
    100% {
        transform: translateY(0) rotateY(-7deg)
    }

    50% {
        transform: translateY(-4px) rotateY(7deg)
    }
}

@media(max-width:800px) {
    .mq-healthcare-focus {
        padding-block: 42px
    }

    .mq-healthcare-layout {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .mq-healthcare-photo {
        min-height: 300px;
        max-height: 360px
    }

    .mq-healthcare-photo>img {
        position: relative;
        height: 330px;
        object-position: center 42%
    }

    .mq-healthcare-photo figcaption {
        left: 18px;
        right: 18px;
        bottom: 18px;
        font-size: 23px
    }

    .mq-healthcare-content {
        padding: 26px
    }
}

@media(max-width:480px) {
    .mq-healthcare-content {
        padding: 23px 19px
    }

    .mq-patient-journey>li {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 14px;
        padding-bottom: 24px
    }

    .mq-health-icon {
        width: 42px;
        height: 42px;
        border-radius: 13px
    }

    .mq-health-icon svg {
        width: 25px;
        height: 25px
    }

    .mq-patient-journey>li:not(:last-child)::after {
        left: 20px;
        top: 47px
    }

    .growth-site .mq-patient-journey h3 {
        font-size: 23px
    }

    .growth-site .mq-patient-journey p {
        font-size: 15px
    }

    .mq-healthcare-photo figcaption {
        padding: 15px;
        font-size: 22px
    }
}

.growth-site.g-motion-paused .mq-health-icon,
.growth-site.g-motion-paused .mq-patient-journey>li::after {
    animation-play-state: paused !important
}

@media(prefers-reduced-motion:reduce) {

    .mq-health-icon,
    .mq-patient-journey>li::after {
        animation: none !important
    }
}

/* v35: one Q-colour system, compact audit entry and consistent inner pages. */
.growth-site {
    --blue: #007afc;
    --brand: #007afc;
    --purple: #007afc;
    --yellow: #fdbd26;
    --q-cyan: #00a7fc;
    --q-blue: #007afc;
    --q-royal: #0054fc;
    --cta-fill: linear-gradient(115deg, #00a7fc, #007afc 48%, #0054fc)
}

.growth-site .mq-audit-title {
    font-size: 17px;
    font-weight: 400;
    line-height: 1.4;
    margin: 24px auto 9px;
    color: #fff;
    text-align: center
}

.growth-site .mq-hero-url {
    box-sizing: border-box;
    max-width: 450px;
    width: 100%;
    margin: 0 auto;
    padding: 4px;
    gap: 6px;
    border-radius: 11px;
    box-shadow: 0 8px 25px #00193820
}

.growth-site .mq-hero-url input {
    height: 44px;
    padding: 10px 4px;
    font-size: 15px;
    line-height: 1.4
}

.growth-site .mq-hero-url button {
    height: 44px;
    width: 44px;
    min-width: 44px;
    min-height: 44px;
    font-size: 26px;
    border-radius: 7px;
    background: var(--cta-fill)
}

.growth-site .mq-url-icon {
    font-size: 19px;
    margin-left: 10px;
    flex: 0 0 auto
}

.growth-site .mq-url-help {
    font-size: 11px !important;
    line-height: 1.6 !important;
    max-width: 450px;
    margin: 10px auto 0;
    text-align: center
}

.growth-site :is(.btn, .btn.primary, .btn.secondary, .btn.ghost),
.growth-site [data-surface=dark] .btn.secondary,
.growth-site header .mq-mega-promo .btn {
    background: var(--cta-fill);
    color: #fff;
    border: 1px solid #268bff;
    isolation: isolate;
    border-radius: 9px;
    min-height: 44px;
    padding: 10px 15px;
    gap: 11px;
    box-shadow: 0 4px 16px #0054fc12
}

.growth-site :is(.btn, .btn.primary, .btn.secondary, .btn.ghost):hover,
.growth-site header .mq-mega-promo .btn:hover {
    background: var(--cta-fill);
    border-color: #80dcff;
    box-shadow: 0 8px 22px #0054fc25
}

.growth-site .btn::before {
    content: '';
    position: absolute;
    inset: 0 30px 0 0;
    background: linear-gradient(90deg, #051d4473 0%, #051d4473 82%, transparent);
    z-index: -1;
    pointer-events: none
}

.growth-site .btn::after,
.growth-site .btn.primary::after,
.growth-site .btn.primary:hover::after {
    content: '';
    position: absolute;
    inset: 0;
    left: 0;
    top: 0;
    bottom: 0;
    width: auto;
    height: auto;
    padding: 1.5px;
    border-radius: inherit;
    background: linear-gradient(115deg, #c2f3ff55 5%, #00a7fc 25%, #e9fdff 40%, #0054fc 60%, #00a7fc 80%, #c2f3ff55 95%);
    background-size: 250% 250%;
    transform: none;
    transition: none;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    animation: mq-cta-border 6s linear infinite;
    pointer-events: none;
    z-index: 0
}

.growth-site .btn>.g-cta-label,
.growth-site .btn>.g-cta-arrow {
    position: relative;
    z-index: 1
}

.growth-site .btn>.g-cta-label {
    color: #fff
}

.growth-site .btn>.g-cta-arrow {
    color: #fdbd26
}

@keyframes mq-cta-border {
    0% {
        background-position: 0% 0%
    }

    50% {
        background-position: 100% 100%
    }

    100% {
        background-position: 0% 0%
    }
}

.growth-site :is(.service-workflow, .industry-workflow) {
    background: radial-gradient(ellipse at 100% 0, #007afc45, transparent 62%), linear-gradient(115deg, #05090f, #0a1b2d);
    color: #d9eaf7
}

.growth-site .workflow-layout {
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    align-items: start;
    gap: 25px
}

.growth-site .workflow-tabs {
    min-width: 0
}

.growth-site .workflow-tabs button {
    font-size: 15px;
    line-height: 1.5;
    color: #d0e4f3;
    border-color: #6da5cd40;
    gap: 13px
}

.growth-site .workflow-tabs button>b {
    font-size: 15px;
    font-weight: 400;
    white-space: normal;
    color: inherit
}

.growth-site .workflow-tabs button>span {
    color: #9fdfff;
    flex: 0 0 22px
}

.growth-site .workflow-tabs button:hover {
    background: #007afc22;
    color: #fff;
    border-color: #75cfff
}

.growth-site .workflow-tabs button[aria-selected=true] {
    background: linear-gradient(125deg, #dff6ff, #cfdefe);
    border-color: #9adfff;
    color: #113858
}

.growth-site .workflow-tabs button[aria-selected=true]>span {
    color: #0054b5
}

.growth-site .workflow-tabs button>i {
    color: inherit
}

.growth-site .workflow-view {
    top: 115px;
    border-color: #5896c280;
    background: linear-gradient(145deg, #163a5680, #0b2034c9);
    box-shadow: inset 0 1px 0 #ffffff15;
    min-height: 0;
    padding: 28px;
    text-align: center
}

.growth-site .workflow-panel h3 {
    color: #fff;
    font-size: clamp(28px, 3vw, 38px);
    line-height: 1.2;
    margin: 18px auto 16px
}

.growth-site .workflow-panel p {
    color: #d2e6f5;
    line-height: 1.7;
    text-align: center;
    margin: 0 auto 22px;
    max-width: 66ch;
    min-height: 0
}

.growth-site .workflow-deliverable {
    background: #007afc12;
    border-color: #4b83ad80;
    text-align: center
}

.growth-site .workflow-deliverable span {
    color: #9fdfff
}

.growth-site .workflow-deliverable b {
    color: #e6f5ff;
    font-weight: 400
}

.growth-site .workflow-visual-center>span {
    top: auto;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 28px;
    height: 28px;
    font-size: 11px;
    color: #fff;
    border: 1px solid #61bdff;
    background: linear-gradient(135deg, #007dbb, #0054fc);
    box-shadow: none
}

.growth-site .workflow-controls {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px
}

.growth-site .workflow-controls button {
    min-height: 44px;
    padding: 10px 13px;
    border-color: #5d9ac2;
    color: #e5f4ff;
    background: #007afc15;
    font-size: 12px
}

.growth-site .workflow-count {
    color: #beddef;
    margin: 0 6px
}

.growth-site .mq-why-simple .ed-process-layout {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 27px
}

.growth-site .mq-why-simple .ed-process-content {
    width: 100%;
    max-width: 1050px;
    text-align: center
}

.growth-site .mq-why-simple h2 {
    margin: 0
}

.growth-site .mq-why-simple .ed-process-image {
    width: 100%;
    max-width: 1100px;
    height: 360px;
    margin: 0;
    border-radius: 20px;
    overflow: hidden;
    order: 0
}

.growth-site .mq-why-simple .ed-process-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 45%
}

.growth-site .g-solution-hero :is(.actions, .service-trust-notes) {
    justify-content: center
}

.growth-site .industry-depth :is(h2, p),
.growth-site .service-depth-intro :is(h2, p) {
    margin-inline: auto
}

.growth-site .package-grid {
    align-items: stretch
}

.growth-site .package-card {
    display: flex;
    flex-direction: column;
    min-width: 0
}

.growth-site .package-cta {
    margin-top: auto;
    padding-top: 20px;
    display: flex;
    justify-content: center
}

.growth-site .package-featured {
    border-color: #47baff;
    box-shadow: 0 12px 35px #0054fc14
}

@media(max-width:800px) {
    .growth-site .workflow-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px
    }

    .growth-site .workflow-tabs {
        display: flex;
        flex-direction: row;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        gap: 9px;
        padding-bottom: 7px
    }

    .growth-site .workflow-tabs button {
        scroll-snap-align: start;
        max-width: 260px;
        white-space: normal;
        flex-shrink: 0;
        min-height: 48px;
        padding: 12px 15px
    }

    .growth-site .workflow-tabs button>b {
        font-size: 14px
    }

    .growth-site .workflow-view {
        position: relative;
        top: auto;
        padding: 25px
    }

    .growth-site .mq-why-simple .ed-process-image {
        height: 300px
    }
}

@media(max-width:480px) {
    .growth-site .mq-hero-url {
        max-width: 370px
    }

    .growth-site .mq-hero-url input {
        font-size: 14px
    }

    .growth-site .mq-audit-title {
        font-size: 16px;
        margin-top: 21px
    }

    .growth-site .workflow-view {
        padding: 22px 18px
    }

    .growth-site .workflow-controls .workflow-count {
        order: 4;
        flex-basis: 100%;
        text-align: center
    }

    .growth-site .workflow-controls button {
        font-size: 11px
    }

    .growth-site .workflow-panel h3 {
        font-size: 29px
    }

    .growth-site .workflow-visual-center>span {
        bottom: -4px
    }

    .growth-site .mq-why-simple .ed-process-image {
        height: 260px
    }

    .growth-site .mq-why-simple .ed-process-layout {
        gap: 22px
    }
}

.growth-site.g-motion-paused .btn::after {
    animation-play-state: paused !important
}

@media(prefers-reduced-motion:reduce) {
    .growth-site .btn::after {
        animation: none !important
    }
}

@supports not (mask-composite:exclude) {
    .growth-site .btn::after {
        display: none
    }
}

/* Searchable glossary, following the same headings, glass and Q actions. */
.growth-site .mq-glossary-hero {
    text-align: center;
    padding: 55px 0 35px;
    max-width: 1100px
}

.growth-site .mq-glossary-hero h1 {
    margin-inline: auto
}

.growth-site .mq-glossary-hero>p {
    max-width: 730px;
    margin: 0 auto;
    color: #4c6277;
    font-size: 19px
}

.mq-glossary {
    padding-bottom: 45px
}

.mq-glossary-tools {
    background: linear-gradient(135deg, #e5f7ff, #f2f6ff);
    border: 1px solid #bfddf4;
    border-radius: 18px;
    padding: 26px;
    margin: 0 auto 28px;
    max-width: 1000px;
    text-align: center
}

.growth-site .mq-glossary-tools label {
    display: block;
    font-size: 17px;
    margin-bottom: 11px;
    color: #153b57
}

.mq-glossary-tools input {
    width: 100%;
    max-width: 650px;
    border: 1px solid #9dc8e9;
    background: white;
    border-radius: 10px;
    min-height: 48px;
    padding: 12px 16px;
    color: #173853;
    font-size: 16px;
    box-sizing: border-box
}

.mq-glossary-letters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 19px
}

.mq-glossary-letters button {
    min-width: 42px;
    min-height: 42px;
    padding: 9px 13px;
    border: 1px solid #abcde6;
    background: #fff;
    color: #17405f;
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px
}

.mq-glossary-letters button[aria-pressed=true] {
    background: linear-gradient(115deg, #007fbf, #0054fc);
    border-color: #0054fc;
    color: white
}

.growth-site .mq-glossary-count {
    margin: 14px 0 0;
    font-size: 12px;
    color: #47667c
}

.mq-glossary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    align-items: stretch
}

.growth-site .mq-glossary-term {
    position: relative;
    padding: 26px 25px;
    border: 1px solid #cee2f1;
    border-radius: 15px;
    background: #fff;
    min-width: 0;
    margin: 0;
    scroll-margin-top: 115px;
    text-align: center
}

.growth-site .mq-glossary-term h2 {
    font-size: 31px;
    font-weight: 400;
    line-height: 1.2;
    margin: 12px 0 15px
}

.growth-site .mq-glossary-term p {
    font-size: 16px;
    line-height: 1.65;
    margin: 0;
    color: #4c6277
}

.mq-term-label {
    display: block;
    color: #416c8c;
    font-size: 11px;
    line-height: 1.5;
    max-width: 85%;
    margin: auto
}

.mq-term-permalink {
    position: absolute;
    right: 15px;
    top: 12px;
    padding: 3px 6px;
    font-size: 17px;
    text-decoration: none;
    color: #007afc
}

.mq-glossary-term:target {
    border-color: #007afc;
    box-shadow: 0 0 0 3px #00a7fc22
}

.growth-site .mq-glossary-empty {
    text-align: center;
    padding: 28px;
    color: #4c6277
}

@media(max-width:900px) {
    .mq-glossary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media(max-width:550px) {
    .mq-glossary-grid {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .growth-site .mq-glossary-hero {
        padding-top: 35px
    }

    .growth-site .mq-glossary-hero>p {
        font-size: 17px
    }

    .mq-glossary-tools {
        padding: 22px 16px
    }

    .growth-site .mq-glossary-term {
        padding: 23px
    }

    .mq-glossary-letters {
        gap: 6px
    }
}

/* v36: CTA colours sampled from the supplied reference, with smaller labels. */
.growth-site {
    --cta-fill: linear-gradient(105deg, #44a2fa 0%, #22a7f6 25%, #09b2ed 50%, #55b8b7 75%, #9cbe82 100%);
    --cta-ink: #092b46
}

.growth-site :is(.btn, .btn.primary, .btn.secondary, .btn.ghost),
.growth-site [data-surface=dark] .btn.secondary,
.growth-site header .mq-mega-promo .btn {
    background: var(--cta-fill);
    color: var(--cta-ink);
    border-color: #54b7f0;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    min-height: 44px;
    padding: 9px 13px;
    gap: 9px;
    box-shadow: 0 5px 15px #168bbb12
}

.growth-site :is(.btn, .btn.primary, .btn.secondary, .btn.ghost):hover,
.growth-site header .mq-mega-promo .btn:hover {
    background: var(--cta-fill);
    border-color: #0f9be8;
    box-shadow: 0 8px 20px #168bbb26
}

.growth-site .btn::before,
.growth-site .btn.primary::before,
.growth-site .btn.secondary::before,
.growth-site .btn.ghost::before {
    display: none;
    background: none
}

.growth-site .btn>.g-cta-label {
    color: var(--cta-ink);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4
}

.growth-site .btn>.g-cta-arrow,
.growth-site .btn.primary>.g-cta-arrow,
.growth-site header .mq-mega-promo .g-cta-arrow {
    background: #092b46;
    color: #fdbd26;
    box-shadow: none;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    font-size: 16px;
    line-height: 1;
    display: grid;
    place-items: center
}

.growth-site .btn::after,
.growth-site .btn.primary::after,
.growth-site .btn.primary:hover::after {
    background-image: linear-gradient(115deg, #44a2fa55, #09b2ed 30%, #d8f8ff 45%, #9cbe82 65%, #44a2fa55)
}

.growth-site .mq-hero-url button {
    background: var(--cta-fill);
    color: #092b46;
    font-size: 23px;
    border: 1px solid #83c9e5
}

.growth-site .mq-hero-url button>span {
    display: grid;
    place-items: center;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: #092b46;
    color: #fdbd26;
    font-size: 20px
}

.growth-site .g-contact-bar>a:last-child {
    background: var(--cta-fill);
    color: var(--cta-ink);
    font-size: 12px;
    font-weight: 400
}

.growth-site .g-contact-bar>a:last-child>span:first-child {
    color: var(--cta-ink)
}

.growth-site .g-contact-bar>a:last-child>span:last-child {
    display: grid;
    place-items: center;
    background: #092b46;
    color: #fdbd26;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    font-size: 16px
}

@media(max-width:480px) {
    .growth-site .btn>.g-cta-label {
        font-size: 12px
    }

    .growth-site :is(.btn, .btn.primary, .btn.secondary, .btn.ghost) {
        padding: 9px 12px;
        min-height: 44px;
        gap: 8px
    }
}

/* Scrolling fix: stacked section introductions must remain in document flow. */
.growth-site {
    --site-header-height: 86px;
    --site-subnav-height: 64px
}

.growth-site main .service-depth-intro,
.growth-site main .industry-depth>div:first-child,
.growth-site main .seo-overview-head,
.growth-site main .service-depth>div:first-child,
.growth-site main .industry-context>div:first-child {
    position: static;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
    inset: auto;
    transform: none;
    align-self: start;
    z-index: auto;
    margin-bottom: 0
}

.growth-site .service-depth,
.growth-site .industry-depth,
.growth-site .industry-context {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 34px;
    align-items: start
}

.growth-site .service-depth-details,
.growth-site .industry-depth>div:last-child {
    position: relative;
    min-width: 0;
    width: 100%;
    max-width: 1050px;
    margin-inline: auto;
    z-index: auto;
    clear: both
}

.growth-site .service-depth-intro h2,
.growth-site .industry-depth>div:first-child h2,
.growth-site .seo-overview-head h2 {
    position: static;
    max-width: 1000px;
    margin-inline: auto;
    line-height: 1.15
}

.growth-site .service-depth-intro>.btn {
    margin-top: 2px
}

.growth-site .workflow-view {
    top: calc(var(--site-header-height) + var(--site-subnav-height) + 18px);
    align-self: start
}

.growth-site .service-subnav {
    top: var(--site-header-height);
    z-index: 30
}

.growth-site.inner24 main section[id] {
    scroll-margin-top: calc(var(--site-header-height) + var(--site-subnav-height) + 16px)
}

@media(max-width:800px) {
    .growth-site {
        --site-header-height: 76px;
        --site-subnav-height: 58px
    }

    .growth-site .service-depth,
    .growth-site .industry-depth,
    .growth-site .industry-context {
        gap: 25px
    }

    .growth-site .workflow-view {
        position: relative;
        top: auto
    }

    .growth-site .service-subnav>.wrap {
        min-height: 58px;
        align-items: center
    }

    .growth-site .service-subnav nav {
        min-width: 0;
        overflow-x: auto;
        white-space: nowrap;
        display: flex;
        gap: 17px;
        scrollbar-width: thin
    }

    .growth-site .service-subnav>.wrap>.btn {
        flex-shrink: 0
    }
}

/* Keep case-study motion outlines attached to the image, not the outer text row. */
.growth-site .cs-list-grid {
    align-items: start
}

.growth-site .cs-list-card {
    position: relative;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box
}

.growth-site .cs-list-cover {
    position: relative;
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 1.4;
    margin: 0;
    border-radius: 16px;
    overflow: hidden;
    isolation: isolate
}

.growth-site .cs-list-cover>img {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: 100%;
    object-fit: cover
}

.growth-site .cs-list-cover>.mq-card-energy {
    box-sizing: border-box;
    border-radius: inherit;
    max-width: 100%;
    pointer-events: none
}

.growth-site .cs-list-caption {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding: 20px 5px 0;
    text-align: center
}

.growth-site .cs-list-caption p {
    white-space: normal;
    overflow-wrap: break-word;
    text-align: center;
    line-height: 1.65
}

.growth-site .cs-card-button,
.growth-site .cs-list-cover:hover .cs-card-button {
    background: var(--cta-fill);
    border: 1px solid #54b7f0;
    color: #092b46;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
    line-height: 1.4;
    padding: 10px 14px;
    min-height: 44px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 9px;
    max-width: calc(100% - 32px);
    right: 16px;
    bottom: 16px
}

.growth-site .cs-card-button i {
    display: grid;
    place-items: center;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    background: #092b46;
    color: #fdbd26;
    border-radius: 50%;
    font-size: 16px;
    margin: 0
}

@supports(mask-composite:exclude) {
    .growth-site .cs-list-cover>.mq-card-energy {
        inset: 0;
        width: 100%;
        height: 100%;
        padding: 1.5px
    }
}

@media(max-width:480px) {
    .growth-site .cs-list-cover {
        aspect-ratio: 1.25
    }

    .growth-site .cs-card-button {
        font-size: 11px;
        padding: 9px 12px
    }
}

/* Service deliverables: light, dimensional Q glass instead of the flat blue band. */
.growth-site .g-capability-colour-band {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: radial-gradient(ellipse at 5% 10%, #00a7fc1f, transparent 56%), radial-gradient(ellipse at 95% 85%, #0054fc1a, transparent 53%), linear-gradient(125deg, #f7fcff, #edf7ff 48%, #f5f8ff);
    border-block: 1px solid #c9e5fa;
    color: #153b57
}

.growth-site .g-capability-colour-band::before {
    content: '';
    position: absolute;
    z-index: -1;
    left: -110px;
    top: 12%;
    width: 340px;
    height: 340px;
    border-radius: 50%;
    background: radial-gradient(circle at 28% 25%, #ffffffd9, #00a7fc44 38%, #0054fc22 66%, transparent 70%);
    filter: blur(10px);
    transform: rotate(-18deg);
    animation: mq-glass-ambient 12s ease-in-out infinite;
    pointer-events: none
}

.growth-site .g-capability-colour-band::after {
    content: '';
    position: absolute;
    right: -90px;
    bottom: 5%;
    width: 300px;
    height: 300px;
    border-radius: 70px;
    z-index: -1;
    border: 1px solid #76ceff55;
    background: linear-gradient(135deg, #ffffff80, #00a7fc22 45%, #0054fc30);
    box-shadow: inset 2px 2px 0 #fff9;
    transform: rotate(25deg);
    filter: blur(3px);
    animation: mq-glass-ambient 14s -6s ease-in-out infinite;
    pointer-events: none
}

.growth-site .g-capability-colour-band .section-head h2 {
    color: #153b57
}

.growth-site .g-capability-colour-band .eyebrow {
    color: #476f8c
}

.growth-site .g-capability-colour-band .section-head>p {
    color: #48667e;
    max-width: 820px
}

.growth-site .g-capability-colour-band .word-highlight {
    background-image: linear-gradient(105deg, #008bbd 0%, #0054fc 62%, #ab8119 100%)
}

.growth-site .g-capability-colour-band .service-capability-grid {
    gap: 24px;
    perspective: 1200px;
    align-items: stretch
}

.growth-site .g-capability-colour-band .service-capability-grid>article {
    min-width: 0;
    border: 1px solid #fff;
    border-radius: 22px;
    background: linear-gradient(145deg, #fffffff2, #e0f5ffdc 50%, #dce8ffde);
    backdrop-filter: blur(22px) saturate(120%);
    -webkit-backdrop-filter: blur(22px) saturate(120%);
    box-shadow: inset 1px 1px 0 #fff, inset -1px -2px 0 #b0d9ff, 0 4px 0 #c6def3, 0 14px 28px #0054fc0e;
    padding: 27px;
    transition: transform .35s, box-shadow .35s
}

.growth-site .g-capability-colour-band .service-capability-grid>article:hover {
    background: linear-gradient(145deg, #fff, #e6f8ff 50%, #e1ebff);
    border-color: #fff;
    transform: translateY(-4px) rotateX(1deg);
    box-shadow: inset 1px 1px 0 #fff, 0 4px 0 #bcd9f0, 0 20px 30px #0054fc18
}

.growth-site .g-capability-colour-band .service-capability-grid h3 {
    color: #153b57;
    font-weight: 400;
    text-align: center
}

.growth-site .g-capability-colour-band .service-capability-grid p {
    color: #405f77;
    line-height: 1.7;
    text-align: center
}

.growth-site .g-capability-colour-band .capability-index {
    color: #426b8a
}

.growth-site .g-capability-colour-band .capability-icon {
    position: relative;
    overflow: hidden;
    width: 60px;
    height: 60px;
    margin-inline: auto;
    border-radius: 18px;
    border: 1px solid #97ddff;
    background: linear-gradient(140deg, #fff 0%, #c6eeff 35%, #80c9ff 72%, #649bfa);
    box-shadow: inset 2px 2px 2px #fff, inset -2px -3px 3px #1f6ac54d, 3px 4px 0 #3c94e02b, 0 8px 18px #0054fc18;
    color: #0054c4;
    transform-style: preserve-3d
}

.growth-site .g-capability-colour-band .capability-icon::before {
    content: '';
    position: absolute;
    left: 8px;
    top: 4px;
    width: 32px;
    height: 4px;
    border-radius: 50%;
    background: #ffffffad;
    transform: rotate(-12deg);
    pointer-events: none
}

.growth-site .g-capability-colour-band .capability-icon svg {
    width: 32px;
    height: 32px
}

.growth-site .g-capability-colour-band .capability-icon .icon-accent {
    stroke: #9c7415
}

.growth-site .g-capability-colour-band .service-capability-grid p a {
    color: #0054b7;
    text-decoration-color: #83b8e8;
    text-underline-offset: 3px
}

@keyframes mq-glass-ambient {

    0%,
    100% {
        translate: 0 0;
        opacity: .65
    }

    50% {
        translate: 15px -18px;
        opacity: 1
    }
}

@media(max-width:600px) {
    .growth-site .g-capability-colour-band .service-capability-grid {
        gap: 18px
    }

    .growth-site .g-capability-colour-band .service-capability-grid>article {
        padding: 25px 22px;
        border-radius: 18px
    }

    .growth-site .g-capability-colour-band::before,
    .growth-site .g-capability-colour-band::after {
        width: 200px;
        height: 200px
    }
}

.growth-site.g-motion-paused .g-capability-colour-band::before,
.growth-site.g-motion-paused .g-capability-colour-band::after {
    animation-play-state: paused !important
}

@media(prefers-reduced-motion:reduce) {

    .growth-site .g-capability-colour-band::before,
    .growth-site .g-capability-colour-band::after {
        animation: none !important
    }

    .growth-site .g-capability-colour-band .service-capability-grid>article:hover {
        transform: none
    }
}

/* Compact price hierarchy and Q-glass package colours. */
.growth-site .service-packages {
    padding-top: 45px;
    padding-bottom: 48px
}

.growth-site .service-packages .package-grid {
    margin-top: 22px;
    gap: 23px;
    align-items: stretch
}

.growth-site .service-packages .package-card {
    padding: 25px;
    border: 1px solid #c1e2fa;
    border-top: 3px solid #64c9ff;
    background: linear-gradient(145deg, #fff, #effaff 65%, #edf4ff);
    border-radius: 20px;
    box-shadow: inset 1px 1px 0 #fff, 0 4px 0 #d7e8f5, 0 12px 25px #0054fc0b;
    backdrop-filter: blur(18px);
    color: #183a56
}

.growth-site .service-packages .package-card.package-featured {
    background: linear-gradient(140deg, #d1f6ff, #bce5ff 45%, #c6d8ff);
    border-color: #74caff;
    border-top-color: #007afc;
    box-shadow: inset 1px 1px 0 #fff, 0 4px 0 #94c6ee, 0 17px 30px #0054fc16;
    color: #153b57;
    transform: none
}

.growth-site .service-packages .package-topline {
    min-height: 24px;
    margin: 0 0 10px;
    gap: 10px;
    align-items: center
}

.growth-site .service-packages .package-topline>span {
    color: #4b7490;
    font-size: 10px;
    font-weight: 400;
    letter-spacing: .04em
}

.growth-site .service-packages .package-topline>i {
    font-size: 20px;
    color: #007afc
}

.growth-site .service-packages .package-card h3 {
    margin: 0 0 11px;
    min-height: 0;
    font-size: 30px;
    font-weight: 400;
    line-height: 1.2;
    color: #153b57
}

.growth-site .service-packages .package-card .package-price {
    margin: 0 0 12px;
    padding: 13px 0 15px;
    border-top: 0;
    border-bottom: 1px solid #bcd8ec;
    text-align: center
}

.growth-site .service-packages .package-card .package-price>b {
    font-size: 27px;
    font-weight: 300;
    line-height: 1.2;
    color: #143b58;
    letter-spacing: -.025em
}

.growth-site .service-packages .package-card .package-price>span {
    color: #4c6b83;
    font-size: 11px;
    line-height: 1.5;
    margin-top: 6px
}

.growth-site .service-packages .package-card .package-fit {
    margin: 0 0 17px;
    min-height: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #405f77;
    text-align: center
}

.growth-site .service-packages .package-card li {
    color: #3e5c74;
    font-size: 14px;
    line-height: 1.6;
    margin: 10px 0
}

.growth-site .service-packages .package-card li>span {
    color: #006ed4
}

.growth-site .service-packages .package-featured .g-package-flag {
    position: static;
    align-self: center;
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 4px 12px;
    margin: 0 0 10px;
    font-size: 10px;
    font-weight: 400;
    line-height: 1.4;
    border: 1px solid #7fd5ff;
    border-radius: 20px;
    background: linear-gradient(110deg, #007fbf, #0054fc);
    color: #fff
}

.growth-site .service-packages .package-featured .package-topline {
    display: none
}

.growth-site .service-packages .package-featured::before {
    background: linear-gradient(90deg, #00a7fc, #0054fc);
    opacity: .7
}

.growth-site .service-packages .package-cta {
    padding-top: 15px
}

@media(max-width:480px) {
    .growth-site .service-packages .package-card {
        padding: 23px
    }

    .growth-site .service-packages .package-card h3 {
        font-size: 28px
    }

    .growth-site .service-packages .package-card .package-price>b {
        font-size: 25px
    }

    .growth-site .service-packages {
        padding-top: 36px;
        padding-bottom: 40px
    }
}

/* Package-specific legacy selectors must not override the shared CTA palette. */
.growth-site .service-packages .package-card .package-cta .btn,
.growth-site .service-packages .package-card .package-cta .quote-now,
.growth-site .service-packages .package-card .package-cta .btn:hover {
    width: fit-content;
    max-width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 9px 13px;
    gap: 9px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    border: 1px solid #54b7f0;
    border-radius: 9px;
    background: var(--cta-fill);
    color: #092b46;
    box-shadow: 0 5px 15px #168bbb12
}
