/*
 * RareInputs service pages — Bootstrap 5.3.8 shared layout
 *
 * Bootstrap owns the major responsive structure:
 *   .container, .row, .col-*, .row-cols-*, .g-* and flex/alignment utilities.
 *
 * Custom CSS below is limited to RareInputs component visuals, typography,
 * spacing, card treatments, forms, modal appearance and small micro-layouts.
 */

:root {
    --wine: #7a1632;
    --wine2: #a5264c;
    --deep: #310914;
    --gold: #d6a84b;
    --ink: #291c21;
    --muted: #716269;
    --line: #eadce1;
    --blush: #fff5f8;
    --white: #fff
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body.ri-service-page {
    margin: 0;
    color: var(--ink);
    font: 400 16px/1.65 Inter, sans-serif;
    background: #fff
}

.ri-service-page h1,
.ri-service-page h2,
.ri-service-page h3 {
    font-family: "Plus Jakarta Sans", sans-serif;
    letter-spacing: -.035em;
    line-height: 1.16;
    margin: 0
}

.ri-service-page p {
    margin: 0 0 18px
}

.ri-service-page a {
    text-decoration: none;
    /* color: inherit */
}

.ri-service-page .wrap {
    width: min(1180px, 92%);
    margin: auto
}

.topbar {
    background: var(--deep);
    color: #dbc9cf;
    font-size: 12px
}

.topbar .wrap {
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.topbar .wrap div {
    display: flex;
    gap: 22px
}

header {
    height: 82px;
    position: sticky;
    top: 0;
    z-index: 40;
    background: #fff;
    box-shadow: 0 3px 18px rgba(49, 9, 20, .08)
}

.ri-site-nav {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px
}

.logo {
    position: relative;
    display: block;
    width: 235px;
    height: 62px;
    overflow: hidden
}

.logo img {
    position: absolute;
    width: 280px;
    max-width: none;
    left: -25px;
    top: -43px
}

.ri-site-nav nav {
    display: flex;
    align-items: center;
    gap: 26px
}

.ri-site-nav nav a {
    font-size: 13px;
    font-weight: 700
}

.ri-site-nav nav a:hover {
    color: var(--wine)
}

.menu {
    display: none;
    border: 0;
    background: none;
    font-size: 24px
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 8px;
    padding: 14px 22px;
    background: linear-gradient(135deg, var(--wine), var(--wine2));
    color: #fff;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(122, 22, 50, .22)
}

.button.ri-button-sm {
    font-size: 12px;
    padding: 11px 15px
}

.kicker {
    display: inline-block;
    color: var(--wine);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .16em;
    margin-bottom: 14px
}

.kicker.light {
    color: #dda0b3
}

.service-hero {
    padding: 76px 0;
    background: linear-gradient(120deg, #fff9fb, #fff 55%, #faedf1);
    position: relative;
    overflow: hidden
}

.service-hero:after {
    content: "";
    position: absolute;
    width: 470px;
    height: 470px;
    border-radius: 50%;
    border: 80px solid rgba(122, 22, 50, .035);
    right: -220px;
    bottom: -280px
}

.hero-layout {
    position: relative;
    z-index: 2
}

.hero-copy h1 {
    font-size: clamp(45px, 5vw, 50px);
    color: var(--deep)
}

.hero-copy h1 em {
    font-style: normal;
    color: var(--wine)
}

.hero-copy>p {
    font-size: 18px;
    color: var(--muted);
    margin: 25px 0
}

.hero-actions {
    display: flex;
    gap: 24px;
    align-items: center
}

.text-link {
    color: var(--wine);
    font-weight: 800
}

.hero-proof {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 35px
}

.hero-proof span {
    padding: 15px 13px;
    border-left: 3px solid var(--wine);
    font-size: 11px;
    color: var(--muted)
}

.hero-proof b {
    display: block;
    color: var(--deep);
    font-size: 19px
}

.lead-form {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 31px;
    box-shadow: 0 25px 65px rgba(74, 13, 31, .13)
}

.lead-form>span {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
    color: var(--wine)
}

.lead-form h2 {
    font-size: 26px;
    margin: 8px 0
}

.lead-form>p {
    font-size: 13px;
    color: var(--muted)
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px
}

.lead-form label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    margin-bottom: 12px
}

.lead-form input,
.lead-form select,
.lead-form textarea {
    width: 100%;
    display: block;
    border: 1px solid #d9cbd0;
    border-radius: 7px;
    padding: 12px;
    margin-top: 5px;
    font: 13px Inter;
    background: #fff
}

.lead-form .button {
    width: 100%;
    margin-top: 3px
}

.lead-form>small {
    display: block;
    text-align: center;
    color: var(--muted);
    font-size: 9px;
    margin-top: 10px
}

.search-strip {
    padding: 25px 0;
    border-bottom: 1px solid var(--line)
}

.search-strip>div>span {
    font-size: 10px;
    color: var(--muted);
    letter-spacing: .13em
}

.search-strip .container div {
    display: flex;
    flex-wrap: wrap;
    gap: 27px;
    color: #72656a
}

.metric-band {
    background: var(--deep);
    color: #fff
}

.metric-band article {
    padding: 27px;
    border-right: 1px solid rgba(255, 255, 255, .14)
}

.metric-band b {
    display: block;
    font: 800 28px "Plus Jakarta Sans";
    color: #e1a9ba
}

.metric-band span {
    font-size: 12px;
    color: #cdb8bf
}

.section {
    padding: 90px 0
}

.split-heading {
    margin-bottom: 42px
}

.split-heading h2,
.section-title h2 {
    font-size: clamp(34px, 4vw, 50px);
    color: var(--deep)
}

.split-heading .row>p,
.section-title>p {
    color: var(--muted);
    line-height: 1.8
}

.section-title {
    text-align: center;
    max-width: 830px;
    margin: 0 auto 48px
}

.change-section {
    background: var(--blush)
}

.change-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 27px
}

.change-card span {
    font-size: 11px;
    font-weight: 800;
    color: var(--wine)
}

.change-card h3 {
    font-size: 18px;
    margin: 30px 0 10px
}

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

.audit-callout {
    margin-top: 23px;
    background: linear-gradient(105deg, var(--wine), var(--wine2));
    color: #fff;
    border-radius: 20px;
    padding: 27px 31px
}

.audit-callout div {
    display: grid
}

.audit-callout span {
    color: #f1d7df
}

.audit-callout .button {
    background: #fff;
    color: var(--wine);
    box-shadow: none
}

.service-card {
    position: relative;
    border: 1px solid var(--line);
    border-radius: 22px;
    padding: 28px;
    min-height: 300px;
    overflow: hidden;
    transition: .25s
}

.service-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 42px rgba(76, 11, 31, .1);
    border-color: #cc91a2
}

.service-card>i {
    position: absolute;
    right: 24px;
    top: 24px;
    font-style: normal;
    color: #b9a4aa;
    font-size: 11px
}

.service-card .icon {
    width: 51px;
    height: 51px;
    border-radius: 16px;
    background: #fae9ee;
    color: var(--wine);
    display: grid;
    place-items: center;
    font-weight: 800;
    margin-bottom: 30px
}

.service-card small {
    font-weight: 800;
    letter-spacing: .13em;
    color: var(--wine)
}

.service-card h3 {
    font-size: 20px;
    margin: 8px 0 12px
}

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

.audience,
.plans,
.why {
    background: var(--deep);
    color: #fff
}

.audience .split-heading h2,
.plans h2,
.why h2 {
    color: #fff
}

.audience .split-heading .row>p,
.why .split-heading .row>p {
    color: #cdb7be
}

.audience-grid {
    background: rgba(255, 255, 255, .14)
}

.audience-card {
    background: var(--deep);
    padding: 29px;
    min-height: 180px
}

.audience-card b {
    font-size: 17px
}

.audience-card p {
    font-size: 13px;
    color: #c9b3ba;
    margin: 13px 0 0
}

.platform-card {
    background: var(--blush);
    padding: 34px;
    border-radius: 20px
}

.platform-card span {
    font-size: 10px;
    color: var(--wine);
    font-weight: 800;
    letter-spacing: .14em
}

.platform-card h3 {
    font-size: 23px;
    margin: 12px 0 22px
}

.platform-card ul,
.plan-card ul {
    padding: 0;
    list-style: none
}

.platform-card li,
.plan-card li {
    padding: 9px 0 9px 20px;
    position: relative;
    border-bottom: 1px solid var(--line);
    font-size: 13px
}

.platform-card li:before,
.plan-card li:before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--wine);
    font-weight: 800
}

.plans .section-title>p {
    color: #cdb7be
}

.plan-card {
    background: #fff;
    color: var(--ink);
    border-radius: 20px;
    padding: 27px;
    min-height: 520px;
    display: flex;
    flex-direction: column;
    position: relative
}

.plan-card>small {
    color: var(--wine);
    font-weight: 800;
    letter-spacing: .14em
}

.plan-card h3 {
    font-size: 23px;
    margin: 12px 0
}

.plan-card p {
    font-size: 13px;
    color: var(--muted)
}

.plan-card ul {
    margin-bottom: 24px
}

.plan-card a {
    margin-top: auto;
    color: var(--wine);
    font-weight: 800;
    font-size: 13px
}

.plan-card.popular {
    border: 3px solid #bf5675;
    transform: translateY(-12px)
}

.plan-card.popular>span {
    position: absolute;
    top: -14px;
    right: 18px;
    background: #bf5675;
    color: #fff;
    padding: 6px 10px;
    border-radius: 20px;
    font-size: 9px;
    font-weight: 800
}

.process-grid {
    border-top: 1px solid var(--line)
}

.process-card {
    padding: 30px 25px;
    border-right: 1px solid var(--line)
}

.process-card b {
    font-size: 26px;
    color: #bd6f86
}

.process-card h3 {
    font-size: 18px;
    margin: 25px 0 9px
}

.process-card p {
    font-size: 13px;
    color: var(--muted)
}

.reporting {
    background: linear-gradient(130deg, #310914, #571127);
    color: #fff
}

.reporting h2 {
    font-size: clamp(34px, 4vw, 50px);
    color: #fff;
}

.reporting p {
    color: #ceb9c0;
    margin: 20px 0
}

.metric-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: rgba(255, 255, 255, .14)
}

.metric-list span {
    background: #3b0b19;
    padding: 16px;
    font-size: 11px;
    color: #bea8af
}

.metric-list b {
    display: block;
    color: #fff;
    font-size: 13px
}

.report-card {
    background: #fff;
    color: var(--ink);
    padding: 28px;
    border-radius: 22px
}

.report-head {
    display: flex;
    justify-content: space-between;
    font-size: 10px;
    letter-spacing: .12em
}

.report-head i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #35c774
}

.report-card>strong {
    display: block;
    font: 800 44px "Plus Jakarta Sans";
    color: var(--wine);
    margin-top: 25px
}

.report-card>small {
    color: var(--muted)
}

.bars {
    height: 175px;
    display: flex;
    align-items: end;
    gap: 12px;
    margin: 20px 0
}

.bars i {
    flex: 1;
    background: linear-gradient(#aa3155, #f1d8e0);
    border-radius: 6px 6px 0 0
}

.report-foot {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--line);
    padding-top: 15px
}

.report-foot span {
    font-size: 10px;
    color: var(--muted)
}

.report-foot b {
    display: block;
    color: #2cab67
}

.category__results {
    background: var(--blush)
}

.result-grid article {
    border-radius: 20px;
    padding: 20px 40px;
    background: #fff
}

.education-result {
    background: linear-gradient(140deg, #310914, #66152e);
    color: #fff;
    padding: 40px
}

.result-grid small {
    font-size: 10px;
    letter-spacing: .13em;
    color: #c6738c;
    font-weight: 800
}

.result-card>b {
    font: 800 32px "Plus Jakarta Sans";
    color: var(--wine);
    display: block;
    margin: 20px 0 5px
}

.result-grid article>p {
    color: var(--muted);
    font-size: 13px
}

.education-result h3 {
    font-size: 50px;
    margin: 18px 0;
     color: var(--wine);
}

.education-result>p {
    color: #ceb8bf !important
}

.education-result>div {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 30px
}

.education-result>div b {
    font-size: 27px;
    color: var(--wine);
    /* col;or: #e2a2b5 */
}

.education-result>div span {
    display: block;
    font: 400 10px Inter;
    color: #cbb6bd
}

.table-wrap {
    border: 1px solid var(--line);
    border-radius: 20px;
    overflow: auto
}

.ri-service-page table {
    width: 100%;
    border-collapse: collapse;
    min-width: 650px
}

.ri-service-page th,
.ri-service-page td {
    text-align: left;
    padding: 18px 22px;
    border-bottom: 1px solid var(--line)
}

.ri-service-page th {
    background: var(--deep);
    color: #fff;
    font-size: 12px
}

.ri-service-page td {
    font-size: 13px
}

.ri-service-page td:nth-child(2) {
    color: var(--wine);
    font-weight: 700
}

.why-grid {
    border-top: 1px solid rgba(255, 255, 255, .16)
}

.why-card {
    padding: 30px 24px;
    border-right: 1px solid rgba(255, 255, 255, .16)
}

.why-card b {
    font: 800 31px "Plus Jakarta Sans";
    color: #dea2b4
}

.why-card h3 {
    font-size: 17px;
    margin: 16px 0 8px
}

.why-card p {
    font-size: 12px;
    color: #c6b0b7
}

.faq-layout h2 {
    font-size: clamp(34px, 4vw, 50px)
}

.faq-layout .row>div:first-child p {
    color: var(--muted);
    margin: 20px 0
}

.ri-faq-accordion details {
    border-top: 1px solid var(--line);
    padding: 20px 0
}

.ri-faq-accordion details:last-child {
    border-bottom: 1px solid var(--line)
}

.ri-service-page summary {
    list-style: none;
    cursor: pointer;
    font-weight: 800;
    display: flex;
    justify-content: space-between;
    gap: 20px
}

.ri-service-page summary span {
    color: var(--wine);
    font-size: 20px
}

.ri-faq-accordion p {
    font-size: 14px;
    color: var(--muted);
    padding-right: 40px
}

.proposal {
    padding: 90px 0;
    background: linear-gradient(130deg, #62132d, #951f45);
    color: #fff
}

.proposal-layout .row>div:first-child h2 {
    font-size: clamp(38px, 4vw, 54px)
}

.proposal-layout .row>div:first-child>p {
    color: #f0d9e0;
    margin: 20px 0
}

.proposal-layout .row>div:first-child>ul {
    padding: 0;
    list-style: none
}

.proposal-layout .row>div:first-child>ul li {
    padding: 6px 0
}

.proposal-layout .row>div:first-child>ul li:before {
    content: "✓";
    margin-right: 10px;
    color: #efb4c5
}

.contact-row {
    display: flex;
    gap: 35px;
    margin-top: 30px
}

.contact-row small,
.contact-row b {
    display: block
}

.contact-row small {
    font-size: 9px;
    letter-spacing: .13em;
    color: #eab2c2
}

.contact-row b {
    font-size: 13px
}

.proposal .lead-form {
    color: var(--ink)
}

.ri-service-page footer {
    background: #21070f;
    color: #fff;
    padding: 0
}

.footer-top {
    display: grid;
    grid-template-columns: 1.5fr repeat(3, 1fr);
    gap: 48px;
    padding: 55px 0
}

.footer-logo {
    /* background: #fff; */
    border-radius: 8px;
    width: 260px;
    height: 72px
}

.footer-logo img {
    width: 315px;
    left: -27px;
    top: -49px
}

.footer-brand p {
    font-size: 13px;
    color: #cbb4bb;
    max-width: 340px;
    margin-top: 18px
}

.footer-top h3 {
    font-size: 12px;
    color: #dda0b3;
    letter-spacing: .1em;
    margin-bottom: 17px
}

.footer-top>div:not(:first-child) a,
.footer-top>div:not(:first-child) span {
    display: block;
    color: #c9b5bb;
    font-size: 12px;
    padding: 5px 0
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, .13);
    padding: 20px 0;
    display: flex;
    justify-content: space-between;
    color: #a99198;
    font-size: 11px
}

.floating {
    position: fixed;
    right: 18px;
    bottom: 20px;
    z-index: 50;
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    gap: 8px
}

.floating a {
    box-shadow: 0 10px 25px rgba(0, 0, 0, .2)
}

.enquire-float {
    background: linear-gradient(135deg, var(--wine), var(--wine2));
    color: #fff;
    border-radius: 25px;
    padding: 12px 18px;
    font-size: 12px;
    font-weight: 800
}

.whatsapp,
.call {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #fff;
    font-weight: 800;
    font-size: 11px
}

.whatsapp {
    background: #24b85a
}

.call {
    background: var(--deep);
    font-size: 17px
}

@media(max-width:980px) {

    .ri-site-nav nav,
    .ri-site-nav>.button {
        display: none
    }

    .menu {
        display: block
    }

    .ri-site-nav nav.open {
        display: flex;
        position: absolute;
        top: 82px;
        left: 0;
        right: 0;
        background: #fff;
        flex-direction: column;
        align-items: stretch;
        padding: 20px 4%;
        box-shadow: 0 20px 30px rgba(0, 0, 0, .1)
    }

    .plan-card.popular {
        transform: none
    }

    .footer-top {
        grid-template-columns: 1fr 1fr
    }

    .footer-brand {
        grid-column: 1/-1
    }
}

@media(max-width:640px) {

    .topbar .wrap>span,
    .topbar .wrap a:first-child {
        display: none
    }

    .topbar .wrap {
        justify-content: center
    }

    .topbar .wrap div {
        gap: 15px
    }

    header {
        height: 70px
    }

    .ri-site-nav nav.open {
        top: 70px
    }

    .logo {
        width: 205px;
        height: 54px
    }

    .logo img {
        width: 245px;
        left: -20px;
        top: -37px
    }

    .service-hero {
        padding: 55px 0
    }

    .hero-copy h1 {
        font-size: 39px
    }

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

    .hero-proof {
        grid-template-columns: 1fr 1fr
    }

    .form-grid {
        grid-template-columns: 1fr
    }

    .lead-form {
        padding: 24px
    }

    .section {
        padding: 65px 0
    }

    .section-title h2,
    .split-heading h2 {
        font-size: 31px
    }

    .metric-band article {
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .14)
    }

    .education-result>div {
        grid-template-columns: 1fr 1fr
    }

    .metric-list {
        grid-template-columns: 1fr
    }

    .proposal {
        padding: 65px 0
    }

    .contact-row {
        flex-direction: column;
        gap: 12px
    }

    .footer-top {
        grid-template-columns: 1fr 1fr;
        gap: 30px
    }

    .footer-brand {
        grid-column: 1/-1
    }

    .footer-bottom {
        flex-direction: column;
        gap: 8px
    }

    .enquire-float {
        font-size: 0;
        width: 48px;
        height: 48px;
        padding: 0
    }

    .enquire-float:after {
        content: "ENQ";
        font-size: 10px;
        display: grid;
        place-items: center;
        height: 100%
    }
}

.decorative-footer {
    position: relative;
    overflow: hidden;
    background: linear-gradient(145deg, #19050c, #310914 58%, #4b0f23);
    color: #fff
}

.footer-inner {
    position: relative;
    z-index: 2
}

.footer-orb {
    position: absolute;
    border-radius: 50%;
    pointer-events: none
}

.orb-one {
    width: 430px;
    height: 430px;
    right: -190px;
    top: 90px;
    background: radial-gradient(circle, rgba(179, 49, 87, .35), transparent 68%)
}

.orb-two {
    width: 330px;
    height: 330px;
    left: -180px;
    bottom: -160px;
    border: 1px solid rgba(218, 160, 179, .24)
}

.footer-lines {
    position: absolute;
    inset: 0;
    opacity: .08;
    background: repeating-linear-gradient(120deg, transparent 0 70px, #fff 71px 72px)
}

.footer-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 42px;
    padding: 52px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .14)
}

.footer-cta span {
    font-size: 10px;
    letter-spacing: .18em;
    color: #dda0b3;
    font-weight: 800
}

.footer-cta h2 {
    font-size: 34px;
    max-width: 760px;
    margin-top: 9px
}

.footer-cta .button {
    flex: none
}

.decorative-footer .footer-top {
    position: relative;
    padding: 55px 0 42px
}

.footer-contacts {
    display: grid;
    gap: 11px;
    margin-top: 20px
}

.footer-contacts a small,
.footer-contacts a b {
    display: block
}

.footer-contacts a small {
    font-size: 9px;
    letter-spacing: .13em;
    color: #ab8d97
}

.footer-contacts a b {
    font-size: 13px
}

.social-links {
    display: flex;
    gap: 8px;
    margin-top: 20px
}

.social-links a {
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 11px;
    transition: .2s
}

.social-links a:hover {
    background: var(--wine2);
    border-color: var(--wine2)
}

.footer-text-trigger {
    border: 0;
    background: none;
    color: #e7b1c1;
    font: 700 12px Inter;
    padding: 8px 0;
    cursor: pointer
}

.footer-info {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid rgba(255, 255, 255, .12);
    border-bottom: 1px solid rgba(255, 255, 255, .12)
}

.footer-info>div {
    padding: 22px 25px;
    border-right: 1px solid rgba(255, 255, 255, .12)
}

.footer-info>div:last-child {
    border: 0
}

.footer-info span {
    font-size: 9px;
    letter-spacing: .14em;
    color: #dda0b3;
    font-weight: 800
}

.footer-info p {
    font-size: 12px;
    color: #c8b1b9;
    margin: 7px 0 0
}

.footer-bottom {
    border: 0
}

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

.enquire-float {
    height: 48px;
    border: 0;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 0 17px 0 8px;
    font: 800 12px Inter;
    cursor: pointer
}

.enquire-float i {
    font-style: normal;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #fff;
    color: var(--wine);
    display: grid;
    place-items: center;
    font-size: 16px
}

.floating button {
    box-shadow: 0 10px 25px rgba(0, 0, 0, .22)
}

.service-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: .25s
}

.service-modal.open {
    opacity: 1;
    visibility: visible
}

.modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(24, 3, 10, .84);
    backdrop-filter: blur(6px)
}

.modal-panel {
    position: relative;
    width: min(900px, 96vw);
    max-height: 92vh;
    overflow: auto;
    background: #fff;
    border-radius: 22px;
    box-shadow: 0 35px 100px rgba(0, 0, 0, .45);
    transform: translateY(20px) scale(.98);
    transition: .25s
}

.service-modal.open .modal-panel {
    transform: none
}

.modal-x {
    position: absolute;
    right: 13px;
    top: 12px;
    width: 37px;
    height: 37px;
    border: 0;
    border-radius: 50%;
    background: #fff0f4;
    color: var(--deep);
    font-size: 25px;
    cursor: pointer;
    z-index: 3
}

.modal-copy {
    padding: 43px;
    background: linear-gradient(145deg, #310914, #701630);
    color: #fff
}

.modal-copy>span {
    font-size: 9px;
    letter-spacing: .15em;
    color: #e2a7b9;
    font-weight: 800
}

.modal-copy h2 {
    font-size: 31px;
    margin: 15px 0
}

.modal-copy p {
    font-size: 13px;
    color: #dbc7ce
}

.modal-copy>div {
    display: grid;
    gap: 10px;
    margin-top: 30px
}

.modal-copy b {
    font-size: 12px;
    color: #f4dde4
}

.modal-form {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 42px
}

@media(max-width:980px) {
    .footer-cta {
        align-items: flex-start
    }

    .footer-info {
        grid-template-columns: 1fr
    }

    .footer-info>div {
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .12)
    }

    .modal-copy {
        padding: 30px
    }

    .modal-copy>div {
        grid-template-columns: repeat(3, 1fr);
        margin-top: 18px
    }

    .modal-form {
        padding: 30px
    }
}

@media(max-width:640px) {
    .footer-cta {
        flex-direction: column;
        padding: 38px 0
    }

    .footer-cta h2 {
        font-size: 27px
    }

    .footer-cta .button {
        width: 100%
    }

    .modal-copy {
        padding: 27px 24px
    }

    .modal-copy h2 {
        font-size: 25px
    }

    .modal-copy>div {
        grid-template-columns: 1fr;
        gap: 5px
    }

    .modal-form {
        padding: 25px 22px
    }

    .modal-x {
        right: 8px;
        top: 8px
    }

    .enquire-float:after {
        display: none
    }

    .enquire-float i {
        width: 34px;
        height: 34px
    }

    .enquire-float span {
        display: none
    }
}

@media (min-width: 992px) {
    .metric-band article {
        border-bottom: 0
    }

    .metric-band article:last-child {
        border-right: 0
    }
}
