:root {
    --oz-primary: #094cb2;
    --oz-primary-container: #3366cc;
    --oz-secondary: #436465;
    --oz-secondary-container: #c5e9ea;
    --oz-surface: #f9f9fd;
    --oz-surface-low: #f3f3f7;
    --oz-surface-lowest: #ffffff;
    --oz-on-surface: #1a1c1f;
    --oz-muted: #5d6778;
    --oz-outline: #c3c6d5;
    --oz-shadow-soft: 0 20px 40px rgba(26, 28, 31, 0.06);
    --oz-shadow-subtle: 0 16px 30px rgba(26, 28, 31, 0.05);
    --oz-radius-s: 18px;
    --oz-radius-m: 28px;
    --oz-radius-l: 40px;
    --oz-radius-pill: 999px;
    --oz-max-width: 1180px;
    --oz-font-display: "Manrope", system-ui, sans-serif;
    --oz-font-body: "Inter", system-ui, sans-serif;
    --oz-transition: 180ms ease;
    --oz-scroll-offset: 112px;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: var(--oz-scroll-offset);
}

body[data-menu-open] {
    overflow: hidden;
}

.siteHeader,
.mobileDock,
.footerBanner,
.cookieConsent {
    font-family: var(--oz-font-body);
    color: var(--oz-on-surface);
}

.oz-page,
.oz-page * {
    font-family: var(--oz-font-body);
}

.oz-page {
    background:
        radial-gradient(circle at top left, rgba(197, 233, 234, 0.34), transparent 24%),
        linear-gradient(180deg, #ffffff 0%, var(--oz-surface) 24%, #eef1f8 100%);
    color: var(--oz-on-surface);
    padding-bottom: 32px;
    overflow-x: clip;
}

body[data-legacy-page="true"] {
    background: linear-gradient(180deg, #ffffff 0%, var(--oz-surface) 24%, #eef1f8 100%);
    color: var(--oz-on-surface);
    padding-bottom: 32px;
    overflow-x: clip;
}

.oz-page h1,
.oz-page h2,
.oz-page h3,
.oz-page h4,
.oz-page h5,
.oz-page h6 {
    font-family: var(--oz-font-display);
    color: var(--oz-on-surface);
}

.oz-page .fullWidthContainer,
body[data-legacy-page="true"] .fullWidthContainer {
    width: 100%;
    border: 0;
    background: transparent;
}

.siteHeader.fullWidthContainer,
.mobileDock.fullWidthContainer,
.footerBanner.fullWidthContainer {
    width: 100%;
    border: 0;
}

.oz-page img {
    display: block;
    max-width: 100%;
    height: auto;
}

.oz-page a {
    color: inherit;
    text-decoration: none;
}

.oz-shell {
    width: min(var(--oz-max-width), calc(100% - 32px));
    margin: 0 auto;
}

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

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    min-height: 52px;
    padding: 0 1.4rem;
    border: 1px solid transparent;
    border-radius: var(--oz-radius-pill);
    font-family: var(--oz-font-body);
    font-size: 0.98rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition:
        transform var(--oz-transition),
        box-shadow var(--oz-transition),
        background-color var(--oz-transition),
        border-color var(--oz-transition),
        color var(--oz-transition);
}

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

.btn:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
button:focus-visible,
a:focus-visible {
    outline: none;
    box-shadow: 0 0 0 4px rgba(9, 76, 178, 0.14);
}

.btn--primary {
    background: linear-gradient(135deg, var(--oz-primary) 0%, var(--oz-primary-container) 100%);
    color: #ffffff;
    box-shadow: 0 16px 32px rgba(9, 76, 178, 0.18);
}

.oz-page .btn--primary,
.oz-page .btn--primary:hover,
.oz-page .btn--primary:visited,
.oz-page .btn--primary:active,
body[data-legacy-page="true"] .btn--primary,
body[data-legacy-page="true"] .btn--primary:hover,
body[data-legacy-page="true"] .btn--primary:visited,
body[data-legacy-page="true"] .btn--primary:active {
    color: #ffffff !important;
}

.btn--primary:hover {
    transform: translateY(-1px) scale(1.015);
    box-shadow: 0 20px 36px rgba(9, 76, 178, 0.22);
}

.btn--ghost {
    background: rgba(255, 255, 255, 0.75);
    color: var(--oz-on-surface);
    border-color: rgba(26, 28, 31, 0.08);
}

.btn--ghost:hover {
    background: #ffffff;
    border-color: rgba(9, 76, 178, 0.2);
}

.btn--icon {
    width: 56px;
    min-width: 56px;
    height: 56px;
    padding: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.86);
    border-color: rgba(195, 198, 213, 0.6);
    box-shadow: var(--oz-shadow-subtle);
}

.btn--icon svg {
    width: 18px;
    height: 18px;
}

.siteHeader {
    position: sticky;
    top: 0;
    z-index: 80;
    padding: 14px 0 0;
    background: linear-gradient(180deg, rgba(249, 249, 253, 0.96) 0%, rgba(249, 249, 253, 0) 100%);
}

#mainNav.siteHeader {
    position: sticky;
    top: 0;
    width: auto;
    height: auto !important;
    background: linear-gradient(180deg, rgba(249, 249, 253, 0.96) 0%, rgba(249, 249, 253, 0) 100%) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

.siteHeader__bar {
    list-style: none;
    width: min(var(--oz-max-width), calc(100% - 32px));
    margin: 0 auto;
    padding: 12px 16px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 20px;
    background: rgba(255, 255, 255, 0.88);
    border-radius: 28px;
    box-shadow: var(--oz-shadow-soft);
    backdrop-filter: blur(22px);
}

#mainNav.siteHeader .siteHeader__bar {
    display: grid !important;
    justify-content: normal !important;
    align-items: center !important;
    height: auto !important;
}

.siteHeader__cluster {
    width: auto;
    height: auto;
    display: flex;
    align-items: center;
}

#mainNav.siteHeader .siteHeader__cluster {
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    justify-content: normal !important;
}

.siteHeader__cluster--brand {
    gap: 12px;
    min-width: 0;
}

.siteHeader__cluster--menu {
    min-width: 0;
    justify-content: center;
}

.siteHeader__brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}

.siteHeader__brandMark {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, rgba(9, 76, 178, 0.12), rgba(197, 233, 234, 0.82));
    color: var(--oz-primary);
    font-family: var(--oz-font-display);
    font-size: 0.9rem;
    font-weight: 800;
    letter-spacing: 0.14em;
}

.siteHeader__brandText {
    color: var(--oz-on-surface);
    font-size: 0.98rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.siteHeader__burger {
    display: none;
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 18px;
    background: rgba(243, 243, 247, 0.95);
    color: var(--oz-on-surface);
    box-shadow: inset 0 0 0 1px rgba(195, 198, 213, 0.5);
    cursor: pointer;
    position: relative;
}

.siteHeader__burgerLine {
    position: absolute;
    left: 13px;
    width: 20px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition:
        transform var(--oz-transition),
        opacity var(--oz-transition);
}

.siteHeader__burgerLine:nth-child(1) {
    top: 16px;
}

.siteHeader__burgerLine:nth-child(2) {
    top: 22px;
}

.siteHeader__burgerLine:nth-child(3) {
    top: 28px;
}

.siteHeader__burger.is-active .siteHeader__burgerLine:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
}

.siteHeader__burger.is-active .siteHeader__burgerLine:nth-child(2) {
    opacity: 0;
}

.siteHeader__burger.is-active .siteHeader__burgerLine:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
}

.siteHeader__nav {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

#mainNav.siteHeader .siteHeader__nav {
    display: flex !important;
    justify-content: center !important;
}

.siteHeader__nav li {
    list-style: none;
}

.siteHeader__nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 14px;
    border-radius: var(--oz-radius-pill);
    color: rgba(26, 28, 31, 0.72);
    font-weight: 700;
    text-decoration: none;
    transition:
        background-color var(--oz-transition),
        color var(--oz-transition);
}

.siteHeader__nav a:hover {
    background: rgba(9, 76, 178, 0.06);
    color: var(--oz-on-surface);
}

.siteHeader__nav a[aria-current="page"] {
    background: linear-gradient(135deg, rgba(9, 76, 178, 0.12), rgba(51, 102, 204, 0.08));
    color: var(--oz-primary);
}

.siteHeader__mobileNote {
    display: none;
}

.siteHeader__cluster--actions {
    min-width: 0;
    justify-content: flex-end;
    gap: 12px;
}

.siteHeader__desktopSecondary,
.siteHeader__desktopPrimary {
    list-style: none;
}

.siteHeader__desktopSecondary .btn,
.siteHeader__desktopPrimary .btn {
    min-height: 46px;
}

#mobileNav.mobileDock {
    display: none;
}

.mobileDock__inner {
    width: min(100%, 540px);
    margin: 0 auto;
    padding: 8px;
    display: grid;
    grid-template-columns: repeat(var(--mobile-dock-columns, 4), minmax(0, 1fr));
    gap: 6px;
    background: rgba(255, 255, 255, 0.92);
    border-radius: 24px;
    box-shadow: var(--oz-shadow-soft);
    backdrop-filter: blur(20px);
}

.mobileDock__link {
    min-height: 58px;
    border-radius: 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 0.72rem;
    font-weight: 700;
    text-decoration: none;
    color: rgba(26, 28, 31, 0.6);
}

.mobileDock__link[aria-current="page"] {
    background: linear-gradient(135deg, rgba(9, 76, 178, 0.12), rgba(51, 102, 204, 0.08));
    color: var(--oz-primary);
}

.mobileDock__icon svg {
    width: 18px;
    height: 18px;
}

.footerBanner {
    margin-top: clamp(48px, 6vw, 84px);
    padding: 0 0 24px;
    background: transparent;
    border: 0;
}

#footer {
    width: min(var(--oz-max-width), calc(100% - 32px));
    margin: 0 auto;
    padding: clamp(28px, 4vw, 42px);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(243, 243, 247, 0.98));
    border-radius: clamp(28px, 4vw, 40px);
    box-shadow: var(--oz-shadow-soft);
    position: relative;
    overflow: hidden;
}

#footer::before {
    content: "";
    position: absolute;
    top: -84px;
    right: -54px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(9, 76, 178, 0.08), rgba(9, 76, 178, 0));
    pointer-events: none;
}

#footer .footer__inner {
    display: grid;
    position: relative;
    z-index: 1;
    gap: 0;
}

.footer__middle {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(20px, 3vw, 30px);
    align-items: start;
    justify-items: start;
}

.footer__sectionTitle {
    margin: 0 0 14px;
    color: var(--oz-secondary);
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.footer__column {
    display: grid;
    width: 100%;
    min-width: 0;
    align-content: start;
    justify-items: start;
}

.footer__summary {
    margin: 0;
    width: 100%;
    color: var(--oz-muted);
    font-size: 0.96rem;
    line-height: 1.68;
}

.footer__column,
.footer__navList {
    display: grid;
    gap: 12px;
}

.footer__navList {
    align-content: start;
    width: 100%;
    justify-items: start;
}

.footer__links a,
.footer__services a,
.footer__legal a,
.footer__legal button,
.cookieSettingsLink {
    border: 0;
    background: transparent;
    padding: 0;
    color: rgba(26, 28, 31, 0.72);
    font: inherit;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: color var(--oz-transition);
}

.footer__links a:hover,
.footer__services a:hover,
.footer__legal a:hover,
.footer__legal button:hover,
.cookieSettingsLink:hover {
    color: var(--oz-primary);
}

.footer__summary,
.ds-infoCard span,
.ds-linkCard span {
    overflow-wrap: anywhere;
}

.footer__column .footer__sectionTitle {
    margin-bottom: 0;
}

.footer__note .footer__summary {
    max-width: none;
}

.footer__bottom {
    position: relative;
    z-index: 1;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid rgba(195, 198, 213, 0.58);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    color: var(--oz-muted);
    font-size: 0.9rem;
}

.footer__bottom small {
    display: block;
    max-width: 48ch;
}

.footer__legal {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 14px 18px;
}

.cookieConsent {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 95;
    width: min(560px, calc(100vw - 24px));
    padding: 14px 16px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 22px 50px rgba(26, 28, 31, 0.14);
    border: 1px solid rgba(195, 198, 213, 0.68);
    backdrop-filter: blur(16px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: end;
}

.cookieConsent[hidden] {
    display: none !important;
}

.cookieConsent__body {
    display: grid;
    gap: 6px;
    grid-column: 1 / -1;
}

.cookieConsent__title {
    margin: 0;
    font-family: var(--oz-font-display);
    font-size: 0.98rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--oz-on-surface);
}

.cookieConsent__body p {
    margin: 0;
    color: var(--oz-muted);
    font-size: 0.89rem;
    line-height: 1.45;
}

.cookieConsent__body a {
    color: var(--oz-primary);
    font-weight: 700;
    text-decoration: none;
    font-size: 0.88rem;
}

.cookieConsent__body a:hover {
    text-decoration: underline;
}

.cookieConsent__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    justify-self: end;
}

.cookieConsent .btn {
    min-height: 44px;
    padding: 0 1rem;
}

.servicesPage {
    padding: 42px 0 56px;
    background: transparent;
}

[data-legacy-page="true"] .servicesPage,
[data-legacy-page="true"] .servicesPage * {
    min-width: 0;
}

[data-legacy-page="true"] .heroBanner--compact {
    min-height: clamp(470px, 60vh, 720px);
    max-height: none;
}

[data-legacy-page="true"] .heroBanner--compact .heroBanner__content {
    width: min(var(--oz-max-width), calc(100% - 32px));
    margin: 0 auto;
    padding: clamp(124px, 12vw, 164px) 0 clamp(36px, 5vw, 56px);
    gap: 18px;
    align-items: flex-start;
    align-content: end;
}

[data-legacy-page="true"] .heroBanner--compact .heroBanner__content h1 {
    max-width: none;
    margin: 0;
    font-family: var(--oz-font-display);
    font-size: clamp(2.3rem, 4.4vw, 4.15rem);
    line-height: 0.98;
    letter-spacing: -0.05em;
    text-wrap: pretty;
}

[data-legacy-page="true"] .heroBanner--compact .heroBanner__content p {
    max-width: none;
    margin: 0;
}

body[data-legacy-page="true"] .siteHeader,
body[data-legacy-page="true"] #mainNav.siteHeader {
    background: transparent !important;
}

[data-legacy-page="true"] .heroBanner--compact .heroBanner__content .actions {
    margin-top: 8px;
    gap: 12px;
}

[data-legacy-page="true"] .heroBanner--compact .heroBanner__content .actions .btn {
    min-height: 52px;
}

.servicesPage__layout,
.servicesPage > .servicesSections {
    width: min(var(--oz-max-width), calc(100% - 32px));
    margin: 0 auto;
}

.servicesPage__layout {
    display: grid;
    gap: 24px;
    align-items: start;
    grid-template-columns: 1fr;
}

.servicesSections {
    display: grid;
    gap: clamp(20px, 3vw, 28px);
}

.servicesTimeline {
    display: none;
}

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

.servicesTimeline__item {
    padding: 0;
    margin: 0;
}

.servicesTimeline__item::before,
.servicesTimeline__list::before {
    display: none;
}

.servicesTimeline__item a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 0 14px;
    border-radius: var(--oz-radius-pill);
    background: rgba(255, 255, 255, 0.78);
    box-shadow: inset 0 0 0 1px rgba(195, 198, 213, 0.58);
    color: var(--oz-muted);
    font-weight: 700;
    text-decoration: none;
}

.servicesTimeline__item.is-active a,
.servicesTimeline__item a[aria-current="true"] {
    background: linear-gradient(135deg, rgba(9, 76, 178, 0.12), rgba(51, 102, 204, 0.08));
    color: var(--oz-primary);
}

.servicesSection {
    padding: clamp(22px, 4vw, 34px);
    border: 0;
    border-radius: 32px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(243, 243, 247, 0.96));
    box-shadow: var(--oz-shadow-soft);
    scroll-margin-top: 110px;
    display: grid;
    gap: 22px;
}

.servicesSection .sectionTag {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 16px;
    color: var(--oz-secondary);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.servicesSection .sectionTag::before {
    content: "";
    width: 28px;
    height: 1px;
    background: rgba(67, 100, 101, 0.35);
}

.servicesSection h1,
.servicesSection h2 {
    margin: 0;
    font-family: var(--oz-font-display);
    font-size: clamp(1.9rem, 4vw, 3rem);
    line-height: 1;
    letter-spacing: -0.05em;
    color: var(--oz-on-surface);
}

.servicesSection p {
    color: var(--oz-muted);
}

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

.servicesSection--intro > :not(.actions),
.servicesSection--intro .servicesIntro__bullets {
    max-width: 72ch;
}

.servicesSection__header {
    display: grid;
    gap: 12px;
    max-width: 60rem;
}

.servicesIntro__bullets,
.serviceCard__bullets,
.servicesBooking__bullets {
    list-style: none;
    padding: 0;
    margin: 18px 0 0;
    display: grid;
    gap: 10px;
}

.servicesIntro__bullets li,
.serviceCard__bullets li,
.servicesBooking__bullets li {
    position: relative;
    padding-left: 20px;
    color: var(--oz-muted);
}

.servicesIntro__bullets li::before,
.serviceCard__bullets li::before,
.servicesBooking__bullets li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.7em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--oz-primary), var(--oz-primary-container));
}

.servicesGrid,
.audienceGrid,
.faq {
    display: grid;
    gap: 16px;
}

.servicesGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.audienceGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.serviceCard,
.audienceCard,
.faqItem {
    border: 0;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: var(--oz-shadow-subtle);
}

.serviceCard {
    padding: clamp(20px, 3vw, 28px);
    display: flex;
    flex-direction: column;
    gap: 18px;
    min-height: 100%;
    justify-content: space-between;
}

.serviceCard h3 {
    margin: 0;
    font-family: var(--oz-font-display);
    font-size: clamp(1.3rem, 2vw, 1.6rem);
    line-height: 1.05;
    letter-spacing: -0.04em;
}

.serviceCard p {
    margin: 0;
}

.serviceCard > div {
    display: grid;
    gap: 10px;
}

.serviceCard > a.btn {
    align-self: flex-start;
    width: auto;
    max-width: none;
}

.adminLanding__countRow,
.adminLanding__meta,
.adminLanding__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.adminLanding__countRow {
    margin-top: 18px;
}

.adminLanding__meta {
    align-items: flex-start;
    justify-content: space-between;
}

.adminLanding__actions {
    align-items: center;
}

.adminLanding__actions form {
    margin: 0;
}

.adminLanding__actions .btn {
    width: auto;
    max-width: none;
}

.adminLanding__status {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 14px;
    border-radius: var(--oz-radius-pill);
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.2;
}

.adminLanding__status--live,
.adminLanding__toggle--safe {
    background: rgba(197, 233, 234, 0.72);
    color: var(--oz-secondary);
}

.adminLanding__status--draft {
    background: rgba(255, 224, 190, 0.72);
    color: #8a4b08;
}

.adminLanding__toggle--danger {
    background: rgba(255, 235, 235, 0.84);
    color: #8b1e1e;
    border-color: rgba(139, 30, 30, 0.22);
}

.adminLanding__toggle--danger:hover {
    background: #8b1e1e;
    color: #ffffff;
    border-color: #8b1e1e;
}

.adminLanding__toggle--safe {
    border-color: transparent;
}

.adminLanding__toggle--safe:hover {
    background: var(--oz-secondary);
    color: #ffffff;
    border-color: var(--oz-secondary);
}

.adminFlash {
    grid-template-columns: minmax(0, 1fr);
}

.adminFlash--error {
    background: linear-gradient(180deg, rgba(255, 244, 244, 0.96), rgba(255, 232, 232, 0.96));
}

.audienceCard {
    padding: 22px;
    display: grid;
    gap: 10px;
}

.audienceCard h3 {
    margin: 0;
    font-family: var(--oz-font-display);
}

.audienceCard p {
    margin: 0;
}

.faqItem {
    padding: 20px 22px;
}

.faqItem summary {
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    color: var(--oz-on-surface);
    font-weight: 700;
}

.faqItem summary::-webkit-details-marker {
    display: none;
}

.faqItem summary::after {
    content: "+";
    color: var(--oz-primary);
    font-size: 1.2rem;
}

.faqItem[open] summary::after {
    content: "−";
}

.faqItem p {
    margin: 14px 0 0;
}

.servicesHighlight,
.servicesCTA {
    border-radius: 32px;
    padding: clamp(22px, 4vw, 34px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 20px;
    box-shadow: var(--oz-shadow-soft);
}

.servicesHighlight {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(243, 243, 247, 0.96));
}

.servicesHighlight h3 {
    margin: 0;
    font-family: var(--oz-font-display);
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    letter-spacing: -0.04em;
}

.servicesHighlight p {
    margin: 0;
    color: var(--oz-muted);
    max-width: 62ch;
}

.servicesCTA {
    background: linear-gradient(135deg, var(--oz-primary) 0%, var(--oz-primary-container) 100%);
    color: #ffffff;
}

.servicesCTA h2,
.servicesCTA p,
.servicesCTA .sectionTag {
    color: #ffffff;
}

.servicesCTA .sectionTag::before {
    background: rgba(255, 255, 255, 0.35);
}

.servicesCTA__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
}

.servicesCTA .btn--ghost,
.servicesCTA .btn--ghost:hover,
.servicesCTA .btn--primary,
.servicesCTA .btn--primary:hover {
    background: #ffffff;
    color: var(--oz-primary) !important;
    border-color: transparent;
    box-shadow: 0 14px 28px rgba(10, 27, 59, 0.14);
}

.servicesCTA__form {
    margin-top: 16px;
    padding: 20px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(243, 243, 247, 0.96));
    box-shadow: var(--oz-shadow-soft);
    display: grid;
    gap: 16px;
}

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

.servicesCTA__row label {
    display: grid;
    gap: 10px;
    color: var(--oz-on-surface);
    font-weight: 700;
}

.servicesCTA__row label span {
    color: var(--oz-on-surface);
}

.servicesCTA__row input,
.servicesCTA__row textarea {
    width: 100%;
    min-height: 52px;
    padding: 0 16px;
    border: 0;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: inset 0 0 0 1px rgba(195, 198, 213, 0.72);
    color: var(--oz-on-surface);
    font-family: var(--oz-font-body);
    font-size: 1rem;
}

.servicesCTA__row textarea {
    min-height: 150px;
    padding: 16px;
    resize: vertical;
}

.servicesCTA__row--submit {
    grid-template-columns: 1fr;
}

.servicesBooking {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 18px;
    align-items: start;
}

.servicesBooking__copy {
    width: auto;
    display: grid;
    gap: 12px;
}

.servicesBooking__embed {
    min-height: 380px;
    padding: 16px;
    border-radius: 24px;
    background: linear-gradient(135deg, var(--oz-primary) 0%, var(--oz-primary-container) 100%);
    box-shadow: var(--oz-shadow-soft);
}

.legalPage .servicesSection {
    width: min(860px, calc(100% - 32px));
    margin: 32px auto 0;
}

[data-reveal] {
    opacity: 1;
    transform: none;
    transition: opacity 180ms ease, transform 180ms ease;
}

.oz-main {
    display: block;
}

.oz-main section[id],
.oz-main article[id],
[data-legacy-page="true"] section[id],
[data-legacy-page="true"] article[id] {
    scroll-margin-top: var(--oz-scroll-offset);
}

.oz-section {
    padding: clamp(36px, 6vw, 80px) 0;
    position: relative;
}

.oz-pageIntro {
    padding: 26px 0 14px;
}

.oz-pageIntro__panel {
    position: relative;
    overflow: hidden;
    border-radius: var(--oz-radius-l);
    padding: clamp(28px, 4vw, 52px);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(243, 243, 247, 0.94));
    box-shadow: var(--oz-shadow-soft);
}

.oz-pageIntro__panel::after {
    content: "";
    position: absolute;
    width: 240px;
    height: 240px;
    right: -72px;
    top: -72px;
    border-radius: 50%;
    background: rgba(9, 76, 178, 0.08);
}

.oz-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 18px;
    color: var(--oz-secondary);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.oz-eyebrow::before {
    content: "";
    width: 34px;
    height: 1px;
    background: rgba(67, 100, 101, 0.35);
}

.oz-display {
    margin: 0 0 18px;
    max-width: 11ch;
    font-size: clamp(2.9rem, 8vw, 5.4rem);
    line-height: 0.92;
    letter-spacing: -0.06em;
}

.oz-highlight {
    color: var(--oz-primary);
}

.oz-lead {
    max-width: 62ch;
    margin: 0;
    color: var(--oz-muted);
    font-size: clamp(1rem, 1.8vw, 1.16rem);
    line-height: 1.78;
}

.oz-sectionHeading {
    display: grid;
    gap: 14px;
    margin-bottom: 32px;
}

.oz-sectionHeading h2 {
    margin: 0;
    max-width: 12ch;
    font-size: clamp(2rem, 4vw, 3.3rem);
    line-height: 0.98;
    letter-spacing: -0.05em;
}

.oz-sectionHeading p {
    max-width: 60ch;
    margin: 0;
    color: var(--oz-muted);
}

.oz-chipRow {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.oz-chip {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 14px;
    border-radius: var(--oz-radius-pill);
    background: rgba(197, 233, 234, 0.72);
    color: var(--oz-secondary);
    font-size: 0.82rem;
    font-weight: 700;
}

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

.oz-list li {
    position: relative;
    padding-left: 20px;
    margin: 0;
    color: var(--oz-muted);
}

.oz-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.68em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--oz-primary), var(--oz-primary-container));
}

.oz-hero {
    padding-top: 28px;
}

.oz-hero__panel {
    position: relative;
    overflow: hidden;
    border-radius: clamp(28px, 4vw, 48px);
    padding: clamp(24px, 4vw, 52px);
    background:
        radial-gradient(circle at top right, rgba(51, 102, 204, 0.16), transparent 32%),
        radial-gradient(circle at left bottom, rgba(197, 233, 234, 0.48), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, var(--oz-surface) 78%, rgba(243, 243, 247, 0.95) 100%);
    box-shadow: var(--oz-shadow-soft);
}

.oz-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
    gap: clamp(28px, 4vw, 56px);
    align-items: center;
}

.oz-hero__copy {
    position: relative;
    z-index: 1;
}

.oz-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin: 26px 0;
}

.oz-metricList {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.oz-metricList li {
    margin: 0;
    padding: 14px 16px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.74);
    box-shadow: inset 0 0 0 1px rgba(26, 28, 31, 0.04);
}

.oz-metricList strong {
    display: block;
    margin-bottom: 6px;
    font-family: var(--oz-font-display);
    font-size: 1rem;
}

.oz-metricList span {
    color: var(--oz-muted);
    font-size: 0.9rem;
    line-height: 1.5;
}

.oz-hero__visual {
    position: relative;
    min-height: 440px;
    display: grid;
    place-items: center;
}

.heroShowcase {
    position: relative;
    width: min(100%, 520px);
}

.heroShowcase__screen {
    min-height: 420px;
    padding: 22px;
    border-radius: 32px;
    background: linear-gradient(180deg, #11264d 0%, #173568 52%, #ffffff 52.2%, #ffffff 100%);
    box-shadow: 0 30px 60px rgba(26, 28, 31, 0.12);
    overflow: hidden;
}

.heroShowcase__screenTop {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.82rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.heroShowcase__screenBadge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    border-radius: var(--oz-radius-pill);
    background: rgba(255, 255, 255, 0.08);
}

.heroShowcase__screenTitle {
    margin-top: 24px;
    max-width: 9ch;
    color: #ffffff;
    font-family: var(--oz-font-display);
    font-size: clamp(1.8rem, 4vw, 2.75rem);
    line-height: 1.02;
    letter-spacing: -0.05em;
}

.heroShowcase__screenCopy {
    max-width: 30ch;
    margin-top: 14px;
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.7;
}

.heroShowcase__stack {
    margin-top: 34px;
    display: grid;
    gap: 14px;
}

.heroShowcase__stackCard {
    padding: 18px;
    border-radius: 24px;
    background: var(--oz-surface-lowest);
    display: grid;
    gap: 12px;
}

.heroShowcase__stackLabel {
    color: var(--oz-secondary);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.heroShowcase__stackTitle {
    margin: 0;
    font-family: var(--oz-font-display);
    font-size: 1.2rem;
}

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

.heroShowcase__metric {
    padding: 12px;
    border-radius: 18px;
    background: var(--oz-surface-low);
}

.heroShowcase__metric strong {
    display: block;
    font-family: var(--oz-font-display);
    font-size: 1rem;
}

.heroShowcase__metric span {
    color: var(--oz-muted);
    font-size: 0.85rem;
}

.heroShowcase__floatingCard {
    position: absolute;
    border-radius: 24px;
    box-shadow: var(--oz-shadow-soft);
    backdrop-filter: blur(18px);
}

.heroShowcase__floatingCard--top {
    top: 32px;
    right: -18px;
    width: 190px;
    padding: 16px 18px;
    background: rgba(255, 255, 255, 0.9);
}

.heroShowcase__floatingCard--bottom {
    left: -18px;
    bottom: 18px;
    width: 210px;
    padding: 18px;
    background: linear-gradient(135deg, rgba(9, 76, 178, 0.92), rgba(51, 102, 204, 0.94));
    color: #ffffff;
}

.heroShowcase__floatTitle {
    margin: 0 0 6px;
    font-family: var(--oz-font-display);
    font-size: 1rem;
}

.heroShowcase__floatText {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.55;
    color: inherit;
    opacity: 0.86;
}

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

.expertiseCard {
    min-height: 100%;
    padding: 24px;
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: var(--oz-shadow-subtle);
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.expertiseCard__icon,
.serviceShowcase__icon {
    width: 64px;
    height: 64px;
    border-radius: 20px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, rgba(9, 76, 178, 0.14), rgba(197, 233, 234, 0.72));
    color: var(--oz-primary);
}

.expertiseCard h3 {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.02;
    letter-spacing: -0.04em;
}

.expertiseCard p {
    margin: 0;
    color: var(--oz-muted);
}

.expertiseCard__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    color: var(--oz-primary);
    font-weight: 700;
}

.trustStrip {
    border-radius: var(--oz-radius-l);
    padding: clamp(24px, 3vw, 36px);
    background: linear-gradient(180deg, rgba(243, 243, 247, 0.82), rgba(255, 255, 255, 0.96));
    box-shadow: var(--oz-shadow-soft);
}

.trustGrid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.trustTile {
    min-height: 132px;
    padding: 18px;
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: inset 0 0 0 1px rgba(26, 28, 31, 0.04);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.trustTile img {
    max-width: 120px;
    max-height: 40px;
    object-fit: contain;
}

.trustTile span {
    font-size: 0.92rem;
    font-weight: 700;
}

.testimonialSpotlight {
    border-radius: clamp(32px, 4vw, 48px);
    padding: clamp(28px, 4vw, 48px);
    background: linear-gradient(135deg, #0f3e95 0%, #174ea6 45%, #3366cc 100%);
    color: #ffffff;
    box-shadow: 0 28px 52px rgba(9, 76, 178, 0.18);
}

.testimonialSpotlight .oz-eyebrow {
    color: rgba(255, 255, 255, 0.78);
}

.testimonialSpotlight .oz-eyebrow::before {
    background: rgba(255, 255, 255, 0.3);
}

.testimonialSpotlight .oz-sectionHeading h2,
.testimonialSpotlight .oz-sectionHeading p {
    color: #ffffff;
}

.testimonialSpotlight__grid {
    margin-top: 28px;
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 18px;
}

.quoteCard {
    min-height: 100%;
    padding: 24px;
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.11);
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.quoteCard__kicker {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.78rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.quoteCard blockquote {
    margin: 0;
    font-family: var(--oz-font-display);
    font-size: clamp(1.35rem, 2vw, 2rem);
    line-height: 1.18;
    letter-spacing: -0.03em;
}

.quoteCard p {
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
}

.quoteCard footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-top: auto;
}

.quoteCard__author strong {
    display: block;
}

.quoteCard__author span {
    color: rgba(255, 255, 255, 0.74);
    font-size: 0.88rem;
}

.quoteCard__logo {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, 0.12);
}

.quoteCard__logo img {
    max-width: 38px;
    max-height: 38px;
    object-fit: contain;
}

.quoteCardStack {
    display: grid;
    gap: 18px;
}

.serviceStack {
    display: grid;
    gap: 22px;
}

.serviceShowcase {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.88fr);
    gap: clamp(20px, 4vw, 42px);
    align-items: center;
    border-radius: clamp(28px, 4vw, 40px);
    padding: clamp(24px, 4vw, 40px);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(243, 243, 247, 0.96));
    box-shadow: var(--oz-shadow-soft);
}

.serviceShowcase--reverse .serviceShowcase__content {
    order: 2;
}

.serviceShowcase--reverse .serviceShowcase__visual {
    order: 1;
}

.serviceShowcase__content {
    display: grid;
    gap: 16px;
}

.serviceShowcase__content h2,
.serviceShowcase__content h3 {
    margin: 0;
    font-size: clamp(1.85rem, 3vw, 2.8rem);
    line-height: 1;
    letter-spacing: -0.05em;
}

.serviceShowcase__content p {
    margin: 0;
    color: var(--oz-muted);
}

.serviceShowcase__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding-top: 6px;
}

.serviceShowcase__visual {
    position: relative;
    overflow: hidden;
    min-height: 300px;
    padding: 22px;
    border-radius: 30px;
    background: linear-gradient(180deg, rgba(9, 76, 178, 0.08), rgba(197, 233, 234, 0.24));
    display: grid;
    align-content: space-between;
    gap: 14px;
}

.serviceShowcase__visual::after {
    content: "";
    position: absolute;
    right: -40px;
    bottom: -70px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: rgba(9, 76, 178, 0.08);
}

.serviceShowcase__visualTop {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.serviceShowcase__visualMetric {
    position: relative;
    z-index: 1;
    padding: 16px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: var(--oz-shadow-subtle);
}

.serviceShowcase__visualMetric strong {
    display: block;
    font-family: var(--oz-font-display);
    font-size: 1.1rem;
}

.serviceShowcase__visualMetric span {
    color: var(--oz-muted);
    font-size: 0.88rem;
}

.serviceShowcase__visualPanel {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 12px;
    padding: 18px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: var(--oz-shadow-subtle);
}

.serviceShowcase__visualLine {
    width: 88%;
    height: 12px;
    border-radius: var(--oz-radius-pill);
    background: linear-gradient(90deg, rgba(9, 76, 178, 0.16), rgba(51, 102, 204, 0.52));
}

.serviceShowcase__visualLine--short {
    width: 55%;
}

.serviceShowcase__visualLine--medium {
    width: 72%;
}

.serviceShowcase__visualLine--muted {
    width: 88%;
    background: rgba(195, 198, 213, 0.7);
}

.serviceShowcase__visualTags {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.serviceShowcase__visualTag {
    padding: 10px 14px;
    border-radius: var(--oz-radius-pill);
    background: rgba(255, 255, 255, 0.76);
    color: var(--oz-secondary);
    font-size: 0.82rem;
    font-weight: 700;
}

.serviceShowcase--monitoring {
    background: linear-gradient(135deg, #0f3f96 0%, #174ea6 45%, #3366cc 100%);
    color: #ffffff;
}

.serviceShowcase--monitoring .oz-eyebrow,
.serviceShowcase--monitoring h3,
.serviceShowcase--monitoring p,
.serviceShowcase--monitoring li {
    color: #ffffff;
}

.serviceShowcase--monitoring .oz-eyebrow::before {
    background: rgba(255, 255, 255, 0.35);
}

.serviceShowcase--monitoring .oz-list li::before {
    background: rgba(255, 255, 255, 0.72);
}

.serviceShowcase--monitoring .serviceShowcase__visual {
    background: rgba(255, 255, 255, 0.08);
}

.serviceShowcase--monitoring .serviceShowcase__visualMetric,
.serviceShowcase--monitoring .serviceShowcase__visualPanel,
.serviceShowcase--monitoring .serviceShowcase__visualTag {
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
}

.serviceShowcase--monitoring .serviceShowcase__visualMetric span {
    color: rgba(255, 255, 255, 0.78);
}

.serviceShowcase--monitoring .serviceShowcase__visualLine {
    background: rgba(255, 255, 255, 0.24);
}

.serviceShowcase--monitoring .serviceShowcase__visualLine--muted {
    background: rgba(255, 255, 255, 0.14);
}

.serviceShowcase--monitoring .btn--ghost {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.24);
    color: #ffffff;
}

.projectList {
    display: grid;
    gap: 18px;
}

.projectCard {
    display: grid;
    grid-template-columns: minmax(260px, 0.85fr) minmax(0, 1fr);
    gap: clamp(20px, 4vw, 36px);
    align-items: center;
    border-radius: clamp(28px, 4vw, 40px);
    padding: clamp(22px, 4vw, 36px);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(243, 243, 247, 0.96));
    box-shadow: var(--oz-shadow-soft);
}

.projectCard:nth-child(even) .projectCard__media {
    order: 2;
}

.projectCard:nth-child(even) .projectCard__content {
    order: 1;
}

.projectCard__media {
    position: relative;
    overflow: hidden;
    min-height: 260px;
    padding: 22px;
    border-radius: 30px;
    display: flex;
    align-items: flex-end;
    background: linear-gradient(135deg, rgba(9, 76, 178, 0.15), rgba(197, 233, 234, 0.42));
}

.projectCard__media--michelle {
    background: linear-gradient(135deg, rgba(9, 76, 178, 0.12), rgba(255, 255, 255, 0.9));
}

.projectCard__media--fleur {
    background: linear-gradient(135deg, rgba(197, 233, 234, 0.78), rgba(255, 255, 255, 0.92));
}

.projectCard__media--hotel {
    background: linear-gradient(135deg, rgba(67, 100, 101, 0.18), rgba(255, 255, 255, 0.92));
}

.projectCard__media--lafille {
    background: linear-gradient(135deg, rgba(9, 76, 178, 0.18), rgba(255, 255, 255, 0.92));
}

.projectCard__mediaInner {
    width: 100%;
    min-height: 216px;
    padding: 20px;
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: var(--oz-shadow-subtle);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 16px;
}

.projectCard__badge {
    display: inline-flex;
    align-self: flex-start;
    padding: 8px 12px;
    border-radius: var(--oz-radius-pill);
    background: rgba(197, 233, 234, 0.72);
    color: var(--oz-secondary);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.projectCard__logo {
    max-width: 150px;
    max-height: 54px;
    object-fit: contain;
}

.projectCard__mediaCaption {
    color: var(--oz-muted);
    font-size: 0.92rem;
    max-width: 24ch;
}

.projectCard__content {
    display: grid;
    gap: 16px;
}

.projectCard__content h3 {
    margin: 0;
    font-size: clamp(1.8rem, 3vw, 2.55rem);
    line-height: 1.02;
    letter-spacing: -0.05em;
}

.projectCard__content p {
    margin: 0;
    color: var(--oz-muted);
}

.projectCard__cta {
    padding-top: 6px;
}

.ctaBand {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    border-radius: var(--oz-radius-l);
    padding: clamp(24px, 4vw, 40px);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(243, 243, 247, 0.96));
    box-shadow: var(--oz-shadow-soft);
}

.ctaBand h2 {
    margin: 0;
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1;
    letter-spacing: -0.05em;
}

.ctaBand p {
    margin: 0;
    color: var(--oz-muted);
}

.contactLayout {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
    gap: 20px;
    align-items: start;
}

.contactLayout__aside {
    display: grid;
    gap: 20px;
}

.contactCard {
    padding: clamp(24px, 4vw, 38px);
    border-radius: clamp(28px, 4vw, 40px);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(243, 243, 247, 0.96));
    box-shadow: var(--oz-shadow-soft);
}

.contactCard h2,
.contactCard h3 {
    margin: 0 0 12px;
}

.contactCard p {
    margin: 0 0 12px;
    color: var(--oz-muted);
}

.contactForm {
    display: grid;
    gap: 16px;
    margin-top: 26px;
}

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

.contactField {
    display: grid;
    gap: 10px;
}

.contactField span {
    color: var(--oz-on-surface);
    font-weight: 700;
}

.contactField input,
.contactField textarea,
.contactField select {
    width: 100%;
    min-height: 54px;
    padding: 0 16px;
    border: 0;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: inset 0 0 0 1px rgba(195, 198, 213, 0.72);
    color: var(--oz-on-surface);
    font-family: var(--oz-font-body);
    font-size: 1rem;
}

.contactField textarea {
    min-height: 180px;
    padding: 16px;
    resize: vertical;
}

.contactField select {
    appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, var(--oz-primary) 50%),
        linear-gradient(135deg, var(--oz-primary) 50%, transparent 50%);
    background-position:
        calc(100% - 22px) calc(50% - 2px),
        calc(100% - 16px) calc(50% - 2px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
    padding-right: 40px;
}

.contactForm__submit {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding-top: 6px;
}

.contactNote {
    color: var(--oz-muted);
    font-size: 0.92rem;
}

.contactCard__list {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

.contactCard__item {
    padding: 16px 18px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.84);
    box-shadow: inset 0 0 0 1px rgba(195, 198, 213, 0.52);
}

.contactCard__item strong {
    display: block;
    margin-bottom: 6px;
    font-family: var(--oz-font-display);
    font-size: 1rem;
}

.contactLinkList {
    display: grid;
    gap: 10px;
}

.contactLink {
    min-height: 54px;
    padding: 0 18px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: inset 0 0 0 1px rgba(195, 198, 213, 0.58);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    font-weight: 700;
}

.contactLink span:last-child {
    color: var(--oz-primary);
}

.servicesCTA__status {
    margin-top: 8px;
    font-weight: 700;
    color: var(--oz-muted);
}

.servicesCTA__status.is-success {
    color: #0d6e5c;
}

.servicesCTA__status.is-error {
    color: #b42318;
}

.hiddenTrap {
    position: absolute;
    left: -9999px;
}

@media (max-width: 1100px) {
    .oz-hero__grid,
    .serviceShowcase,
    .projectCard,
    .contactLayout,
    .testimonialSpotlight__grid {
        grid-template-columns: 1fr;
    }

    .serviceShowcase--reverse .serviceShowcase__content,
    .serviceShowcase--reverse .serviceShowcase__visual,
    .projectCard:nth-child(even) .projectCard__media,
    .projectCard:nth-child(even) .projectCard__content {
        order: initial;
    }

    .ctaBand {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 960px) {
    :root {
        --oz-scroll-offset: 96px;
    }

    body[data-menu-open]::before {
        content: "";
        position: fixed;
        inset: 0;
        background: rgba(18, 27, 43, 0.34);
        backdrop-filter: blur(8px);
        z-index: 79;
    }

    .oz-page {
        padding-bottom: 110px;
    }

    body[data-legacy-page="true"] {
        padding-bottom: 110px;
    }

    .cookieConsent {
        left: 50%;
        right: auto;
        bottom: calc(92px + env(safe-area-inset-bottom, 0px));
        width: calc(100vw - 24px);
        padding: 16px;
        grid-template-columns: 1fr;
        gap: 12px;
        align-items: stretch;
        transform: translateX(-50%);
    }

    .siteHeader {
        padding-top: 12px;
    }

    .siteHeader__bar {
        width: calc(100% - 24px);
        padding: 10px 12px;
        gap: 12px;
        grid-template-columns: minmax(0, 1fr) auto;
    }

    #mainNav.siteHeader {
        position: sticky !important;
        top: 0 !important;
        width: auto !important;
        z-index: 80;
    }

    .siteHeader__cluster--brand {
        width: 100%;
        justify-content: flex-start;
    }

    .siteHeader__brand {
        margin-right: auto;
    }

    .siteHeader__burger {
        display: inline-flex;
    }

    #mainNav.siteHeader #menuLink {
        position: fixed;
        top: 88px;
        left: 12px;
        right: 12px;
        width: auto;
        max-width: none;
        padding: 18px;
        border-radius: 28px;
        background: rgba(255, 255, 255, 0.96);
        box-shadow: var(--oz-shadow-soft);
        display: none;
        flex-direction: column;
        align-items: stretch;
        z-index: 81;
    }

    #mainNav.siteHeader #menuLink.menu-visible {
        display: flex;
    }

    #mainNav.siteHeader #menuLink.menu-hidden {
        display: none;
    }

    .siteHeader__nav {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .siteHeader__nav a {
        width: 100%;
        justify-content: space-between;
        padding: 16px 18px;
        background: var(--oz-surface-low);
        border-radius: 20px;
        font-size: 1rem;
    }

    .siteHeader__nav a[aria-current="page"] {
        background: linear-gradient(135deg, rgba(9, 76, 178, 0.16), rgba(197, 233, 234, 0.58));
    }

    .siteHeader__mobileNote {
        display: flex;
        flex-direction: column;
        gap: 12px;
        padding: 18px 4px 4px;
    }

    .siteHeader__mobileNote p {
        margin: 0;
        color: var(--oz-muted);
    }

    .siteHeader__desktopSecondary,
    .siteHeader__desktopPrimary {
        display: none;
    }

    #mobileNav.mobileDock {
        display: block;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 70;
        padding: 0 12px calc(12px + env(safe-area-inset-bottom, 0px));
        background: linear-gradient(0deg, rgba(249, 249, 253, 0.94) 0%, rgba(249, 249, 253, 0) 100%);
    }

    .oz-metricList,
    .expertiseGrid,
    .trustGrid {
        grid-template-columns: 1fr;
    }

    .footerBanner {
        padding-bottom: calc(22px + 84px);
    }

    #footer {
        width: calc(100% - 24px);
    }

    .footer__bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .footer__legal {
        justify-content: flex-start;
    }

    .footer__middle {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer__note {
        grid-column: 1 / -1;
    }

    .servicesPage__layout,
    .servicesPage > .servicesSections,
    .legalPage .servicesSection {
        width: calc(100% - 24px);
    }

    .servicesGrid,
    .audienceGrid,
    .servicesHighlight,
    .servicesCTA {
        grid-template-columns: 1fr;
    }

    .servicesCTA__row {
        grid-template-columns: 1fr;
    }

    .servicesCTA__actions {
        justify-content: flex-start;
    }

    [data-legacy-page="true"] .heroBanner--compact {
        min-height: 420px;
    }

    [data-legacy-page="true"] .heroBanner--compact .heroBanner__content {
        width: calc(100% - 24px);
        padding-top: 116px;
        padding-bottom: 32px;
    }

}

@media (max-width: 720px) {
    .oz-shell {
        width: calc(100% - 24px);
    }

    .oz-section {
        padding: 28px 0 56px;
    }

    .oz-display {
        max-width: 12ch;
    }

    [data-legacy-page="true"] .heroBanner--compact .heroBanner__content h1 {
        max-width: 12ch;
    }

    .oz-pageIntro__panel,
    .oz-hero__panel,
    .testimonialSpotlight,
    .serviceShowcase,
    .projectCard,
    .contactCard,
    .trustStrip,
    .ctaBand {
        border-radius: 30px;
    }

    .contactForm__row {
        grid-template-columns: 1fr;
    }

    .cookieConsent__actions {
        justify-content: stretch;
    }

    .cookieConsent__actions .btn {
        flex: 1 1 0;
    }

    .heroShowcase__floatingCard--top,
    .heroShowcase__floatingCard--bottom {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        width: auto;
        margin-top: 12px;
    }

    .oz-hero__visual {
        min-height: auto;
    }

    .heroShowcase__screen {
        min-height: auto;
    }
}

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

    [data-reveal] {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .btn,
    .siteHeader__burgerLine {
        transition: none;
    }
}

/* Rationalized design system components */
.ds-pageMain {
    display: block;
    padding-top: 18px;
}

.ds-pageMain * {
    min-width: 0;
}

.ds-pageMain :where(h1, h2, h3, h4, h5, h6, p, blockquote, ul, ol, li, figure) {
    margin: 0;
}

.ds-pageMain :where(ul, ol) {
    padding: 0;
}

.ds-section {
    padding: clamp(40px, 7vw, 88px) 0;
}

.ds-pageMain--services > .ds-section--servicesHero {
    padding-bottom: clamp(18px, 3vw, 30px);
}

.ds-pageMain--services > #services-list.ds-section {
    padding-top: clamp(14px, 2vw, 24px);
}

.ds-pageMain--projects > .ds-section--projectsHero {
    padding-bottom: clamp(18px, 3vw, 30px);
}

.ds-pageMain--projects > .ds-section--projectsList {
    padding-top: clamp(14px, 2vw, 24px);
}

.ds-pageMain--contact > .ds-section--contactHero {
    padding-bottom: clamp(18px, 3vw, 30px);
}

.ds-pageMain--contact > #contact-rdv.ds-section {
    padding-top: clamp(14px, 2vw, 24px);
}

.ds-shell {
    width: min(var(--oz-max-width), calc(100% - 32px));
    margin: 0 auto;
}

.ds-surface {
    position: relative;
    overflow: hidden;
    padding: clamp(24px, 4vw, 40px);
    border-radius: clamp(28px, 4vw, 40px);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(243, 243, 247, 0.98));
    box-shadow: var(--oz-shadow-soft);
}

.ds-surface::before {
    content: "";
    position: absolute;
    top: -64px;
    right: -64px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(9, 76, 178, 0.08), rgba(9, 76, 178, 0));
    pointer-events: none;
}

.ds-surface > * {
    position: relative;
    z-index: 1;
}

.ds-surface--brand {
    background: linear-gradient(135deg, #103f95 0%, #194ca4 48%, #3366cc 100%);
    color: #ffffff;
}

.ds-surface--brand::before {
    background: radial-gradient(circle, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0));
}

.ds-surface--plain {
    padding: 0;
    background: transparent;
    box-shadow: none;
}

.ds-stack {
    display: grid;
    gap: 16px;
}

.ds-stack--lg {
    gap: clamp(24px, 4vw, 40px);
}

.ds-stack--md {
    gap: 20px;
}

.ds-heading {
    display: grid;
    gap: 18px;
    max-width: 100%;
}

.ds-heading--wide .ds-body {
    max-width: 70ch;
}

.ds-heading--hero {
    max-width: min(100%, 48rem);
}

.ds-heading--servicesHero {
    max-width: 100%;
}

.ds-heading--servicesHero .ds-display {
    max-width: none;
}

.ds-heading--projectsHero {
    max-width: 100%;
}

.ds-heading--projectsHero .ds-display {
    max-width: min(100%, 62rem);
}

.ds-heading--contactHero {
    max-width: 100%;
}

.ds-heading--contactHero .ds-display {
    max-width: min(100%, 58rem);
}

#home-hero .ds-heading--homeHero {
    max-width: min(100%, 60rem);
    gap: 18px;
}

#home-hero .ds-heading--homeHero .ds-display {
    font-size: clamp(2.35rem, 5.2vw, 4.7rem);
    line-height: 1.03;
    letter-spacing: -0.04em;
}

#home-hero .ds-heading--homeHero .ds-body {
    max-width: 62ch;
}

.ds-heading > * {
    max-width: 100%;
}

.ds-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: var(--oz-secondary);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.ds-eyebrow::before {
    content: "";
    width: 34px;
    height: 1px;
    background: rgba(67, 100, 101, 0.35);
}

.ds-surface--brand .ds-eyebrow,
.ds-surface--brand .ds-title,
.ds-surface--brand .ds-body,
.ds-surface--brand .ds-metaText,
.ds-surface--brand .ds-bulletList li,
.ds-surface--brand .ds-statCard span {
    color: #ffffff;
}

.ds-surface--brand .ds-eyebrow::before,
.ds-surface--brand .ds-bulletList li::before {
    background: rgba(255, 255, 255, 0.55);
}

.ds-display,
.ds-title {
    margin: 0;
    font-family: var(--oz-font-display);
    font-weight: 800;
    color: var(--oz-on-surface);
    letter-spacing: -0.04em;
    line-height: 1.03;
    text-wrap: pretty;
}

.ds-display {
    font-size: clamp(2.35rem, 5.2vw, 4.7rem);
}

.ds-title--xl {
    font-size: clamp(1.92rem, 3.5vw, 3.1rem);
    line-height: 1.08;
}

.ds-title--lg {
    font-size: clamp(1.76rem, 2.7vw, 2.45rem);
    line-height: 1.08;
}

.ds-title--md {
    font-size: clamp(1.35rem, 2vw, 1.9rem);
    line-height: 1.08;
}

.ds-highlight {
    color: var(--oz-primary);
}

.ds-body {
    margin: 0;
    color: var(--oz-muted);
    font-size: clamp(1rem, 1.4vw, 1.08rem);
    line-height: 1.74;
}

.ds-metaText {
    margin: 0;
    color: var(--oz-muted);
    font-size: 0.94rem;
    line-height: 1.6;
}

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

.ds-split {
    display: grid;
    gap: clamp(24px, 4vw, 40px);
    align-items: start;
}

.ds-split--hero {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(28px, 4vw, 48px);
    align-items: stretch;
}

.ds-split--feature {
    grid-template-columns: minmax(0, 1.02fr) minmax(280px, 0.88fr);
}

.ds-split--feature.ds-split--reverse > :first-child {
    order: 2;
}

.ds-split--feature.ds-split--reverse > :last-child {
    order: 1;
}

.ds-split--contact {
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
}

.ds-statGrid {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.ds-statCard {
    min-height: 100%;
    padding: 18px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: inset 0 0 0 1px rgba(26, 28, 31, 0.04);
}

.ds-statCard strong {
    display: block;
    margin-bottom: 8px;
    font-family: var(--oz-font-display);
    font-size: 1rem;
    line-height: 1.1;
}

.ds-statCard span {
    color: var(--oz-muted);
    font-size: 0.92rem;
    line-height: 1.55;
}

.ds-visual {
    display: grid;
    gap: 16px;
    height: 100%;
}

.ds-preview {
    display: grid;
    gap: 18px;
    padding: 24px;
    min-height: 100%;
    border-radius: 32px;
    background: linear-gradient(180deg, #163561 0%, #1f4478 48%, #ffffff 48.2%, #ffffff 100%);
    box-shadow: 0 30px 60px rgba(26, 28, 31, 0.12);
}

.ds-preview__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    color: rgba(255, 255, 255, 0.76);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.ds-preview__badge {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: var(--oz-radius-pill);
    background: rgba(255, 255, 255, 0.12);
}

.ds-preview__screen {
    display: grid;
    gap: 14px;
    min-height: clamp(280px, 28vw, 360px);
}

.ds-preview__title {
    margin: 0;
    color: #ffffff;
    font-family: var(--oz-font-display);
    font-size: clamp(1.85rem, 3.4vw, 2.8rem);
    letter-spacing: -0.05em;
    line-height: 0.98;
    text-wrap: pretty;
}

.ds-preview__copy {
    margin: 0;
    color: rgba(255, 255, 255, 0.84);
    line-height: 1.7;
}

.oz-page .ds-preview__top,
.oz-page .ds-preview__badge,
.oz-page .ds-preview__title,
.oz-page .ds-preview__copy,
body[data-legacy-page="true"] .ds-preview__top,
body[data-legacy-page="true"] .ds-preview__badge,
body[data-legacy-page="true"] .ds-preview__title,
body[data-legacy-page="true"] .ds-preview__copy {
    color: #ffffff !important;
}

.ds-preview__card {
    display: grid;
    gap: 12px;
    padding: 18px;
    border-radius: 24px;
    background: var(--oz-surface-lowest);
    box-shadow: var(--oz-shadow-subtle);
}

.ds-preview__label {
    color: var(--oz-secondary);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.ds-preview__cardTitle {
    margin: 0;
    font-family: var(--oz-font-display);
    font-size: 1.2rem;
    line-height: 1.08;
    text-wrap: pretty;
}

.ds-preview__metricGrid,
.ds-metricGrid,
.ds-miniGrid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ds-miniCard,
.ds-metricCard {
    padding: 18px;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: var(--oz-shadow-subtle);
    display: grid;
    gap: 14px;
}

.ds-miniCard strong,
.ds-metricCard strong {
    font-family: var(--oz-font-display);
    font-size: 1rem;
    line-height: 1.1;
    color: var(--oz-on-surface);
}

.ds-miniCard span,
.ds-metricCard span {
    color: var(--oz-muted);
    font-size: 0.9rem;
    line-height: 1.5;
}

.ds-metricCard__art {
    min-height: 124px;
    padding: 14px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, rgba(9, 76, 178, 0.1), rgba(197, 233, 234, 0.86));
    color: var(--oz-primary);
    overflow: hidden;
}

.ds-metricCard__art svg {
    width: 100%;
    max-width: 188px;
    height: 98px;
}

.ds-metricCard__art .stroke {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ds-metricCard__art .stroke-light {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: 0.28;
}

.ds-metricCard__art .fill-soft {
    fill: currentColor;
    opacity: 0.1;
}

.ds-metricCard__art .fill-mid {
    fill: currentColor;
    opacity: 0.18;
}

.ds-metricCard__body {
    display: grid;
    gap: 8px;
}

.ds-cardGrid {
    display: grid;
    gap: 18px;
}

.ds-cardGrid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ds-cardGrid--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ds-card {
    min-height: 100%;
    padding: 24px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: var(--oz-shadow-subtle);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}

.ds-card .ds-actions {
    margin-top: auto;
    width: 100%;
}

.ds-card--brand {
    background: linear-gradient(135deg, #113f95 0%, #2151aa 48%, #3366cc 100%);
    color: #ffffff;
}

.ds-iconTile {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, rgba(9, 76, 178, 0.14), rgba(197, 233, 234, 0.72));
    color: var(--oz-primary);
}

.ds-card--brand .ds-iconTile {
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
}

.ds-iconTile svg {
    width: 26px;
    height: 26px;
}

.ds-chipRow {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-start;
}

.ds-chip {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 14px;
    border-radius: var(--oz-radius-pill);
    background: rgba(197, 233, 234, 0.72);
    color: var(--oz-secondary);
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.2;
}

.ds-card--brand .ds-chip,
.ds-surface--brand .ds-chip {
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
}

.ds-bulletList {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}

.ds-bulletList li {
    position: relative;
    padding-left: 18px;
    color: var(--oz-muted);
    line-height: 1.66;
}

.ds-bulletList li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.72em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--oz-primary), var(--oz-primary-container));
}

.ds-logoGrid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.ds-logoCard {
    min-height: 140px;
    padding: 18px;
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: inset 0 0 0 1px rgba(26, 28, 31, 0.04);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 14px;
}

.ds-logoCard img {
    max-width: 132px;
    max-height: 42px;
    object-fit: contain;
    margin: 0 auto;
}

.ds-logoCard strong {
    font-size: 0.94rem;
}

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

.ds-quoteStack {
    display: grid;
    gap: 18px;
    height: 100%;
}

.ds-quoteCard {
    min-height: 100%;
    padding: 24px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.12);
    display: grid;
    gap: 16px;
    align-content: start;
}

.ds-quoteCard--light {
    background: rgba(255, 255, 255, 0.96);
    color: var(--oz-on-surface);
    box-shadow: var(--oz-shadow-subtle);
}

.ds-quoteCard--light .ds-body,
.ds-quoteCard--light .ds-metaText,
.ds-quoteCard--light .ds-quoteKicker,
.ds-quoteCard--light .ds-quoteMeta span {
    color: var(--oz-muted);
}

.ds-quoteKicker {
    color: rgba(255, 255, 255, 0.74);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.ds-quoteText {
    margin: 0;
    font-family: var(--oz-font-display);
    font-size: clamp(1.35rem, 2vw, 2rem);
    line-height: 1.16;
    letter-spacing: -0.04em;
    text-wrap: pretty;
}

.ds-quoteMeta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: auto;
}

.ds-quoteMeta strong {
    display: block;
    font-size: 0.98rem;
}

.ds-quoteMeta span {
    color: rgba(255, 255, 255, 0.74);
    font-size: 0.88rem;
}

.ds-quoteLogo {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, 0.12);
}

.ds-quoteCard--light .ds-quoteLogo {
    background: rgba(9, 76, 178, 0.08);
}

.ds-quoteLogo img {
    max-width: 38px;
    max-height: 38px;
    object-fit: contain;
}

.ds-serviceBlock {
    display: grid;
    gap: 20px;
}

.ds-serviceBlock > .ds-split {
    align-items: stretch;
}

.ds-featureVisual {
    display: grid;
    gap: 16px;
    align-content: stretch;
    height: 100%;
    padding: 20px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: inset 0 0 0 1px rgba(195, 198, 213, 0.4);
}

.ds-surface--brand .ds-featureVisual {
    background: rgba(255, 255, 255, 0.1);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}

.ds-featureVisual .ds-metricGrid {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    height: 100%;
}

.ds-featureVisual .ds-metricCard {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 180px;
    height: 100%;
}

.ds-featureVisual .ds-metricCard__art {
    min-height: clamp(138px, 18vw, 170px);
    padding: 16px;
}

.ds-featureVisual .ds-metricCard__art svg {
    max-width: 220px;
    height: 116px;
}

.ds-featureVisual .ds-metricCard__body {
    margin-top: auto;
}

.ds-surface--brand .ds-metricCard,
.ds-surface--brand .ds-metricCard strong,
.ds-surface--brand .ds-metricCard span {
    color: var(--oz-on-surface);
}

.ds-surface--brand .ds-metricCard__art {
    background: linear-gradient(135deg, rgba(9, 76, 178, 0.12), rgba(255, 255, 255, 0.92));
}

.ds-surface--brand .btn--primary,
.ds-surface--brand .btn--primary:hover,
.ds-surface--brand .btn--primary:visited,
.ds-surface--brand .btn--primary:active {
    background: #ffffff;
    color: var(--oz-primary) !important;
    box-shadow: 0 16px 32px rgba(10, 27, 59, 0.18);
}

.ds-projectList {
    display: grid;
    gap: 16px;
}

.ds-projectCard {
    display: grid;
    grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1fr);
    gap: clamp(22px, 4vw, 32px);
    align-items: stretch;
}

.ds-projectCard--reverse {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.82fr);
}

.ds-projectCard--reverse .ds-projectMedia {
    order: 2;
}

.ds-projectCard--reverse .ds-projectContent {
    order: 1;
}

.ds-projectMedia {
    min-height: 250px;
    padding: 18px;
    border-radius: 28px;
    display: flex;
    align-items: flex-end;
    background: linear-gradient(135deg, rgba(9, 76, 178, 0.15), rgba(197, 233, 234, 0.42));
}

.ds-projectMedia--calm {
    background: linear-gradient(135deg, rgba(197, 233, 234, 0.78), rgba(255, 255, 255, 0.96));
}

.ds-projectMedia--deep {
    background: linear-gradient(135deg, rgba(67, 100, 101, 0.18), rgba(255, 255, 255, 0.94));
}

.ds-projectMedia--blue {
    background: linear-gradient(135deg, rgba(9, 76, 178, 0.18), rgba(255, 255, 255, 0.94));
}

.ds-projectFrame {
    width: 100%;
    min-height: 196px;
    padding: 18px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: var(--oz-shadow-subtle);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 14px;
}

.ds-projectLabel {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: var(--oz-radius-pill);
    background: rgba(197, 233, 234, 0.78);
    color: var(--oz-secondary);
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    white-space: nowrap;
}

.ds-projectLogo {
    display: block;
    margin-inline: auto;
    width: min(100%, 210px);
    max-width: none;
    max-height: 64px;
    object-fit: contain;
}

.ds-projectContent {
    display: grid;
    gap: 14px;
    align-content: start;
}

.ds-projectContent > * {
    max-width: 100%;
}

.ds-projectFooter {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px 16px;
}

.ds-projectFooter .ds-chipRow {
    min-width: 0;
}

.ds-projectFooter .ds-actions {
    margin-top: 0;
    justify-self: end;
}

.ds-ctaBand {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
}

.ds-form {
    display: grid;
    gap: 16px;
}

.ds-formRow {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.ds-field {
    display: grid;
    gap: 10px;
}

.ds-field label,
.ds-field span,
.ds-label {
    color: var(--oz-on-surface);
    font-weight: 700;
}

.ds-input,
.ds-select,
.ds-textarea {
    width: 100%;
    min-height: 54px;
    padding: 0 16px;
    border: 0;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: inset 0 0 0 1px rgba(195, 198, 213, 0.72);
    color: var(--oz-on-surface);
    font-family: var(--oz-font-body);
    font-size: 1rem;
}

.ds-textarea {
    min-height: 180px;
    padding: 16px;
    resize: vertical;
}

.ds-select {
    appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, var(--oz-primary) 50%),
        linear-gradient(135deg, var(--oz-primary) 50%, transparent 50%);
    background-position:
        calc(100% - 22px) calc(50% - 2px),
        calc(100% - 16px) calc(50% - 2px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
    padding-right: 40px;
}

.ds-asideStack {
    display: grid;
    gap: 18px;
}

.ds-directSection .ds-linkList {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.ds-infoList,
.ds-linkList {
    display: grid;
    gap: 12px;
}

.ds-infoCard,
.ds-linkCard {
    padding: 16px 18px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: inset 0 0 0 1px rgba(195, 198, 213, 0.6);
}

.ds-infoCard {
    display: grid;
    gap: 6px;
}

.ds-infoCard strong {
    display: block;
    margin-bottom: 6px;
    font-family: var(--oz-font-display);
    font-size: 1rem;
}

.ds-linkCard {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    text-decoration: none;
    min-width: 0;
}

.ds-linkCard__icon {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, rgba(9, 76, 178, 0.12), rgba(197, 233, 234, 0.8));
    color: var(--oz-primary);
    box-shadow: inset 0 0 0 1px rgba(9, 76, 178, 0.08);
}

.ds-linkCard__icon svg {
    width: 24px;
    height: 24px;
}

.ds-linkCard__content {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.ds-linkCard__label {
    color: var(--oz-on-surface);
    font-family: var(--oz-font-display);
    font-size: 1.02rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.08;
}

.ds-linkCard__description {
    color: var(--oz-muted);
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.6;
}

.ds-linkCard__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 14px;
    border-radius: var(--oz-radius-pill);
    background: rgba(9, 76, 178, 0.08);
    color: var(--oz-primary);
    font-size: 0.84rem;
    font-weight: 800;
    white-space: nowrap;
}

.ds-directSection .ds-linkCard {
    min-height: 100%;
    padding: 20px;
    grid-template-columns: 1fr;
    align-content: start;
    align-items: start;
    gap: 16px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(243, 243, 247, 0.94));
    box-shadow: var(--oz-shadow-subtle);
}

.ds-directSection .ds-linkCard:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 36px rgba(26, 28, 31, 0.08);
}

.ds-directSection .ds-linkCard__icon {
    width: 58px;
    height: 58px;
}

.ds-directSection .ds-linkCard__content {
    gap: 8px;
}

.ds-directSection .ds-linkCard__label {
    font-size: 1.18rem;
}

.ds-directSection .ds-linkCard__action {
    margin-top: auto;
    min-height: 46px;
    padding: 0 16px;
}

@media (max-width: 1100px) {
    .ds-split--hero,
    .ds-split--feature,
    .ds-split--contact,
    .ds-projectCard,
    .ds-projectCard--reverse,
    .ds-quoteGrid {
        grid-template-columns: 1fr;
    }

    .ds-directSection .ds-linkList {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ds-projectCard--reverse .ds-projectMedia,
    .ds-projectCard--reverse .ds-projectContent,
    .ds-split--feature.ds-split--reverse > :first-child,
    .ds-split--feature.ds-split--reverse > :last-child {
        order: initial;
    }

    .ds-logoGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ds-statGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ds-cardGrid--three,
    .ds-cardGrid--four {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 720px) {
    .ds-shell {
        width: calc(100% - 20px);
    }

    .ds-section {
        padding: 24px 0 48px;
    }

    .ds-surface,
    .ds-preview,
    .ds-projectMedia,
    .ds-projectFrame,
    .ds-card,
    .ds-quoteCard,
    .ds-featureVisual {
        padding: 20px 18px;
        border-radius: 26px;
    }

    .ds-formRow,
    .ds-miniGrid,
    .ds-preview__metricGrid,
    .ds-metricGrid,
    .ds-logoGrid,
    .ds-directSection .ds-linkList,
    .ds-cardGrid--three,
    .ds-cardGrid--four,
    .ds-statGrid {
        grid-template-columns: 1fr;
    }

    .ds-preview {
        min-height: auto;
    }

    .ds-preview__top {
        display: grid;
        justify-items: flex-start;
        gap: 8px;
    }

    .ds-preview__screen {
        min-height: auto;
        gap: 12px;
    }

    .ds-preview__card,
    .ds-metricCard,
    .ds-infoCard,
    .ds-linkCard {
        padding: 16px;
    }

    .ds-display {
        font-size: clamp(1.96rem, 8.8vw, 2.6rem);
        line-height: 1.08;
    }

    .ds-title--xl {
        font-size: clamp(1.68rem, 7.6vw, 2.05rem);
        line-height: 1.1;
    }

    .ds-title--lg {
        font-size: clamp(1.48rem, 6.6vw, 1.82rem);
        line-height: 1.1;
    }

    .ds-title--md {
        font-size: clamp(1.16rem, 5.2vw, 1.38rem);
        line-height: 1.12;
    }

    .ds-body {
        font-size: 0.98rem;
        line-height: 1.7;
    }

    .ds-split {
        gap: 22px;
    }

    .ds-actions {
        gap: 12px;
    }

    .ds-preview__title,
    .ds-display,
    .ds-title {
        text-wrap: pretty;
    }

    .ds-ctaBand {
        flex-direction: column;
        align-items: flex-start;
    }

    .ds-projectContent,
    .ds-stack--md {
        gap: 14px;
    }

    .ds-projectFooter {
        grid-template-columns: 1fr;
    }

    .ds-projectFooter .ds-actions {
        justify-self: start;
    }

    .ds-linkCard {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .ds-linkCard__action {
        margin-top: 4px;
    }

    .ds-projectLogo {
        width: min(100%, 188px);
        max-height: 64px;
    }

    [data-legacy-page="true"] .heroBanner--compact .heroBanner__content {
        width: calc(100% - 20px);
        padding-top: 112px;
        padding-bottom: 28px;
        gap: 14px;
    }

    .footer__middle {
        gap: 18px;
    }

    .footer__legal {
        gap: 10px;
    }

    [data-legacy-page="true"] .heroBanner--compact .heroBanner__content h1 {
        max-width: none;
        font-size: clamp(2rem, 9vw, 2.7rem);
        line-height: 1;
    }

    [data-legacy-page="true"] .heroBanner--compact .heroBanner__content p {
        max-width: none;
    }

    .servicesSection,
    .servicesHighlight,
    .servicesCTA,
    .serviceCard,
    .audienceCard,
    .faqItem {
        padding: 20px 18px;
    }
}
