.nxb-grid-layout { padding-block: var(--nxb-section-space); --nxb-grid-gap: 2rem; }
.nxb-grid-layout--light { background: var(--nxb-colour-surface); }
.nxb-grid-layout--dark { color: #fff; background: var(--nxb-colour-ink); }
.nxb-grid-layout--brand, .nxb-grid-layout--green { color: #fff; background: var(--nxb-colour-brand-dark); }
.nxb-grid-layout--gap-small { --nxb-grid-gap: 1rem; }
.nxb-grid-layout--gap-large { --nxb-grid-gap: clamp(2.5rem,5vw,5rem); }
.umb-block-grid > .umb-block-grid__layout-container { display: grid; gap: var(--nxb-grid-gap); }
.nxb-grid-layout__row > .umb-block-grid__area-container { display: grid; grid-template-columns: repeat(var(--umb-block-grid--area-grid-columns),minmax(0,1fr)); gap: var(--nxb-grid-gap); align-items: start; }
.nxb-grid-layout__row--align-center > .umb-block-grid__area-container { align-items: center; }
.nxb-grid-layout__row--align-bottom > .umb-block-grid__area-container { align-items: end; }
.umb-block-grid__area { grid-column: span var(--umb-block-grid--area-column-span); min-width: 0; }
.umb-block-grid__area > .umb-block-grid__layout-container { display: grid; gap: var(--nxb-grid-gap); }
.umb-block-grid__layout-item { min-width: 0; }
.umb-block-grid__area .nxb-container { width: 100%; }
.umb-block-grid__area .nxb-section, .umb-block-grid__area .nxb-text-area, .umb-block-grid__area .nxb-text-block, .umb-block-grid__area .nxb-code-block { padding-block: 0; }
.rpw-home-process-projects > .umb-block-grid__area-container { gap: clamp(2rem,4vw,4rem); }
.rpw-home-process-projects .nxb-section-heading { max-width: none; margin-bottom: 1.35rem; }
.rpw-home-process-projects .nxb-section-heading > p { font-size: clamp(1.05rem,1.35vw,1.25rem); }
.rpw-home-process-projects .nxb-section-heading h2 { font-size: clamp(1.25rem,1.75vw,1.6rem); font-weight: 400; letter-spacing: -.01em; }
.rpw-contact-layout {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 42%,rgba(211,6,19,.18),transparent 30rem),
        linear-gradient(115deg,#070b0d 0%,#07100f 58%,#101516 100%);
}
.rpw-contact-layout::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,rgba(0,0,0,.08),transparent 55%,rgba(211,6,19,.06));
    content: "";
    pointer-events: none;
}
.rpw-contact-layout > .nxb-grid-layout {
    position: relative;
    z-index: 1;
    padding-block: clamp(3.5rem,7vw,7rem);
    background: transparent;
}
.rpw-contact-layout__grid {
    position: relative;
    z-index: 1;
    display: grid;
    padding-block: clamp(3.5rem,7vw,7rem);
    grid-template-columns: repeat(12,minmax(0,1fr));
    gap: clamp(2.5rem,6vw,6.5rem);
    align-items: stretch;
}
.rpw-contact-layout__column { grid-column: span 6; min-width: 0; }
.rpw-contact-layout .rpw-contact-grid-row > .umb-block-grid__area-container { gap: clamp(2.5rem,6vw,6.5rem); }
.rpw-contact-layout .nxb-text-block, .rpw-contact-layout .nxb-text-image { height: 100%; padding-block: 0; color: #fff; background: transparent; }
.rpw-contact-layout .nxb-text-image__grid { width: 100%; height: 100%; grid-template-columns: minmax(0,1fr); }
.rpw-contact-layout .nxb-text-image__content { align-self: center; }
.rpw-contact-layout .nxb-text-block__heading { max-width: 38rem; margin-bottom: 1.5rem; }
.rpw-contact-layout .nxb-text-block__eyebrow, .rpw-contact-layout .nxb-text-image .nxb-section-heading > p {
    margin-bottom: .9rem;
    color: var(--nxb-colour-brand-bright);
    font-size: clamp(.9rem,1.1vw,1.05rem);
}
.rpw-contact-layout .nxb-text-block h2, .rpw-contact-layout .nxb-text-image h2 {
    max-width: 10ch;
    margin: 0;
    color: #fff;
    font-size: clamp(2.5rem,4.8vw,4.9rem);
    line-height: .98;
    letter-spacing: -.035em;
}
.rpw-contact-layout .nxb-rich-text, .rpw-contact-layout .nxb-text-image__content { max-width: 34rem; color: rgba(255,255,255,.84); font-size: clamp(1rem,1.2vw,1.15rem); }
.rpw-contact-layout .nxb-rich-text > p, .rpw-contact-layout .nxb-text-image__content > p { margin-bottom: clamp(1.8rem,3vw,2.7rem); }
.rpw-contact-layout .nxb-text-block .nxb-rich-text ul { display: grid; grid-template-columns: 1fr; gap: .9rem; margin: 0; padding: 0; list-style: none; }
.rpw-contact-layout .nxb-text-block .nxb-rich-text li { display: grid; grid-template-columns: 2.4rem minmax(0,1fr); gap: 0; align-items: center; min-height: 2.4rem; padding: 0; border: 0; font-size: inherit; }
.rpw-contact-layout .nxb-text-block .nxb-rich-text li::before {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 50%;
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
}
.rpw-contact-layout .nxb-text-block .nxb-rich-text li:nth-child(1)::before { content: "☎"; }
.rpw-contact-layout .nxb-text-block .nxb-rich-text li:nth-child(2)::before { content: "✉"; }
.rpw-contact-layout .nxb-text-block .nxb-rich-text li:nth-child(3)::before { content: "◎"; }
.rpw-contact-layout .nxb-text-block .nxb-rich-text li:nth-child(4)::before { content: "⌖"; }
.rpw-contact-layout .nxb-rich-text a, .rpw-contact-layout .nxb-text-image a { color: #fff; font-weight: 750; text-decoration-color: rgba(238,35,48,.8); text-underline-offset: .2em; }
.rpw-contact-layout .nxb-rich-text a:hover { color: var(--nxb-colour-brand-bright); }
.rpw-contact-layout .nxb-contact-form-block { height: 100%; }
.rpw-contact-layout .nxb-quote-form {
    height: 100%;
    padding: clamp(1.75rem,3.5vw,3.25rem);
    border: 1px solid rgba(255,255,255,.65);
    border-radius: clamp(.8rem,1.3vw,1.2rem);
    box-shadow: 0 1.5rem 4rem rgba(0,0,0,.32);
}
.rpw-contact-layout .nxb-quote-form__heading { margin-bottom: clamp(1.5rem,2.5vw,2.25rem); }
.rpw-contact-layout .nxb-quote-form__heading h2 { font-size: clamp(1.8rem,2.7vw,2.65rem); }
.rpw-contact-layout .nxb-quote-form__introduction { margin-top: .75rem; color: var(--nxb-colour-muted); font-size: .86rem; }
.rpw-contact-layout .nxb-quote-form__submit { min-width: min(100%,22rem); }
@media (max-width: 900px) {
    .rpw-contact-layout__grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .rpw-contact-layout__column { grid-column: 1; }
}
@media (max-width: 1024px) {
    .nxb-grid-layout__row > .umb-block-grid__area-container { grid-template-columns: 1fr; }
    .umb-block-grid__area { grid-column: 1; }
    .nxb-grid-layout__row--reverse-mobile > .umb-block-grid__area-container { display: flex; flex-direction: column-reverse; }
    .rpw-contact-layout > .nxb-grid-layout, .rpw-contact-layout__grid { padding-block: clamp(3rem,10vw,4.5rem); }
    .rpw-contact-layout .nxb-text-block h2, .rpw-contact-layout .nxb-text-image h2 { max-width: 12ch; font-size: clamp(2.35rem,11vw,3.6rem); }
    .rpw-contact-layout .nxb-rich-text { max-width: none; }
}
