/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties {
    @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {

        *,
        :before,
        :after,
        ::backdrop {
            --tw-blur: initial;
            --tw-brightness: initial;
            --tw-contrast: initial;
            --tw-grayscale: initial;
            --tw-hue-rotate: initial;
            --tw-invert: initial;
            --tw-opacity: initial;
            --tw-saturate: initial;
            --tw-sepia: initial;
            --tw-drop-shadow: initial;
            --tw-drop-shadow-color: initial;
            --tw-drop-shadow-alpha: 100%;
            --tw-drop-shadow-size: initial
        }
    }
}

@layer theme {

    :root,
    :host {
        --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
        --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
        --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        --spacing: .25rem;
        --default-font-family: var(--font-sans);
        --default-mono-font-family: var(--font-mono)
    }
}

@layer base {

    *,
    :after,
    :before,
    ::backdrop {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    ::file-selector-button {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    html,
    :host {
        -webkit-text-size-adjust: 100%;
        tab-size: 4;
        line-height: 1.5;
        font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
        font-feature-settings: var(--default-font-feature-settings, normal);
        font-variation-settings: var(--default-font-variation-settings, normal);
        -webkit-tap-highlight-color: transparent
    }

    hr {
        height: 0;
        color: inherit;
        border-top-width: 1px
    }

    abbr:where([title]) {
        -webkit-text-decoration: underline dotted;
        text-decoration: underline dotted
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        font-size: inherit;
        font-weight: inherit
    }

    a {
        color: inherit;
        -webkit-text-decoration: inherit;
        -webkit-text-decoration: inherit;
        -webkit-text-decoration: inherit;
        -webkit-text-decoration: inherit;
        text-decoration: inherit
    }

    b,
    strong {
        font-weight: bolder
    }

    code,
    kbd,
    samp,
    pre {
        font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
        font-feature-settings: var(--default-mono-font-feature-settings, normal);
        font-variation-settings: var(--default-mono-font-variation-settings, normal);
        font-size: 1em
    }

    small {
        font-size: 80%
    }

    sub,
    sup {
        vertical-align: baseline;
        font-size: 75%;
        line-height: 0;
        position: relative
    }

    sub {
        bottom: -.25em
    }

    sup {
        top: -.5em
    }

    table {
        text-indent: 0;
        border-color: inherit;
        border-collapse: collapse
    }

    :-moz-focusring {
        outline: auto
    }

    progress {
        vertical-align: baseline
    }

    summary {
        display: list-item
    }

    ol,
    ul,
    menu {
        list-style: none
    }

    img,
    svg,
    video,
    canvas,
    audio,
    iframe,
    embed,
    object {
        vertical-align: middle;
        display: block
    }

    img,
    video {
        max-width: 100%;
        height: auto
    }

    button,
    input,
    select,
    optgroup,
    textarea {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    ::file-selector-button {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    :where(select:is([multiple], [size])) optgroup {
        font-weight: bolder
    }

    :where(select:is([multiple], [size])) optgroup option {
        padding-inline-start: 20px
    }

    ::file-selector-button {
        margin-inline-end: 4px
    }

    ::placeholder {
        opacity: 1
    }

    @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
        ::placeholder {
            color: currentColor
        }

        @supports (color:color-mix(in lab, red, red)) {
            ::placeholder {
                color: color-mix(in oklab, currentcolor 50%, transparent)
            }
        }
    }

    textarea {
        resize: vertical
    }

    ::-webkit-search-decoration {
        -webkit-appearance: none
    }

    ::-webkit-date-and-time-value {
        min-height: 1lh;
        text-align: inherit
    }

    ::-webkit-datetime-edit {
        display: inline-flex
    }

    ::-webkit-datetime-edit-fields-wrapper {
        padding: 0
    }

    ::-webkit-datetime-edit {
        padding-block: 0
    }

    ::-webkit-datetime-edit-year-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-month-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-day-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-hour-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-minute-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-second-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-millisecond-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-meridiem-field {
        padding-block: 0
    }

    ::-webkit-calendar-picker-indicator {
        line-height: 1
    }

    :-moz-ui-invalid {
        box-shadow: none
    }

    button,
    input:where([type=button], [type=reset], [type=submit]) {
        appearance: button
    }

    ::file-selector-button {
        appearance: button
    }

    ::-webkit-inner-spin-button {
        height: auto
    }

    ::-webkit-outer-spin-button {
        height: auto
    }

    [hidden]:where(:not([hidden=until-found])) {
        display: none !important
    }
}

@layer components;

@layer utilities {
    .visible {
        visibility: visible
    }

    .relative {
        position: relative
    }

    .static {
        position: static
    }

    .start {
        inset-inline-start: var(--spacing)
    }

    .end {
        inset-inline-end: var(--spacing)
    }

    .flex {
        display: flex
    }

    .hidden {
        display: none
    }

    .table {
        display: table
    }

    .resize {
        resize: both
    }

    .blur {
        --tw-blur: blur(8px);
        filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )
    }
}

:root {
    --ink: #123a57;
    --ink-soft: #4b6373;
    --petrol: #123a57;
    --petrol-2: #0e3049;
    --copper: #0777a3;
    --copper-dark: #056589;
    --blue-deep: #123a57;
    --ivory: #f3f8fa;
    --paper: #fff;
    --sand: #b4d8e4;
    --line: #d5e5eb;
    --white: #fff;
    --font-body: var(--font-jakarta), Arial, sans-serif;
    --font-display: var(--font-jakarta), Arial, sans-serif;
    --shadow: 0 24px 70px #123a571f;
    --font-jakarta: "Plus Jakarta Sans"
}

body {
    color: var(--ink);
    font-family: var(--font-body);
    background: #fff;
    font-size: 16px
}

[hidden] {
    display: none !important
}

h1,
h2,
h3,
.wordmark {
    font-family: var(--font-body);
    letter-spacing: -.035em
}

h1,
h2 {
    text-wrap: balance
}

p,
li {
    text-wrap: pretty
}

:focus-visible {
    outline-color: #0777a3
}

.site-header {
    background: #fffffff5;
    border-bottom-color: #0777a338
}

.wordmark {
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 14px;
    line-height: 1;
    display: grid
}

.wordmark span {
    letter-spacing: .08em;
    border-left: 1px solid #0777a3;
    margin: 0;
    padding-left: 14px;
    font-size: 7px;
    line-height: 1.25
}

.desktop-nav {
    gap: 0
}

.desktop-nav>a,
.nav-group>summary {
    font-size: 13px
}

.header-cta,
.button-primary {
    color: #fff;
    background: #0777a3;
    border-color: #0777a3
}

.header-cta:hover,
.button-primary:hover {
    background: #123a57;
    border-color: #123a57
}

.button-secondary {
    color: #123a57;
    border-color: #0777a3
}

.button-secondary:hover {
    background: #eaf5f8
}

.hero,
.landing-hero,
.pricing-page-hero,
.contact-hero,
.inner-hero,
.analysis-hero {
    background-color: #f3f8fa
}

.hero:after,
.landing-hero:after {
    background: #0777a3
}

.eyebrow,
.card-tag {
    color: #0777a3
}

.hero h1,
.landing-copy h1,
.pricing-page-copy h1,
.inner-hero h1,
.analysis-hero h1 {
    color: #123a57;
    letter-spacing: -.055em;
    font-weight: 750
}

.hero-lead,
.landing-lead,
.pricing-page-copy>p,
.legal-hero>p {
    color: #496373
}

.trust-bar,
.services-section,
.pricing-section,
.landing-deliverables,
.landing-case-study,
.landing-proof,
.proof-section,
.pricing-success,
.final-cta,
.site-footer {
    background: #123a57
}

.trust-bar>div+div,
.footer-contact-strip,
.footer-bottom {
    border-color: #b4d8e447
}

.trust-bar span,
.service-card>span,
.recommended,
.pricing-card>strong,
.proof-note,
.footer-primary-actions>a:last-child,
.light-link,
.final-actions>a:last-child {
    color: #b4d8e4
}

.sector-card,
.case-study-grid article,
.fit-grid article,
.pricing-card,
.problem-grid article,
.landing-depth-grid article,
.pricing-page-grid article,
.pricing-boundary-grid article {
    border-radius: 16px
}

.service-card,
.pricing-card,
.deliverable-list article {
    border-color: #b4d8e447
}

.pricing-card.featured,
.pricing-page-grid article.featured {
    color: #123a57;
    background: #f3f8fa;
    border-color: #0777a3
}

.pricing-card.featured .recommended,
.pricing-page-grid article.featured>span {
    color: #0777a3
}

.pricing-five-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr))
}

.pricing-five-grid>article {
    grid-column: span 2
}

.pricing-five-grid>article:nth-child(4) {
    grid-column: 2/span 2
}

.pricing-five-grid>article:nth-child(5) {
    grid-column: 4/span 2
}

.about-media span,
.signature-card,
.landing-hero-image figcaption,
.pricing-page-hero figcaption {
    background: #0777a3
}

.site-footer,
.footer-wordmark strong,
.footer-wordmark span {
    color: #fff
}

.footer-column h2,
.footer-contact-strip span {
    color: #b4d8e4
}

.footer-bottom>div {
    flex-wrap: wrap;
    align-items: center;
    gap: 18px;
    display: flex
}

.footer-legal-button {
    color: inherit;
    cursor: pointer;
    font: inherit;
    font-size: inherit;
    background: 0 0;
    border: 0;
    margin: 0;
    padding: 0
}

.footer-legal-button:hover,
.footer-legal-button:focus-visible {
    color: #b4d8e4
}

.privacy-layer {
    background: #f3f8fa;
    border: 1px solid #b4d8e4;
    border-radius: 8px;
    margin: 24px 0 16px;
    padding: 20px
}

.privacy-layer strong {
    margin-bottom: 8px;
    display: block
}

.privacy-layer p {
    margin: 0;
    font-size: 13px;
    line-height: 1.65
}

.privacy-layer a,
.legal-copy a,
.cookie-detail a {
    color: #056589;
    text-underline-offset: 3px;
    text-decoration: underline
}

.cookie-backdrop {
    z-index: 1000;
    background: #0a223385;
    place-items: end center;
    padding: 24px;
    display: grid;
    position: fixed;
    inset: 0
}

.cookie-dialog {
    background: #fff;
    border: 1px solid #b4d8e4;
    border-radius: 16px;
    width: min(760px, 100%);
    padding: 28px;
    box-shadow: 0 28px 90px #051e304d
}

.cookie-dialog h2 {
    color: #123a57;
    margin: 3px 0 10px;
    font-size: clamp(25px, 4vw, 36px)
}

.cookie-dialog>p:not(.eyebrow) {
    color: #4b6373;
    margin: 0
}

.cookie-actions {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 22px;
    display: grid
}

.cookie-actions .button {
    cursor: pointer;
    width: 100%;
    min-height: 48px;
    font: inherit;
    justify-content: center;
    font-weight: 750
}

.cookie-detail {
    font-size: 12px;
    margin-top: 16px !important
}

.legal-main {
    background: #fff
}

.legal-hero {
    background: #f3f8fa;
    border-bottom: 1px solid #d5e5eb;
    padding: 92px max(24px, 50vw - 560px) 78px
}

.legal-hero h1 {
    color: #123a57;
    max-width: 900px;
    margin: 18px 0;
    font-size: clamp(44px, 7vw, 82px);
    font-weight: 750;
    line-height: .98
}

.legal-hero>p {
    max-width: 760px;
    font-size: 20px
}

.legal-hero>small {
    color: #607785;
    margin-top: 28px;
    display: block
}

.legal-layout {
    grid-template-columns: 260px minmax(0, 760px);
    gap: 80px;
    width: min(1120px, 100% - 48px);
    margin: 0 auto;
    padding: 88px 0 120px;
    display: grid
}

.legal-layout>aside {
    background: #f3f8fa;
    border: 1px solid #d5e5eb;
    border-radius: 16px;
    flex-direction: column;
    align-self: start;
    gap: 7px;
    padding: 24px;
    font-size: 13px;
    display: flex;
    position: sticky;
    top: 112px
}

.legal-layout>aside .eyebrow {
    margin-bottom: 8px
}

.legal-copy section {
    border-bottom: 1px solid #d5e5eb;
    padding: 0 0 52px 64px;
    position: relative
}

.legal-copy section+section {
    padding-top: 52px
}

.legal-copy h2 {
    margin: 0 0 18px;
    font-size: clamp(27px, 4vw, 38px);
    line-height: 1.12
}

.legal-copy p,
.legal-copy li {
    color: #435d6d
}

.legal-index {
    color: #0777a3;
    letter-spacing: .08em;
    font-weight: 800;
    position: absolute;
    top: 4px;
    left: 0
}

@media (width<=1180px) {
    .desktop-nav {
        display: none
    }

    .header-inner {
        grid-template-columns: 1fr auto auto
    }

    .mobile-menu {
        display: block
    }

    .footer-main {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .footer-brand {
        grid-column: 1/-1
    }
}

@media (width<=820px) {
    .pricing-five-grid {
        grid-template-columns: 1fr
    }

    .pricing-five-grid>article,
    .pricing-five-grid>article:nth-child(4),
    .pricing-five-grid>article:nth-child(5) {
        grid-column: auto
    }

    .legal-layout {
        grid-template-columns: 1fr;
        gap: 44px
    }

    .legal-layout>aside {
        position: static
    }
}

@media (width<=720px) {
    .header-inner {
        grid-template-columns: 1fr auto;
        width: calc(100% - 28px);
        min-height: 72px
    }

    .header-cta {
        display: none
    }

    .wordmark {
        gap: 9px
    }

    .wordmark strong {
        font-size: 16px
    }

    .wordmark span {
        padding-left: 9px;
        font-size: 5.5px
    }

    .footer-main {
        grid-template-columns: 1fr;
        width: calc(100% - 32px)
    }

    .cookie-backdrop {
        padding: 10px
    }

    .cookie-dialog {
        padding: 22px
    }

    .cookie-actions {
        grid-template-columns: 1fr
    }

    .legal-hero {
        padding: 56px 16px
    }

    .legal-layout {
        width: calc(100% - 32px);
        padding: 56px 0 80px
    }

    .legal-copy section,
    .legal-copy section+section {
        padding-top: 48px;
        padding-left: 0
    }

    .legal-copy section:first-child {
        padding-top: 0
    }

    .legal-index {
        margin-bottom: 8px;
        display: block;
        position: static
    }
}

@media (prefers-reduced-motion:reduce) {

    *,
    :before,
    :after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important
    }
}

.rn-cookie-shell {
    z-index: 1200;
    pointer-events: none;
    padding: 12px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0
}

.rn-cookie-dialog {
    color: #123a57;
    pointer-events: auto;
    background: #fff;
    border: 1px solid #b4d8e4;
    border-radius: 4px;
    width: min(720px, 100%);
    margin: 0 auto;
    padding: 22px;
    box-shadow: 0 18px 70px #123a573d
}

.rn-cookie-heading {
    justify-content: space-between;
    align-items: start;
    gap: 16px;
    display: flex
}

.rn-cookie-heading p {
    color: #0777a3;
    letter-spacing: .15em;
    text-transform: uppercase;
    margin: 0 0 6px;
    font-size: 9px;
    font-weight: 800
}

.rn-cookie-heading h2 {
    color: #123a57;
    font-family: var(--font-body);
    letter-spacing: -.025em;
    margin: 0;
    font-size: clamp(21px, 5vw, 29px);
    font-weight: 600;
    line-height: 1.12
}

.rn-cookie-heading>button {
    color: #123a57;
    cursor: pointer;
    width: 36px;
    min-width: 36px;
    height: 36px;
    font: inherit;
    background: #f3f8fa;
    border: 1px solid #b4d8e4;
    border-radius: 2px;
    padding: 0;
    font-size: 22px
}

.rn-cookie-dialog>p:not(.rn-cookie-detail) {
    color: #4b6373;
    margin: 12px 0 0;
    font-size: 13px;
    line-height: 1.55
}

.rn-cookie-preferences {
    border-top: 1px solid #b4d8e4;
    margin-top: 18px;
    display: grid
}

.rn-cookie-preferences>div,
.rn-cookie-preferences>label {
    border-bottom: 1px solid #dcebf0;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 16px;
    min-height: 58px;
    padding: 11px 0;
    display: grid
}

.rn-cookie-preferences span {
    gap: 2px;
    display: grid
}

.rn-cookie-preferences strong {
    color: #123a57;
    font-size: 12px
}

.rn-cookie-preferences small {
    color: #5b7180;
    font-size: 10px;
    line-height: 1.35
}

.rn-cookie-preferences em {
    color: #0777a3;
    text-transform: uppercase;
    font-size: 9px;
    font-style: normal;
    font-weight: 800
}

.rn-cookie-preferences input {
    accent-color: #0777a3;
    width: 20px;
    height: 20px
}

.rn-cookie-actions {
    gap: 8px;
    margin-top: 18px;
    display: grid
}

.rn-cookie-actions .button,
.rn-cookie-configure {
    cursor: pointer;
    width: 100%;
    min-height: 45px;
    font: inherit;
    justify-content: center;
    font-size: 11px;
    font-weight: 800
}

.rn-cookie-configure {
    color: #0777a3;
    text-underline-offset: 3px;
    background: 0 0;
    border: 0;
    text-decoration: underline
}

.rn-cookie-detail {
    color: #5b7180;
    margin: 12px 0 0;
    font-size: 10px;
    line-height: 1.45
}

.rn-cookie-detail a {
    color: #056589;
    text-underline-offset: 3px;
    text-decoration: underline
}

@media (width>=680px) {
    .rn-cookie-shell {
        padding: 22px
    }

    .rn-cookie-dialog {
        padding: 26px 28px
    }

    .rn-cookie-actions {
        grid-template-columns: repeat(3, auto);
        justify-content: start
    }

    .rn-cookie-actions .button,
    .rn-cookie-configure {
        width: auto;
        min-width: 155px;
        padding-inline: 18px
    }
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    background: var(--paper);
    color: var(--ink);
    font-family: var(--font-body);
    text-rendering: optimizelegibility;
    margin: 0;
    font-size: 16px;
    line-height: 1.6
}

a {
    color: inherit;
    text-decoration: none
}

img {
    max-width: 100%;
    display: block
}

button,
a,
summary {
    -webkit-tap-highlight-color: transparent
}

:focus-visible {
    outline: 3px solid var(--copper);
    outline-offset: 4px
}

.skip-link {
    z-index: 1000;
    background: var(--ink);
    color: #fff;
    padding: 12px 18px;
    transition: top .2s;
    position: fixed;
    top: -80px;
    left: 16px
}

.skip-link:focus {
    top: 16px
}

.site-header {
    z-index: 100;
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    background: #fbf8f2f0;
    border-bottom: 1px solid #be5b2b59;
    position: sticky;
    top: 0
}

.header-inner {
    grid-template-columns: minmax(205px, .8fr) auto minmax(205px, .8fr);
    align-items: center;
    gap: 20px;
    width: min(1440px, 100% - 64px);
    min-height: 88px;
    margin: 0 auto;
    display: grid
}

.wordmark {
    width: max-content;
    color: var(--ink);
    font-family: var(--font-display);
    flex-direction: column;
    font-size: clamp(24px, 2.2vw, 34px);
    line-height: .95;
    display: inline-flex
}

.wordmark span {
    font-family: var(--font-body);
    letter-spacing: .19em;
    text-transform: uppercase;
    margin-top: 7px;
    font-size: 9px;
    font-weight: 700
}

.desktop-nav {
    justify-content: center;
    align-items: center;
    gap: 3px;
    display: flex
}

.desktop-nav>a,
.nav-group>summary {
    white-space: nowrap;
    border-radius: 4px;
    padding: 12px 11px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    position: relative
}

.desktop-nav>a:hover,
.desktop-nav>a:focus-visible,
.nav-group>summary:hover,
.nav-group>summary:focus-visible,
.nav-group[open]>summary {
    color: var(--copper-dark);
    background: #be5b2b1a
}

.nav-group {
    position: relative
}

.nav-group>summary {
    cursor: pointer;
    align-items: center;
    gap: 6px;
    list-style: none;
    display: flex
}

.nav-group>summary::-webkit-details-marker {
    display: none
}

.mobile-nav-group>summary::-webkit-details-marker {
    display: none
}

.nav-group>summary span {
    color: var(--copper-dark);
    font-size: 12px;
    transition: transform .2s
}

.nav-group[open]>summary span {
    transform: rotate(180deg)
}

.nav-panel {
    z-index: 130;
    border: 1px solid var(--line);
    border-top: 4px solid var(--copper);
    background: var(--paper);
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    grid-template-columns: 1fr;
    gap: 0;
    width: 430px;
    padding: 26px;
    transition: opacity .18s, transform .18s, visibility .18s;
    display: grid;
    position: absolute;
    top: calc(100% + 19px);
    left: 50%;
    transform: translate(-50%, -8px);
    box-shadow: 0 28px 70px #0b2a2f33
}

.nav-panel:before {
    content: "";
    height: 24px;
    position: absolute;
    bottom: 100%;
    left: 0;
    right: 0
}

.nav-group[open]>.nav-panel,
.nav-group:hover>.nav-panel,
.nav-group:focus-within>.nav-panel {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transform: translate(-50%)
}

.nav-panel-wide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 34px;
    width: 720px
}

.nav-group-services>.nav-panel {
    left: 0;
    transform: translateY(-8px)
}

.nav-group-services[open]>.nav-panel,
.nav-group-services:hover>.nav-panel,
.nav-group-services:focus-within>.nav-panel {
    transform: translate(0)
}

.nav-panel-resources {
    left: auto;
    right: 0;
    transform: translateY(-8px)
}

.nav-group[open]>.nav-panel-resources,
.nav-group:hover>.nav-panel-resources,
.nav-group:focus-within>.nav-panel-resources {
    transform: translate(0)
}

.nav-panel-column>p {
    color: var(--copper-dark);
    letter-spacing: .16em;
    text-transform: uppercase;
    margin: 0 0 12px;
    font-size: 10px;
    font-weight: 900
}

.nav-panel-column>a {
    border-top: 1px solid var(--line);
    padding: 13px 4px;
    display: block
}

.nav-panel-column>a:hover,
.nav-panel-column>a:focus-visible {
    color: var(--copper-dark)
}

.nav-panel-column strong,
.nav-panel-column span {
    display: block
}

.nav-panel-column strong {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 500;
    line-height: 1.1
}

.nav-panel-column span {
    color: var(--ink-soft);
    margin-top: 4px;
    font-size: 11px;
    line-height: 1.4
}

.nav-panel-footer {
    border-top: 1px solid var(--line);
    flex-wrap: wrap;
    grid-column: 1/-1;
    gap: 8px 22px;
    margin-top: 12px;
    padding-top: 18px;
    display: flex
}

.nav-panel-footer a {
    color: var(--copper-dark);
    font-size: 11px;
    font-weight: 800
}

.header-cta {
    border: 1px solid var(--copper);
    color: var(--copper-dark);
    border-radius: 3px;
    justify-self: end;
    padding: 12px 17px;
    font-size: 13px;
    font-weight: 700;
    transition: background .2s, color .2s
}

.header-cta:hover {
    background: var(--copper);
    color: var(--white)
}

.mobile-menu {
    justify-self: end;
    display: none;
    position: relative
}

.mobile-menu>summary {
    border: 1px solid var(--line);
    cursor: pointer;
    color: var(--ink);
    border-radius: 4px;
    align-items: center;
    gap: 9px;
    padding: 10px 13px;
    font-size: 12px;
    font-weight: 800;
    list-style: none;
    display: flex
}

.mobile-menu>summary::-webkit-details-marker {
    display: none
}

.mobile-menu[open]>summary {
    border-color: var(--copper);
    background: var(--copper);
    color: #fff
}

.mobile-panel {
    background: var(--paper);
    border: 1px solid var(--line);
    border-top: 4px solid var(--copper);
    width: min(390px, 100vw - 32px);
    max-height: calc(100vh - 100px);
    box-shadow: var(--shadow);
    padding: 18px;
    position: absolute;
    top: 52px;
    right: 0;
    overflow-y: auto
}

.mobile-panel>nav>a,
.mobile-nav-group>summary {
    border-bottom: 1px solid var(--line);
    padding: 13px 10px;
    font-weight: 700;
    display: block
}

.mobile-nav-group>summary {
    cursor: pointer;
    justify-content: space-between;
    list-style: none;
    display: flex
}

.mobile-nav-group>summary span {
    color: var(--copper-dark);
    transition: transform .2s
}

.mobile-nav-group[open]>summary span {
    transform: rotate(45deg)
}

.mobile-nav-group>div {
    border-bottom: 1px solid var(--line);
    background: var(--ivory);
    padding: 6px 10px 10px 20px
}

.mobile-nav-group>div a {
    color: var(--ink-soft);
    padding: 8px 0;
    font-size: 12px;
    display: block
}

.mobile-menu-actions {
    text-align: center;
    gap: 12px;
    padding-top: 18px;
    display: grid
}

.mobile-menu-actions>a:last-child {
    color: var(--copper-dark);
    font-size: 12px;
    font-weight: 800
}

.hero {
    background: radial-gradient(circle at 78% 24%, #be5b2b17, transparent 28%), linear-gradient(#d7c6b11a 1px, transparent 1px), linear-gradient(90deg, #d7c6b117 1px, transparent 1px), var(--ivory);
    background-size: auto, 38px 38px, 38px 38px, auto;
    min-height: 710px;
    position: relative;
    overflow: hidden
}

.hero-inner {
    z-index: 2;
    grid-template-columns: minmax(0, 1.04fr) minmax(430px, .96fr);
    align-items: center;
    width: min(1440px, 100% - 64px);
    min-height: 710px;
    margin: 0 auto;
    display: grid;
    position: relative
}

.hero-copy {
    max-width: 790px;
    padding: 76px 40px 86px 0
}

.eyebrow {
    color: var(--copper-dark);
    letter-spacing: .17em;
    text-transform: uppercase;
    margin: 0 0 18px;
    font-size: 12px;
    font-weight: 800
}

.hero h1 {
    max-width: 820px;
    font-family: var(--font-display);
    letter-spacing: -.045em;
    margin: 0;
    font-size: clamp(58px, 5.6vw, 88px);
    font-weight: 400;
    line-height: .98
}

.hero-lead {
    max-width: 690px;
    color: var(--ink-soft);
    margin: 30px 0 0;
    font-size: clamp(18px, 1.55vw, 22px);
    line-height: 1.52
}

.hero-lead strong {
    color: var(--ink);
    font-weight: 800
}

.hero-actions {
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 34px;
    display: flex
}

.button {
    border: 1px solid #0000;
    border-radius: 3px;
    justify-content: center;
    align-items: center;
    gap: 12px;
    min-height: 56px;
    padding: 14px 24px;
    font-weight: 800;
    transition: transform .2s, box-shadow .2s, background .2s, color .2s;
    display: inline-flex
}

.button:hover {
    transform: translateY(-2px)
}

.button-primary {
    background: var(--copper);
    color: var(--white);
    box-shadow: 0 12px 28px #9d421d33
}

.button-primary:hover {
    background: var(--copper-dark);
    box-shadow: 0 16px 34px #9d421d47
}

.button-secondary {
    border-color: var(--ink);
    color: var(--ink)
}

.button-secondary:hover {
    background: var(--ink);
    color: var(--white)
}

.microcopy {
    color: #65777b;
    max-width: 610px;
    margin: 15px 0 0;
    font-size: 12px
}

.hero-visual {
    align-self: stretch;
    min-height: 710px;
    position: relative
}

.hero-visual:before {
    content: "";
    opacity: .64;
    background: linear-gradient(145deg, #f3f8fa 0%, #b4d8e4 72%, #8bc4d7 100%);
    border-radius: 50% 50% 0 0;
    width: 84%;
    height: 81%;
    position: absolute;
    bottom: 0;
    right: 2%
}

.hero-visual:after {
    content: "";
    border: 1px solid #0777a35c;
    width: 102%;
    height: 68%;
    position: absolute;
    bottom: 0;
    right: -15%;
    transform: rotate(-7deg)
}

.hero-visual>img {
    z-index: 3;
    object-fit: contain;
    object-position: bottom center;
    filter: drop-shadow(0 22px 20px #0d30362e);
    width: min(590px, 90%);
    height: 102%;
    position: absolute;
    bottom: -12%;
    right: 1%
}

.document {
    z-index: 2;
    background: #fffffff0;
    border: 1px solid #0777a333;
    width: 210px;
    padding: 22px;
    position: absolute;
    transform: rotate(-5deg);
    box-shadow: 0 20px 50px #0d30361a
}

.document-one {
    top: 17%;
    left: 1%
}

.document-two {
    bottom: 13%;
    right: -4%;
    transform: rotate(7deg)
}

.document span {
    color: var(--copper-dark);
    letter-spacing: .18em;
    font-size: 9px;
    font-weight: 800;
    display: block
}

.document strong {
    font-family: var(--font-display);
    margin: 7px 0 16px;
    font-size: 20px;
    line-height: 1.05;
    display: block
}

.document i {
    background: #c8b9a5;
    height: 1px;
    margin: 9px 0;
    display: block
}

.signature-card {
    z-index: 5;
    background: var(--petrol);
    color: var(--white);
    box-shadow: var(--shadow);
    flex-direction: column;
    padding: 14px 20px;
    display: flex;
    position: absolute;
    bottom: 22px;
    right: 4%
}

.signature-card span {
    color: #d5dedb;
    letter-spacing: .11em;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 700
}

.signature-card strong {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 400
}

.blueprint {
    z-index: 1;
    border: 1px solid #be5b2b29;
    position: absolute
}

.blueprint-one {
    width: 320px;
    height: 210px;
    top: 14%;
    right: 20%;
    transform: rotate(8deg)
}

.blueprint-two {
    width: 430px;
    height: 230px;
    bottom: 8%;
    right: 8%;
    transform: rotate(-4deg)
}

.trust-bar {
    background: var(--petrol);
    min-height: 104px;
    color: var(--white);
    grid-template-columns: repeat(4, 1fr);
    padding: 0 max(32px, 50vw - 720px);
    display: grid
}

.trust-bar div {
    text-align: center;
    border-right: 1px solid #be5b2bad;
    justify-content: center;
    align-items: center;
    gap: 16px;
    padding: 24px;
    display: flex
}

.trust-bar div:last-child {
    border-right: 0
}

.trust-bar span {
    color: #d98a63;
    font-family: var(--font-display);
    font-size: 18px
}

.trust-bar strong {
    font-size: 14px
}

.section {
    width: min(1280px, 100% - 64px);
    margin: 0 auto
}

.intro {
    grid-template-columns: .7fr 1.3fr;
    gap: 80px;
    padding-top: 132px;
    padding-bottom: 132px;
    display: grid
}

.section-kicker {
    border-top: 1px solid var(--copper);
    color: var(--copper-dark);
    letter-spacing: .14em;
    text-transform: uppercase;
    padding-top: 14px;
    font-size: 12px;
    font-weight: 800
}

.intro-copy h2,
.section-heading h2,
.method h2,
.proof-top h2,
.about h2,
.faq h2,
.final-cta h2 {
    font-family: var(--font-display);
    letter-spacing: -.035em;
    margin: 0;
    font-size: clamp(42px, 4.3vw, 64px);
    font-weight: 400;
    line-height: 1.02
}

.intro-copy p {
    max-width: 820px;
    color: var(--ink-soft);
    margin: 28px 0 0;
    font-size: 19px
}

.sectors {
    padding-bottom: 132px
}

.section-heading {
    grid-template-columns: 1.4fr .6fr;
    align-items: end;
    gap: 80px;
    margin-bottom: 56px;
    display: grid
}

.section-heading>p {
    color: var(--ink-soft);
    margin: 0
}

.sector-grid {
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
    grid-template-columns: repeat(3, 1fr);
    display: grid
}

.sector-card {
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    min-height: 410px;
    padding: 38px;
    transition: background .25s, transform .25s;
    position: relative;
    overflow: hidden
}

.sector-card:hover {
    background: var(--ivory);
    transform: translateY(-4px)
}

.sector-index {
    color: #be5b2b3d;
    font-family: var(--font-display);
    font-size: 66px;
    position: absolute;
    top: 20px;
    right: 28px
}

.card-tag {
    color: var(--copper-dark);
    letter-spacing: .13em;
    text-transform: uppercase;
    margin: 0 0 74px;
    font-size: 10px;
    font-weight: 800;
    position: relative
}

.sector-card h3,
.service-card h3 {
    font-family: var(--font-display);
    margin: 0;
    font-size: 34px;
    font-weight: 400
}

.sector-card>p:not(.card-tag) {
    color: var(--ink-soft);
    margin: 18px 0 26px
}

.sector-card>span {
    border-top: 1px solid var(--line);
    color: var(--ink);
    letter-spacing: .08em;
    text-transform: uppercase;
    padding-top: 16px;
    font-size: 11px;
    font-weight: 800;
    display: block
}

.card-link {
    color: var(--copper-dark);
    align-items: center;
    gap: 10px;
    margin-top: 22px;
    font-size: 12px;
    font-weight: 800;
    display: inline-flex
}

.card-link i {
    font-style: normal;
    transition: transform .2s
}

.card-link:hover i {
    transform: translate(3px, -3px)
}

.services-section {
    background: var(--petrol);
    color: var(--white)
}

.services-inner {
    padding-top: 124px;
    padding-bottom: 100px
}

.section-heading.light .eyebrow {
    color: #d98a63
}

.section-heading.light>p {
    color: #c7d3d2
}

.service-grid {
    border-top: 1px solid #fff3;
    border-left: 1px solid #fff3;
    grid-template-columns: repeat(3, 1fr);
    display: grid
}

.service-card {
    border-bottom: 1px solid #fff3;
    border-right: 1px solid #fff3;
    min-height: 300px;
    padding: 34px;
    transition: background .2s
}

.service-card:hover {
    background: #ffffff0b
}

.service-card>span {
    color: #d98a63;
    font-family: var(--font-display);
    margin-bottom: 48px;
    display: block
}

.service-card h3 {
    font-size: 29px
}

.service-card p {
    color: #c7d3d2;
    margin: 16px 0 0;
    font-size: 14px
}

.light-card-link {
    color: #e7b199
}

.service-cta {
    justify-content: space-between;
    align-items: center;
    gap: 32px;
    margin-top: 52px;
    display: flex
}

.service-cta p {
    color: #c7d3d2;
    margin: 0
}

.text-link {
    border-bottom: 1px solid var(--copper);
    color: var(--ink);
    align-items: center;
    gap: 28px;
    padding-bottom: 6px;
    font-weight: 800;
    display: inline-flex
}

.light-link {
    color: var(--white)
}

.text-link:hover span {
    transform: translate(3px, -3px)
}

.text-link span {
    transition: transform .2s
}

.method {
    grid-template-columns: .9fr 1.1fr;
    gap: 100px;
    padding-top: 132px;
    padding-bottom: 132px;
    display: grid
}

.method-intro {
    align-self: start;
    position: sticky;
    top: 140px
}

.method-intro>p:not(.eyebrow) {
    color: var(--ink-soft);
    margin: 26px 0
}

.method-steps {
    margin: 0;
    padding: 0;
    list-style: none
}

.method-steps li {
    border-top: 1px solid var(--line);
    grid-template-columns: 70px 1fr;
    gap: 26px;
    padding: 34px 0;
    display: grid
}

.method-steps li:last-child {
    border-bottom: 1px solid var(--line)
}

.method-steps>li>span {
    color: var(--copper-dark);
    font-family: var(--font-display);
    font-size: 24px
}

.method-steps h3 {
    font-family: var(--font-display);
    margin: 0;
    font-size: 34px;
    font-weight: 400
}

.method-steps p {
    color: var(--ink-soft);
    margin: 8px 0 0
}

.case-study-section {
    padding-top: 110px;
    padding-bottom: 110px
}

.case-study-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 48px;
    display: grid
}

.case-study-grid article {
    border: 1px solid var(--line);
    border-top: 4px solid var(--copper);
    background: var(--white);
    flex-direction: column;
    min-height: 100%;
    padding: 34px;
    display: flex;
    box-shadow: 0 18px 45px #0f2f3414
}

.case-study-grid h3 {
    font-family: var(--font-display);
    letter-spacing: -.035em;
    margin: 10px 0 8px;
    font-size: clamp(29px, 2.7vw, 42px);
    font-weight: 400;
    line-height: 1.04
}

.case-study-grid article>strong {
    color: var(--copper-dark);
    font-size: 18px
}

.case-study-grid article>p:not(.card-tag) {
    color: var(--ink-soft)
}

.case-study-grid article>div {
    border-top: 1px solid var(--line);
    margin-top: auto;
    padding-top: 20px
}

.case-study-grid article>div span {
    letter-spacing: .13em;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 800
}

.case-study-grid article>div p {
    margin-bottom: 0
}

.case-study-grid small {
    color: #6d7779;
    margin-top: 18px;
    font-size: 12px;
    line-height: 1.5;
    display: block
}

.case-study-link {
    margin-top: 20px
}

.data-note {
    color: #6d7779;
    margin: 24px 0 0;
    font-size: 13px
}

.fit-section {
    padding-top: 110px;
    padding-bottom: 110px
}

.fit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 48px;
    display: grid
}

.fit-grid article {
    border: 1px solid var(--line);
    padding: 40px
}

.fit-ready {
    background: var(--white)
}

.fit-not-ready {
    background: var(--ivory);
    border-top: 4px solid var(--copper) !important
}

.fit-grid h3 {
    max-width: 620px;
    font-family: var(--font-display);
    letter-spacing: -.035em;
    margin: 12px 0 20px;
    font-size: clamp(32px, 3.2vw, 48px);
    font-weight: 400;
    line-height: 1.05
}

.fit-grid ul {
    margin: 24px 0 30px;
    padding: 0;
    list-style: none
}

.fit-grid li {
    border-top: 1px solid var(--line);
    background: linear-gradient(var(--copper), var(--copper)) 2px 21px / 8px 2px no-repeat;
    padding: 12px 0 12px 24px
}

.fit-not-ready>p:not(.card-tag) {
    color: var(--ink-soft)
}

.fit-not-ready>strong {
    color: var(--copper-dark);
    margin: 24px 0 6px;
    font-size: 18px;
    display: block
}

.pricing-section {
    background: var(--petrol);
    color: var(--white)
}

.pricing-section>.section {
    padding-top: 110px;
    padding-bottom: 110px
}

.pricing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 18px;
    margin-top: 52px;
    display: grid
}

.pricing-card {
    background: #ffffff0f;
    border: 1px solid #ffffff38;
    padding: 36px;
    position: relative
}

.pricing-card.featured {
    border-color: var(--copper);
    background: var(--paper);
    color: var(--ink);
    transform: translateY(-10px)
}

.recommended {
    background: var(--copper);
    color: var(--white);
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 22px;
    padding: 7px 10px;
    font-size: 10px;
    font-weight: 900;
    display: inline-block
}

.pricing-card h3 {
    font-family: var(--font-display);
    margin: 0;
    font-size: 34px;
    font-weight: 400
}

.pricing-card>strong {
    color: #f1a078;
    margin-top: 14px;
    font-size: 20px;
    display: block
}

.pricing-card.featured>strong {
    color: var(--copper-dark)
}

.pricing-card p {
    min-height: 102px
}

.pricing-card ul {
    margin: 24px 0 30px;
    padding: 0;
    list-style: none
}

.pricing-card li {
    opacity: .82;
    border-top: 1px solid;
    padding: 11px 0;
    font-size: 14px
}

.pricing-card .button {
    justify-content: center;
    width: 100%
}

.pricing-card:not(.featured) .button-secondary {
    color: var(--white);
    border-color: #ffffffb3
}

.pricing-note {
    color: #ffffffb3;
    margin: 26px 0 0;
    font-size: 13px
}

.proof-section {
    background: var(--ivory);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line)
}

.proof-section .section {
    padding-top: 120px;
    padding-bottom: 100px
}

.proof-top {
    grid-template-columns: 1fr .7fr;
    align-items: end;
    gap: 80px;
    display: grid
}

.proof-top>p {
    color: var(--ink-soft);
    margin: 0
}

.administration-logos {
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-top: 62px;
    display: grid
}

.logo-tile {
    background: var(--white);
    border: 1px solid #e5ddd1;
    justify-content: center;
    align-items: center;
    min-height: 110px;
    padding: 18px;
    display: flex
}

.logo-tile img {
    mix-blend-mode: multiply;
    object-fit: contain;
    filter: grayscale();
    opacity: .72;
    max-height: 62px
}

.proof-note {
    color: #69787b;
    margin: 18px 0 0;
    font-size: 11px
}

.about {
    grid-template-columns: .9fr 1.1fr;
    align-items: center;
    gap: 92px;
    padding-top: 132px;
    padding-bottom: 132px;
    display: grid
}

.about-media {
    position: relative
}

.about-media:before {
    border: 1px solid var(--copper);
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: -26px;
    right: 26px
}

.about-media img {
    z-index: 2;
    width: 100%;
    box-shadow: var(--shadow);
    position: relative
}

.about-media span {
    z-index: 3;
    background: var(--petrol);
    color: #fff;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: 12px 18px;
    font-size: 11px;
    font-weight: 800;
    position: absolute;
    bottom: 24px;
    right: -18px
}

.about-lead {
    color: var(--ink);
    margin: 28px 0 18px;
    font-size: 20px
}

.about-copy>p:not(.eyebrow, .about-lead) {
    color: var(--ink-soft)
}

.about blockquote {
    border-left: 3px solid var(--copper);
    font-family: var(--font-display);
    margin: 32px 0 0;
    padding: 10px 0 10px 24px;
    font-size: 24px;
    line-height: 1.3
}

.faq {
    grid-template-columns: .75fr 1.25fr;
    gap: 100px;
    padding-bottom: 132px;
    display: grid
}

.faq-list {
    border-top: 1px solid var(--line)
}

.faq-list details {
    border-bottom: 1px solid var(--line)
}

.faq-list summary {
    cursor: pointer;
    grid-template-columns: 46px minmax(0, 1fr) 32px;
    align-items: center;
    gap: 16px;
    padding: 26px 0;
    font-weight: 800;
    list-style: none;
    display: grid
}

.faq-list summary::-webkit-details-marker {
    display: none
}

.faq-list summary:after {
    content: "+";
    color: var(--copper);
    font-family: var(--font-display);
    grid-column: 3;
    justify-self: end;
    font-size: 28px
}

.faq-list details[open] summary:after {
    content: "−"
}

.faq-list summary span {
    color: var(--copper-dark);
    font-family: var(--font-display)
}

.faq-list details>p {
    color: var(--ink-soft);
    margin: -6px 40px 28px 62px
}

.final-cta {
    background: var(--petrol);
    width: min(1440px, 100% - 64px);
    color: var(--white);
    grid-template-columns: 1.35fr .65fr;
    align-items: center;
    gap: 80px;
    margin: 0 auto 32px;
    padding: clamp(48px, 6vw, 88px);
    display: grid
}

.final-cta>div>p:not(.eyebrow) {
    color: #c7d3d2;
    max-width: 740px;
    margin: 28px 0 0
}

.final-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    display: flex
}

.button-on-dark {
    color: #fff;
    border-color: #ffffffb3
}

.button-on-dark:hover {
    color: var(--petrol);
    background: #fff
}

.final-actions>a:last-child {
    color: #d6dfdd;
    text-align: center;
    text-underline-offset: 4px;
    margin-top: 8px;
    text-decoration: underline
}

.site-footer {
    color: #fff;
    background: #08262c;
    padding: 0
}

.footer-main {
    grid-template-columns: minmax(290px, 1.45fr) repeat(3, minmax(150px, 1fr));
    align-items: start;
    gap: clamp(34px, 4vw, 66px);
    width: min(1280px, 100% - 64px);
    margin: 0 auto;
    padding: 78px 0 60px;
    display: grid
}

.footer-wordmark {
    color: #fff
}

.footer-brand>p {
    color: #bdcdcb;
    max-width: 390px;
    margin: 24px 0 0;
    font-size: 14px;
    line-height: 1.7
}

.footer-proof {
    gap: 28px;
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
    display: flex
}

.footer-proof li {
    flex-direction: column;
    display: flex
}

.footer-proof strong {
    color: #e3a17f;
    font-family: var(--font-display);
    font-size: 25px;
    font-weight: 500
}

.footer-proof span {
    color: #91aaa7;
    max-width: 120px;
    margin-top: 3px;
    font-size: 10px;
    line-height: 1.35
}

.footer-primary-actions {
    align-items: center;
    gap: 18px;
    margin-top: 28px;
    display: flex
}

.footer-primary-actions .button {
    padding: 12px 16px;
    font-size: 11px
}

.footer-primary-actions>a:last-child {
    color: #fff;
    font-size: 11px;
    font-weight: 800
}

.footer-column {
    flex-direction: column;
    gap: 11px;
    display: flex
}

.footer-column h2 {
    color: #e3a17f;
    font-family: var(--font-body);
    letter-spacing: .16em;
    text-transform: uppercase;
    margin: 4px 0 11px;
    font-size: 10px;
    font-weight: 900
}

.footer-column a {
    color: #c3d1cf;
    font-size: 12px;
    line-height: 1.45
}

.footer-column a:hover,
.footer-column a:focus-visible {
    color: #fff;
    text-underline-offset: 4px;
    text-decoration: underline
}

.footer-contact-strip {
    background: #ffffff09;
    border-top: 1px solid #ffffff24;
    border-bottom: 1px solid #ffffff24;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    padding: 24px max(32px, 50vw - 640px);
    display: grid
}

.footer-contact-strip>div {
    flex-direction: column;
    gap: 5px;
    display: flex
}

.footer-contact-strip>div:not(:first-child) {
    border-left: 1px solid #ffffff1f;
    padding-left: 28px
}

.footer-contact-strip span {
    color: #829c99;
    letter-spacing: .13em;
    text-transform: uppercase;
    font-size: 9px;
    font-weight: 900
}

.footer-contact-strip a,
.footer-contact-strip strong {
    color: #fff;
    font-size: 12px;
    font-weight: 700
}

.footer-bottom {
    color: #96aaa8;
    justify-content: space-between;
    gap: 24px;
    width: min(1280px, 100% - 64px);
    margin: 0 auto;
    padding: 24px 0 30px;
    font-size: 11px;
    display: flex
}

.footer-bottom div {
    gap: 18px;
    display: flex
}

.floating-whatsapp {
    z-index: 90;
    color: #fff;
    background: #1f7d65;
    border: 1px solid #ffffffb3;
    border-radius: 999px;
    align-items: center;
    gap: 10px;
    padding: 9px 16px 9px 9px;
    font-size: 12px;
    display: flex;
    position: fixed;
    bottom: 22px;
    right: 22px;
    box-shadow: 0 10px 34px #0723204d
}

.floating-whatsapp span {
    background: #ffffff2e;
    border-radius: 50%;
    place-items: center;
    width: 34px;
    height: 34px;
    font-weight: 900;
    display: grid
}

@media (width<=1180px) {
    .header-inner {
        grid-template-columns: 1fr auto
    }

    .desktop-nav,
    .header-cta {
        display: none
    }

    .mobile-menu {
        display: block
    }

    .footer-main {
        grid-template-columns: 1.2fr repeat(2, 1fr)
    }

    .footer-column:last-child {
        grid-column: 2/-1
    }

    .hero {
        min-height: 660px
    }

    .hero-inner {
        grid-template-columns: 1.12fr .88fr;
        min-height: 660px
    }

    .hero h1 {
        font-size: clamp(52px, 6vw, 72px)
    }

    .hero-visual,
    .hero-inner {
        min-height: 660px
    }

    .document {
        display: none
    }
}

@media (width<=900px) {

    .header-inner,
    .hero-inner,
    .section,
    .final-cta {
        width: min(100% - 40px, 680px)
    }

    .header-inner {
        min-height: 76px
    }

    .hero-inner {
        display: block
    }

    .hero-copy {
        padding: 70px 0 20px
    }

    .hero-visual {
        min-height: 510px
    }

    .hero-visual>img {
        width: min(470px, 86%);
        bottom: -15%;
        right: 50%;
        transform: translate(50%)
    }

    .signature-card {
        right: 0
    }

    .trust-bar {
        grid-template-columns: repeat(2, 1fr);
        padding: 0
    }

    .trust-bar div:nth-child(2) {
        border-right: 0
    }

    .trust-bar div:nth-child(-n+2) {
        border-bottom: 1px solid #be5b2bad
    }

    .intro,
    .section-heading,
    .method,
    .proof-top,
    .about,
    .faq,
    .final-cta {
        grid-template-columns: 1fr;
        gap: 42px
    }

    .case-study-grid,
    .fit-grid,
    .pricing-grid {
        grid-template-columns: 1fr
    }

    .pricing-card.featured {
        transform: none
    }

    .intro,
    .services-inner,
    .method,
    .proof-section .section,
    .about {
        padding-top: 90px;
        padding-bottom: 90px
    }

    .sectors,
    .faq {
        padding-bottom: 90px
    }

    .section-heading {
        align-items: start
    }

    .sector-grid,
    .service-grid {
        grid-template-columns: 1fr
    }

    .sector-card {
        min-height: 340px
    }

    .service-card {
        min-height: 260px
    }

    .method-intro {
        position: static
    }

    .administration-logos {
        grid-template-columns: repeat(2, 1fr)
    }

    .final-cta {
        margin-bottom: 20px
    }

    .footer-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: min(100% - 40px, 680px)
    }

    .footer-brand {
        grid-column: 1/-1
    }

    .footer-column:last-child {
        grid-column: auto
    }

    .footer-contact-strip {
        grid-template-columns: 1fr;
        padding-left: max(20px, 50vw - 340px);
        padding-right: max(20px, 50vw - 340px)
    }

    .footer-contact-strip>div:not(:first-child) {
        border-top: 1px solid #ffffff1f;
        border-left: 0;
        padding-top: 16px;
        padding-left: 0
    }

    .footer-bottom {
        flex-direction: column;
        width: min(100% - 40px, 680px)
    }
}

@media (width<=560px) {

    .header-inner,
    .hero-inner,
    .section,
    .final-cta {
        width: calc(100% - 32px)
    }

    .wordmark {
        font-size: 25px
    }

    .mobile-panel {
        width: auto;
        position: fixed;
        top: 70px;
        left: 16px;
        right: 16px
    }

    .footer-main {
        grid-template-columns: 1fr;
        width: calc(100% - 32px);
        padding-top: 58px
    }

    .footer-brand,
    .footer-column:last-child {
        grid-column: auto
    }

    .footer-proof,
    .footer-primary-actions {
        flex-wrap: wrap
    }

    .footer-bottom {
        width: calc(100% - 32px)
    }

    .footer-bottom div {
        flex-wrap: wrap
    }

    .hero-copy {
        padding-top: 52px
    }

    .hero h1 {
        font-size: clamp(45px, 13vw, 62px)
    }

    .hero-lead {
        font-size: 17px
    }

    .hero-actions,
    .hero-actions .button {
        width: 100%
    }

    .hero-visual {
        min-height: 420px
    }

    .hero-visual>img {
        width: 96%
    }

    .signature-card {
        bottom: 12px;
        right: -5px
    }

    .trust-bar div {
        flex-direction: column;
        gap: 4px;
        min-height: 104px;
        padding: 16px
    }

    .trust-bar strong {
        font-size: 12px
    }

    .intro-copy h2,
    .section-heading h2,
    .method h2,
    .proof-top h2,
    .about h2,
    .faq h2,
    .final-cta h2 {
        font-size: 42px
    }

    .sector-card,
    .service-card {
        padding: 28px
    }

    .service-cta {
        flex-direction: column;
        align-items: flex-start
    }

    .administration-logos {
        grid-template-columns: 1fr
    }

    .about-media:before {
        bottom: -12px;
        right: 12px
    }

    .about-media span {
        right: -6px
    }

    .faq-list summary {
        grid-template-columns: 36px minmax(0, 1fr) 28px
    }

    .faq-list details>p {
        margin-left: 52px
    }

    .final-cta {
        padding: 42px 24px
    }

    .floating-whatsapp strong {
        display: none
    }

    .floating-whatsapp {
        padding-right: 9px
    }
}

.verified-case-hero {
    background: radial-gradient(circle at 12% 12%, #b4d8e46b, #0000 32%), #f3f8fa;
    border-bottom: 1px solid #b4d8e4;
    overflow: hidden
}

.verified-case-index {
    padding-top: 10px;
    padding-bottom: 110px
}

.verified-case-index>header {
    grid-template-columns: minmax(0, 1.05fr) minmax(300px, .65fr);
    align-items: end;
    gap: 60px;
    margin-bottom: 40px;
    display: grid
}

.verified-case-index h2 {
    color: #123a57;
    max-width: 850px;
    margin: 8px 0 0;
    font-size: clamp(35px, 4.4vw, 61px);
    line-height: 1.02
}

.verified-case-index>header>p {
    color: #4b6373;
    margin: 0;
    line-height: 1.72
}

.verified-case-index-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    display: grid
}

.verified-case-index-grid a {
    color: #123a57;
    background: #f8fbfc;
    border: 1px solid #b4d8e4;
    flex-direction: column;
    grid-column: span 2;
    min-height: 255px;
    padding: 27px;
    text-decoration: none;
    display: flex
}

.verified-case-index-grid a:nth-child(4) {
    grid-column: 2/span 2
}

.verified-case-index-grid a:nth-child(5) {
    grid-column: 4/span 2
}

.verified-case-index-grid a:hover,
.verified-case-index-grid a:focus-visible {
    background: #f3f8fa;
    border-color: #0777a3
}

.verified-case-index-grid span {
    color: #0777a3;
    letter-spacing: .11em;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 820
}

.verified-case-index-grid strong {
    margin-top: 18px;
    font-size: clamp(20px, 2vw, 27px);
    line-height: 1.18
}

.verified-case-index-grid small {
    color: #4b6373;
    margin-top: 14px
}

.verified-case-index-grid i {
    color: #0777a3;
    margin-top: auto;
    padding-top: 24px;
    font-size: 12px;
    font-style: normal;
    font-weight: 820
}

.verified-case-hero-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .72fr);
    align-items: center;
    gap: 68px;
    padding-top: 72px;
    padding-bottom: 80px;
    display: grid
}

.verified-case-hero-copy h1 {
    color: #123a57;
    letter-spacing: -.058em;
    max-width: 900px;
    margin: 18px 0 24px;
    font-size: clamp(43px, 5.7vw, 79px);
    font-weight: 780;
    line-height: .98
}

.verified-case-lead {
    color: #3f5a6b;
    max-width: 790px;
    margin: 0;
    font-size: clamp(17px, 1.65vw, 21px);
    line-height: 1.68
}

.verified-case-hero-actions {
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
    display: flex
}

.verified-case-visual {
    margin: 0;
    position: relative
}

.verified-case-visual:before {
    z-index: 0;
    content: "";
    border: 1px solid #7fb6c9;
    position: absolute;
    inset: -16px 18px 30px -18px
}

.verified-case-visual img {
    z-index: 1;
    aspect-ratio: 4/3;
    object-fit: cover;
    width: 100%;
    display: block;
    position: relative
}

.verified-case-visual figcaption {
    z-index: 2;
    color: #ffffffd1;
    background: #123a57;
    max-width: 88%;
    margin: -26px 0 0 auto;
    padding: 20px 22px;
    font-size: 12px;
    line-height: 1.55;
    position: relative
}

.verified-case-metrics {
    padding-top: 62px;
    padding-bottom: 92px
}

.verified-case-metrics dl {
    border-top: 1px solid #b4d8e4;
    border-left: 1px solid #b4d8e4;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    display: grid
}

.verified-case-metrics dl>div {
    background: #fff;
    border-bottom: 1px solid #b4d8e4;
    border-right: 1px solid #b4d8e4;
    min-height: 150px;
    padding: 27px 24px
}

.verified-case-metrics dt {
    color: #0777a3;
    letter-spacing: -.05em;
    font-size: clamp(26px, 3.1vw, 43px);
    font-weight: 820;
    line-height: 1.04
}

.verified-case-metrics dd {
    color: #4b6373;
    margin: 12px 0 0;
    font-size: 12px;
    line-height: 1.5
}

.verified-case-identity,
.verified-case-copy,
.verified-case-decision,
.verified-case-lessons,
.verified-case-related {
    grid-template-columns: minmax(0, .77fr) minmax(0, 1.23fr);
    gap: 72px;
    display: grid
}

.verified-case-identity {
    padding-top: 0;
    padding-bottom: 104px
}

.verified-case-identity h2,
.verified-case-heading h2,
.verified-case-work h2,
.verified-case-result h2,
.verified-case-lessons h2,
.verified-case-related h2 {
    color: #123a57;
    letter-spacing: -.05em;
    max-width: 760px;
    margin: 8px 0 0;
    font-size: clamp(34px, 4.1vw, 57px);
    line-height: 1.03
}

.verified-case-identity dl {
    border-top: 1px solid #b4d8e4;
    margin: 0
}

.verified-case-identity dl>div {
    border-bottom: 1px solid #b4d8e4;
    grid-template-columns: 155px minmax(0, 1fr);
    gap: 22px;
    padding: 21px 0;
    display: grid
}

.verified-case-identity dt {
    color: #0777a3;
    letter-spacing: .1em;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 820
}

.verified-case-identity dd {
    color: #314f62;
    margin: 0;
    line-height: 1.6
}

.verified-case-copy {
    border-top: 1px solid #d5e5eb;
    padding-top: 94px;
    padding-bottom: 110px
}

.verified-case-prose p,
.verified-case-heading>p:last-child {
    color: #3f5a6b;
    margin: 0 0 22px;
    font-size: 17px;
    line-height: 1.85
}

.verified-case-prose p:first-child:first-letter {
    float: left;
    color: #0777a3;
    margin: 8px 10px 0 0;
    font-size: 60px;
    font-weight: 800;
    line-height: .72
}

.verified-case-work {
    color: #fff;
    background: #123a57
}

.verified-case-work-grid {
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    gap: 78px;
    padding-top: 104px;
    padding-bottom: 104px;
    display: grid
}

.verified-case-work .eyebrow {
    color: #b4d8e4
}

.verified-case-work h2 {
    color: #fff
}

.verified-case-work-grid>div>p:last-child {
    color: #ffffffb3;
    max-width: 610px;
    line-height: 1.75
}

.verified-case-work ol {
    border-top: 1px solid #b4d8e447;
    margin: 0;
    padding: 0;
    list-style: none
}

.verified-case-work li {
    border-bottom: 1px solid #b4d8e447;
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 16px;
    padding: 23px 0;
    display: grid
}

.verified-case-work li span {
    color: #b4d8e4;
    font-size: 11px;
    font-weight: 820
}

.verified-case-work li p {
    color: #ffffffd9;
    margin: 0;
    line-height: 1.65
}

.verified-case-decision {
    align-items: start;
    padding-top: 110px;
    padding-bottom: 114px
}

.verified-case-heading>p:last-child {
    margin-top: 24px
}

.verified-case-factor-grid {
    gap: 12px;
    display: grid
}

.verified-case-factor-grid article {
    background: #f8fbfc;
    border: 1px solid #b4d8e4;
    grid-template-columns: 42px minmax(150px, .55fr) minmax(0, 1fr);
    align-items: start;
    gap: 18px;
    padding: 28px;
    display: grid
}

.verified-case-factor-grid article>span {
    color: #0777a3;
    font-size: 11px;
    font-weight: 820
}

.verified-case-factor-grid h3 {
    color: #123a57;
    margin: 0;
    font-size: 20px;
    line-height: 1.25
}

.verified-case-factor-grid p {
    color: #4b6373;
    margin: 0;
    line-height: 1.65
}

.verified-case-result {
    color: #fff;
    background: radial-gradient(circle at 82% 8%, #0777a33d, #0000 28%), #0e3049
}

.verified-case-result-grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(330px, .7fr);
    align-items: start;
    gap: 78px;
    padding-top: 104px;
    padding-bottom: 104px;
    display: grid
}

.verified-case-result .eyebrow {
    color: #b4d8e4
}

.verified-case-result h2 {
    color: #fff;
    margin-bottom: 28px
}

.verified-case-result-grid>div>p:not(.eyebrow) {
    color: #ffffffc7;
    font-size: 17px;
    line-height: 1.8
}

.verified-source-card {
    background: #ffffff0e;
    border: 1px solid #b4d8e461;
    border-top: 5px solid #42b2db;
    padding: 34px
}

.verified-source-card>p:first-child {
    color: #b4d8e4;
    letter-spacing: .13em;
    text-transform: uppercase;
    margin: 0 0 14px;
    font-size: 10px;
    font-weight: 820
}

.verified-source-card h3 {
    color: #fff;
    margin: 0 0 10px;
    font-size: 25px;
    line-height: 1.18
}

.verified-source-card>span {
    color: #b4d8e4;
    font-size: 12px;
    font-weight: 750;
    display: block
}

.verified-source-card>p:not(:first-child) {
    color: #ffffffb8;
    margin: 24px 0;
    line-height: 1.65
}

.verified-source-card>a {
    color: #123a57;
    background: #fff;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    padding: 17px 18px;
    font-size: 13px;
    font-weight: 820;
    line-height: 1.4;
    text-decoration: none;
    display: flex
}

.verified-source-card>a:hover,
.verified-source-card>a:focus-visible {
    background: #b4d8e4
}

.verified-source-card small {
    color: #ffffff8f;
    margin-top: 16px;
    line-height: 1.5;
    display: block
}

.verified-case-lessons {
    padding-top: 108px;
    padding-bottom: 104px
}

.verified-case-lessons ul {
    border-top: 1px solid #b4d8e4;
    margin: 0;
    padding: 0;
    list-style: none
}

.verified-case-lessons li {
    color: #314f62;
    border-bottom: 1px solid #b4d8e4;
    padding: 24px 20px 24px 54px;
    font-size: 17px;
    line-height: 1.6;
    position: relative
}

.verified-case-lessons li:before {
    color: #0777a3;
    content: "✓";
    font-weight: 850;
    position: absolute;
    left: 12px
}

.verified-case-transparency {
    background: #f3f8fa;
    border: 1px solid #b4d8e4;
    border-left: 6px solid #0777a3;
    grid-template-columns: minmax(190px, .38fr) minmax(0, 1fr);
    gap: 35px;
    margin-bottom: 100px;
    padding: 34px 38px;
    display: grid
}

.verified-case-transparency strong {
    color: #123a57;
    font-size: 19px
}

.verified-case-transparency p {
    color: #4b6373;
    margin: 0;
    font-size: 14px;
    line-height: 1.7
}

.verified-case-related {
    padding-top: 0;
    padding-bottom: 110px
}

.verified-case-related>div:last-child {
    gap: 10px;
    display: grid
}

.verified-case-related a {
    color: #123a57;
    border: 1px solid #b4d8e4;
    grid-template-columns: minmax(0, 1fr) 30px;
    gap: 8px 16px;
    padding: 24px;
    text-decoration: none;
    display: grid
}

.verified-case-related a:hover,
.verified-case-related a:focus-visible {
    background: #f3f8fa;
    border-color: #0777a3
}

.verified-case-related a span {
    color: #0777a3;
    letter-spacing: .11em;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 820
}

.verified-case-related a strong {
    font-size: 18px;
    line-height: 1.35
}

.verified-case-related a i {
    color: #0777a3;
    grid-area: 1/2/span 2;
    align-self: center;
    font-style: normal;
    font-weight: 850
}

@media (width<=960px) {
    .verified-case-index>header {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .verified-case-index-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .verified-case-index-grid a,
    .verified-case-index-grid a:nth-child(4),
    .verified-case-index-grid a:nth-child(5) {
        grid-column: auto
    }

    .verified-case-hero-grid,
    .verified-case-identity,
    .verified-case-copy,
    .verified-case-work-grid,
    .verified-case-decision,
    .verified-case-result-grid,
    .verified-case-lessons,
    .verified-case-related {
        grid-template-columns: 1fr;
        gap: 42px
    }

    .verified-case-hero-grid {
        padding-bottom: 70px
    }

    .verified-case-visual {
        width: min(650px, 100%)
    }

    .verified-case-metrics dl {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media (width<=620px) {
    .verified-case-index {
        padding-bottom: 78px
    }

    .verified-case-index-grid {
        grid-template-columns: 1fr
    }

    .verified-case-index-grid a {
        min-height: 225px;
        padding: 24px 20px
    }

    .verified-case-hero-grid {
        gap: 52px;
        padding-top: 46px;
        padding-bottom: 58px
    }

    .verified-case-hero-copy h1 {
        font-size: clamp(39px, 12.2vw, 60px)
    }

    .verified-case-hero-actions {
        flex-direction: column;
        align-items: stretch
    }

    .verified-case-hero-actions .button {
        width: 100%
    }

    .verified-case-visual:before {
        inset: -10px 12px 24px -10px
    }

    .verified-case-visual figcaption {
        max-width: 94%;
        padding: 16px 18px
    }

    .verified-case-metrics {
        padding-top: 44px;
        padding-bottom: 72px
    }

    .verified-case-metrics dl {
        grid-template-columns: 1fr
    }

    .verified-case-metrics dl>div {
        min-height: 118px
    }

    .verified-case-identity,
    .verified-case-copy,
    .verified-case-decision,
    .verified-case-lessons,
    .verified-case-related {
        gap: 30px
    }

    .verified-case-identity {
        padding-bottom: 76px
    }

    .verified-case-identity dl>div {
        grid-template-columns: 1fr;
        gap: 6px
    }

    .verified-case-copy,
    .verified-case-decision,
    .verified-case-lessons {
        padding-top: 76px;
        padding-bottom: 80px
    }

    .verified-case-work-grid,
    .verified-case-result-grid {
        padding-top: 78px;
        padding-bottom: 78px
    }

    .verified-case-factor-grid article {
        grid-template-columns: 34px minmax(0, 1fr);
        padding: 23px 20px
    }

    .verified-case-factor-grid article p {
        grid-column: 2
    }

    .verified-source-card {
        padding: 26px 20px
    }

    .verified-case-transparency {
        grid-template-columns: 1fr;
        gap: 14px;
        margin-bottom: 78px;
        padding: 27px 22px
    }

    .verified-case-related {
        padding-bottom: 82px
    }
}

.documented-awards-feature {
    background: linear-gradient(135deg, #b4d8e44d, #0000 54%), #f8fbfc;
    border: 1px solid #b4d8e4;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
    gap: 64px;
    margin-bottom: 96px;
    padding: 54px;
    display: grid
}

.home-awards-link {
    background: #f3f8fa;
    border: 1px solid #b4d8e4;
    border-left: 5px solid #0777a3;
    justify-content: space-between;
    align-items: center;
    gap: 28px;
    margin-top: 34px;
    padding: 28px 30px;
    display: flex
}

.home-awards-link div {
    gap: 6px;
    display: grid
}

.home-awards-link span {
    color: #0777a3;
    letter-spacing: .11em;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 850
}

.home-awards-link strong {
    color: #123a57;
    max-width: 780px;
    font-size: 20px;
    line-height: 1.35
}

.documented-awards-feature h2 {
    color: #123a57;
    letter-spacing: -.045em;
    max-width: 780px;
    margin: 8px 0 20px;
    font-size: clamp(36px, 4.3vw, 60px);
    line-height: 1.02
}

.documented-awards-feature>div>p:not(.eyebrow) {
    color: #4b6373;
    max-width: 720px;
    margin: 0 0 28px;
    line-height: 1.7
}

.documented-awards-feature dl {
    border-top: 1px solid #b4d8e4;
    align-content: center;
    margin: 0;
    display: grid
}

.documented-awards-feature dl>div {
    border-bottom: 1px solid #b4d8e4;
    padding: 22px 0
}

.documented-awards-feature dt {
    color: #0777a3;
    letter-spacing: -.045em;
    font-size: clamp(28px, 3.4vw, 44px);
    font-weight: 850;
    line-height: 1
}

.documented-awards-feature dd {
    color: #4b6373;
    margin: 7px 0 0;
    font-size: 12px;
    line-height: 1.45
}

.award-proof-hero {
    background: radial-gradient(circle at 86% 18%, #b4d8e470, #0000 30%), linear-gradient(135deg, #f8fbfc 0%, #eef6f8 100%);
    border-bottom: 1px solid #b4d8e4;
    overflow: hidden
}

.award-proof-hero>.section {
    padding-top: 84px;
    padding-bottom: 94px
}

.award-proof-hero h1 {
    color: #123a57;
    letter-spacing: -.055em;
    max-width: 1050px;
    margin: 18px 0 24px;
    font-size: clamp(44px, 6.8vw, 92px);
    line-height: .96
}

.award-proof-lead {
    color: #3f5a6b;
    max-width: 790px;
    font-size: clamp(18px, 2vw, 23px);
    line-height: 1.58
}

.award-proof-actions {
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
    display: flex
}

.award-proof-metrics {
    padding-top: 64px;
    padding-bottom: 92px
}

.award-proof-metrics dl {
    border-top: 1px solid #b4d8e4;
    border-left: 1px solid #b4d8e4;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    display: grid
}

.award-proof-metrics dl>div {
    border-bottom: 1px solid #b4d8e4;
    border-right: 1px solid #b4d8e4;
    min-height: 165px;
    padding: 28px 24px
}

.award-proof-metrics dt {
    color: #0777a3;
    letter-spacing: -.05em;
    font-size: clamp(31px, 3.6vw, 50px);
    font-weight: 850;
    line-height: 1
}

.award-proof-metrics dd {
    color: #4b6373;
    margin: 13px 0 0;
    font-size: 13px;
    line-height: 1.5
}

.award-proof-metrics>p {
    color: #4b6373;
    max-width: 860px;
    margin: 20px 0 0 auto;
    font-size: 13px;
    line-height: 1.65
}

.award-method {
    grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
    gap: 70px;
    padding-top: 0;
    padding-bottom: 110px;
    display: grid
}

.award-method h2,
.award-additional h2,
.award-proof-note h2 {
    color: #123a57;
    letter-spacing: -.045em;
    margin: 8px 0 0;
    font-size: clamp(34px, 4.3vw, 58px);
    line-height: 1.02
}

.award-method-grid {
    border-top: 1px solid #b4d8e4;
    gap: 0;
    display: grid
}

.award-method-grid article {
    border-bottom: 1px solid #b4d8e4;
    grid-template-columns: 54px minmax(0, .7fr) minmax(0, 1.3fr);
    align-items: start;
    gap: 18px;
    padding: 26px 0;
    display: grid
}

.award-method-grid article>span {
    color: #0777a3;
    font-size: 12px;
    font-weight: 850
}

.award-method-grid h3 {
    color: #123a57;
    margin: 0;
    font-size: 20px;
    line-height: 1.25
}

.award-method-grid p {
    color: #4b6373;
    margin: 0;
    line-height: 1.65
}

.award-sectors {
    color: #fff;
    background: #123a57
}

.award-sector {
    padding-top: 100px;
    padding-bottom: 100px
}

.award-sector+.award-sector {
    border-top: 1px solid #b4d8e43d
}

.award-sector>header {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 8px 30px;
    margin-bottom: 40px;
    display: grid
}

.award-sector>header .eyebrow {
    color: #b4d8e4;
    grid-column: 1/-1
}

.award-sector>header h2 {
    color: #fff;
    letter-spacing: -.05em;
    margin: 0;
    font-size: clamp(46px, 6vw, 78px);
    line-height: .96
}

.award-sector>header>p:last-child {
    color: #ffffffb8;
    text-align: right;
    max-width: 300px;
    margin: 0
}

.award-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    display: grid
}

.award-card {
    background: linear-gradient(145deg, #0777a32b, #0000 55%), #ffffff09;
    border: 1px solid #b4d8e447;
    padding: 34px
}

.award-card-territory {
    color: #b4d8e4;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin: 0 0 14px;
    font-size: 11px;
    font-weight: 850
}

.award-card h3 {
    color: #fff;
    letter-spacing: -.035em;
    max-width: 640px;
    margin: 0;
    font-size: clamp(24px, 2.7vw, 37px);
    line-height: 1.08
}

.award-card-amount {
    border-top: 1px solid #b4d8e442;
    border-bottom: 1px solid #b4d8e442;
    justify-content: space-between;
    align-items: baseline;
    gap: 18px;
    margin: 30px 0;
    padding: 20px 0;
    display: flex
}

.award-card-amount strong {
    color: #fff;
    letter-spacing: -.04em;
    white-space: nowrap;
    font-size: clamp(25px, 3vw, 40px)
}

.award-card-amount span {
    color: #fff9;
    text-align: right;
    max-width: 190px;
    font-size: 11px;
    line-height: 1.45
}

.award-card dl {
    gap: 18px;
    margin: 0;
    display: grid
}

.award-card dl>div {
    grid-template-columns: 118px minmax(0, 1fr);
    gap: 18px;
    display: grid
}

.award-card dt {
    color: #b4d8e4;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 850
}

.award-card dd {
    color: #fffc;
    margin: 0;
    font-size: 14px;
    line-height: 1.55
}

.award-card-detail {
    color: #fff;
    border-top: 1px solid #b4d8e442;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin-top: 28px;
    padding-top: 20px;
    font-size: 13px;
    font-weight: 820;
    text-decoration: none;
    display: flex
}

.award-card-detail span {
    background: #0777a3;
    border-radius: 50%;
    flex: 0 0 34px;
    place-items: center;
    width: 34px;
    height: 34px;
    display: grid
}

.award-card-detail:hover,
.award-card-detail:focus-visible {
    color: #b4d8e4
}

.award-additional {
    grid-template-columns: minmax(0, .76fr) minmax(0, 1.24fr);
    gap: 70px;
    padding-top: 110px;
    padding-bottom: 110px;
    display: grid
}

.award-additional>div>p:last-child {
    color: #4b6373;
    line-height: 1.7
}

.award-additional ol {
    counter-reset: other-awards;
    border-top: 1px solid #b4d8e4;
    margin: 0;
    padding: 0;
    list-style: none
}

.award-additional li {
    color: #314f62;
    counter-increment: other-awards;
    border-bottom: 1px solid #b4d8e4;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
    padding: 22px 0;
    line-height: 1.6;
    display: grid
}

.award-additional li:before {
    color: #0777a3;
    content: counter(other-awards, decimal-leading-zero);
    font-size: 12px;
    font-weight: 850
}

.award-proof-note {
    background: #f3f8fa;
    border: 1px solid #b4d8e4;
    border-left: 6px solid #0777a3;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 65px;
    margin-bottom: 110px;
    padding: 48px;
    display: grid
}

.award-proof-note p:last-child {
    color: #3f5a6b;
    margin: 0;
    font-size: 18px;
    line-height: 1.75
}

@media (width<=900px) {
    .documented-awards-feature {
        grid-template-columns: 1fr;
        gap: 36px
    }

    .award-proof-metrics dl {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .award-method,
    .award-additional,
    .award-proof-note {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .award-card-grid {
        grid-template-columns: 1fr
    }
}

@media (width<=620px) {
    .home-awards-link {
        flex-direction: column;
        align-items: stretch;
        padding: 24px 20px
    }

    .home-awards-link .button {
        width: 100%
    }

    .documented-awards-feature {
        margin-bottom: 72px;
        padding: 30px 22px
    }

    .award-proof-hero>.section {
        padding-top: 52px;
        padding-bottom: 64px
    }

    .award-proof-hero h1 {
        font-size: clamp(40px, 13vw, 62px)
    }

    .award-proof-actions {
        flex-direction: column;
        align-items: stretch
    }

    .award-proof-actions .button {
        width: 100%
    }

    .award-proof-metrics dl {
        grid-template-columns: 1fr
    }

    .award-proof-metrics dl>div {
        min-height: 126px
    }

    .award-method-grid article {
        grid-template-columns: 40px minmax(0, 1fr)
    }

    .award-method-grid article p {
        grid-column: 2
    }

    .award-sector {
        padding-top: 72px;
        padding-bottom: 72px
    }

    .award-sector>header {
        grid-template-columns: 1fr
    }

    .award-sector>header .eyebrow {
        grid-column: auto
    }

    .award-sector>header>p:last-child {
        text-align: left;
        max-width: none
    }

    .award-card {
        padding: 24px 20px
    }

    .award-card-amount {
        flex-direction: column;
        align-items: flex-start
    }

    .award-card-amount span {
        text-align: left;
        max-width: none
    }

    .award-card dl>div {
        grid-template-columns: 1fr;
        gap: 5px
    }

    .award-additional {
        padding-top: 78px;
        padding-bottom: 78px
    }

    .award-proof-note {
        margin-bottom: 78px;
        padding: 28px 22px
    }
}

@media (prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }

    *,
    :before,
    :after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important
    }
}

.landing-hero {
    background: radial-gradient(circle at 88% 16%, #be5b2b21, transparent 23%), linear-gradient(#d7c6b11c 1px, transparent 1px), linear-gradient(90deg, #d7c6b11a 1px, transparent 1px), var(--ivory);
    border-bottom: 1px solid var(--line);
    background-size: auto, 42px 42px, 42px 42px, auto
}

.landing-hero-inner {
    grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr);
    align-items: center;
    gap: 90px;
    width: min(1280px, 100% - 64px);
    min-height: 670px;
    margin: 0 auto;
    padding: 74px 0 84px;
    display: grid
}

.breadcrumbs {
    color: #6b7b7d;
    align-items: center;
    gap: 9px;
    margin-bottom: 52px;
    font-size: 11px;
    font-weight: 700;
    display: flex
}

.landing-copy h1 {
    max-width: 900px;
    font-family: var(--font-display);
    letter-spacing: -.045em;
    margin: 0;
    font-size: clamp(58px, 5.5vw, 84px);
    font-weight: 400;
    line-height: .99
}

.landing-lead {
    max-width: 790px;
    color: var(--ink-soft);
    margin: 30px 0 0;
    font-size: 20px;
    line-height: 1.6
}

.landing-hero-support {
    gap: 24px;
    display: grid;
    position: relative
}

.landing-hero-image {
    border: 1px solid var(--line);
    background: var(--white);
    box-shadow: var(--shadow);
    margin: 0;
    padding: 10px;
    position: relative
}

.landing-hero-image img {
    object-fit: cover;
    width: 100%;
    height: 270px
}

.landing-hero-image figcaption {
    color: var(--ink-soft);
    padding: 12px 8px 4px;
    font-size: 11px;
    line-height: 1.45
}

.landing-audience {
    background: var(--petrol);
    color: #fff;
    box-shadow: var(--shadow);
    padding: 42px 38px 0;
    position: relative
}

.landing-audience:before {
    border: 1px solid var(--copper);
    content: "";
    z-index: -1;
    width: 100%;
    height: 100%;
    position: absolute;
    top: -16px;
    right: -16px
}

.landing-audience>p {
    color: #d98a63;
    letter-spacing: .16em;
    text-transform: uppercase;
    margin: 0 0 24px;
    font-size: 11px;
    font-weight: 800
}

.landing-audience ul {
    margin: 0;
    padding: 0;
    list-style: none
}

.landing-audience li {
    color: #e3eae8;
    border-top: 1px solid #ffffff2b;
    padding: 20px 0 20px 26px;
    font-size: 14px;
    position: relative
}

.landing-audience li:before {
    content: "";
    border: 1px solid #d98a63;
    width: 7px;
    height: 7px;
    position: absolute;
    top: 27px;
    left: 2px;
    transform: rotate(45deg)
}

.landing-audience>div {
    background: #ffffff0f;
    justify-content: space-between;
    align-items: center;
    margin: 14px -38px 0;
    padding: 19px 38px;
    display: flex
}

.landing-audience>div span {
    color: #aabdbc;
    text-transform: uppercase;
    font-size: 11px
}

.landing-audience>div strong {
    color: #fff;
    font-family: var(--font-display);
    font-size: 19px;
    font-weight: 400
}

.landing-problems,
.landing-depth,
.landing-process,
.landing-faq,
.related {
    padding-top: 122px;
    padding-bottom: 122px
}

.landing-section-title {
    max-width: 920px;
    margin-bottom: 58px
}

.landing-section-title h2,
.landing-deliverables h2,
.landing-proof h2 {
    font-family: var(--font-display);
    letter-spacing: -.035em;
    margin: 0;
    font-size: clamp(44px, 4.4vw, 66px);
    font-weight: 400;
    line-height: 1.03
}

.problem-grid {
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
    grid-template-columns: repeat(3, 1fr);
    display: grid
}

.problem-grid article {
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    min-height: 290px;
    padding: 34px
}

.problem-grid article>span,
.deliverable-list article>span,
.landing-process ol>li>span {
    color: var(--copper-dark);
    font-family: var(--font-display);
    font-size: 20px
}

.problem-grid h3,
.deliverable-list h3,
.landing-process h3 {
    font-family: var(--font-display);
    margin: 48px 0 14px;
    font-size: 29px;
    font-weight: 400;
    line-height: 1.12
}

.problem-grid p,
.deliverable-list p,
.landing-process li p {
    color: var(--ink-soft);
    margin: 0;
    font-size: 14px
}

.landing-depth {
    border-top: 1px solid var(--line);
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    gap: 110px;
    display: grid
}

.landing-depth-heading {
    align-self: start
}

.landing-depth-heading h2 {
    font-family: var(--font-display);
    letter-spacing: -.035em;
    margin: 0;
    font-size: clamp(42px, 4.2vw, 62px);
    font-weight: 400;
    line-height: 1.04
}

.landing-depth-heading>p:last-child {
    color: var(--ink-soft);
    margin: 28px 0 0;
    font-size: 18px;
    line-height: 1.75
}

.landing-depth-grid {
    border-bottom: 1px solid var(--line)
}

.landing-depth-grid article {
    border-top: 1px solid var(--line);
    padding: 34px 0 38px
}

.landing-depth-grid h3 {
    font-family: var(--font-display);
    margin: 0 0 16px;
    font-size: 31px;
    font-weight: 400;
    line-height: 1.16
}

.landing-depth-grid p {
    color: var(--ink-soft);
    margin: 0;
    font-size: 16px;
    line-height: 1.8
}

.landing-depth-grid ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 22px;
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
    display: grid
}

.landing-depth-grid li {
    color: var(--ink);
    padding-left: 19px;
    font-size: 13px;
    font-weight: 700;
    position: relative
}

.landing-depth-grid li:before {
    border: 1px solid var(--copper);
    content: "";
    width: 7px;
    height: 7px;
    position: absolute;
    top: 9px;
    left: 0;
    transform: rotate(45deg)
}

.landing-case-study {
    background: radial-gradient(circle at 82% 20%, #be5b2b33, transparent 27%), var(--petrol);
    color: #fff
}

.landing-case-study>.section {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    gap: 100px;
    padding-top: 100px;
    padding-bottom: 100px;
    display: grid
}

.landing-case-copy h2 {
    max-width: 760px;
    font-family: var(--font-display);
    letter-spacing: -.035em;
    margin: 0;
    font-size: clamp(42px, 4.4vw, 64px);
    font-weight: 400;
    line-height: 1.03
}

.landing-case-copy>p:last-child {
    color: #c7d3d2;
    margin: 28px 0 0;
    font-size: 17px;
    line-height: 1.75
}

.landing-case-facts {
    align-self: center
}

.landing-case-facts ul {
    border-top: 1px solid #ffffff38;
    margin: 0 0 24px;
    padding: 0;
    list-style: none
}

.landing-case-facts li {
    color: #fff;
    font-family: var(--font-display);
    border-bottom: 1px solid #ffffff38;
    padding: 17px 0;
    font-size: 22px
}

.landing-case-facts>p {
    color: #aebfbd;
    font-size: 12px;
    line-height: 1.65
}

.landing-deliverables {
    background: var(--petrol);
    color: #fff
}

.landing-deliverables>.section {
    padding-top: 116px;
    padding-bottom: 116px
}

.deliverable-list {
    border-top: 1px solid #fff3;
    border-left: 1px solid #fff3;
    grid-template-columns: repeat(2, 1fr);
    display: grid
}

.deliverable-list article {
    border-bottom: 1px solid #fff3;
    border-right: 1px solid #fff3;
    grid-template-columns: 54px 1fr;
    gap: 20px;
    min-height: 215px;
    padding: 30px;
    display: grid
}

.deliverable-list article>span {
    color: #d98a63
}

.deliverable-list h3 {
    color: #fff;
    margin: 0 0 12px
}

.deliverable-list p {
    color: #c7d3d2
}

.landing-process {
    grid-template-columns: .75fr 1.25fr;
    gap: 100px;
    display: grid
}

.landing-process ol {
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
    grid-template-columns: repeat(2, 1fr);
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid
}

.landing-process ol li {
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    min-height: 280px;
    padding: 32px
}

.landing-process h3 {
    margin-top: 42px
}

.landing-proof {
    background: var(--ivory);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line)
}

.landing-proof>.section {
    grid-template-columns: 1.15fr .85fr;
    align-items: center;
    gap: 92px;
    padding-top: 112px;
    padding-bottom: 112px;
    display: grid
}

.landing-proof-copy>p:not(.eyebrow) {
    max-width: 700px;
    color: var(--ink-soft);
    margin: 28px 0;
    font-size: 18px
}

.landing-proof-photo {
    position: relative
}

.landing-proof-photo:before {
    border: 1px solid var(--copper);
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: -18px;
    right: -18px
}

.landing-proof-photo img {
    z-index: 2;
    width: 100%;
    box-shadow: var(--shadow);
    position: relative
}

.qualification-note {
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    align-items: start;
    gap: 90px;
    padding-top: 92px;
    padding-bottom: 92px;
    display: grid
}

.qualification-note h2 {
    font-family: var(--font-display);
    letter-spacing: -.035em;
    margin: 0;
    font-size: clamp(38px, 4vw, 58px);
    font-weight: 400;
    line-height: 1.04
}

.qualification-note>div:last-child>p {
    color: var(--ink-soft);
    margin-top: 0;
    font-size: 17px
}

.qualification-note strong {
    color: var(--copper-dark);
    margin: 24px 0 18px;
    font-size: 19px;
    display: block
}

.landing-faq {
    grid-template-columns: .75fr 1.25fr;
    gap: 100px;
    display: grid
}

.related {
    border-top: 1px solid var(--line)
}

.related-grid {
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
    grid-template-columns: repeat(3, 1fr);
    display: grid
}

.related-grid>a {
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    flex-direction: column;
    min-height: 220px;
    padding: 32px;
    transition: background .2s, color .2s;
    display: flex;
    position: relative
}

.related-grid>a:hover {
    background: var(--petrol);
    color: #fff
}

.related-grid span {
    color: var(--copper-dark);
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 800
}

.related-grid strong {
    max-width: 260px;
    font-family: var(--font-display);
    margin-top: auto;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.12
}

.related-grid i {
    color: var(--copper);
    font-style: normal;
    position: absolute;
    top: 26px;
    right: 28px
}

@media (width<=1000px) {
    .landing-hero-inner {
        grid-template-columns: 1fr;
        gap: 54px;
        width: min(100% - 40px, 720px)
    }

    .landing-audience {
        max-width: 620px
    }

    .landing-process,
    .landing-faq,
    .landing-depth,
    .landing-case-study>.section {
        grid-template-columns: 1fr;
        gap: 46px
    }

    .landing-proof>.section {
        grid-template-columns: 1fr;
        gap: 60px
    }

    .landing-proof-photo {
        max-width: 650px
    }

    .qualification-note {
        grid-template-columns: 1fr;
        gap: 36px
    }
}

@media (width<=760px) {
    .landing-hero-inner {
        width: calc(100% - 32px);
        min-height: auto;
        padding: 50px 0 68px
    }

    .breadcrumbs {
        margin-bottom: 38px
    }

    .landing-copy h1 {
        font-size: clamp(46px, 13vw, 64px)
    }

    .landing-copy .button {
        width: 100%
    }

    .problem-grid,
    .deliverable-list,
    .landing-process ol,
    .related-grid {
        grid-template-columns: 1fr
    }

    .landing-problems,
    .landing-depth,
    .landing-process,
    .landing-faq,
    .related,
    .landing-deliverables>.section,
    .landing-proof>.section,
    .landing-case-study>.section {
        padding-top: 84px;
        padding-bottom: 84px
    }

    .problem-grid article,
    .landing-process ol li {
        min-height: 240px
    }

    .landing-audience:before {
        top: -8px;
        right: -8px
    }

    .landing-depth-grid ul {
        grid-template-columns: 1fr
    }

    .landing-hero-image img {
        height: 230px
    }
}

.case-hero {
    color: #fff;
    background: linear-gradient(90deg, #0c343bf5, #0c343be0), url(/images/conocimiento-especializado.webp) 50%/cover;
    place-items: center;
    min-height: 610px;
    display: grid
}

.case-hero>div {
    width: min(1100px, 100% - 64px)
}

.case-hero .breadcrumbs,
.case-hero .breadcrumbs a {
    color: #d6dfdd
}

.case-hero h1 {
    max-width: 1050px;
    font-family: var(--font-display);
    letter-spacing: -.045em;
    margin: 0;
    font-size: clamp(58px, 6vw, 88px);
    font-weight: 400;
    line-height: .98
}

.case-hero>div>p:not(.eyebrow) {
    color: #d3dfdd;
    max-width: 760px;
    margin: 30px 0 0;
    font-size: 19px
}

.case-principles {
    grid-template-columns: 1fr 1fr;
    align-items: end;
    gap: 90px;
    padding-top: 116px;
    padding-bottom: 116px;
    display: grid
}

.case-principles span {
    color: var(--copper-dark);
    font-family: var(--font-display);
    font-size: 24px
}

.case-principles h2,
.real-cases h2,
.case-logos h2,
.case-data h2,
.story h2,
.beliefs h2,
.credentials h2 {
    font-family: var(--font-display);
    letter-spacing: -.035em;
    margin: 20px 0 0;
    font-size: clamp(42px, 4.2vw, 64px);
    font-weight: 400;
    line-height: 1.03
}

.case-principles>p {
    color: var(--ink-soft);
    margin: 0;
    font-size: 18px
}

.real-cases {
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 120px;
    display: grid
}

.real-cases article {
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    flex-direction: column;
    min-height: 510px;
    padding: 36px;
    display: flex
}

.case-label,
.case-person {
    color: var(--copper-dark);
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 800
}

.real-cases h2 {
    margin-top: 48px;
    font-size: 32px
}

.real-cases blockquote {
    color: var(--ink-soft);
    font-family: var(--font-display);
    margin: 28px 0;
    font-size: 20px;
    line-height: 1.45
}

.case-person {
    border-top: 1px solid var(--line);
    color: var(--ink);
    margin-top: auto;
    padding-top: 18px
}

.case-logos {
    background: var(--ivory);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line)
}

.case-logos>.section {
    padding-top: 112px;
    padding-bottom: 100px
}

.case-logos h2 {
    max-width: 900px;
    margin-top: 0
}

.case-data {
    grid-template-columns: 1fr 1fr;
    gap: 90px;
    padding-top: 118px;
    padding-bottom: 118px;
    display: grid
}

.case-data>div:last-child p {
    color: var(--ink-soft);
    margin: 0 0 28px;
    font-size: 18px
}

.about-hero {
    background: linear-gradient(#d7c6b11a 1px, transparent 1px), linear-gradient(90deg, #d7c6b11a 1px, transparent 1px), var(--ivory);
    background-size: 40px 40px, 40px 40px, auto;
    grid-template-columns: 1.08fr .92fr;
    min-height: 720px;
    display: grid;
    overflow: hidden
}

.about-hero-copy {
    place-self: center end;
    width: min(760px, 100% - 64px);
    padding: 70px 50px 70px 0
}

.about-hero-copy h1 {
    font-family: var(--font-display);
    letter-spacing: -.045em;
    margin: 0;
    font-size: clamp(60px, 5.8vw, 88px);
    font-weight: 400;
    line-height: .98
}

.about-hero-copy>p:not(.eyebrow) {
    max-width: 690px;
    color: var(--ink-soft);
    margin: 30px 0 0;
    font-size: 20px
}

.about-hero-photo {
    background: linear-gradient(145deg, #d9cbb7, #90a59c);
    place-items: end center;
    display: grid;
    position: relative
}

.about-hero-photo:before,
.about-hero-photo:after {
    content: "";
    border: 1px solid #be5b2b80;
    position: absolute
}

.about-hero-photo:before {
    width: 70%;
    height: 45%;
    top: 12%;
    left: -5%;
    transform: rotate(8deg)
}

.about-hero-photo:after {
    width: 50%;
    height: 65%;
    bottom: -10%;
    right: 5%;
    transform: rotate(-6deg)
}

.about-hero-photo img {
    z-index: 2;
    object-fit: contain;
    object-position: bottom;
    filter: drop-shadow(0 24px 22px #0d30362e);
    width: min(610px, 86%);
    max-height: 720px;
    position: relative
}

.story {
    grid-template-columns: .8fr 1.2fr;
    gap: 100px;
    padding-top: 128px;
    padding-bottom: 128px;
    display: grid
}

.story h2,
.beliefs h2,
.credentials h2 {
    margin-top: 0
}

.story-copy p {
    color: var(--ink-soft)
}

.story-copy .story-lead {
    color: var(--ink);
    margin-top: 0;
    font-size: 22px;
    line-height: 1.55
}

.beliefs {
    background: var(--petrol);
    color: #fff
}

.beliefs>.section {
    padding-top: 116px;
    padding-bottom: 116px
}

.belief-title {
    max-width: 850px
}

.belief-grid {
    border-top: 1px solid #fff3;
    border-left: 1px solid #fff3;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 60px;
    display: grid
}

.belief-grid article {
    border-bottom: 1px solid #fff3;
    border-right: 1px solid #fff3;
    min-height: 330px;
    padding: 34px
}

.belief-grid span {
    color: #d98a63;
    font-family: var(--font-display);
    font-size: 20px
}

.belief-grid h3 {
    font-family: var(--font-display);
    margin: 62px 0 16px;
    font-size: 30px;
    font-weight: 400;
    line-height: 1.1
}

.belief-grid p {
    color: #c7d3d2
}

.credentials {
    grid-template-columns: .9fr 1.1fr;
    align-items: center;
    gap: 90px;
    padding-top: 128px;
    padding-bottom: 128px;
    display: grid
}

.credentials-photo {
    position: relative
}

.credentials-photo:after {
    border: 1px solid var(--copper);
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: -18px;
    right: -18px
}

.credentials-photo img {
    z-index: 2;
    box-shadow: var(--shadow);
    position: relative
}

.credentials ul {
    margin: 30px 0 34px;
    padding: 0;
    list-style: none
}

.credentials li {
    border-top: 1px solid var(--line);
    padding: 16px 0 16px 28px;
    position: relative
}

.credentials li:before {
    border: 1px solid var(--copper);
    content: "";
    width: 7px;
    height: 7px;
    position: absolute;
    top: 24px;
    left: 3px;
    transform: rotate(45deg)
}

@media (width<=900px) {

    .case-principles,
    .case-data,
    .story,
    .credentials {
        grid-template-columns: 1fr;
        gap: 48px
    }

    .real-cases,
    .belief-grid {
        grid-template-columns: 1fr
    }

    .real-cases article {
        min-height: 410px
    }

    .about-hero {
        grid-template-columns: 1fr
    }

    .about-hero-copy {
        justify-self: center;
        width: min(100% - 40px, 680px);
        padding: 70px 0 20px
    }

    .about-hero-photo {
        min-height: 560px
    }
}

@media (width<=560px) {

    .case-hero>div,
    .about-hero-copy {
        width: calc(100% - 32px)
    }

    .case-hero h1,
    .about-hero-copy h1 {
        font-size: clamp(48px, 13vw, 64px)
    }

    .case-principles,
    .case-data,
    .story,
    .credentials {
        padding-top: 84px;
        padding-bottom: 84px
    }

    .real-cases {
        margin-bottom: 84px
    }

    .real-cases article {
        padding: 28px
    }

    .case-logos>.section,
    .beliefs>.section {
        padding-top: 84px;
        padding-bottom: 84px
    }

    .about-hero-photo {
        min-height: 440px
    }
}

.inner-hero {
    background: radial-gradient(circle at 85% 20%, #be5b2b1f, transparent 30%), linear-gradient(#d7c6b11c 1px, transparent 1px), linear-gradient(90deg, #d7c6b11c 1px, transparent 1px), var(--ivory);
    background-size: auto, 38px 38px, 38px 38px, auto;
    position: relative;
    overflow: hidden
}

.inner-hero>div {
    width: min(1120px, 100% - 64px);
    margin: 0 auto;
    padding: 92px 0 100px
}

.inner-hero h1 {
    max-width: 980px;
    font-family: var(--font-display);
    letter-spacing: -.045em;
    margin: 0;
    font-size: clamp(52px, 6vw, 82px);
    font-weight: 400;
    line-height: .98
}

.inner-hero-copy>p:not(.eyebrow),
.inner-hero>div>p:not(.eyebrow) {
    max-width: 780px;
    color: var(--ink-soft);
    margin: 28px 0 0;
    font-size: clamp(18px, 1.8vw, 22px)
}

.inner-hero-layout.has-visual {
    grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr);
    align-items: center;
    gap: 76px;
    width: min(1280px, 100% - 64px);
    display: grid
}

.content-hero-visual {
    border: 1px solid var(--line);
    background: var(--white);
    box-shadow: var(--shadow);
    margin: 0;
    padding: 10px
}

.content-hero-visual img {
    object-fit: cover;
    width: 100%;
    height: 330px
}

.content-hero-visual figcaption {
    color: var(--ink-soft);
    padding: 12px 7px 3px;
    font-size: 11px;
    line-height: 1.5
}

.inner-hero.resource-hero {
    background-color: #eef0e9
}

.breadcrumbs {
    color: #667478;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 42px;
    font-size: 12px;
    font-weight: 700;
    display: flex
}

.breadcrumbs a {
    color: var(--copper-dark)
}

.content-page {
    grid-template-columns: minmax(0, 1fr) 350px;
    align-items: start;
    gap: 90px;
    padding-top: 105px;
    padding-bottom: 105px;
    display: grid
}

.content-main>section {
    border-top: 1px solid var(--line);
    padding: 38px 0 58px;
    position: relative
}

.content-index {
    color: var(--copper-dark);
    font-family: var(--font-display);
    font-size: 23px;
    position: absolute;
    top: 42px;
    left: 0
}

.content-main h2,
.content-sidebar h2,
.related-resources h2,
.resource-grid h2,
.resource-grid h3 {
    font-family: var(--font-display);
    letter-spacing: -.035em;
    margin: 0;
    font-weight: 400;
    line-height: 1.05
}

.content-main h2 {
    font-size: clamp(35px, 3.8vw, 54px)
}

.content-main p {
    color: var(--ink-soft);
    font-size: 17px
}

.content-main ul {
    margin: 28px 0 0;
    padding: 0;
    list-style: none
}

.content-main li {
    border-top: 1px solid var(--line);
    background: linear-gradient(var(--copper), var(--copper)) 2px 21px / 8px 2px no-repeat;
    padding: 12px 0 12px 24px
}

.content-sidebar {
    border: 1px solid var(--line);
    border-top: 5px solid var(--copper);
    background: var(--white);
    box-shadow: var(--shadow);
    padding: 34px;
    position: sticky;
    top: 120px
}

.content-sidebar h2 {
    font-size: 34px
}

.content-sidebar>p:not(.card-tag) {
    color: var(--ink-soft)
}

.content-sidebar .button,
.content-sidebar .text-link {
    justify-content: center;
    width: 100%;
    margin-top: 12px
}

.related-resources {
    padding-top: 90px;
    padding-bottom: 110px
}

.related-resources h2 {
    max-width: 760px;
    font-size: clamp(38px, 4.5vw, 62px)
}

.related-links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 42px;
    display: grid
}

.related-links a {
    border: 1px solid var(--line);
    background: var(--white);
    min-height: 150px;
    font-family: var(--font-display);
    justify-content: space-between;
    gap: 20px;
    padding: 26px;
    font-size: 23px;
    line-height: 1.15;
    display: flex
}

.related-links span {
    color: var(--copper-dark)
}

.resource-index {
    padding-top: 100px;
    padding-bottom: 110px
}

.resource-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    display: grid
}

.resource-grid article {
    border: 1px solid var(--line);
    background: var(--white);
    flex-direction: column;
    min-height: 350px;
    padding: 32px;
    display: flex
}

.resource-grid h2,
.resource-grid h3 {
    font-size: 30px
}

.resource-grid h3 a {
    color: inherit;
    text-decoration: none
}

.resource-grid h3 a:hover,
.resource-grid h3 a:focus-visible {
    color: var(--copper)
}

.resource-grid article>p:not(.card-tag) {
    color: var(--ink-soft)
}

.resource-grid .text-link {
    margin-top: auto
}

@media (width<=900px) {
    .inner-hero>div {
        width: min(100% - 40px, 680px);
        padding: 70px 0 78px
    }

    .content-page {
        grid-template-columns: 1fr;
        gap: 48px
    }

    .inner-hero-layout.has-visual {
        grid-template-columns: 1fr;
        gap: 48px;
        width: min(100% - 40px, 720px)
    }

    .content-sidebar {
        position: static
    }

    .related-links,
    .resource-grid {
        grid-template-columns: 1fr
    }

    .resource-grid article {
        min-height: 0
    }
}

@media (width<=620px) {
    .inner-hero h1 {
        font-size: 43px
    }

    .content-main>section {
        padding-left: 0
    }

    .inner-hero-layout.has-visual {
        width: calc(100% - 32px)
    }

    .content-hero-visual img {
        height: 250px
    }

    .content-index {
        margin-bottom: 10px;
        display: block;
        position: static
    }
}

.pricing-page-hero,
.contact-hero {
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
    align-items: center;
    gap: 88px;
    width: min(1280px, 100% - 64px);
    min-height: 650px;
    margin: 0 auto;
    padding: 76px 0 90px;
    display: grid
}

.pricing-page-copy h1,
.contact-hero-copy h1 {
    font-family: var(--font-display);
    letter-spacing: -.045em;
    margin: 0;
    font-size: clamp(56px, 5.5vw, 82px);
    font-weight: 400;
    line-height: .99
}

.pricing-page-copy>p:not(.eyebrow),
.contact-hero-copy>p:not(.eyebrow) {
    max-width: 760px;
    color: var(--ink-soft);
    margin: 28px 0 0;
    font-size: 19px;
    line-height: 1.7
}

.pricing-page-hero figure,
.contact-hero figure {
    border: 1px solid var(--line);
    background: var(--white);
    box-shadow: var(--shadow);
    margin: 0;
    padding: 12px;
    position: relative
}

.pricing-page-hero figure:before,
.contact-hero figure:before {
    border: 1px solid var(--copper);
    content: "";
    z-index: -1;
    width: 100%;
    height: 100%;
    position: absolute;
    top: -16px;
    right: -16px
}

.pricing-page-hero figure img,
.contact-hero figure img {
    object-fit: cover;
    width: 100%;
    height: 420px
}

.contact-hero figure img {
    object-position: 45% center
}

.pricing-page-hero figcaption,
.contact-hero figcaption {
    color: var(--ink-soft);
    padding: 14px 8px 5px;
    font-size: 11px;
    line-height: 1.5
}

.pricing-page-plans,
.pricing-boundaries,
.contact-options,
.contact-form-section {
    padding-top: 118px;
    padding-bottom: 118px
}

.pricing-page-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    display: grid
}

.pricing-page-grid article {
    border: 1px solid var(--line);
    background: var(--white);
    flex-direction: column;
    min-height: 620px;
    padding: 42px;
    display: flex;
    position: relative
}

.pricing-page-grid article.featured {
    border: 2px solid var(--copper);
    background: var(--ivory)
}

.pricing-page-grid article>span {
    background: var(--copper);
    color: #fff;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: 8px 13px;
    font-size: 9px;
    font-weight: 800;
    position: absolute;
    top: 0;
    right: 0
}

.pricing-page-grid h2 {
    max-width: 430px;
    font-family: var(--font-display);
    margin: 0 0 18px;
    font-size: 38px;
    font-weight: 400;
    line-height: 1.05
}

.pricing-page-grid article>strong {
    color: var(--copper-dark);
    font-family: var(--font-display);
    margin-bottom: 22px;
    font-size: 30px;
    font-weight: 400;
    display: block
}

.pricing-page-grid article>p {
    min-height: 84px;
    color: var(--ink-soft);
    margin: 0 0 25px
}

.pricing-page-grid h3 {
    letter-spacing: .13em;
    text-transform: uppercase;
    margin: 0 0 12px;
    font-size: 11px
}

.pricing-page-grid ul {
    margin: 0 0 24px;
    padding: 0;
    list-style: none
}

.pricing-page-grid li {
    border-top: 1px solid var(--line);
    padding: 11px 0 11px 22px;
    font-size: 13px;
    position: relative
}

.pricing-page-grid li:before {
    border: 1px solid var(--copper);
    content: "";
    width: 7px;
    height: 7px;
    position: absolute;
    top: 18px;
    left: 2px;
    transform: rotate(45deg)
}

.pricing-page-grid small {
    color: #6b7b7d;
    margin-bottom: 26px;
    line-height: 1.55
}

.pricing-page-grid .button {
    width: 100%;
    margin-top: auto
}

.pricing-success,
.contact-fit {
    background: radial-gradient(circle at 85% 18%, #be5b2b33, transparent 25%), var(--petrol);
    color: #fff
}

.pricing-success>.section,
.contact-fit>.section {
    grid-template-columns: minmax(0, .84fr) minmax(0, 1.16fr);
    gap: 100px;
    padding-top: 108px;
    padding-bottom: 108px;
    display: grid
}

.pricing-success h2,
.contact-fit h2,
.contact-form-section aside h2 {
    font-family: var(--font-display);
    letter-spacing: -.035em;
    margin: 0;
    font-size: clamp(42px, 4.4vw, 64px);
    font-weight: 400;
    line-height: 1.04
}

.pricing-success>.section>div:last-child>p,
.contact-fit>.section>div:last-child>p {
    color: #c7d3d2;
    margin: 0 0 20px;
    font-size: 17px;
    line-height: 1.75
}

.success-example {
    border: 1px solid #ffffff3b;
    margin-top: 34px;
    padding: 28px
}

.success-example span {
    color: #d98a63;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 800
}

.success-example strong {
    font-family: var(--font-display);
    margin: 12px 0 6px;
    font-size: 28px;
    font-weight: 400;
    display: block
}

.success-example p {
    color: #c7d3d2;
    margin: 0
}

.pricing-boundaries {
    grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
    gap: 100px;
    display: grid
}

.pricing-boundaries>div:first-child h2 {
    font-family: var(--font-display);
    letter-spacing: -.035em;
    margin: 0;
    font-size: clamp(42px, 4.2vw, 62px);
    font-weight: 400;
    line-height: 1.04
}

.pricing-boundary-grid {
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid
}

.pricing-boundary-grid article {
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    min-height: 250px;
    padding: 30px
}

.pricing-boundary-grid h3,
.contact-option-grid h3 {
    font-family: var(--font-display);
    margin: 0 0 15px;
    font-size: 28px;
    font-weight: 400;
    line-height: 1.12
}

.pricing-boundary-grid p,
.contact-option-grid article>p:not(.card-tag) {
    color: var(--ink-soft);
    font-size: 14px
}

.pricing-faq {
    border-top: 1px solid var(--line)
}

.contact-option-grid {
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    display: grid
}

.contact-option-grid article {
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    flex-direction: column;
    min-height: 350px;
    padding: 34px;
    display: flex
}

.contact-option-grid .text-link {
    margin-top: auto
}

.tidycal-section {
    padding-top: 100px;
    padding-bottom: 110px;
    scroll-margin-top: 104px
}

.tidycal-section-heading {
    border-bottom: 1px solid var(--line);
    grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr);
    align-items: end;
    gap: 80px;
    padding-bottom: 30px;
    display: grid
}

.tidycal-section-heading h2 {
    max-width: 820px;
    margin: 0;
    font-size: clamp(40px, 4.3vw, 62px);
    font-weight: 500;
    line-height: 1.04
}

.tidycal-section-heading>p {
    color: var(--ink-soft);
    margin: 0;
    font-size: 15px;
    line-height: 1.7
}

.booking-selector {
    margin-top: 38px
}

.booking-options,
.consultation-path-grid,
.paid-consultation-grid {
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    display: grid
}

.booking-option,
.consultation-path-grid article,
.paid-consultation-grid article {
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: var(--white);
    flex-direction: column;
    min-width: 0;
    min-height: 470px;
    padding: 34px;
    transition: border-color .18s, box-shadow .18s, transform .18s;
    display: flex;
    position: relative
}

.booking-option.featured,
.consultation-path-grid article.featured {
    background: linear-gradient(180deg, #dff1f8c7, var(--white) 46%)
}

.booking-option.selected {
    z-index: 1;
    border-color: var(--copper);
    box-shadow: inset 0 0 0 2px var(--copper), 0 18px 45px #123a571f
}

.booking-option h3,
.consultation-path-grid h3,
.paid-consultation-grid h3 {
    font-family: var(--font-display);
    margin: 8px 0 20px;
    font-size: clamp(28px, 2.5vw, 36px);
    font-weight: 500;
    line-height: 1.08
}

.booking-meta,
.consultation-path-grid article>div {
    border-bottom: 1px solid var(--line);
    flex-wrap: wrap;
    align-items: baseline;
    gap: 10px 18px;
    margin-bottom: 22px;
    padding-bottom: 20px;
    display: flex
}

.booking-meta strong,
.consultation-path-grid article>div strong {
    color: var(--blue-deep);
    font-size: 20px
}

.booking-meta span,
.consultation-path-grid article>div span {
    color: var(--copper-dark);
    font-size: 16px;
    font-weight: 750
}

.booking-option>p:not(.card-tag),
.consultation-path-grid article>p:not(.card-tag),
.paid-consultation-grid article>p:not(.card-tag) {
    color: var(--ink-soft);
    margin: 0 0 18px;
    line-height: 1.7
}

.booking-option small,
.consultation-path-grid small {
    color: #66777e;
    margin-bottom: 26px;
    font-size: 12px;
    line-height: 1.65;
    display: block
}

.booking-option .button,
.consultation-path-grid .button,
.paid-consultation-grid .button {
    width: 100%;
    margin-top: auto
}

.booking-recommended {
    background: var(--copper);
    color: var(--white);
    letter-spacing: .08em;
    text-transform: uppercase;
    align-self: flex-start;
    margin: -34px 0 24px -34px;
    padding: 8px 16px;
    font-size: 10px;
    font-weight: 800
}

.booking-privacy-note {
    color: #66777e;
    margin: 16px 0 0;
    font-size: 12px;
    line-height: 1.6
}

.tidycal-calendar {
    margin-top: 32px;
    scroll-margin-top: 112px
}

.tidycal-calendar-heading {
    background: var(--blue-deep);
    color: var(--white);
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    padding: 24px 28px;
    display: flex
}

.tidycal-calendar-heading .card-tag {
    color: #a9d9eb
}

.tidycal-calendar-heading h3 {
    font-family: var(--font-display);
    margin: 6px 0 0;
    font-size: clamp(25px, 3vw, 36px);
    font-weight: 500
}

.tidycal-calendar-heading>strong {
    color: #f2c8ad;
    flex: none;
    font-size: 18px
}

.tidycal-calendar .tidycal-frame {
    margin-top: 0
}

.tidycal-frame,
.tidycal-consent {
    border: 1px solid var(--line);
    background: var(--white);
    margin-top: 34px;
    box-shadow: 0 22px 60px #123a5714
}

.tidycal-frame {
    min-height: 680px;
    overflow: hidden
}

.tidycal-embed {
    min-height: 680px
}

.tidycal-consent {
    background: radial-gradient(circle at 88% 14%, #0777a31f, transparent 28%), var(--ivory);
    min-height: 390px;
    padding: clamp(36px, 7vw, 76px)
}

.tidycal-consent h3 {
    max-width: 720px;
    margin: 10px 0 16px;
    font-size: clamp(31px, 4vw, 49px);
    font-weight: 500;
    line-height: 1.08
}

.tidycal-consent>p:not(.card-tag) {
    max-width: 720px;
    color: var(--ink-soft);
    margin: 0;
    line-height: 1.7
}

.tidycal-consent>div {
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
    display: flex
}

.consultation-paths {
    padding-top: 110px;
    padding-bottom: 110px
}

.consultation-path-grid,
.paid-consultation-grid {
    margin-top: 34px
}

.consultation-path-grid article {
    min-height: 440px
}

.consultation-more {
    margin-top: 22px;
    display: inline-flex
}

.paid-consultations {
    padding-top: 105px;
    padding-bottom: 105px
}

.paid-consultation-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr))
}

.paid-consultation-grid article {
    min-height: 430px
}

.paid-consultation-grid ul {
    gap: 12px;
    margin: 10px 0 28px;
    padding: 0;
    list-style: none;
    display: grid
}

.paid-consultation-grid li {
    color: var(--ink-soft);
    padding-left: 22px;
    font-size: 14px;
    line-height: 1.55;
    position: relative
}

.paid-consultation-grid li:before {
    background: var(--copper);
    content: "";
    border-radius: 50%;
    width: 7px;
    height: 7px;
    position: absolute;
    top: .58em;
    left: 0
}

.paid-consultation-note {
    color: #66777e;
    max-width: 840px;
    margin: 22px 0 0;
    font-size: 13px;
    line-height: 1.7
}

.consultation-hero {
    grid-template-columns: minmax(0, 1.05fr) minmax(400px, .95fr);
    align-items: center;
    gap: 90px;
    width: min(1280px, 100% - 64px);
    min-height: 720px;
    margin: 0 auto;
    padding: 86px 0 100px;
    display: grid
}

.consultation-hero h1 {
    max-width: 840px;
    font-family: var(--font-display);
    letter-spacing: -.045em;
    margin: 18px 0 24px;
    font-size: clamp(48px, 5.4vw, 78px);
    font-weight: 500;
    line-height: .98
}

.consultation-hero>div>p:not(.eyebrow) {
    max-width: 720px;
    color: var(--ink-soft);
    font-size: 18px;
    line-height: 1.72
}

.consultation-hero figure {
    margin: 0
}

.consultation-hero figure img {
    object-fit: cover;
    width: 100%;
    height: 560px
}

.consultation-hero figcaption {
    color: #66777e;
    margin-top: 14px;
    font-size: 11px;
    line-height: 1.55
}

.consultation-hero-prices {
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 32px 0 28px;
    display: grid
}

.consultation-hero-prices div {
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    gap: 6px;
    padding: 18px;
    display: grid
}

.consultation-hero-prices span {
    color: #66777e;
    font-size: 11px
}

.consultation-hero-prices strong {
    color: var(--blue-deep);
    font-size: 15px
}

.consultation-use-cases {
    padding-top: 105px;
    padding-bottom: 105px
}

.consultation-use-grid {
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 34px;
    display: grid
}

.consultation-use-grid article {
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    min-height: 310px;
    padding: 28px
}

.consultation-use-grid article>span {
    color: var(--copper);
    font-size: 12px;
    font-weight: 800
}

.consultation-use-grid h3 {
    font-family: var(--font-display);
    margin: 38px 0 14px;
    font-size: 26px;
    font-weight: 500
}

.consultation-use-grid p {
    color: var(--ink-soft);
    font-size: 14px;
    line-height: 1.7
}

.consultation-boundaries {
    background: var(--blue-deep);
    color: var(--white)
}

.consultation-boundaries>.section {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 100px;
    padding-top: 100px;
    padding-bottom: 100px;
    display: grid
}

.consultation-boundaries h2 {
    font-family: var(--font-display);
    margin: 0;
    font-size: clamp(40px, 4vw, 60px);
    font-weight: 500;
    line-height: 1.04
}

.consultation-boundaries>.section>div:last-child>p,
.consultation-boundaries li {
    color: #ffffffc7;
    line-height: 1.72
}

.consultation-boundaries ul {
    gap: 12px;
    margin: 26px 0 0;
    padding-left: 20px;
    display: grid
}

.consultation-faq {
    border-top: 1px solid var(--line)
}

.contact-fit .light-link {
    margin-top: 12px;
    display: inline-flex
}

.contact-form-section {
    grid-template-columns: minmax(280px, .62fr) minmax(0, 1.38fr);
    align-items: start;
    gap: 90px;
    display: grid
}

.contact-form-section aside {
    position: sticky;
    top: 120px
}

.contact-form-section aside>p:not(.eyebrow) {
    color: var(--ink-soft);
    font-size: 16px;
    line-height: 1.75
}

.contact-form-section aside ul {
    border-top: 1px solid var(--line);
    margin: 28px 0 0;
    padding: 0;
    list-style: none
}

.contact-form-section aside li {
    border-bottom: 1px solid var(--line);
    padding: 13px 0;
    font-size: 13px;
    font-weight: 700
}

.analysis-hero {
    background: radial-gradient(circle at 80% 20%, #be5b2b38, transparent 28%), var(--petrol);
    color: #fff
}

.analysis-hero>div {
    width: min(1000px, 100% - 64px);
    margin: 0 auto;
    padding: 88px 0 100px
}

.analysis-hero .breadcrumbs,
.analysis-hero .breadcrumbs a {
    color: #d7aaa0
}

.analysis-hero h1 {
    max-width: 980px;
    font-family: var(--font-display);
    letter-spacing: -.045em;
    margin: 0;
    font-size: clamp(54px, 6vw, 82px);
    font-weight: 400;
    line-height: .99
}

.analysis-hero>div>p:last-child {
    color: #c7d3d2;
    max-width: 760px;
    margin: 28px 0 0;
    font-size: 19px;
    line-height: 1.7
}

.analysis-layout {
    grid-template-columns: minmax(280px, .6fr) minmax(0, 1.4fr);
    align-items: start;
    gap: 80px;
    padding-top: 110px;
    padding-bottom: 120px;
    display: grid
}

.analysis-layout>aside {
    position: sticky;
    top: 120px
}

.analysis-layout ol {
    border-top: 1px solid var(--line);
    margin: 0;
    padding: 0;
    list-style: none
}

.analysis-layout ol li {
    border-bottom: 1px solid var(--line);
    grid-template-columns: 38px 1fr;
    gap: 14px;
    padding: 20px 0;
    display: grid
}

.analysis-layout ol li>span {
    color: var(--copper-dark);
    font-family: var(--font-display)
}

.analysis-layout ol strong {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 400
}

.analysis-layout ol p {
    color: var(--ink-soft);
    margin: 5px 0 0;
    font-size: 12px
}

.privacy-note,
.analysis-alternative {
    border: 1px solid var(--line);
    background: var(--ivory);
    margin-top: 24px;
    padding: 22px
}

.privacy-note p,
.analysis-alternative p {
    color: var(--ink-soft);
    margin: 7px 0 0;
    font-size: 12px
}

.analysis-alternative .text-link {
    margin-top: 12px
}

.analysis-form {
    border: 1px solid var(--line);
    background: var(--white);
    padding: 46px;
    box-shadow: 0 22px 60px #0f2f3414
}

.form-intro {
    max-width: 720px;
    margin-bottom: 42px
}

.form-intro h2 {
    font-family: var(--font-display);
    margin: 0;
    font-size: clamp(36px, 4vw, 52px);
    font-weight: 400;
    line-height: 1.05
}

.form-intro>p:last-child {
    color: var(--ink-soft)
}

.analysis-form fieldset {
    border: 0;
    margin: 0 0 42px;
    padding: 0
}

.analysis-form legend {
    border-bottom: 1px solid var(--line);
    width: 100%;
    color: var(--ink);
    font-family: var(--font-display);
    margin-bottom: 22px;
    padding-bottom: 12px;
    font-size: 26px
}

.form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    display: grid
}

.form-grid label {
    color: var(--ink);
    gap: 7px;
    font-size: 12px;
    font-weight: 800;
    display: grid
}

.form-grid input,
.form-grid select,
.form-grid textarea {
    border: 1px solid var(--line);
    background: var(--paper);
    width: 100%;
    min-height: 50px;
    color: var(--ink);
    font: inherit;
    border-radius: 0;
    padding: 12px 14px;
    font-weight: 500
}

.form-grid textarea {
    resize: vertical;
    min-height: 145px
}

.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus {
    border-color: var(--copper);
    outline: 2px solid #be5b2b29
}

.form-wide {
    grid-column: 1/-1
}

.consent {
    color: var(--ink-soft);
    grid-template-columns: 18px 1fr;
    align-items: start;
    gap: 10px;
    margin: 16px 0;
    font-size: 11px;
    line-height: 1.55;
    display: grid
}

.consent input {
    width: 16px;
    height: 16px;
    accent-color: var(--copper);
    margin: 2px 0 0
}

.consent a {
    color: var(--copper-dark);
    text-decoration: underline
}

.analysis-form>.button {
    margin-top: 20px
}

.form-note {
    color: #6b7b7d;
    margin: 15px 0 0;
    font-size: 10px
}

@media (width<=1000px) {

    .pricing-page-hero,
    .contact-hero,
    .consultation-hero,
    .pricing-success>.section,
    .contact-fit>.section,
    .consultation-boundaries>.section,
    .pricing-boundaries,
    .contact-form-section,
    .analysis-layout {
        grid-template-columns: 1fr
    }

    .pricing-page-hero,
    .contact-hero,
    .consultation-hero {
        gap: 50px;
        width: min(720px, 100% - 40px)
    }

    .consultation-use-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .contact-form-section,
    .analysis-layout {
        gap: 50px
    }

    .tidycal-section-heading {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .contact-form-section aside,
    .analysis-layout>aside {
        position: static
    }
}

@media (width<=720px) {

    .pricing-page-hero,
    .contact-hero,
    .consultation-hero {
        width: calc(100% - 32px);
        min-height: auto;
        padding: 50px 0 72px
    }

    .pricing-page-copy h1,
    .contact-hero-copy h1,
    .consultation-hero h1,
    .analysis-hero h1 {
        font-size: clamp(44px, 13vw, 62px)
    }

    .pricing-page-hero figure img,
    .contact-hero figure img,
    .consultation-hero figure img {
        height: 300px
    }

    .pricing-page-grid,
    .pricing-boundary-grid,
    .contact-option-grid,
    .booking-options,
    .consultation-path-grid,
    .paid-consultation-grid,
    .consultation-use-grid,
    .consultation-hero-prices,
    .form-grid {
        grid-template-columns: 1fr
    }

    .booking-option,
    .consultation-path-grid article,
    .paid-consultation-grid article,
    .consultation-use-grid article {
        min-height: 0;
        padding: 30px 24px
    }

    .booking-recommended {
        margin: -30px 0 22px -24px
    }

    .tidycal-calendar-heading {
        align-items: start;
        gap: 12px;
        padding: 22px 20px;
        display: grid
    }

    .pricing-page-grid article {
        min-height: 0;
        padding: 32px 26px
    }

    .pricing-boundary-grid article {
        min-height: 0
    }

    .pricing-page-plans,
    .pricing-boundaries,
    .paid-consultations,
    .consultation-paths,
    .consultation-use-cases,
    .contact-options,
    .tidycal-section,
    .contact-form-section,
    .analysis-layout {
        padding-top: 82px;
        padding-bottom: 82px
    }

    .tidycal-consent {
        min-height: 0;
        padding: 34px 24px
    }

    .tidycal-consent>div {
        display: grid
    }

    .tidycal-consent .button {
        width: 100%
    }

    .tidycal-frame,
    .tidycal-embed {
        min-height: 620px
    }

    .analysis-hero>div {
        width: calc(100% - 32px);
        padding: 62px 0 76px
    }

    .analysis-form {
        padding: 30px 22px
    }

    .form-wide {
        grid-column: auto
    }
}

.header-inner {
    grid-template-columns: minmax(255px, .9fr) auto minmax(190px, .7fr);
    width: min(1240px, 100% - 48px);
    min-height: 82px
}

.wordmark {
    color: #123a57;
    font-family: var(--font-body);
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 14px;
    line-height: 1;
    display: grid
}

.wordmark strong {
    letter-spacing: .07em;
    text-transform: uppercase;
    white-space: nowrap;
    font-size: clamp(20px, 1.8vw, 28px);
    font-weight: 500
}

.wordmark span {
    font-family: var(--font-body);
    letter-spacing: .08em;
    border-left: 1px solid #0777a3;
    margin: 0;
    padding-left: 14px;
    font-size: 7px;
    line-height: 1.25
}

.footer-main {
    grid-template-columns: minmax(280px, 1.5fr) repeat(4, minmax(145px, .75fr));
    width: min(1240px, 100% - 48px)
}

.pricing-page-grid.pricing-five-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr))
}

.pricing-page-grid.pricing-five-grid>article {
    grid-column: span 2
}

.pricing-page-grid.pricing-five-grid>article:nth-child(4) {
    grid-column: 2/span 2
}

.pricing-page-grid.pricing-five-grid>article:nth-child(5) {
    grid-column: 4/span 2
}

@media (width<=1180px) {
    .desktop-nav {
        display: none
    }

    .header-inner {
        grid-template-columns: 1fr auto auto
    }

    .mobile-menu {
        display: block
    }

    .footer-main {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .footer-brand {
        grid-column: 1/-1
    }
}

@media (width<=820px) {
    .pricing-page-grid.pricing-five-grid {
        grid-template-columns: 1fr
    }

    .pricing-page-grid.pricing-five-grid>article,
    .pricing-page-grid.pricing-five-grid>article:nth-child(4),
    .pricing-page-grid.pricing-five-grid>article:nth-child(5) {
        grid-column: auto
    }
}

@media (width<=720px) {
    .header-inner {
        grid-template-columns: 1fr auto;
        width: calc(100% - 28px);
        min-height: 72px
    }

    .wordmark {
        gap: 9px
    }

    .wordmark strong {
        font-size: 16px
    }

    .wordmark span {
        padding-left: 9px;
        font-size: 5.5px
    }

    .footer-main {
        grid-template-columns: 1fr;
        width: calc(100% - 32px)
    }
}

.rn-header,
.rn-footer {
    --rn-navy: #123a57;
    --rn-blue: #0777a3;
    --rn-pale: #b4d8e4;
    --rn-ice: #f3f8fa;
    --rn-white: #fff
}

.rn-header {
    z-index: 1000;
    background: var(--rn-white);
    min-height: 68px;
    color: var(--rn-navy);
    border-bottom: 1px solid #b4d8e4cc;
    position: sticky;
    top: 0
}

html.rn-nav-open,
html.rn-nav-open body {
    overscroll-behavior: none;
    overflow: hidden
}

.rn-header-inner {
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    width: min(1240px, 100% - 32px);
    min-height: 68px;
    margin: 0 auto;
    display: flex
}

.rn-brand {
    color: var(--rn-navy);
    font-family: var(--font-body);
    line-height: 1;
    text-decoration: none
}

.rn-brand strong {
    letter-spacing: .075em;
    text-transform: uppercase;
    white-space: nowrap;
    font-size: 17px;
    font-weight: 600;
    display: inline-block
}

.rn-brand strong:after {
    color: var(--rn-blue);
    content: "."
}

.rn-desktop-nav,
.rn-header-cta {
    display: none
}

.rn-mobile-menu {
    margin-left: auto;
    position: static
}

.rn-mobile-menu>summary {
    border: 1px solid var(--rn-pale);
    background: var(--rn-ice);
    min-height: 44px;
    color: var(--rn-navy);
    cursor: pointer;
    letter-spacing: .08em;
    text-transform: uppercase;
    border-radius: 3px;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 0 13px;
    font-size: 13px;
    font-weight: 700;
    list-style: none;
    display: flex
}

.rn-mobile-menu>summary::-webkit-details-marker {
    display: none
}

.rn-mobile-group>summary::-webkit-details-marker {
    display: none
}

.rn-nav-group>summary::-webkit-details-marker {
    display: none
}



.rn-mobile-menu[open]>summary {
    border-color: var(--rn-blue);
    background: var(--rn-blue);
    color: var(--rn-white)
}

.rn-mobile-menu > summary i {
    position: relative;
    display: block;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
}

.rn-mobile-menu > summary b {
    position: absolute;
    top: 50%;
    left: 1px;
    display: block;
    width: 18px;
    height: 2px;
    margin-top: -1px;
    border-radius: 999px;
    background: currentColor;
    transform-origin: center;
    transition: transform 0.18s ease;
}

.rn-mobile-menu > summary b:first-child {
    transform: translateY(-5px);
}

.rn-mobile-menu > summary b:last-child {
    transform: translateY(5px);
}

.rn-mobile-menu[open] > summary b:first-child {
    transform: rotate(45deg);
}

.rn-mobile-menu[open] > summary b:last-child {
    transform: rotate(-45deg);
}
.rn-mobile-panel {
    z-index: 999;
    box-sizing: border-box;
    width: 100%;
    height: calc(100dvh - 68px);
    max-height: none;
    padding: 28px 20px max(36px, env(safe-area-inset-bottom));
    border-top: 1px solid var(--rn-pale);
    background: var(--rn-ice);
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
    position: fixed;
    inset: 68px 0 0;
    overflow: hidden auto
}

.rn-mobile-kicker {
    color: var(--rn-blue);
    letter-spacing: .16em;
    text-transform: uppercase;
    margin: 0 0 13px;
    font-size: 11px;
    font-weight: 800
}

.rn-mobile-panel nav {
    border-top: 1px solid var(--rn-pale);
    display: grid
}

.rn-mobile-panel nav>a,
.rn-mobile-group>summary {
    border-bottom: 1px solid var(--rn-pale);
    min-height: 52px;
    color: var(--rn-navy);
    cursor: pointer;
    justify-content: space-between;
    align-items: center;
    margin: 0;
    padding: 0 2px;
    font-size: 17.5px;
    font-weight: 650;
    text-decoration: none;
    list-style: none;
    display: flex
}

.rn-mobile-group>summary span {
    color: var(--rn-blue);
    font-size: 22px;
    font-weight: 400;
    transition: transform .18s
}

.rn-mobile-group[open]>summary span {
    transform: rotate(45deg)
}

.rn-mobile-group>div {
    border-bottom: 1px solid var(--rn-pale);
    background: var(--rn-white);
    padding: 8px 0 12px 15px;
    display: grid
}

.rn-mobile-group>div a {
    min-height: 44px;
    color: var(--rn-navy);
    padding: 11px 8px;
    font-size: 15.5px;
    line-height: 1.35;
    text-decoration: none
}

.rn-mobile-panel nav>.rn-mobile-highlight {
    color: var(--rn-blue)
}

.rn-mobile-actions {
    gap: 10px;
    margin-top: 24px;
    display: grid
}

.rn-mobile-actions>a {
    text-align: center;
    justify-content: center;
    min-height: 50px
}

.rn-mobile-actions>a:last-child {
    border: 1px solid var(--rn-blue);
    color: var(--rn-blue);
    align-items: center;
    font-size: 14px;
    font-weight: 750;
    text-decoration: none;
    display: flex
}

.rn-footer {
    border-top: 1px solid var(--rn-pale);
    background: var(--rn-ice);
    color: var(--rn-navy);
    overflow: hidden
}

main:has(>.final-cta:last-child)+.rn-footer .rn-footer-cta {
    display: none
}

.rn-footer-cta {
    background: var(--rn-navy);
    color: var(--rn-white);
    gap: 24px;
    padding: 38px 20px;
    display: grid
}

.rn-footer-cta p {
    color: var(--rn-pale);
    letter-spacing: .14em;
    text-transform: uppercase;
    margin: 0 0 8px;
    font-size: 11px;
    font-weight: 800
}

.rn-footer-cta h2 {
    max-width: 720px;
    color: var(--rn-white);
    font-family: var(--font-body);
    letter-spacing: -.035em;
    margin: 0;
    font-size: clamp(26px, 8vw, 40px);
    font-weight: 550;
    line-height: 1.08
}

.rn-footer-cta-actions {
    gap: 10px;
    display: grid
}

.rn-footer-cta-actions a {
    border: 1px solid var(--rn-pale);
    min-height: 50px;
    color: var(--rn-white);
    text-align: center;
    justify-content: center;
    align-items: center;
    padding: 0 18px;
    font-size: 13px;
    font-weight: 750;
    text-decoration: none;
    display: flex
}

.rn-footer-cta-actions a:first-child {
    border-color: var(--rn-blue);
    background: var(--rn-blue)
}

.rn-footer-main {
    gap: 38px;
    width: min(1240px, 100% - 40px);
    margin: 0 auto;
    padding: 52px 0 44px;
    display: grid
}

.rn-brand-footer strong {
    font-size: 22px
}

.rn-footer-brand>p {
    color: #456173;
    max-width: 420px;
    margin: 13px 0 0;
    font-size: 14px;
    line-height: 1.65
}

.rn-footer-brand>.rn-footer-descriptor {
    color: var(--rn-blue);
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-top: 18px;
    font-size: 11px;
    font-weight: 800
}

.rn-footer-contact {
    gap: 7px;
    margin-top: 22px;
    display: grid
}

.rn-footer-contact a {
    width: max-content;
    color: var(--rn-navy);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none
}

.rn-footer-column {
    align-content: start;
    gap: 10px;
    display: grid
}

.rn-footer-column h2 {
    color: var(--rn-blue);
    font-family: var(--font-body);
    letter-spacing: .13em;
    text-transform: uppercase;
    margin: 0 0 7px;
    font-size: 11px;
    font-weight: 800
}

.rn-footer-column a {
    color: #456173;
    width: fit-content;
    font-size: 13px;
    line-height: 1.45;
    text-decoration: none
}

.rn-footer-contact a:hover,
.rn-footer-column a:hover,
.rn-footer-contact a:focus-visible,
.rn-footer-column a:focus-visible {
    color: var(--rn-blue);
    text-underline-offset: 3px;
    text-decoration: underline
}

.rn-footer-bottom {
    border-top: 1px solid var(--rn-pale);
    color: #5b7180;
    gap: 16px;
    width: min(1240px, 100% - 40px);
    margin: 0 auto;
    padding: 23px 0 28px;
    font-size: 11px;
    line-height: 1.5;
    display: grid
}

.rn-footer-bottom>div {
    flex-wrap: wrap;
    gap: 10px 18px;
    display: flex
}

.rn-footer-bottom a,
.rn-footer-bottom button {
    color: var(--rn-navy);
    cursor: pointer;
    font: inherit;
    background: 0 0;
    border: 0;
    margin: 0;
    padding: 0;
    text-decoration: none
}

.rn-footer-bottom a:hover,
.rn-footer-bottom button:hover,
.rn-footer-bottom a:focus-visible,
.rn-footer-bottom button:focus-visible {
    color: var(--rn-blue);
    text-underline-offset: 3px;
    text-decoration: underline
}

@media (width>=640px) {
    .rn-header-inner {
        width: min(1240px, 100% - 48px);
        min-height: 74px
    }

    .rn-header {
        min-height: 74px
    }

    .rn-brand strong {
        font-size: 19px
    }

    .rn-mobile-panel {
        width: min(520px, 100vw);
        height: calc(100dvh - 74px);
        padding: 34px 32px max(42px, env(safe-area-inset-bottom));
        border-left: 1px solid var(--rn-pale);
        inset: 74px 0 0 auto;
        box-shadow: -20px 24px 60px #123a5724
    }

    .rn-footer-cta {
        grid-template-columns: 1fr auto;
        align-items: center;
        padding: 44px max(32px, 50vw - 620px)
    }

    .rn-footer-cta-actions {
        grid-template-columns: repeat(2, auto)
    }

    .rn-footer-cta-actions a {
        padding-inline: 22px
    }

    .rn-footer-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: min(1240px, 100% - 64px)
    }

    .rn-footer-brand {
        grid-column: 1/-1
    }

    .rn-footer-bottom {
        width: min(1240px, 100% - 64px)
    }
}

@media (width>=1120px) {
    .rn-header-inner {
        gap: 24px;
        min-height: 84px
    }

    .rn-header {
        min-height: 84px
    }

    .rn-brand-header strong {
        font-size: 22px
    }

    .rn-desktop-nav {
        align-items: stretch;
        gap: 2px;
        margin-left: auto;
        display: flex
    }

    .rn-nav-group {
        position: relative
    }

    .rn-nav-group>summary,
    .rn-nav-link {
        min-height: 44px;
        color: var(--rn-navy);
        cursor: pointer;
        border-radius: 3px;
        align-items: center;
        gap: 7px;
        padding: 0 13px;
        font-size: 14.5px;
        font-weight: 650;
        text-decoration: none;
        list-style: none;
        display: flex
    }

    .rn-nav-group>summary:hover,
    .rn-nav-link:hover,
    .rn-nav-group[open]>summary {
        background: var(--rn-ice);
        color: var(--rn-blue)
    }

    .rn-nav-chevron {
        border-bottom: 1.5px solid;
        border-right: 1.5px solid;
        width: 6px;
        height: 6px;
        margin-top: -3px;
        transition: transform .16s;
        transform: rotate(45deg)
    }

    .rn-nav-group[open] .rn-nav-chevron {
        margin-top: 3px;
        transform: rotate(225deg)
    }

    .rn-nav-panel {
        border: 1px solid var(--rn-pale);
        border-top: 3px solid var(--rn-blue);
        background: var(--rn-white);
        padding: 20px;
        position: absolute;
        top: calc(100% + 18px);
        box-shadow: 0 24px 70px #123a572b
    }

    .rn-nav-panel:before {
        content: "";
        height: 20px;
        position: absolute;
        bottom: 100%;
        left: 0;
        right: 0
    }

    .rn-nav-mega {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
        width: min(940px, 100vw - 48px);
        display: grid;
        left: -195px
    }

    .rn-nav-panel-compact {
        width: 390px;
        left: -90px
    }

    .rn-nav-column {
        align-content: start;
        gap: 3px;
        padding: 10px;
        display: grid
    }

    .rn-nav-column-accent {
        background: var(--rn-ice)
    }

    .rn-nav-column>p {
        color: var(--rn-blue);
        letter-spacing: .13em;
        text-transform: uppercase;
        margin: 0 0 8px;
        font-size: 11px;
        font-weight: 800
    }

    .rn-nav-column>a {
        color: var(--rn-navy);
        gap: 3px;
        padding: 10px;
        text-decoration: none;
        display: grid
    }

    .rn-nav-column>a:hover,
    .rn-nav-column>a:focus-visible {
        background: var(--rn-ice);
        outline: none
    }

    .rn-nav-column-accent>a:hover,
    .rn-nav-column-accent>a:focus-visible {
        background: var(--rn-white)
    }

    .rn-nav-column>a strong {
        font-size: 14.25px;
        font-weight: 750;
        line-height: 1.25
    }

    .rn-nav-column>a span {
        color: #5b7180;
        font-size: 12.25px;
        line-height: 1.35
    }

    .rn-nav-column>.rn-nav-pricing {
        border-top: 1px solid var(--rn-pale);
        color: var(--rn-blue);
        justify-content: space-between;
        align-items: center;
        margin-top: 4px;
        font-size: 13px;
        font-weight: 800;
        display: flex
    }

    .rn-header-cta {
        border: 1px solid var(--rn-blue);
        background: var(--rn-blue);
        min-height: 44px;
        color: var(--rn-white);
        white-space: nowrap;
        border-radius: 3px;
        justify-content: center;
        align-items: center;
        padding: 0 18px;
        font-size: 13.5px;
        font-weight: 800;
        text-decoration: none;
        display: inline-flex
    }

    .rn-header-cta:hover,
    .rn-header-cta:focus-visible {
        border-color: var(--rn-navy);
        background: var(--rn-navy)
    }

    .rn-mobile-menu {
        display: none
    }

    .rn-footer-main {
        grid-template-columns: minmax(300px, 1.45fr) repeat(3, minmax(160px, .8fr));
        gap: clamp(36px, 5vw, 78px);
        padding: 72px 0 62px
    }

    .rn-footer-brand {
        grid-column: auto
    }

    .rn-footer-bottom {
        grid-template-columns: 1fr auto;
        align-items: center
    }
}

@media (prefers-reduced-motion:reduce) {

    .rn-mobile-menu>summary b,
    .rn-mobile-group>summary span,
    .rn-nav-chevron {
        transition: none
    }
}

.booking-hub-hero,
.booking-page-hero {
    padding-top: clamp(50px, 8vw, 92px);
    padding-bottom: clamp(34px, 6vw, 68px)
}

.booking-hub-hero>div {
    max-width: 900px;
    margin-top: 34px
}

.booking-hub-hero h1,
.booking-page-intro h1 {
    margin: 14px 0 20px;
    font-size: clamp(42px, 6vw, 76px);
    font-weight: 550;
    line-height: 1.02
}

.booking-hub-hero>div>p:not(.eyebrow),
.booking-page-intro>div>p:not(.eyebrow) {
    max-width: 760px;
    color: var(--ink-soft);
    margin: 0;
    font-size: clamp(16px, 2vw, 19px);
    line-height: 1.7
}

.booking-hub-options {
    padding-top: 0;
    padding-bottom: clamp(72px, 9vw, 112px)
}

.booking-choice-grid {
    gap: 14px;
    display: grid
}

.booking-choice-grid article {
    border: 1px solid var(--line);
    background: var(--white);
    border-radius: 8px;
    flex-direction: column;
    min-width: 0;
    padding: 24px;
    display: flex;
    position: relative;
    box-shadow: 0 14px 34px #123a570f
}

.booking-choice-grid article.featured {
    background: linear-gradient(#edf7fa 0%, #fff 62%);
    border-color: #94c8d9
}

.booking-choice-topline {
    border-bottom: 1px solid var(--line);
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    padding-bottom: 14px;
    display: flex
}

.booking-choice-topline span {
    color: var(--ink-soft);
    font-size: 13px;
    font-weight: 750
}

.booking-choice-topline strong {
    color: var(--copper-dark);
    white-space: nowrap;
    font-size: 15px
}

.booking-choice-grid h2,
.booking-choice-grid h3 {
    margin: 18px 0 10px;
    font-size: clamp(24px, 3vw, 31px);
    font-weight: 600;
    line-height: 1.08
}

.booking-choice-grid article>p {
    color: var(--ink-soft);
    margin: 0 0 20px;
    font-size: 14px;
    line-height: 1.6
}

.booking-choice-grid .button {
    width: 100%;
    min-height: 46px;
    margin-top: auto;
    padding: 12px 16px
}

.booking-hub-note {
    color: #66777e;
    margin: 18px 0 0;
    font-size: 12px;
    line-height: 1.6
}

.booking-hub-help {
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    gap: 24px;
    margin-bottom: clamp(72px, 10vw, 120px);
    padding-top: 30px;
    padding-bottom: 30px;
    display: grid
}

.booking-hub-help h2,
.booking-switch h2,
.booking-alternatives-heading h2 {
    margin: 7px 0 0;
    font-size: clamp(27px, 4vw, 42px);
    font-weight: 550;
    line-height: 1.08
}

.booking-hub-help>p {
    color: var(--ink-soft);
    margin: 0;
    line-height: 1.7
}

.booking-page-intro {
    gap: 30px;
    margin-top: 34px;
    display: grid
}

.booking-page-intro aside {
    border: 1px solid var(--line);
    border-top: 4px solid var(--copper);
    background: var(--ivory);
    padding: 26px
}

.booking-page-intro aside>span,
.booking-page-intro aside>strong {
    display: block
}

.booking-page-intro aside>span {
    color: var(--ink-soft);
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 13px;
    font-weight: 750
}

.booking-page-intro aside>strong {
    color: var(--copper-dark);
    margin-top: 6px;
    font-size: clamp(25px, 4vw, 36px)
}

.booking-page-intro aside ul {
    gap: 9px;
    margin: 22px 0;
    padding: 0;
    list-style: none;
    display: grid
}

.booking-page-intro aside li {
    color: var(--ink-soft);
    padding-left: 21px;
    font-size: 14px;
    line-height: 1.45;
    position: relative
}

.booking-page-intro aside li:before {
    background: var(--copper);
    content: "";
    border-radius: 50%;
    width: 7px;
    height: 7px;
    position: absolute;
    top: .52em;
    left: 0
}

.booking-page-intro aside small {
    color: #66777e;
    font-size: 11px;
    line-height: 1.55;
    display: block
}

.booking-switch {
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    gap: 20px;
    padding-top: 24px;
    padding-bottom: 24px;
    display: grid
}

.booking-switch-links {
    gap: 10px;
    display: grid
}

.booking-switch-links a {
    border: 1px solid var(--line);
    min-height: 62px;
    color: var(--ink);
    border-radius: 5px;
    justify-content: space-between;
    align-items: center;
    gap: 8px 18px;
    padding: 13px 16px;
    text-decoration: none;
    display: flex
}

.booking-switch-links a:hover,
.booking-switch-links a:focus-visible {
    border-color: var(--copper);
    background: var(--ivory)
}

.booking-switch-links span {
    font-size: 13px;
    font-weight: 750
}

.booking-switch-links strong {
    color: var(--copper-dark);
    text-align: right;
    font-size: 12px
}

.booking-calendar-section {
    padding-top: clamp(40px, 6vw, 70px);
    padding-bottom: clamp(72px, 9vw, 112px)
}

.single-booking-heading {
    background: var(--blue-deep, #123a57);
    color: var(--white);
    gap: 12px;
    padding: 20px;
    display: grid
}

.single-booking-heading h2 {
    margin: 5px 0 0;
    font-size: clamp(25px, 4vw, 38px);
    font-weight: 550
}

.single-booking-heading .card-tag {
    color: #b6dcea
}

.single-booking-heading>strong {
    color: #b6dcea;
    font-size: 18px
}

.single-booking-embed .tidycal-frame {
    margin-top: 0
}

.booking-alternatives {
    border-top: 1px solid var(--line);
    padding-top: clamp(64px, 8vw, 100px);
    padding-bottom: clamp(82px, 10vw, 124px)
}

.booking-alternatives-heading {
    gap: 20px;
    margin-bottom: 28px;
    display: grid
}

.consultation-booking-choices {
    padding-top: 100px;
    padding-bottom: 110px;
    scroll-margin-top: 104px
}

.consultation-booking-choices .booking-choice-grid {
    margin-top: 30px
}

@media (width>=760px) {
    .booking-choice-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .booking-choice-grid-compact article {
        min-height: 310px
    }

    .booking-hub-help,
    .booking-switch,
    .booking-alternatives-heading {
        grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
        align-items: center
    }

    .booking-switch-links {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .single-booking-heading {
        grid-template-columns: 1fr auto;
        align-items: end;
        padding: 24px 28px
    }

    .booking-alternatives .booking-choice-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media (width>=960px) {
    .booking-page-intro {
        grid-template-columns: minmax(0, 1.25fr) minmax(330px, .62fr);
        align-items: start;
        gap: clamp(54px, 7vw, 96px)
    }
}

@media (width<=520px) {
    .booking-choice-grid article {
        padding: 20px
    }

    .booking-choice-grid h2,
    .booking-choice-grid h3 {
        font-size: 24px
    }

    .booking-switch-links a {
        align-items: flex-start
    }

    .single-booking-embed .tidycal-frame,
    .single-booking-embed .tidycal-embed {
        min-height: 560px
    }
}

.analysis-hero {
    color: #fff;
    background: radial-gradient(circle at 82% 18%, #b4d8e433, #0000 30%), linear-gradient(135deg, #123a57 0%, #0e3049 72%, #0777a3 145%)
}

.analysis-hero h1,
.analysis-hero .eyebrow {
    color: #fff
}

.analysis-hero .breadcrumbs,
.analysis-hero .breadcrumbs a,
.analysis-hero>div>p:last-child {
    color: #d9edf3
}

.faq-list summary {
    min-width: 0;
    font-size: 16px;
    line-height: 1.42
}

.faq-list summary:not(:has(>span)) {
    grid-template-columns: minmax(0, 1fr) 32px
}

.faq-list summary:not(:has(>span)):after {
    grid-column: 2
}

.faq-list details:has(summary:not(:has(>span)))>p {
    margin-left: 0
}

.qualification-actions,
.case-data-actions,
.fit-contact-actions,
.form-submit-actions {
    flex-wrap: wrap;
    gap: 10px;
    display: flex
}

.qualification-actions {
    margin-top: 22px
}

.qualification-actions .button,
.case-data-actions .button {
    min-height: 48px
}

.case-data-actions {
    margin-top: 24px
}

.fit-contact-actions {
    margin-top: 18px;
    display: grid
}

.form-submit-actions {
    margin-top: 22px
}

.form-submit-actions .button {
    flex: 240px
}

.conversion-actions {
    align-items: stretch;
    gap: 11px;
    display: grid
}

.conversion-actions .button {
    text-align: center;
    justify-content: center;
    width: 100%;
    min-height: 50px
}

.conversion-direct {
    color: #d9edf3;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 5px 10px;
    margin: 5px 0 0;
    font-size: 12px;
    display: flex
}

.conversion-direct a {
    color: inherit;
    text-underline-offset: 3px
}

.rn-footer-cta-actions a:nth-child(3) {
    background: 0 0
}

.hero-form-link {
    color: #31566f;
    text-underline-offset: 4px;
    margin-top: 14px;
    font-size: 12px;
    font-weight: 700;
    text-decoration: underline;
    display: inline-flex
}

.rn-mobile-actions>a:not(:first-child) {
    border: 1px solid var(--rn-blue);
    min-height: 50px;
    color: var(--rn-blue);
    align-items: center;
    font-size: 14px;
    font-weight: 750;
    text-decoration: none;
    display: flex
}

.rn-mobile-actions>.rn-mobile-whatsapp {
    border-color: var(--rn-pale);
    background: var(--rn-white)
}

.rn-mobile-direct {
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 16px;
    margin: 8px 0 0;
    font-size: 13px;
    display: flex
}

.rn-mobile-direct a {
    color: var(--rn-navy);
    font-weight: 700
}

.booking-switch {
    background: linear-gradient(135deg, #f3f8fa 0%, #fff 72%);
    border: 1px solid #b4d8e4;
    border-radius: 14px;
    width: min(1240px, 100% - 32px);
    margin-bottom: 12px;
    padding: clamp(24px, 4vw, 42px);
    box-shadow: 0 18px 48px #123a5714
}

.booking-switch>div:first-child>p:last-child {
    max-width: 520px;
    color: var(--ink-soft);
    margin: 12px 0 0;
    font-size: 14px;
    line-height: 1.55
}

.booking-switch-links {
    gap: 12px
}

.booking-switch-links a {
    background: #fff;
    border: 1px solid #90c7d9;
    border-radius: 10px;
    grid-template-columns: minmax(0, 1fr) auto 24px;
    gap: 14px;
    min-width: 0;
    min-height: 112px;
    padding: 18px 18px 18px 20px;
    transition: transform .16s, border-color .16s, box-shadow .16s;
    display: grid;
    position: relative;
    overflow: hidden;
    box-shadow: 0 9px 24px #123a5712
}

.booking-switch-links a:before {
    content: "";
    background: #0777a3;
    width: 5px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0
}

.booking-switch-links a:hover,
.booking-switch-links a:focus-visible {
    background: #fff;
    border-color: #0777a3;
    transform: translateY(-2px);
    box-shadow: 0 15px 34px #123a5724
}

.booking-switch-copy {
    gap: 4px;
    min-width: 0;
    display: grid
}

.booking-switch-copy small {
    color: #0777a3;
    letter-spacing: .13em;
    text-transform: uppercase;
    font-size: 10px;
    font-style: normal;
    font-weight: 800
}

.booking-switch-copy b {
    color: #123a57;
    font-size: 16px;
    line-height: 1.2
}

.booking-switch-copy em {
    color: #5b7180;
    font-size: 11px;
    font-style: normal;
    line-height: 1.3
}

.booking-switch-links a>strong {
    color: #123a57;
    text-align: right;
    justify-items: end;
    gap: 4px;
    display: grid
}

.booking-switch-links a>strong>span {
    color: #0777a3;
    font-size: 15px;
    font-weight: 800
}

.booking-switch-links a>strong small {
    color: #123a57;
    white-space: nowrap;
    font-size: 11px
}

.booking-switch-links a>i {
    color: #0777a3;
    font-size: 22px;
    font-style: normal
}

.contact-option-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr))
}

@media (width>=640px) {
    .rn-footer-cta-actions {
        grid-template-columns: repeat(3, auto)
    }
}

@media (width>=1120px) {
    .rn-nav-panel-consulting {
        width: 430px;
        right: -105px
    }

    .rn-nav-consulting .rn-nav-column {
        padding: 4px
    }

    .rn-nav-column>.rn-nav-form-link {
        border-top: 1px solid var(--rn-pale);
        color: var(--rn-navy);
        justify-content: space-between;
        align-items: center;
        margin-top: 2px;
        font-size: 12px;
        font-weight: 750;
        display: flex
    }
}

@media (width<=720px) {
    .analysis-hero>div {
        padding-top: 56px;
        padding-bottom: 68px
    }

    .analysis-hero h1 {
        font-size: clamp(38px, 11vw, 54px);
        line-height: 1.02
    }

    .faq-list summary {
        gap: 10px;
        padding: 22px 0;
        font-size: 15px
    }

    .contact-option-grid,
    .booking-switch-links {
        grid-template-columns: 1fr
    }

    .booking-switch {
        padding: 22px 18px
    }

    .booking-switch-links a {
        grid-template-columns: minmax(0, 1fr) auto 20px;
        align-items: center;
        min-height: 106px;
        padding: 17px 14px 17px 18px
    }

    .qualification-actions,
    .case-data-actions,
    .form-submit-actions {
        display: grid
    }

    .qualification-actions .button,
    .case-data-actions .button,
    .form-submit-actions .button {
        width: 100%
    }
}

@media (width<=420px) {
    .booking-switch-links a {
        grid-template-columns: minmax(0, 1fr) 18px
    }

    .booking-switch-links a>strong {
        text-align: left;
        grid-area: 2/1;
        justify-items: start
    }

    .booking-switch-links a>i {
        grid-area: 1/2/span 2
    }
}

.resource-topic-intro {
    grid-template-columns: minmax(0, 1.05fr) minmax(300px, .75fr);
    align-items: end;
    gap: 64px;
    margin-bottom: 48px;
    display: grid
}

.resource-topic-intro h2 {
    color: #123a57;
    max-width: 760px;
    margin: 8px 0 0;
    font-size: clamp(34px, 4vw, 58px);
    line-height: 1.04
}

.resource-topic-intro>p {
    color: #4b6373;
    margin: 0;
    font-size: 16px;
    line-height: 1.75
}

.resource-clusters {
    gap: 92px;
    display: grid
}

.resource-cluster>header {
    border-top: 1px solid #b4d8e4;
    grid-template-columns: minmax(180px, .38fr) minmax(0, 1fr);
    align-items: start;
    gap: 38px;
    margin-bottom: 30px;
    padding-top: 22px;
    display: grid
}

.resource-cluster>header p {
    color: #0777a3;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin: 0;
    font-size: 11px;
    font-weight: 800
}

.resource-cluster>header h2 {
    color: #123a57;
    max-width: 760px;
    margin: 0;
    font-size: clamp(27px, 3vw, 42px);
    line-height: 1.08
}

.video-resource-section {
    color: #fff;
    background: #123a57
}

.video-resource-section>.section {
    padding-top: 104px;
    padding-bottom: 104px
}

.resource-topic-intro.light h2,
.resource-topic-intro.light>p {
    color: #fff
}

.resource-topic-intro.light>p {
    opacity: .78
}

.video-resource-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    display: grid
}

.video-resource-grid article {
    background: linear-gradient(135deg, #0777a338, #0000 58%), #ffffff09;
    border: 1px solid #b4d8e44d;
    flex-direction: column;
    align-items: flex-start;
    min-height: 350px;
    padding: 34px;
    display: flex
}

.video-resource-grid article>p {
    color: #b4d8e4;
    letter-spacing: .13em;
    text-transform: uppercase;
    margin: 0 0 18px;
    font-size: 11px;
    font-weight: 800
}

.video-resource-grid h3 {
    color: #fff;
    margin: 0;
    font-size: clamp(25px, 2.5vw, 36px);
    line-height: 1.08
}

.video-resource-grid article>span {
    color: #ffffffb8;
    margin-top: 20px;
    font-size: 14px;
    line-height: 1.65;
    display: block
}

.video-resource-grid a {
    color: #fff;
    border-top: 1px solid #b4d8e43d;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-top: auto;
    padding-top: 28px;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    display: flex
}

.video-resource-grid a i {
    background: #0777a3;
    border-radius: 50%;
    place-items: center;
    width: 42px;
    height: 42px;
    font-style: normal;
    display: grid
}

.video-resource-cta {
    border-top: 1px solid #b4d8e43d;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    margin-top: 30px;
    padding-top: 30px;
    display: flex
}

.video-resource-cta p {
    color: #fff;
    margin: 0;
    font-size: 18px;
    font-weight: 700
}

.case-metrics {
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    align-items: end;
    gap: 72px;
    padding-top: 42px;
    padding-bottom: 100px;
    display: grid
}

.case-metrics-heading h2 {
    color: #123a57;
    margin: 8px 0 20px;
    font-size: clamp(35px, 4.2vw, 58px);
    line-height: 1.03
}

.case-metrics-heading>p:last-child {
    color: #4b6373;
    line-height: 1.7
}

.case-metrics dl {
    border-top: 1px solid #b4d8e4;
    border-left: 1px solid #b4d8e4;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    display: grid
}

.case-metrics dl>div {
    background: #f3f8fa;
    border-bottom: 1px solid #b4d8e4;
    border-right: 1px solid #b4d8e4;
    min-height: 155px;
    padding: 26px
}

.case-metrics dt {
    color: #0777a3;
    letter-spacing: -.05em;
    font-size: clamp(30px, 3.5vw, 48px);
    font-weight: 800
}

.case-metrics dd {
    color: #4b6373;
    margin: 8px 0 0;
    font-size: 13px;
    line-height: 1.45
}

.real-cases h2 a {
    color: inherit;
    text-decoration: none
}

.real-cases h2 a:hover,
.real-cases h2 a:focus-visible {
    color: #0777a3
}

.case-detail-link {
    color: #0777a3;
    align-items: center;
    gap: 12px;
    margin-top: 22px;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    display: inline-flex
}

.static-case-links {
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 70px;
    padding-top: 24px;
    padding-bottom: 110px;
    display: grid
}

.static-case-links h2 {
    color: #123a57;
    margin: 8px 0 20px;
    font-size: clamp(35px, 4vw, 56px);
    line-height: 1.03
}

.static-case-links>div:first-child>p:last-child {
    color: #4b6373;
    line-height: 1.7
}

.static-case-links>div:last-child {
    gap: 12px;
    display: grid
}

.static-case-links a {
    color: #123a57;
    background: #fff;
    border: 1px solid #b4d8e4;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px 24px;
    min-height: 135px;
    padding: 24px;
    text-decoration: none;
    transition: border-color .16s, transform .16s, box-shadow .16s;
    display: grid
}

.static-case-links a:hover,
.static-case-links a:focus-visible {
    border-color: #0777a3;
    transform: translateY(-2px);
    box-shadow: 0 16px 36px #123a571a
}

.static-case-links a span {
    color: #0777a3;
    letter-spacing: .12em;
    text-transform: uppercase;
    grid-column: 1/-1;
    font-size: 10px;
    font-weight: 800
}

.static-case-links a strong {
    font-size: 20px;
    line-height: 1.3
}

.static-case-links a i {
    color: #0777a3;
    align-self: end;
    font-size: 12px;
    font-style: normal;
    font-weight: 800
}

.sector-case-cta {
    background: #f3f8fa;
    border: 1px solid #b4d8e4;
    border-left: 6px solid #0777a3;
    margin-bottom: 92px;
    padding: 46px
}

.sector-case-cta h2 {
    color: #123a57;
    max-width: 850px;
    margin: 8px 0 28px;
    font-size: clamp(32px, 4vw, 52px);
    line-height: 1.04
}

@media (width<=820px) {

    .resource-topic-intro,
    .case-metrics,
    .static-case-links {
        grid-template-columns: 1fr;
        gap: 30px
    }

    .resource-cluster>header {
        grid-template-columns: 1fr;
        gap: 12px
    }

    .video-resource-grid {
        grid-template-columns: 1fr
    }

    .video-resource-grid article {
        min-height: 300px
    }
}

@media (width<=560px) {
    .case-metrics dl {
        grid-template-columns: 1fr
    }

    .case-metrics dl>div {
        min-height: 125px
    }

    .video-resource-cta {
        flex-direction: column;
        align-items: stretch
    }

    .video-resource-cta .button {
        width: 100%
    }
}

@property --tw-blur {
    syntax: "*";
    inherits: false
}

@property --tw-brightness {
    syntax: "*";
    inherits: false
}

@property --tw-contrast {
    syntax: "*";
    inherits: false
}

@property --tw-grayscale {
    syntax: "*";
    inherits: false
}

@property --tw-hue-rotate {
    syntax: "*";
    inherits: false
}

@property --tw-invert {
    syntax: "*";
    inherits: false
}

@property --tw-opacity {
    syntax: "*";
    inherits: false
}

@property --tw-saturate {
    syntax: "*";
    inherits: false
}

@property --tw-sepia {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-drop-shadow-size {
    syntax: "*";
    inherits: false
}

/* ==========================================================================
   CORRECCIONES DE ACCESIBILIDAD Y ENCUADRE DE IMÁGENES
   ========================================================================== */

/* Captions que están sobre fondo oscuro */
.landing-hero-image figcaption,
.pricing-page-hero figcaption,
.contact-hero figcaption {
    color: #ffffff;
}

/* Este caption aparece sobre fondo blanco */
.consultation-hero figcaption {
    color: #66777e;
}

/* Alinear fotos desde arriba */
.landing-hero-image img,
.pricing-page-hero figure img,
.contact-hero figure img,
.content-hero-visual img,
.consultation-hero figure img {
    object-fit: cover;
    object-position: top center;
}

/* 2. Asegurar que todas las fotos de cabecera se alineen desde arriba (top) 
      para que las personas no salgan cortadas por la frente */
.landing-hero-image img,
.pricing-page-hero figure img,
.contact-hero figure img,
.content-hero-visual img,
.consultation-hero figure img {
    object-fit: cover;
    object-position: top center;
}

.administration-logos {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px 24px;
  align-items: center;
}

.logo-tile {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100px;
}

.logo-tile img {
  display: block;
  width: 100%;
  max-width: 422px;
  height: auto;
  object-fit: contain;
}

.administration-logos:not(.is-expanded) .logo-tile:nth-child(n+17) {
  display: none;
}

.logos-toggle {
  display: block;
  margin: 32px auto 0;
  padding: 12px 24px;
  border: 1px solid #d5dbe2;
  border-radius: 6px;
  background: #fff;
  color: #23364d;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

.logos-toggle:hover {
  background: #f5f7f9;
}

@media (max-width: 900px) {
  .administration-logos {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 600px) {
  .administration-logos {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
}

.rn-honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Texto del botón del menú móvil */
.rn-mobile-menu > summary span {
    font-size: 0;
}

.rn-mobile-menu > summary span::after {
    content: "Menú";
    font-size: 13px;
    line-height: 1;
}

.rn-mobile-menu[open] > summary span::after {
    content: "Cerrar";
}
/* Mantener visible el encabezado al abrir el menú móvil */
@media (max-width: 1119px) {
    html.rn-nav-open .rn-header {
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        width: 100%;
    }

    html.rn-nav-open .rn-mobile-menu {
        position: relative;
        z-index: 1002;
    }
}



/* Corrección de contraste WCAG AA */
.trust-bar span,
.section-heading.light .eyebrow,
.service-card > span,
.final-cta .eyebrow {
    color: var(--sand);
}

.sector-index,
.proof-note {
    color: var(--ink-soft);
}




/* Contraste accesible en páginas principales de servicios */
.landing-audience > p,
.deliverable-list article > span {
    color: var(--sand);
}

.landing-proof .light-link {
    color: var(--ink);
}