:root {
    --blue-950: #071a2f;
    --blue-900: #092e4c;
    --blue-800: #014166;
    --blue-700: #105189;
    --blue-500: #0075b2;
    --blue-100: #dbf2ff;
    --ink: #142436;
    --muted: #5f7084;
    --line: #d9e5ef;
    --paper: #ffffff;
    --soft: #f1f5fa;
    --orange: #e8621a;
    --gold: #ffb02e;
    --green: #026e1f;
    --shadow: 0 16px 42px rgba(8, 35, 58, .12);
    --radius: 8px;
}

* { box-sizing: border-box; }

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--soft);
    color: var(--ink);
    font-family: "Roboto", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.58;
    text-rendering: optimizeLegibility;
}

img, iframe {
    display: block;
    max-width: 100%;
}

img {
    height: auto;
}

iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

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

.container {
    width: min(1220px, calc(100% - 32px));
    margin: 0 auto;
}

.skip-link {
    position: absolute;
    left: 16px;
    top: -80px;
    z-index: 1000;
    background: var(--blue-900);
    color: #fff;
    padding: 10px 14px;
    border-radius: 4px;
}

.skip-link:focus { top: 16px; }

.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: #e2f4ff;
    border-bottom: 0;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .1);
    backdrop-filter: none;
    transition: box-shadow .2s ease, background .2s ease;
}

.site-header.is-scrolled {
    background: #e2f4ff;
    box-shadow: 0 3px 8px rgba(0, 0, 0, .12);
}

.site-header .container {
    width: min(1240px, calc(100% - 48px));
}

.nav-wrap {
    min-height: 100px;
    display: flex;
    align-items: center;
    gap: 28px;
}

.brand {
    flex: 0 0 auto;
}

.brand img {
    width: 176px;
    height: auto;
}

.site-nav {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-left: auto;
    color: #061441;
    font-size: 16px;
    font-weight: 500;
}

.site-nav a {
    padding: 8px 0;
    border-bottom: 0;
}

.site-nav a:hover,
.site-nav a.active {
    color: var(--orange);
}

.nav-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.nav-actions .btn {
    min-height: 40px;
    padding: 10px 20px;
    border-radius: 10px;
    font-size: 13px;
}

.nav-actions .btn.btn-primary {
    background: var(--orange);
}

@media (min-width: 1200px) {
    .site-nav {
        margin-left: 74px;
    }

    .nav-actions {
        margin-left: auto;
    }
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 11px 19px;
    border: 1px solid transparent;
    border-radius: 7px;
    font-family: "Open Sans", Arial, sans-serif;
    font-weight: 800;
    line-height: 1.1;
    text-align: center;
    text-transform: uppercase;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(8, 35, 58, .14);
}

.btn-primary,
.btn.btn-primary {
    background: var(--orange);
    color: #fff;
}

.btn-outline {
    border-color: rgba(6, 20, 65, .24);
    color: #2c3770;
    background: rgba(255,255,255,.12);
}

.btn-blue {
    background: var(--blue-500);
    color: #fff;
}

.btn-whatsapp {
    background: var(--green);
    color: #fff;
}

.btn-light {
    background: #fff;
    color: var(--blue-900);
}

.menu-toggle {
    display: none;
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(8, 35, 58, .08);
}

.menu-toggle span {
    display: block;
    width: 19px;
    height: 3px;
    margin: 4px auto;
    border-radius: 2px;
    background: var(--blue-800);
}

.hero {
    position: relative;
    overflow: hidden;
    padding: 66px 0 44px;
    background:
        linear-gradient(180deg, rgba(219,242,255,.92), rgba(241,245,250,1)),
        radial-gradient(circle at 15% 10%, rgba(0,117,178,.18), transparent 36%),
        radial-gradient(circle at 85% 8%, rgba(232,98,26,.12), transparent 34%);
}

.hero-inner {
    text-align: center;
}

.script-line {
    margin: 0 0 10px;
    color: var(--ink);
    font-family: "Amita", cursive;
    font-size: clamp(18px, 1.9vw, 23px);
    font-weight: 700;
}

.hero h1 {
    max-width: 980px;
    margin: 0 auto;
    color: var(--blue-500);
    font-family: "Open Sans", Arial, sans-serif;
    font-size: clamp(42px, 5.2vw, 72px);
    font-weight: 800;
    letter-spacing: 0;
    line-height: .98;
    text-wrap: balance;
    text-shadow: 0 2px 1px rgba(0, 0, 0, .14);
}

.title-rule {
    width: min(760px, 72vw);
    height: 2px;
    margin: 18px auto 16px;
    background: #101010;
}

.hero-lead {
    max-width: 780px;
    margin: 0 auto 22px;
    color: #1d2c3e;
    font-size: clamp(18px, 1.9vw, 22px);
    font-weight: 700;
    line-height: 1.45;
}

.hero-actions,
.final-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 14px;
}

.video-frame {
    width: min(760px, 100%);
    margin: 34px auto 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.video-placeholder {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    padding: 0;
    border: 0;
    border-radius: 6px;
    overflow: hidden;
    background: #061a2b;
    cursor: pointer;
}

.video-placeholder img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.play-button {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: var(--orange);
    box-shadow: 0 12px 28px rgba(0,0,0,.28);
}

.play-button::before {
    content: "";
    position: absolute;
    left: 29px;
    top: 22px;
    width: 0;
    height: 0;
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
    border-left: 20px solid #fff;
}

.video-placeholder.is-playing {
    cursor: default;
}

.proof-row {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 15px;
}

.proof-row span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 12px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: rgba(255,255,255,.76);
    color: var(--muted);
    font-weight: 700;
}

.proof-row b {
    color: var(--blue-800);
    margin-right: 4px;
}

.client-strip {
    padding: 18px 0;
    background: #f8fafc;
    border-top: 1px solid #e7eef5;
    border-bottom: 1px solid #e7eef5;
}

.strip-inner {
    display: grid;
    grid-template-columns: 150px 1fr;
    align-items: center;
    gap: 24px;
}

.strip-inner h2 {
    margin: 0;
    color: #687483;
    font-family: "Open Sans", Arial, sans-serif;
    font-size: 28px;
    line-height: 1;
}

.logo-viewport {
    min-width: 0;
    overflow: hidden;
    mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
}

.logo-track {
    display: flex;
    width: max-content;
    animation: logo-scroll 26s linear infinite;
    will-change: transform;
}

.logo-group {
    display: flex;
    align-items: center;
    gap: clamp(42px, 6vw, 88px);
    padding-right: clamp(42px, 6vw, 88px);
}

.logo-group img {
    flex: 0 0 auto;
    width: 120px;
    max-height: 52px;
    object-fit: contain;
}

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

@media (prefers-reduced-motion: reduce) {
    .logo-track {
        animation: none;
    }
}

.intro-section,
.services-section,
.brand-section,
.work-section,
.blog-section {
    padding: 58px 0;
}

.two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 36px;
}

.intro-section .two-col {
    grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr);
    gap: 0;
    overflow: hidden;
    border: 1px solid rgba(1, 65, 102, .1);
    border-radius: 18px;
    background: rgba(255,255,255,.76);
    box-shadow: 0 24px 60px rgba(8, 35, 58, .1);
}

.intro-copy {
    position: relative;
    z-index: 1;
    padding: clamp(34px, 4.5vw, 58px);
}

.intro-copy::before {
    content: "";
    position: absolute;
    left: 0;
    top: 42px;
    bottom: 42px;
    width: 4px;
    border-radius: 0 4px 4px 0;
    background: linear-gradient(var(--orange), var(--gold));
}

.intro-copy .eyebrow {
    margin-bottom: 16px;
}

.intro-copy h2 {
    max-width: 650px;
    font-size: clamp(30px, 2.8vw, 40px);
    line-height: 1.08;
    letter-spacing: -.02em;
    text-wrap: balance;
}

.intro-copy > p:not(.eyebrow) {
    max-width: 660px;
    margin: 20px 0 0;
    line-height: 1.7;
}

.intro-copy .eyebrow + h2 + p {
    font-size: 18px;
}

.eyebrow,
.mini-kicker {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 12px;
    color: var(--orange);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.eyebrow::before,
.mini-kicker::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--orange);
}

.mini-kicker {
    font-family: "Amita", cursive;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: none;
}


.intro-section h2,
.section-heading h2,
.final-cta h2 {
    margin: 0;
    color: var(--blue-800);
    font-family: "Open Sans", Arial, sans-serif;
    font-size: clamp(32px, 3.4vw, 46px);
    font-weight: 900;
    line-height: 1.08;
}

.intro-section p {
    color: #213247;
    font-size: 17px;
}

.service-copy p {
    color: #213247;
    font-size: 18px;
    line-height: 1.62;
}

.image-panel {
    margin: 0;
    padding: 10px;
    border-radius: var(--radius);
    background: var(--paper);
    box-shadow: var(--shadow);
}

.image-panel img {
    width: 100%;
    height: clamp(320px, 34vw, 440px);
    object-fit: cover;
    object-position: center;
    border-radius: 6px;
}

.intro-section .image-panel {
    position: relative;
    align-self: stretch;
    min-height: 100%;
    padding: 0;
    border-radius: 0;
    background: var(--blue-900);
    box-shadow: none;
}

.intro-section .image-panel::after {
    content: "Production expertise, on location";
    position: absolute;
    left: 24px;
    bottom: 24px;
    padding: 9px 13px;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 7px;
    background: rgba(7,26,47,.76);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    backdrop-filter: blur(6px);
}

.intro-section .image-panel img {
    height: 100%;
    min-height: 520px;
    border-radius: 0;
    object-position: center;
}

.section-heading {
    max-width: 880px;
    margin: 0 auto 30px;
    text-align: center;
}

.services-heading {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    margin: 0 auto 38px;
    text-align: center;
}

.services-heading::before,
.services-heading::after {
    content: "";
    width: min(90px, 10vw);
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--orange));
}

.services-heading::after {
    transform: scaleX(-1);
}

.services-heading h2 {
    margin: 0;
    color: var(--blue-800);
    font-family: "Open Sans", Arial, sans-serif;
    font-size: clamp(40px, 5vw, 64px);
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1;
    white-space: nowrap;
    text-shadow: 0 2px 1px rgba(0,0,0,.08);
}

.section-heading .eyebrow {
    justify-content: center;
}

.service-stack {
    display: grid;
    gap: 22px;
}

.service-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 32px;
    padding: 22px;
    border-radius: var(--radius);
    background: var(--paper);
    box-shadow: 0 8px 24px rgba(8, 35, 58, .08);
}

.service-card.is-reverse .service-media {
    order: 2;
}

.service-media {
    position: relative;
    padding: 12px;
    border-radius: 8px;
    background: linear-gradient(135deg, #012d47, var(--blue-800), #0a6da0);
}

.service-image-wrap {
    position: relative;
    overflow: hidden;
    border-radius: 5px;
}

.service-image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.service-media img {
    width: 100%;
    height: clamp(250px, 25vw, 326px);
    object-fit: cover;
    object-position: center;
}

.service-card:nth-child(1) .service-media img {
    object-position: center 28%;
}

.service-card:nth-child(2) .service-media img {
    object-position: center 35%;
}

.service-card:nth-child(3) .service-media img,
.service-card:nth-child(4) .service-media img {
    object-position: center 42%;
}

.service-card:nth-child(7) .service-media img {
    object-position: center 45%;
}

.media-cinematic-caption .service-media {
    padding: 0;
    overflow: hidden;
    background: #061d32;
    border: 1px solid #bfd3e2;
    box-shadow: 0 14px 30px rgba(8, 35, 58, .12);
}

.media-cinematic-caption .service-image-wrap {
    border-radius: 8px 8px 0 0;
    background: #061d32;
}

.media-cinematic-caption .service-image-wrap::after {
    background:
        linear-gradient(180deg, rgba(4, 25, 43, 0), rgba(4, 25, 43, .42)),
        linear-gradient(90deg, rgba(1,65,102,.16), transparent 44%, rgba(232,98,26,.08));
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.1);
}

.media-cinematic-caption .service-media img {
    height: clamp(255px, 25vw, 330px);
}

.media-cinematic-caption .service-badge {
    top: 18px;
    right: 18px;
    box-shadow: 0 10px 20px rgba(0,0,0,.16);
}

.media-cinematic-caption .service-cta {
    display: flex;
    width: 100%;
    min-height: 52px;
    margin: 0;
    padding: 14px 18px;
    border-radius: 0;
    background: linear-gradient(90deg, var(--blue-800), var(--blue-500));
    color: #fff;
    box-shadow: none;
}

.media-cinematic-caption .service-cta:hover {
    background: linear-gradient(90deg, var(--orange), #f47b25);
}

.presentation-label {
    position: absolute;
    left: 20px;
    top: 20px;
    z-index: 3;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .92);
    color: var(--blue-900);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.media-editorial .service-media {
    padding: 18px;
    background: #082f4c;
}

.media-editorial .service-image-wrap {
    border: 6px solid #fff;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.65), 0 18px 34px rgba(0,0,0,.18);
}

.media-editorial .service-image-wrap::after {
    box-shadow: inset 0 -80px 90px rgba(8, 47, 76, .18);
}

.media-editorial .service-cta {
    margin-top: 16px;
}

.media-overlay .service-media {
    min-height: 390px;
    padding: 0;
    overflow: hidden;
    display: flex;
    align-items: stretch;
    background: #061d32;
}

.media-overlay .service-image-wrap {
    width: 100%;
    border-radius: 8px;
}

.media-overlay .service-media img {
    height: 100%;
    min-height: 390px;
}

.media-overlay .service-image-wrap::after {
    background: linear-gradient(180deg, rgba(4, 25, 43, .04), rgba(4, 25, 43, .78));
}

.media-overlay .service-badge {
    top: 22px;
    right: 22px;
}

.media-overlay .service-cta {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 24px;
    z-index: 3;
    display: flex;
    justify-content: center;
    margin: 0;
}

.media-offset .service-media {
    isolation: isolate;
    padding: 18px 18px 64px;
    background: linear-gradient(145deg, #f7fbff 0%, #dcecf7 100%);
    border: 1px solid #c4d8e8;
}

.media-offset .service-media::before {
    content: "";
    position: absolute;
    right: 24px;
    bottom: 44px;
    width: 78%;
    height: 72%;
    border-radius: 8px;
    background: var(--blue-800);
    transform: translate(12px, 14px);
    z-index: -1;
}

.media-offset .service-image-wrap {
    border-radius: 8px;
    box-shadow: 0 20px 34px rgba(8, 35, 58, .18);
}

.media-offset .service-media img {
    height: clamp(250px, 24vw, 318px);
}

.media-offset .service-cta {
    position: absolute;
    left: 50%;
    bottom: 18px;
    z-index: 3;
    margin: 0;
    transform: translateX(-50%);
    white-space: nowrap;
}

.media-clean .service-media {
    padding: 10px;
    background: #fff;
    border: 1px solid #c8d8e6;
    box-shadow: 0 14px 30px rgba(8, 35, 58, .12);
}

.media-clean .service-image-wrap {
    border-radius: 7px;
}

.media-clean .service-image-wrap::after {
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}

.media-clean .service-badge {
    top: 20px;
    right: 20px;
}

.media-clean .service-cta {
    background: var(--blue-800);
}

.media-caption .service-media {
    padding: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid #cbdbe8;
}

.media-caption .service-image-wrap {
    border-radius: 8px 8px 0 0;
}

.media-caption .service-media img {
    height: clamp(250px, 25vw, 326px);
}

.media-caption .service-cta {
    width: 100%;
    margin: 0;
    padding: 14px 18px;
    border-radius: 0;
    background: var(--blue-800);
}

.media-minimal .service-media {
    padding: 0;
    background: transparent;
}

.media-minimal .service-image-wrap {
    border-radius: 8px;
    border: 1px solid #d6e3ee;
    box-shadow: 0 10px 24px rgba(8, 35, 58, .1);
}

.media-minimal .service-image-wrap::after {
    box-shadow: inset 0 -90px 90px rgba(5, 28, 47, .08);
}

.media-minimal .service-badge {
    top: 14px;
    right: 14px;
}

.media-minimal .service-cta {
    margin-top: 12px;
}

.media-studio .service-media {
    padding: 14px;
    background: #082f4c;
    border: 1px solid rgba(255,255,255,.2);
}

.media-studio .service-image-wrap {
    border-radius: 6px;
    outline: 1px solid rgba(255,255,255,.45);
    outline-offset: -8px;
}

.media-studio .service-image-wrap::after {
    background: linear-gradient(135deg, rgba(255,255,255,.08), transparent 34%, rgba(1,65,102,.22));
}

.media-studio .service-cta {
    margin-top: 14px;
    background: #fff;
    color: var(--blue-900);
}

.service-badge {
    position: absolute;
    right: 22px;
    top: 22px;
    z-index: 2;
    padding: 4px 12px;
    border-radius: 999px;
    background: var(--orange);
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.service-cta {
    display: table;
    margin: 12px auto 0;
    padding: 8px 17px;
    border-radius: 6px;
    background: var(--orange);
    color: #fff;
    font-size: 14px;
    font-weight: 900;
}

.service-copy h3 {
    margin: 0;
    color: var(--blue-700);
    font-family: "Open Sans", Arial, sans-serif;
    font-size: clamp(28px, 2.6vw, 36px);
    font-weight: 900;
    line-height: 1.12;
}

.copy-rule {
    height: 2px;
    width: 100%;
    margin: 14px 0;
    background: #111;
}

.brand-section {
    position: relative;
    background: linear-gradient(180deg, #eef4fa, #e9f0f7);
}

.brand-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(1,65,102,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(1,65,102,.035) 1px, transparent 1px);
    background-size: 34px 34px;
}

.brand-section .container {
    position: relative;
}

.section-heading.compact {
    margin-bottom: 26px;
}

.section-heading.compact h2 {
    color: var(--blue-900);
    font-size: clamp(32px, 3.6vw, 48px);
    letter-spacing: .03em;
}

.brand-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 18px;
}

.brand-tile {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #c7d7e4;
    border-radius: 6px;
    background: rgba(255,255,255,.45);
}

.brand-tile img {
    max-height: 56px;
    width: auto;
    object-fit: contain;
}

.brand-more {
    gap: 8px;
    border-color: #c7d7e4;
    background: rgba(255,255,255,.45);
    color: var(--blue-800);
}

.brand-more strong {
    font-family: "Open Sans", Arial, sans-serif;
    font-size: 28px;
    font-weight: 900;
    line-height: 1;
}

.brand-more span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.work-section {
    background: #fff;
}

.work-heading {
    margin: 0 auto 42px;
    text-align: center;
}

.work-heading h2 {
    margin: 0;
    color: var(--blue-800);
    font-family: "Open Sans", Arial, sans-serif;
    font-size: clamp(34px, 4vw, 52px);
    font-weight: 900;
    line-height: 1.08;
}

.work-heading p {
    margin: 12px auto 0;
    color: #616161;
    font-size: 19px;
}

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

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

.work-video-card {
    overflow: hidden;
    border: 2px solid #e0ddd8;
    border-radius: 8px;
    background: #fff;
}

.video-card {
    display: block;
    border-radius: 0;
}

.work-video-card > strong {
    display: block;
    padding: 10px 14px;
    color: var(--blue-800);
    font-size: 13px;
    line-height: 1.3;
}

.work-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 26px;
    margin: 28px 0;
}

.work-actions .btn {
    min-width: 250px;
}

.work-grid-more {
    margin-top: 0;
}

.work-quote-card {
    min-height: 220px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 28px;
    border-radius: 8px;
    background: var(--blue-800);
}

.work-quote-card p {
    margin: 0 0 6px;
    color: rgba(255,255,255,.58);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.work-quote-card h3 {
    margin: 0 0 18px;
    color: #fff;
    font-family: "Open Sans", Arial, sans-serif;
    font-size: 21px;
    line-height: 1.3;
}

.work-quote-card .btn {
    background: var(--orange);
    color: #fff;
}

.blog-section {
    background: var(--soft);
}

.cta-section {
    padding: 58px 0;
    background: var(--soft);
}

.cta-section .final-cta {
    margin-top: 0;
}

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

.blog-card {
    overflow: hidden;
    border-radius: var(--radius);
    background: #fff;
    box-shadow: 0 8px 24px rgba(8, 35, 58, .08);
}

.blog-card img {
    width: 100%;
    aspect-ratio: 1.5 / 1;
    object-fit: cover;
}

.blog-card div {
    padding: 18px;
}

.blog-card span {
    color: var(--orange);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.blog-card h3 {
    margin: 8px 0 12px;
    color: var(--blue-900);
    font-family: "Open Sans", Arial, sans-serif;
    font-size: 19px;
    line-height: 1.28;
}

.blog-card p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
}

.final-cta {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(34px, 6vw, 84px);
    margin-top: 48px;
    padding: clamp(34px, 4.5vw, 58px);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 16px;
    background:
        radial-gradient(circle at 92% 18%, rgba(0, 148, 211, .34), transparent 30%),
        linear-gradient(125deg, #072f4d 0%, #064f78 58%, #0b3e61 100%);
    color: #fff;
    box-shadow: 0 24px 60px rgba(3, 34, 55, .2);
}

.final-cta::before {
    content: "";
    position: absolute;
    z-index: -1;
    right: -80px;
    bottom: -120px;
    width: 300px;
    height: 300px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 50%;
    box-shadow: 0 0 0 42px rgba(255,255,255,.025), 0 0 0 84px rgba(255,255,255,.018);
}

.final-cta-copy {
    max-width: 760px;
}

.final-cta .eyebrow {
    margin-bottom: 14px;
    color: #ffb02e;
    letter-spacing: .13em;
}

.final-cta h2 {
    color: #fff;
    font-size: clamp(30px, 3.3vw, 46px);
    line-height: 1.08;
    text-wrap: balance;
}

.final-cta-lead {
    max-width: 680px;
    margin: 18px 0 0;
    color: rgba(255,255,255,.78);
    font-size: 17px;
    line-height: 1.55;
}

.final-cta .final-actions {
    flex-direction: column;
    align-items: stretch;
    min-width: 210px;
    gap: 12px;
}

.final-cta .btn {
    min-height: 50px;
    padding: 14px 22px;
    border-radius: 9px;
}

.final-cta .btn-primary {
    justify-content: space-between;
    gap: 22px;
    background: linear-gradient(135deg, #f06b20, #e55313);
    box-shadow: 0 12px 26px rgba(229,83,19,.25);
}

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

.final-cta .btn-light {
    border-color: rgba(255,255,255,.3);
    background: rgba(255,255,255,.08);
    color: #fff;
    backdrop-filter: blur(4px);
}

.site-footer {
    position: relative;
    padding: 64px 0 22px;
    background: #091f45;
    color: #b9cada;
}

.site-footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--orange), var(--gold) 28%, var(--blue-500) 72%, transparent);
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.65fr .8fr 1.05fr 1.15fr;
    gap: clamp(34px, 5vw, 72px);
}

.footer-logo {
    width: 210px;
    height: auto;
    margin-bottom: 20px;
    filter: brightness(0) invert(1);
    opacity: .96;
}

.footer-brand > p {
    max-width: 390px;
    margin: 0;
    color: #a9bccd;
    font-size: 16px;
    line-height: 1.7;
}

.site-footer h2 {
    margin: 5px 0 20px;
    color: #fff;
    font-family: "Open Sans", Arial, sans-serif;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.site-footer a {
    display: block;
    margin: 10px 0;
    color: #b9cada;
    transition: color .18s ease, transform .18s ease, border-color .18s ease, background .18s ease;
}

.site-footer a:hover {
    color: #fff;
}

.footer-column > a:hover {
    transform: translateX(3px);
}

.footer-contact-item {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 11px;
    align-items: start;
    margin-bottom: 17px;
}

.footer-contact-item > svg {
    width: 34px;
    height: 34px;
    padding: 8px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 9px;
    background: rgba(255,255,255,.045);
    fill: #fff;
}

.footer-contact-item a {
    margin-top: 6px;
    color: #e4edf5;
}

.footer-contact-item address {
    margin: 4px 0 0;
    color: #e4edf5;
    font-size: 15px;
    font-style: normal;
    line-height: 1.6;
    white-space: nowrap;
}

.social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.site-footer .social-links a {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 50%;
    background: rgba(255,255,255,.045);
    color: #dce8f2;
}

.site-footer .social-links a:hover {
    border-color: rgba(255,176,46,.65);
    background: rgba(255,176,46,.12);
    color: #fff;
    transform: translateY(-2px);
}

.social-links svg {
    width: 19px;
    height: 19px;
    fill: currentColor;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    margin-top: 52px;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,.1);
    color: #7f96aa;
    font-size: 13px;
}

.footer-bottom p {
    margin: 0;
}

.footer-bottom div {
    display: flex;
    gap: 18px;
}

.footer-bottom a {
    margin: 0;
}

.scroll-top {
    position: fixed;
    right: 18px;
    bottom: 18px;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: var(--orange);
    opacity: 0;
    visibility: hidden;
    box-shadow: 0 12px 26px rgba(0,0,0,.2);
    cursor: pointer;
    transition: opacity .2s ease, visibility .2s ease;
}

.scroll-top::before {
    content: "";
    position: absolute;
    inset: 16px 14px 12px;
    border-left: 3px solid #fff;
    border-top: 3px solid #fff;
    transform: rotate(45deg);
}

.scroll-top.is-visible {
    opacity: 1;
    visibility: visible;
}

@media (max-width: 1040px) {
    .nav-actions {
        display: none;
    }

    .brand-grid {
        grid-template-columns: repeat(4, 1fr);
    }

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

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

@media (max-width: 860px) {
    .nav-wrap {
        min-height: 68px;
    }

    .menu-toggle {
        display: block;
        margin-left: auto;
    }

    .site-nav {
        position: fixed;
        left: 16px;
        right: 16px;
        top: 74px;
        display: grid;
        gap: 0;
        padding: 14px;
        border: 1px solid var(--line);
        border-radius: 8px;
        background: #fff;
        box-shadow: var(--shadow);
        transform: translateY(-12px);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }

    .menu-open .site-nav {
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .site-nav a {
        padding: 12px;
        border-bottom: 1px solid #edf2f7;
    }

    .site-nav a:last-child {
        border-bottom: 0;
    }

    .hero {
        padding-top: 38px;
    }

    .intro-section .two-col {
        grid-template-columns: 1fr;
    }

    .intro-section .image-panel img {
        min-height: 360px;
    }

    .two-col,
    .service-card,
    .footer-grid,
    .final-cta {
        grid-template-columns: 1fr;
    }

    .service-copy {
        order: 0;
    }

    .service-card .service-media,
    .service-card.is-reverse .service-media {
        order: 1;
    }

    .strip-inner {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .brand-grid {
        grid-template-columns: repeat(4, 1fr);
    }

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

@media (max-width: 560px) {
    .container {
        width: min(100% - 22px, 1220px);
    }

    .brand img {
        width: 172px;
    }

    .hero h1 {
        max-width: 350px;
        font-size: clamp(34px, 10.5vw, 42px);
        line-height: 1.02;
    }

    .hero-lead,
    .intro-section p {
        font-size: 16px;
    }

    .service-copy p {
        font-size: 16px;
        line-height: 1.58;
    }

    .hero-actions .btn,
    .final-actions .btn {
        width: 100%;
    }

    .intro-section,
    .services-section,
    .brand-section,
    .work-section,
    .blog-section,
    .cta-section {
        padding: 42px 0;
    }

    .intro-copy {
        padding: 30px 24px;
    }

    .intro-copy::before {
        top: 28px;
        bottom: 28px;
    }

    .intro-section .image-panel img {
        min-height: 290px;
    }

    .service-card {
        padding: 12px;
        gap: 18px;
    }

    .media-offset .service-media {
        padding: 10px;
    }

    .media-offset .service-media::before {
        display: none;
    }

    .media-offset .service-image-wrap {
        aspect-ratio: 16 / 9;
    }

    .media-offset .service-media img {
        width: 100%;
        height: 100%;
        aspect-ratio: 16 / 9;
    }

    .media-offset .service-cta {
        position: static;
        display: flex;
        width: 100%;
        min-height: 38px;
        margin: 10px auto 0;
        padding: 8px 12px;
        transform: none;
        white-space: normal;
    }

    .service-copy h3 {
        font-size: 29px;
        line-height: 1.12;
    }

    .brand-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 8px;
    }

    .video-grid,
    .blog-grid {
        grid-template-columns: 1fr;
    }

    .brand-tile {
        min-height: 62px;
        padding: 6px;
    }

    .brand-tile img {
        max-width: 100%;
        max-height: 42px;
    }

    .brand-more {
        gap: 4px;
    }

    .brand-more strong {
        font-size: 20px;
    }

    .brand-more span {
        font-size: 9px;
    }

    .final-cta {
        padding: 24px;
    }

    .site-footer {
        padding-top: 48px;
    }

    .footer-brand > p {
        font-size: 15px;
    }

    .footer-bottom {
        display: grid;
    }
}

/* Core company and conversion pages */
.company-hero,.inner-hero{padding:clamp(64px,8vw,110px) 0;background:#d8eef9}.company-hero-grid,.inner-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);align-items:center;gap:clamp(42px,6vw,86px)}.company-hero h1,.inner-hero h1{margin:16px 0 24px;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:clamp(46px,6vw,78px);letter-spacing:-.055em;line-height:1.02}.company-hero h1 span,.inner-hero h1 span{color:var(--blue-500)}.company-lead,.inner-hero-grid>p{max-width:660px;color:#496277;font-size:clamp(17px,1.65vw,21px);line-height:1.65}.company-actions{display:flex;align-items:center;gap:24px;margin-top:30px}.text-arrow{color:var(--blue-900);font-weight:800}.company-hero figure{position:relative;margin:0}.company-hero figure img{display:block;width:100%;height:500px;border-radius:12px;object-fit:cover}.company-hero figcaption{position:absolute;right:16px;bottom:16px;left:16px;display:flex;justify-content:space-between;padding:17px 20px;border-radius:8px;background:rgba(5,43,68,.92);color:#fff}.company-hero figcaption span{color:rgba(255,255,255,.7)}
.company-story,.company-principles,.company-capabilities,.contact-main,.quote-main,.meeting-main{padding:clamp(72px,8vw,112px) 0}.company-story-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(50px,8vw,120px)}.company-story h2,.section-heading h2,.company-capabilities h2,.contact-panel h2,.inquiry-card h2,.quote-intro h2,.meeting-layout aside h2{margin:12px 0 20px;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:clamp(34px,4vw,53px);letter-spacing:-.045em;line-height:1.08}.company-story-copy p{margin:0 0 24px;color:#40566b;font-size:18px;line-height:1.75}.company-principles{background:#f1f6fa}.principle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:48px}.principle-grid article{padding:30px;border:1px solid #d8e4ec;border-radius:10px;background:#fff}.principle-grid article>span{color:var(--orange);font-size:12px;font-weight:900}.principle-grid h3{margin:30px 0 12px;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:23px}.principle-grid p{margin:0;color:#607487;font-size:15px;line-height:1.65}.company-capabilities{background:var(--blue-950);color:#fff}.company-capabilities-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,8vw,110px);align-items:start}.company-capabilities h2{color:#fff}.company-capabilities-grid>div>p:not(.eyebrow){color:rgba(255,255,255,.67);font-size:17px;line-height:1.7}.company-capabilities .btn{margin-top:18px;border-color:rgba(255,255,255,.35);color:#fff}.company-capabilities ul{margin:0;padding:0;list-style:none}.company-capabilities li{display:grid;grid-template-columns:190px 1fr;gap:30px;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.16)}.company-capabilities li:first-child{border-top:1px solid rgba(255,255,255,.16)}.company-capabilities li strong{font-size:18px}.company-capabilities li span{color:rgba(255,255,255,.64);line-height:1.6}
.inner-hero-grid{grid-template-columns:1.15fr .85fr}.inner-hero-grid>p{align-self:end;margin-bottom:12px}.contact-main,.quote-main,.meeting-main{background:#f4f7fa}.contact-layout,.quote-layout,.meeting-layout{display:grid;grid-template-columns:390px minmax(0,1fr);align-items:start;gap:28px}.contact-panel,.quote-intro,.meeting-layout>aside{padding:36px;border-radius:12px;background:var(--blue-950);color:#fff}.contact-panel h2,.quote-intro h2,.meeting-layout aside h2{color:#fff;font-size:36px}.contact-method{display:grid;grid-template-columns:34px 1fr;gap:15px;padding:20px 0;border-top:1px solid rgba(255,255,255,.15)}.contact-method>span{color:var(--orange);font-size:11px;font-weight:900}.contact-method small{display:block;margin-bottom:5px;color:rgba(255,255,255,.5);font-weight:800;text-transform:uppercase}.contact-method a,.contact-method address{display:block;margin:3px 0;color:#fff;font-style:normal;line-height:1.55}.contact-panel>.btn{margin-top:22px}.inquiry-card{padding:clamp(28px,4vw,48px);border:1px solid #dbe5ec;border-radius:12px;background:#fff;box-shadow:0 18px 50px rgba(5,43,68,.07)}.inquiry-card>h2{font-size:39px}.inquiry-card>p{color:#6a7d8e}.form-grid{display:grid;gap:19px}.form-grid.two{grid-template-columns:repeat(2,1fr)}.form-grid .full{grid-column:1/-1}.inquiry-form label{display:grid;gap:8px;color:#40576b;font-size:12px;font-weight:800}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{width:100%;padding:13px 14px;border:1px solid #cbd9e3;border-radius:7px;background:#fbfdfe;color:var(--ink);font:inherit;font-size:15px;outline:0}.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(0,117,178,.1)}.inquiry-form textarea{resize:vertical}.inquiry-form>.btn{margin-top:24px}.form-note{margin:14px 0 0;color:#748594!important;font-size:12px}.map-section{padding-bottom:90px;background:#f4f7fa}.map-section iframe{display:block;width:100%;height:440px;border:0;border-radius:12px}
.contact-card-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:end;gap:50px;margin-bottom:42px}.contact-card-heading h2{max-width:680px;margin:12px 0 0;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:clamp(36px,4vw,54px);letter-spacing:-.045em;line-height:1.06}.contact-card-heading>p{max-width:520px;margin:0;color:#5d7184;font-size:17px;line-height:1.7}.contact-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.contact-card{position:relative;display:flex;min-height:390px;flex-direction:column;padding:34px;border:1px solid #d6e2ea;border-radius:14px;background:#fff;box-shadow:0 16px 38px rgba(5,43,68,.06);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.contact-card:hover{transform:translateY(-4px);border-color:#b8cfdd;box-shadow:0 22px 48px rgba(5,43,68,.1)}.contact-card-icon{display:grid;width:58px;height:58px;margin-bottom:34px;place-items:center;border-radius:14px;background:#d8eef9;color:var(--blue-900)}.contact-card-icon svg{width:27px;height:27px;fill:currentColor}.contact-card-kicker{margin:0 0 11px;color:var(--orange);font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.contact-card h2{margin:0;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:clamp(22px,2.1vw,30px);letter-spacing:-.035em;line-height:1.15;overflow-wrap:anywhere}.contact-card h2 a{color:inherit}.contact-card-secondary,.contact-card address{display:block;margin-top:8px;color:#526a7e;font-size:16px;font-style:normal;font-weight:700;line-height:1.5}.contact-card>p:not(.contact-card-kicker){margin:25px 0;color:#607487;font-size:15px;line-height:1.7}.contact-card-action{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:18px;border-top:1px solid #e0e8ee;color:var(--blue-900);font-size:14px;font-weight:900}.contact-card-action span{color:var(--orange);font-size:20px}.contact-card-address{background:var(--blue-950);border-color:var(--blue-950)}.contact-card-address .contact-card-icon{background:rgba(255,255,255,.12);color:#fff}.contact-card-address h2,.contact-card-address address,.contact-card-address .contact-card-action{color:#fff}.contact-card-address>p:not(.contact-card-kicker){color:rgba(255,255,255,.68)}.contact-card-address .contact-card-action{border-color:rgba(255,255,255,.18)}
.contact-page .contact-simple-hero{display:grid;min-height:300px;padding:60px 0;place-items:center;text-align:center}.contact-page .contact-simple-hero h1{margin:0;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:clamp(54px,6vw,80px);letter-spacing:-.055em;line-height:1}
.quote-layout{grid-template-columns:330px minmax(0,1fr)}.quote-intro{position:sticky;top:120px}.quote-intro>p{color:rgba(255,255,255,.67);line-height:1.7}.quote-intro ul{margin:26px 0 0;padding:0;list-style:none}.quote-intro li{padding:13px 0;border-top:1px solid rgba(255,255,255,.14);font-weight:700}.quote-intro li:before{margin-right:10px;color:var(--orange);content:"✓"}.form-section{display:grid;grid-template-columns:38px 1fr;gap:15px;margin:6px 0 24px;padding-top:28px;border-top:1px solid #e2e9ee}.form-section:first-child{padding-top:0;border-top:0}.form-section>span{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--blue-900);color:#fff;font-size:10px;font-weight:900}.form-section h2{margin:0;font-size:26px}.form-section p{margin:4px 0 0;color:#6d7f8f;font-size:13px}.service-check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:32px}.service-check-grid label{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid #d6e1e8;border-radius:7px;background:#f8fbfd;cursor:pointer}.service-check-grid input{width:auto}.service-check-grid span{color:var(--blue-900);font-size:13px}.form-grid.spaced{padding-top:30px;border-top:1px solid #e2e9ee}.quote-submit{width:100%}
.meeting-layout{grid-template-columns:380px minmax(0,1fr)}.meeting-layout>aside ol{margin:30px 0;padding:0;list-style:none}.meeting-layout>aside li{display:grid;grid-template-columns:36px 1fr;gap:13px;padding:18px 0;border-top:1px solid rgba(255,255,255,.15)}.meeting-layout>aside li>span{color:var(--orange);font-size:11px;font-weight:900}.meeting-layout strong{display:block;margin-bottom:5px}.meeting-layout li p{margin:0;color:rgba(255,255,255,.62);font-size:14px;line-height:1.55}.meeting-note{color:rgba(255,255,255,.68);font-size:13px}.meeting-note a{color:#fff;font-weight:800}.scheduler-card{overflow:hidden;min-height:720px;border:1px solid #dbe5ec;border-radius:12px;background:#fff;box-shadow:0 18px 50px rgba(5,43,68,.07)}.scheduler-card iframe{width:100%;min-height:720px;border:0}.inquiry-confirmation{min-height:70vh;padding:100px 0;background:#d8eef9}
@media(max-width:960px){.company-hero-grid,.company-story-grid,.company-capabilities-grid,.inner-hero-grid,.contact-layout,.quote-layout,.meeting-layout{grid-template-columns:1fr}.company-hero figure img{height:440px}.principle-grid{grid-template-columns:repeat(2,1fr)}.quote-intro{position:static}.contact-panel,.quote-intro,.meeting-layout>aside{padding:30px}.inner-hero-grid>p{margin:0}.service-check-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:960px){.contact-card-heading{grid-template-columns:1fr;gap:18px}.contact-card-grid{grid-template-columns:1fr}.contact-card{min-height:0}.contact-card-icon{margin-bottom:24px}.contact-card-action{margin-top:22px}}
@media(max-width:580px){.company-hero,.inner-hero{padding:52px 0}.company-hero h1,.inner-hero h1{font-size:43px}.company-actions{align-items:stretch;flex-direction:column}.company-actions .btn{text-align:center}.company-hero figure img{height:310px}.company-hero figcaption{align-items:flex-start;flex-direction:column}.principle-grid,.form-grid.two,.service-check-grid{grid-template-columns:1fr}.company-capabilities li{grid-template-columns:1fr;gap:7px}.contact-main,.quote-main,.meeting-main{padding:48px 0}.contact-panel,.quote-intro,.meeting-layout>aside,.inquiry-card{padding:24px 20px}.form-grid .full{grid-column:auto}.map-section iframe{height:330px}.scheduler-card,.scheduler-card iframe{min-height:760px}}
@media(max-width:580px){.contact-card-heading{margin-bottom:28px}.contact-card{padding:25px 22px}.contact-card h2{font-size:25px}.contact-card-icon{width:52px;height:52px}.contact-card-grid{gap:14px}}
@media(max-width:580px){.contact-page .contact-simple-hero{min-height:210px;padding:44px 0}.contact-page .contact-simple-hero h1{font-size:48px}}

/* Services page */
.services-hero { overflow: hidden; padding: clamp(56px,6vw,86px) 0; background: radial-gradient(circle at 92% 8%, rgba(0,117,178,.1), transparent 30%), #f8fbfe; }
.services-hero-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(500px,1.1fr); align-items: center; gap: clamp(44px,6vw,84px); }
.services-hero .eyebrow, .service-directory .eyebrow, .services-process .eyebrow { margin-bottom: 14px; }
.services-hero h1 { max-width: 650px; margin: 0; color: var(--blue-900); font-family: "Open Sans",Arial,sans-serif; font-size: clamp(46px,4.6vw,64px); font-weight: 800; letter-spacing: -.045em; line-height: 1.04; }
.services-hero h1 span { color: var(--blue-500); }
.services-hero-lead { max-width: 590px; margin: 24px 0 28px; color: #405369; font-size: 18px; line-height: 1.65; }
.services-hero-actions { display: flex; align-items: center; gap: 24px; }
.services-hero-actions .btn { min-height: 48px; padding: 13px 21px; }
.services-capabilities { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 34px; }
.services-capabilities span { padding: 6px 10px; border: 1px solid #d6e3ed; border-radius: 999px; background: rgba(255,255,255,.75); color: #587084; font-size: 11px; font-weight: 700; }
.services-text-link, .services-card-link { display: inline-flex; align-items: center; gap: 10px; color: var(--blue-800); font-size: 14px; font-weight: 900; letter-spacing: .02em; }
.services-text-link span, .services-card-link span { color: var(--orange); font-size: 18px; transition: transform .2s ease; }
.services-text-link:hover span { transform: translateY(3px); }
.services-card-link:hover span { transform: translate(3px,-3px); }
.services-hero-image { position: relative; overflow: hidden; width: 100%; min-height: 520px; border-radius: 14px; background: var(--blue-900); box-shadow: 0 28px 70px rgba(4,45,73,.16); }
.services-hero-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(3,34,55,.3),transparent 55%); pointer-events: none; }
.services-hero-image > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.services-hero-note { position: absolute; z-index: 1; left: 28px; bottom: 28px; display: grid; gap: 3px; padding: 18px 22px; border: 1px solid rgba(255,255,255,.24); border-radius: 8px; background: rgba(6,42,67,.86); color: #fff; backdrop-filter: blur(10px); }
.services-hero-note strong { font-family: "Open Sans",Arial,sans-serif; font-size: 17px; }
.services-hero-note span { color: rgba(255,255,255,.72); font-size: 12px; letter-spacing: .04em; }
.service-directory { padding: clamp(72px,8vw,112px) 0; background: #fff; }
.directory-heading { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(300px,.6fr); align-items: end; gap: 48px; margin-bottom: 44px; }
.directory-heading h2, .process-intro h2 { margin: 0; color: var(--blue-900); font-family: "Open Sans",Arial,sans-serif; font-size: clamp(36px,4vw,54px); letter-spacing: -.04em; line-height: 1.08; }
.directory-heading > p, .process-intro > p:last-child { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.65; }
.services-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.services-card { overflow: hidden; display: flex; flex-direction: column; min-width: 0; border: 1px solid #dce7ef; border-radius: 10px; background: #fff; transition: transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.services-card:hover { transform: translateY(-5px); border-color: #c7dbe9; box-shadow: 0 20px 44px rgba(8,47,75,.11); }
.services-card-media { position: relative; overflow: hidden; display: block; aspect-ratio: 16/10; background: #dbe8f1; }
.services-card-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top,rgba(3,36,58,.36),transparent 55%); }
.services-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.services-card:hover .services-card-media img { transform: scale(1.035); }
.services-card-media > span { position: absolute; z-index: 1; top: 16px; left: 16px; display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255,255,255,.34); border-radius: 50%; background: rgba(5,43,68,.84); color: #fff; font-size: 12px; font-weight: 900; }
.services-card-body { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.services-card h3 { margin: 0 0 12px; color: var(--blue-900); font-family: "Open Sans",Arial,sans-serif; font-size: 25px; letter-spacing: -.025em; line-height: 1.18; }
.services-card h3 a:hover { color: var(--blue-500); }
.services-card p { margin: 0 0 18px; color: #526276; font-size: 15px; line-height: 1.62; }
.services-card ul { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 24px; padding: 0; list-style: none; }
.services-card li { padding: 5px 9px; border: 1px solid #dae6ef; border-radius: 999px; background: #f7fafc; color: #53677a; font-size: 11px; font-weight: 700; }
.services-card-link { margin-top: auto; }
.services-process { padding: clamp(72px,8vw,110px) 0; background: var(--blue-950); color: #fff; }
.services-process-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(500px,1.2fr); gap: clamp(60px,10vw,140px); }
.services-process .eyebrow { color: #ff8b4e; }
.services-process .eyebrow::before { background: #ff8b4e; }
.process-intro h2 { color: #fff; }
.process-intro > p:last-child { max-width: 450px; margin-top: 22px; color: rgba(255,255,255,.66); }
.process-list { margin: 0; padding: 0; list-style: none; }
.process-list li { display: grid; grid-template-columns: 44px 1fr; gap: 22px; padding: 0 0 24px; border-bottom: 1px solid rgba(255,255,255,.13); }
.process-list li + li { padding-top: 24px; }
.process-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.process-list > li > span { color: #ff8b4e; font-size: 12px; font-weight: 900; letter-spacing: .12em; }
.process-list strong { display: block; margin-bottom: 4px; font-family: "Open Sans",Arial,sans-serif; font-size: 22px; }
.process-list p { margin: 0; color: rgba(255,255,255,.62); font-size: 15px; }
.services-cta-section { background: #edf4f9; }

@media (max-width: 860px) {
    .services-hero-grid, .directory-heading, .services-process-grid { grid-template-columns: 1fr; }
    .services-hero-grid { gap: 34px; }
    .services-hero-content { max-width: 720px; }
    .directory-heading { gap: 20px; }
    .services-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .services-process-grid { gap: 46px; }
}

@media (max-width: 560px) {
    .services-hero { padding: 44px 0 40px; }
    .services-hero h1 { font-size: clamp(38px,11vw,48px); }
    .services-hero-lead, .directory-heading > p, .process-intro > p:last-child { font-size: 16px; }
    .services-hero-actions { align-items: flex-start; flex-direction: column; gap: 16px; }
    .services-capabilities { margin-top: 28px; }
    .services-hero-image { min-height: 340px; border-radius: 10px; }
    .services-hero-image > img { object-position: 58% center; }
    .services-hero-note { right: 14px; bottom: 14px; left: 14px; padding: 14px 16px; }
    .service-directory, .services-process { padding: 58px 0; }
    .directory-heading { margin-bottom: 30px; }
    .directory-heading h2, .process-intro h2 { font-size: 36px; }
    .services-grid { grid-template-columns: 1fr; gap: 16px; }
    .services-card-body { padding: 22px 20px; }
    .services-card h3 { font-size: 24px; }
    .services-process-grid { gap: 38px; }
    .process-list li { grid-template-columns: 34px 1fr; gap: 14px; }
}

/* Video production detail page */
.vp-hero { padding: clamp(56px,6vw,88px) 0; background: #e2f4ff; }
.vp-hero-grid { display: grid; grid-template-columns: minmax(0,.96fr) minmax(500px,1.04fr); align-items: center; gap: clamp(40px,5vw,66px); }
.vp-hero h1 { max-width: 610px; margin: 0; color: var(--blue-900); font-family: "Open Sans",Arial,sans-serif; font-size: clamp(46px,4.6vw,64px); letter-spacing: -.045em; line-height: 1.04; }
.vp-hero h1 .vp-h1-line { display: inline-block; color: var(--blue-900); white-space: nowrap; }
.vp-hero h1 .vp-h1-line em { color: var(--blue-500); font-style: normal; }
.vp-hero-lead { max-width: 590px; margin: 24px 0 28px; color: #405369; font-size: 18px; line-height: 1.65; }
.vp-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.vp-hero-actions .btn { min-height: 48px; padding: 13px 20px; }
.vp-hero-media { position: relative; overflow: hidden; min-height: 430px; margin: 0; border-radius: 14px; background: var(--blue-900); box-shadow: 0 28px 70px rgba(4,45,73,.16); }
.vp-hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top,rgba(4,34,54,.34),transparent 55%); }
.vp-hero-media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.vp-hero-media figcaption { position: absolute; z-index: 1; right: 22px; bottom: 22px; left: 22px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 18px; border: 1px solid rgba(255,255,255,.22); border-radius: 8px; background: rgba(5,43,68,.86); color: #fff; backdrop-filter: blur(8px); }
.vp-hero-media figcaption strong { font-family: "Open Sans",Arial,sans-serif; }
.vp-hero-media figcaption span { color: rgba(255,255,255,.7); font-size: 12px; }
.vp-value, .vp-types, .vp-process, .vp-capability, .vp-showreel { padding: clamp(72px,8vw,110px) 0; }
.vp-value { background: #fff; }
.vp-value-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(420px,1.2fr); gap: 24px 80px; }
.vp-value h2, .vp-section-heading h2, .vp-showreel h2, .vp-capability h2 { margin: 0; color: var(--blue-900); font-family: "Open Sans",Arial,sans-serif; font-size: clamp(36px,4vw,54px); letter-spacing: -.04em; line-height: 1.08; }
.vp-value-copy p { margin: 38px 0 0; color: #526579; font-size: 17px; line-height: 1.72; }
.vp-outcomes { grid-column: 1/-1; display: grid; grid-template-columns: repeat(3,1fr); margin-top: 32px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.vp-outcomes article { padding: 30px 28px; border-right: 1px solid var(--line); }
.vp-outcomes article:first-child { padding-left: 0; }
.vp-outcomes article:last-child { border-right: 0; }
.vp-outcomes span, .vp-types-grid > article > span { color: var(--orange); font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.vp-outcomes strong { display: block; margin: 12px 0 6px; color: var(--blue-900); font-family: "Open Sans",Arial,sans-serif; font-size: 21px; }
.vp-outcomes p { margin: 0; color: #607386; font-size: 14px; }
.vp-types { background: #edf4f9; }
.vp-section-heading { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(330px,.6fr); align-items: end; gap: 50px; margin-bottom: 42px; }
.vp-section-heading > p { margin: 0; color: #607386; font-size: 16px; line-height: 1.65; }
.vp-types-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; }
.vp-types-grid article { overflow: hidden; min-width: 0; border: 1px solid #cbdbe6; border-radius: 10px; background: rgba(255,255,255,.6); transition: background .2s ease,transform .2s ease,box-shadow .2s ease; }
.vp-types-grid article:hover { z-index: 1; background: #fff; transform: translateY(-3px); box-shadow: 0 18px 38px rgba(8,47,75,.1); }
.vp-type-video { overflow: hidden; width: 100%; aspect-ratio: 16/9; border: 0; border-radius: 0; background: var(--blue-950); }
.vp-type-video img { width: 100%; height: 100%; object-fit: cover; }
.vp-type-video .play-button { transform: scale(.78); }
.vp-type-copy { padding: 28px 30px 30px; }
.vp-types-grid h3 { margin: 0 0 13px; color: var(--blue-900); font-family: "Open Sans",Arial,sans-serif; font-size: 27px; letter-spacing: -.025em; line-height: 1.18; }
.vp-types-grid p { margin: 0; color: #53687b; font-size: 17px; line-height: 1.68; }
.vp-type-copy ul { display: flex; flex-wrap: wrap; gap: 7px; margin: 24px 0 0; padding: 0; list-style: none; }
.vp-type-copy li { padding: 6px 10px; border: 1px solid #d4e2ec; border-radius: 999px; background: #f7fafc; color: #53697d; font-size: 12px; font-weight: 700; }
.vp-showreel { background: var(--blue-950); color: #fff; }
.vp-showreel-grid { display: grid; grid-template-columns: minmax(390px,.9fr) minmax(0,1.1fr); align-items: center; gap: clamp(44px,6vw,78px); }
.vp-showreel h2 { color: #fff; }
.vp-showreel-copy > p:not(.eyebrow) { max-width: 540px; margin: 22px 0; color: rgba(255,255,255,.65); font-size: 17px; line-height: 1.68; }
.vp-showreel .services-text-link { color: #fff; }
.vp-video { overflow: hidden; width: min(100%,680px); aspect-ratio: 16/9; justify-self: end; border: 1px solid rgba(255,255,255,.2); border-radius: 10px; background: #061a2c; }
.vp-video img { width: 100%; height: 100%; object-fit: cover; }
.vp-process { background: #fff; }
.vp-process-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.vp-process-card { padding: 12px 12px 24px; border: 1px solid #dce7ef; border-radius: 10px; background: #fff; }
.vp-process-card > div { position: relative; overflow: hidden; aspect-ratio: 16/8.7; border-radius: 6px; }
.vp-process-card img { width: 100%; height: 100%; object-fit: cover; }
.vp-process-card > div span { position: absolute; left: 14px; bottom: 14px; display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: var(--orange); color: #fff; font-size: 11px; font-weight: 900; }
.vp-process-card h3 { margin: 22px 14px 8px; color: var(--blue-900); font-family: "Open Sans",Arial,sans-serif; font-size: 24px; }
.vp-process-card > p { margin: 0 14px; color: #607386; font-size: 15px; }
.vp-capability { background: #e2f4ff; }
.vp-capability-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(440px,1.15fr); align-items: center; gap: clamp(60px,9vw,120px); }
.vp-capability-grid > div > p:last-child { margin: 22px 0 0; color: #4f6579; font-size: 16px; line-height: 1.7; }
.vp-capability ul { margin: 0; padding: 0; border-top: 1px solid #bcd5e5; list-style: none; }
.vp-capability li { display: grid; grid-template-columns: 42px 1fr; gap: 16px; padding: 19px 0; border-bottom: 1px solid #bcd5e5; color: var(--blue-900); font-weight: 700; }
.vp-capability li span { color: var(--orange); font-size: 11px; letter-spacing: .1em; }
.vp-why-video { padding: clamp(72px,8vw,110px) 0; background: var(--blue-950); color: #fff; }
.vp-why-grid { display: grid; grid-template-columns: minmax(0,.72fr) minmax(520px,1.28fr); gap: clamp(60px,9vw,120px); }
.vp-why-copy h2, .vp-faq h2 { margin: 0; color: #fff; font-family: "Open Sans",Arial,sans-serif; font-size: clamp(36px,4vw,54px); letter-spacing: -.04em; line-height: 1.08; }
.vp-why-copy > p:not(.eyebrow) { margin: 22px 0 0; color: rgba(255,255,255,.65); font-size: 16px; line-height: 1.7; }
.vp-impact-list { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid rgba(255,255,255,.14); border-left: 1px solid rgba(255,255,255,.14); }
.vp-impact-list article { min-height: 160px; padding: 24px; border-right: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); }
.vp-impact-list strong { display: block; margin-bottom: 8px; color: #fff; font-family: "Open Sans",Arial,sans-serif; font-size: 18px; }
.vp-impact-list strong::before { content: "•"; margin-right: 9px; color: var(--orange); }
.vp-impact-list p { margin: 0; color: rgba(255,255,255,.58); font-size: 14px; line-height: 1.55; }
.vp-deep-dive { padding: clamp(72px,8vw,110px) 0; background: #fff; }
.vp-deep-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; counter-reset: deep; }
.vp-deep-grid article { padding: clamp(26px,3vw,38px); border: 1px solid #dbe6ee; border-radius: 10px; background: #f9fbfd; }
.vp-deep-grid span { color: var(--orange); font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.vp-deep-grid h3 { margin: 30px 0 14px; color: var(--blue-900); font-family: "Open Sans",Arial,sans-serif; font-size: 27px; line-height: 1.18; }
.vp-deep-grid p { margin: 0; color: #5b6f82; font-size: 15px; line-height: 1.7; }
.vp-deep-grid p + p { margin-top: 12px; }
.vp-faq { padding: clamp(72px,8vw,110px) 0; background: var(--blue-900); color: #fff; }
.vp-faq-grid { display: grid; grid-template-columns: minmax(280px,.68fr) minmax(500px,1.32fr); gap: clamp(60px,9vw,120px); }
.vp-faq-intro > p:last-child { max-width: 420px; margin: 22px 0 0; color: rgba(255,255,255,.62); }
.vp-faq-list { border-top: 1px solid rgba(255,255,255,.18); }
.vp-faq-list details { border-bottom: 1px solid rgba(255,255,255,.18); }
.vp-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 0; color: #fff; font-family: "Open Sans",Arial,sans-serif; font-size: 18px; font-weight: 700; cursor: pointer; list-style: none; }
.vp-faq-list summary::-webkit-details-marker { display: none; }
.vp-faq-list summary span { color: var(--orange); font-size: 24px; font-weight: 400; transition: transform .2s ease; }
.vp-faq-list details[open] summary span { transform: rotate(45deg); }
.vp-faq-list details p { margin: -6px 42px 22px 0; color: rgba(255,255,255,.64); font-size: 15px; line-height: 1.7; }
.vp-selected-work { padding: clamp(72px,8vw,110px) 0; background: #f4f8fb; }
.vp-client-proof { padding: 64px 0; background: #fff; }
.vp-client-proof .eyebrow { justify-content: center; margin-bottom: 28px; text-align: center; }
.vp-client-grid { display: grid; grid-template-columns: repeat(6,1fr); border-top: 1px solid #dce7ef; border-left: 1px solid #dce7ef; }
.vp-client-grid > div { display: grid; min-height: 104px; place-items: center; padding: 16px; border-right: 1px solid #dce7ef; border-bottom: 1px solid #dce7ef; }
.vp-client-grid img { max-width: 120px; max-height: 54px; object-fit: contain; filter: grayscale(1); opacity: .75; transition: filter .2s ease,opacity .2s ease; }
.vp-client-grid > div:hover img { filter: none; opacity: 1; }

@media (max-width: 860px) {
    .vp-hero-grid, .vp-value-grid, .vp-section-heading, .vp-showreel-grid, .vp-capability-grid, .vp-why-grid, .vp-faq-grid { grid-template-columns: 1fr; }
    .vp-hero-media { min-height: 410px; }
    .vp-value-copy p { margin-top: 0; }
    .vp-types-grid { grid-template-columns: repeat(2,1fr); }
    .vp-section-heading { gap: 18px; }
    .vp-why-grid, .vp-faq-grid { gap: 42px; }
    .vp-client-grid { grid-template-columns: repeat(4,1fr); }
    .vp-process-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .vp-video { justify-self: center; }
}

@media (max-width: 560px) {
    .vp-hero { padding: 42px 0 50px; }
    .vp-hero h1 { font-size: clamp(38px,11vw,48px); }
    .vp-hero-lead { font-size: 16px; }
    .vp-hero-actions { align-items: stretch; flex-direction: column; }
    .vp-hero-actions .btn { width: 100%; }
    .vp-hero-media { min-height: 310px; }
    .vp-hero-media figcaption { right: 12px; bottom: 12px; left: 12px; align-items: flex-start; flex-direction: column; gap: 2px; padding: 13px 15px; }
    .vp-value, .vp-types, .vp-process, .vp-capability, .vp-showreel { padding: 58px 0; }
    .vp-value h2, .vp-section-heading h2, .vp-showreel h2, .vp-capability h2 { font-size: 36px; }
    .vp-outcomes { grid-template-columns: 1fr; }
    .vp-outcomes article, .vp-outcomes article:first-child { padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--line); }
    .vp-outcomes article:last-child { border-bottom: 0; }
    .vp-types-grid, .vp-process-grid { grid-template-columns: 1fr; }
    .vp-type-copy { padding: 24px 21px 26px; }
    .vp-types-grid h3 { font-size: 25px; }
    .vp-types-grid p { font-size: 16px; }
    .vp-process-card h3 { font-size: 22px; }
    .vp-why-video, .vp-deep-dive, .vp-faq { padding: 58px 0; }
    .vp-why-copy h2, .vp-faq h2 { font-size: 36px; }
    .vp-impact-list, .vp-deep-grid { grid-template-columns: 1fr; }
    .vp-impact-list article { min-height: auto; padding: 22px; }
    .vp-deep-grid h3 { margin-top: 24px; font-size: 24px; }
    .vp-faq-list summary { padding: 19px 0; font-size: 16px; }
    .vp-selected-work { padding: 58px 0; }
    .vp-client-proof { padding: 48px 0; }
    .vp-client-grid { grid-template-columns: repeat(3,1fr); }
    .vp-client-grid > div { min-height: 82px; padding: 10px; }
    .vp-client-grid img { max-width: 90px; max-height: 42px; }
}

/* Equipment rental page */
.rental-hero { padding: clamp(56px,6vw,88px) 0; background: #e2f4ff; }
.rental-hero-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(500px,1.1fr); align-items: center; gap: clamp(42px,6vw,78px); }
.rental-hero h1 { margin: 0; color: var(--blue-900); font-family: "Open Sans",Arial,sans-serif; font-size: clamp(50px,5.4vw,72px); letter-spacing: -.05em; line-height: 1; }
.rental-hero h1 span { color: var(--blue-500); }
.rental-hero-copy > p:not(.eyebrow) { max-width: 590px; margin: 24px 0 28px; color: #405369; font-size: 18px; line-height: 1.65; }
.rental-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.rental-hero-actions .btn { min-height: 48px; padding: 13px 20px; }
.rental-hero-visual { position: relative; overflow: hidden; min-height: 430px; border-radius: 14px; background: var(--blue-900); box-shadow: 0 28px 70px rgba(4,45,73,.16); }
.rental-hero-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top,rgba(4,34,54,.34),transparent 55%); }
.rental-hero-visual > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rental-hero-visual > div { position: absolute; z-index: 1; right: 20px; bottom: 20px; left: 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 18px; border: 1px solid rgba(255,255,255,.2); border-radius: 8px; background: rgba(5,43,68,.86); color: #fff; }
.rental-hero-visual strong { font-family: "Open Sans",Arial,sans-serif; }
.rental-hero-visual span { color: rgba(255,255,255,.7); font-size: 12px; }
.rental-intro { padding: clamp(70px,8vw,108px) 0; background: #fff; }
.rental-intro-grid, .rental-directory-heading, .rental-guidance-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(440px,1.2fr); gap: clamp(50px,8vw,110px); }
.rental-intro h2, .rental-directory-heading h2, .rental-guidance h2 { margin: 0; color: var(--blue-900); font-family: "Open Sans",Arial,sans-serif; font-size: clamp(36px,4vw,54px); letter-spacing: -.04em; line-height: 1.08; }
.rental-intro-grid > div:last-child p { margin: 0; color: #526579; font-size: 17px; line-height: 1.72; }
.rental-intro-grid > div:last-child p + p { margin-top: 16px; }
.rental-intro a {
    color: var(--blue-900);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: var(--orange);
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}
.rental-intro a:hover,
.rental-intro a:focus-visible {
    color: var(--orange);
    text-decoration-color: currentColor;
}
.rental-inventory { padding: clamp(72px,8vw,110px) 0; background: #f3f7fa; }
.rental-directory-heading { align-items: end; margin-bottom: 32px; }
.rental-search { display: grid; gap: 8px; color: #597083; font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.rental-search input { width: 100%; min-height: 50px; padding: 0 16px; border: 1px solid #cbdbe6; border-radius: 7px; background: #fff; color: var(--ink); font: inherit; font-size: 15px; text-transform: none; outline: none; }
.rental-search input:focus { border-color: var(--blue-500); box-shadow: 0 0 0 3px rgba(0,117,178,.1); }
.rental-filters { position: sticky; z-index: 10; top: 100px; display: flex; overflow-x: auto; gap: 8px; margin: 0 0 52px; padding: 12px; border: 1px solid #d8e4ec; border-radius: 9px; background: rgba(255,255,255,.94); box-shadow: 0 8px 20px rgba(8,47,75,.07); scrollbar-width: thin; }
.rental-filters button { flex: 0 0 auto; min-height: 38px; padding: 8px 14px; border: 1px solid transparent; border-radius: 999px; background: transparent; color: #53697c; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.rental-filters button:hover, .rental-filters button.active { border-color: var(--blue-800); background: var(--blue-800); color: #fff; }
.rental-category { margin-top: 66px; }
.rental-category:first-of-type { margin-top: 0; }
.rental-category-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 22px; padding-bottom: 15px; border-bottom: 2px solid var(--blue-900); }
.rental-category-heading span { color: var(--orange); font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.rental-category-heading h2 { margin: 3px 0 0; color: var(--blue-900); font-family: "Open Sans",Arial,sans-serif; font-size: 34px; }
.rental-category-heading > a { color: #63788a; font-size: 12px; font-weight: 700; }
.rental-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.rental-card { overflow: hidden; display: flex; flex-direction: column; min-width: 0; border: 1px solid #d9e5ed; border-radius: 10px; background: #fff; transition: transform .2s ease,box-shadow .2s ease; }
.rental-card[hidden], .rental-category[hidden], .rental-empty[hidden] { display: none !important; }
.rental-card:hover { transform: translateY(-4px); box-shadow: 0 18px 38px rgba(8,47,75,.1); }
.rental-card-image { position: relative; overflow: hidden; aspect-ratio: 16/10; background: #e7eef3; }
.rental-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.rental-card:hover .rental-card-image img { transform: scale(1.03); }
.rental-card-image span { position: absolute; top: 13px; left: 13px; padding: 5px 9px; border-radius: 999px; background: rgba(5,43,68,.88); color: #fff; font-size: 10px; font-weight: 800; }
.rental-card-body { display: flex; flex: 1; flex-direction: column; padding: 23px; }
.rental-card h3 { margin: 0 0 11px; color: var(--blue-900); font-family: "Open Sans",Arial,sans-serif; font-size: 22px; line-height: 1.22; }
.rental-card-body > p { display: -webkit-box; overflow: hidden; margin: 0 0 20px; color: #5b6e81; font-size: 14px; line-height: 1.62; -webkit-box-orient: vertical; -webkit-line-clamp: 5; }
.rental-card dl { display: grid; gap: 10px; margin: auto 0 20px; padding: 15px 0; border-top: 1px solid #e3ebf1; border-bottom: 1px solid #e3ebf1; }
.rental-card dl div { display: grid; grid-template-columns: 82px 1fr; gap: 12px; }
.rental-card dt { color: #768899; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.rental-card dd { margin: 0; color: var(--blue-900); font-size: 13px; font-weight: 800; }
.rental-book-link { display: inline-flex; align-items: center; justify-content: center; align-self: flex-start; gap: 11px; min-height: 40px; padding: 10px 20px; border: 1px solid rgba(6,20,65,.24); border-radius: 10px; background: rgba(255,255,255,.12); color: #2c3770; font: inherit; font-size: 13px; font-weight: 900; text-align: center; cursor: pointer; transition: transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease; }
.rental-book-link:hover { transform: translateY(-1px); box-shadow: 0 12px 28px rgba(8,35,58,.12); }
.rental-book-link span { color: var(--orange); font-size: 17px; line-height: 1; }
.rental-book-link.is-added { border-color: rgba(29,126,75,.32); background: rgba(29,126,75,.08); color: var(--green); }
.rental-book-link.is-added span { color: var(--green); }
.rental-booking-tray { position: fixed; z-index: 80; right: 22px; bottom: 22px; display: grid; grid-template-columns: auto auto auto; align-items: center; gap: 24px; min-width: 580px; padding: 15px 16px 15px 20px; border: 1px solid rgba(255,255,255,.14); border-radius: 10px; background: var(--blue-950); color: #fff; box-shadow: 0 18px 50px rgba(0,0,0,.24); }
.rental-booking-tray[hidden] { display: none; }
.rental-booking-tray > div { display: grid; }
.rental-booking-tray > div > span { color: rgba(255,255,255,.58); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.rental-booking-tray strong { font-size: 15px; }
.rental-booking-tray .btn { white-space: nowrap; }
.rental-empty { padding: 50px; border: 1px dashed #b9cbd8; border-radius: 8px; background: #fff; color: #607386; text-align: center; }
.rental-guidance { padding: clamp(72px,8vw,105px) 0; background: var(--blue-950); color: #fff; }
.rental-guidance h2 { color: #fff; }
.rental-guidance-list { border-top: 1px solid rgba(255,255,255,.15); }
.rental-guidance-list article { padding: 22px 0; border-bottom: 1px solid rgba(255,255,255,.15); }
.rental-guidance-list strong { color: #fff; font-family: "Open Sans",Arial,sans-serif; font-size: 19px; }
.rental-guidance-list p { margin: 5px 0 0; color: rgba(255,255,255,.62); font-size: 14px; }

@media (max-width: 1040px) {
    .rental-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 860px) {
    .rental-hero-grid, .rental-intro-grid, .rental-directory-heading, .rental-guidance-grid { grid-template-columns: 1fr; }
    .rental-hero-visual { min-height: 410px; }
    .rental-directory-heading { gap: 24px; }
    .rental-filters { top: 74px; }
}
@media (max-width: 560px) {
    .rental-hero { padding: 44px 0 50px; }
    .rental-hero h1 { font-size: 48px; }
    .rental-hero-copy > p:not(.eyebrow) { font-size: 16px; }
    .rental-hero-actions { align-items: stretch; flex-direction: column; }
    .rental-hero-actions .btn { width: 100%; }
    .rental-hero-visual { min-height: 310px; }
    .rental-hero-visual > div { right: 12px; bottom: 12px; left: 12px; align-items: flex-start; flex-direction: column; gap: 2px; padding: 13px 15px; }
    .rental-intro, .rental-inventory, .rental-guidance { padding: 58px 0; }
    .rental-intro h2, .rental-directory-heading h2, .rental-guidance h2 { font-size: 36px; }
    .rental-intro-grid { gap: 24px; }
    .rental-filters { margin-right: -11px; margin-bottom: 38px; margin-left: -11px; border-right: 0; border-left: 0; border-radius: 0; }
    .rental-grid { grid-template-columns: 1fr; }
    .rental-category { margin-top: 52px; }
    .rental-category-heading h2 { font-size: 29px; }
    .rental-card-body { padding: 21px 19px; }
    .rental-booking-tray { right: 10px; bottom: 10px; left: 10px; grid-template-columns: 1fr 1fr; gap: 10px 16px; min-width: 0; padding: 13px; }
    .rental-booking-tray .btn { grid-column: 1/-1; width: 100%; }
}

.rental-checkout-hero { padding: 72px 0; background: #e2f4ff; text-align: center; }
.rental-checkout-hero h1 { margin: 0; color: var(--blue-900); font-family: "Open Sans",Arial,sans-serif; font-size: clamp(42px,5vw,64px); letter-spacing: -.045em; line-height: 1.05; }
.rental-checkout-hero > .container > p:last-child { max-width: 720px; margin: 20px auto 0; color: #52677a; font-size: 17px; }
.rental-checkout-section { padding: 70px 0 100px; background: #f3f7fa; }
.rental-checkout-layout { display: grid; grid-template-columns: minmax(0,1fr) 350px; align-items: start; gap: 24px; }
.rental-form-card, .rental-order-summary, .rental-checkout-empty { padding: 30px; border: 1px solid #d9e5ed; border-radius: 10px; background: #fff; }
.rental-form-card + .rental-form-card { margin-top: 20px; }
.rental-form-heading { display: grid; grid-template-columns: 38px 1fr; gap: 15px; margin-bottom: 26px; }
.rental-form-heading > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: var(--blue-900); color: #fff; font-size: 10px; font-weight: 900; }
.rental-form-heading h2, .rental-order-summary h2, .rental-checkout-empty h2 { margin: 0; color: var(--blue-900); font-family: "Open Sans",Arial,sans-serif; font-size: 25px; }
.rental-form-heading p { margin: 4px 0 0; color: #6a7d8e; font-size: 13px; }
.rental-checkout-items { display: grid; gap: 12px; }
.rental-checkout-items article { display: grid; grid-template-columns: 88px minmax(0,1fr) 62px 30px; align-items: center; gap: 14px; padding: 10px; border: 1px solid #e0e9f0; border-radius: 8px; }
.rental-checkout-items img { width: 88px; height: 66px; border-radius: 5px; object-fit: cover; }
.rental-checkout-items article > div { display: grid; }
.rental-checkout-items strong { color: var(--blue-900); font-size: 15px; }
.rental-checkout-items article > div span { color: #718393; font-size: 12px; }
.rental-checkout-items label { color: #718393; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.rental-checkout-items input { width: 58px; min-height: 36px; margin-top: 3px; padding: 4px 8px; border: 1px solid #cad9e4; border-radius: 5px; }
.rental-checkout-items button { border: 0; background: transparent; color: #a45050; font-size: 24px; cursor: pointer; }
.rental-fields { display: grid; gap: 18px; }
.rental-fields[hidden] { display: none; }
.rental-fields.two { grid-template-columns: repeat(2,1fr); }
.rental-fields .full { grid-column: 1/-1; }
.rental-fields label { display: grid; gap: 7px; color: #52677a; font-size: 12px; font-weight: 800; }
.rental-fields input, .rental-fields textarea { width: 100%; padding: 12px 13px; border: 1px solid #cad9e4; border-radius: 6px; background: #fff; color: var(--ink); font: inherit; font-size: 15px; outline: none; }
.rental-fields input:focus, .rental-fields textarea:focus { border-color: var(--blue-500); box-shadow: 0 0 0 3px rgba(0,117,178,.09); }
.rental-order-summary { position: sticky; top: 124px; }
.rental-order-summary > div { display: flex; justify-content: space-between; gap: 16px; padding: 15px 0; border-bottom: 1px solid #e1e9ef; color: #627588; font-size: 13px; }
.rental-order-summary > div strong { color: var(--blue-900); text-align: right; }
.rental-order-summary > div.total { margin-top: 4px; border-bottom: 0; font-size: 16px; }
.rental-order-summary > div.total strong { font-size: 21px; }
.rental-summary-note { margin: 8px 0 20px; color: #718393; font-size: 12px; line-height: 1.55; }
.rental-order-summary .btn { width: 100%; }
.rental-order-summary > a:last-child { display: block; margin-top: 16px; color: #607487; font-size: 12px; font-weight: 700; text-align: center; }
.rental-checkout-empty { max-width: 650px; margin: 0 auto; text-align: center; }
.rental-checkout-empty p { color: #66798b; }
.rental-confirmation { min-height: 70vh; padding: 90px 0; background: #e2f4ff; }
.rental-confirmation-card { max-width: 720px; margin: 0 auto; padding: clamp(32px,5vw,58px); border-radius: 14px; background: #fff; text-align: center; box-shadow: 0 24px 60px rgba(5,43,68,.12); }
.rental-confirmation-icon { display: grid; width: 58px; height: 58px; margin: 0 auto 20px; place-items: center; border-radius: 50%; background: var(--green); color: #fff; font-size: 26px; }
.rental-confirmation h1 { margin: 0; color: var(--blue-900); font-family: "Open Sans",Arial,sans-serif; font-size: clamp(36px,4vw,52px); }
.rental-confirmation-card > p:not(.eyebrow) { color: #607487; font-size: 16px; }
.rental-reference { display: grid; gap: 3px; margin: 24px 0; padding: 16px; border: 1px dashed #b8cbd8; border-radius: 7px; background: #f7fafc; }
.rental-reference span { color: #738596; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.rental-reference strong { color: var(--blue-900); font-size: 20px; letter-spacing: .06em; }
.rental-confirmation-card > div:last-child { display: flex; justify-content: center; gap: 10px; }

@media (max-width: 860px) { .rental-checkout-layout { grid-template-columns: 1fr; } .rental-order-summary { position: static; } }
@media (max-width: 560px) {
    .rental-checkout-hero { padding: 52px 0; }
    .rental-checkout-section { padding: 44px 0 70px; }
    .rental-form-card, .rental-order-summary { padding: 21px 18px; }
    .rental-fields.two { grid-template-columns: 1fr; }
    .rental-fields .full { grid-column: auto; }
    .rental-checkout-items article { grid-template-columns: 68px minmax(0,1fr) 48px 24px; gap: 9px; }
    .rental-checkout-items img { width: 68px; height: 58px; }
    .rental-checkout-items strong { font-size: 13px; }
    .rental-checkout-items article > div span { font-size: 10px; }
    .rental-checkout-items input { width: 46px; }
    .rental-confirmation-card > div:last-child { flex-direction: column; }
}

@media (max-width: 580px) {
    .company-page .company-hero h1,
    .contact-page .inner-hero h1,
    .quote-page .inner-hero h1,
    .meeting-page .inner-hero h1 { font-size: 43px; line-height: 1.04; }
}

/* Long-form service detail pages */
.sd-hero{padding:clamp(58px,7vw,94px) 0;background:#d8eef9}.sd-hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(440px,1.08fr);align-items:center;gap:clamp(38px,6vw,78px)}.sd-hero h1{margin:15px 0 25px;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:clamp(46px,5.4vw,72px);letter-spacing:-.055em;line-height:1.01}.sd-hero h1 span{color:var(--blue-500)}.sd-lead{max-width:640px;margin:0;color:#4b6276;font-size:19px;line-height:1.65}.sd-actions{display:flex;gap:11px;margin-top:29px}.sd-hero figure{position:relative;margin:0}.sd-hero figure img{display:block;width:100%;height:470px;border-radius:12px;object-fit:cover}.sd-hero figcaption{position:absolute;right:14px;bottom:14px;left:14px;display:flex;justify-content:space-between;padding:16px 18px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:rgba(5,43,68,.9);color:#fff}.sd-hero figcaption span{color:rgba(255,255,255,.65)}
.sd-intro,.sd-services,.sd-reasons,.sd-process,.sd-faq{padding:clamp(72px,8vw,110px) 0}.sd-intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(50px,8vw,120px)}.sd-intro h2,.sd-heading h2,.sd-types h2,.sd-faq h2{margin:12px 0 0;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:clamp(36px,4.3vw,56px);letter-spacing:-.045em;line-height:1.08}.sd-intro-grid>div:last-child p{margin:0 0 22px;color:#40586d;font-size:18px;line-height:1.75}.sd-services{background:#f2f6f9}.sd-heading{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:60px;margin-bottom:46px}.sd-heading>p{margin:0 0 6px;color:#5b7185;font-size:17px;line-height:1.65}.sd-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.sd-service-grid article{display:flex;flex-direction:column;padding:30px;border:1px solid #d7e3eb;border-radius:10px;background:#fff}.sd-service-grid article>span{color:var(--orange);font-size:11px;font-weight:900}.sd-service-grid h3,.sd-reason-grid h3,.sd-process h3{margin:25px 0 13px;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:22px;line-height:1.2}.sd-service-grid p,.sd-reason-grid p{margin:0 0 13px;color:#5c7082;font-size:14px;line-height:1.68}.sd-service-grid small,.sd-reason-grid small{display:block;margin-top:auto;padding-top:14px;border-top:1px solid #e2e9ee;color:#788a99;font-size:11px;line-height:1.5}.sd-types{padding:70px 0;background:var(--blue-950);color:#fff;text-align:center}.sd-types h2{margin:10px auto 35px;color:#fff}.sd-types>div>div{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.sd-types span{padding:11px 15px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.06);color:#fff;font-size:13px;font-weight:700}
.sd-reasons{background:#fff}.sd-reason-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #dce5eb;border-left:1px solid #dce5eb}.sd-reason-grid article{min-height:240px;padding:30px;border-right:1px solid #dce5eb;border-bottom:1px solid #dce5eb}.sd-reason-grid h3{margin-top:0;font-size:21px}.sd-process{background:#d8eef9}.sd-process ol{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:0;border-top:1px solid #aac9da;list-style:none}.sd-process li{display:grid;grid-template-columns:35px 1fr;gap:10px;padding:25px 20px 0 0}.sd-process li+li{padding-left:20px;border-left:1px solid #aac9da}.sd-process li>span{color:var(--orange);font-size:11px;font-weight:900}.sd-process h3{margin:0 0 9px}.sd-process li p{margin:0;color:#526a7e;font-size:14px;line-height:1.6}.sd-faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(50px,8vw,110px)}.sd-faq-grid>div:first-child>p:last-child{color:#637789;line-height:1.65}.sd-faq details{border-top:1px solid #dce5eb}.sd-faq details:last-child{border-bottom:1px solid #dce5eb}.sd-faq summary{position:relative;padding:21px 38px 21px 0;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:18px;font-weight:800;cursor:pointer}.sd-faq summary:after{position:absolute;right:3px;color:var(--orange);content:"+"}.sd-faq details[open] summary:after{content:"−"}.sd-faq details p{margin:0;padding:0 40px 22px 0;color:#5d7183;line-height:1.7}
@media(max-width:980px){.sd-hero-grid,.sd-intro-grid,.sd-heading,.sd-faq-grid{grid-template-columns:1fr}.sd-hero figure img{height:430px}.sd-heading{gap:20px}.sd-service-grid,.sd-reason-grid{grid-template-columns:repeat(2,1fr)}.sd-process ol{grid-template-columns:repeat(2,1fr)}.sd-process li:nth-child(3){margin-top:26px;padding-left:0;border-left:0}.sd-process li:nth-child(4){margin-top:26px}}
@media(max-width:580px){.sd-hero{padding:48px 0 55px}.sd-hero h1{font-size:43px}.sd-lead{font-size:16px}.sd-actions{align-items:stretch;flex-direction:column}.sd-actions .btn{text-align:center}.sd-hero figure img{height:300px}.sd-hero figcaption{align-items:flex-start;flex-direction:column;gap:3px}.sd-intro,.sd-services,.sd-reasons,.sd-process,.sd-faq{padding:58px 0}.sd-service-grid,.sd-reason-grid,.sd-process ol{grid-template-columns:1fr}.sd-service-grid article,.sd-reason-grid article{padding:24px 21px}.sd-reason-grid article{min-height:0}.sd-process li,.sd-process li+li,.sd-process li:nth-child(3),.sd-process li:nth-child(4){margin-top:0;padding:22px 0;border-top:1px solid #aac9da;border-left:0}.sd-types{padding:55px 0}.sd-types span{font-size:12px}}

/* Portfolio, case studies, gallery and testimonials */
.proof-hero{padding:clamp(65px,8vw,108px) 0;background:#d8eef9}.proof-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:70px}.proof-hero h1,.case-detail-hero h1{margin:13px 0 0;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:clamp(48px,6vw,78px);letter-spacing:-.055em;line-height:1.01}.proof-hero h1 span{color:var(--blue-500)}.proof-hero-grid>p{margin:0 0 8px;color:#4e667a;font-size:18px;line-height:1.7}.portfolio-main,.cases-main,.gallery-main,.testimonials-main{padding:clamp(65px,8vw,105px) 0;background:#f3f7fa}.proof-filter{display:flex;overflow:auto;gap:8px;margin-bottom:40px;padding-bottom:6px}.proof-filter button{flex:none;padding:9px 13px;border:1px solid #cbdbe6;border-radius:999px;background:#fff;color:#4e6679;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.proof-filter button.active{border-color:var(--blue-900);background:var(--blue-900);color:#fff}.portfolio-grid,.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.portfolio-grid article,.testimonial-grid article{overflow:hidden;border:1px solid #d7e3eb;border-radius:10px;background:#fff}.portfolio-grid article[hidden]{display:none}.proof-video{position:relative;display:block;overflow:hidden;width:100%;padding:0;border:0;aspect-ratio:16/9;background:#0a1e2e;cursor:pointer}.proof-video img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.proof-video:hover img{transform:scale(1.03)}.proof-video>span{position:absolute;top:50%;left:50%;display:grid;width:58px;height:58px;place-items:center;border-radius:50%;background:var(--orange);color:#fff;font-size:21px;transform:translate(-50%,-50%)}.portfolio-grid iframe,.testimonial-grid iframe,.case-film iframe{display:block;width:100%;border:0;aspect-ratio:16/9}.portfolio-grid article>div,.testimonial-grid article>div{padding:19px 21px}.portfolio-grid p,.testimonial-grid p,.case-grid article>div>p:first-child{margin:0 0 6px;color:var(--orange);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.portfolio-grid h2,.testimonial-grid h2{margin:0;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:20px}.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.case-grid article{overflow:hidden;border:1px solid #d7e3eb;border-radius:12px;background:#fff}.case-image{position:relative;display:block;overflow:hidden;aspect-ratio:16/9}.case-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.case-image span{position:absolute;right:14px;bottom:14px;padding:9px 12px;border-radius:6px;background:rgba(5,43,68,.9);color:#fff;font-size:12px;font-weight:800}.case-image:hover img{transform:scale(1.03)}.case-grid article>div{padding:27px}.case-grid h2{margin:0 0 13px;font-family:"Open Sans",Arial,sans-serif;font-size:26px;line-height:1.2}.case-grid h2 a{color:var(--blue-900)}.case-grid strong{color:#617689;font-size:12px}.case-grid article>div>p:last-child{color:#5d7183;line-height:1.65}
.case-detail-hero{padding:65px 0 80px;background:#d8eef9}.case-detail-hero a{display:inline-block;margin-bottom:45px;color:#5d7285;font-size:12px;font-weight:800}.case-detail-hero h1{max-width:900px}.case-detail-hero>div>div{display:grid;gap:3px;margin-top:35px}.case-detail-hero span{color:#708394;font-size:10px;font-weight:800;text-transform:uppercase}.case-detail-hero strong{color:var(--blue-900);font-size:18px}.case-detail-media{padding:0 0 80px;background:#d8eef9}.case-detail-media img{display:block;width:100%;height:600px;border-radius:12px;object-fit:cover}.case-detail-copy{padding:90px 0}.case-detail-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.case-detail-grid h2{margin:12px 0;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:35px;line-height:1.24}.case-detail-grid h3{margin:0 0 13px;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:23px}.case-detail-grid h3:not(:first-child){margin-top:35px}.case-detail-grid p,.case-detail-grid li{color:#536a7e;line-height:1.7}.case-detail-grid ol,.case-detail-grid ul{padding-left:20px}.case-film{padding:85px 0;background:#f2f6f9}.proof-video.wide{max-width:980px;margin:0 auto;border-radius:12px}.case-film iframe{max-width:980px;margin:0 auto;border-radius:12px}.gallery-grid{columns:3;column-gap:14px}.gallery-grid button{display:block;overflow:hidden;width:100%;margin:0 0 14px;padding:0;border:0;border-radius:9px;background:#dbe5eb;cursor:zoom-in;break-inside:avoid}.gallery-grid img{display:block;width:100%;height:auto;transition:transform .3s ease}.gallery-grid button:hover img{transform:scale(1.025)}.gallery-dialog{position:fixed;max-width:min(1000px,92vw);padding:0;border:0;border-radius:10px;background:#061b2a;color:#fff}.gallery-dialog::backdrop{background:rgba(0,0,0,.88)}.gallery-dialog img{display:block;max-width:88vw;max-height:78vh}.gallery-dialog button{position:absolute;z-index:2;border:0;background:rgba(5,43,68,.85);color:#fff;cursor:pointer}.gallery-dialog [data-gallery-close]{top:10px;right:10px;width:40px;height:40px;border-radius:50%;font-size:25px}.gallery-dialog [data-gallery-prev],.gallery-dialog [data-gallery-next]{top:50%;width:42px;height:58px;font-size:34px;transform:translateY(-50%)}.gallery-dialog [data-gallery-prev]{left:10px}.gallery-dialog [data-gallery-next]{right:10px}.gallery-dialog p{margin:0;padding:13px 18px;font-size:13px}.testimonial-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.proof-hero-grid,.case-detail-grid{grid-template-columns:1fr;gap:28px}.portfolio-grid,.testimonial-grid{grid-template-columns:repeat(2,1fr)}.case-detail-media img{height:460px}.gallery-grid{columns:2}}
@media(max-width:560px){.proof-hero{padding:52px 0}.proof-hero h1,.case-detail-hero h1{font-size:43px}.proof-hero-grid>p{font-size:16px}.portfolio-main,.cases-main,.gallery-main,.testimonials-main{padding:50px 0}.portfolio-grid,.testimonial-grid,.case-grid{grid-template-columns:1fr}.case-grid article>div{padding:22px 19px}.case-detail-hero{padding:45px 0 55px}.case-detail-hero a{margin-bottom:30px}.case-detail-media{padding-bottom:50px}.case-detail-media img{height:280px}.case-detail-copy,.case-film{padding:58px 0}.case-detail-grid{gap:35px}.case-detail-grid h2{font-size:29px}.gallery-grid{columns:2;column-gap:8px}.gallery-grid button{margin-bottom:8px}.proof-video>span{width:50px;height:50px}}

/* Praxis Academy and course pages */
.academy-index,.academy-promise,.academy-outcomes,.academy-depth,.academy-curriculum,.academy-projects,.academy-fit,.academy-faq{padding:clamp(70px,8vw,108px) 0}.academy-index,.academy-curriculum,.academy-faq{background:#f2f6f9}.academy-heading{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:70px;margin-bottom:46px}.academy-heading h2,.academy-promise h2,.academy-section-grid h2,.academy-fit h2{margin:11px 0 0;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:clamp(36px,4.3vw,55px);letter-spacing:-.045em;line-height:1.08}.academy-heading>p{margin:0;color:#5d7183;font-size:17px;line-height:1.65}.academy-course-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.academy-course-grid article{display:grid;grid-template-columns:220px 1fr;overflow:hidden;border:1px solid #d7e3eb;border-radius:11px;background:#fff}.academy-course-grid article>a{display:block;min-height:100%}.academy-course-grid img{display:block;width:100%;height:100%;object-fit:cover}.academy-course-grid article>div{padding:25px}.academy-course-grid article>div>p:first-child{margin:0 0 8px;color:var(--orange);font-size:10px;font-weight:900;text-transform:uppercase}.academy-course-grid h2{margin:0 0 12px;font-family:"Open Sans",Arial,sans-serif;font-size:23px;line-height:1.18}.academy-course-grid h2 a{color:var(--blue-900)}.academy-course-grid article>div>p:nth-of-type(2){color:#617487;font-size:14px;line-height:1.6}.academy-course-grid article>div>a{color:var(--blue-800);font-size:13px;font-weight:900}
.academy-hero{padding:clamp(55px,7vw,92px) 0;background:#d8eef9}.academy-hero-grid{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:clamp(40px,6vw,80px)}.academy-hero h1{margin:14px 0 22px;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:clamp(46px,5.4vw,70px);letter-spacing:-.055em;line-height:1.01}.academy-hero-grid>div>p:not(.eyebrow){color:#4d6579;font-size:18px;line-height:1.68}.academy-hero-grid>div>div{display:flex;gap:11px;margin-top:28px}.academy-hero figure{position:relative;margin:0}.academy-hero figure img{display:block;width:100%;height:450px;border-radius:12px;object-fit:cover}.academy-hero figcaption{position:absolute;right:14px;bottom:14px;left:14px;display:flex;justify-content:space-between;padding:15px 17px;border-radius:8px;background:rgba(5,43,68,.9);color:#fff}.academy-hero figcaption span{color:rgba(255,255,255,.65)}.academy-promise-grid,.academy-section-grid,.academy-fit-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,8vw,110px)}.academy-promise dl{margin:0;border-top:1px solid #dae4ea}.academy-promise dl>div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:19px 0;border-bottom:1px solid #dae4ea}.academy-promise dt{color:#748797;font-size:11px;font-weight:800;text-transform:uppercase}.academy-promise dd{margin:0;color:var(--blue-900);font-weight:800}.academy-outcomes{background:var(--blue-950);color:#fff}.academy-outcomes h2{color:#fff}.academy-section-grid>div>p:not(.eyebrow){color:#627789;line-height:1.65}.academy-outcomes .academy-section-grid>div>p:not(.eyebrow){color:rgba(255,255,255,.62)}.academy-outcomes ul,.academy-fit ul{margin:0;padding:0;list-style:none}.academy-outcomes li,.academy-fit li{position:relative;padding:16px 0 16px 28px;border-top:1px solid rgba(255,255,255,.15);line-height:1.55}.academy-outcomes li:before,.academy-fit li:before{position:absolute;left:0;color:var(--orange);content:"✓"}.academy-module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.academy-module-grid article{overflow:hidden;border:1px solid #d7e3eb;border-radius:10px;background:#fff}.academy-module-image{display:block;width:100%;height:175px;object-fit:cover}.academy-module-body{padding:25px 28px 28px}.academy-module-grid article>span{color:var(--orange);font-size:11px;font-weight:900}.academy-module-grid h3{margin:23px 0 16px;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:21px}.academy-module-grid ul{margin:0;padding-left:18px}.academy-module-grid li{margin:0 0 9px;color:#5d7183;font-size:13px;line-height:1.55}.academy-projects{background:#d8eef9}.academy-projects ol{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0;padding:0;list-style:none}.academy-projects li{display:grid;grid-template-columns:32px 1fr;gap:10px;padding:18px;border:1px solid #bcd4e1;border-radius:8px;background:rgba(255,255,255,.5);color:var(--blue-900);font-weight:800}.academy-projects li span{color:var(--orange);font-size:10px}.academy-fit li{border-color:#dbe4ea;color:#51687b}.academy-faq details{border-top:1px solid #d6e1e8}.academy-faq details:last-child{border-bottom:1px solid #d6e1e8}.academy-faq summary{padding:20px 35px 20px 0;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:17px;font-weight:800;cursor:pointer}.academy-faq details p{padding:0 30px 20px 0;color:#5d7183;line-height:1.65}
.academy-stats{padding:0;background:#d8eef9}.academy-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(13,53,87,.1)}.academy-stat{display:flex;flex-direction:column;gap:6px;padding:26px 22px;background:#d8eef9}.academy-stat strong{color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:clamp(20px,2.4vw,26px);letter-spacing:-.02em}.academy-stat span{color:#4d6579;font-size:12.5px;line-height:1.4}.academy-gallery{padding:clamp(70px,8vw,108px) 0;background:#fff}.academy-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:10px}.academy-gallery-grid img{display:block;width:100%;height:190px;border-radius:10px;object-fit:cover}
.body-link{color:var(--blue-800);font-weight:800;text-decoration:underline;text-underline-offset:2px}.body-link:hover{color:var(--orange)}
@media(max-width:980px){.academy-heading,.academy-hero-grid,.academy-promise-grid,.academy-section-grid,.academy-fit-grid{grid-template-columns:1fr}.academy-course-grid{grid-template-columns:1fr}.academy-module-grid{grid-template-columns:repeat(2,1fr)}.academy-heading{gap:20px}.academy-hero figure img{height:400px}.academy-stats-grid{grid-template-columns:repeat(2,1fr)}.academy-gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.academy-index,.academy-promise,.academy-outcomes,.academy-depth,.academy-curriculum,.academy-projects,.academy-fit,.academy-faq,.academy-gallery{padding:55px 0}.academy-course-grid article{grid-template-columns:1fr}.academy-course-grid article>a{height:210px}.academy-course-grid article>div{padding:22px 19px}.academy-hero{padding:48px 0 55px}.academy-hero h1{font-size:43px}.academy-hero-grid>div>div{align-items:stretch;flex-direction:column}.academy-hero-grid .btn{text-align:center}.academy-hero figure img{height:300px}.academy-hero figcaption{align-items:flex-start;flex-direction:column}.academy-module-grid,.academy-projects ol{grid-template-columns:1fr}.academy-module-body{padding:22px 20px 24px}.academy-promise dl>div{grid-template-columns:1fr;gap:5px}.academy-stats-grid{grid-template-columns:1fr}.academy-gallery-grid{grid-template-columns:1fr}.academy-gallery-grid img{height:220px}}

/* Commercial, studio and rate-card pages */
.commercial-hero{padding:clamp(58px,7vw,94px) 0;background:#d8eef9}.commercial-hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(42px,6vw,82px)}.commercial-hero h1{margin:14px 0 23px;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:clamp(46px,5.3vw,70px);letter-spacing:-.055em;line-height:1.01}.commercial-hero-grid>div>p:not(.eyebrow){color:#4d6579;font-size:18px;line-height:1.68}.commercial-hero-grid>img{display:block;width:100%;height:440px;border-radius:12px;object-fit:cover}.rate-intro-new{padding:38px 0;border-bottom:1px solid #dce5eb;background:#fff}.rate-intro-new .container{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px}.rate-intro-new p{margin:0;color:#425b70;font-size:17px;line-height:1.6}.rate-intro-new small{max-width:350px;color:#728697;line-height:1.5}.rate-packages{padding:80px 0;background:#f2f6f9}.rate-package-grid{display:grid;grid-template-columns:repeat(3,1fr);align-items:start;gap:17px}.rate-package-grid article{overflow:hidden;border:1px solid #d4e1e9;border-radius:11px;background:#fff}.rate-package-grid article.featured{border-color:var(--blue-500);box-shadow:0 20px 50px rgba(5,43,68,.1)}.rate-package-grid article.premium{border-color:#d7a538}.rate-package-grid header{padding:27px;background:var(--blue-900);color:#fff}.rate-package-grid .featured header{background:var(--blue-500)}.rate-package-grid .premium header{background:#755416}.rate-package-grid header p{margin:0 0 8px;color:rgba(255,255,255,.65);font-size:10px;font-weight:900;text-transform:uppercase}.rate-package-grid h2{margin:0 0 22px;color:#fff;font-family:"Open Sans",Arial,sans-serif;font-size:24px}.rate-package-grid header strong{display:block;font-size:29px}.rate-package-grid header span{color:rgba(255,255,255,.6);font-size:10px}.rate-package-grid article>div{padding:27px}.rate-package-grid article>div>p{min-height:70px;color:#5e7284;font-size:14px;line-height:1.6}.rate-package-grid h3{margin:26px 0 12px;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:16px}.rate-package-grid ul{margin:0;padding:0;list-style:none}.rate-package-grid li{position:relative;padding:8px 0 8px 20px;border-top:1px solid #e6ecef;color:#5b7082;font-size:12px;line-height:1.45}.rate-package-grid li:before{position:absolute;left:0;color:var(--orange);content:"✓"}.rate-package-grid .btn{width:100%;margin-top:25px}.rate-notes,.studio-uses,.virtual-services,.studio-plan{padding:clamp(70px,8vw,105px) 0}.rate-notes .academy-section-grid>div:last-child p{color:#52697d;font-size:17px;line-height:1.7}.rate-index{padding:80px 0 100px;background:#f2f6f9}.rate-index-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.rate-index-grid article{display:grid;grid-template-columns:210px 1fr;overflow:hidden;border:1px solid #d7e3eb;border-radius:11px;background:#fff}.rate-index-grid img{width:100%;height:100%;object-fit:cover}.rate-index-grid article>div{padding:26px}.rate-index-grid article>div>p:first-child{margin:0 0 7px;color:var(--orange);font-size:10px;font-weight:900;text-transform:uppercase}.rate-index-grid h2{margin:0;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:24px}.rate-index-grid article>div>p:nth-of-type(2){color:#607487;font-size:13px;line-height:1.6}.rate-index-grid a{color:var(--blue-800);font-size:13px;font-weight:900}.rate-custom{margin-top:25px;padding:35px;border-radius:10px;background:var(--blue-950);color:#fff}.rate-custom h2{margin:0 0 8px;color:#fff;font-family:"Open Sans",Arial,sans-serif}.rate-custom p{color:rgba(255,255,255,.65)}.studio-use-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.studio-use-grid article{padding:28px;border:1px solid #d7e3eb;border-radius:10px;background:#fff}.studio-use-grid h3{margin:0 0 11px;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:20px}.studio-use-grid p{margin:0;color:#617487;font-size:14px;line-height:1.62}.virtual-services{background:#f2f6f9}.studio-plan{background:var(--blue-950);color:#fff}.studio-plan h2{color:#fff}.studio-plan ul{margin:0;padding:0;list-style:none}.studio-plan li{position:relative;padding:15px 0 15px 26px;border-top:1px solid rgba(255,255,255,.14)}.studio-plan li:before{position:absolute;left:0;color:var(--orange);content:"✓"}
@media(max-width:980px){.commercial-hero-grid,.rate-intro-new .container{grid-template-columns:1fr}.rate-package-grid{grid-template-columns:1fr}.rate-package-grid article>div>p{min-height:0}.rate-index-grid{grid-template-columns:1fr}.studio-use-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.commercial-hero{padding:48px 0 55px}.commercial-hero h1{font-size:43px}.commercial-hero-grid>img{height:300px}.rate-packages,.rate-index{padding:55px 0}.rate-package-grid header,.rate-package-grid article>div{padding:23px 20px}.rate-index-grid article{grid-template-columns:1fr}.rate-index-grid img{height:210px}.rate-custom{padding:25px 20px}.studio-uses,.virtual-services,.studio-plan,.rate-notes{padding:55px 0}.studio-use-grid{grid-template-columns:1fr}}

/* Legal and utility pages */
.legal-hero{padding:clamp(65px,8vw,105px) 0;background:#d8eef9}.legal-hero h1{margin:12px 0 18px;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:clamp(50px,6vw,76px);letter-spacing:-.055em;line-height:1}.legal-hero p:not(.eyebrow){max-width:700px;margin:0;color:#4f677a;font-size:18px;line-height:1.65}.legal-hero span{display:block;margin-top:23px;color:#738696;font-size:11px;font-weight:800;text-transform:uppercase}.legal-main{padding:clamp(65px,8vw,105px) 0;background:#f5f8fa}.legal-layout{display:grid;grid-template-columns:250px minmax(0,780px);justify-content:space-between;gap:70px}.legal-layout aside{position:sticky;top:115px;align-self:start;padding:22px;border:1px solid #d7e2e9;border-radius:9px;background:#fff}.legal-layout aside strong{display:block;margin-bottom:15px;color:var(--blue-900);font-size:13px}.legal-layout aside nav{display:grid}.legal-layout aside a{padding:8px 0;border-top:1px solid #e5ebef;color:#637789;font-size:11px}.legal-layout article{padding:clamp(27px,4vw,48px);border:1px solid #d9e4eb;border-radius:11px;background:#fff}.legal-opening{margin:0 0 42px;padding:20px;border-left:3px solid var(--orange);background:#f6f9fb;color:#40586c!important;font-size:17px!important}.legal-layout article section{scroll-margin-top:125px}.legal-layout article section+section{margin-top:42px;padding-top:38px;border-top:1px solid #dce5eb}.legal-layout article h2{margin:0 0 17px;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:25px;line-height:1.25}.legal-layout article p{color:#536a7d;font-size:15px;line-height:1.78}.legal-layout article a{color:var(--blue-600);font-weight:700}.utility-main{display:grid;min-height:72vh;padding:90px 0;place-items:center;background:#d8eef9}.utility-card{max-width:760px;margin:0 auto;padding:clamp(32px,6vw,65px);border-radius:14px;background:#fff;text-align:center;box-shadow:0 22px 60px rgba(5,43,68,.1)}.utility-card>span{display:grid;width:62px;height:62px;margin:0 auto 21px;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:28px}.utility-card>strong{display:block;margin-bottom:15px;color:var(--orange);font-family:"Open Sans",Arial,sans-serif;font-size:clamp(65px,10vw,120px);line-height:.9}.utility-card h1{margin:10px 0 18px;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:clamp(36px,4.5vw,54px);letter-spacing:-.045em;line-height:1.08}.utility-card>p:not(.eyebrow){max-width:580px;margin:0 auto;color:#5d7284;font-size:17px;line-height:1.65}.utility-card>div{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:30px}.utility-card>div>a:not(.btn){color:var(--blue-700);font-size:13px;font-weight:800}
@media(max-width:800px){.legal-layout{grid-template-columns:1fr}.legal-layout aside{position:static}.legal-layout aside nav{grid-template-columns:repeat(2,1fr);column-gap:15px}}
@media(max-width:560px){.legal-hero{padding:52px 0}.legal-hero h1{font-size:43px}.legal-main{padding:45px 0}.legal-layout{gap:20px}.legal-layout aside{display:none}.legal-layout article{padding:27px 20px}.legal-layout article h2{font-size:22px}.utility-main{padding:55px 0}.utility-card{padding:35px 20px}.utility-card>div{align-items:stretch;flex-direction:column}.utility-card .btn{width:100%}}

/* Insights */
.blog-hero{padding:clamp(75px,10vw,135px) 0;background:#d8eef9}.blog-hero h1{max-width:850px;margin:12px 0 24px;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:clamp(55px,7.3vw,94px);letter-spacing:-.06em;line-height:.95}.blog-hero h1 span{color:var(--blue-600)}.blog-hero>div>p:last-child{max-width:680px;margin:0;color:#4c6477;font-size:19px;line-height:1.65}.blog-index{padding:clamp(65px,8vw,105px) 0;background:#f4f7fa}.blog-index-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:50px;margin-bottom:42px}.blog-index-heading h2{margin:5px 0 0;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:clamp(39px,5vw,60px);letter-spacing:-.05em}.blog-index-heading>p{max-width:520px;margin:0;color:#5d7182;font-size:17px;line-height:1.7}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.blog-card{overflow:hidden;border:1px solid #d8e2e9;border-radius:11px;background:#fff;transition:transform .2s ease,box-shadow .2s ease}.blog-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(7,48,77,.1)}.blog-card-image{display:block;overflow:hidden;aspect-ratio:16/10;background:#d9e8f0}.blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.blog-card:hover .blog-card-image img{transform:scale(1.025)}.blog-card-body{padding:25px}.blog-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#6c7f8e;font-size:11px;font-weight:700;text-transform:uppercase}.blog-meta span{color:var(--orange)}.blog-card h2{margin:14px 0 12px;font-family:"Open Sans",Arial,sans-serif;font-size:23px;letter-spacing:-.035em;line-height:1.23}.blog-card h2 a{color:var(--blue-900)}.blog-card p{margin:0;color:#617585;font-size:14px;line-height:1.65}.blog-read{display:inline-flex;gap:9px;margin-top:20px;color:var(--blue-700);font-size:13px;font-weight:800}.blog-read span{color:var(--orange)}
.article{background:#fff}.article-header{padding:clamp(65px,8vw,110px) 0 55px;background:#d8eef9}.article-title{max-width:920px}.article-title>a{display:inline-block;margin-bottom:34px;color:#5d7385;font-size:12px;font-weight:800}.article-title h1{margin:13px 0 24px;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:clamp(46px,6vw,78px);letter-spacing:-.055em;line-height:1.02}.article-deck{max-width:790px;margin:0;color:#4e6578;font-size:20px;line-height:1.6}.article-byline{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:28px;color:#607688;font-size:12px;font-weight:700}.article-media{margin-top:55px}.article-media img{display:block;width:100%;max-height:680px;border-radius:12px;object-fit:cover}.article-layout{display:grid;grid-template-columns:170px minmax(0,760px);justify-content:center;gap:65px;padding-top:65px;padding-bottom:100px}.article-layout aside{position:sticky;top:120px;align-self:start;display:grid;gap:9px}.article-layout aside strong{margin-bottom:6px;color:#6a7d8c;font-size:10px;text-transform:uppercase}.article-layout aside a{color:var(--blue-700);font-size:13px;font-weight:800}.article-content{min-width:0;color:#334c61;font-size:18px;line-height:1.82}.article-content h2,.article-content h3,.article-content h4{color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;letter-spacing:-.035em;line-height:1.2}.article-content h2{margin:50px 0 18px;font-size:34px}.article-content h3{margin:38px 0 15px;font-size:26px}.article-content img{max-width:100%;height:auto;border-radius:8px}.article-content a{color:var(--blue-600);text-decoration:underline}.article-content blockquote{margin:35px 0;padding:25px 30px;border-left:4px solid var(--orange);background:#f2f7fa;color:var(--blue-900);font-size:21px}.article-cta{margin-top:65px;padding:38px;border-radius:11px;background:var(--blue-900);color:#fff}.article-cta h2{max-width:570px;margin:8px 0 24px;color:#fff;font-size:32px}.article-cta .eyebrow{color:#ff8a47}
@media(max-width:900px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{grid-template-columns:1fr;gap:25px}.article-layout aside{position:static;grid-template-columns:max-content max-content max-content}}
@media(max-width:620px){.blog-hero{padding:60px 0}.blog-hero h1{font-size:50px}.blog-index-heading{grid-template-columns:1fr;gap:18px}.blog-grid{grid-template-columns:1fr}.blog-card-body{padding:22px}.article-header{padding:52px 0 42px}.article-title>a{margin-bottom:24px}.article-title h1{font-size:42px}.article-deck{font-size:17px}.article-media{margin-top:25px;padding:0}.article-media img{border-radius:0}.article-layout{padding-top:45px;padding-bottom:70px}.article-layout aside{grid-template-columns:1fr 1fr}.article-layout aside strong{grid-column:1/-1}.article-content{font-size:17px}.article-content h2{font-size:29px}.article-cta{padding:28px 22px}}

/* Unified client portal */
.client-portal-nav{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 34px}.client-portal-nav a{display:flex;align-items:center;gap:10px;padding:12px 17px;border:1px solid #d4e0e8;border-radius:999px;background:#fff;color:#123654;font-weight:800}.client-portal-nav a:hover{border-color:#ef5b18;color:#ef5b18}.client-portal-nav strong{display:grid;place-items:center;min-width:24px;height:24px;border-radius:50%;background:#eaf3f8;font-size:12px}.client-portal-section{scroll-margin-top:100px;margin-bottom:34px}.client-portal-section>.client-panel-head{margin-bottom:16px}.client-project-grid{display:grid;gap:20px}.client-project-card{padding:26px;border:1px solid #dce7ed;border-radius:12px;background:#fff;box-shadow:0 12px 34px rgba(10,44,71,.06)}.client-project-card>header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid #e3ebf0}.client-project-card>header span{color:#ef5b18;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.client-project-card>header h3{margin:5px 0 0;font-size:26px;color:#0d3557}.client-project-card>header>strong{padding:8px 11px;border-radius:6px;background:#e9f3f8;color:#174f73;font-size:12px}.client-progress{margin:22px 0}.client-progress>div:first-child{display:flex;justify-content:space-between;margin-bottom:8px;color:#425d70;font-size:13px}.client-progress-track{height:9px;overflow:hidden;border-radius:99px;background:#e8eef2}.client-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ef5b18,#f99a35)}.client-project-card dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.client-project-card dl div{padding:13px;border-radius:7px;background:#f4f8fa}.client-project-card dl .full{grid-column:1/-1}.client-project-card dt{color:#708493;font-size:11px;font-weight:800;text-transform:uppercase}.client-project-card dd{margin:5px 0 0;color:#17364e;font-weight:800}.client-stage-row{display:grid;grid-template-columns:repeat(9,1fr);gap:5px;margin:22px 0}.client-stage-row span{height:5px;border-radius:5px;background:#dbe4e9}.client-stage-row span.done{background:#ef5b18}.client-update-list{margin-top:22px;padding-top:20px;border-top:1px solid #e3ebf0}.client-update-list h4{margin:0 0 14px}.client-update-list article{position:relative;padding:0 0 18px 24px;border-left:2px solid #dce7ed}.client-update-list article:before{position:absolute;left:-6px;top:3px;width:10px;height:10px;border-radius:50%;background:#ef5b18;content:""}.client-update-list time{display:block;color:#78909f;font-size:11px}.client-update-list strong{display:block;margin:3px 0;color:#153a58}.client-update-list p{margin:5px 0 0}.client-empty{text-align:center;padding:40px}@media(max-width:700px){.client-project-card{padding:19px}.client-project-card>header{flex-direction:column}.client-project-card dl{grid-template-columns:1fr}.client-project-card dl .full{grid-column:auto}.client-project-card>header h3{font-size:22px}}
.reusable-work,.sd-depth,.academy-method,.academy-development{padding:clamp(64px,8vw,110px) 0}
.reusable-work{background:#fff}
.reusable-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:36px 0 24px}
.reusable-work-grid article{min-width:0}
.reusable-work-grid h3{font-size:1.05rem;margin:14px 0 0;color:#0b3357}
.reusable-work .proof-video{width:100%;aspect-ratio:16/9;border:0;border-radius:10px;overflow:hidden;padding:0;position:relative;background:#082844;cursor:pointer}
.reusable-work .proof-video img{width:100%;height:100%;object-fit:cover;display:block}
.reusable-work .proof-video>span{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#ef5b18;color:#fff}
.sd-depth{background:#eaf4fa}
.sd-depth-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,7vw,90px)}
.sd-depth p,.academy-method p,.academy-development p{font-size:1.08rem;line-height:1.8;color:#405873}
.academy-method{background:#fff}
.academy-development{background:#eaf4fa}
@media(max-width:760px){.reusable-work-grid,.sd-depth-grid{grid-template-columns:1fr}.reusable-work-grid{gap:28px}.reusable-work,.sd-depth,.academy-method,.academy-development{padding:56px 0}}
.rental-customer-choice{display:flex;gap:10px;margin:0 0 22px}
.rental-customer-choice button{border:1px solid #bed2e2;background:#fff;color:#103756;border-radius:8px;padding:11px 18px;font-weight:700;cursor:pointer}
.rental-customer-choice button.active{background:#103756;color:#fff;border-color:#103756}
.returning-customer-panel{background:#eef7fc;border:1px solid #c9dfed;border-radius:10px;padding:18px;margin:0 0 22px}
.returning-customer-panel p{margin:0 0 12px}
.rental-consent{display:flex!important;align-items:flex-start;gap:10px}
.rental-consent input{width:18px!important;height:18px;margin-top:3px;flex:0 0 auto}
.rental-booking-consent{margin-top:22px;padding-top:20px;border-top:1px solid #e1e9ee;color:#52677a;font-size:12px;font-weight:700;line-height:1.55}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.rental-fields select{width:100%;min-height:48px;padding:12px 44px 12px 14px;border:1px solid #cad9e4;border-radius:8px;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23113a5b' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m5 7.5 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;color:var(--ink);font:inherit;font-size:15px;outline:none;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}
.rental-fields select:hover{border-color:#9db9cb}.rental-fields select:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(0,117,178,.09)}
.rental-signin-modal{width:min(510px,calc(100% - 32px));padding:36px;border:0;border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 28px 90px rgba(5,43,68,.28)}
.rental-signin-modal::backdrop{background:rgba(4,25,40,.7);backdrop-filter:blur(3px)}
.rental-signin-close{position:absolute;top:14px;right:14px;display:grid;width:36px;height:36px;padding:0;place-items:center;border:1px solid #d6e2ea;border-radius:50%;background:#f5f8fa;color:#173b57;font-size:23px;cursor:pointer}
.rental-signin-icon{display:grid;width:52px;height:52px;margin-bottom:20px;place-items:center;border-radius:50%;background:var(--blue-600);color:#fff;font-family:"Open Sans",Arial,sans-serif;font-size:24px;font-weight:900}
.rental-signin-modal h2{margin:8px 0 12px;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:30px;line-height:1.15}.rental-signin-modal>p:not(.eyebrow){margin:0 0 24px;color:#5a7082;line-height:1.65}
.rental-signin-modal form{display:grid;gap:14px}.rental-signin-modal label{display:grid;gap:7px;color:#52677a;font-size:12px;font-weight:800}.rental-signin-modal input{width:100%;padding:13px 14px;border:1px solid #cad9e4;border-radius:8px;font:inherit;font-size:15px;outline:none}.rental-signin-modal input:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(0,117,178,.09)}
.rental-signin-modal small{display:block;margin-top:18px;color:#7b8e9c;font-size:11px}.rental-signin-status{padding:12px;border-radius:8px;font-size:13px;font-weight:700}.rental-signin-status.success{background:#e8f7ee;color:#22683b}.rental-signin-status.error{background:#fff0ef;color:#9d2d25}
.rental-terms-link{display:inline;padding:0;border:0;background:none;color:var(--blue-600);font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}.rental-agreement-modal ul{display:grid;gap:11px;margin:20px 0;padding-left:21px;color:#415b70;line-height:1.55}.rental-agreement-modal>p:not(.eyebrow){margin:0 0 20px}.rental-agreement-modal>.btn{width:100%}
@media(max-width:560px){.rental-signin-modal{padding:28px 20px}.rental-signin-modal h2{font-size:25px}}
.rental-compact-block{display:flex;min-width:0;height:100%;padding:22px;flex-direction:column;border:1px solid #d7e4ec;border-radius:12px;background:linear-gradient(135deg,#f7fbfd,#edf5f9)}
.rental-compact-block[hidden]{display:none}
.rental-compact-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.rental-compact-heading span{color:var(--orange);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.rental-compact-heading h3{margin:4px 0 0;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:22px}
.rental-compact-heading p{margin:3px 0 0;color:#687d8e;font-size:11px;white-space:nowrap}
.rental-compact-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:auto}
.rental-compact-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:15px 14px;border:1px solid #dbe6ed;border-radius:9px;background:#fff}
.rental-compact-item-image{width:48px;height:48px;border-radius:7px;object-fit:cover;flex-shrink:0;justify-self:start}
.rental-compact-item h4{margin:0 0 4px;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:15px;line-height:1.3}
.rental-compact-item>div>span{color:#164e72;font-size:14px;font-weight:900;white-space:nowrap}
.rental-compact-item small{color:#80919e;font-size:10px;font-weight:700}
.rental-book-link--compact{flex:0 0 auto;min-height:34px;padding:8px 12px;border-radius:8px;font-size:11px;white-space:nowrap}
@media(max-width:760px){.rental-compact-heading{flex-direction:column;gap:5px}.rental-compact-heading p{white-space:normal}.rental-compact-block{padding:16px}.rental-compact-item{grid-template-columns:auto 1fr;grid-template-areas:"image text" "image button"}.rental-compact-item-image{grid-area:image}.rental-compact-item>div{grid-area:text}.rental-book-link--compact{grid-area:button;width:100%;margin-top:6px}}

/* Premium practical-project outcomes across training pages */
.academy-projects{position:relative;overflow:hidden;background:#d8eef9}
.academy-projects:after{position:absolute;right:-160px;bottom:-230px;width:520px;height:520px;border:1px solid rgba(13,53,87,.08);border-radius:50%;content:"";pointer-events:none}
.academy-projects .academy-section-grid{position:relative;z-index:1;grid-template-columns:.72fr 1.28fr;align-items:center}
.academy-projects-intro{max-width:410px}
.academy-projects-note{display:inline-flex;margin-top:24px;padding:9px 12px;border:1px solid rgba(13,53,87,.14);border-radius:999px;color:#456279;font-size:11px;font-weight:800}
.academy-projects ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.academy-projects li{position:relative;display:grid;min-height:150px;padding:22px 54px 22px 22px;align-content:space-between;border:1px solid #b9d2e1;border-radius:12px;background:rgba(255,255,255,.68);box-shadow:0 10px 28px rgba(13,53,87,.035);transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.academy-projects li:hover{border-color:#91b8ce;box-shadow:0 16px 35px rgba(13,53,87,.08);transform:translateY(-3px)}
.academy-projects li span{color:var(--orange);font-size:11px;font-weight:900;letter-spacing:.12em}
.academy-projects li strong{max-width:240px;color:var(--blue-900);font-family:"Open Sans",Arial,sans-serif;font-size:18px;line-height:1.35}
.academy-projects li i{position:absolute;right:20px;bottom:20px;display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#e0eef6;color:var(--blue-900);font-style:normal;font-size:14px}
@media(max-width:980px){.academy-projects .academy-section-grid{grid-template-columns:1fr}.academy-projects-intro{max-width:620px}}
@media(max-width:580px){.academy-projects ol{grid-template-columns:1fr}.academy-projects li{min-height:125px}}
.meeting-booking-grid{display:grid;grid-template-columns:minmax(260px,.68fr) minmax(0,1.32fr);gap:34px;align-items:start}.meeting-expect{position:sticky;top:110px}.praxis-scheduler{padding:28px;border:1px solid #cbddea;border-radius:18px;background:#fff;box-shadow:0 18px 55px rgba(8,47,82,.08)}.meeting-step{display:flex;gap:14px;align-items:flex-start;margin:8px 0 18px}.meeting-step>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#0c3158;color:#fff;font-weight:800}.meeting-step h2{margin:0 0 4px;font-size:1.35rem}.meeting-step p{margin:0;color:#61758b}.meeting-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:30px}.meeting-type-option input{position:absolute;opacity:0}.meeting-type-option>span{display:flex;min-height:132px;padding:18px;border:1px solid #cbddea;border-radius:13px;flex-direction:column;cursor:pointer;transition:.2s}.meeting-type-option strong{color:#0b3157;font-size:1rem}.meeting-type-option small{display:block;margin:7px 0;color:#5b7086;line-height:1.5}.meeting-type-option em{margin-top:auto;color:#ef5b18;font-style:normal;font-weight:800;font-size:.78rem}.meeting-type-option input:checked+span{border-color:#0c78be;background:#eef8ff;box-shadow:0 0 0 2px rgba(12,120,190,.15)}.meeting-date-row,.meeting-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.meeting-fields .full{grid-column:1/-1}.meeting-date-row label,.meeting-fields label,.praxis-scheduler>form>label,.praxis-scheduler form>label{display:grid;gap:7px;color:#324b64;font-size:.82rem;font-weight:800}.meeting-date-row input,.meeting-fields input,.meeting-fields textarea,.praxis-scheduler textarea,.praxis-scheduler input[type=date]{width:100%;padding:13px 14px;border:1px solid #bfd2e2;border-radius:9px;background:#fff;color:#102c48;font:inherit}.meeting-fields textarea,.praxis-scheduler textarea{min-height:115px;resize:vertical}.meeting-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:14px 0 30px}.meeting-slot{padding:11px 8px;border:1px solid #bfcfdd;border-radius:9px;background:#fff;color:#163b60;font-weight:800;cursor:pointer}.meeting-slot:hover,.meeting-slot.active{background:#0c3158;border-color:#0c3158;color:#fff}.meeting-submit{width:100%;justify-content:center;margin-top:18px}.form-notice{padding:13px 15px;margin-bottom:18px;border-radius:9px;background:#fff3ec;color:#9c3510;font-weight:700}.hp-field{position:absolute!important;left:-10000px!important}.praxis-scheduler hr{border:0;border-top:1px solid #dce7ef;margin:25px 0}@media(max-width:820px){.meeting-booking-grid{grid-template-columns:1fr}.meeting-expect{position:static}.meeting-type-grid,.meeting-fields{grid-template-columns:1fr}.meeting-slots{grid-template-columns:repeat(2,1fr)}}
