/* Salam's public presentation layer. Never imported by the Admin layout.
   Original CMS bindings, media files, routes, forms and analytics are retained. */
body.urbis-site {
    --ink: #123339;
    --ink-soft: #4a6367;
    --blue: #174b57;
    --blue-mid: #246c76;
    --blue-sky: #bad9d7;
    --blue-mist: #e8f0ed;
    --orange: #937542;
    --orange-deep: #795e34;
    --paper: #f7f8f4;
    --stone: #edf1eb;
    --sand: #d3dfd9;
    --line: #ccd9d2;
    --white: #fff;
    --radius: 3px;
    --radius-lg: 4px;
    --container: 1380px;
    --shadow-1: none;
    --shadow-2: 0 10px 28px #102f3610;
    color: var(--ink);
    background: var(--paper);
    line-height: 1.95;
}

.urbis-site .container {
    width: min(var(--container),calc(100% - clamp(32px,8vw,144px)))
}

.urbis-site .sec {
    padding-block: clamp(60px,7vw,112px)
}

.urbis-site .h-1, .urbis-site .h-2, .urbis-site .h-display {
    font-weight: 450;
    letter-spacing: 0;
    line-height: 1.65;
    text-wrap: balance
}

.urbis-site .h-1 {
    font-size: clamp(28px,3.3vw,48px)
}

.urbis-site .h-2 {
    font-size: clamp(24px,2.7vw,39px)
}

[dir=ltr] .urbis-site .h-1, [dir=ltr] .urbis-site .h-2 {
    letter-spacing: -.045em;
    line-height: 1.2
}

.urbis-site .lead {
    line-height: 2;
    font-size: clamp(15px,1.2vw,18px);
    max-width: 65ch
}

.urbis-site .eyebrow {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0;
    color: #365b60;
    gap: 12px;
    margin-bottom: 20px
}

[dir=ltr] .urbis-site .eyebrow {
    letter-spacing: .14em
}

.urbis-site .eyebrow:before {
    height: 1px;
    background: #5f8789;
    width: 28px
}

.urbis-site .sec-head {
    margin-bottom: 40px
}

.urbis-site .blueprint-bg {
    background-image: none;
    background-color: var(--stone)
}

.urbis-site .btn {
    min-height: 48px;
    border-radius: 2px;
    box-shadow: none;
    font-size: 13px;
    font-weight: 500;
    padding: 13px 24px;
    transition: background .2s,color .2s,transform .2s;
    white-space: normal
}

.urbis-site .btn-primary, .urbis-site .btn-blue {
    background: var(--ink);
    color: #fff;
    border: 1px solid var(--ink)
}

    .urbis-site .btn-primary:hover, .urbis-site .btn-blue:hover {
        background: #20545b;
        border-color: #20545b;
        box-shadow: none;
        transform: translateY(-1px)
    }

.urbis-site .btn-ghost {
    background: transparent;
    border: 1px solid #91aaa7
}

.urbis-site .btn-ghost-light {
    color: #fff;
    border: 1px solid #ffffff90;
    background: transparent
}

    .urbis-site .btn-ghost-light:hover {
        background: #fff;
        color: var(--ink)
    }

.urbis-site a:focus-visible, .urbis-site button:focus-visible, .urbis-site input:focus-visible, .urbis-site select:focus-visible, .urbis-site textarea:focus-visible {
    outline: 3px solid #40898e;
    outline-offset: 4px;
    border-radius: 2px
}

.urbis-site .site-header {
    background: #f7f8f4f5;
    border-bottom: 1px solid var(--line);
    box-shadow: none
}

    .urbis-site .site-header.scrolled {
        box-shadow: 0 4px 20px #1233390d
    }

.urbis-site .header-inner {
    height: 92px;
    gap: 18px
}

.urbis-site .brand {
    gap: 12px;
    flex: 0 1 auto
}

    .urbis-site .brand img {
        width: 58px;
        height: 62px;
        object-fit: contain
    }

    .urbis-site .brand .brand-name {
        font-size: 13px;
        font-weight: 600
    }

    .urbis-site .brand .brand-sub {
        font-size: 8px;
        letter-spacing: .2em
    }

.urbis-site .main-nav {
    gap: 4px;
    margin-inline: auto
}

    .urbis-site .main-nav a {
        font-size: 12px;
        padding: 10px 7px;
        border-radius: 0
    }

        .urbis-site .main-nav a:hover {
            background: transparent;
            color: var(--ink)
        }

        .urbis-site .main-nav a.active:after {
            height: 1px;
            background: var(--ink);
            inset-inline: 7px;
            bottom: 4px
        }

.urbis-site .header-phone {
    display: none
}

.urbis-site .header-cta {
    gap: 12px;
    flex-shrink: 0
}

    .urbis-site .header-cta > .btn {
        font-size: 11px;
        padding: 10px 15px;
        min-height: 43px
    }

.urbis-site .lang-toggle {
    border: 0;
    border-radius: 0;
    background: transparent;
    align-items: center
}

    .urbis-site .lang-toggle button.on {
        background: transparent;
        color: var(--ink);
        border-bottom: 1px solid var(--ink);
        border-radius: 0
    }

    .urbis-site .lang-toggle a, .urbis-site .lang-toggle button {
        min-height: 42px;
        font-size: 11px
    }

.urbis-site .menu-btn {
    border: 1px solid #a4bbb5;
    border-radius: 2px;
    background: transparent;
    flex-shrink: 0
}

.urbis-site .drawer .panel {
    background: var(--paper);
    padding: 32px 24px;
    gap: 8px;
    width: min(390px,92vw)
}

.urbis-site .drawer a {
    border-radius: 0;
    border-bottom: 1px solid var(--line);
    font-size: 15px
}

.urbis-site .filter-chip {
    border-radius: 2px;
    min-height: 44px
}

.urbis-site .urbis-hero {
    margin: 16px 16px 0;
    min-height: min(820px,calc(100svh - 120px));
    padding: 110px 0 55px;
    display: flex;
    align-items: flex-end;
    isolation: isolate;
    background: #123339;
    color: #fff
}

    .urbis-site .urbis-hero .container {
        position: relative;
        z-index: 2;
        width: min(var(--container),calc(100% - clamp(36px,8vw,140px)))
    }

    .urbis-site .urbis-hero .hero-video__media {
        position: absolute;
        inset: 0;
        z-index: -2;
        overflow: hidden
    }

        .urbis-site .urbis-hero .hero-video__media img, .urbis-site .urbis-hero .hero-video__media video {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: 50% 48%
        }

    .urbis-site .urbis-hero .hero-video__scrim {
        position: absolute;
        inset: 0;
        z-index: -1;
        transform: none !important;
        background: linear-gradient(0deg,#071f29e8,#09283050 64%,#09283022) !important
    }

    .urbis-site .urbis-hero .hero-copy {
        max-width: 100%
    }

    .urbis-site .urbis-hero .hero-badge {
        background: none;
        border: 0;
        color: #fff;
        border-radius: 0;
        padding: 0;
        font-size: 12px;
        font-weight: 400;
        margin: 0 0 22px
    }

        .urbis-site .urbis-hero .hero-badge .dot {
            display: none
        }

    .urbis-site .urbis-hero .h-display {
        font-size: clamp(38px,4.9vw,76px);
        line-height: 1.5;
        font-weight: 400;
        margin-bottom: 22px;
        max-width: 1000px;
        color: #fff;
        letter-spacing: 0
    }

[dir=ltr] .urbis-site .urbis-hero .h-display {
    font-size: clamp(43px,5.5vw,88px);
    letter-spacing: -.055em;
    line-height: 1.08;
    max-width: 1000px
}

.urbis-site .urbis-hero .accent {
    color: #d2e8e4
}

.urbis-site .urbis-hero-bottom {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 35px
}

.urbis-site .urbis-hero .lead {
    font-size: 14px;
    color: #f0f7f5;
    max-width: 55ch;
    margin: 0;
    line-height: 2
}

.urbis-site .urbis-hero .hero-actions {
    margin: 0;
    gap: 12px;
    flex-shrink: 0;
    display: flex;
    flex-wrap: wrap
}

.urbis-site .urbis-hero .btn-primary {
    background: #f7f8f4;
    color: var(--ink);
    border-color: #f7f8f4
}

    .urbis-site .urbis-hero .btn-primary:hover {
        background: #dbe8e1
    }

.urbis-site .urbis-hero .hero-video-toggle {
    background: #12333975;
    border-color: #c2d8d4;
    border-radius: 2px;
    font-size: 10px;
    display: inline-flex;
    margin: 25px 0 0;
    min-height: 40px
}

.urbis-site .hero-video-toggle[hidden] {
    display: none
}

.urbis-site .urbis-hero-topline {
    position: absolute;
    top: 22px;
    inset-inline: clamp(18px,4vw,70px);
    display: flex;
    justify-content: space-between;
    gap: 20px;
    font-size: 10px;
    color: #fff;
    z-index: 2
}

.urbis-site .trust-bar {
    background: var(--paper);
    color: var(--ink);
    border-bottom: 1px solid var(--line);
    box-shadow: none
}

.urbis-site .trust-inner {
    padding-block: 25px;
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 20px;
    text-align: center
}

.urbis-site .trust-item {
    font-size: 11px;
    justify-content: center;
    padding: 0;
    margin: 0;
    color: var(--ink)
}

    .urbis-site .trust-item:not(:last-child) {
        border-inline-end: 1px solid var(--line)
    }

.urbis-site .urbis-intro-grid {
    display: grid;
    grid-template-columns: .6fr 1.4fr;
    gap: 8vw;
    align-items: start
}

    .urbis-site .urbis-intro-grid p {
        margin-top: 24px;
        max-width: 74ch;
        color: var(--ink-soft);
        font-size: 14px;
        line-height: 2.1
    }

.urbis-site .urbis-textlink {
    display: inline-flex;
    gap: 20px;
    align-items: center;
    border-bottom: 1px solid #729396;
    padding: 12px 0;
    font-size: 12px;
    min-height: 44px;
    margin-top: 20px
}

.urbis-site .urbis-heading-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 32px;
    margin-bottom: 38px
}

    .urbis-site .urbis-heading-row p {
        max-width: 42ch;
        font-size: 13px;
        color: var(--ink-soft)
    }

.urbis-site .urbis-feature {
    display: grid;
    grid-template-columns: 1.4fr .75fr;
    align-items: center;
    gap: clamp(26px,4vw,62px)
}

    .urbis-site .urbis-feature .proj-card {
        border-radius: 0;
        border: 1px solid var(--line);
        padding: 10px;
        background: #fff;
        box-shadow: none;
        display: block
    }

        .urbis-site .urbis-feature .proj-card > img {
            width: 100%;
            height: auto;
            aspect-ratio: 4/3;
            object-fit: contain
        }

    .urbis-site .urbis-feature .body {
        padding: 15px 8px 6px;
        font-size: 12px
    }

.urbis-site .urbis-feature-copy p {
    font-size: 14px;
    line-height: 2;
    color: var(--ink-soft);
    margin-top: 18px
}

.urbis-site .urbis-photo-angles {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 10px;
    margin-top: 28px
}

    .urbis-site .urbis-photo-angles a {
        display: block;
        min-width: 0;
        border: 1px solid var(--line);
        padding: 3px;
        background: white
    }

    .urbis-site .urbis-photo-angles img {
        display: block;
        width: 100%;
        aspect-ratio: 4/3;
        object-fit: contain
    }

.urbis-site .urbis-home-projects {
    margin-top: 32px;
    grid-template-columns: repeat(3,minmax(0,1fr))
}

.urbis-site .proj-card, .urbis-site .eq-card {
    border-radius: 3px;
    border-color: var(--line);
    box-shadow: none;
    transition: border-color .2s
}

    .urbis-site .proj-card:hover, .urbis-site .eq-card:hover {
        box-shadow: none;
        border-color: #809c97
    }

    .urbis-site .proj-card .body, .urbis-site .eq-card .body {
        padding: 22px 20px
    }

    .urbis-site .proj-card h3, .urbis-site .eq-card h3 {
        font-size: 17px;
        font-weight: 500;
        line-height: 1.8
    }

    .urbis-site .proj-card p, .urbis-site .eq-card p {
        font-size: 13px;
        line-height: 1.95;
        color: var(--ink-soft)
    }

.urbis-site .urbis-services {
    background: var(--ink);
    color: #fff
}

    .urbis-site .urbis-services .eyebrow {
        color: #c0d8d4
    }

        .urbis-site .urbis-services .eyebrow:before {
            background: #9ebbb4
        }

    .urbis-site .urbis-services .h-1 {
        color: #fff
    }

    .urbis-site .urbis-services .urbis-heading-row p {
        color: #c4d7d4
    }

.urbis-site .urbis-service-list {
    counter-reset: services;
    border-top: 1px solid #638083;
    margin-top: 35px
}

.urbis-site .urbis-service-row {
    display: grid;
    grid-template-columns: 44px 1fr 1.1fr 38px;
    align-items: start;
    gap: 26px;
    border-bottom: 1px solid #638083;
    padding-block: 28px;
    color: #fff
}

    .urbis-site .urbis-service-row:before {
        counter-increment: services;
        content: counter(services,decimal-leading-zero);
        color: #acc9c4;
        font: 14px/2 Arial,sans-serif;
        padding-top: 5px
    }

    .urbis-site .urbis-service-row h3 {
        font-size: 22px;
        font-weight: 400;
        line-height: 1.75;
        margin: 0
    }

    .urbis-site .urbis-service-row p {
        font-size: 12px;
        line-height: 2.1;
        color: #c4d7d4;
        margin: 0
    }

    .urbis-site .urbis-service-row .urbis-row-arrow {
        width: 38px;
        height: 38px;
        display: grid;
        place-items: center;
        border: 1px solid #96b3b0;
        border-radius: 50%
    }

    .urbis-site .urbis-service-row:hover h3 {
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 8px
    }

.urbis-site .svc-card {
    border-radius: 3px;
    box-shadow: none;
    padding: 28px;
    border-color: var(--line)
}

    .urbis-site .svc-card:before {
        display: none
    }

    .urbis-site .svc-card:hover {
        transform: translateY(-2px);
        box-shadow: none;
        border-color: #809c97
    }

    .urbis-site .svc-card h3 {
        font-size: 19px;
        font-weight: 500;
        line-height: 1.7
    }

    .urbis-site .svc-card p {
        font-size: 13px;
        line-height: 2
    }

    .urbis-site .svc-card .go {
        font-size: 12px;
        font-weight: 500;
        padding-top: 15px
    }

.urbis-site .page-hero {
    padding-block: clamp(45px,6vw,88px) 55px;
    background: var(--paper);
    border-bottom: 1px solid var(--line)
}

    .urbis-site .page-hero .lead {
        margin-top: 20px
    }

    .urbis-site .page-hero .h-1 {
        max-width: 1000px
    }

.urbis-site .rich-body {
    font-size: 15px;
    line-height: 2.1;
    color: var(--ink-soft)
}

    .urbis-site .rich-body h2 {
        font-size: 26px;
        font-weight: 500;
        line-height: 1.65;
        margin-block: 30px 18px
    }

.urbis-site .policy-body {
    line-height: 2
}

.urbis-site .intent-card, .urbis-site .work-stage, .urbis-site .branch-card {
    padding: 28px;
    border-radius: 3px;
    box-shadow: none;
    border-color: var(--line)
}

    .urbis-site .intent-card h3, .urbis-site .work-stage h3, .urbis-site .branch-card h3 {
        font-size: 18px;
        font-weight: 500;
        line-height: 1.8
    }

    .urbis-site .intent-card p, .urbis-site .work-stage p, .urbis-site .branch-card p {
        font-size: 13px;
        color: var(--ink-soft);
        line-height: 2
    }

.urbis-site .journey-track {
    gap: 35px;
    grid-template-columns: repeat(4,minmax(0,1fr));
    border-top: 1px solid var(--line);
    padding-top: 32px
}

    .urbis-site .journey-track .jstep:before {
        font: 16px/2 Arial,sans-serif;
        color: #536e71
    }

    .urbis-site .journey-track h3 {
        font-size: 17px;
        font-weight: 500;
        line-height: 1.8
    }

    .urbis-site .journey-track p {
        font-size: 12px;
        color: var(--ink-soft)
    }

.urbis-site .sector-row {
    border-radius: 0;
    background: none;
    box-shadow: none;
    border-bottom: 1px solid var(--line);
    padding-block: 24px
}

    .urbis-site .sector-row h3 {
        font-weight: 500;
        font-size: 21px
    }

    .urbis-site .sector-row p {
        font-size: 13px;
        color: var(--ink-soft)
    }

.urbis-site .client-logos {
    gap: 25px
}

    .urbis-site .client-logos img {
        height: 90px;
        background: transparent
    }

.urbis-site .project-videos figure {
    border: 1px solid var(--line);
    border-radius: 3px;
    overflow: hidden;
    background: #fff
}

.urbis-site .project-videos figcaption {
    padding: 18px;
    font-size: 12px
}

.urbis-site .project-videos .proj-grid {
    gap: 24px
}

.urbis-site .project-viewer {
    border-radius: 3px;
    padding: 18px
}

    .urbis-site .project-viewer::backdrop {
        background: #082831ed
    }

.urbis-site .urbis-coverage {
    background: #e1ebe4;
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 50px;
    padding: clamp(28px,5vw,70px);
    align-items: center
}

    .urbis-site .urbis-coverage .h-2 {
        font-size: clamp(30px,3.2vw,46px);
        border-inline-end: 1px solid #9cb6ac;
        padding-inline-end: 30px
    }

    .urbis-site .urbis-coverage p {
        font-size: 14px;
        color: #365c60;
        line-height: 2
    }

.urbis-site .urbis-faq {
    display: grid;
    grid-template-columns: .7fr 1.3fr;
    gap: 8vw;
    align-items: start
}

    .urbis-site .urbis-faq details {
        border-top: 1px solid var(--line);
        padding-block: 24px
    }

        .urbis-site .urbis-faq details:last-child {
            border-bottom: 1px solid var(--line)
        }

    .urbis-site .urbis-faq summary {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 20px;
        cursor: pointer;
        font-size: 15px;
        line-height: 1.85;
        list-style: none;
        min-height: 32px
    }

        .urbis-site .urbis-faq summary:after {
            content: '+';
            font: 24px/1 Arial,sans-serif;
            flex-shrink: 0
        }

    .urbis-site .urbis-faq details[open] summary:after {
        content: '−'
    }

    .urbis-site .urbis-faq summary::-webkit-details-marker {
        display: none
    }

    .urbis-site .urbis-faq p {
        font-size: 13px;
        color: var(--ink-soft);
        margin-top: 20px;
        line-height: 2
    }

.urbis-site .cta-band {
    border-radius: 3px;
    background: #e2ece6;
    padding: clamp(26px,4vw,65px);
    box-shadow: none;
    color: var(--ink);
    background-image: none
}

    .urbis-site .cta-band:before, .urbis-site .cta-band:after {
        display: none
    }

    .urbis-site .cta-band h2 {
        font-size: clamp(27px,3vw,43px);
        font-weight: 450;
        line-height: 1.65;
        color: var(--ink)
    }

    .urbis-site .cta-band .cta-copy p {
        font-size: 14px;
        color: var(--ink-soft);
        line-height: 2
    }

.urbis-site .cta-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 60px;
    align-items: start
}

.urbis-site .quote-form {
    background: #fff;
    padding: 28px;
    border: 1px solid var(--line);
    border-radius: 3px;
    box-shadow: none
}

.urbis-site .field label {
    font-size: 12px;
    font-weight: 500;
    margin-bottom: 8px
}

.urbis-site .field input, .urbis-site .field select, .urbis-site .field textarea {
    min-height: 49px;
    border: 1px solid #8fa8a2;
    border-radius: 2px;
    padding: 12px 14px;
    font-size: 14px;
    color: var(--ink);
    background: #fff
}

.urbis-site input::placeholder, .urbis-site textarea::placeholder {
    color: #637876;
    opacity: 1
}

.urbis-site .field textarea {
    min-height: 140px;
    resize: vertical
}

.urbis-site .consent-label, .urbis-site .form-note {
    font-size: 11px;
    color: #455f61;
    line-height: 1.95
}

.urbis-site .form-grid {
    gap: 18px
}

.urbis-site .quote-form .btn {
    width: 100%
}

.urbis-site .site-footer {
    background: var(--ink);
    background-image: none;
    color: #e6f0ec;
    padding-top: 74px
}

    .urbis-site .site-footer:before, .urbis-site .site-footer:after {
        display: none
    }

.urbis-site .footer-grid {
    grid-template-columns: 1.35fr .8fr 1fr 1fr;
    gap: clamp(24px,4vw,65px);
    padding-bottom: 45px
}

.urbis-site .site-footer h4 {
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    margin-bottom: 22px
}

.urbis-site .site-footer p {
    font-size: 12px;
    line-height: 2.1;
    color: #bfd3cf
}

.urbis-site .site-footer a {
    font-size: 12px;
    color: #dceae4;
    line-height: 2
}

    .urbis-site .site-footer a:hover {
        color: #fff;
        text-decoration: underline;
        text-underline-offset: 4px
    }

.urbis-site .footer-logo {
    display: inline-block;
    background: #f7f8f4;
    padding: 10px;
    margin-bottom: 22px
}

    .urbis-site .footer-logo img {
        height: 70px;
        width: auto
    }

.urbis-site .footer-bottom {
    border-top: 1px solid #678780;
    padding-block: 24px;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    flex-wrap: wrap;
    color: #bfd3cf;
    font-size: 10px
}

    .urbis-site .footer-bottom a {
        font-size: 10px
    }

.urbis-site .social-row {
    margin-top: 24px
}

    .urbis-site .social-row a {
        border-radius: 2px;
        border: 1px solid #78968d;
        width: 38px;
        height: 38px;
        background: transparent
    }

.urbis-site .ai-float, .urbis-site .wa-float {
    width: 46px;
    height: 46px;
    box-shadow: 0 4px 16px #09293125
}

.urbis-site .consent-panel {
    border-radius: 3px;
    max-width: 610px;
    box-shadow: 0 10px 40px #102b3825
}

    .urbis-site .consent-panel .btn {
        min-height: 44px
    }

.urbis-site .reveal {
    opacity: 1 !important;
    transform: none !important
}

.urbis-site [hidden] {
    display: none !important
}

@media(min-width:1151px) and (max-width:1350px) {
    .urbis-site .main-nav a {
        font-size: 11px;
        padding-inline: 5px
    }

    .urbis-site .brand .brand-name {
        max-width: 18ch;
        white-space: normal;
        line-height: 1.6
    }

    .urbis-site .brand img {
        width: 45px;
        height: 50px
    }

    .urbis-site .header-cta > .btn {
        display: none
    }
}

@media(max-width:1150px) {
    .urbis-site .header-inner {
        height: 80px;
        justify-content: space-between
    }

    .urbis-site .brand {
        flex: 1
    }

    .urbis-site .main-nav {
        display: none
    }

    .urbis-site .menu-btn {
        display: inline-flex
    }

    .urbis-site .header-cta > .btn {
        display: none
    }

    .urbis-site .urbis-hero-bottom {
        display: block
    }

    .urbis-site .urbis-hero .hero-actions {
        margin-top: 28px
    }

    .urbis-site .urbis-hero .lead {
        max-width: 60ch
    }

    .urbis-site .cta-grid {
        gap: 30px
    }

    .urbis-site .footer-grid {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }
}

@media(max-width:800px) {
    .urbis-site .sec {
        padding-block: 60px
    }

    .urbis-site .urbis-intro-grid, .urbis-site .urbis-feature, .urbis-site .urbis-faq, .urbis-site .urbis-coverage, .urbis-site .cta-grid {
        grid-template-columns: 1fr;
        gap: 30px
    }

    .urbis-site .urbis-heading-row {
        display: block
    }

        .urbis-site .urbis-heading-row p {
            margin-top: 20px
        }

    .urbis-site .urbis-home-projects {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }

    .urbis-site .urbis-hero {
        min-height: 680px;
        min-height: calc(100svh - 96px);
        padding: 92px 0 40px !important;
        margin: 10px 10px 0
    }

        .urbis-site .urbis-hero .container {
            width: calc(100% - 36px)
        }

        .urbis-site .urbis-hero .hero-video__scrim {
            background: linear-gradient(0deg,#071f29ee,#09283065 72%,#09283030) !important
        }

        .urbis-site .urbis-hero .h-display {
            font-size: clamp(34px,6.5vw,55px);
            line-height: 1.55
        }

        .urbis-site .urbis-hero .lead {
            font-size: 13px;
            line-height: 2
        }

        .urbis-site .urbis-hero .hero-actions .btn {
            flex: 0 1 auto
        }

    .urbis-site .trust-inner {
        grid-template-columns: 1fr;
        gap: 14px;
        padding-block: 20px
    }

    .urbis-site .trust-item:not(:last-child) {
        border: 0
    }

    .urbis-site .urbis-service-row {
        grid-template-columns: 30px 1fr 34px;
        gap: 15px
    }

        .urbis-site .urbis-service-row h3 {
            font-size: 20px
        }

        .urbis-site .urbis-service-row p {
            grid-column: 2;
            grid-row: 2
        }

    .urbis-site .urbis-row-arrow {
        grid-column: 3;
        grid-row: 1
    }

    .urbis-site .journey-track {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }

    .urbis-site .urbis-coverage .h-2 {
        padding: 0 0 25px;
        border-inline-end: 0;
        border-bottom: 1px solid #9cb6ac
    }

    .urbis-site .quote-form {
        padding: 22px
    }

    .urbis-site .cta-band {
        padding: 25px !important
    }

    .urbis-site .client-logos img {
        height: 76px
    }

    .urbis-site .sector-row h3 {
        font-size: 18px
    }
}

@media(max-width:480px) {
    .urbis-site .container {
        width: calc(100% - 32px)
    }

    .urbis-site .header-inner {
        height: 76px;
        gap: 10px
    }

    .urbis-site .brand img {
        width: 40px;
        height: 50px
    }

    .urbis-site .brand {
        gap: 8px
    }

        .urbis-site .brand .brand-name {
            font-size: 10px;
            max-width: 18ch;
            white-space: normal;
            line-height: 1.8
        }

    .urbis-site .header-cta {
        gap: 7px
    }

    .urbis-site .lang-toggle button, .urbis-site .lang-toggle a {
        font-size: 10px;
        padding: 8px 5px !important
    }

    .urbis-site .menu-btn {
        width: 40px;
        height: 42px
    }

    .urbis-site .urbis-hero-topline {
        font-size: 9px;
        gap: 15px;
        inset-inline: 18px
    }

        .urbis-site .urbis-hero-topline span:last-child {
            max-width: 15ch;
            text-align: end
        }

    .urbis-site .urbis-hero .hero-actions {
        gap: 9px
    }

        .urbis-site .urbis-hero .hero-actions .btn {
            width: 100%;
            font-size: 12px
        }

    .urbis-site .urbis-home-projects, .urbis-site .footer-grid {
        grid-template-columns: 1fr
    }

    .urbis-site .journey-track {
        gap: 26px
    }

    .urbis-site .quote-form {
        padding: 18px
    }

    .urbis-site .cta-band {
        padding: 18px !important
    }

    .urbis-site .footer-grid {
        gap: 35px
    }

    .urbis-site .site-footer {
        padding-top: 55px
    }

    .urbis-site .footer-brand {
        max-width: 34ch
    }

    .urbis-site .project-viewer {
        padding: 8px
    }

    .urbis-site .project-viewer-bar {
        gap: 8px
    }

    .urbis-site .project-viewer button {
        min-height: 42px;
        padding: 8px 10px;
        font-size: 12px
    }
}

@media(prefers-reduced-motion:reduce) {
    .urbis-site * {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important
    }
}
