:root {
    --navy: #0c1838;
    --blue: #3981ed;
    --light: #f3f5fc;
    --ink: #14213d;
    --muted: #627088;
    --border: #dfe5ef;
    --logo-font: Nunito, sans-serif;
    --mustard: #e2a51b
}

* {
    box-sizing: border-box
}

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

body {
    margin: 0;
    color: var(--ink);
    font-family: var(--font-site);
    background: #fff;
    font-size: 16px;
    line-height: 1.7
}

h1,
h2,
h3 {
    font-family: var(--font-site);
    line-height: 1.14;
    letter-spacing: -.045em;
    margin: 0
}

h1 {
    font-size: clamp(40px, 4.6vw, 66px);
    font-weight: 800
}

h2 {
    font-size: clamp(32px, 3.4vw, 47px);
    font-weight: 750
}

h3 {
    font-size: 22px;
    font-weight: 750;
    letter-spacing: -.025em
}

p {
    color: var(--muted);
    margin: 20px 0
}

a {
    color: inherit;
    text-decoration: none
}

button,
input,
select,
textarea {
    font: inherit
}

button,
a,
input,
select,
textarea {
    -webkit-tap-highlight-color: transparent
}

button {
    cursor: pointer
}

img {
    display: block;
    max-width: 100%;
    object-fit: cover
}

button:focus-visible,
a:focus-visible {
    outline: 3px solid #e2a51b;
    outline-offset: 5px
}

input:focus,
select:focus,
textarea:focus {
    outline: 2px solid var(--blue);
    outline-offset: 2px
}

[hidden] {
    display: none !important
}

.wrap {
    max-width: 1240px;
    width: calc(100% - 88px);
    margin: auto
}

.blue {
    color: var(--blue)
}

.eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .16em;
    margin-bottom: 22px
}

.btn {
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    font-size: 13px;
    font-weight: 700;
    padding: 16px 24px;
    border-radius: 6px;
    border: 1px solid transparent;
    line-height: 1.3;
    transition: background .2s, transform .2s
}

.btn:hover {
    transform: translateY(-2px)
}

.btn span {
    font-size: 20px;
    line-height: 1
}

.primary {
    background: var(--blue);
    color: white;
    border-color: var(--blue)
}

.primary:hover {
    background: #2767c8
}

.secondary {
    border-color: var(--border);
    color: var(--ink);
    background: white
}

.ghost {
    border-color: #64708c;
    color: white;
    background: transparent
}

.actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap
}

.skip {
    position: fixed;
    top: -100px;
    z-index: 99;
    background: #fff;
    padding: 12px
}

.skip:focus {
    top: 0
}

header {
    position: sticky;
    top: 0;
    z-index: 20;
    background: #ffffffed;
    border-bottom: 1px solid var(--border);
    backdrop-filter: blur(16px)
}

.nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 94px;
    gap: 24px
}

.brand {
    display: inline-flex;
    flex-direction: column;
    line-height: 1.2;
    gap: 3px
}

.brand img {
    object-fit: contain;
    width: 165px;
    height: 33px
}

.brand small {
    font-size: 9px;
    letter-spacing: .055em;
    color: #5e6380
}

nav {
    display: flex;
    align-items: center;
    gap: 28px;
    font-size: 13px;
    font-weight: 600
}

nav>a:hover {
    color: var(--blue)
}

.dropdown {
    position: relative
}

.dropdown>button {
    border: 0;
    background: none;
    padding: 14px 0;
    color: var(--ink);
    font-size: 13px;
    font-weight: 600;
    display: flex;
    gap: 8px;
    align-items: center
}

.dropdown-panel {
    display: none;
    position: absolute;
    top: 100%;
    left: -24px;
    width: 300px;
    background: #fff;
    border: 1px solid var(--border);
    box-shadow: 0 20px 50px #0c183820;
    padding: 14px;
    border-radius: 10px
}

.dropdown-panel a {
    display: block;
    padding: 7px 12px;
    font-size: 12px;
    line-height: 1.4;
    border-radius: 4px
}

.dropdown-panel a:hover {
    background: var(--light);
    color: var(--blue)
}

.dropdown.open .dropdown-panel {
    display: block
}

.industries-menu {
    width: 460px;
    grid-template-columns: 1fr 1fr;
    left: -150px
}

.dropdown.open .industries-menu {
    display: grid
}

.mobile-toggle {
    display: none
}

.hero {
    background: var(--navy);
    color: white;
    overflow: hidden
}

.hero-grid {
    display: grid;
    grid-template-columns: 1.07fr 1fr;
    gap: 70px;
    padding-top: 78px;
    padding-bottom: 65px;
    align-items: center
}

.hero-copy .eyebrow {
    color: #b9c5e0;
    display: flex;
    align-items: center;
    gap: 10px
}

.hero-copy i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #aeecbd;
    box-shadow: 0 0 0 4px #aeecbd15
}

.hero h1 {
    font-size: clamp(40px, 4.45vw, 64px);
    line-height: 1.1
}

.hero em {
    color: #a7b3ff;
    font-style: normal
}

.hero-copy p {
    font-size: 16px;
    color: #b8c4da;
    max-width: 490px;
    margin: 25px 0 30px
}

.hero-points {
    display: flex;
    gap: 24px;
    font-size: 11px;
    color: #bbc7df;
    margin-top: 23px
}

.hero-visual {
    position: relative;
    min-height: 495px;
    border-radius: 100px 12px 12px 12px
}

.hero-photo {
    width: 100%;
    height: 495px;
    border-radius: 100px 12px 12px 12px;
    filter: saturate(.75)
}

.hero-visual:after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, #091535cf, transparent 70%);
    border-radius: inherit;
    pointer-events: none
}

.visual-label {
    position: absolute;
    bottom: 40px;
    left: 35px;
    z-index: 1
}

.visual-label strong {
    font-family: var(--font-site);
    font-size: 44px;
    line-height: 1.12;
    font-weight: 750;
    letter-spacing: -.045em;
    display: block
}

.tiny {
    font-size: 9px;
    letter-spacing: .17em;
    display: block;
    margin-bottom: 20px
}

.floating-note {
    position: absolute;
    top: 50px;
    left: -28px;
    background: #fff;
    color: var(--ink);
    padding: 17px 24px;
    border-radius: 8px;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 13px;
    box-shadow: 0 15px 45px #0002
}

.note-icon {
    font-size: 25px;
    color: var(--blue);
    background: #edf4ff;
    border-radius: 50%;
    width: 45px;
    height: 45px;
    display: grid;
    place-items: center
}

.floating-note strong {
    font-size: 13px;
    display: block
}

.floating-note small {
    font-size: 10px;
    color: var(--muted)
}

.hero-bottom {
    border-top: 1px solid #34405b;
    padding: 20px 0;
    display: flex;
    justify-content: space-between;
    font-size: 9px;
    letter-spacing: .14em;
    color: #a9b6d1
}

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

.platforms>span {
    font-size: 11px;
    line-height: 1.5;
    color: var(--muted)
}

.platforms strong {
    font-family: var(--font-site);
    font-size: 21px;
    letter-spacing: -.04em;
    color: #4b5770
}

.intro {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 100px;
    padding: 105px 0
}

.intro>.eyebrow {
    grid-column: 1/-1
}

.intro p:first-child {
    margin-top: 0
}

.intro p {
    font-size: 17px
}

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

.section-head p {
    font-size: 14px;
    max-width: 320px;
    margin-bottom: 5px
}

.services-section {
    background: var(--light);
    padding: 90px 0
}

.tablist {
    display: flex;
    border-bottom: 1px solid #ccd4e4;
    margin-bottom: 30px;
    gap: 24px
}

.tablist button {
    background: none;
    border: 0;
    border-bottom: 3px solid transparent;
    padding: 17px 3px;
    font-size: 13px;
    color: var(--muted);
    font-weight: 600
}

.tablist button[aria-selected=true] {
    color: var(--blue);
    border-bottom-color: var(--blue)
}

.cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px
}

.cards:has(>.card:nth-child(4)) {
    grid-template-columns: repeat(4, 1fr)
}

.card {
    background: white;
    border: 1px solid #e1e5ef;
    border-radius: 8px;
    overflow: hidden;
    transition: transform .2s
}

.card:hover {
    transform: translateY(-5px)
}

.card>img {
    width: 100%;
    height: 178px
}

.card>div {
    padding: 24px
}

.card h3 {
    font-size: 20px
}

.card p {
    font-size: 13px;
    line-height: 1.6;
    margin: 16px 0 22px;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.textlink {
    font-size: 11px;
    font-weight: 700;
    color: var(--blue)
}

.section-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 30px;
    font-size: 12px;
    color: var(--muted)
}

.industries-section {
    padding: 100px 0
}

.industry-filters {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 30px 0
}

.industry-filters button {
    border: 1px solid var(--border);
    background: white;
    padding: 10px 18px;
    border-radius: 30px;
    color: var(--muted);
    font-size: 12px
}

.industry-filters button.active {
    color: white;
    background: var(--ink);
    border-color: var(--ink)
}

.industry-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px
}

.industry-card {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    height: 233px;
    background: var(--navy)
}

.industry-card img {
    width: 100%;
    height: 100%;
    transition: transform .4s
}

.industry-card:hover img {
    transform: scale(1.05)
}

.industry-card:after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(transparent 25%, #071327db)
}

.industry-card>div {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 10px;
    color: white
}

.industry-card h3 {
    font-size: 18px;
    line-height: 1.3;
    letter-spacing: -.025em
}

.industry-card span {
    font-size: 23px
}

.approach {
    background: var(--navy);
    padding: 90px 0;
    color: white
}

.approach .eyebrow {
    color: #a7b3ff
}

.approach p {
    color: #b6c1d6
}

.steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
    margin-top: 55px
}

.steps article {
    border-top: 1px solid #47516c;
    padding-top: 24px
}

.step-number {
    font-family: var(--font-site);
    color: #a1adff;
    font-size: 38px;
    display: block;
    line-height: 1;
    margin-bottom: 30px
}

.steps h3 {
    font-size: 25px
}

.steps p {
    font-size: 13px;
    margin-bottom: 0
}

.why {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    padding: 100px 0;
    align-items: center
}

.why>div>img {
    width: 100%;
    height: 490px;
    border-radius: 10px
}

.benefits {
    padding: 0;
    list-style: none;
    margin: 30px 0 0
}

.benefits li {
    padding: 15px 0 15px 30px;
    border-bottom: 1px solid var(--border);
    position: relative
}

.benefits li:before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--blue)
}

.benefits b {
    font-size: 14px;
    display: block
}

.benefits span {
    font-size: 12px;
    color: var(--muted);
    display: block
}

.faq {
    padding: 75px 0 100px;
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 90px;
    border-top: 1px solid var(--border)
}

.faq p {
    font-size: 14px
}

.faq details {
    border-bottom: 1px solid var(--border);
    padding: 19px 0
}

.faq summary {
    list-style: none;
    cursor: pointer;
    font-weight: 600;
    font-size: 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px
}

.faq summary::-webkit-details-marker {
    display: none
}

.faq summary span {
    font-size: 23px;
    font-weight: 400;
    color: var(--blue)
}

.faq details[open] summary span {
    transform: rotate(45deg)
}

.faq details p {
    margin: 15px 25px 2px 0
}

.audit {
    background: #f0f2fe;
    border-radius: 12px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    padding: 60px;
    margin-bottom: 90px
}

.audit p {
    font-size: 14px
}

.audit h2 {
    font-size: 38px
}

.ticks {
    list-style: none;
    padding: 0;
    font-size: 13px
}

.ticks li {
    margin: 10px 0
}

.ticks li:before {
    content: '✓';
    color: var(--blue);
    margin-right: 10px
}

.small {
    font-size: 11px !important
}

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

label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .01em;
    margin-bottom: 16px
}

input,
select,
textarea {
    display: block;
    border: 1px solid #d0d7e7;
    border-radius: 5px;
    background: #fff;
    padding: 12px;
    width: 100%;
    color: var(--ink);
    font-size: 13px;
    margin-top: 7px
}

textarea {
    resize: vertical
}

.form-note {
    font-size: 10px !important;
    color: var(--muted);
    margin: 12px 0 0
}

#send-options {
    padding-top: 20px
}

#send-options .btn {
    font-size: 12px;
    padding: 13px;
    margin-right: 7px
}

footer {
    border-top: 1px solid var(--border);
    padding: 55px 0 0;
    background: #fafbfe
}

.footer-top {
    display: grid;
    grid-template-columns: 1.5fr .8fr 1.1fr 1fr;
    gap: 40px;
    padding-bottom: 50px
}

.footer-top h3 {
    font-size: 12px;
    letter-spacing: 0;
    margin-bottom: 20px
}

.footer-top>div>a:not(.brand),
.footer-top>div>span {
    display: block;
    font-size: 11px;
    color: var(--muted);
    margin: 10px 0
}

.footer-top p {
    font-size: 14px
}

.footer-top>div:first-child>a:not(.brand) {
    display: inline
}

.social {
    margin-top: 25px;
    font-size: 10px;
    display: flex;
    gap: 14px
}

.footer-bottom {
    border-top: 1px solid var(--border);
    padding: 22px 0;
    display: flex;
    justify-content: space-between;
    font-size: 9px;
    color: var(--muted)
}

.page-hero {
    display: grid;
    grid-template-columns: 1.12fr 1fr;
    gap: 70px;
    align-items: center;
    padding: 65px 0 75px
}

.page-hero h1 {
    font-size: clamp(35px, 4vw, 55px)
}

.page-hero p {
    font-size: 16px
}

.page-photo {
    width: 100%;
    height: 410px;
    border-radius: 70px 10px 10px 10px
}

.breadcrumb {
    font-size: 11px;
    color: var(--muted);
    display: block;
    margin-bottom: 35px
}

.page-hero .eyebrow {
    font-size: 10px;
    color: var(--blue)
}

.document-layout {
    display: grid;
    grid-template-columns: 250px 1fr;
    gap: 90px;
    padding: 30px 0 80px;
    align-items: start
}

.document-layout aside {
    position: sticky;
    top: 125px;
    padding-right: 15px
}

.document-layout aside>a:not(.btn) {
    display: block;
    padding: 9px 0;
    font-size: 12px;
    color: var(--muted);
    border-bottom: 1px solid var(--border);
    line-height: 1.4
}

.document-layout aside .btn {
    margin-top: 25px
}

.content-block {
    padding: 0 0 35px;
    margin: 0 0 40px;
    border-bottom: 1px solid var(--border)
}

.content-block h2 {
    font-size: 29px;
    letter-spacing: -.035em
}

.content-block h3 {
    margin-top: 32px;
    font-size: 22px
}

.content-block p {
    font-size: 15px;
    line-height: 1.85;
    margin: 15px 0
}

.content-block a:not(.btn) {
    color: var(--blue);
    text-decoration: underline;
    text-decoration-color: #b3d1fd;
    text-underline-offset: 3px
}

.table-scroll {
    overflow: auto;
    margin: 25px 0
}

table {
    border-collapse: collapse;
    font-size: 12px;
    width: 100%
}

th,
td {
    text-align: left;
    border-bottom: 1px solid var(--border);
    padding: 16px;
    vertical-align: top
}

th {
    background: var(--light);
    font-weight: 700
}

.cta-band {
    background: var(--navy);
    color: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 55px 60px;
    border-radius: 10px;
    margin-bottom: 80px;
    gap: 30px
}

.cta-band h2 {
    font-size: 36px
}

.cta-band .eyebrow {
    color: #a7b3ff
}

.directory {
    padding: 20px 0 80px
}

.directory .cards {
    grid-template-columns: repeat(3, 1fr)
}

@media(min-width:1400px) {
    .hero-grid {
        padding-top: 90px;
        padding-bottom: 80px
    }

    .hero-visual,
    .hero-photo {
        height: 535px
    }

    .hero h1 {
        font-size: 66px
    }
}

@media(max-width:1050px) {
    .wrap {
        width: calc(100% - 50px)
    }

    nav {
        gap: 18px
    }

    .nav {
        gap: 15px
    }

    .nav>.btn {
        padding: 13px 16px
    }

    .hero-grid {
        gap: 35px
    }

    .hero-points {
        gap: 15px
    }

    .cards:has(>.card:nth-child(4)) {
        grid-template-columns: repeat(2, 1fr)
    }

    .industry-grid {
        grid-template-columns: repeat(3, 1fr)
    }

    .audit {
        padding: 40px;
        gap: 35px
    }

    .intro {
        gap: 45px
    }

    .why,
    .faq {
        gap: 45px
    }

    .page-hero {
        gap: 40px
    }

    .document-layout {
        gap: 40px;
        grid-template-columns: 210px 1fr
    }
}

@media(max-width:800px) {
    .nav {
        height: 78px
    }

    .mobile-toggle {
        display: block;
        margin-left: auto;
        background: none;
        border: 0;
        color: var(--ink);
        font-size: 12px
    }

    .nav>.btn {
        display: none
    }

    nav {
        display: none;
        position: absolute;
        top: 78px;
        left: 0;
        right: 0;
        padding: 20px 25px;
        background: white;
        border-bottom: 1px solid var(--border);
        max-height: calc(100vh - 78px);
        overflow-y: auto;
        align-items: stretch
    }

    nav.mobile-open {
        display: flex;
        flex-direction: column;
        gap: 8px
    }

    .dropdown-panel,
    .industries-menu {
        position: static;
        box-shadow: none;
        width: 100%;
        border: 0;
        padding: 0 10px
    }

    .hero-grid {
        grid-template-columns: 1fr;
        padding: 55px 0 45px;
        gap: 40px
    }

    .hero h1 {
        font-size: 54px;
        max-width: 600px
    }

    .hero-visual,
    .hero-photo {
        min-height: 370px;
        height: 370px
    }

    .floating-note {
        left: 20px;
        top: 25px
    }

    .hero-copy p {
        max-width: 560px
    }

    .hero-visual {
        border-radius: 60px 10px 10px 10px
    }

    .hero-photo {
        border-radius: inherit
    }

    .platforms {
        flex-wrap: wrap;
        justify-content: center;
        gap: 25px
    }

    .platforms>span {
        width: 100%;
        text-align: center
    }

    .platforms strong {
        font-size: 18px
    }

    .intro {
        grid-template-columns: 1fr;
        gap: 25px;
        padding: 65px 0
    }

    .section-head {
        align-items: start;
        flex-direction: column;
        gap: 20px
    }

    .section-head p {
        margin: 0
    }

    .services-section {
        padding: 65px 0
    }

    .cards,
    .directory .cards {
        grid-template-columns: repeat(2, 1fr)
    }

    .industry-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .industries-section {
        padding: 65px 0
    }

    .approach {
        padding: 65px 0
    }

    .steps {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px
    }

    .why {
        grid-template-columns: 1fr;
        gap: 35px;
        padding: 65px 0
    }

    .why>div>img {
        height: 350px
    }

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

    .audit {
        grid-template-columns: 1fr;
        margin-bottom: 65px
    }

    .footer-top {
        grid-template-columns: repeat(2, 1fr)
    }

    .page-hero {
        grid-template-columns: 1fr;
        padding: 35px 0 55px;
        gap: 35px
    }

    .page-photo {
        height: 330px
    }

    .document-layout {
        grid-template-columns: 1fr;
        gap: 0
    }

    .document-layout aside {
        display: none
    }

    .cta-band {
        padding: 35px;
        flex-direction: column;
        align-items: start
    }
}

@media(max-width:500px) {
    .wrap {
        width: calc(100% - 36px)
    }

    .brand img {
        width: 140px;
        height: 28px
    }

    .brand small {
        font-size: 8px
    }

    .hero h1 {
        font-size: 43px
    }

    .hero-copy p {
        font-size: 14px
    }

    .hero-points {
        font-size: 10px;
        gap: 12px
    }

    .hero .btn {
        font-size: 12px;
        padding: 14px 18px;
        gap: 14px
    }

    .hero-visual,
    .hero-photo {
        height: 310px;
        min-height: 310px
    }

    .visual-label strong {
        font-size: 35px
    }

    .hero-bottom {
        font-size: 8px;
        gap: 15px
    }

    .floating-note {
        padding: 12px 15px
    }

    .cards,
    .cards:has(>.card:nth-child(4)),
    .directory .cards {
        grid-template-columns: 1fr
    }

    .card>img {
        height: 210px
    }

    .tablist {
        gap: 8px
    }

    .tablist button {
        font-size: 10px;
        line-height: 1.5;
        text-align: left;
        padding: 12px 5px;
        flex: 1
    }

    .section-foot {
        flex-direction: column;
        gap: 15px;
        align-items: start
    }

    .industry-grid {
        gap: 12px
    }

    .industry-card {
        height: 190px
    }

    .industry-card>div {
        left: 12px;
        right: 12px;
        bottom: 14px
    }

    .industry-card h3 {
        font-size: 15px
    }

    .industry-filters button {
        font-size: 10px;
        padding: 8px 12px
    }

    .steps {
        gap: 25px
    }

    .steps p {
        font-size: 12px
    }

    .audit {
        padding: 28px 22px
    }

    .audit h2 {
        font-size: 31px
    }

    .form-row {
        grid-template-columns: 1fr;
        gap: 0
    }

    .footer-top {
        gap: 25px
    }

    .footer-top>div:first-child {
        grid-column: 1/-1
    }

    .footer-bottom {
        flex-direction: column;
        gap: 10px
    }

    .page-hero h1 {
        font-size: 38px
    }

    .page-photo {
        height: 260px
    }

    .content-block h2 {
        font-size: 27px
    }

    .cta-band h2 {
        font-size: 30px
    }
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }

    * {
        transition: none !important
    }
}

/* Reference-led animated home banner */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0
}

.hero--animated {
    background: #0a1320;
    position: relative;
    isolation: isolate
}

.animated-hero-content {
    position: relative;
    text-align: center;
    z-index: 1;
    padding-top: 66px
}

.market-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 9px 20px;
    border-radius: 40px;
    border: 1px solid #ffffff26;
    background: #ffffff07;
    color: #ced8e8;
    font-size: 12px;
    line-height: 1.5
}

.market-pill i {
    width: 7px;
    height: 7px;
    flex: none;
    border-radius: 50%;
    background: #f4cb69;
    box-shadow: 0 0 16px #f4cb6990
}

.hero--animated h1 {
    font-size: clamp(44px, 6.55vw, 90px);
    line-height: 1.08;
    letter-spacing: -.055em;
    margin: 32px auto 25px;
    max-width: 1120px;
    font-weight: 800
}

.hero-final-line {
    display: block;
    white-space: nowrap
}

.gradient-word {
    background: linear-gradient(110deg, #72a7ff 8%, #9bc3ff 42%, #f6cc71 82%, #72a7ff);
    background-size: 220% 100%;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    animation: gradient-travel 9s ease-in-out infinite
}

.platform-word {
    display: inline-block;
    min-width: 5.6em;
    text-align: left;
    padding-right: .08em;
    transition: opacity .28s ease, transform .28s ease
}

.platform-word.word-out {
    opacity: 0;
    transform: translateY(-.16em)
}

.platform-word.word-in {
    animation: word-rise .42s cubic-bezier(.22, 1, .36, 1), gradient-travel 9s ease-in-out infinite
}

.hero-final-line {
    padding-left: 1.3em
}

.hero--animated .hero-lede {
    color: #b5c1d2;
    font-size: clamp(15px, 1.55vw, 19px);
    line-height: 1.75;
    max-width: 910px;
    margin: 0 auto 27px
}

.hero-lede strong {
    color: #eff5ff;
    font-weight: 650
}

.hero-actions {
    justify-content: center
}

.hero--animated .primary {
    background: linear-gradient(110deg, #4a8cef, #5793ee);
    border-color: #75acff;
    box-shadow: 0 7px 28px #5594ed25
}

.hero--animated .ghost {
    border-color: #ffffff50;
    background: #ffffff05
}

.hero--animated .btn {
    border-radius: 30px;
    font-size: 14px;
    padding: 17px 28px;
    gap: 25px
}

.hero-motion-toolbar {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 24px;
    color: #a3b1c6;
    font-size: 10px;
    margin-top: 19px
}

.hero-motion-toolbar button {
    border: 0;
    background: none;
    color: #b6c3d6;
    font-size: 10px;
    padding: 6px 9px;
    border-radius: 4px
}

.hero-motion-toolbar button:hover {
    background: #ffffff12;
    color: #fff
}

.hero-motion-toolbar button span {
    margin-right: 5px
}

.hero-rays {
    position: absolute;
    left: 10%;
    right: 10%;
    bottom: 70px;
    height: 70%;
    z-index: -1;
    opacity: .42;
    background: conic-gradient(from 230deg at 50% 100%, transparent 0deg, #4a93fa33 22deg, transparent 33deg, #4d89ff33 46deg, transparent 61deg, #dbb45722 75deg, transparent 90deg, #5da0ff33 109deg, transparent 133deg, #4966fa22 155deg, transparent 180deg);
    mask-image: linear-gradient(transparent, #000 65%);
    filter: blur(15px);
    transform-origin: 50% 100%;
    animation: light-sweep 18s ease-in-out infinite alternate;
    pointer-events: none
}

.hero-glow {
    position: absolute;
    width: 780px;
    height: 440px;
    bottom: -110px;
    left: 50%;
    margin-left: -390px;
    background: radial-gradient(ellipse, #559cff4a, transparent 66%);
    z-index: -1;
    animation: ambient-glow 12s ease-in-out infinite alternate;
    pointer-events: none
}

.growth-scene {
    position: relative;
    max-width: 830px;
    height: 310px;
    margin: 34px auto 23px;
    perspective: 1200px
}

.growth-dashboard {
    position: absolute;
    top: 22px;
    left: 12%;
    right: 12%;
    height: 246px;
    padding: 19px 22px;
    border-radius: 14px;
    background: linear-gradient(145deg, #ffffff15, #ffffff06);
    border: 1px solid #ffffff24;
    box-shadow: 0 35px 75px -35px #609ff780, inset 0 1px #ffffff15;
    backdrop-filter: blur(16px);
    text-align: left;
    transform: rotateX(8deg);
    animation: dashboard-float 8s ease-in-out infinite
}

.dashboard-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-size: 8px;
    letter-spacing: .12em;
    color: #a2afc3;
    border-bottom: 1px solid #ffffff12;
    padding-bottom: 13px
}

.window-dots {
    display: flex;
    gap: 5px
}

.window-dots i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #6c7b91
}

.window-dots i:first-child {
    background: #9bbbea
}

.dashboard-dot {
    width: 5px;
    height: 5px;
    background: #9de0c0;
    border-radius: 50%;
    box-shadow: 0 0 9px #9de0c0
}

.dashboard-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-top: 15px
}

.dashboard-metrics span {
    color: #a4b1c5;
    font-size: 8px;
    display: block
}

.dashboard-metrics b {
    font-family: var(--font-site);
    display: block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: -.02em;
    color: #eaf2ff;
    margin-top: 3px
}

.dashboard-metrics i {
    font-style: normal;
    color: #bbd8bd;
    margin-left: 5px
}

.dashboard-chart {
    position: relative;
    height: 100px;
    margin-top: 15px;
    overflow: hidden
}

.chart-grid {
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(to top, transparent 0, transparent 24px, #ffffff0c 25px)
}

.growth-bars {
    display: flex;
    gap: 11px;
    align-items: end;
    height: 100%;
    padding: 0 3px
}

.growth-bars i {
    display: block;
    flex: 1;
    height: var(--bar-height);
    border-radius: 3px 3px 0 0;
    background: linear-gradient(to top, #5087d322, #91bfff80);
    transform-origin: bottom;
    animation: bar-breathe 6s ease-in-out var(--bar-delay) infinite
}

.growth-line {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible
}

.growth-line path {
    stroke-dasharray: 780;
    stroke-dashoffset: 780;
    animation: line-draw 2.8s .35s ease forwards;
    filter: drop-shadow(0 0 4px #b0d1ff70)
}

.dashboard-bottom {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    font-size: 7px;
    color: #a4b1c5;
    letter-spacing: .015em;
    margin-top: 10px
}

.growth-chip {
    position: absolute;
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 13px 17px;
    border: 1px solid #ffffff25;
    background: linear-gradient(120deg, #222e40, #16202e);
    box-shadow: 0 14px 25px #0003;
    border-radius: 10px;
    text-align: left;
    animation: chip-float 7s ease-in-out infinite
}

.growth-chip small {
    display: block;
    font-size: 7px;
    color: #aebbce;
    letter-spacing: .08em
}

.growth-chip b {
    font-size: 11px;
    color: #ecf4ff;
    display: block;
    line-height: 1.6;
    font-weight: 600
}

.chip-symbol {
    color: #b8d4ff;
    background: #ffffff09;
    border: 1px solid #ffffff15;
    border-radius: 8px;
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    font-size: 25px;
    line-height: 1
}

.chip-search {
    left: 0;
    top: 55px;
    animation-delay: -2s
}

.chip-ai {
    right: -10px;
    top: 105px;
    animation-delay: -4s
}

.chip-lead {
    left: 21%;
    bottom: 6px;
    animation-delay: -1s
}

.chip-lead .chip-symbol {
    color: #f4cb69
}

.scene-orbit {
    position: absolute;
    inset: 32px -15px;
    border: 1px solid #a7ccff12;
    border-radius: 50%;
    transform: rotate(-13deg);
    pointer-events: none
}

.orbit-two {
    inset: 4px 90px;
    transform: rotate(14deg);
    border-color: #ffffff0b
}

.hero--animated .hero-bottom {
    border-color: #ffffff13;
    color: #94a2b6;
    font-size: 8px
}

.hero--animated .hero-bottom a:hover {
    color: #fff
}

@keyframes gradient-travel {

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

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

@keyframes word-rise {
    from {
        opacity: 0;
        transform: translateY(.2em)
    }

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

@keyframes light-sweep {
    from {
        transform: rotate(-7deg);
        opacity: .32
    }

    to {
        transform: rotate(7deg);
        opacity: .5
    }
}

@keyframes ambient-glow {
    from {
        transform: translateX(-60px) scale(.9);
        opacity: .65
    }

    to {
        transform: translateX(60px) scale(1.15);
        opacity: 1
    }
}

@keyframes dashboard-float {

    0%,
    100% {
        transform: rotateX(8deg) translateY(0)
    }

    50% {
        transform: rotateX(5deg) translateY(-7px)
    }
}

@keyframes chip-float {

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

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

@keyframes bar-breathe {

    0%,
    100% {
        transform: scaleY(.84);
        opacity: .65
    }

    50% {
        transform: scaleY(1);
        opacity: 1
    }
}

@keyframes line-draw {
    to {
        stroke-dashoffset: 0
    }
}

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

.hero--animated.motion-paused .platform-word {
    transition: none
}

@media(max-width:800px) {
    .animated-hero-content {
        padding-top: 48px
    }

    .hero--animated h1 {
        font-size: clamp(40px, 7.8vw, 65px);
        margin-top: 28px
    }

    .hero--animated .hero-lede {
        font-size: 15px;
        max-width: 620px
    }

    .growth-scene {
        max-width: 640px;
        height: 290px
    }

    .growth-dashboard {
        left: 8%;
        right: 8%
    }

    .growth-chip {
        padding: 10px 12px
    }

    .chip-ai {
        right: 0
    }

    .chip-search {
        left: 0
    }

    .dashboard-metrics b {
        font-size: 12px
    }

    .hero-motion-toolbar {
        gap: 12px
    }
}

@media(max-width:500px) {
    .market-pill {
        font-size: 9px;
        padding: 8px 12px;
        gap: 8px
    }

    .hero--animated h1 {
        font-size: clamp(33px, 8.8vw, 44px);
        line-height: 1.12;
        margin: 27px 0 21px;
        letter-spacing: -.055em
    }

    .hero--animated .hero-lede {
        font-size: 13px;
        line-height: 1.85
    }

    .hero--animated .btn {
        font-size: 12px;
        padding: 14px 17px;
        gap: 12px
    }

    .hero-motion-toolbar {
        flex-direction: column;
        gap: 2px;
        font-size: 9px;
        margin-top: 15px
    }

    .hero-motion-toolbar button {
        font-size: 9px
    }

    .growth-scene {
        height: 242px;
        margin-top: 23px;
        margin-bottom: 12px
    }

    .growth-dashboard {
        left: 1%;
        right: 1%;
        top: 17px;
        height: 201px;
        padding: 14px
    }

    .dashboard-top {
        font-size: 6px;
        letter-spacing: .05em;
        padding-bottom: 9px
    }

    .dashboard-metrics {
        gap: 8px;
        margin-top: 11px
    }

    .dashboard-metrics span {
        font-size: 6px
    }

    .dashboard-metrics b {
        font-size: 9px;
        margin-top: 2px
    }

    .dashboard-metrics i {
        margin-left: 1px
    }

    .dashboard-chart {
        height: 80px;
        margin-top: 12px
    }

    .growth-bars {
        gap: 7px
    }

    .dashboard-bottom {
        font-size: 6px
    }

    .growth-chip {
        padding: 7px 9px;
        gap: 6px;
        border-radius: 7px
    }

    .growth-chip small {
        font-size: 5px
    }

    .growth-chip b {
        font-size: 8px
    }

    .chip-symbol {
        width: 23px;
        height: 23px;
        font-size: 17px;
        border-radius: 5px
    }

    .chip-search {
        top: 0;
        left: 1%
    }

    .chip-ai {
        top: auto;
        bottom: 0;
        right: 1%
    }

    .chip-lead {
        bottom: 0;
        left: 1%
    }

    .scene-orbit {
        inset: 25px 0
    }

    .orbit-two {
        inset: 4px 45px
    }

    .hero--animated .hero-bottom {
        font-size: 7px;
        letter-spacing: .07em
    }

    .hero-glow {
        width: 560px;
        left: 50%;
        margin-left: -280px;
        height: 330px
    }

    .hero-rays {
        left: 0;
        right: 0
    }
}

@media(prefers-reduced-motion:reduce) {

    .hero--animated *,
    .hero-rays,
    .hero-glow {
        animation: none !important;
        transition: none !important
    }

    .growth-line path {
        stroke-dashoffset: 0
    }

    .platform-word {
        background-position: 20% 50%
    }

    .hero-motion-toolbar button {
        display: none
    }
}

/* Grouped mega menus */
.mega-dropdown {
    position: static
}

.mega-panel {
    left: 50%;
    top: 94px;
    width: min(1240px, calc(100vw - 64px));
    transform: translateX(-50%);
    padding: 0;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 25px 55px #0b153825;
    max-height: calc(100dvh - 112px);
    overflow: auto
}

.mega-panel-body {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr .94fr;
    padding: 32px;
    gap: 22px
}

.mega-column {
    padding-right: 14px;
    border-right: 1px solid var(--border);
    min-width: 0
}

.mega-column h2 {
    font-size: 14px;
    letter-spacing: -.025em;
    line-height: 1.35;
    margin: 0
}

.mega-column>p {
    font-size: 10px;
    margin: 5px 0 18px;
    color: var(--muted)
}

.mega-panel .mega-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 7px;
    border-radius: 7px;
    min-height: 65px
}

.mega-icon {
    background: #eff5ff;
    border: 1px solid #e4efff;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    display: grid;
    place-items: center;
    flex: none;
    color: var(--blue)
}

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

.mega-link b {
    font-size: 11px;
    display: block;
    font-weight: 650;
    line-height: 1.4
}

.mega-link small {
    display: block;
    font-size: 9px;
    line-height: 1.5;
    margin-top: 3px;
    color: var(--muted);
    font-weight: 400
}

.mega-panel .mega-link:hover {
    background: #f3f7fc
}

.mega-link:hover .mega-icon {
    background: #3981ed;
    color: white;
    border-color: #3981ed
}

.mega-arrow {
    margin-left: auto;
    color: var(--blue);
    opacity: 0;
    transition: opacity .2s
}

.mega-link:hover .mega-arrow {
    opacity: 1
}

.mega-feature {
    padding: 25px 21px;
    border-radius: 9px;
    background: linear-gradient(145deg, #edf4ff, #f6f8fc);
    align-self: stretch;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center
}

.mega-feature .eyebrow {
    font-size: 8px;
    color: var(--blue);
    letter-spacing: .12em;
    margin-bottom: 15px
}

.mega-feature h2 {
    font-size: 24px;
    line-height: 1.24;
    margin: 0;
    letter-spacing: -.04em
}

.mega-feature p {
    font-size: 11px;
    line-height: 1.7;
    margin: 15px 0 23px;
    color: var(--muted)
}

.mega-panel .mega-feature .btn {
    color: #fff;
    background: var(--blue);
    padding: 13px 14px;
    font-size: 10px;
    gap: 12px;
    width: 100%
}

.mega-feature-note {
    margin-top: 20px;
    font-size: 8px;
    color: var(--muted);
    letter-spacing: .02em
}

.mega-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 33px;
    background: #fafbfe;
    border-top: 1px solid var(--border);
    gap: 20px
}

.mega-panel .mega-footer>a {
    padding: 0;
    color: var(--blue);
    font-size: 11px;
    font-weight: 650;
    display: flex;
    gap: 20px;
    align-items: center
}

.mega-footer>span {
    font-size: 9px;
    font-weight: 400;
    color: var(--muted)
}

.mega-panel .mega-footer>a:hover {
    background: none
}

.nav-chevron {
    display: inline-block;
    transition: transform .2s
}

.mega-dropdown.open .nav-chevron {
    transform: rotate(180deg)
}

.industry-column h2 {
    margin-bottom: 17px
}

.mega-panel .industry-menu-link {
    position: relative;
    display: block;
    padding: 8px 10px;
    margin-bottom: 3px;
    line-height: 1.4
}

.industry-menu-link b {
    font-size: 11px;
    font-weight: 600;
    display: block;
    padding-right: 18px
}

.industry-menu-link small {
    font-size: 9px;
    color: var(--muted);
    font-weight: 400;
    display: block;
    margin-top: 3px
}

.industry-menu-link>span {
    position: absolute;
    right: 10px;
    top: 10px;
    color: var(--blue);
    opacity: 0
}

.industry-menu-link:hover>span {
    opacity: 1
}

.industry-feature {
    padding: 18px;
    justify-content: start;
    background: var(--light)
}

.industry-feature>img {
    width: 100%;
    height: 118px;
    border-radius: 6px;
    object-fit: cover;
    margin-bottom: 22px
}

.industry-feature h2 {
    font-size: 21px
}

.mega-panel .industry-feature .textlink {
    font-size: 10px;
    color: var(--blue);
    padding: 0;
    margin-top: 20px
}

.industry-feature .textlink:hover {
    background: none
}

/* Circular challenge-to-solution animation */
.comparison-section {
    padding: 100px 0 65px
}

.comparison-heading {
    text-align: center;
    margin-bottom: 50px
}

.comparison-heading .eyebrow {
    color: #669ef3
}

.comparison-heading h2 {
    font-size: clamp(32px, 3.4vw, 47px);
    line-height: 1.16
}

.comparison-gradient {
    background: linear-gradient(105deg, #5a7bff, #629ffb 53%, #e5b739 98%);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent
}

.comparison-grid {
    display: grid;
    grid-template-columns: 1fr 340px 1fr;
    gap: 30px;
    align-items: center
}

.comparison-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 13px
}

.comparison-list li {
    border: 1px solid #dfecff;
    border-radius: 13px;
    min-height: 70px;
    padding: 17px 19px;
    display: flex;
    align-items: start;
    gap: 12px;
    box-shadow: 0 14px 26px -20px #24334933;
    font-size: 12px;
    line-height: 1.75
}

.pain-list li {
    color: #788494
}

.comparison-marker {
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    flex: none;
    border-radius: 50%;
    background: #eef2f8;
    color: #a0abba;
    font-size: 16px;
    line-height: 1;
    margin-top: 1px
}

.solution-list .comparison-marker {
    background: #f6ce45;
    color: #202834;
    font-size: 12px
}

.solution-list li {
    animation: solution-card-glow 9s var(--card-delay) ease-in-out infinite
}

.rosette-container {
    width: 100%;
    aspect-ratio: 1;
    position: relative
}

.rosette-aura {
    position: absolute;
    inset: -12%;
    border-radius: 50%;
    background: radial-gradient(circle, #e7f1ff95, transparent 65%);
    animation: rosette-breathe 7s ease-in-out infinite
}

.rosette-svg {
    width: 100%;
    height: 100%;
    position: relative;
    display: block;
    overflow: visible
}

.rosette-weave {
    transform-origin: 180px 180px;
    animation: rosette-turn 42s linear infinite
}

.rosette-planets {
    transform-origin: 180px 180px;
    animation: rosette-turn 24s linear infinite
}

.section-motion-bar {
    text-align: center;
    margin-top: 27px
}

.section-motion-toggle {
    border: 0;
    background: none;
    color: #8391a4;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 10px;
    cursor: pointer
}

.section-motion-toggle:hover {
    background: #ebf1fb;
    color: var(--blue)
}

.section-motion-toggle span {
    margin-right: 5px
}

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

/* Radar and client reach */
.radar-section {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 35px;
    align-items: center;
    padding: 58px 60px;
    margin-bottom: 100px;
    background: linear-gradient(105deg, #0b1523ed, #0b1523d6), url('/assets/seo-optimized.webp') center/cover;
    color: white;
    isolation: isolate
}

.radar-copy {
    position: relative;
    z-index: 1
}

.radar-copy .eyebrow {
    color: #b3cffa;
    font-size: 9px
}

.radar-copy h2 {
    font-size: clamp(31px, 3.35vw, 46px);
    line-height: 1.19
}

.radar-benefits {
    list-style: none;
    padding: 0;
    margin: 29px 0 32px
}

.radar-benefits li {
    position: relative;
    padding-left: 25px;
    color: #ccd6e5;
    font-size: 13px;
    line-height: 1.7;
    margin: 15px 0
}

.radar-benefits li:before {
    content: '✓';
    position: absolute;
    left: 0;
    color: #f4cf49;
    font-size: 19px;
    line-height: 1.2
}

.radar-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding-top: 24px;
    border-top: 1px solid #ffffff1c
}

.radar-stats b {
    font-family: var(--font-site);
    font-size: 57px;
    line-height: 1.1;
    letter-spacing: -.06em;
    font-weight: 800;
    display: block
}

.radar-stats>div>span {
    color: #b0bdd0;
    font-size: 12px;
    display: block;
    margin-top: 5px
}

.radar-visual {
    position: relative;
    width: 100%;
    max-width: 450px;
    justify-self: center;
    aspect-ratio: 1;
    align-self: center
}

.radar-disc {
    position: absolute;
    inset: 0;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 50%;
    border: 1px solid #ffffff18;
    background: radial-gradient(circle, #b0d1ff0b, transparent 70%)
}

.radar-ring {
    position: absolute;
    border: 1px solid #ffffff26;
    border-radius: 50%;
    z-index: 1
}

.ring-1 {
    inset: 12%
}

.ring-2 {
    inset: 25%
}

.ring-3 {
    inset: 37%
}

.ring-4 {
    inset: 1%
}

.radar-sweep {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: conic-gradient(from 0deg, transparent 0deg, transparent 245deg, #87b9ff03 250deg, #87b9ff1a 300deg, #9bc5ff6b 358deg, transparent 360deg);
    animation: radar-scan 9s linear infinite
}

.radar-blip {
    position: absolute;
    width: 9px;
    height: 9px;
    background: #f6d222;
    border-radius: 50%;
    z-index: 2;
    box-shadow: 0 0 0 0 #f6d22230;
    animation: blip-pulse 4s ease-out infinite
}

.blip-1 {
    left: 58%;
    top: 16%;
    animation-delay: -.5s
}

.blip-2 {
    left: 74%;
    top: 30%;
    animation-delay: -1.2s
}

.blip-3 {
    left: 24%;
    top: 40%;
    animation-delay: -2s
}

.blip-4 {
    left: 79%;
    top: 61%;
    animation-delay: -2.8s
}

.blip-5 {
    left: 36%;
    top: 70%;
    animation-delay: -3.5s
}

.radar-center {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: white;
    z-index: 3;
    box-shadow: 0 0 25px #d1e4ff50
}

.radar-motion-control {
    position: absolute;
    bottom: 15px;
    right: 22px;
    color: #9da9bc;
    z-index: 4
}

.radar-motion-control:hover {
    background: #ffffff12;
    color: white
}

@keyframes rosette-turn {
    to {
        transform: rotate(360deg)
    }
}

@keyframes rosette-breathe {

    0%,
    100% {
        opacity: .65;
        transform: scale(.96)
    }

    50% {
        opacity: 1;
        transform: scale(1.06)
    }
}

@keyframes solution-card-glow {

    0%,
    12%,
    70%,
    100% {
        box-shadow: 0 14px 26px -20px #24334933;
        border-color: #dfecff
    }

    25%,
    40% {
        border-color: #b6d3ff;
        box-shadow: 0 10px 24px -15px #638ec94a
    }
}

@keyframes radar-scan {
    to {
        transform: rotate(360deg)
    }
}

@keyframes blip-pulse {

    0%,
    100% {
        box-shadow: 0 0 0 0 #f6d22225;
        opacity: .65
    }

    30% {
        box-shadow: 0 0 0 9px #f6d22200;
        opacity: 1
    }

    60% {
        box-shadow: 0 0 0 14px #f6d22200;
        opacity: .8
    }
}

@media(max-width:1100px) {
    .mega-panel-body {
        padding: 25px;
        gap: 15px
    }

    .mega-column {
        padding-right: 8px
    }

    .mega-feature {
        padding: 19px 16px
    }

    .mega-feature h2 {
        font-size: 21px
    }

    .mega-link {
        gap: 7px
    }

    .mega-icon {
        width: 29px;
        height: 29px
    }

    .comparison-grid {
        grid-template-columns: 1fr 280px 1fr;
        gap: 20px
    }

    .comparison-list li {
        padding: 14px;
        font-size: 11px
    }

    .radar-section {
        padding: 45px;
        gap: 25px
    }

    .radar-stats b {
        font-size: 48px
    }
}

@media(max-width:800px) {
    .mega-dropdown {
        position: relative
    }

    .mega-panel {
        position: static;
        transform: none;
        left: auto;
        top: auto;
        width: 100%;
        max-height: none;
        overflow: visible;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        background: #f8f9fe;
        padding: 0;
        margin: 5px 0 10px
    }

    .mega-panel-body {
        grid-template-columns: repeat(3, 1fr);
        padding: 18px 12px;
        gap: 16px
    }

    .mega-column:last-of-type {
        border: 0
    }

    .mega-feature {
        display: none
    }

    .mega-panel .mega-link {
        padding: 10px 2px;
        gap: 8px;
        min-height: 56px
    }

    .mega-icon {
        display: none
    }

    .mega-link b,
    .industry-menu-link b {
        font-size: 10px
    }

    .mega-link small,
    .industry-menu-link small {
        font-size: 8px
    }

    .mega-arrow {
        display: none
    }

    .mega-column h2 {
        font-size: 12px
    }

    .mega-column>p {
        font-size: 8px;
        margin-bottom: 10px
    }

    .mega-panel .industry-menu-link {
        padding: 8px 0
    }

    .mega-footer {
        padding: 12px
    }

    .mega-footer>span {
        display: none
    }

    .mega-panel .mega-footer>a {
        font-size: 10px
    }

    .comparison-section {
        padding: 65px 0 45px
    }

    .comparison-grid {
        grid-template-columns: 1fr 1fr;
        gap: 22px
    }

    .rosette-container {
        grid-column: 1/-1;
        grid-row: 1;
        max-width: 300px;
        justify-self: center
    }

    .comparison-heading {
        margin-bottom: 25px
    }

    .comparison-list li {
        min-height: 82px;
        font-size: 12px
    }

    .radar-section {
        padding: 40px 30px;
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 65px
    }

    .radar-copy h2 {
        font-size: 38px
    }

    .radar-visual {
        max-width: 330px
    }

    .radar-stats {
        max-width: 500px
    }

    .radar-motion-control {
        bottom: 12px;
        right: 12px
    }
}

@media(max-width:500px) {
    .mega-panel-body {
        grid-template-columns: 1fr;
        padding: 16px
    }

    .mega-column {
        border-right: 0;
        border-bottom: 1px solid var(--border);
        padding-bottom: 15px;
        padding-right: 0
    }

    .mega-column h2 {
        font-size: 14px
    }

    .mega-column>p {
        font-size: 10px
    }

    .mega-icon {
        display: grid;
        width: 30px;
        height: 30px
    }

    .mega-link b,
    .industry-menu-link b {
        font-size: 12px
    }

    .mega-link small,
    .industry-menu-link small {
        font-size: 10px
    }

    .mega-panel .mega-link {
        padding: 10px 4px
    }

    .mega-panel .industry-menu-link {
        padding: 10px 4px
    }

    .mega-footer {
        padding: 14px 16px
    }

    .comparison-grid {
        gap: 12px
    }

    .comparison-heading h2 {
        font-size: 29px
    }

    .comparison-list {
        gap: 11px
    }

    .comparison-list li {
        padding: 12px 9px;
        gap: 6px;
        min-height: 111px;
        font-size: 10px;
        line-height: 1.75;
        border-radius: 9px
    }

    .comparison-marker {
        width: 16px;
        height: 16px;
        font-size: 12px
    }

    .solution-list .comparison-marker {
        font-size: 9px
    }

    .rosette-container {
        max-width: 245px;
        margin: 5px 0 12px
    }

    .radar-section {
        padding: 35px 23px
    }

    .radar-copy h2 {
        font-size: 31px
    }

    .radar-benefits li {
        font-size: 12px;
        margin: 12px 0
    }

    .radar-stats b {
        font-size: 44px
    }

    .radar-stats>div>span {
        font-size: 11px
    }

    .radar-visual {
        max-width: 285px;
        margin-bottom: 12px
    }

    .radar-blip {
        width: 7px;
        height: 7px
    }

    .radar-center {
        width: 14px;
        height: 14px
    }
}

@media(prefers-reduced-motion:reduce) {

    .rosette-weave,
    .rosette-planets,
    .rosette-aura,
    .solution-list li,
    .radar-sweep,
    .radar-blip {
        animation: none !important
    }

    .section-motion-toggle {
        display: none
    }
}

.mega-panel .mega-feature .btn {
    display: flex;
    align-items: center;
    justify-content: space-between
}

/* Brand gradient: blue to violet to warm gold. */
:root {
    --brand-gradient: linear-gradient(105deg, #5e77ff 0%, #5c9af6 50%, #ffca05 100%)
}

.word-highlight,
.blue,
.comparison-gradient {
    background: var(--brand-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    display: inline
}

.gradient-word {
    background-image: linear-gradient(105deg, #5e77ff, #5c9af6 42%, #ffca05 82%, #5e77ff)
}

nav {
    gap: 19px;
    font-size: 12px
}

.dropdown>button {
    font-size: 12px
}

.results-preview {
    padding: 90px 0
}

.case-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px
}

.case-card {
    border: 1px solid var(--border);
    border-radius: 11px;
    overflow: hidden;
    background: white;
    box-shadow: 0 15px 35px -30px #17254640
}

.case-card>img {
    width: 100%;
    height: 185px;
    object-fit: cover
}

.case-card>div {
    padding: 25px
}

.case-sector {
    font-size: 9px;
    letter-spacing: .06em;
    color: var(--muted);
    display: block;
    margin-bottom: 13px
}

.case-card h3 {
    font-size: 21px
}

.case-card .case-outcome {
    font-size: 16px;
    line-height: 1.5;
    font-weight: 600;
    color: var(--ink);
    margin: 16px 0 10px
}

.case-card p {
    font-size: 12px;
    line-height: 1.7
}

.report-preview-strip {
    display: flex;
    gap: 25px;
    align-items: center;
    justify-content: space-between;
    border: 1px solid #dee7f5;
    background: linear-gradient(115deg, #eff5ff, #fffcf2);
    border-radius: 10px;
    padding: 28px 35px;
    margin-top: 25px
}

.report-preview-strip .eyebrow {
    font-size: 9px;
    margin-bottom: 10px
}

.report-preview-strip h3 {
    font-size: 23px
}

.report-preview-strip p {
    font-size: 12px;
    margin-bottom: 0
}

.report-preview-strip .btn {
    flex: none
}

.paid-showcase {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 75px;
    padding: 15px 0 100px;
    align-items: center
}

.paid-copy>p {
    font-size: 15px
}

.paid-copy ol {
    padding: 0;
    list-style: none;
    counter-reset: adsteps;
    margin: 30px 0
}

.paid-copy li {
    counter-increment: adsteps;
    position: relative;
    padding-left: 42px;
    margin: 20px 0
}

.paid-copy li:before {
    content: '0' counter(adsteps);
    position: absolute;
    left: 0;
    top: 3px;
    font-size: 13px;
    color: #79a0db;
    font-weight: 650
}

.paid-copy li b {
    font-size: 13px;
    display: block
}

.paid-copy li span {
    font-size: 12px;
    color: var(--muted)
}

.ad-preview {
    border: 1px solid #dde5f0;
    background: linear-gradient(150deg, #f1f6fd, #fffcf4);
    padding: 30px;
    border-radius: 14px;
    box-shadow: 0 25px 65px -40px #6a8dbd45
}

.sample-badge {
    display: inline-block;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .1em;
    background: #e6effc;
    border: 1px solid #d7e3f4;
    color: #54719d;
    border-radius: 30px;
    padding: 6px 11px;
    line-height: 1.3
}

.mock-search {
    margin-top: 23px;
    padding: 15px 18px;
    border: 1px solid #dadcea;
    border-radius: 25px;
    background: white;
    display: flex;
    gap: 14px;
    font-size: 11px;
    color: #647088;
    align-items: center;
    box-shadow: 0 3px 12px #00000004
}

.mock-search>span:first-child {
    font-size: 22px;
    color: #70829c
}

.mock-ad {
    padding: 22px;
    background: white;
    border: 1px solid var(--border);
    border-radius: 10px;
    margin-top: 18px;
    box-shadow: 0 10px 25px #212d3f08
}

.mock-ad small {
    font-size: 9px;
    display: block;
    font-weight: 600;
    color: var(--ink)
}

.mock-ad-url {
    font-size: 10px;
    color: var(--muted)
}

.mock-ad h3 {
    font-size: 21px;
    color: #4375bf;
    line-height: 1.3;
    margin: 13px 0 0
}

.mock-ad p {
    font-size: 12px;
    line-height: 1.8
}

.mock-ad>div {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    font-size: 9px;
    color: #5a80b8
}

.ad-journey {
    margin-top: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-size: 10px
}

.ad-journey span {
    padding: 7px 12px;
    border-radius: 20px;
    background: #fff9;
    border: 1px solid #dbe1ea
}

.ad-journey i {
    font-style: normal;
    color: #8daddd
}

.ad-preview>p {
    margin-bottom: 0;
    text-align: center;
    color: #8896a9
}

.reviews-section {
    background: #f6f7fc;
    padding: 85px 0
}

.google-review-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 18px;
    background: white;
    border: 1px solid var(--border);
    border-radius: 30px;
    font-size: 11px;
    font-weight: 600
}

.google-g {
    font-size: 23px;
    font-weight: 700;
    background: linear-gradient(125deg, #4285f4 0 32%, #ea4335 32% 48%, #fbbc05 48% 62%, #34a853 62% 80%, #4285f4 80%);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    font-family: var(--font-site)
}

.review-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px
}

.review-card {
    margin: 0;
    padding: 30px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: white
}

.quote-mark {
    font-size: 58px;
    line-height: .85;
    display: block;
    font-family: var(--font-site);
    color: #89b4f5
}

.review-card blockquote {
    font-family: var(--font-site);
    font-size: 22px;
    line-height: 1.55;
    margin: 15px 0 30px;
    letter-spacing: -.025em;
    min-height: 100px
}

.review-card figcaption {
    display: flex;
    gap: 12px;
    align-items: center
}

.review-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #ebf3ff;
    color: #618ccd;
    display: grid;
    place-items: center;
    font-weight: 650;
    font-size: 15px;
    flex: none
}

.review-card figcaption b {
    font-size: 12px;
    display: block
}

.review-card figcaption small {
    font-size: 10px;
    color: var(--muted);
    display: block
}

.review-label {
    margin-left: auto;
    font-size: 8px;
    border: 1px solid var(--border);
    border-radius: 30px;
    padding: 4px 8px;
    color: var(--muted);
    white-space: nowrap
}

.review-source {
    font-size: 10px;
    margin: 20px 0 0;
    color: #828c9b
}

.review-source a {
    color: #637693;
    text-decoration: underline;
    text-underline-offset: 3px
}

.insights-section {
    padding: 90px 0
}

.insight-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px
}

.insight-card {
    border: 1px solid var(--border);
    border-radius: 11px;
    overflow: hidden;
    background: #fff;
    transition: transform .2s, box-shadow .2s
}

.insight-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px #1725460a
}

.insight-image {
    position: relative
}

.insight-image img {
    width: 100%;
    height: 195px;
    object-fit: cover
}

.insight-image>span {
    position: absolute;
    bottom: 15px;
    left: 18px;
    border-radius: 30px;
    background: white;
    padding: 5px 11px;
    font-size: 9px;
    font-weight: 600;
    color: #556885
}

.insight-card>div:last-child {
    padding: 24px
}

.insight-card time {
    font-size: 9px;
    color: var(--muted);
    display: block;
    margin-bottom: 15px
}

.insight-card h3 {
    font-size: 22px;
    line-height: 1.3
}

.insight-card p {
    font-size: 12px;
    line-height: 1.7
}

.brand-close {
    position: relative;
    background: #0a1320;
    padding: 75px 0 90px;
    color: white;
    text-align: center;
    overflow: hidden
}

.brand-close .wrap {
    position: relative
}

.brand-close .eyebrow {
    color: #afc3e0;
    margin-bottom: 25px
}

.brand-close h2 {
    font-size: clamp(45px, 5.8vw, 82px);
    letter-spacing: -.06em;
    line-height: 1.15;
    margin-bottom: 35px
}

.brand-close .actions {
    justify-content: center
}

.brand-triangle {
    position: absolute;
    display: block;
    width: 24px;
    height: 24px;
    background: #5a88cd;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    animation: brand-float 8s ease-in-out infinite;
    filter: drop-shadow(0 0 16px #6198e585)
}

.triangle-one {
    top: 5%;
    left: 5%;
    transform: rotate(15deg)
}

.triangle-two {
    bottom: 6%;
    right: 5%;
    background: #e6b922;
    animation-delay: -4s
}

.editorial-hero {
    text-align: center;
    padding: 75px 0 60px;
    max-width: 950px
}

.editorial-hero>.eyebrow {
    color: #6685b4
}

.editorial-hero h1 {
    font-size: clamp(40px, 5.1vw, 70px)
}

.editorial-hero>p {
    max-width: 760px;
    margin: 24px auto 28px;
    font-size: 17px
}

.editorial-hero>.actions {
    justify-content: center
}

.ads-report-section {
    padding: 30px 0 60px
}

.report-dashboard {
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 20px 75px -40px #5777a330
}

.sample-banner {
    padding: 12px 25px;
    display: flex;
    align-items: center;
    gap: 15px;
    background: #f5f9ff;
    border-bottom: 1px solid #e5edf8;
    font-size: 10px;
    color: #738194
}

.report-header {
    display: flex;
    align-items: center;
    gap: 25px;
    padding: 25px 30px
}

.report-header>div {
    margin-right: auto
}

.report-header h3 {
    font-size: 22px;
    margin-top: 5px
}

.report-account {
    font-size: 10px;
    color: var(--muted)
}

.period-control {
    font-size: 9px;
    font-weight: 500;
    margin: 0;
    width: 155px;
    flex: none
}

.period-control select {
    font-size: 11px;
    padding: 8px 10px;
    margin-top: 3px
}

.report-export {
    border: 1px solid var(--border);
    background: white;
    padding: 10px 13px;
    font-size: 10px;
    border-radius: 5px;
    color: var(--ink);
    flex: none
}

.report-metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 17px;
    padding: 0 30px
}

.report-metrics>div {
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 20px;
    background: #fdfeff
}

.report-metrics span {
    font-size: 11px;
    color: var(--muted);
    display: block
}

.report-metrics b {
    display: block;
    font-family: var(--font-site);
    font-size: 34px;
    letter-spacing: -.055em;
    line-height: 1.3;
    margin: 7px 0
}

.report-metrics small {
    font-size: 9px;
    color: var(--muted);
    display: block
}

.report-chart-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 30px 35px 5px;
    gap: 25px
}

.report-chart-header h3 {
    font-size: 17px
}

.report-chart-header p {
    font-size: 10px;
    margin: 7px 0
}

.report-metric-switch {
    display: flex;
    gap: 5px;
    background: #f4f7fb;
    padding: 4px;
    border: 1px solid #e1e7f1;
    border-radius: 30px
}

.report-metric-switch button {
    font-size: 10px;
    border: 0;
    padding: 8px 15px;
    background: none;
    border-radius: 30px;
    color: var(--muted)
}

.report-metric-switch button[aria-pressed=true] {
    background: white;
    color: #516f9c;
    box-shadow: 0 2px 6px #00000008
}

.report-chart {
    padding: 0 25px;
    overflow: hidden
}

.report-chart svg {
    width: 100%;
    height: auto;
    display: block
}

.report-chart text {
    font-family: var(--font-site);
    fill: #8992a5;
    font-size: 11px
}

.report-chart .point-label {
    fill: #586679;
    font-size: 13px;
    font-weight: 600
}

.report-chart path {
    transition: d .4s ease
}

.report-table-scroll {
    margin: 0 30px 25px;
    overflow: auto
}

.report-week-table {
    min-width: 500px;
    font-size: 11px
}

.report-week-table caption {
    text-align: left;
    font-size: 10px;
    color: var(--muted);
    padding: 10px 0
}

.report-week-table td,
.report-week-table th {
    padding: 11px 15px
}

.report-takeaway {
    margin: 0 30px 28px;
    padding: 19px 24px;
    display: flex;
    align-items: center;
    gap: 17px;
    border-radius: 8px;
    background: #f1f6fd
}

.report-note-icon {
    color: #789ed7;
    font-size: 26px
}

.report-takeaway b {
    font-size: 12px
}

.report-takeaway p {
    font-size: 10px;
    margin: 5px 0 0
}

.blog-directory {
    padding-bottom: 85px
}

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

.blog-filters button {
    border: 1px solid var(--border);
    background: white;
    border-radius: 30px;
    padding: 10px 20px;
    font-size: 12px;
    color: var(--muted)
}

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

.article-hero {
    max-width: 940px;
    padding: 45px 0 40px
}

.article-hero h1 {
    font-size: clamp(36px, 4.4vw, 58px)
}

.article-hero .eyebrow {
    color: #6687b8
}

.article-hero>p {
    font-size: 18px
}

.article-byline {
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 11px;
    color: var(--muted);
    flex-wrap: wrap
}

.article-cover img {
    width: 100%;
    height: 380px;
    object-fit: cover;
    border-radius: 12px
}

.article-layout {
    display: grid;
    grid-template-columns: 1fr 285px;
    gap: 90px;
    align-items: start;
    padding: 55px 0 25px
}

.journal-prose {
    max-width: 780px
}

.journal-prose h2 {
    font-size: 29px;
    line-height: 1.3;
    margin: 25px 0 15px
}

.journal-prose h2:first-child {
    margin-top: 0
}

.journal-prose p,
.journal-prose li {
    font-size: 15px;
    color: var(--muted);
    line-height: 1.9
}

.journal-prose ul {
    padding-left: 24px
}

.journal-prose .ticks {
    padding-left: 0
}

.journal-prose .ticks li {
    position: relative;
    padding-left: 22px
}

.journal-prose .ticks li:before {
    position: absolute;
    left: 0
}

.journal-sidebar {
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 25px;
    background: #f4f7fc;
    position: sticky;
    top: 125px
}

.journal-sidebar h2 {
    font-size: 27px;
    line-height: 1.3
}

.journal-sidebar .eyebrow {
    font-size: 9px
}

.journal-sidebar p {
    font-size: 12px
}

.journal-sidebar .btn {
    display: flex;
    font-size: 11px;
    margin-top: 13px;
    padding: 14px 15px;
    gap: 10px
}

.journal-sidebar .btn span {
    font-size: 15px
}

@keyframes brand-float {

    0%,
    100% {
        translate: 0 0;
        rotate: 0deg
    }

    50% {
        translate: 0 -12px;
        rotate: 15deg
    }
}

@media(max-width:1100px) {
    nav {
        gap: 14px
    }

    .nav {
        gap: 16px
    }

    .nav>.btn {
        font-size: 12px;
        padding: 13px 18px;
        gap: 12px
    }

    .case-card>div {
        padding: 20px
    }

    .paid-showcase {
        gap: 40px
    }

    .ad-preview {
        padding: 23px
    }

    .review-card {
        padding: 25px
    }

    .review-card blockquote {
        font-size: 19px
    }

    .article-layout {
        gap: 50px;
        grid-template-columns: 1fr 255px
    }

    .report-metrics b {
        font-size: 28px
    }
}

@media(max-width:800px) {

    .case-grid,
    .insight-grid {
        grid-template-columns: 1fr 1fr
    }

    .case-grid>article:last-child,
    .insight-grid>a:last-child {
        grid-column: 1/-1
    }

    .case-grid>article:last-child>img,
    .insight-grid>a:last-child img {
        height: 230px
    }

    .results-preview {
        padding: 65px 0
    }

    .report-preview-strip {
        flex-direction: column;
        align-items: start;
        padding: 25px
    }

    .paid-showcase {
        grid-template-columns: 1fr;
        padding-bottom: 65px;
        gap: 30px
    }

    .paid-copy ol {
        margin: 25px 0
    }

    .reviews-section {
        padding: 65px 0
    }

    .review-grid {
        grid-template-columns: 1fr
    }

    .review-card blockquote {
        min-height: 0
    }

    .insights-section {
        padding: 65px 0
    }

    .brand-close {
        padding: 60px 0 75px
    }

    .report-header {
        flex-wrap: wrap;
        gap: 15px;
        padding: 20px
    }

    .report-header>div {
        flex: 1 0 100%
    }

    .report-metrics {
        grid-template-columns: repeat(2, 1fr);
        padding: 0 20px;
        gap: 12px
    }

    .report-chart-header {
        padding: 25px 20px 5px
    }

    .report-chart {
        padding: 0 10px
    }

    .report-table-scroll {
        margin: 0 20px 20px
    }

    .report-takeaway {
        margin: 0 20px 25px;
        padding: 18px
    }

    .sample-banner {
        padding: 12px 20px;
        font-size: 9px;
        gap: 10px
    }

    .editorial-hero {
        padding: 55px 0 45px
    }

    .editorial-hero>p {
        font-size: 15px
    }

    .article-layout {
        grid-template-columns: 1fr;
        gap: 35px;
        padding: 35px 0
    }

    .journal-sidebar {
        position: static
    }

    .article-cover img {
        height: 280px
    }

    .article-hero>p {
        font-size: 16px
    }

    .blog-directory {
        padding-bottom: 65px
    }
}

@media(max-width:500px) {

    .case-grid,
    .insight-grid {
        grid-template-columns: 1fr
    }

    .case-card>img,
    .case-grid>article:last-child>img,
    .insight-image img,
    .insight-grid>a:last-child img {
        height: 210px
    }

    .insight-card h3 {
        font-size: 21px
    }

    .ad-preview {
        padding: 20px
    }

    .mock-search {
        font-size: 9px;
        padding: 12px
    }

    .mock-ad {
        padding: 18px
    }

    .mock-ad h3 {
        font-size: 20px
    }

    .mock-ad>div {
        gap: 10px;
        font-size: 8px
    }

    .ad-journey {
        gap: 7px;
        font-size: 9px
    }

    .ad-journey span {
        padding: 7px 9px
    }

    .review-card {
        padding: 24px
    }

    .review-card blockquote {
        font-size: 21px
    }

    .review-card figcaption {
        gap: 10px;
        flex-wrap: wrap
    }

    .review-label {
        margin-left: 0
    }

    .review-source {
        font-size: 9px
    }

    .brand-close h2 {
        font-size: 47px
    }

    .brand-close .btn {
        font-size: 12px;
        padding: 15px 19px;
        gap: 12px
    }

    .triangle-one {
        left: 0;
        top: 0
    }

    .triangle-two {
        right: 0;
        bottom: -30px
    }

    .editorial-hero h1 {
        font-size: 38px
    }

    .report-metrics>div {
        padding: 15px
    }

    .report-metrics b {
        font-size: 28px
    }

    .report-metrics span {
        font-size: 10px
    }

    .report-metrics small {
        font-size: 8px
    }

    .report-header h3 {
        font-size: 20px
    }

    .sample-banner {
        align-items: start;
        flex-direction: column;
        font-size: 9px
    }

    .report-chart-header {
        flex-direction: column;
        align-items: start;
        gap: 10px
    }

    .report-chart {
        overflow: auto
    }

    .report-chart svg {
        min-width: 550px
    }

    .report-takeaway {
        align-items: start;
        padding: 16px
    }

    .report-takeaway b {
        font-size: 11px
    }

    .report-takeaway p {
        font-size: 9px
    }

    .period-control {
        width: 143px
    }

    .report-export {
        font-size: 9px;
        padding: 11px
    }

    .article-cover img {
        height: 225px
    }

    .article-hero h1 {
        font-size: 35px
    }

    .journal-prose h2 {
        font-size: 26px
    }

    .journal-prose p,
    .journal-prose li {
        font-size: 14px
    }

    .blog-filters button {
        font-size: 10px;
        padding: 8px 14px
    }
}

@media(prefers-reduced-motion:reduce) {
    .brand-triangle {
        animation: none !important
    }

    .report-chart path {
        transition: none
    }
}

/* Clients and project portfolio */
.clients-section {
    padding: 70px 0 5px
}

.clients-section .section-head {
    margin-bottom: 28px
}

.client-logo-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--border);
    border-left: 1px solid var(--border);
    border-radius: 9px;
    overflow: hidden
}

.client-logo-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 30px 20px 24px;
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    min-height: 154px;
    background: #fff;
    transition: background .2s
}

.client-logo-tile:hover {
    background: #f9fbff
}

.client-logo-tile>img {
    width: 180px;
    height: 65px;
    object-fit: contain;
    transition: transform .2s
}

.client-logo-tile:hover>img {
    transform: translateY(-3px)
}

.client-logo-tile>span {
    font-size: 10px;
    color: var(--muted);
    text-align: center
}

.home-projects {
    padding: 90px 0 0
}

.portfolio-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px
}

.portfolio-small {
    grid-template-columns: repeat(3, 1fr);
    gap: 23px
}

.portfolio-card {
    border: 1px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 15px 35px -30px #1a254025
}

.portfolio-screen {
    display: block;
    background: #f4f5fb;
    overflow: hidden
}

.browser-frame {
    height: 33px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 14px;
    border-bottom: 1px solid #e0e4ed;
    background: #f1f3f9;
    font-size: 8px;
    color: #768199
}

.browser-frame>span:nth-child(2) {
    flex: 1;
    text-align: center
}

.browser-frame-dots {
    display: flex;
    gap: 4px;
    align-items: center;
    flex: none
}

.browser-frame-dots i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #c3c9d8
}

.browser-frame-dots i:first-child {
    background: #db9a98
}

.browser-frame-dots i:nth-child(2) {
    background: #d8c08d
}

.browser-frame-dots i:last-child {
    background: #9abfa6
}

.portfolio-screen>img {
    width: 100%;
    height: auto;
    aspect-ratio: 1.46;
    object-fit: cover;
    object-position: top;
    transition: transform .35s
}

.portfolio-screen:hover>img {
    transform: scale(1.025)
}

.portfolio-card-body {
    padding: 25px
}

.project-brand {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 23px
}

.project-brand>img {
    width: 140px;
    height: 42px;
    object-fit: contain;
    object-position: left
}

.project-brand>span {
    font-size: 8px;
    border: 1px solid #dbe3ef;
    background: #f4f8fd;
    color: #7187a7;
    padding: 5px 8px;
    border-radius: 20px;
    white-space: nowrap
}

.portfolio-card h3 {
    font-size: 23px;
    line-height: 1.3;
    margin-bottom: 5px
}

.project-market {
    font-size: 10px;
    color: #939ca8
}

.portfolio-card p {
    font-size: 13px;
    line-height: 1.75;
    margin: 15px 0 20px
}

.portfolio-small .portfolio-card h3 {
    font-size: 20px
}

.portfolio-small .portfolio-card p {
    font-size: 12px
}

.portfolio-small .project-brand {
    flex-wrap: wrap;
    gap: 10px
}

.portfolio-small .project-brand>img {
    width: 130px
}

.projects-directory {
    padding: 15px 0 90px
}

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

.project-filters button {
    border: 1px solid var(--border);
    border-radius: 30px;
    padding: 10px 18px;
    font-size: 11px;
    background: white;
    color: var(--muted)
}

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

.project-detail-hero {
    padding: 45px 0 50px
}

.project-detail-title {
    display: grid;
    grid-template-columns: 1fr 260px;
    gap: 60px;
    align-items: center
}

.project-detail-title h1 {
    font-size: clamp(38px, 4.7vw, 64px)
}

.project-detail-title p {
    font-size: 17px;
    max-width: 710px
}

.project-detail-title>img {
    width: 250px;
    height: 125px;
    object-fit: contain
}

.project-detail-hero .eyebrow {
    color: #6d8bb7;
    font-size: 10px
}

.project-website-display {
    padding-bottom: 45px
}

.project-website-display>.browser-frame {
    border: 1px solid var(--border);
    border-radius: 12px 12px 0 0;
    height: 41px;
    font-size: 10px
}

.project-website-display>img {
    border: 1px solid var(--border);
    border-top: 0;
    border-radius: 0 0 12px 12px;
    object-fit: contain;
    width: 100%;
    height: auto
}

.project-website-display>p {
    font-size: 10px;
    color: var(--muted);
    margin: 14px 0 0
}

.project-website-display>p>a {
    color: #6a83a8
}

.project-context {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 80px;
    padding: 40px 0 60px;
    border-bottom: 1px solid var(--border)
}

.project-context h3 {
    font-size: 15px;
    margin-top: 25px
}

.project-context p:first-child {
    font-size: 17px;
    margin-top: 0
}

.keyword-pills {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 20px
}

.keyword-pills>span {
    border: 1px solid var(--border);
    border-radius: 25px;
    padding: 8px 13px;
    font-size: 10px;
    background: #f8fafc;
    color: #616e81
}

.seo-proof-section {
    padding: 70px 0
}

.seo-proof-note {
    border: 1px solid #e0e8f5;
    background: #f4f8fd;
    border-radius: 9px;
    padding: 20px 26px;
    margin-bottom: 24px
}

.seo-proof-note b {
    font-size: 13px
}

.seo-proof-note p {
    font-size: 11px;
    margin: 7px 0 0;
    color: #748092
}

.seo-proof-table {
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: auto
}

.seo-proof-table table {
    font-size: 11px;
    min-width: 750px
}

.seo-proof-table tbody th {
    font-weight: 600;
    background: white
}

.seo-proof-table td,
.seo-proof-table th {
    padding: 17px
}

.seo-proof-table td>a {
    font-size: 10px;
    color: #657996;
    white-space: nowrap
}

.rank-pending {
    font-size: 9px;
    color: #7c8898;
    padding: 6px 9px;
    display: inline-block;
    border: 1px solid #dfe5ed;
    border-radius: 25px;
    background: #f8fafd;
    white-space: nowrap
}

.related-projects {
    padding: 35px 0 85px
}

.service-results {
    padding: 15px 0 85px
}

.service-results .portfolio-grid {
    grid-template-columns: repeat(2, 1fr)
}

.results-measures {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 45px;
    margin-top: 30px;
    padding: 30px;
    background: #f5f8fc;
    border: 1px solid #e1e8f2;
    border-radius: 10px
}

.results-measures h3 {
    font-size: 20px
}

.results-measures p,
.results-measures li {
    font-size: 12px;
    color: var(--muted);
    line-height: 1.8
}

.results-measures ul {
    padding-left: 17px
}

.results-measures .btn {
    font-size: 11px;
    padding: 13px 18px;
    gap: 14px
}

.results-evidence-note {
    font-size: 11px;
    margin: 22px 0 0
}

.results-evidence-note a {
    color: #6181b0
}

@media(max-width:1000px) {
    .portfolio-small {
        grid-template-columns: repeat(2, 1fr)
    }

    .portfolio-small>.portfolio-card:last-child {
        grid-column: 1/-1
    }

    .portfolio-small>.portfolio-card:last-child .portfolio-screen>img {
        aspect-ratio: 2.15
    }

    .portfolio-card-body {
        padding: 22px
    }

    .project-detail-title {
        gap: 30px;
        grid-template-columns: 1fr 190px
    }

    .project-detail-title>img {
        width: 190px;
        height: 110px
    }

    .project-context {
        gap: 40px
    }

    .client-logo-tile>img {
        width: 155px;
        height: 58px
    }
}

@media(max-width:800px) {
    .clients-section {
        padding: 55px 0 0
    }

    .client-logo-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .client-logo-tile {
        min-height: 130px;
        padding: 25px 15px 20px;
        gap: 12px
    }

    .home-projects {
        padding-top: 60px
    }

    .portfolio-grid {
        gap: 20px
    }

    .portfolio-card h3 {
        font-size: 20px
    }

    .portfolio-card p {
        font-size: 12px
    }

    .project-brand {
        flex-wrap: wrap;
        gap: 10px;
        margin-bottom: 18px
    }

    .project-brand>img {
        width: 135px;
        height: 38px
    }

    .project-detail-title {
        grid-template-columns: 1fr
    }

    .project-detail-title>img {
        order: -1;
        width: 175px;
        height: 70px;
        object-position: left
    }

    .project-detail-title p {
        font-size: 15px
    }

    .project-context {
        grid-template-columns: 1fr;
        gap: 25px;
        padding: 25px 0 45px
    }

    .seo-proof-section {
        padding: 50px 0
    }

    .results-measures {
        gap: 30px;
        padding: 25px
    }

    .related-projects,
    .service-results {
        padding-bottom: 60px
    }

    .projects-directory {
        padding-bottom: 55px
    }
}

@media(max-width:500px) {
    .client-logo-tile>img {
        width: 135px;
        height: 49px
    }

    .client-logo-tile>span {
        font-size: 9px
    }

    .portfolio-grid,
    .portfolio-small,
    .service-results .portfolio-grid {
        grid-template-columns: 1fr
    }

    .portfolio-small>.portfolio-card:last-child .portfolio-screen>img {
        aspect-ratio: 1.46
    }

    .portfolio-card-body {
        padding: 23px
    }

    .portfolio-card h3,
    .portfolio-small .portfolio-card h3 {
        font-size: 23px
    }

    .project-brand {
        flex-wrap: nowrap
    }

    .project-brand>img {
        width: 135px
    }

    .browser-frame {
        font-size: 7px;
        height: 29px;
        gap: 8px
    }

    .project-detail-hero {
        padding: 30px 0 35px
    }

    .project-detail-title h1 {
        font-size: 38px
    }

    .project-detail-hero .actions {
        gap: 10px
    }

    .project-detail-hero .btn {
        font-size: 11px;
        gap: 12px;
        padding: 14px 17px
    }

    .project-context p:first-child {
        font-size: 15px
    }

    .keyword-pills>span {
        font-size: 9px;
        padding: 7px 10px
    }

    .seo-proof-note {
        padding: 18px
    }

    .seo-proof-note b {
        font-size: 12px
    }

    .seo-proof-note p {
        font-size: 10px
    }

    .results-measures {
        grid-template-columns: 1fr;
        gap: 22px;
        padding: 22px
    }

    .project-filters button {
        font-size: 10px;
        padding: 8px 13px
    }

    .project-website-display>.browser-frame {
        font-size: 8px;
        height: 34px
    }
}

/* Compact, reference-led trust strip and micro interactions below the banner. */
.brand img {
    width: 179px;
    height: 36px
}

.brand small {
    font-size: 9px;
    letter-spacing: .06em
}

.home-trust-section {
    position: relative;
    background: linear-gradient(160deg, #f1f8fc, #f8fbff 60%, #f9faff);
    padding: 43px 0 32px;
    overflow: hidden
}

.home-trust-inner {
    position: relative;
    isolation: isolate
}

.home-trust-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    background: #ffffffdc;
    border: 1px solid #e5e8f1;
    border-radius: 17px;
    box-shadow: 0 8px 25px -17px #31375924;
    backdrop-filter: blur(6px)
}

.trust-stat {
    text-align: center;
    padding: 25px 20px;
    border-right: 1px solid #e5e8f1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 201px
}

.trust-stat:last-child {
    border: 0
}

.trust-stat>b {
    font-family: var(--font-site);
    font-size: 52px;
    letter-spacing: -.06em;
    line-height: 1.15;
    color: #141b35;
    margin: 4px 0 5px;
    font-weight: 800
}

.trust-stat>span {
    font-size: 11px;
    letter-spacing: .08em;
    color: #707b91;
    font-weight: 600
}

.trust-stat>small {
    font-size: 10px;
    color: #939aae
}

.smile-lineup {
    display: flex;
    padding-left: 0;
    margin-bottom: 3px
}

.smile-lineup span {
    width: 27px;
    height: 27px;
    border: 2px solid white;
    box-shadow: 0 2px 6px #0000000a;
    background: #e4ecf8;
    color: #7995bf;
    border-radius: 50%;
    margin-left: -5px;
    display: grid;
    place-items: center;
    font-size: 19px;
    line-height: 1;
    animation: smile-bob 6s ease-in-out infinite
}

.smile-lineup span:first-child {
    margin-left: 0;
    background: #e1e9fd;
    color: #7189c3
}

.smile-lineup span:nth-child(2) {
    animation-delay: -.4s;
    background: #f5e7e1;
    color: #b18b7e
}

.smile-lineup span:nth-child(3) {
    animation-delay: -.8s;
    background: #e7f0e8;
    color: #7b9b82
}

.smile-lineup span:nth-child(4) {
    animation-delay: -1.2s;
    background: #f4eddb;
    color: #b6a265
}

.smile-lineup span:last-child {
    animation-delay: -1.6s
}

.trust-stars {
    color: #efb926;
    font-size: 24px;
    letter-spacing: 4px;
    line-height: 1.2;
    margin: 2px 0 10px
}

.trust-service>b {
    font-size: 34px;
    font-weight: 750;
    letter-spacing: -.045em;
    line-height: 1.3;
    margin: 0 0 12px
}

.trust-reach {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 10px;
    color: #818799;
    letter-spacing: .04em;
    margin-bottom: 9px
}

.trust-reach i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #60b68c;
    box-shadow: 0 0 0 5px #60b68c0a;
    animation: reach-pulse 5s ease-in-out infinite
}

.trust-grid-decoration {
    position: absolute;
    inset: -43px -70px -32px;
    background-image: linear-gradient(#ccd8ea24 1px, transparent 1px), linear-gradient(90deg, #ccd8ea24 1px, transparent 1px);
    background-size: 45px 45px;
    mask-image: radial-gradient(ellipse, #0007, transparent 70%);
    z-index: -1
}

.micro-orbit {
    position: absolute;
    border: 1px solid #dfe7f2;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #fff;
    color: #6d91c8;
    display: grid;
    place-items: center;
    font-size: 32px;
    line-height: 1;
    box-shadow: 0 7px 20px #bdcce025;
    z-index: -1;
    animation: micro-float 9s ease-in-out infinite
}

.micro-search {
    left: -21px;
    top: 116px;
    rotate: -14deg
}

.micro-ai {
    right: -22px;
    top: 24px;
    color: #cead3e;
    animation-delay: -4s;
    rotate: 10deg
}

.micro-flow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin: 23px auto 0;
    font-size: 10px;
    color: #78818e
}

.micro-flow>span:not(.flow-connector) {
    display: flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap
}

.micro-flow>span:not(.flow-connector)>i {
    font-size: 15px;
    font-style: normal;
    color: #87a5d3
}

.flow-connector {
    height: 1px;
    width: 56px;
    background: #d4deec;
    position: relative;
    overflow: visible
}

.flow-connector i {
    position: absolute;
    left: 0;
    top: -2px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #91b5ea;
    animation: flow-travel 4s ease-in-out infinite
}

.flow-connector:nth-of-type(4) i {
    animation-delay: -2s
}

.home-trust-section .section-motion-bar {
    margin-top: 6px
}

.home-trust-section .section-motion-toggle {
    font-size: 9px;
    padding: 6px 10px;
    color: #909cac
}

.intro {
    padding: 80px 0 65px
}

.comparison-section {
    padding: 35px 0 65px
}

.comparison-heading {
    margin-bottom: 40px
}

.home-usecases {
    padding: 0 0 65px
}

.usecase-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px
}

.usecase-grid>article {
    border: 1px solid var(--border);
    border-radius: 11px;
    overflow: hidden;
    background: white
}

.usecase-visual {
    height: 175px;
    position: relative;
    overflow: hidden
}

.usecase-visual>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s
}

.usecase-grid>article:hover .usecase-visual>img {
    transform: scale(1.035)
}

.usecase-visual>span {
    position: absolute;
    bottom: 14px;
    left: 18px;
    font-size: 8px;
    letter-spacing: .07em;
    background: white;
    border-radius: 30px;
    padding: 6px 10px;
    color: #647286;
    font-weight: 600
}

.usecase-body {
    padding: 25px
}

.usecase-body h3 {
    font-size: 22px;
    line-height: 1.35
}

.usecase-body p {
    font-size: 12px;
    line-height: 1.8
}

.usecase-tags {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin: 18px 0
}

.usecase-tags>span {
    font-size: 8px;
    border: 1px solid #dde4ee;
    background: #f8fafe;
    color: #8595ae;
    padding: 4px 8px;
    border-radius: 30px
}

.usecase-body .textlink {
    font-size: 10px
}

.usecase-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-top: 26px;
    background: #f5f8fc;
    border: 1px solid #e3e9f2;
    border-radius: 9px;
    padding: 25px 28px
}

.usecase-footer h3 {
    font-size: 20px
}

.usecase-footer p {
    font-size: 11px;
    max-width: 550px;
    margin: 8px 0 0
}

.usecase-footer .actions {
    align-items: center;
    justify-content: end;
    gap: 20px;
    flex: none
}

.usecase-footer .btn {
    font-size: 11px;
    padding: 13px 18px;
    gap: 15px
}

.usecase-footer .textlink {
    font-size: 10px
}

.home-usecases+.clients-section {
    padding: 0 0 0
}

.home-usecases+.clients-section .section-head h2 {
    font-size: 35px
}

.home-usecases+.clients-section .section-head p {
    font-size: 12px
}

.home-usecases+.clients-section .client-logo-tile {
    min-height: 135px;
    padding: 22px 15px;
    gap: 13px
}

@keyframes smile-bob {

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

    40% {
        transform: translateY(-3px)
    }
}

@keyframes reach-pulse {

    0%,
    100% {
        box-shadow: 0 0 0 4px #60b68c09
    }

    50% {
        box-shadow: 0 0 0 7px #60b68c00
    }
}

@keyframes micro-float {

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

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

@keyframes flow-travel {
    0% {
        left: 0;
        opacity: 0
    }

    15% {
        opacity: 1
    }

    85% {
        opacity: 1
    }

    100% {
        left: 100%;
        opacity: 0
    }
}

@media(max-width:1000px) {
    .trust-stat {
        min-height: 188px
    }

    .trust-stat>b {
        font-size: 47px
    }

    .trust-service>b {
        font-size: 29px
    }

    .usecase-grid {
        gap: 18px
    }

    .usecase-body {
        padding: 20px
    }

    .usecase-body h3 {
        font-size: 20px
    }

    .usecase-footer {
        gap: 25px
    }

    .usecase-footer .actions {
        flex-direction: column;
        gap: 12px;
        align-items: start
    }
}

@media(max-width:800px) {
    .brand img {
        width: 160px;
        height: 32px
    }

    .home-trust-section {
        padding: 30px 0 22px
    }

    .trust-stat {
        padding: 22px 12px;
        min-height: 175px
    }

    .trust-stat>b {
        font-size: 43px
    }

    .trust-service>b {
        font-size: 25px
    }

    .trust-stars {
        font-size: 20px;
        letter-spacing: 2px
    }

    .trust-stat>span {
        font-size: 9px
    }

    .trust-stat>small {
        font-size: 8px
    }

    .smile-lineup span {
        width: 23px;
        height: 23px;
        font-size: 16px
    }

    .micro-orbit {
        width: 40px;
        height: 40px;
        font-size: 25px
    }

    .intro {
        padding: 55px 0 40px
    }

    .comparison-section {
        padding: 20px 0 45px
    }

    .usecase-grid {
        grid-template-columns: 1fr 1fr
    }

    .usecase-grid>article:last-child {
        grid-column: 1/-1
    }

    .usecase-grid>article:last-child .usecase-visual {
        height: 225px
    }

    .usecase-footer {
        flex-direction: column;
        align-items: start
    }

    .usecase-footer .actions {
        flex-direction: row;
        align-items: center
    }

    .home-usecases {
        padding-bottom: 50px
    }

    .home-usecases+.clients-section .section-head h2 {
        font-size: 32px
    }

    .home-usecases+.clients-section .client-logo-tile {
        min-height: 125px
    }
}

@media(max-width:500px) {
    .brand img {
        width: 148px;
        height: 30px
    }

    .home-trust-grid {
        grid-template-columns: 1fr;
        border-radius: 13px
    }

    .trust-stat {
        min-height: 137px;
        padding: 20px;
        border-right: 0;
        border-bottom: 1px solid #e5e8f1;
        gap: 5px
    }

    .trust-stat:last-child {
        border-bottom: 0
    }

    .trust-stat>b {
        font-size: 41px;
        margin: 1px 0 4px
    }

    .trust-service>b {
        font-size: 29px;
        margin-bottom: 8px
    }

    .trust-stat>span {
        font-size: 10px
    }

    .trust-stat>small {
        font-size: 9px
    }

    .trust-reach {
        font-size: 9px;
        margin-bottom: 4px
    }

    .trust-stars {
        font-size: 23px;
        letter-spacing: 3px;
        margin-bottom: 6px
    }

    .micro-search {
        left: -15px;
        top: 100px
    }

    .micro-ai {
        right: -12px;
        top: 260px
    }

    .micro-flow {
        gap: 8px;
        font-size: 8px
    }

    .micro-flow>span>i {
        font-size: 12px
    }

    .flow-connector {
        width: 17px
    }

    .smile-lineup {
        margin-bottom: 3px
    }

    .usecase-grid {
        grid-template-columns: 1fr
    }

    .usecase-visual,
    .usecase-grid>article:last-child .usecase-visual {
        height: 205px
    }

    .usecase-body {
        padding: 25px
    }

    .usecase-body h3 {
        font-size: 24px
    }

    .usecase-footer {
        padding: 23px
    }

    .usecase-footer .actions {
        flex-wrap: wrap;
        gap: 15px
    }

    .home-usecases+.clients-section .section-head h2 {
        font-size: 31px
    }

    .home-usecases+.clients-section .client-logo-tile {
        min-height: 117px
    }
}

@media(prefers-reduced-motion:reduce) {

    .smile-lineup span,
    .trust-reach i,
    .micro-orbit,
    .flow-connector i {
        animation: none !important
    }
}

/* Search-performance dashboard carousel inspired by the supplied reference. */
.gsc-proof-section {
    padding: 0 0 85px
}

.gsc-proof-heading {
    text-align: center;
    margin: 0 auto 28px;
    max-width: 800px
}

.gsc-proof-heading>.eyebrow {
    color: #6885b1
}

.gsc-proof-heading h2 {
    font-size: clamp(34px, 3.65vw, 49px);
    line-height: 1.16
}

.gsc-proof-heading p {
    font-size: 15px;
    margin-bottom: 0
}

.gsc-example-notice {
    border: 1px solid #e2e9f3;
    border-radius: 9px;
    padding: 13px 20px;
    background: #f8fafe;
    display: flex;
    gap: 15px;
    align-items: center;
    max-width: 980px;
    margin: 0 auto 25px
}

.gsc-example-notice p {
    font-size: 10px;
    line-height: 1.6;
    color: #7b8a9f;
    margin: 0
}

.gsc-example-notice .sample-badge {
    flex: none
}

.gsc-tabs {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 24px
}

.gsc-tabs>button {
    background: white;
    border: 1px solid var(--border);
    border-radius: 30px;
    padding: 11px 19px;
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 11px;
    color: var(--muted)
}

.gsc-tabs>button>span {
    font-size: 9px;
    color: #8e9db4
}

.gsc-tabs>button[aria-selected=true] {
    background: #161a33;
    border-color: #161a33;
    color: white
}

.gsc-tabs>button[aria-selected=true]>span {
    color: #b9ceee
}

.gsc-carousel {
    position: relative;
    max-width: 1080px;
    margin: auto;
    padding: 0 35px
}

.gsc-panel {
    border: 1px solid #e1e6ef;
    background: #fff;
    border-radius: 13px;
    box-shadow: 0 8px 28px -19px #17264324;
    overflow: hidden;
    animation: gsc-panel-enter .4s ease
}

.gsc-report-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 23px 28px
}

.gsc-report-source {
    font-size: 8px;
    letter-spacing: .11em;
    color: #98a1b3
}

.gsc-report-header h3 {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: -.025em;
    line-height: 1.3;
    margin-top: 5px
}

.gsc-report-header p {
    font-size: 10px;
    margin: 5px 0 0;
    color: #8892a5
}

.gsc-report-header>div:last-child {
    text-align: right
}

.gsc-sample-label {
    font-size: 9px;
    padding: 4px 8px;
    border: 1px solid #dfe4ec;
    color: #7f8fa8;
    background: #fafcfe;
    border-radius: 5px;
    display: inline-block
}

.gsc-report-header small {
    display: block;
    font-size: 9px;
    color: #97a0b1;
    margin-top: 7px
}

.gsc-kpis {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid #e3e7ef;
    border-bottom: 1px solid #e3e7ef
}

.gsc-kpi {
    padding: 22px 27px;
    background: white;
    text-align: left;
    border: 0;
    border-right: 1px solid #e3e7ef;
    color: #818b9c;
    transition: background .2s, color .2s
}

.gsc-kpi:last-child {
    border-right: 0
}

.gsc-kpi>span {
    font-size: 10px;
    display: flex;
    align-items: center;
    gap: 9px
}

.gsc-kpi>span>i {
    width: 13px;
    height: 13px;
    border: 1px solid #b3bac6;
    display: grid;
    place-items: center;
    line-height: 1;
    font-style: normal;
    font-size: 9px;
    border-radius: 3px;
    color: inherit;
    flex: none
}

.gsc-kpi>b {
    font-family: var(--font-site);
    display: block;
    font-size: 32px;
    line-height: 1.3;
    letter-spacing: -.04em;
    margin-top: 9px;
    font-weight: 600
}

.gsc-clicks.active {
    background: #3f80ef;
    color: white
}

.gsc-impressions.active {
    background: #255db0;
    color: white
}

.gsc-ctr.active {
    background: #238875;
    color: white
}

.gsc-position.active {
    background: #dd7c21;
    color: white
}

.gsc-kpi.active>span>i {
    border-color: #ffffffb5
}

.gsc-kpi:hover:not(.active) {
    background: #f5f7fb
}

.gsc-chart-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 23px 28px 0;
    gap: 15px
}

.gsc-chart-legend {
    display: flex;
    gap: 22px;
    font-size: 10px;
    line-height: 1.4
}

.gsc-chart-legend>span:before {
    content: '';
    display: inline-block;
    width: 14px;
    height: 2px;
    margin-right: 6px;
    vertical-align: middle;
    background: var(--series-color, #3f80ef)
}

.legend-clicks {
    color: #3f80ef;
    --series-color: #3f80ef
}

.legend-impressions {
    color: #255db0;
    --series-color: #255db0
}

.legend-ctr {
    color: #238875;
    --series-color: #238875
}

.legend-position {
    color: #dd7c21;
    --series-color: #dd7c21
}

.gsc-reset-chart {
    font-size: 9px;
    border: 0;
    background: none;
    color: #929cab;
    padding: 4px 0
}

.gsc-reset-chart:hover {
    color: #5883c4
}

.gsc-chart-wrap {
    padding: 5px 15px 7px;
    overflow: hidden
}

.gsc-chart-svg {
    width: 100%;
    height: auto;
    display: block
}

.gsc-chart-svg text {
    font-family: var(--font-site);
    font-size: 11px;
    fill: #8490a4
}

.gsc-chart-svg .gsc-annotation-label {
    font-weight: 600;
    fill: #758fb7;
    font-size: 11px
}

.gsc-report-footer {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 14px 25px;
    border-top: 1px solid #eceef4;
    color: #9ca3ad;
    font-size: 8px;
    background: #fdfeff
}

.gsc-arrow {
    position: absolute;
    top: 56%;
    width: 42px;
    height: 42px;
    border: 1px solid #e4e7ee;
    border-radius: 50%;
    background: #fffffff5;
    box-shadow: 0 7px 20px #1a254012;
    color: #68758a;
    display: grid;
    place-items: center;
    font-size: 32px;
    line-height: 1;
    z-index: 2;
    padding: 0;
    transition: background .2s, transform .2s
}

.gsc-arrow:hover {
    color: #5373a4;
    background: #f5f9fe;
    transform: scale(1.06)
}

.gsc-prev {
    left: 14px
}

.gsc-next {
    right: 14px
}

.gsc-pagination {
    max-width: 980px;
    margin: 17px auto 0;
    display: flex;
    justify-content: space-between;
    font-size: 9px;
    color: #929ba7;
    padding: 0 2px
}

.gsc-pagination>span:first-child {
    color: #6d88b0;
    font-weight: 700;
    letter-spacing: .1em
}

.gsc-next-step {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 22px;
    margin-top: 25px
}

.gsc-next-step>p {
    font-size: 12px;
    margin: 0
}

.gsc-next-step .btn {
    font-size: 11px;
    padding: 13px 19px;
    gap: 15px
}

@keyframes gsc-panel-enter {
    from {
        opacity: 0;
        transform: translateY(6px)
    }

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

@media(max-width:800px) {
    .gsc-proof-section {
        padding-bottom: 65px
    }

    .gsc-carousel {
        padding: 0 22px
    }

    .gsc-prev {
        left: 2px
    }

    .gsc-next {
        right: 2px
    }

    .gsc-arrow {
        width: 37px;
        height: 37px;
        font-size: 28px
    }

    .gsc-report-header {
        padding: 20px
    }

    .gsc-kpi {
        padding: 18px
    }

    .gsc-kpi>b {
        font-size: 27px
    }

    .gsc-kpi>span {
        font-size: 9px;
        gap: 6px
    }

    .gsc-chart-toolbar {
        padding: 20px 20px 0
    }

    .gsc-chart-legend {
        gap: 15px;
        font-size: 9px
    }

    .gsc-report-footer {
        padding: 12px 18px;
        font-size: 7px
    }

    .gsc-tabs {
        gap: 8px
    }

    .gsc-tabs>button {
        padding: 10px 15px;
        font-size: 10px
    }

    .gsc-example-notice {
        padding: 12px 16px
    }

    .gsc-next-step {
        gap: 15px
    }
}

@media(max-width:500px) {
    .gsc-proof-heading h2 {
        font-size: 32px
    }

    .gsc-proof-heading p {
        font-size: 12px
    }

    .gsc-example-notice {
        flex-direction: column;
        align-items: start;
        gap: 8px;
        padding: 13px 16px
    }

    .gsc-example-notice p {
        font-size: 9px
    }

    .gsc-tabs {
        gap: 6px
    }

    .gsc-tabs>button {
        padding: 9px 11px;
        font-size: 9px;
        gap: 6px
    }

    .gsc-tabs>button>span {
        font-size: 7px
    }

    .gsc-carousel {
        padding: 0 8px
    }

    .gsc-arrow {
        width: 31px;
        height: 31px;
        font-size: 24px;
        top: 62%
    }

    .gsc-prev {
        left: -6px
    }

    .gsc-next {
        right: -6px
    }

    .gsc-report-header {
        padding: 17px 14px;
        gap: 12px
    }

    .gsc-report-header h3 {
        font-size: 17px
    }

    .gsc-report-header p {
        font-size: 8px
    }

    .gsc-report-source {
        font-size: 6px;
        letter-spacing: .06em
    }

    .gsc-report-header small {
        font-size: 7px
    }

    .gsc-sample-label {
        font-size: 7px
    }

    .gsc-kpis {
        grid-template-columns: repeat(2, 1fr)
    }

    .gsc-kpi {
        padding: 16px 17px;
        border-bottom: 1px solid #e3e7ef
    }

    .gsc-kpi:nth-child(2) {
        border-right: 0
    }

    .gsc-kpi:nth-child(n+3) {
        border-bottom: 0
    }

    .gsc-kpi>b {
        font-size: 29px;
        margin-top: 7px
    }

    .gsc-kpi>span {
        font-size: 9px;
        gap: 7px
    }

    .gsc-chart-wrap {
        overflow: auto;
        padding: 5px 5px 3px
    }

    .gsc-chart-svg {
        min-width: 640px
    }

    .gsc-chart-toolbar {
        padding: 15px 15px 0;
        flex-wrap: wrap;
        gap: 7px
    }

    .gsc-reset-chart {
        font-size: 8px
    }

    .gsc-chart-legend {
        font-size: 8px
    }

    .gsc-report-footer {
        font-size: 7px;
        padding: 12px;
        flex-direction: column;
        gap: 5px
    }

    .gsc-pagination {
        font-size: 8px;
        gap: 15px
    }

    .gsc-next-step {
        flex-direction: column;
        gap: 12px
    }

    .gsc-next-step>p {
        font-size: 11px
    }
}

@media(prefers-reduced-motion:reduce) {
    .gsc-panel {
        animation: none !important
    }
}

/* Lightweight industry icon cards replace the homepage industry photography. */
.industry-icon-grid {
    gap: 20px
}

.industry-icon-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: start;
    border: 1px solid #e2e7ef;
    border-radius: 10px;
    background: #fff;
    padding: 26px 22px 24px;
    min-height: 225px;
    box-shadow: 0 10px 28px -23px #6b82a233;
    transition: border-color .25s, box-shadow .25s, transform .25s
}

.industry-icon-card:hover {
    border-color: #b4c8e6;
    box-shadow: 0 14px 30px -22px #6b82a24a;
    transform: translateY(-3px)
}

.industry-icon-wrap {
    width: 71px;
    height: 71px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: linear-gradient(135deg, #f1f6fe, #f2f5fa);
    margin-bottom: 21px
}

.industry-animated-svg {
    width: 59px;
    height: 59px;
    animation: industry-icon-float 6s var(--icon-delay) ease-in-out infinite
}

.industry-icon-accent {
    animation: industry-accent-glow 5s var(--icon-delay) ease-in-out infinite
}

.industry-icon-card h3 {
    font-size: 19px;
    letter-spacing: -.025em;
    line-height: 1.25;
    padding-right: 12px;
    color: var(--ink)
}

.industry-icon-card p {
    font-size: 11px;
    line-height: 1.7;
    margin: 12px 0 0;
    color: #808398
}

.industry-icon-link {
    position: absolute;
    top: 23px;
    right: 22px;
    color: #a4b6d0;
    font-size: 18px;
    transition: transform .2s, color .2s
}

.industry-icon-card:hover .industry-icon-link {
    color: #6687b9;
    transform: translate(2px, -2px)
}

.industry-icon-card:hover .industry-icon-wrap {
    background: linear-gradient(135deg, #ecf2fc, #f1f5fa)
}

.industries-section .section-motion-bar {
    margin-top: 20px
}

.services-section .card>.service-brand-visual {
    height: 178px;
    width: 100%;
    padding: 22px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border-bottom: 1px solid #edf0f5;
    background: linear-gradient(145deg, #fff, #f3f4fc)
}

.service-brand-visual>img {
    width: 80px;
    height: 80px;
    object-fit: contain
}

.service-brand-visual>span {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .015em;
    color: #778199
}

.service-brand-visual.brand-meta>img {
    width: 165px;
    height: 56px
}

.services-section .card>.brand-meta {
    background: linear-gradient(145deg, #fff, #eef4fd)
}

.services-section .card>.brand-gbp {
    background: linear-gradient(145deg, #fff, #f1f6fc)
}

.services-section .card>.brand-google-ads {
    background: linear-gradient(145deg, #fff, #fcfaf3)
}

.services-section .card>.brand-performance {
    padding: 0;
    background: #f3f7fd
}

.service-brand-visual.brand-performance>img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

/* Client logos: theme-friendly monochrome, original colour on hover or focus. */
.client-logo-marquee {
    overflow: hidden;
    position: relative;
    padding: 27px 0;
    border-top: 1px solid #e4e8ef;
    border-bottom: 1px solid #e4e8ef;
    mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent)
}

.client-logo-track {
    width: max-content;
    display: flex;
    align-items: center;
    animation: client-logo-scroll 42s linear infinite
}

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

.logo-scroll-link {
    width: 160px;
    height: 75px;
    display: grid;
    place-items: center;
    padding: 10px 3px;
    flex: none;
    transition: transform .25s
}

.logo-scroll-link>img {
    width: 155px;
    height: 56px;
    object-fit: contain;
    filter: grayscale(1);
    opacity: .63;
    transition: filter .3s, opacity .3s, transform .3s
}

.logo-scroll-link:hover>img,
.logo-scroll-link:focus-visible>img {
    filter: grayscale(0);
    opacity: 1;
    transform: scale(1.035)
}

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

.client-logo-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-top: 8px;
    color: #9aa2ad;
    font-size: 9px
}

.client-logo-controls .section-motion-toggle {
    font-size: 9px
}

@keyframes industry-icon-float {

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

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

@keyframes industry-accent-glow {

    0%,
    100% {
        opacity: .6
    }

    45%,
    65% {
        opacity: 1
    }
}

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

@media(max-width:800px) {
    .industry-icon-card {
        padding: 23px 19px;
        min-height: 217px
    }

    .industry-icon-card h3 {
        font-size: 19px
    }

    .industry-icon-wrap {
        width: 65px;
        height: 65px;
        margin-bottom: 18px
    }

    .industry-animated-svg {
        width: 55px;
        height: 55px
    }

    .industry-icon-card p {
        font-size: 11px
    }

    .logo-scroll-group {
        gap: 35px;
        padding-right: 35px
    }

    .logo-scroll-link {
        width: 145px
    }

    .logo-scroll-link>img {
        width: 138px;
        height: 50px
    }

    .client-logo-marquee {
        padding: 22px 0
    }

    .client-logo-controls {
        font-size: 8px
    }
}

@media(max-width:500px) {
    .industry-icon-grid {
        grid-template-columns: 1fr 1fr;
        gap: 12px
    }

    .industry-icon-card {
        padding: 20px 15px;
        min-height: 229px
    }

    .industry-icon-card h3 {
        font-size: 17px;
        line-height: 1.3
    }

    .industry-icon-card p {
        font-size: 10px;
        line-height: 1.75;
        margin-top: 10px
    }

    .industry-icon-wrap {
        width: 60px;
        height: 60px;
        margin-bottom: 17px;
        border-radius: 13px
    }

    .industry-animated-svg {
        width: 50px;
        height: 50px
    }

    .industry-icon-link {
        top: 17px;
        right: 14px;
        font-size: 15px
    }

    .services-section .card>.service-brand-visual {
        height: 205px
    }

    .service-brand-visual>img {
        width: 89px;
        height: 89px
    }

    .service-brand-visual.brand-meta>img {
        width: 177px;
        height: 63px
    }

    .logo-scroll-group {
        gap: 26px;
        padding-right: 26px
    }

    .logo-scroll-link {
        width: 135px;
        height: 64px
    }

    .logo-scroll-link>img {
        width: 130px;
        height: 48px
    }

    .client-logo-marquee {
        padding: 16px 0
    }

    .client-logo-controls {
        gap: 12px;
        align-items: start
    }

    .client-logo-controls>span {
        max-width: 175px;
        line-height: 1.7
    }

    .client-logo-controls .section-motion-toggle {
        font-size: 8px;
        padding: 3px 5px
    }

    .client-logo-track {
        animation-duration: 38s
    }
}

@media(prefers-reduced-motion:reduce) {

    .industry-animated-svg,
    .industry-icon-accent,
    .client-logo-track {
        animation: none !important
    }

    .logo-scroll-duplicate {
        display: none
    }

    .client-logo-marquee {
        overflow-x: auto;
        mask-image: none
    }

    .logo-scroll-link>img {
        transition: none
    }

    .logo-scroll-group {
        padding-right: 0
    }
}

.industry-icon-card p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden
}

/* Service-page experiences: focused content, interactive workflow and package choices. */
.service-hero {
    background: linear-gradient(120deg, #f8fbff, #fff 58%, #faf7ee);
    overflow: hidden;
    border-bottom: 1px solid #ebeff4
}

.service-hero-inner {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 80px;
    align-items: center;
    padding: 58px 0 65px
}

.service-hero .breadcrumb {
    margin-bottom: 24px;
    font-size: 10px
}

.service-hero .eyebrow {
    color: #758db2;
    font-size: 10px
}

.service-hero h1 {
    font-size: clamp(38px, 4.4vw, 61px);
    line-height: 1.12;
    letter-spacing: -.052em
}

.service-hero p {
    font-size: 16px;
    line-height: 1.85;
    max-width: 630px;
    margin: 24px 0 28px
}

.service-hero .btn {
    font-size: 12px;
    gap: 20px;
    padding: 16px 22px
}

.service-trust-notes {
    display: flex;
    gap: 17px;
    flex-wrap: wrap;
    color: #919cac;
    font-size: 9px;
    margin-top: 23px
}

.service-hero-stage {
    position: relative;
    min-height: 360px;
    display: flex;
    align-items: center;
    justify-content: center;
    isolation: isolate
}

.service-stage-orbit {
    position: absolute;
    inset: 0 -10px;
    border: 1px solid #d5dfee66;
    border-radius: 50%;
    transform: rotate(-15deg);
    z-index: -1
}

.service-stage-orbit:after {
    content: '';
    position: absolute;
    inset: 35px -13px;
    border: 1px solid #d5dfee44;
    border-radius: 50%;
    transform: rotate(26deg)
}

.service-stage-label {
    position: absolute;
    top: 0;
    left: 28px;
    color: #8a9cb8;
    font-size: 8px;
    letter-spacing: .12em
}

.service-stage-main {
    width: 88%;
    background: white;
    border: 1px solid #dfe6f0;
    border-radius: 13px;
    padding: 15px;
    box-shadow: 0 25px 45px -25px #60749030
}

.service-stage-photo {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 7px
}

.service-stage-brand {
    width: 100%;
    height: 170px;
    object-fit: contain;
    background: #fbfdff;
    border-radius: 7px;
    padding: 25px
}

.service-stage-bottom {
    padding: 17px 8px 6px
}

.service-stage-bottom>span {
    font-size: 9px;
    color: #909daf;
    display: block
}

.service-stage-bottom>b {
    font-family: var(--font-site);
    font-size: 16px;
    font-weight: 650;
    display: block;
    margin-top: 6px;
    letter-spacing: -.02em
}

.service-stage-pill {
    position: absolute;
    background: #fff;
    border: 1px solid #e0e6ef;
    border-radius: 30px;
    box-shadow: 0 10px 25px #62748e10;
    padding: 11px 16px;
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 10px;
    color: #687588
}

.service-stage-pill>span {
    font-size: 18px;
    color: #8da7ce;
    line-height: 1
}

.pill-top {
    top: 32px;
    right: 0
}

.pill-side {
    bottom: 18px;
    left: -15px
}

.service-stage-mini {
    position: absolute;
    right: -9px;
    bottom: 5px;
    border: 1px solid #e1e7ef;
    border-radius: 9px;
    padding: 14px 16px;
    background: linear-gradient(140deg, #f7faff, #fff);
    box-shadow: 0 10px 25px #62748e10
}

.service-stage-mini>span {
    font-size: 7px;
    letter-spacing: .08em;
    color: #8294ae
}

.service-stage-mini>div {
    display: flex;
    gap: 5px;
    margin: 8px 0;
    align-items: end;
    height: 30px
}

.service-stage-mini i {
    width: 26px;
    height: 12px;
    background: #c8d7ee;
    border-radius: 3px
}

.service-stage-mini i:nth-child(2) {
    height: 21px;
    background: #a2b8d8
}

.service-stage-mini i:last-child {
    height: 30px;
    background: #b5a369
}

.service-stage-mini>small {
    font-size: 7px;
    color: #9ba2ac
}

.service-subnav {
    position: sticky;
    top: 94px;
    z-index: 12;
    background: #fffffff2;
    backdrop-filter: blur(12px);
    border-bottom: 1px solid #e5e9f0
}

.service-subnav>.wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    min-height: 66px
}

.service-subnav nav {
    display: flex;
    position: static;
    padding: 0;
    border: 0;
    background: none;
    max-height: none;
    overflow: visible;
    gap: 25px;
    font-size: 11px
}

.service-subnav nav>a {
    color: #838e9e
}

.service-subnav nav>a:hover {
    color: #527cba
}

.service-subnav .btn {
    padding: 12px 17px;
    font-size: 10px;
    gap: 20px
}

.service-experience section[id] {
    scroll-margin-top: 170px
}

.service-included {
    padding: 80px 0
}

.service-included .section-head>p {
    max-width: 370px;
    font-size: 13px
}

.service-capability-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px
}

.service-capability-grid>article {
    padding: 26px;
    border: 1px solid #e0e6ee;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 12px 25px -25px #434f6144
}

.capability-index {
    font-size: 9px;
    letter-spacing: .08em;
    color: #99aac4;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 26px
}

.capability-index i {
    font-size: 20px;
    font-style: normal;
    color: #abbad0
}

.service-capability-grid h3 {
    font-size: 20px;
    line-height: 1.35
}

.service-capability-grid p {
    font-size: 12px;
    line-height: 1.8;
    margin: 14px 0 0
}

.service-capability-grid a {
    color: #7086a7;
    text-decoration: underline;
    text-underline-offset: 3px
}

.service-workflow {
    background: #101a28;
    color: white;
    padding: 75px 0;
    overflow: hidden
}

.service-workflow .eyebrow {
    color: #a3b9da
}

.service-workflow .section-head p {
    color: #a2aec0;
    font-size: 13px
}

.workflow-layout {
    display: grid;
    grid-template-columns: 1fr 1.45fr;
    gap: 50px;
    align-items: start
}

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

.workflow-tabs>button {
    position: relative;
    display: flex;
    gap: 17px;
    align-items: center;
    text-align: left;
    padding: 17px 20px;
    border: 1px solid #ffffff0c;
    border-radius: 8px;
    background: #ffffff02;
    color: #96a3b5;
    transition: background .25s, border-color .25s, color .25s
}

.workflow-tabs>button>span {
    font-size: 10px;
    letter-spacing: .09em;
    width: 28px;
    flex: none;
    color: #8da4c6
}

.workflow-tabs>button>b {
    font-family: var(--font-site);
    font-size: 13px;
    line-height: 1.5;
    font-weight: 550;
    letter-spacing: -.02em
}

.workflow-tabs>button>i {
    margin-left: auto;
    opacity: 0;
    font-size: 19px;
    font-style: normal;
    color: #d9c297
}

.workflow-tabs>button[aria-selected=true] {
    border-color: #8babd844;
    background: linear-gradient(110deg, #8eb0df12, #ffffff04);
    color: #fff
}

.workflow-tabs>button[aria-selected=true]>i {
    opacity: 1
}

.workflow-tabs>button[aria-selected=true]>span {
    color: #dcc99c
}

.workflow-view {
    border: 1px solid #97b2d832;
    border-radius: 13px;
    padding: 28px 35px;
    background: linear-gradient(135deg, #ffffff09, #ffffff02);
    min-height: 422px;
    box-shadow: 0 25px 70px -30px #0004
}

.workflow-panel {
    animation: none;
    opacity: 1;
    transform: none
}

.workflow-illustration {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    height: 145px;
    margin-bottom: 27px
}

.workflow-visual-node {
    border: 1px solid #b2c9ea40;
    border-radius: 10px;
    background: #ffffff06;
    font-size: 10px;
    letter-spacing: .04em;
    color: #c5d2e6;
    padding: 17px 20px;
    position: relative;
    z-index: 2
}

.workflow-visual-center {
    width: 58%;
    max-width: 240px;
    position: relative;
    height: 130px
}

.workflow-visual-center>svg {
    width: 100%;
    height: 100%;
    display: block
}

.workflow-visual-center>span {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: 40px;
    height: 40px;
    border: 1px solid #9bb6dd55;
    background: #1c293c;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #e3d3a8;
    font-family: var(--font-site);
    font-size: 14px;
    box-shadow: 0 0 20px #88b0e822
}

.workflow-route {
    stroke-dasharray: 350;
    stroke-dashoffset: 350;
    animation: workflow-route-draw 3s ease-in-out infinite
}

.workflow-signal {
    animation: workflow-signal-pulse 2.5s ease-in-out infinite;
    transform-origin: 120px 20px
}

.workflow-step-label {
    font-size: 8px;
    letter-spacing: .12em;
    color: #a4bada
}

.workflow-panel h3 {
    font-size: 30px;
    line-height: 1.25;
    letter-spacing: -.04em;
    margin-top: 12px
}

.workflow-panel p {
    font-size: 13px;
    color: #acb7c8;
    line-height: 1.85;
    min-height: 48px;
    margin: 17px 0 23px
}

.workflow-deliverable {
    padding: 17px 19px;
    border-left: 2px solid #a0bae2;
    background: #ffffff05;
    border-radius: 0 6px 6px 0
}

.workflow-deliverable>span {
    display: block;
    font-size: 7px;
    letter-spacing: .13em;
    color: #95a6bf;
    margin-bottom: 7px
}

.workflow-deliverable>b {
    font-size: 12px;
    font-weight: 550;
    line-height: 1.6;
    color: #dae2ee;
    display: block
}

.workflow-controls {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-top: 24px;
    padding-top: 19px;
    border-top: 1px solid #ffffff12
}

.workflow-controls>button {
    background: none;
    border: 1px solid #aabfdd25;
    color: #bbc9df;
    border-radius: 5px;
    padding: 8px 12px;
    font-size: 12px
}

.workflow-controls>.workflow-play {
    margin-left: auto;
    border: 0;
    padding: 8px 0;
    color: #8c9baf;
    font-size: 9px
}

.workflow-count {
    font-size: 9px;
    color: #91a3bd;
    letter-spacing: .07em
}

.service-workflow.workflow-motion-paused .workflow-route,
.service-workflow.workflow-motion-paused .workflow-traveller,
.service-workflow.workflow-motion-paused .workflow-progress>i {
    animation-play-state: paused !important
}

.service-packages {
    padding: 85px 0
}

.package-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    align-items: stretch
}

.package-card {
    position: relative;
    display: flex;
    flex-direction: column;
    border: 1px solid #dce2ec;
    border-radius: 13px;
    padding: 30px 27px;
    background: white;
    box-shadow: 0 12px 28px -28px #606e8255;
    transition: transform .25s, box-shadow .25s, border-color .25s;
    overflow: hidden
}

.package-card:hover {
    transform: translateY(-5px);
    border-color: #aabfdf;
    box-shadow: 0 20px 35px -25px #6682aa55
}

.package-featured {
    background: linear-gradient(145deg, #f3f8ff, #fff 55%, #fffdf5);
    border-color: #a4b8d7;
    box-shadow: 0 16px 35px -22px #839fc642
}

.package-featured:before {
    content: '';
    height: 3px;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    background: linear-gradient(90deg, #7ba2d9, #739bd7, #dbc274);
    background-size: 180% 100%;
    animation: package-sheen 8s ease-in-out infinite
}

.package-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px
}

.package-topline>span {
    font-size: 7px;
    letter-spacing: .12em;
    color: #99a8bf;
    font-weight: 650
}

.package-topline>i {
    font-style: normal;
    color: #a6b9d5;
    font-size: 25px;
    line-height: 1
}

.package-card h3 {
    font-size: 25px;
    line-height: 1.25;
    min-height: 63px
}

.package-fit {
    font-size: 12px;
    line-height: 1.7;
    min-height: 42px;
    margin: 14px 0 23px
}

.package-price {
    padding-bottom: 24px;
    border-bottom: 1px solid #e1e7ef
}

.package-price>b {
    font-family: var(--font-site);
    font-size: 21px;
    letter-spacing: -.04em;
    color: #434f61;
    font-weight: 650;
    display: block
}

.package-price>span {
    display: block;
    font-size: 9px;
    color: #98a1ae;
    margin-top: 6px
}

.package-card>ul {
    padding: 0;
    list-style: none;
    margin: 24px 0 28px
}

.package-card li {
    display: flex;
    align-items: start;
    gap: 10px;
    font-size: 11px;
    line-height: 1.7;
    color: #7a8493;
    margin-bottom: 12px
}

.package-card li>span {
    flex: none;
    color: #9aafce;
    font-size: 11px
}

.package-card li>a {
    color: #7086a7;
    text-decoration: underline
}

.package-cta {
    margin-top: auto
}

.package-cta>.btn {
    width: fit-content;
    font-size: 11px;
    padding: 15px 17px;
    gap: 15px;
    min-height: 49px
}

.package-featured .package-cta>.btn {
    background: #527cbb;
    border-color: #527cbb
}

.package-footnote {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 35px;
    margin-top: 25px;
    color: #9ba2ad;
    font-size: 10px
}

.package-footnote>span {
    max-width: 670px
}

.package-footnote>a {
    color: #6b83a7;
    white-space: nowrap
}

.service-depth {
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    gap: 85px;
    padding: 0 0 80px;
    align-items: start
}

.service-depth-intro {
    position: sticky;
    top: 188px
}

.service-depth-intro>p {
    font-size: 14px
}

.service-depth-intro .btn {
    font-size: 11px;
    padding: 14px 18px;
    gap: 17px
}

.service-depth-details>details {
    border-bottom: 1px solid #dce2ec;
    padding: 20px 0
}

.service-depth-details>details:first-child {
    padding-top: 0
}

.service-depth-details summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    cursor: pointer;
    font-family: var(--font-site);
    font-size: 18px;
    font-weight: 650;
    letter-spacing: -.025em;
    line-height: 1.4
}

.service-depth-details summary::-webkit-details-marker {
    display: none
}

.service-depth-details summary>span {
    font-family: var(--font-site);
    font-weight: 400;
    color: #a1b4d1;
    font-size: 22px
}

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

.service-depth-details p {
    font-size: 13px;
    line-height: 1.85;
    margin: 15px 0
}

.service-depth-details h3 {
    font-size: 18px;
    margin-top: 20px
}

.service-depth-details a {
    color: #758db0;
    text-decoration: underline;
    text-underline-offset: 3px
}

.service-experience .service-results {
    padding: 15px 0 80px
}

.agency-proof-note {
    border: 1px solid #dce2ec;
    border-radius: 10px;
    background: #f5f8fd;
    padding: 28px
}

.agency-proof-note h3 {
    font-size: 23px
}

.agency-proof-note p {
    font-size: 14px;
    margin-bottom: 0
}

.service-faq {
    display: grid;
    grid-template-columns: 1fr 1.25fr;
    gap: 85px;
    padding: 20px 0 85px
}

.service-faq>.btn {
    margin-top: 20px
}

.service-faq .btn {
    font-size: 11px;
    padding: 14px 18px;
    margin-top: 25px;
    gap: 18px
}

.service-faq details {
    border-bottom: 1px solid #dce2ec;
    padding: 19px 0
}

.service-faq summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    list-style: none;
    cursor: pointer;
    font-size: 13px;
    font-weight: 550;
    line-height: 1.65
}

.service-faq summary::-webkit-details-marker {
    display: none
}

.service-faq summary>span {
    color: #95a8c5;
    font-size: 22px;
    font-weight: 400
}

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

.service-faq details p {
    font-size: 12px;
    line-height: 1.9;
    margin: 15px 15px 0 0
}

.service-final-cta {
    padding: 70px 0 80px;
    background: radial-gradient(ellipse at 80% 100%, #41577533, transparent 55%), #101926;
    color: white;
    text-align: center
}

.service-final-cta .eyebrow {
    color: #9bafcd
}

.service-final-cta h2 {
    font-size: clamp(34px, 4.1vw, 56px);
    line-height: 1.15
}

.service-final-cta p {
    font-size: 14px;
    max-width: 620px;
    color: #a1adbd;
    margin: 22px auto 30px
}

.service-final-cta .actions {
    justify-content: center
}

.service-final-cta .btn {
    font-size: 12px;
    padding: 16px 24px
}

.service-plan-selection {
    border: 1px solid #d4ddeb;
    border-radius: 7px;
    background: #eff4fb;
    padding: 12px 15px;
    margin-bottom: 18px;
    font-size: 11px;
    color: #687e9e
}

@keyframes workflow-panel-enter {
    from {
        opacity: 0;
        transform: translateY(5px)
    }

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

@keyframes workflow-route-draw {
    0% {
        stroke-dashoffset: 350;
        opacity: .3
    }

    45%,
    80% {
        stroke-dashoffset: 0;
        opacity: 1
    }

    100% {
        stroke-dashoffset: 0;
        opacity: .3
    }
}

@keyframes workflow-signal-pulse {

    0%,
    100% {
        opacity: .55;
        transform: scale(.8)
    }

    50% {
        opacity: 1;
        transform: scale(1.15)
    }
}

@keyframes package-sheen {

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

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

@media(max-width:1100px) {
    .service-hero-inner {
        gap: 45px
    }

    .service-hero h1 {
        font-size: 49px
    }

    .service-subnav nav {
        gap: 18px;
        font-size: 10px
    }

    .workflow-layout {
        gap: 30px
    }

    .workflow-view {
        padding: 25px
    }

    .package-card {
        padding: 25px 21px
    }

    .package-card h3 {
        font-size: 23px
    }

    .package-card li {
        font-size: 10px
    }

    .package-cta>.btn {
        font-size: 10px
    }

    .service-depth,
    .service-faq {
        gap: 50px
    }

    .service-included .section-head>p {
        max-width: 330px
    }
}

@media(max-width:800px) {
    .service-hero-inner {
        grid-template-columns: 1fr;
        padding: 40px 0 45px;
        gap: 35px
    }

    .service-hero h1 {
        font-size: 48px;
        max-width: 620px
    }

    .service-hero p {
        font-size: 15px
    }

    .service-hero-stage {
        max-width: 540px;
        width: 100%;
        justify-self: center;
        min-height: 330px
    }

    .service-subnav {
        top: 78px
    }

    .service-subnav>.wrap {
        min-height: 53px;
        gap: 15px
    }

    .service-subnav nav {
        display: flex;
        position: static;
        flex-direction: row;
        gap: 19px;
        padding: 0;
        max-height: none;
        overflow-x: auto;
        background: none;
        border: 0;
        font-size: 10px;
        white-space: nowrap;
        align-items: center
    }

    .service-subnav .btn {
        display: none
    }

    .service-experience section[id] {
        scroll-margin-top: 145px
    }

    .service-included {
        padding: 60px 0
    }

    .service-capability-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px
    }

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

    .service-capability-grid h3 {
        font-size: 19px
    }

    .service-workflow {
        padding: 60px 0
    }

    .workflow-layout {
        grid-template-columns: 1fr;
        gap: 25px
    }

    .workflow-tabs {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px
    }

    .workflow-tabs>button {
        padding: 15px;
        gap: 10px
    }

    .workflow-tabs>button>b {
        font-size: 12px
    }

    .workflow-view {
        min-height: 0;
        padding: 27px
    }

    .workflow-illustration {
        height: 125px;
        margin-bottom: 20px
    }

    .workflow-panel p {
        min-height: 0
    }

    .service-packages {
        padding: 60px 0
    }

    .package-grid {
        grid-template-columns: 1fr;
        gap: 22px
    }

    .package-card {
        padding: 30px
    }

    .package-card h3 {
        min-height: 0;
        font-size: 28px
    }

    .package-fit {
        min-height: 0;
        margin-bottom: 20px
    }

    .package-card>ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0 25px
    }

    .package-card li {
        font-size: 12px;
        margin-bottom: 12px
    }

    .package-cta>.btn {
        font-size: 12px;
        width: fit-content;
        min-width: 0
    }

    .package-footnote {
        flex-direction: column;
        gap: 12px
    }

    .service-depth {
        grid-template-columns: 1fr;
        gap: 30px;
        padding-bottom: 60px
    }

    .service-depth-intro {
        position: static
    }

    .service-depth-details summary {
        font-size: 19px
    }

    .service-experience .service-results {
        padding-bottom: 60px
    }

    .service-faq {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 0 0 60px
    }

    .service-final-cta {
        padding: 60px 0 70px
    }
}

@media(max-width:500px) {
    .service-hero h1 {
        font-size: 39px
    }

    .service-hero p {
        font-size: 14px
    }

    .service-hero .btn {
        font-size: 11px;
        padding: 14px 17px;
        gap: 12px
    }

    .service-trust-notes {
        gap: 12px;
        font-size: 8px
    }

    .service-hero-stage {
        min-height: 315px
    }

    .service-stage-main {
        width: 91%;
        padding: 12px
    }

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

    .service-stage-brand {
        height: 160px;
        padding: 25px
    }

    .service-stage-bottom>b {
        font-size: 15px
    }

    .service-stage-pill {
        padding: 9px 13px;
        font-size: 8px;
        gap: 8px
    }

    .pill-top {
        top: 25px;
        right: 0
    }

    .pill-side {
        bottom: 6px;
        left: 0
    }

    .service-stage-mini {
        right: 0;
        bottom: -4px;
        padding: 12px
    }

    .service-stage-mini i {
        width: 20px
    }

    .service-stage-label {
        left: 15px;
        font-size: 7px
    }

    .service-subnav nav {
        gap: 20px;
        padding: 2px 0;
        font-size: 9px
    }

    .service-capability-grid {
        grid-template-columns: 1fr
    }

    .service-capability-grid>article {
        padding: 24px
    }

    .capability-index {
        margin-bottom: 19px
    }

    .service-capability-grid h3 {
        font-size: 23px
    }

    .service-included .section-head>p {
        font-size: 12px
    }

    .workflow-tabs>button {
        padding: 13px 10px;
        gap: 7px
    }

    .workflow-tabs>button>span {
        font-size: 8px;
        width: 18px
    }

    .workflow-tabs>button>b {
        font-size: 10px;
        line-height: 1.6
    }

    .workflow-tabs>button>i {
        font-size: 14px
    }

    .workflow-view {
        padding: 23px 20px
    }

    .workflow-illustration {
        height: 100px;
        margin-bottom: 22px
    }

    .workflow-visual-node {
        padding: 12px 13px;
        font-size: 8px
    }

    .workflow-visual-center {
        height: 100px;
        max-width: 180px
    }

    .workflow-visual-center>span {
        width: 32px;
        height: 32px;
        font-size: 11px
    }

    .workflow-panel h3 {
        font-size: 28px
    }

    .workflow-panel p {
        font-size: 12px
    }

    .workflow-deliverable {
        padding: 15px 17px
    }

    .workflow-deliverable>b {
        font-size: 11px
    }

    .workflow-controls {
        gap: 10px
    }

    .workflow-controls>.workflow-play {
        font-size: 8px
    }

    .package-card {
        padding: 27px 23px
    }

    .package-card>ul {
        grid-template-columns: 1fr
    }

    .package-card h3 {
        font-size: 28px
    }

    .package-fit {
        font-size: 12px
    }

    .package-card li {
        font-size: 11px
    }

    .package-cta>.btn {
        width: fit-content;
        font-size: 11px
    }

    .service-depth-details summary {
        font-size: 17px
    }

    .service-depth-details p {
        font-size: 12px
    }

    .service-faq summary {
        font-size: 12px
    }

    .service-final-cta h2 {
        font-size: 34px
    }

    .service-final-cta p {
        font-size: 12px
    }

    .service-final-cta .btn {
        font-size: 11px;
        padding: 14px 18px
    }

    .service-trust-notes>span:last-child {
        display: none
    }
}

@media(prefers-reduced-motion:reduce) {

    .workflow-panel,
    .workflow-route,
    .workflow-signal,
    .package-featured:before {
        animation: none !important
    }

    .workflow-route {
        stroke-dashoffset: 0
    }

    .package-card {
        transition: none
    }
}

.solution-directory {
    padding-bottom: 30px
}

.solution-group {
    padding: 15px 0 65px
}

.solution-group .cards {
    grid-template-columns: repeat(3, 1fr)
}

.solution-group .cards:has(>.card:nth-child(4)) {
    grid-template-columns: repeat(4, 1fr)
}

.solution-group .card>.service-brand-visual {
    height: 180px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: #f8fafd
}

.solution-group .card>.brand-performance {
    padding: 0
}

.solution-group .section-head h2 {
    font-size: 34px
}

.solution-group .section-head>p {
    font-size: 13px
}

.solution-group .card>.service-brand-visual>img {
    width: 80px;
    height: 80px;
    object-fit: contain
}

.solution-group .card>.brand-meta>img {
    width: 155px;
    height: 54px
}

.solution-group .card>.brand-performance>img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

@media(max-width:1000px) {
    .solution-group .cards:has(>.card:nth-child(4)) {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(max-width:800px) {
    .solution-group .cards {
        grid-template-columns: repeat(2, 1fr)
    }

    .solution-group {
        padding-bottom: 50px
    }

    .solution-group .section-head h2 {
        font-size: 31px
    }
}

@media(max-width:500px) {

    .solution-group .cards,
    .solution-group .cards:has(>.card:nth-child(4)) {
        grid-template-columns: 1fr
    }

    .solution-group .card>.service-brand-visual {
        height: 200px
    }
}

/* Service-specific evidence, public social profiles and reference-inspired feedback. */
.service-proof-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px
}

.serp-preview {
    padding: 30px;
    border: 1px solid var(--border);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 16px 45px #15244b09;
    transition: transform .35s, box-shadow .35s
}

.serp-search {
    display: flex;
    align-items: center;
    gap: 15px;
    border: 1px solid #e1e5ed;
    border-radius: 100px;
    padding: 13px 18px;
    font-size: 14px;
    color: #273247;
    box-shadow: 0 3px 9px #12213a08;
    margin-bottom: 25px
}

.serp-search>span:nth-child(2) {
    flex: 1
}

.proof-preview-label {
    display: block;
    font-size: 10px;
    color: #79859b;
    letter-spacing: .1em;
    font-weight: 700;
    margin-bottom: 20px
}

.serp-site {
    display: flex;
    gap: 12px;
    align-items: center
}

.serp-site img {
    object-fit: contain;
    background: #f5f6f9;
    border-radius: 50%;
    padding: 4px;
    flex-shrink: 0
}

.serp-site b {
    font-size: 13px
}

.serp-site small {
    display: block;
    font-size: 12px;
    color: var(--muted)
}

.serp-preview h3 {
    font-family: var(--font-site);
    color: #346bbd;
    letter-spacing: 0;
    font-size: 23px;
    margin-top: 16px
}

.serp-preview p {
    font-size: 14px;
    line-height: 1.7;
    margin: 13px 0 23px
}

.serp-keyword {
    border-top: 1px solid var(--border);
    padding: 18px 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 13px
}

.serp-keyword>span:first-child {
    color: var(--muted);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em
}

.rank-unverified {
    font-size: 11px;
    color: #737d90
}

.proof-source-note {
    font-size: 12px;
    line-height: 1.7;
    margin-top: 20px;
    max-width: 960px
}

.instagram-profile {
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 30px;
    background: linear-gradient(140deg, #fff, #f5f9ff);
    box-shadow: 0 16px 45px #15244b08;
    transition: transform .35s, box-shadow .35s
}

.instagram-top {
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid var(--border);
    padding-bottom: 16px;
    margin-bottom: 26px
}

.instagram-top>span:last-child {
    margin-left: auto
}

.instagram-mark {
    display: grid;
    place-items: center;
    width: 33px;
    height: 33px;
    border-radius: 10px;
    background: linear-gradient(135deg, #fbb658, #e95891, #568ad7);
    color: white;
    font-size: 26px;
    line-height: 1
}

.instagram-identity {
    display: flex;
    align-items: center;
    gap: 20px
}

.instagram-identity>img {
    width: 92px;
    height: 92px;
    border: 3px solid #b0c7ea;
    border-radius: 50%;
    object-fit: contain;
    padding: 12px;
    background: white;
    flex-shrink: 0
}

.instagram-identity span {
    font-size: 13px;
    color: #4c78ba
}

.instagram-identity h3 {
    font-size: 23px;
    margin-top: 8px
}

.instagram-identity p {
    margin: 8px 0 0;
    font-size: 12px
}

.instagram-profile>p {
    font-size: 14px;
    margin: 25px 0 18px
}

.social-delivery-strip {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    margin: 20px 0 28px
}

.social-delivery-strip span {
    font-size: 11px;
    padding: 7px 12px;
    background: #fff;
    border-radius: 6px;
    border: 1px solid #e2e6ed
}

.social-delivery-strip i {
    font-style: normal;
    color: #7e98be
}

.service-report-layout {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 55px;
    align-items: center
}

.service-report-board {
    border: 1px solid #dfe6f1;
    border-radius: 22px;
    background: linear-gradient(135deg, #fbfcff, #f1f5fc);
    padding: 32px;
    box-shadow: 0 20px 50px #1424470b;
    transition: transform .35s, box-shadow .35s
}

.report-board-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    font-size: 10px;
    letter-spacing: .08em;
    font-weight: 700;
    color: #65708b
}

.report-template-tag {
    border: 1px solid #d7dee8;
    padding: 6px 9px;
    border-radius: 5px;
    font-size: 9px
}

.report-board-title {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 30px 0
}

.report-board-title img {
    width: 72px;
    height: 72px;
    object-fit: contain;
    border-radius: 12px
}

.report-board-title h3 {
    font-size: 25px;
    line-height: 1.3
}

.report-check-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px
}

.report-check-grid>div {
    background: #fff;
    border: 1px solid #e2e4ed;
    border-radius: 11px;
    padding: 18px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px
}

.report-check-grid span {
    font-size: 11px;
    color: #8aa1c3
}

.report-check-grid b {
    grid-column: 1;
    font-size: 14px;
    line-height: 1.4
}

.report-check-grid i {
    grid-column: 2;
    grid-row: 1/3;
    align-self: center;
    font-style: normal;
    color: #8d9fba
}

.report-board-caption {
    font-size: 12px;
    margin: 22px 0 0
}

.service-report-explain h3 {
    font-size: 30px
}

.service-report-explain p,
.service-report-explain li {
    font-size: 14px
}

.service-report-explain ul {
    padding-left: 20px;
    margin-bottom: 26px
}

.service-evidence-footer {
    margin-top: 32px;
    padding: 30px;
    border-radius: 16px;
    background: #f6f7fc;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px
}

.service-evidence-footer .eyebrow {
    margin-bottom: 15px
}

.service-evidence-footer ul {
    padding-left: 20px;
    margin: 0;
    font-size: 14px
}

.service-evidence-footer h3 {
    font-size: 23px;
    line-height: 1.3
}

.service-evidence-footer p {
    font-size: 14px;
    margin: 13px 0
}

.workflow-visual-node {
    max-width: 135px;
    white-space: normal;
    line-height: 1.4;
    text-align: center;
    font-size: 11px !important;
    padding: 14px 10px !important
}

.home-reviews {
    padding: 85px 0;
    background: radial-gradient(ellipse at 90% 15%, #4272b550, transparent 50%), linear-gradient(130deg, #10214b, #1b2f4b 60%, #213450);
    color: white
}

.home-reviews .section-head {
    margin-bottom: 38px
}

.home-reviews-layout {
    display: grid;
    grid-template-columns: 270px 1fr;
    gap: 34px;
    align-items: stretch
}

.review-google-summary {
    padding: 15px 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center
}

.google-wordmark {
    display: flex;
    font-size: 36px;
    font-family: var(--font-site);
    font-weight: 600;
    letter-spacing: -2px;
    margin-bottom: 28px
}

.google-wordmark i {
    font-style: normal
}

.google-wordmark i:nth-child(1),
.google-wordmark i:nth-child(4) {
    color: #83abff
}

.google-wordmark i:nth-child(2),
.google-wordmark i:nth-child(6) {
    color: #f17f75
}

.google-wordmark i:nth-child(3) {
    color: #f2ce69
}

.google-wordmark i:nth-child(5) {
    color: #88c6a0
}

.review-google-summary h3 {
    font-size: 26px
}

.review-google-summary p {
    font-size: 14px;
    color: #c6cde4;
    margin: 18px 0 25px
}

.review-google-summary small {
    font-size: 11px;
    line-height: 1.6;
    color: #aab5d3;
    margin-top: 18px
}

.home-review-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px
}

.home-review-card {
    background: #fff;
    border-radius: 14px;
    color: var(--ink);
    margin: 0;
    padding: 28px;
    display: flex;
    flex-direction: column;
    transition: transform .35s, box-shadow .35s;
    box-shadow: 0 15px 35px #030c2717
}

.home-review-person {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap
}

.home-review-person .review-avatar {
    width: 40px;
    height: 40px;
    background: #edf1f8;
    color: #657793;
    display: grid;
    place-items: center;
    border-radius: 50%;
    font-size: 15px;
    flex-shrink: 0
}

.home-review-person b {
    font-size: 14px
}

.home-review-person small {
    display: block;
    font-size: 10px;
    color: #748099
}

.feedback-badge {
    font-size: 9px;
    letter-spacing: .06em;
    text-transform: uppercase;
    background: #f3f4fa;
    color: #7b849b;
    padding: 5px 7px;
    border-radius: 5px;
    margin-left: auto
}

.home-review-card .quote-mark {
    line-height: 1;
    height: 38px;
    margin-top: 25px;
    font-size: 50px;
    color: #9badc9
}

.home-review-card blockquote {
    font-size: 17px;
    line-height: 1.7;
    margin: 5px 0 28px;
    flex: 1
}

.home-review-card>.textlink {
    font-size: 11px;
    color: #65768f
}

/* Restrained motion: stable heading geometry, one entrance, deliberate hover responses. */
.page-motion-toggle {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid #d7dbe7;
    border-radius: 100px;
    background: #ffffffb3;
    color: #78829a;
    padding: 6px 12px;
    font-size: 10px;
    letter-spacing: .02em;
    margin: 18px 0 0;
    transition: background .25s, color .25s
}

.page-motion-toggle:hover {
    background: #ebf2fc;
    color: #506a92
}

.type-visual {
    display: block
}

.type-letter {
    display: inline;
    animation: type-ink .55s both;
    animation-delay: var(--type-delay, 0s)
}

.page-motion h1 .word-highlight {
    background-size: 200% 100%;
    animation: title-gradient 4.8s ease-in-out infinite
}

.page-motion h1 .word-highlight .type-letter {
    background: inherit;
    background-size: inherit;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent
}

.page-motion .btn {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    transition: transform .28s ease, box-shadow .28s, border-color .28s, background .28s
}

.page-motion .btn:before {
    content: '';
    position: absolute;
    z-index: -1;
    inset: -100% -70%;
    background: linear-gradient(110deg, transparent 35%, #fff3 50%, transparent 65%);
    transform: translateX(-80%) skewX(-15deg);
    pointer-events: none
}

.page-motion .btn:hover:before,
.page-motion .btn:focus-visible:before {
    animation: button-sheen .65s ease both
}

.page-motion .btn:hover,
.page-motion .btn:focus-visible {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px #41679c24
}

.page-motion .btn>span {
    transition: transform .28s
}

.page-motion .btn:hover>span,
.page-motion .btn:focus-visible>span {
    transform: translate(3px, -3px)
}

.page-motion .btn:active {
    transform: translateY(0) scale(.985)
}

.page-motion .service-capability-grid>article,
.page-motion .package-card,
.page-motion .content-block {
    transition: transform .35s, box-shadow .35s, border-color .35s
}

.page-motion .service-capability-grid>article:hover,
.page-motion .package-card:hover,
.serp-preview:hover,
.instagram-profile:hover,
.service-report-board:hover,
.home-review-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 45px #40619016;
    border-color: #c3d2e8
}

.page-motion .capability-index i {
    transition: transform .3s
}

.page-motion .service-capability-grid>article:hover .capability-index i {
    transform: rotate(-12deg) translate(3px, -3px)
}

.page-motion .content-block:hover {
    border-color: #b8cae5
}

.page-motion .page-photo {
    transition: transform .7s, box-shadow .7s
}

.page-motion .page-photo:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 55px #1b254e22
}

.page-reveal-ready {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .65s ease, transform .65s ease
}

.page-reveal-ready.is-revealed {
    opacity: 1;
    transform: translateY(0)
}

.page-motion.motion-paused .page-reveal-ready {
    opacity: 1;
    transform: none
}

.page-motion.motion-paused .btn:hover,
.page-motion.motion-paused .btn:focus-visible,
.page-motion.motion-paused .btn:hover>span,
.page-motion.motion-paused article:hover,
.page-motion.motion-paused .page-photo:hover {
    transform: none
}

.page-motion.motion-paused .type-letter {
    animation: none;
    opacity: 1
}

@keyframes type-ink {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes title-gradient {

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

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

@keyframes button-sheen {
    from {
        transform: translateX(-80%) skewX(-15deg)
    }

    to {
        transform: translateX(80%) skewX(-15deg)
    }
}

@media(max-width:1000px) {
    .home-reviews-layout {
        grid-template-columns: 220px 1fr;
        gap: 24px
    }

    .home-review-cards {
        grid-template-columns: 1fr
    }

    .service-report-layout {
        gap: 30px
    }

    .instagram-identity {
        align-items: flex-start;
        gap: 14px
    }

    .instagram-identity>img {
        width: 70px;
        height: 70px
    }

    .instagram-identity h3 {
        font-size: 20px
    }

    .feedback-badge {
        margin-left: 0
    }

    .workflow-visual-node {
        max-width: 110px
    }
}

@media(max-width:700px) {

    .service-proof-grid,
    .service-report-layout,
    .service-evidence-footer {
        grid-template-columns: 1fr
    }

    .serp-preview,
    .instagram-profile,
    .service-report-board {
        padding: 23px
    }

    .service-evidence-footer {
        gap: 25px;
        padding: 25px
    }

    .home-reviews {
        padding: 60px 0
    }

    .home-reviews-layout {
        grid-template-columns: 1fr
    }

    .review-google-summary {
        border-bottom: 1px solid #ffffff20;
        padding: 0 0 28px
    }

    .google-wordmark {
        margin-bottom: 18px
    }

    .home-review-card {
        padding: 25px
    }

    .serp-preview h3 {
        font-size: 21px
    }

    .report-check-grid {
        gap: 10px
    }

    .report-check-grid>div {
        padding: 14px
    }

    .report-board-title {
        gap: 14px
    }

    .report-board-title h3 {
        font-size: 22px
    }

    .report-board-top {
        flex-wrap: wrap
    }

    .instagram-identity h3 {
        font-size: 22px
    }
}

@media(prefers-reduced-motion:reduce) {
    .page-motion * {
        animation: none !important;
        transition: none !important
    }

    .type-letter,
    .page-reveal-ready {
        opacity: 1 !important;
        transform: none !important
    }

    .page-motion .btn:hover,
    .page-motion .btn:focus-visible,
    .page-motion .btn:hover>span,
    .page-motion article:hover,
    .page-motion .page-photo:hover,
    .home-review-card:hover {
        transform: none !important
    }
}

.global-markets {
    position: relative;
    overflow: hidden;
    padding: 95px 0 80px;
    background: linear-gradient(180deg, #fff, #fcfdff)
}

.global-markets-heading {
    text-align: center;
    position: relative;
    z-index: 2
}

.global-markets-heading>.eyebrow {
    color: #7494c3;
    margin-bottom: 20px
}

.global-markets-heading h2 {
    font-size: clamp(33px, 3.5vw, 47px)
}

.global-markets-heading p {
    max-width: 760px;
    margin: 20px auto;
    color: #798596;
    font-size: 15px
}

.global-markets-heading>.section-motion-button {
    border: 1px solid #e0e6f0;
    border-radius: 100px;
    padding: 7px 13px;
    background: #fff;
    color: #738093;
    font-size: 10px
}

.global-ribbon {
    height: 180px;
    margin: -8px 0 -15px;
    position: relative;
    pointer-events: none
}

.global-ribbon svg {
    width: 100%;
    height: 100%;
    overflow: visible
}

.global-ribbon g {
    transform-origin: 50% 50%;
    animation: global-wave 7s ease-in-out infinite
}

.global-market-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    max-width: 1120px;
    position: relative;
    z-index: 2
}

.global-market-card {
    border: 1px solid #e0e8f4;
    border-radius: 17px;
    padding: 25px 24px 22px;
    box-shadow: 0 14px 30px #212f430a;
    background: #fff;
    transition: transform .35s, box-shadow .35s, border-color .35s;
    display: flex;
    flex-direction: column
}

.global-market-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 38px #5879a817;
    border-color: #b8cdec
}

.market-globe {
    display: grid;
    place-items: center;
    background: #ebf2fc;
    border-radius: 9px;
    width: 33px;
    height: 33px;
    color: #648ac4;
    margin-bottom: 17px
}

.market-globe svg {
    width: 21px;
    height: 21px;
    transition: transform .5s
}

.global-market-card:hover .market-globe svg {
    transform: rotate(18deg)
}

.global-market-card h3 {
    font-size: 19px;
    letter-spacing: -.04em;
    line-height: 1.4
}

.global-market-card p {
    font-size: 13px;
    line-height: 1.7;
    color: #7e8998;
    margin: 13px 0 20px;
    flex: 1
}

.market-clock {
    display: flex;
    gap: 7px;
    align-items: center;
    flex-wrap: wrap;
    font-family: var(--font-site);
    font-size: 10px;
    line-height: 1.5;
    letter-spacing: .02em
}

.clock-dot {
    width: 5px;
    height: 5px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #61cdaa;
    animation: clock-glow 2.6s ease-in-out infinite
}

.clock-location {
    color: #919ba8;
    font-size: 9px;
    text-transform: uppercase
}

.market-clock time {
    font-weight: 700;
    color: #6288c1;
    font-size: 14px
}

.clock-zone {
    font-size: 9px;
    color: #858f9e
}

.global-markets.motion-paused * {
    animation-play-state: paused !important
}

.global-markets.motion-paused .global-market-card:hover,
.global-markets.motion-paused .global-market-card:hover .market-globe svg {
    transform: none
}

@keyframes global-wave {

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

    50% {
        transform: translateY(-10px) scaleY(.86)
    }
}

@keyframes clock-glow {

    0%,
    100% {
        box-shadow: 0 0 0 0 #61cdaa15
    }

    50% {
        box-shadow: 0 0 0 4px #61cdaa15
    }
}

@media(max-width:1000px) {
    .global-market-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .global-ribbon {
        height: 150px;
        margin: 0 0 -5px
    }
}

@media(max-width:600px) {
    .global-markets {
        padding: 65px 0
    }

    .global-market-grid {
        gap: 14px
    }

    .global-market-card {
        padding: 20px 17px
    }

    .global-market-card h3 {
        font-size: 17px
    }

    .global-markets-heading p {
        font-size: 14px
    }

    .global-ribbon {
        height: 100px;
        margin: 20px 0
    }

    .global-market-card p {
        font-size: 12px
    }

    .market-clock {
        gap: 5px
    }

    .clock-location {
        font-size: 8px
    }

    .global-markets-heading p br {
        display: none
    }
}

@media(prefers-reduced-motion:reduce) {
    .global-markets * {
        animation: none !important;
        transition: none !important
    }

    .global-market-card:hover,
    .global-market-card:hover .market-globe svg {
        transform: none !important
    }
}

.service-brand-visual.brand-abstract {
    background: radial-gradient(ellipse at 60% 40%, #eff4fb, #f6f7fd 80%)
}

.service-brand-visual.brand-abstract>img {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: contain;
    padding: 0;
    transition: transform .6s
}

.card:hover .service-brand-visual.brand-abstract>img {
    transform: scale(1.04) translateY(-2px)
}

.service-stage-main--brand {
    background: radial-gradient(ellipse at 50% 40%, #fff, #e7effa 65%, #e8eaf7)
}

.service-stage-main--brand>img.service-stage-brand {
    height: 290px;
    object-fit: contain;
    max-width: 100%;
    padding: 55px 65px;
    margin: 0 auto
}

.service-stage-main--brand>img.service-stage-abstract {
    padding: 15px 25px;
    width: 100%;
    height: 290px
}

.service-stage-main--brand .service-stage-bottom {
    color: #27304c;
    background: #ffffffea;
    border-top: 1px solid #dce2eb
}

.service-stage-main--brand .service-stage-bottom b {
    font-size: 12px;
    line-height: 1.55
}

.service-stage-main--brand .service-stage-bottom span {
    color: #728093
}

.page-motion.motion-paused .card:hover img,
.page-motion.motion-paused .service-capability-grid>article:hover .capability-index i {
    transform: none
}

@media(max-width:700px) {
    .service-stage-main--brand>img.service-stage-brand {
        height: 245px;
        padding: 42px 60px
    }

    .service-stage-main--brand>img.service-stage-abstract {
        padding: 5px 18px;
        height: 245px
    }
}

@media(prefers-reduced-motion:reduce) {
    .card:hover .service-brand-visual.brand-abstract>img {
        transform: none
    }
}

.services-section .card>.service-brand-visual.brand-abstract,
.solution-group .card>.service-brand-visual.brand-abstract {
    padding: 0
}

.services-section .card>.service-brand-visual.brand-abstract>img,
.solution-group .card>.service-brand-visual.brand-abstract>img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

/* Workflow reliability: content stays readable in every motion state. */
.service-workflow .workflow-panel {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important
}

.service-workflow .workflow-panel[hidden] {
    display: none !important
}

.service-workflow .workflow-illustration {
    height: 150px;
    gap: 0;
    margin-bottom: 30px
}

.service-workflow .workflow-visual-node {
    width: 27%;
    max-width: 160px;
    min-width: 0;
    font-size: 11px !important;
    letter-spacing: 0;
    padding: 14px 12px !important;
    line-height: 1.55;
    background: linear-gradient(140deg, #89addf15, #ffffff05)
}

.workflow-visual-node small {
    display: block;
    font-size: 8px;
    letter-spacing: .1em;
    color: #8c9eb8;
    margin-bottom: 7px
}

.service-workflow .workflow-visual-center {
    width: 46%;
    max-width: 240px;
    min-width: 60px;
    flex: 1;
    height: 130px
}

.service-workflow .workflow-route {
    stroke-dasharray: 18 332;
    stroke-dashoffset: 350;
    animation: workflow-route-sweep 3s linear infinite;
    opacity: 1
}

.workflow-traveller {
    offset-path: path('M0 65h58c20 0 8-45 32-45h58c24 0 12 45 32 45h60');
    offset-distance: 0%;
    animation: workflow-travel 3s linear infinite;
    filter: drop-shadow(0 0 5px #e9c783)
}

.workflow-progress {
    height: 3px;
    border-radius: 10px;
    overflow: hidden;
    background: #ffffff0b;
    margin-top: 22px
}

.workflow-progress>i {
    display: block;
    width: 100%;
    height: 100%;
    transform-origin: left;
    background: linear-gradient(90deg, #75a5ed, #7d9ac5, #e6bd69);
    animation: workflow-step-progress var(--workflow-duration, 5200ms) linear infinite
}

.workflow-progress-reset .workflow-progress>i {
    animation: none;
    transform: scaleX(0)
}

.workflow-status {
    font-size: 10px !important;
    min-height: 0 !important;
    line-height: 1.6 !important;
    margin: 12px 0 0 !important;
    color: #90a0b7 !important
}

.workflow-next-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-top: 40px;
    padding: 25px 30px;
    border: 1px solid #a0badf22;
    border-radius: 12px;
    background: linear-gradient(120deg, #749ad012, #ffffff03)
}

.workflow-next-action b {
    font-size: 16px;
    font-weight: 500
}

.workflow-next-action p {
    margin: 7px 0 0;
    font-size: 12px;
    color: #a0acbe
}

.workflow-next-action>.btn {
    flex-shrink: 0;
    max-width: 390px;
    font-size: 12px
}

.workflow-controls>.workflow-play {
    font-size: 11px;
    color: #a2b5d1
}

.workflow-view {
    position: sticky;
    top: 160px
}

.workflow-tabs>button:hover {
    border-color: #9ab6de66;
    background: #7b9ac519;
    color: white
}

.workflow-panel h3 {
    font-size: clamp(25px, 2.5vw, 34px)
}

.workflow-panel p {
    font-size: 14px;
    color: #b5c0d0
}

.workflow-deliverable>span {
    font-size: 9px
}

.workflow-deliverable>b {
    font-size: 14px
}

.workflow-step-label {
    font-size: 10px
}

.workflow-controls>button:focus-visible,
.workflow-tabs>button:focus-visible {
    outline: 2px solid #e0bd77;
    outline-offset: 4px
}

@keyframes workflow-route-sweep {
    from {
        stroke-dashoffset: 350
    }

    to {
        stroke-dashoffset: 0
    }
}

@keyframes workflow-travel {
    to {
        offset-distance: 100%
    }
}

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

    to {
        transform: scaleX(1)
    }
}

/* A complete industry experience: priorities, roadmap, depth, measures and clear calls to action. */
.industry-hero {
    padding-top: 50px;
    padding-bottom: 48px;
    grid-template-columns: 1.08fr .92fr;
    gap: 75px
}

.industry-hero h1 {
    font-size: clamp(38px, 4.1vw, 59px);
    line-height: 1.13;
    max-width: 650px
}

.industry-hero .eyebrow {
    color: #8096b6;
    margin-bottom: 18px
}

.industry-hero p {
    font-size: 15px;
    line-height: 1.85;
    margin: 22px 0 26px
}

.industry-hero .page-photo {
    height: 405px;
    border-radius: 24px;
    box-shadow: 0 20px 60px #67789116;
    object-fit: cover
}

.industry-hero-process {
    display: block;
    margin-top: 18px;
    font-size: 12px;
    color: #738297;
    font-weight: 600;
    transition: color .25s
}

.industry-hero-process span {
    display: inline-block;
    margin-left: 9px;
    transition: transform .25s
}

.industry-hero-process:hover span {
    transform: translateY(4px)
}

.industry-goals {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border: 1px solid #e0e5ed;
    border-radius: 14px;
    margin-bottom: 45px;
    overflow: hidden;
    background: #fafcff
}

.industry-goals>div {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 21px 25px;
    position: relative
}

.industry-goals>div+div {
    border-left: 1px solid #e0e5ed
}

.industry-goals span {
    font-size: 10px;
    color: #91a6c6
}

.industry-goals b {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5
}

.industry-goals i {
    margin-left: auto;
    font-size: 19px;
    font-style: normal;
    color: #bc9e74
}

.industry-solutions {
    padding: 75px 0 85px
}

.industry-solution-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 23px;
    align-items: stretch
}

.industry-solution-card {
    border: 1px solid #e0e6ee;
    background: linear-gradient(140deg, #fff, #fafcff);
    border-radius: 16px;
    padding: 29px;
    transition: transform .35s, box-shadow .35s, border-color .35s
}

.industry-solution-number {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 10px;
    color: #8599b7;
    margin-bottom: 24px;
    letter-spacing: .08em
}

.industry-solution-number i {
    font-size: 22px;
    font-style: normal;
    transition: transform .3s
}

.industry-solution-card h3 {
    font-size: 23px;
    line-height: 1.3;
    letter-spacing: -.04em;
    margin-bottom: 21px
}

.industry-solution-copy p {
    font-size: 13px;
    line-height: 1.8;
    margin: 15px 0;
    color: #7c7f92
}

.industry-solution-copy p:first-child {
    margin-top: 0
}

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

.industry-solution-copy a {
    color: #617ca5;
    text-decoration: underline;
    text-decoration-color: #cdd7e7;
    text-underline-offset: 4px
}

.industry-solution-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 40px #60799c13;
    border-color: #b1c2dc
}

.industry-solution-card:hover .industry-solution-number i {
    transform: translate(3px, -3px)
}

.industry-depth {
    padding: 85px 0;
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 85px
}

.industry-depth>div:first-child {
    position: sticky;
    top: 175px;
    align-self: start
}

.industry-depth>div:first-child>p {
    font-size: 15px;
    margin: 24px 0
}

.industry-detail-list details {
    border-bottom: 1px solid #dce2ea;
    padding: 23px 0;
    scroll-margin-top: 180px
}

.industry-detail-list details:first-child {
    border-top: 1px solid #dce2ea
}

.industry-detail-list summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    cursor: pointer;
    list-style: none;
    font-family: var(--font-site);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: -.02em
}

.industry-detail-list summary::-webkit-details-marker {
    display: none
}

.industry-detail-list summary>span {
    font-size: 24px;
    color: #8fa3c1;
    font-weight: 400;
    transition: transform .25s
}

.industry-detail-list details[open] summary>span {
    transform: rotate(45deg)
}

.industry-detail-list details>div {
    padding-top: 10px
}

.industry-detail-list p {
    font-size: 14px;
    line-height: 1.85;
    margin: 17px 0
}

.industry-detail-list h3 {
    font-size: 19px;
    margin: 22px 0 14px
}

.industry-detail-list a {
    color: #637898;
    text-decoration: underline;
    text-decoration-color: #c5cfdf;
    text-underline-offset: 4px
}

.industry-results {
    padding: 10px 0 85px
}

.industry-results-content {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px
}

.industry-results-content>p {
    margin: 0;
    border: 1px solid #e0e6ef;
    border-radius: 12px;
    padding: 23px 25px;
    background: linear-gradient(125deg, #f5f8fd, #fbfcff);
    font-size: 14px;
    line-height: 1.65;
    color: #667181;
    display: flex;
    align-items: center;
    min-height: 100px
}

.industry-review-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 27px 0;
    margin-top: 25px;
    border-bottom: 1px solid #dfe4eb
}

.industry-review-cta b {
    display: block;
    font-size: 18px;
    font-weight: 500
}

.industry-review-cta span {
    display: block;
    font-size: 11px;
    color: #8593a7;
    margin-top: 8px
}

.industry-faq {
    padding-top: 10px;
    padding-bottom: 80px
}

.industry-faq .eyebrow {
    color: #8094b1
}

.industry-faq summary {
    font-size: 15px
}

.industry-experience .cta-band {
    margin-bottom: 80px;
    border-radius: 18px;
    background: radial-gradient(ellipse at 80% 20%, #5374a354, transparent 55%), #151f2d;
    color: #fff;
    border: 0;
    padding: 45px
}

.industry-experience .cta-band .eyebrow {
    color: #aebbcf
}

.industry-experience .cta-band .btn {
    max-width: 340px
}

.industry-experience .cta-band h2 {
    font-size: 38px
}

.industry-solution-card,
.industry-detail-list details {
    scroll-margin-top: 180px
}

@media(max-width:1000px) {
    .industry-hero {
        gap: 45px
    }

    .industry-hero .page-photo {
        height: 350px
    }

    .industry-goals>div {
        padding: 20px 18px;
        gap: 12px
    }

    .industry-solution-card {
        padding: 24px
    }

    .industry-solution-card h3 {
        font-size: 20px
    }

    .industry-depth {
        gap: 45px;
        grid-template-columns: .85fr 1.15fr
    }

    .workflow-view {
        top: 160px
    }
}

@media(max-width:800px) {
    .industry-hero {
        grid-template-columns: 1fr;
        gap: 35px
    }

    .industry-hero h1 {
        font-size: 46px
    }

    .industry-hero .page-photo {
        height: 330px
    }

    .industry-solution-grid {
        grid-template-columns: 1fr
    }

    .industry-solution-card {
        padding: 30px
    }

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

    .industry-depth {
        grid-template-columns: 1fr;
        gap: 30px
    }

    .industry-depth>div:first-child {
        position: static
    }

    .industry-results-content {
        grid-template-columns: repeat(2, 1fr)
    }

    .workflow-view {
        position: relative;
        top: auto
    }

    .workflow-next-action {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
        padding: 25px
    }

    .workflow-next-action>.btn {
        max-width: 100%
    }

    .industry-experience .cta-band {
        align-items: flex-start;
        gap: 30px;
        flex-direction: column
    }

    .industry-solutions {
        padding: 55px 0 60px
    }

    .industry-depth {
        padding: 60px 0
    }

    .industry-results {
        padding-bottom: 60px
    }
}

@media(max-width:600px) {
    .industry-hero {
        padding-top: 35px;
        gap: 25px
    }

    .industry-hero h1 {
        font-size: 38px
    }

    .industry-hero .page-photo {
        height: 270px;
        border-radius: 16px
    }

    .industry-hero p {
        font-size: 14px
    }

    .industry-goals {
        grid-template-columns: 1fr;
        margin-bottom: 30px
    }

    .industry-goals>div+div {
        border-left: 0;
        border-top: 1px solid #e0e5ed
    }

    .industry-goals>div {
        padding: 17px 20px
    }

    .industry-solution-card {
        padding: 25px
    }

    .industry-solution-card h3 {
        font-size: 24px
    }

    .industry-depth h2,
    .industry-results h2 {
        font-size: 34px
    }

    .industry-results-content {
        grid-template-columns: 1fr
    }

    .industry-results-content>p {
        min-height: 0;
        padding: 21px 24px
    }

    .industry-review-cta {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px
    }

    .industry-experience .cta-band {
        padding: 30px;
        margin-bottom: 55px
    }

    .industry-experience .cta-band h2 {
        font-size: 30px
    }

    .industry-detail-list summary {
        font-size: 16px
    }

    .service-workflow .workflow-visual-node {
        font-size: 9px !important;
        padding: 10px 7px !important;
        max-width: 110px;
        line-height: 1.5
    }

    .workflow-visual-node small {
        font-size: 6px;
        margin-bottom: 6px
    }

    .service-workflow .workflow-illustration {
        height: 120px
    }

    .service-workflow .workflow-visual-center {
        height: 100px
    }

    .workflow-next-action b {
        font-size: 15px
    }

    .workflow-controls>.workflow-play {
        font-size: 10px
    }

    .workflow-panel p {
        font-size: 13px
    }

    .workflow-deliverable>b {
        font-size: 13px
    }

    .industry-subnav nav {
        gap: 16px
    }

    .industry-subnav nav>a {
        white-space: nowrap
    }
}

@media(prefers-reduced-motion:reduce) {

    .workflow-traveller,
    .workflow-progress>i,
    .service-workflow .workflow-route {
        animation: none !important
    }

    .service-workflow .workflow-route {
        stroke-dasharray: none;
        stroke-dashoffset: 0;
        opacity: .7
    }

    .workflow-traveller {
        offset-distance: 50%
    }

    .workflow-progress>i {
        transform: scaleX(1)
    }

    .industry-hero-process:hover span,
    .industry-solution-card:hover,
    .industry-solution-card:hover .industry-solution-number i {
        transform: none
    }
}

/* Shared black canvas, with blue light concentrated in the corners. */
:root {
    --dark-corner: radial-gradient(ellipse at 100% 0%, #153f88 0%, #0b2248 24%, transparent 56%), radial-gradient(ellipse at 0% 100%, #0b2a59 0%, transparent 46%), #05070c
}

.hero,
.hero--animated,
.brand-close,
.radar-section,
.home-reviews,
.service-workflow,
.service-final-cta,
.cta-band,
.industry-experience .cta-band {
    background: var(--dark-corner)
}

.hero-glow {
    background: radial-gradient(ellipse, #2563eb3b, transparent 66%)
}

.hero-rays {
    opacity: .25
}

.growth-dashboard,
.growth-chip {
    background: radial-gradient(ellipse at 100% 0%, #193766a8, transparent 65%), #080c16
}

.workflow-view {
    background: radial-gradient(ellipse at 100% 0%, #1b40702e, transparent 65%), #090d17;
    border-color: #668cc33a
}

.workflow-visual-node {
    background: linear-gradient(135deg, #12274380, #090f1b)
}

.workflow-visual-center>span {
    background: linear-gradient(135deg, #17345b, #0a111f)
}

.workflow-next-action {
    background: radial-gradient(ellipse at 100% 0%, #17438430, transparent 65%), #ffffff03
}

/* Site-wide typography and page motion never hide readable content. */
.page-motion h2 .word-highlight {
    background-size: 200% 100%;
    animation: title-gradient 5.8s ease-in-out infinite
}

.page-motion .type-letter {
    animation-duration: .45s
}

.page-motion.motion-paused :is(.hero-rays, .hero-glow, .growth-dashboard, .growth-chip, .growth-bars i, .growth-line path, .gradient-word, .rosette-aura, .rosette-weave, .rosette-planets, .solution-list li, .radar-sweep, .radar-blip, .brand-triangle, .smile-lineup span, .trust-reach i, .micro-orbit, .flow-connector i, .industry-animated-svg, .industry-icon-accent, .client-logo-track, .global-ribbon g, .clock-dot, .workflow-route, .workflow-traveller, .workflow-progress>i, h1 .word-highlight, h2 .word-highlight) {
    animation-play-state: paused !important
}

.page-motion.motion-paused .type-letter {
    animation: none !important;
    opacity: 1 !important
}

.page-motion .site-entered {
    opacity: 1
}

.page-motion-toggle {
    cursor: pointer
}

.page-motion .page-hero h1+.page-motion-toggle,
.page-motion .project-hero h1+.page-motion-toggle {
    margin: 18px 0 0
}

.page-motion h2 {
    overflow-wrap: normal
}

.page-motion .card,
.page-motion .portfolio-card,
.page-motion .blog-card {
    transition: transform .3s, box-shadow .3s, border-color .3s
}

.page-motion .card:hover,
.page-motion .portfolio-card:hover,
.page-motion .blog-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 38px #3160a715
}

/* Packages have a clear visual hierarchy and an unmistakable quote action. */
.service-packages {
    position: relative;
    padding-top: 90px;
    padding-bottom: 90px
}

.service-packages:before {
    content: '';
    position: absolute;
    inset: 35px -35px 35px;
    border-radius: 28px;
    background: radial-gradient(ellipse at 90% 0%, #dce8ff70, transparent 60%), #f7f9fe;
    z-index: -1
}

.service-packages .package-grid {
    gap: 25px
}

.service-packages .package-card {
    border: 1px solid #c9d5e9;
    border-top: 4px solid #809de0;
    box-shadow: 0 15px 38px #1739680d;
    border-radius: 19px;
    padding: 31px 28px;
    background: #fff;
    overflow: hidden;
    isolation: isolate
}

.service-packages .package-card .package-topline {
    color: #7186ae;
    font-size: 10px;
    letter-spacing: .08em
}

.service-packages .package-card h3 {
    font-size: 30px;
    line-height: 1.25;
    min-height: 0;
    margin-top: 22px
}

.service-packages .package-fit {
    font-size: 13px;
    line-height: 1.75;
    min-height: 50px;
    margin-top: 18px
}

.service-packages .package-price {
    margin: 22px 0 25px;
    padding: 21px 0;
    border-top: 1px solid #e2e8f1;
    border-bottom: 1px solid #e2e8f1
}

.service-packages .package-price>b {
    font-size: 23px;
    line-height: 1.3;
    color: #172e59
}

.service-packages .package-price>span {
    font-size: 11px;
    color: #8a94a8;
    margin-top: 7px
}

.service-packages .package-card li {
    font-size: 12px;
    line-height: 1.75;
    margin-bottom: 12px;
    color: #71809a
}

.service-packages .package-card li>span {
    color: #7595d5
}

.service-packages .package-featured {
    background: var(--dark-corner);
    color: white;
    border-color: #5877c8;
    border-top-color: #d4b772;
    box-shadow: 0 20px 45px #163f8c2b;
    transform: translateY(-9px)
}

.service-packages .package-featured:before {
    opacity: .5;
    pointer-events: none
}

.service-packages .package-featured .package-topline {
    color: #d8bf88
}

.service-packages .package-featured h3 {
    color: #fff
}

.service-packages .package-featured .package-fit,
.service-packages .package-featured li {
    color: #b5c4e1
}

.service-packages .package-featured .package-price {
    border-color: #ffffff25
}

.service-packages .package-featured .package-price>b {
    color: #fff
}

.service-packages .package-featured .package-price>span {
    color: #a0b3d6
}

.service-packages .package-featured li>span {
    color: #d4b772
}

.service-packages .package-cta {
    padding-top: 22px
}

.service-packages .package-cta .quote-now {
    width: 100%;
    padding: 19px 22px;
    border: 1px solid #7e9be7;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
    background: linear-gradient(115deg, #3858c9, #5479e8);
    color: white;
    box-shadow: 0 8px 24px #2e5bba25
}

.service-packages .package-featured .package-cta .quote-now {
    background: linear-gradient(110deg, #f0d18e, #cda751);
    border-color: #efcf88;
    color: #171a24;
    box-shadow: 0 8px 30px #d4b16a26
}

.service-packages .package-card:hover {
    border-color: #8ea6d3;
    box-shadow: 0 20px 45px #315aa31c
}

.service-packages .package-featured:hover {
    transform: translateY(-14px);
    border-color: #d8b875;
    box-shadow: 0 25px 50px #173c832f
}

.service-packages .package-footnote {
    margin-top: 30px;
    font-size: 12px
}

/* Service details use relevant illustrations and highlighted deliverables. */
.solution-detail-showcase {
    padding: 10px 0 40px
}

.solution-detail-showcase .section-head h2 {
    max-width: 750px
}

.solution-detail-card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px
}

.solution-detail-card {
    border: 1px solid #dce3ef;
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 10px 30px #14356608;
    transition: transform .35s, box-shadow .35s, border-color .35s
}

.solution-detail-image {
    position: relative;
    background: linear-gradient(145deg, #fafbff, #edf2fc);
    border-bottom: 1px solid #e6ebf5;
    overflow: hidden
}

.solution-detail-image img {
    width: 100%;
    height: 220px;
    object-fit: contain;
    transition: transform .7s
}

.solution-detail-image>span {
    position: absolute;
    left: 22px;
    bottom: 15px;
    color: #8193b1;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .11em
}

.solution-detail-copy {
    padding: 29px
}

.solution-detail-copy h3 {
    font-size: 24px;
    line-height: 1.3;
    color: #20385e;
    min-height: 62px
}

.solution-detail-copy p {
    font-size: 14px;
    line-height: 1.85;
    margin: 19px 0 23px;
    min-height: 105px
}

.solution-detail-output {
    background: linear-gradient(120deg, #eef3ff, #f5f8fc);
    border: 1px solid #e2e6f1;
    border-left: 3px solid #9caadd;
    padding: 15px 17px;
    border-radius: 8px;
    margin-bottom: 22px
}

.solution-detail-output>span {
    display: block;
    color: #8694af;
    font-size: 8px;
    letter-spacing: .1em;
    margin-bottom: 6px
}

.solution-detail-output>b {
    display: block;
    font-size: 13px;
    color: #526a97;
    line-height: 1.5;
    font-weight: 600
}

.solution-detail-copy>.textlink {
    font-size: 12px;
    color: #667eb7
}

.solution-detail-card:hover {
    transform: translateY(-6px);
    border-color: #b0c1e1;
    box-shadow: 0 18px 42px #244a9314
}

.solution-detail-card:hover .solution-detail-image img {
    transform: scale(1.035)
}

.page-motion.motion-paused .solution-detail-card:hover,
.page-motion.motion-paused .solution-detail-card:hover img,
.page-motion.motion-paused .package-featured:hover {
    transform: none
}

@media(max-width:1000px) {
    .service-packages .package-card {
        padding: 27px 23px
    }

    .service-packages .package-card h3 {
        font-size: 26px
    }

    .solution-detail-copy {
        padding: 24px
    }

    .solution-detail-copy h3 {
        font-size: 21px
    }

    .solution-detail-copy p {
        font-size: 13px;
        min-height: 130px
    }

    .solution-detail-image img {
        height: 190px
    }

    .service-packages .package-cta .quote-now {
        font-size: 13px;
        padding: 18px 20px
    }
}

@media(max-width:800px) {
    .solution-detail-card-grid {
        grid-template-columns: 1fr
    }

    .solution-detail-card {
        display: grid;
        grid-template-columns: .8fr 1.2fr
    }

    .solution-detail-image {
        border-bottom: 0;
        border-right: 1px solid #e6ebf5;
        display: flex;
        align-items: center
    }

    .solution-detail-image img {
        height: 250px
    }

    .solution-detail-copy h3,
    .solution-detail-copy p {
        min-height: 0
    }

    .service-packages .package-featured,
    .service-packages .package-featured:hover {
        transform: none
    }

    .service-packages .package-grid {
        gap: 25px
    }

    .service-packages:before {
        inset: 30px -15px;
        border-radius: 18px
    }

    .service-packages .package-card h3 {
        font-size: 30px
    }

    .service-packages .package-fit {
        min-height: 0
    }

    .service-packages {
        padding-top: 65px;
        padding-bottom: 65px
    }
}

@media(max-width:600px) {
    .solution-detail-card {
        display: block
    }

    .solution-detail-image {
        border-right: 0;
        border-bottom: 1px solid #e6ebf5
    }

    .solution-detail-image img {
        height: 230px
    }

    .solution-detail-copy {
        padding: 27px
    }

    .solution-detail-copy h3 {
        font-size: 24px
    }

    .solution-detail-copy p {
        font-size: 14px
    }

    .solution-detail-showcase {
        padding: 5px 0 20px
    }

    .service-packages .package-card {
        padding: 28px
    }

    .service-packages .package-cta .quote-now {
        font-size: 15px;
        padding: 19px 22px
    }

    .service-packages .package-card li {
        font-size: 12px
    }

    .service-packages .package-card>ul {
        display: block
    }
}

@media(prefers-reduced-motion:reduce) {
    .page-motion h2 .word-highlight {
        animation: none !important
    }

    .solution-detail-card,
    .solution-detail-image img {
        transition: none !important
    }

    .solution-detail-card:hover,
    .solution-detail-card:hover img,
    .service-packages .package-featured:hover,
    .page-motion .card:hover,
    .page-motion .portfolio-card:hover,
    .page-motion .blog-card:hover {
        transform: none !important
    }
}

.project-facts {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    border: 1px solid #dfe5ef;
    border-radius: 13px;
    background: #f8faff;
    margin-bottom: 28px
}

.project-facts>div {
    padding: 24px 28px
}

.project-facts>div+div {
    border-left: 1px solid #dfe5ef
}

.project-facts span {
    display: block;
    font-size: 9px;
    letter-spacing: .12em;
    color: #9aabc5;
    margin-bottom: 9px
}

.project-facts b {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.5
}

.project-story-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    margin-bottom: 40px
}

.project-story-nav nav {
    display: flex;
    gap: 23px;
    flex-wrap: wrap;
    font-size: 11px;
    color: #8b9ab4
}

.project-story-nav nav a:hover {
    color: #5778c0
}

.project-story-nav>.textlink {
    font-size: 11px;
    white-space: nowrap
}

.project-story-intro {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 75px;
    padding: 70px 0 50px
}

.project-story-intro h2 {
    font-size: clamp(32px, 3.4vw, 46px)
}

.project-story-intro p {
    font-size: 15px;
    line-height: 1.85;
    margin: 0 0 22px
}

.project-focus-tags {
    display: flex;
    gap: 8px;
    flex-wrap: wrap
}

.project-focus-tags span {
    padding: 7px 12px;
    border-radius: 100px;
    border: 1px solid #dce4f2;
    background: #f7f9fe;
    font-size: 10px;
    color: #7d8eae
}

.project-strategy {
    padding: 35px 0 75px
}

.project-strategy .section-head>p {
    max-width: 390px
}

.project-strategy-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 23px
}

.project-strategy-card {
    padding: 30px;
    border-radius: 16px;
    border: 1px solid #e0e6f1;
    background: linear-gradient(135deg, #fff, #f8faff);
    transition: transform .35s, border-color .35s, box-shadow .35s
}

.project-strategy-card>span {
    display: flex;
    justify-content: space-between;
    font-size: 10px;
    color: #92a3c4;
    margin-bottom: 23px
}

.project-strategy-card>span>i {
    font-size: 20px;
    font-style: normal;
    color: #bca478
}

.project-strategy-card h3 {
    font-size: 23px;
    line-height: 1.35;
    min-height: 65px
}

.project-strategy-card p {
    font-size: 14px;
    line-height: 1.85;
    margin: 20px 0 0
}

.project-strategy-card:hover {
    transform: translateY(-5px);
    border-color: #a9bfe7;
    box-shadow: 0 18px 38px #274f9212
}

.project-story-source {
    font-size: 11px;
    line-height: 1.7;
    margin: 20px 0 0;
    color: #9b9fab
}

.project-impact {
    background: var(--dark-corner);
    color: white;
    padding: 75px 0
}

.project-impact .section-head>p {
    color: #9bb0d4
}

.project-impact-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px
}

.project-impact-card {
    border: 1px solid #5b7ebf45;
    background: linear-gradient(135deg, #14346540, #ffffff03);
    border-radius: 14px;
    padding: 30px;
    transition: transform .3s, border-color .3s
}

.impact-type {
    font-size: 8px;
    letter-spacing: .11em;
    color: #a0b8df;
    display: block;
    margin-bottom: 23px
}

.project-impact-card h3 {
    font-size: 27px;
    line-height: 1.3;
    color: white
}

.project-impact-card p {
    font-size: 14px;
    line-height: 1.85;
    color: #99afd2;
    margin: 21px 0 0
}

.project-impact-card:hover {
    transform: translateY(-4px);
    border-color: #7598d180
}

.project-evidence-note {
    font-size: 11px;
    line-height: 1.75;
    color: #8ca1c4;
    margin: 23px 0 0;
    max-width: 1000px
}

.project-impact-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    border-top: 1px solid #ffffff20;
    padding-top: 28px;
    margin-top: 32px
}

.project-impact-cta b {
    display: block;
    font-size: 19px;
    font-weight: 500
}

.project-impact-cta div>span {
    display: block;
    font-size: 12px;
    color: #9fb0cf;
    margin-top: 8px
}

.project-impact-cta .btn {
    min-width: 210px
}

.project-story-intro,
.project-strategy,
.project-impact {
    scroll-margin-top: 150px
}

@media(max-width:800px) {
    .project-facts>div {
        padding: 20px
    }

    .project-facts b {
        font-size: 13px
    }

    .project-story-nav {
        flex-direction: column;
        align-items: flex-start;
        gap: 17px
    }

    .project-story-intro {
        grid-template-columns: 1fr;
        gap: 25px;
        padding-top: 50px
    }

    .project-strategy-grid,
    .project-impact-grid {
        grid-template-columns: 1fr
    }

    .project-strategy-card h3 {
        min-height: 0
    }

    .project-impact {
        padding: 60px 0
    }

    .project-impact-cta {
        align-items: flex-start;
        flex-direction: column
    }

    .project-impact-card {
        padding: 28px
    }
}

@media(max-width:600px) {
    .project-facts {
        grid-template-columns: 1fr
    }

    .project-facts>div+div {
        border-left: 0;
        border-top: 1px solid #dfe5ef
    }

    .project-facts>div {
        padding: 17px 23px
    }

    .project-story-nav nav {
        gap: 15px;
        font-size: 10px
    }

    .project-facts b {
        font-size: 14px
    }

    .project-strategy-card {
        padding: 27px
    }

    .project-story-intro h2 {
        font-size: 34px
    }

    .project-strategy {
        padding-bottom: 55px
    }
}

@media(prefers-reduced-motion:reduce) {

    .project-strategy-card,
    .project-impact-card {
        transition: none !important
    }

    .project-strategy-card:hover,
    .project-impact-card:hover {
        transform: none !important
    }
}

.page-motion.motion-paused .project-strategy-card:hover,
.page-motion.motion-paused .project-impact-card:hover {
    transform: none
}

/* Photography replaces abstract service illustrations while keeping authentic platform marks. */
.service-stage-main--brand {
    position: relative;
    overflow: hidden
}

.service-stage-main--brand>img.service-stage-real {
    width: 100%;
    height: 300px;
    padding: 0;
    margin: 0;
    object-fit: cover;
    border-radius: 0
}

.service-stage-main--brand .service-stage-bottom {
    background: var(--dark-corner);
    color: white;
    border-top: 0
}

.service-stage-main--brand .service-stage-bottom span {
    color: #a6b6d5
}

.service-stage-main--brand .service-stage-bottom b {
    color: #fff
}

.service-photo-brand {
    position: absolute;
    top: 17px;
    left: 17px;
    z-index: 2;
    background: #fffffff2;
    border: 1px solid #ffffff80;
    padding: 11px 14px;
    border-radius: 12px;
    box-shadow: 0 8px 24px #09183125
}

.service-photo-brand img {
    width: 55px;
    height: 45px;
    object-fit: contain
}

.service-real-visual {
    height: 210px;
    position: relative;
    overflow: hidden;
    background: #edf2f8;
    border-bottom: 1px solid #e2e8f1
}

.service-real-visual>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s
}

.card:hover .service-real-visual>img {
    transform: scale(1.045)
}

.real-card-brand {
    position: absolute;
    bottom: 14px;
    left: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fffffff2;
    border-radius: 10px;
    padding: 9px 12px;
    box-shadow: 0 4px 14px #10213918
}

.real-card-brand img {
    width: 50px;
    height: 35px;
    object-fit: contain
}

.solution-detail-image img.solution-real-photo {
    width: 100%;
    height: 240px;
    object-fit: cover;
    padding: 0
}

.solution-detail-image:has(.solution-real-photo):after {
    content: '';
    position: absolute;
    inset: 55% 0 0;
    background: linear-gradient(transparent, #080e2370);
    pointer-events: none
}

.solution-detail-image:has(.solution-real-photo)>span {
    color: white;
    z-index: 1;
    text-shadow: 0 1px 5px #0007
}

.page-motion.motion-paused .card:hover .service-real-visual>img {
    transform: none
}

/* A results story pairs a traffic snapshot with keyword movement and the detailed chart below. */
.seo-results-story {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    background: linear-gradient(135deg, #f8faff, #fff);
    border-bottom: 1px solid #e2e8f1;
    padding: 36px;
    gap: 40px
}

.seo-results-context>.sample-badge {
    margin-bottom: 20px;
    display: inline-flex;
    font-size: 10px
}

.seo-results-context>h3 {
    font-size: 29px;
    line-height: 1.3;
    margin-bottom: 24px
}

.result-story-label {
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    color: #8c9fc0;
    margin-top: 19px
}

.seo-results-context>p {
    font-size: 15px;
    line-height: 1.75;
    margin: 10px 0 15px;
    color: #7687a3
}

.seo-traffic-snapshot {
    margin-top: 25px;
    padding: 23px 25px;
    background: var(--dark-corner);
    border: 1px solid #3a5d9950;
    border-radius: 13px;
    color: white;
    position: relative;
    overflow: hidden
}

.seo-traffic-snapshot>span {
    font-size: 12px;
    color: #a7b9d9
}

.seo-traffic-snapshot>b {
    font-family: var(--font-site);
    font-size: 66px;
    line-height: 1.2;
    letter-spacing: -.05em;
    display: block;
    margin: 10px 0 14px;
    font-weight: 800;
    color: #c3d5ff
}

.seo-traffic-snapshot>b>i {
    font-size: 35px;
    font-style: normal;
    font-weight: 500;
    margin-left: 3px
}

.seo-traffic-snapshot>div {
    display: flex;
    gap: 17px;
    align-items: center;
    font-size: 20px
}

.seo-traffic-snapshot>div>span {
    color: #97accf
}

.seo-traffic-snapshot>div>i {
    color: #c3a569;
    font-style: normal
}

.seo-traffic-snapshot>div>strong {
    font-weight: 600
}

.seo-traffic-snapshot>small {
    display: block;
    margin-top: 15px;
    font-size: 10px;
    color: #7f96ba;
    line-height: 1.65
}

.seo-keyword-movement {
    align-self: center;
    min-width: 0
}

.seo-keyword-heading>.eyebrow {
    font-size: 10px;
    color: #8c9fc0;
    margin-bottom: 15px
}

.seo-keyword-heading h3 {
    font-size: 31px;
    line-height: 1.3
}

.seo-keyword-table {
    overflow-x: auto;
    border: 1px solid #dfe6f0;
    border-radius: 11px;
    margin-top: 25px;
    background: white
}

.seo-keyword-table table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    font-size: 13px;
    line-height: 1.6
}

.seo-keyword-table th,
.seo-keyword-table td {
    padding: 18px 15px;
    border-bottom: 1px solid #e7ecf4;
    white-space: nowrap
}

.seo-keyword-table thead th {
    font-size: 10px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #8a9bb7;
    background: #f7f9fe;
    font-weight: 600
}

.seo-keyword-table tbody th {
    font-weight: 500;
    white-space: normal;
    min-width: 150px;
    color: #586f96
}

.seo-keyword-table tr:last-child>* {
    border-bottom: 0
}

.seo-keyword-table td {
    color: #8494ad
}

.keyword-position {
    padding: 5px 9px;
    border-radius: 5px;
    background: #eef2ff;
    color: #4f6db1;
    font-weight: 700;
    font-size: 14px
}

.keyword-improvement {
    color: #5b9b87;
    font-size: 12px;
    font-weight: 600
}

.seo-keyword-footnote {
    font-size: 11px;
    line-height: 1.75;
    color: #9aa6bb;
    margin: 16px 0 18px
}

.seo-keyword-movement>.textlink {
    font-size: 13px;
    color: #6885bc
}

.gsc-report-header {
    border-bottom: 1px solid #e7ecf4
}

/* Slightly larger typography, especially in cards and reporting components. */
body {
    font-size: 17px
}

h1 {
    font-size: clamp(42px, 4.8vw, 70px)
}

h2 {
    font-size: clamp(34px, 3.6vw, 51px)
}

.eyebrow {
    font-size: 12px
}

.section-head>p,
.intro p,
.hero-lede {
    font-size: 17px
}

.page-hero p,
.service-hero p,
.industry-hero p {
    font-size: 17px;
    line-height: 1.8
}

.card p,
.industry-icon-card p,
.industry-solution-copy p,
.service-capability-grid p,
.solution-detail-copy p,
.project-strategy-card p,
.project-impact-card p {
    font-size: 15px;
    line-height: 1.8
}

.service-hero h1 {
    font-size: clamp(42px, 4.3vw, 63px)
}

.industry-hero h1 {
    font-size: clamp(41px, 4.3vw, 63px)
}

.service-capability-grid h3,
.industry-icon-card h3 {
    font-size: 23px
}

.service-depth-details p,
.industry-detail-list p {
    font-size: 15px
}

.service-packages .package-card li {
    font-size: 13px
}

.service-packages .package-fit {
    font-size: 14px
}

.gsc-report-header h3 {
    font-size: 24px
}

.gsc-report-header p {
    font-size: 14px
}

.gsc-kpi>span {
    font-size: 12px
}

.gsc-kpi>b {
    font-size: 32px
}

.gsc-tabs>button {
    font-size: 13px
}

.gsc-example-notice p {
    font-size: 13px
}

.gsc-proof-heading p {
    font-size: 17px
}

.gsc-report-footer {
    font-size: 10px
}

.workflow-panel p {
    font-size: 15px
}

.solution-detail-copy h3 {
    font-size: 25px
}

.service-faq p,
.industry-faq p {
    font-size: 15px
}

@media(max-width:1000px) {
    .seo-results-story {
        gap: 25px;
        padding: 28px
    }

    .seo-keyword-heading h3 {
        font-size: 27px
    }

    .seo-keyword-table th,
    .seo-keyword-table td {
        padding: 15px 11px
    }

    .seo-traffic-snapshot>b {
        font-size: 58px
    }

    .seo-results-context>h3 {
        font-size: 26px
    }
}

@media(max-width:800px) {
    .seo-results-story {
        grid-template-columns: 1fr;
        gap: 30px
    }

    .seo-results-context {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0 25px
    }

    .seo-results-context>.sample-badge,
    .seo-results-context>h3 {
        grid-column: 1/-1;
        justify-self: start
    }

    .seo-traffic-snapshot {
        grid-column: 2;
        grid-row: 3/7;
        margin-top: 0;
        align-self: start
    }

    .seo-results-context>.result-story-label,
    .seo-results-context>p {
        grid-column: 1
    }

    .seo-keyword-heading h3 br {
        display: none
    }

    .solution-detail-image img.solution-real-photo {
        height: 100%;
        min-height: 280px
    }

    .solution-detail-image:has(.solution-real-photo) {
        align-items: stretch
    }

    .service-hero h1,
    .industry-hero h1 {
        font-size: 49px
    }
}

@media(max-width:600px) {
    body {
        font-size: 16px
    }

    h1,
    .service-hero h1,
    .industry-hero h1 {
        font-size: 40px
    }

    h2 {
        font-size: 35px
    }

    .page-hero p,
    .service-hero p,
    .industry-hero p {
        font-size: 16px
    }

    .section-head>p {
        font-size: 15px
    }

    .seo-results-story {
        padding: 24px 20px
    }

    .seo-results-context {
        display: block
    }

    .seo-traffic-snapshot {
        margin-top: 25px
    }

    .seo-traffic-snapshot>b {
        font-size: 60px
    }

    .seo-keyword-heading h3 {
        font-size: 27px
    }

    .seo-keyword-table table {
        font-size: 12px
    }

    .seo-keyword-table th,
    .seo-keyword-table td {
        padding: 15px 10px
    }

    .seo-keyword-table tbody th {
        min-width: 135px
    }

    .gsc-kpi>b {
        font-size: 26px
    }

    .gsc-kpi>span {
        font-size: 10px
    }

    .gsc-report-header h3 {
        font-size: 21px
    }

    .gsc-example-notice p {
        font-size: 12px
    }

    .service-stage-main--brand>img.service-stage-real {
        height: 250px
    }

    .solution-detail-image img.solution-real-photo {
        height: 235px;
        min-height: 0
    }

    .service-packages .package-card li {
        font-size: 13px
    }

    .service-real-visual {
        height: 215px
    }
}

@media(prefers-reduced-motion:reduce) {
    .card:hover .service-real-visual>img {
        transform: none;
        transition: none
    }
}

.seo-overview {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: 70px;
    padding: 90px 0;
    border-bottom: 1px solid var(--border);
    align-items: start
}

.seo-overview-head {
    position: sticky;
    top: 125px
}

.seo-overview-head h2 {
    font-size: clamp(28px, 2.8vw, 40px)
}

.seo-overview-head p {
    font-size: 16px;
    line-height: 1.8
}

.seo-overview-list article {
    padding: 26px 0;
    border-top: 1px solid var(--border)
}

.seo-overview-list article:first-child {
    border-top: 0;
    padding-top: 0
}

.seo-overview-list h3 {
    font-size: 20px
}

.seo-overview-list p {
    font-size: 15px;
    line-height: 1.8;
    margin: 10px 0 0
}

.seo-overview a:not(.btn) {
    color: var(--blue);
    text-decoration: underline;
    text-decoration-color: #b3d1fd;
    text-underline-offset: 3px
}

@media(max-width:900px) {
    .seo-overview {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 60px 0
    }

    .seo-overview-head {
        position: static
    }
}
