:root {
    --rml-bg: #080b0c;
    --rml-bg-soft: #0f1415;
    --rml-surface: #13191a;
    --rml-surface-2: #182021;
    --rml-panel: var(--rml-surface);
    --rml-panel-light: #f3f7f4;
    --rml-line: rgba(255, 255, 255, .09);
    --rml-border: var(--rml-line);
    --rml-text: #fff;
    --rml-text-soft: #c1c9cb;
    --rml-text-muted: #8d989b;
    --rml-muted: var(--rml-text-soft);
    --rml-green: #9ee63f;
    --rml-green-strong: #76c91f;
    --rml-green-hover: #b1f05f;
    --rml-green-soft: rgba(158, 230, 63, .11);
    --rml-dark-green: #18250f;
    --rml-radius-sm: 8px;
    --rml-radius-md: 13px;
    --rml-radius-lg: 20px;
    --rml-radius: var(--rml-radius-lg);
    --rml-shadow: 0 24px 60px rgba(0, 0, 0, .28);
    --rml-container: 1400px;
}

/* RM Leonis — Home faithful reference pass (2026-08-27) */
.rml-home-v3 .rml-home-assurance {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(380px, .88fr);
    gap: 18px;
    margin-top: 24px;
}

.rml-home-v3 .rml-home-assurance .rml-home-why,
.rml-home-v3 .rml-home-assurance .rml-home-network {
    min-height: 310px;
    margin-top: 0;
}

.rml-home-v3 .rml-home-assurance .rml-home-why {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(220px, .88fr);
    gap: 20px;
    overflow: hidden;
    padding: 30px;
}

.rml-home-v3 .rml-home-why__copy { position: relative; z-index: 1; min-width: 0; }
.rml-home-v3 .rml-home-assurance .rml-home-why__items { grid-template-columns: 1fr; gap: 0; margin-top: 18px; }
.rml-home-v3 .rml-home-assurance .rml-home-why__item { grid-template-columns: 20px minmax(0, 1fr); gap: 9px; padding: 8px 0; border-top: 1px solid var(--rml-border); }
.rml-home-v3 .rml-home-assurance .rml-home-why__icon { font-size: 15px; }
.rml-home-v3 .rml-home-assurance .rml-home-why__content strong { font-size: 13px; font-weight: 500; color: var(--rml-text-soft); }
.rml-home-v3 .rml-home-why__visual { align-self: center; width: 100%; max-height: 270px; object-fit: contain; filter: saturate(.9); }

.rml-home-v3 .rml-home-assurance .rml-home-network { display: block; grid-template-columns: none; }
.rml-home-v3 .rml-home-assurance .rml-home-network__content { height: 100%; padding: 30px; }
.rml-home-v3 .rml-home-network__content ul { display: grid; gap: 9px; margin: 0 0 18px; padding: 0; color: var(--rml-text-muted); font-size: 13px; list-style: none; }
.rml-home-v3 .rml-home-network__content li::before { margin-right: 8px; color: var(--rml-green); font-family: "Font Awesome 5 Pro"; content: "\f058"; }
.rml-home-v3 .rml-home-network__content .rml-home-button { width: 100%; margin-top: auto; }
.rml-home-v3 .rml-home-network__content .rml-home-button > i:first-child { margin: 0 10px 0 0; }

.rml-home-v3 .rml-home-cta__visual img { object-position: 58% center; }

@media (max-width: 991.98px) {
    .rml-home-v3 .rml-home-assurance { grid-template-columns: 1fr; }
    .rml-home-v3 .rml-home-assurance .rml-home-why,
    .rml-home-v3 .rml-home-assurance .rml-home-network { min-height: 0; }
}

@media (max-width: 575.98px) {
    .rml-home-v3 .rml-home-assurance .rml-home-why { grid-template-columns: 1fr; padding: 24px; }
    .rml-home-v3 .rml-home-why__visual { max-height: 210px; }
    .rml-home-v3 .rml-home-assurance .rml-home-network__content { padding: 24px; }
}

/* Pedido de proposta comercial */
.rml-proposal-page {
    min-height: 70vh;
    color: #172019;
    background: #f5f8f5;
}

.rml-proposal-page .rml-proposal-container {
    width: min(100% - 32px, 980px);
    margin: 0 auto;
}

.rml-proposal-page .rml-proposal-hero {
    padding: 76px 0 112px;
    color: #fff;
    background: radial-gradient(circle at 88% 15%, rgba(158, 230, 63, .18), transparent 32%), #080d09;
}

.rml-proposal-page .rml-proposal-eyebrow,
.rml-proposal-page .rml-proposal-step {
    display: block;
    margin-bottom: 10px;
    color: var(--rml-green);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .15em;
}

.rml-proposal-page .rml-proposal-hero h1 {
    max-width: 760px;
    margin: 0 0 16px;
    color: #fff;
    font-size: clamp(34px, 5vw, 54px);
    font-weight: 850;
    line-height: 1.08;
    letter-spacing: -.045em;
}

.rml-proposal-page .rml-proposal-hero p {
    max-width: 720px;
    margin: 0;
    color: #bec9c0;
    font-size: 17px;
    line-height: 1.7;
}

.rml-proposal-page .rml-proposal-section {
    padding: 0 0 80px;
}

.rml-proposal-page .rml-proposal-card {
    position: relative;
    margin-top: -64px;
    padding: 42px 48px 48px;
    border: 1px solid #dce5dd;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(15, 37, 20, .12);
}

.rml-proposal-page .rml-proposal-card-heading {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 34px;
    padding-bottom: 28px;
    border-bottom: 1px solid #e6ece7;
}

.rml-proposal-page .rml-proposal-card-icon {
    width: 52px;
    height: 52px;
    display: grid;
    flex: 0 0 52px;
    place-items: center;
    border-radius: 14px;
    color: #15200f;
    background: var(--rml-green);
    font-size: 20px;
}

.rml-proposal-page .rml-proposal-card-heading h2 {
    margin: 0 0 6px;
    color: #172019;
    font-size: 26px;
    font-weight: 830;
    line-height: 1.2;
    letter-spacing: -.025em;
}

.rml-proposal-page .rml-proposal-card-heading p {
    margin: 0;
    color: #6d786f;
    font-size: 14px;
    line-height: 1.55;
}

.rml-proposal-page .rml-proposal-step {
    margin-bottom: 5px;
    color: #65a62b;
    font-size: 10px;
}

.rml-proposal-page .rml-proposal-alert {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 25px;
    padding: 14px 16px;
    border: 1px solid;
    border-radius: 11px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
}

.rml-proposal-page .rml-proposal-alert-success {
    border-color: #b9dda0;
    color: #31591d;
    background: #f0fae9;
}

.rml-proposal-page .rml-proposal-alert-error {
    border-color: #e8b9b9;
    color: #812e2e;
    background: #fff3f3;
}

.rml-proposal-page .rml-proposal-form {
    position: relative;
}

.rml-proposal-page .rml-proposal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.rml-proposal-page .rml-proposal-field {
    margin-bottom: 23px;
}

.rml-proposal-page .rml-proposal-field label {
    display: block;
    margin-bottom: 8px;
    color: #263128;
    font-size: 13px;
    font-weight: 800;
}

.rml-proposal-page .rml-proposal-field label > span[aria-hidden="true"] {
    color: #9b2f2f;
}

.rml-proposal-page .rml-proposal-optional {
    margin-left: 6px;
    color: #778178;
    font-size: 11px;
    font-weight: 600;
}

.rml-proposal-page .rml-proposal-field input,
.rml-proposal-page .rml-proposal-field select,
.rml-proposal-page .rml-proposal-field textarea {
    width: 100%;
    min-height: 48px;
    padding: 11px 14px;
    border: 1px solid #d2dcd4;
    border-radius: 10px;
    outline: 0;
    color: #263229;
    background: #fafcfa;
    font: inherit;
    font-size: 15px;
    line-height: 1.45;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.rml-proposal-page .rml-proposal-field textarea {
    min-height: 190px;
    resize: vertical;
}

.rml-proposal-page .rml-proposal-field input:focus,
.rml-proposal-page .rml-proposal-field select:focus,
.rml-proposal-page .rml-proposal-field textarea:focus {
    border-color: #7fc337;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(127, 195, 55, .16);
}

.rml-proposal-page .rml-proposal-field [aria-invalid="true"] {
    border-color: #bc4b4b;
    background: #fffafa;
}

.rml-proposal-page .rml-proposal-field [aria-invalid="true"]:focus {
    box-shadow: 0 0 0 4px rgba(188, 75, 75, .13);
}

.rml-proposal-page .rml-proposal-field small {
    display: block;
    margin-top: 7px;
    color: #768078;
    font-size: 12px;
    line-height: 1.45;
}

.rml-proposal-page .rml-proposal-field-error {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin-top: 7px;
    color: #9a3434;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
}

.rml-proposal-page .rml-proposal-field-error i {
    margin-top: 2px;
}

.rml-proposal-page .rml-proposal-submit-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin-top: 8px;
    padding-top: 26px;
    border-top: 1px solid #e6ece7;
}

.rml-proposal-page .rml-proposal-submit-row p {
    max-width: 520px;
    margin: 0;
    color: #727c74;
    font-size: 12.5px;
    line-height: 1.55;
}

.rml-proposal-page .rml-proposal-submit-row a {
    color: #4f8e27;
    font-weight: 750;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.rml-proposal-page .rml-proposal-submit {
    min-width: 190px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 14px 22px;
    border: 0;
    border-radius: 10px;
    color: #11190e;
    background: var(--rml-green);
    font-size: 14px;
    font-weight: 850;
    cursor: pointer;
    transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.rml-proposal-page .rml-proposal-submit:hover {
    color: #11190e;
    background: #aff552;
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(118, 201, 31, .2);
}

.rml-proposal-page .rml-proposal-submit:focus-visible {
    outline: 3px solid #172019;
    outline-offset: 3px;
}

.rml-proposal-page .rml-proposal-submit:disabled {
    cursor: not-allowed;
    opacity: .55;
    transform: none;
    box-shadow: none;
}

.rml-proposal-page .rml-proposal-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

@media (max-width: 767px) {
    .rml-proposal-page .rml-proposal-hero {
        padding: 54px 0 94px;
    }

    .rml-proposal-page .rml-proposal-hero p {
        font-size: 15px;
    }

    .rml-proposal-page .rml-proposal-card {
        margin-top: -52px;
        padding: 30px 24px 32px;
        border-radius: 18px;
    }

    .rml-proposal-page .rml-proposal-card-heading {
        gap: 14px;
    }

    .rml-proposal-page .rml-proposal-card-icon {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
    }

    .rml-proposal-page .rml-proposal-card-heading h2 {
        font-size: 22px;
    }

    .rml-proposal-page .rml-proposal-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .rml-proposal-page .rml-proposal-submit-row {
        align-items: stretch;
        flex-direction: column;
        gap: 18px;
    }

    .rml-proposal-page .rml-proposal-submit {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .rml-proposal-page .rml-proposal-container {
        width: min(100% - 20px, 980px);
    }

    .rml-proposal-page .rml-proposal-card {
        padding: 26px 17px 27px;
    }

    .rml-proposal-page .rml-proposal-card-heading {
        align-items: flex-start;
    }

}

/* Consentimento de cookies */
.rml-cookie-banner[hidden] { display: none !important; }
.rml-cookie-banner { --rml-cookie-accent: #996500; position: fixed; z-index: 10000; right: 24px; bottom: 24px; left: 24px; width: min(1080px, calc(100% - 48px)); display: grid; grid-template-columns: 52px 1fr auto; align-items: center; gap: 20px; margin: 0 auto; padding: 20px 22px; border: 1px solid #e5c98d; border-radius: 17px; color: #0b2344; background: #fff; box-shadow: 0 24px 70px rgba(0,0,0,.42); }
.rml-cookie-icon { width: 50px; height: 50px; display: grid; place-items: center; border: 1px solid #e5c98d; border-radius: 14px; color: var(--rml-cookie-accent); background: #faf2df; font-size: 20px; }
.rml-cookie-copy strong { display: block; margin-bottom: 5px; color: #0b2344; font-size: 15px; }
.rml-cookie-copy p { margin: 0 0 4px; color: #506582; font-size: 12px; line-height: 1.55; }
.rml-cookie-copy a { color: var(--rml-cookie-accent); font-size: 12px; font-weight: 750; }
.rml-cookie-actions { display: flex; align-items: center; gap: 9px; }
.rml-cookie-actions .btn { min-width: 148px; min-height: 44px; white-space: nowrap; padding: 10px 15px; border-radius: 9px; font-size: 13px; font-weight: 800; }
.rml-cookie-essential { border: 1px solid #c79928 !important; color: #0b2344 !important; background: #fff !important; }
.rml-cookie-essential:hover { border-color: var(--rml-cookie-accent) !important; background: #faf2df !important; }
.rml-cookie-accept { border: 1px solid var(--rml-cookie-accent) !important; color: #0b2344 !important; background: #ddb039 !important; }
.rml-cookie-accept:hover { background: #edc457 !important; }
.rml-cookie-actions .btn[aria-pressed="true"] { box-shadow: 0 0 0 3px #b77a0b25; }
.rml-cookie-banner .rml-cookie-copy a:focus-visible,
.rml-cookie-banner .rml-cookie-actions .btn:focus-visible { outline: 3px solid #996500; outline-offset: 3px; box-shadow: 0 0 0 2px #fff; }
@media (max-width: 760px) {
    .rml-cookie-banner { right: 12px; bottom: 12px; left: 12px; width: calc(100% - 24px); grid-template-columns: 42px 1fr; gap: 13px; padding: 17px; }
    .rml-cookie-icon { width: 42px; height: 42px; }
    .rml-cookie-actions { grid-column: 1 / -1; }
    .rml-cookie-actions .btn { min-width: 0; flex: 1; }
}

@media (max-width: 430px) {
    .rml-cookie-icon { display: none; }
    .rml-cookie-banner { display: block; max-height: calc(100vh - 24px); overflow-y: auto; }
    .rml-cookie-actions { display: grid; margin-top: 14px; }
}

/* Página de autenticação */
.rml-login-body #main-body { padding: 0; }
.rml-login-container,
.rml-login-container > div,
.rml-login-container .primary-content { width: 100%; max-width: none; margin: 0; padding: 0; }
.rml-login-body { background: #031321; }
.rml-login-page {
    width: 100%;
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 70px 24px;
    color: #f1f5f3;
    background-color: #031321;
    background-image: url('../img/login/login-network-ciano.webp');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.rml-login-shell {
    width: min(1040px, 100%);
    min-height: 710px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid #176280;
    border-radius: 16px;
    background: #041522;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .34);
}

.rml-login-intro {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 62px clamp(46px, 4vw, 62px);
    border-left: 1px solid rgba(22,198,212,.74);
    overflow: hidden;
    color: var(--rml-text);
    background: #041522;
}

.rml-login-intro::before {
    content: "";
    position: absolute;
    top: -18px;
    bottom: -18px;
    left: -1px;
    width: 2px;
    background: #16C6D4;
    opacity: .9;
    transform: none;
    transform-origin: top;
    pointer-events: none;
}

.rml-login-intro > * { position: relative; z-index: 1; }
.rml-login-logo { width: 190px; height: 68px; display: block; margin-bottom: 44px; }
.rml-login-logo img { width: 100%; height: 100%; object-fit: contain; }
.rml-login-kicker { display: flex; align-items: center; gap: 10px; margin-bottom: 25px; color: #16C6D4; font-size: 12px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.rml-login-kicker i { width: 9px; height: 9px; border-radius: 50%; background: #16C6D4; box-shadow: 0 0 0 6px rgba(22,198,212,.1); }
.rml-login-intro h1 { max-width: 650px; margin: 0 0 26px; color: #fff; font-size: clamp(42px, 3.6vw, 58px); font-weight: 760; line-height: 1.06; letter-spacing: -.045em; }
.rml-login-intro h1 strong { color: #16C6D4; font-weight: inherit; }
.rml-login-intro p { max-width: 590px; margin-bottom: 30px; color: #B7CEDF; font-size: 15px; line-height: 1.65; }
.rml-login-intro ul { margin: 0; padding: 0; list-style: none; }
.rml-login-intro li { display: flex; align-items: flex-start; gap: 10px; margin: 17px 0; color: #dce7e9; font-size: 14px; }
.rml-login-intro li i { margin-top: 3px; color: #16C6D4; font-size: 17px; }
.rml-login-intro li strong,
.rml-login-intro li small { display: block; }
.rml-login-intro li strong { color: #f2f7f5; font-size: 14px; line-height: 1.4; }
.rml-login-intro li small { margin-top: 3px; color: #B7CEDF; font-size: 12px; line-height: 1.45; }
.rml-login-security-art { position: absolute; right: 22px; bottom: 18px; z-index: 0; width: 205px; height: auto; opacity: .42; filter: saturate(.78) brightness(.68); pointer-events: none; }

.rml-login-form { display: flex; flex-direction: column; justify-content: center; padding: 52px clamp(54px, 5vw, 76px); color: #f1f5f3; background: #041522; }
.rml-login-form-head { display: flex; align-items: center; gap: 16px; margin-bottom: 35px; }
.rml-login-form-head h2 { margin: 0 0 5px; color: #f5f8f7; font-size: 38px; font-weight: 820; letter-spacing: -.03em; }
.rml-login-form-head p { margin: 0; color: #B7CEDF; font-size: 15px; }
.rml-login-form label { margin-bottom: 9px; color: #f1f5f3; font-size: 13px; font-weight: 750; }
.rml-login-form .form-group { margin-bottom: 24px; }
.rml-login-form .input-group { overflow: hidden; border: 1px solid #176280; border-radius: 9px; background: #031321; transition: .2s ease; }
.rml-login-form .input-group:focus-within { border-color: #16C6D4; box-shadow: 0 0 0 4px rgba(22,198,212,.12); }
.rml-login-form .input-group-text, .rml-login-form .form-control, .rml-login-form .btn-reveal-pw { height: 58px; border: 0; color: #f1f5f3; background: transparent; }
.rml-login-form .input-group-text { padding-left: 19px; padding-right: 6px; color: #16C6D4; }
.rml-login-form .form-control { padding-left: 13px; box-shadow: none !important; }
.rml-login-form .form-control::placeholder { color: #91A9BA; opacity: 1; }
.rml-login-form .form-control:-webkit-autofill,
.rml-login-form .form-control:-webkit-autofill:hover,
.rml-login-form .form-control:-webkit-autofill:focus {
    -webkit-text-fill-color: #f1f5f3;
    caret-color: #f1f5f3;
    box-shadow: 0 0 0 1000px #031321 inset !important;
    transition: background-color 9999s ease-out 0s;
}
.rml-login-form .btn-reveal-pw { padding: 0 16px; }
.rml-login-label-row { display: flex; align-items: center; justify-content: space-between; }
.rml-login-label-row a { margin-bottom: 8px; color: #16C6D4; font-size: 12px; font-weight: 700; }
.rml-login-options { margin: -3px 0 20px; }
.rml-login-options label { display: inline-flex; align-items: center; gap: 9px; margin: 0; color: #dce7e9; cursor: pointer; }
.rml-login-options input { accent-color: #16C6D4; }
.rml-login-submit { width: 100%; height: 58px; display: flex; align-items: center; justify-content: center; gap: 12px; border: 0; border-radius: 9px; color: #031321; background: #16C6D4; font-size: 16px; font-weight: 850; transition: .2s ease; }
.rml-login-submit:hover, .rml-login-submit:focus { color: #031321; background: #39D8E1; transform: translateY(-1px); box-shadow: 0 12px 25px rgba(22,198,212,.22); }
.rml-login-register { margin-top: 27px; color: #B7CEDF; font-size: 13px; text-align: center; }
.rml-login-register a { color: #16C6D4; font-weight: 800; }

@media (max-width: 1050px) {
    .rml-login-page { width: 100%; min-height: 0; padding: 42px 18px 58px; }
    .rml-login-shell { grid-template-columns: 1fr; }
    .rml-login-form { padding: 46px 42px 52px; }
    .rml-login-logo { margin-bottom: 40px; }
    .rml-login-intro { padding: 52px 42px; }
    .rml-login-intro { border-top: 1px solid rgba(22,198,212,.74); border-left: 0; }
    .rml-login-intro::before { top: -1px; right: 0; bottom: auto; left: 0; width: auto; height: 2px; transform: none; }
    .rml-login-intro h1 { font-size: 46px; }
    .rml-login-security-art { width: 190px; opacity: .42; }
}

@media (max-width: 480px) {
    .rml-login-page { padding: 24px 12px 42px; }
    .rml-login-shell { min-height: 0; }
    .rml-login-form { padding: 34px 22px 40px; }
    .rml-login-logo { width: 172px; height: 62px; margin-bottom: 34px; }
    .rml-login-form-head h2 { font-size: 32px; }
    .rml-login-intro { padding: 38px 22px 42px; }
    .rml-login-intro h1 { font-size: 32px; }
    .rml-login-intro p { margin-bottom: 27px; }
    .rml-login-intro li { font-size: 13px; }
    .rml-login-security-art { width: 138px; opacity: .32; }
    .rml-login-label-row { align-items: flex-start; flex-direction: column; }
}


/* Foco e botões do login na paleta azul/ciano. */
.rml-login-page .rml-login-kicker { align-self:flex-start; padding:6px 12px; border:1px solid #176280; border-radius:999px; letter-spacing:.04em; }
.rml-login-page .rml-login-kicker i { box-shadow:none; }
.rml-login-page .rml-login-intro h1 { font-weight:700 !important; }
.rml-login-page .rml-login-submit.rml-action { background:#16C6D4 !important; color:#031321 !important; border-color:#16C6D4 !important; }
.rml-login-page .rml-login-submit.rml-action:hover { background:#39D8E1 !important; border-color:#39D8E1 !important; }
.rml-login-page :is(a,button,input):focus-visible { outline:2px solid #16C6D4; outline-offset:3px; }
.rml-login-page .input-group .form-control:focus-visible { outline:none; }
.rml-login-page .rml-login-form-head p,.rml-login-page .rml-login-intro p { font-size:17px; }
.rml-login-page .rml-login-intro li strong { font-size:16px; }
.rml-login-page .rml-login-intro li small { font-size:15px; }
.rml-login-page .rml-login-intro li i { font-size:26px; }
.rml-login-page .rml-login-register { font-size:15px; }
.rml-login-page .rml-login-form label { font-size:14px; }
.rml-login-page .rml-login-logo { width:200px; }
@media(min-width:1051px) { .rml-login-page .rml-login-form { padding-inline:68px 56px; } }

/* Recuperação de acesso */
.rml-reset-page { width: 100%; padding: 55px 18px 78px; color: #f1f5f3; background: transparent; }
.rml-reset-card { width: min(680px, 100%); margin: 0 auto; overflow: hidden; border: 1px solid #176280; border-radius: 23px; background: #041522; box-shadow: 0 28px 75px rgba(0,0,0,.34); }
.rml-reset-brand { height: 105px; display: flex; align-items: center; justify-content: space-between; padding: 20px 34px; border-bottom: 1px solid #176280; color: #c2cdcf; background: radial-gradient(circle at 90% 0, rgba(22,198,212,.14), transparent 42%), #031321; }
.rml-reset-brand img { width: 175px; height: 64px; object-fit: contain; }
.rml-reset-brand span { color: #c2cdcf; font-size: 11px; font-weight: 750; letter-spacing: .04em; }
.rml-reset-brand span i { margin-right: 6px; color: #16C6D4; }
.rml-reset-content { padding: 48px 58px 52px; background: #041522; }
.rml-reset-heading { text-align: center; }
.rml-reset-heading > span, .rml-reset-success { width: 58px; height: 58px; display: grid; place-items: center; margin: 0 auto 18px; border: 1px solid #176280; border-radius: 16px; color: #16C6D4; background: #07303B; font-size: 21px; }
.rml-reset-success { border-radius: 50%; color: #031321; background: #16C6D4; }
.rml-reset-heading h1, .rml-reset-content > h1 { margin: 0 0 11px; color: #f5f8f7; font-size: 31px; font-weight: 840; letter-spacing: -.035em; text-align: center; }
.rml-reset-heading p, .rml-reset-content > p { max-width: 500px; margin: 0 auto 30px; color: #B7CEDF; line-height: 1.65; text-align: center; }
.rml-reset-form { max-width: 480px; margin: 0 auto; }
.rml-reset-form label { margin-bottom: 8px; color: #f1f5f3; font-size: 13px; font-weight: 760; }
.rml-reset-form .input-group { overflow: hidden; border: 1px solid #176280; border-radius: 11px; background: #031321; }
.rml-reset-form .input-group:focus-within { border-color: #16C6D4; box-shadow: 0 0 0 4px rgba(22,198,212,.12); }
.rml-reset-form .input-group-text, .rml-reset-form .form-control { height: 50px; border: 0; color: #f1f5f3; background: transparent; box-shadow: none; }
.rml-reset-form > .form-group > .form-control { min-height: 50px; border: 1px solid #176280; border-radius: 11px; color: #f1f5f3; background: #031321; }
.rml-reset-form > .form-group > .form-control:focus { border-color: #16C6D4; box-shadow: 0 0 0 4px rgba(22,198,212,.12); }
.rml-reset-form .input-group-text { padding-right: 5px; color: #16C6D4; }
.rml-reset-form .form-control::placeholder { color: #91A9BA; opacity: 1; }
.rml-reset-form .form-control:-webkit-autofill,
.rml-reset-form .form-control:-webkit-autofill:hover,
.rml-reset-form .form-control:-webkit-autofill:focus { -webkit-text-fill-color: #f1f5f3; caret-color: #f1f5f3; box-shadow: 0 0 0 1000px #031321 inset !important; transition: background-color 9999s ease-out 0s; }
.rml-reset-submit { width: 100%; height: 51px; display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 22px; border: 0; border-radius: 10px; color: #031321; background: #16C6D4; font-weight: 850; }
.rml-reset-submit:hover, .rml-reset-submit:focus { color: #031321; background: #39D8E1; box-shadow: 0 12px 25px rgba(22,198,212,.2); }
.rml-reset-back { display: block; margin-top: 22px; color: #B7CEDF; font-size: 12px; font-weight: 700; text-align: center; }
.rml-reset-back:hover, .rml-reset-back:focus { color: #16C6D4; }
.rml-reset-back i { margin-right: 6px; color: #16C6D4; }
.rml-reset-content .alert { border-color: #176280; color: #dce7e9; background: #031321; }
.rml-reset-content .alert-success { border-color: #176280; color: #C9F3F8; background: #07303B; }
.rml-reset-content .alert-danger { border-color: #784047; color: #ffd7dc; background: #2a1519; }

@media (max-width: 600px) {
    .rml-reset-page { padding: 30px 12px 55px; }
    .rml-reset-brand { height: 86px; padding: 14px 20px; }
    .rml-reset-brand img { width: 140px; height: 52px; }
    .rml-reset-brand span { display: none; }
    .rml-reset-content { padding: 38px 23px 42px; }
    .rml-reset-heading h1, .rml-reset-content > h1 { font-size: 27px; }
}

#main-body:has(.rml-reset-page) { min-height:100vh; background:#031321 url('../img/login/login-network-ciano.webp') center/cover no-repeat; }
#main-body .rml-reset-page { background:transparent; }
.rml-reset-page .rml-reset-submit.rml-action { background:#16C6D4 !important; color:#031321 !important; border-color:#16C6D4 !important; }
.rml-reset-page .rml-reset-submit.rml-action:hover { background:#39D8E1 !important; border-color:#39D8E1 !important; }
.rml-reset-page :is(a,button):focus-visible { outline:2px solid #16C6D4; outline-offset:3px; }
.rml-reset-page .input-group .form-control:focus-visible { outline:none; }

/* Área de cliente — listagem de serviços */
body:has(.rml-services-page) {
    background: linear-gradient(180deg, #faf9f6 0, #faf9f6 330px, #faf9f6 100%);
}

.rml-services-page { padding-bottom: 65px; }

.rml-page-heading {
    margin-bottom: 24px;
    padding: 30px 34px;
    border-radius: 18px;
    color: #dce6de;
    background: radial-gradient(circle at 92% 0, rgba(158,230,63,.18), transparent 35%), #090e0b;
    box-shadow: 0 20px 55px rgba(17,38,22,.13);
}

.rml-page-heading > span { color: var(--rml-green); font-size: 10px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.rml-page-heading h1 { margin: 7px 0 7px; color: #fff; font-size: 34px; font-weight: 850; letter-spacing: -.035em; }
.rml-page-heading p { margin: 0; color: #aebbb1; font-size: 14px; }

.rml-services-page .table-container {
    padding: 22px;
    overflow: hidden;
    border: 1px solid #e7dfd0;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(6,25,37,.08);
}

.rml-services-page .dataTables_wrapper .dataTables_length,
.rml-services-page .dataTables_wrapper .dataTables_filter,
.rml-services-page .dataTables_wrapper .dataTables_info,
.rml-services-page .dataTables_wrapper .dataTables_paginate {
    color: #506582;
    font-size: 13px;
}

.rml-services-page .dataTables_wrapper .dataTables_filter input,
.rml-services-page .dataTables_wrapper .dataTables_length select {
    min-height: 40px;
    border: 1px solid #e7dfd0;
    border-radius: 9px;
    color: #0b2344;
    background: #faf9f6;
    box-shadow: none;
}

.rml-services-page .dataTables_wrapper .dataTables_filter input:focus {
    border-color: #ddb039;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(183,122,11,.12);
}

.rml-services-page table.table-list {
    margin: 16px 0 !important;
    overflow: hidden;
    border: 1px solid #e7dfd0;
    border-radius: 12px;
}

.rml-services-page table.table-list thead th {
    padding: 14px 12px;
    border: 0;
    color: #faf9f6;
    background: #0b2344;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .02em;
}

.rml-services-page table.table-list thead th,
.rml-services-page table.table-list thead th.sorting,
.rml-services-page table.table-list thead th.sorting_asc,
.rml-services-page table.table-list thead th.sorting_desc {
    color: #faf9f6 !important;
    background-color: #0b2344 !important;
}

.rml-services-page table.table-list thead th.sorting::before,
.rml-services-page table.table-list thead th.sorting::after,
.rml-services-page table.table-list thead th.sorting_asc::before,
.rml-services-page table.table-list thead th.sorting_asc::after,
.rml-services-page table.table-list thead th.sorting_desc::before,
.rml-services-page table.table-list thead th.sorting_desc::after {
    color: #ddb039 !important;
}

.rml-services-page table.table-list tbody td {
    padding: 16px 12px;
    border-color: #e7dfd0;
    color: #506582;
    vertical-align: middle;
}

.rml-services-page table.table-list tbody tr { background: #fff; transition: .18s ease; }
.rml-services-page table.table-list tbody tr:hover { background: #faf3e2; cursor: pointer; }
.rml-services-page table.table-list tbody strong { color: #0b2344; font-size: 14px; }
.rml-services-page table.table-list tbody a { color: #996500; }

.rml-services-page .label.status,
.rml-services-page .status {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 850;
}

.rml-services-page .status-active { color: #315b17; background: #e8f8da; }
.rml-services-page .status-pending { color: #7c5a19; background: #fff1cf; }
.rml-services-page .status-suspended { color: #8a4815; background: #ffead9; }
.rml-services-page .status-terminated,
.rml-services-page .status-cancelled { color: #7e3030; background: #fde3e3; }

.rml-services-page .pagination .page-link,
.rml-services-page .dataTables_paginate .paginate_button {
    border-color: #e7dfd0 !important;
    color: #506582 !important;
    background: #fff !important;
}

.rml-services-page .pagination .active .page-link,
.rml-services-page .dataTables_paginate .paginate_button.current {
    border-color: #ddb039 !important;
    color: #0b2344 !important;
    background: #ddb039 !important;
}

body:has(.rml-services-page) .sidebar .card,
body:has(.rml-services-page) .sidebar .panel {
    overflow: hidden;
    border: 1px solid #e7dfd0;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(6,25,37,.07);
}

body:has(.rml-services-page) .sidebar .card-header,
body:has(.rml-services-page) .sidebar .panel-heading {
    border: 0;
    color: #faf9f6;
    background: #0b2344;
}

body:has(.rml-services-page) .sidebar .card-header a,
body:has(.rml-services-page) .sidebar .panel-heading a { color: inherit; }
body:has(.rml-services-page) .sidebar .list-group-item:hover { color: #996500; background: #faf3e2; }
body:has(.rml-services-page) .sidebar .list-group-item.active,
body:has(.rml-services-page) .sidebar .list-group-item.active a {
    border-color: #ddb039 !important;
    color: #0b2344 !important;
    background: #ddb039 !important;
}

@media (max-width: 767px) {
    .rml-page-heading { padding: 27px 23px; border-radius: 15px; }
    .rml-page-heading h1 { font-size: 29px; }
    .rml-services-page .table-container { padding: 14px; border-radius: 13px; }
    .rml-services-page table.table-list { min-width: 700px; }
    .rml-services-page .table-container { overflow-x: auto; }
}

/* Área de cliente — tickets de suporte */
body:has(.rml-tickets-page) {
    background: linear-gradient(180deg, #faf9f6 0, #faf9f6 330px, #faf9f6 100%);
}

.rml-tickets-page { position: relative; padding-bottom: 65px; }

.rml-ticket-page-action {
    display: flex;
    justify-content: flex-end;
    margin: -72px 26px 36px 0;
}

.rml-ticket-page-action a {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 12px 18px;
    border-radius: 9px;
    color: #11190e;
    background: #9ee63f;
    font-size: 13px;
    font-weight: 850;
    text-decoration: none;
}

.rml-ticket-page-action a:hover { color: #11190e; background: #aff552; transform: translateY(-1px); }

.rml-tickets-page .table-container {
    padding: 22px;
    overflow: hidden;
    border: 1px solid #e7dfd0;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(6,25,37,.08);
}

.rml-tickets-page .dataTables_wrapper .dataTables_length,
.rml-tickets-page .dataTables_wrapper .dataTables_filter,
.rml-tickets-page .dataTables_wrapper .dataTables_info,
.rml-tickets-page .dataTables_wrapper .dataTables_paginate { color: #506582; font-size: 13px; }

.rml-tickets-page .dataTables_wrapper input,
.rml-tickets-page .dataTables_wrapper select {
    min-height: 40px;
    border: 1px solid #e7dfd0;
    border-radius: 9px;
    color: #0b2344;
    background: #faf9f6;
    box-shadow: none;
}

.rml-tickets-page .dataTables_wrapper input:focus { border-color: #ddb039; background: #fff; box-shadow: 0 0 0 4px rgba(183,122,11,.12); }

.rml-tickets-page table.table-list {
    margin: 16px 0 !important;
    overflow: hidden;
    border: 1px solid #e7dfd0;
    border-radius: 12px;
}

.rml-tickets-page table.table-list thead th,
.rml-tickets-page table.table-list thead th.sorting,
.rml-tickets-page table.table-list thead th.sorting_asc,
.rml-tickets-page table.table-list thead th.sorting_desc {
    padding: 14px 12px;
    border: 0;
    color: #faf9f6 !important;
    background-color: #0b2344 !important;
    font-size: 12px;
    font-weight: 800;
}

.rml-tickets-page table.table-list thead th.sorting::before,
.rml-tickets-page table.table-list thead th.sorting::after,
.rml-tickets-page table.table-list thead th.sorting_asc::before,
.rml-tickets-page table.table-list thead th.sorting_asc::after,
.rml-tickets-page table.table-list thead th.sorting_desc::before,
.rml-tickets-page table.table-list thead th.sorting_desc::after { color: #ddb039 !important; }

.rml-tickets-page table.table-list tbody td {
    padding: 16px 12px;
    border-color: #e7dfd0;
    color: #506582;
    vertical-align: middle;
}

.rml-tickets-page table.table-list tbody tr:hover { background: #faf3e2; cursor: pointer; }
.rml-tickets-page table.table-list tbody td.dataTables_empty { padding: 38px 20px; color: #506582; font-size: 14px; }
.rml-tickets-page .ticket-number { color: #996500; font-size: 11px; font-weight: 800; }
.rml-tickets-page .ticket-subject { display: block; margin-top: 3px; color: #0b2344; font-weight: 700; }
.rml-tickets-page .ticket-subject.unread { color: #996500; font-weight: 900; }
.rml-tickets-page .status-open,
.rml-tickets-page .status-answered { color: #315b17; background: #e8f8da; }
.rml-tickets-page .status-customer-reply { color: #7c5a19; background: #fff1cf; }
.rml-tickets-page .status-closed { color: #5d6660; background: #e9eeea; }

.rml-tickets-page .pagination .page-link,
.rml-tickets-page .dataTables_paginate .paginate_button { border-color: #e7dfd0 !important; color: #506582 !important; background: #fff !important; }
.rml-tickets-page .pagination .active .page-link,
.rml-tickets-page .dataTables_paginate .paginate_button.current { border-color: #ddb039 !important; color: #0b2344 !important; background: #ddb039 !important; }

body:has(.rml-tickets-page) .sidebar .card,
body:has(.rml-tickets-page) .sidebar .panel {
    overflow: hidden;
    border: 1px solid #e7dfd0;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(6,25,37,.07);
}

body:has(.rml-tickets-page) .sidebar .card-header,
body:has(.rml-tickets-page) .sidebar .panel-heading { border: 0; color: #faf9f6; background: #0b2344; }
body:has(.rml-tickets-page) .sidebar .card-header a,
body:has(.rml-tickets-page) .sidebar .panel-heading a { color: inherit; }
body:has(.rml-tickets-page) .sidebar .list-group-item.active { border-color: #ddb039; color: #0b2344; background: #ddb039; }
body:has(.rml-tickets-page) .sidebar a[href*="submitticket"] { color: #996500; font-weight: 850; }

@media (max-width: 767px) {
    .rml-ticket-page-action { justify-content: stretch; margin: 0 0 18px; }
    .rml-ticket-page-action a { width: 100%; justify-content: center; }
    .rml-tickets-page .table-container { padding: 14px; overflow-x: auto; border-radius: 13px; }
    .rml-tickets-page table.table-list { min-width: 700px; }
}

/* Área de cliente — orçamentos */
body:has(.rml-quotes-page) {
    background: linear-gradient(180deg, #faf9f6 0, #faf9f6 330px, #faf9f6 100%);
}

.rml-quotes-page { padding-bottom: 65px; }

.rml-quotes-page .table-container {
    padding: 22px;
    overflow: hidden;
    border: 1px solid #e7dfd0;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(6,25,37,.08);
}

.rml-quotes-page .dataTables_wrapper .dataTables_length,
.rml-quotes-page .dataTables_wrapper .dataTables_filter,
.rml-quotes-page .dataTables_wrapper .dataTables_info,
.rml-quotes-page .dataTables_wrapper .dataTables_paginate { color: #506582; font-size: 13px; }

.rml-quotes-page .dataTables_wrapper input,
.rml-quotes-page .dataTables_wrapper select {
    min-height: 40px;
    border: 1px solid #e7dfd0;
    border-radius: 9px;
    color: #0b2344;
    background: #faf9f6;
    box-shadow: none;
}

.rml-quotes-page .dataTables_wrapper input:focus { border-color: #ddb039; background: #fff; box-shadow: 0 0 0 4px rgba(183,122,11,.12); }

.rml-quotes-page table.table-list {
    margin: 16px 0 !important;
    overflow: hidden;
    border: 1px solid #e7dfd0;
    border-radius: 12px;
}

.rml-quotes-page table.table-list thead th {
    padding: 14px 12px;
    border: 0;
    color: #faf9f6;
    background: #0b2344;
    font-size: 12px;
    font-weight: 800;
}

.rml-quotes-page table.table-list thead th,
.rml-quotes-page table.table-list thead th.sorting,
.rml-quotes-page table.table-list thead th.sorting_asc,
.rml-quotes-page table.table-list thead th.sorting_desc {
    color: #faf9f6 !important;
    background-color: #0b2344 !important;
}

.rml-quotes-page table.table-list thead th.sorting::before,
.rml-quotes-page table.table-list thead th.sorting::after,
.rml-quotes-page table.table-list thead th.sorting_asc::before,
.rml-quotes-page table.table-list thead th.sorting_asc::after,
.rml-quotes-page table.table-list thead th.sorting_desc::before,
.rml-quotes-page table.table-list thead th.sorting_desc::after {
    color: #ddb039 !important;
}

.rml-quotes-page table.table-list tbody td {
    padding: 16px 12px;
    border-color: #e7dfd0;
    color: #506582;
    vertical-align: middle;
}

.rml-quotes-page table.table-list tbody tr:hover { background: #faf3e2; cursor: pointer; }
.rml-quotes-page table.table-list tbody td.dataTables_empty { padding: 38px 20px; color: #506582; font-size: 14px; }
.rml-quotes-page table.table-list .btn-default { border-color: #e7dfd0; border-radius: 8px; color: #996500; background: #faf9f6; font-weight: 750; }
.rml-quotes-page table.table-list .btn-default:hover { border-color: #ddb039; color: #0b2344; background: #ddb039; }

.rml-quotes-page .status-accepted { color: #315b17; background: #e8f8da; }
.rml-quotes-page .status-delivered,
.rml-quotes-page .status-sent { color: #315b5b; background: #def3f1; }
.rml-quotes-page .status-draft { color: #5d6660; background: #e9eeea; }
.rml-quotes-page .status-lost,
.rml-quotes-page .status-dead { color: #7e3030; background: #fde3e3; }

.rml-quotes-page .pagination .page-link,
.rml-quotes-page .dataTables_paginate .paginate_button { border-color: #e7dfd0 !important; color: #506582 !important; background: #fff !important; }
.rml-quotes-page .pagination .active .page-link,
.rml-quotes-page .dataTables_paginate .paginate_button.current { border-color: #ddb039 !important; color: #0b2344 !important; background: #ddb039 !important; }

body:has(.rml-quotes-page) .sidebar .card,
body:has(.rml-quotes-page) .sidebar .panel {
    overflow: hidden;
    border: 1px solid #e7dfd0;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(6,25,37,.07);
}

body:has(.rml-quotes-page) .sidebar .card-header,
body:has(.rml-quotes-page) .sidebar .panel-heading { border: 0; color: #faf9f6; background: #0b2344; }
body:has(.rml-quotes-page) .sidebar .card-header a,
body:has(.rml-quotes-page) .sidebar .panel-heading a { color: inherit; }
body:has(.rml-quotes-page) .sidebar .list-group-item.active { border-color: #ddb039; color: #0b2344; background: #ddb039; }

@media (max-width: 767px) {
    .rml-quotes-page .table-container { padding: 14px; overflow-x: auto; border-radius: 13px; }
    .rml-quotes-page table.table-list { min-width: 760px; }
}

/* Área de cliente — faturas */
body:has(.rml-invoices-page) {
    background: linear-gradient(180deg, #faf9f6 0, #faf9f6 330px, #faf9f6 100%);
}

.rml-invoices-page { padding-bottom: 65px; }

.rml-invoices-page .table-container {
    padding: 22px;
    overflow: hidden;
    border: 1px solid #e7dfd0;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(6,25,37,.08);
}

.rml-invoices-page .dataTables_wrapper .dataTables_length,
.rml-invoices-page .dataTables_wrapper .dataTables_filter,
.rml-invoices-page .dataTables_wrapper .dataTables_info,
.rml-invoices-page .dataTables_wrapper .dataTables_paginate {
    color: #506582;
    font-size: 13px;
}

.rml-invoices-page .dataTables_wrapper input,
.rml-invoices-page .dataTables_wrapper select {
    min-height: 40px;
    border: 1px solid #e7dfd0;
    border-radius: 9px;
    color: #0b2344;
    background: #faf9f6;
    box-shadow: none;
}

.rml-invoices-page .dataTables_wrapper input:focus {
    border-color: #ddb039;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(183,122,11,.12);
}

.rml-invoices-page table.table-list {
    margin: 16px 0 !important;
    overflow: hidden;
    border: 1px solid #e7dfd0;
    border-radius: 12px;
}

.rml-invoices-page table.table-list thead th,
.rml-invoices-page table.table-list thead th.sorting,
.rml-invoices-page table.table-list thead th.sorting_asc,
.rml-invoices-page table.table-list thead th.sorting_desc {
    padding: 14px 12px;
    border: 0;
    color: #faf9f6 !important;
    background-color: #0b2344 !important;
    font-size: 12px;
    font-weight: 800;
}

.rml-invoices-page table.table-list thead th.sorting::before,
.rml-invoices-page table.table-list thead th.sorting::after,
.rml-invoices-page table.table-list thead th.sorting_asc::before,
.rml-invoices-page table.table-list thead th.sorting_asc::after,
.rml-invoices-page table.table-list thead th.sorting_desc::before,
.rml-invoices-page table.table-list thead th.sorting_desc::after {
    color: #ddb039 !important;
}

.rml-invoices-page table.table-list tbody td {
    padding: 16px 12px;
    border-color: #e7dfd0;
    color: #506582;
    vertical-align: middle;
}

.rml-invoices-page table.table-list tbody tr:hover {
    background: #faf3e2;
    cursor: pointer;
}

.rml-invoices-page .label.status {
    display: inline-block;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.rml-invoices-page .status-paid { color: #315b17; background: #e3f6d3; }
.rml-invoices-page .status-unpaid { color: #795a14; background: #fff0c9; }
.rml-invoices-page .status-cancelled { color: #677069; background: #e9eeea; }
.rml-invoices-page .status-refunded { color: #285f68; background: #dff3f5; }
.rml-invoices-page .status-collections { color: #813535; background: #fde2e2; }

.rml-invoices-page .pagination .page-link,
.rml-invoices-page .dataTables_paginate .paginate_button {
    border-color: #e7dfd0 !important;
    color: #506582 !important;
    background: #fff !important;
}

.rml-invoices-page .pagination .active .page-link,
.rml-invoices-page .dataTables_paginate .paginate_button.current {
    border-color: #ddb039 !important;
    color: #0b2344 !important;
    background: #ddb039 !important;
}

body:has(.rml-invoices-page) .sidebar .card,
body:has(.rml-invoices-page) .sidebar .panel {
    overflow: hidden;
    border: 1px solid #e7dfd0;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(6,25,37,.07);
}

body:has(.rml-invoices-page) .sidebar .card-header,
body:has(.rml-invoices-page) .sidebar .panel-heading {
    border: 0;
    color: #faf9f6;
    background: #0b2344;
}

body:has(.rml-invoices-page) .sidebar .card-header a,
body:has(.rml-invoices-page) .sidebar .panel-heading a { color: inherit; }

body:has(.rml-invoices-page) .sidebar .list-group-item.active {
    border-color: #ddb039;
    color: #0b2344;
    background: #ddb039;
}

@media (max-width: 767px) {
    .rml-invoices-page .table-container { padding: 14px; overflow-x: auto; border-radius: 13px; }
    .rml-invoices-page table.table-list { min-width: 700px; }
}

/* Área de cliente — dados da conta */
body:has(.rml-account-details-page) {
    background: linear-gradient(180deg, #faf9f6 0, #faf9f6 330px, #faf9f6 100%);
}

.rml-account-details-page { padding-bottom: 65px; }

.rml-account-details-page form > .card {
    margin-bottom: 22px;
    overflow: hidden;
    border: 1px solid #e7dfd0;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(6,25,37,.08);
}

.rml-account-details-page form > .card > .card-body { padding: 30px; }

.rml-account-details-page .card-title {
    margin: 0 0 26px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e7dfd0;
    color: #0b2344;
    font-size: 22px;
    font-weight: 850;
}

.rml-account-details-page .form-group { margin-bottom: 21px; }

/* O programa de afiliados não é utilizado. */
.rml-account-details-page label:has(#affiliateEmails) { display: none; }

.rml-account-details-page .col-form-label {
    padding: 0 0 8px;
    color: #0b2344;
    font-size: 13px;
    font-weight: 750;
}

.rml-account-details-page .form-control,
.rml-account-details-page .custom-select,
.rml-account-details-page .control input,
.rml-account-details-page .control select,
.rml-account-details-page .control textarea {
    min-height: 46px;
    border: 1px solid #e7dfd0;
    border-radius: 10px;
    color: #0b2344;
    background: #faf9f6;
    box-shadow: none;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.rml-account-details-page .form-control:focus,
.rml-account-details-page .custom-select:focus,
.rml-account-details-page .control input:focus,
.rml-account-details-page .control select:focus,
.rml-account-details-page .control textarea:focus {
    border-color: #ddb039;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(183,122,11,.13);
}

.rml-account-details-page .form-control:disabled,
.rml-account-details-page .form-control[readonly] {
    color: #506582;
    background: #faf9f6;
}

.rml-account-details-page .form-group.text-center {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 24px;
}

.rml-account-details-page .btn-primary {
    min-width: 170px;
    padding: 12px 22px;
    border-color: #ddb039;
    border-radius: 10px;
    color: #0b2344;
    background: #ddb039;
    font-weight: 800;
}

.rml-account-details-page .btn-primary:hover,
.rml-account-details-page .btn-primary:focus {
    border-color: #edc457;
    color: #0b2344;
    background: #edc457;
}

.rml-account-details-page .btn-default {
    padding: 12px 22px;
    border-color: #e7dfd0;
    border-radius: 10px;
    color: #506582;
    background: #fff;
    font-weight: 700;
}

body:has(.rml-account-details-page) .sidebar .card,
body:has(.rml-account-details-page) .sidebar .panel {
    overflow: hidden;
    border: 1px solid #e7dfd0;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(6,25,37,.07);
}

body:has(.rml-account-details-page) .sidebar .card-header,
body:has(.rml-account-details-page) .sidebar .panel-heading {
    border: 0;
    color: #faf9f6;
    background: #0b2344;
}

body:has(.rml-account-details-page) .sidebar .card-header a,
body:has(.rml-account-details-page) .sidebar .panel-heading a { color: inherit; }

body:has(.rml-account-details-page) .sidebar .list-group-item.active {
    border-color: #ddb039;
    color: #0b2344;
    background: #ddb039;
}

@media (max-width: 767px) {
    .rml-account-details-page form > .card > .card-body { padding: 21px 18px; }
    .rml-account-details-page .form-group.text-center { align-items: stretch; flex-direction: column; }
    .rml-account-details-page .form-group.text-center .btn { width: 100%; }
}

/* Área de cliente — gestão de utilizadores */
body:has(.rml-user-management-page) {
    background: linear-gradient(180deg, #edf3ee 0, #f7f9f7 330px, #f7f9f7 100%);
}

.rml-user-management-page { padding-bottom: 65px; }

.rml-user-management-page > .card {
    margin-bottom: 22px;
    overflow: hidden;
    border: 1px solid #dce5dd;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(17,38,22,.08);
}

.rml-user-management-page > .card > .card-body { padding: 29px; }

.rml-user-management-page .card-title {
    margin: 0 0 20px;
    padding-bottom: 17px;
    border-bottom: 1px solid #e1e8e2;
    color: #142017;
    font-size: 22px;
    font-weight: 850;
}

.rml-user-management-page .table {
    margin: 20px 0;
    overflow: hidden;
    border: 1px solid #dce5dd;
    border-radius: 12px;
    background: #fff;
}

.rml-user-management-page .table th {
    padding: 14px 13px;
    border: 0;
    color: #eef7f0;
    background: #0a100c;
    font-size: 12px;
    font-weight: 800;
}

.rml-user-management-page .table td {
    padding: 16px 13px;
    border-color: #e5ebe6;
    color: #39453c;
    vertical-align: middle;
}

.rml-user-management-page .table-striped tbody tr:nth-of-type(odd) { background: #f7faf7; }
.rml-user-management-page .table small { color: #78837a; }
.rml-user-management-page .label-info { border-radius: 999px; color: #315b17; background: #e3f6d3; }
.rml-user-management-page .text-success { color: #67b329 !important; }

.rml-user-management-page .form-control {
    min-height: 46px;
    border: 1px solid #d5ded6;
    border-radius: 10px;
    color: #263229;
    background: #fbfcfb;
    box-shadow: none;
}

.rml-user-management-page .form-control:focus {
    border-color: #83c93a;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(131,201,58,.13);
}

.rml-user-management-page .btn { border-radius: 9px; font-weight: 750; }
.rml-user-management-page .btn-sm { padding: 7px 11px; }
.rml-user-management-page .btn-primary {
    padding: 11px 19px;
    border-color: #9ee63f;
    color: #11190e;
    background: #9ee63f;
}
.rml-user-management-page .btn-primary:hover { border-color: #85cf2c; color: #11190e; background: #85cf2c; }
.rml-user-management-page .btn-default { border-color: #d5ded6; color: #4f5c52; background: #fff; }
.rml-user-management-page .btn-danger { border-color: #f3d2d2; color: #8a3535; background: #fde9e9; }
.rml-user-management-page .btn.disabled { opacity: .5; }

.rml-user-management-page #invitePermissions {
    padding: 18px;
    border: 1px solid #dce5dd;
    border-radius: 12px;
    background: #f7faf7;
}

.rml-user-management-page .modal-content { overflow: hidden; border: 0; border-radius: 16px; }
.rml-user-management-page .modal-header { border: 0; color: #fff; background: #0a100c !important; }

body:has(.rml-user-management-page) .sidebar .card,
body:has(.rml-user-management-page) .sidebar .panel {
    overflow: hidden;
    border: 1px solid #dce5dd;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(17,38,22,.07);
}

body:has(.rml-user-management-page) .sidebar .card-header,
body:has(.rml-user-management-page) .sidebar .panel-heading {
    border: 0;
    color: #f4fbf5;
    background: #0a100c;
}

body:has(.rml-user-management-page) .sidebar .card-header a,
body:has(.rml-user-management-page) .sidebar .panel-heading a { color: inherit; }

body:has(.rml-user-management-page) .sidebar .list-group-item.active {
    border-color: #9ee63f;
    color: #11190e;
    background: #9ee63f;
}

@media (max-width: 767px) {
    .rml-user-management-page > .card > .card-body { padding: 21px 17px; }
    .rml-user-management-page .table { display: block; overflow-x: auto; }
    .rml-user-management-page .table th:nth-child(2) { width: 210px !important; }
    .rml-user-management-page .table .btn { display: block; width: 100%; margin: 4px 0; }
}

/* Área de cliente — contactos e subcontactos */
body:has(.rml-contacts-page) {
    background: linear-gradient(180deg, #edf3ee 0, #f7f9f7 330px, #f7f9f7 100%);
}

.rml-contacts-page { padding-bottom: 65px; }

.rml-contacts-page > .alert-info {
    padding: 18px 20px;
    border: 1px solid #cce6bd;
    border-radius: 14px;
    color: #26372a;
    background: #eef9e7;
}

.rml-contacts-page > .alert-info .row { align-items: center; }
.rml-contacts-page > .alert-info .col-form-label { margin: 0; color: #284128; font-weight: 800; }

.rml-contacts-page > .card {
    margin-bottom: 22px;
    overflow: hidden;
    border: 1px solid #dce5dd;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(17,38,22,.08);
}

.rml-contacts-page > .card > .card-body { padding: 30px; }

.rml-contacts-page .card-title {
    margin: 0 0 25px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e2e9e3;
    color: #142017;
    font-size: 22px;
    font-weight: 850;
}

.rml-contacts-page .form-group { margin-bottom: 21px; }
.rml-contacts-page .col-form-label { padding: 0 0 8px; color: #263229; font-size: 13px; font-weight: 750; }

.rml-contacts-page .form-control,
.rml-contacts-page .custom-select {
    min-height: 46px;
    border: 1px solid #d5ded6;
    border-radius: 10px;
    color: #263229;
    background: #fbfcfb;
    box-shadow: none;
}

.rml-contacts-page .form-control:focus,
.rml-contacts-page .custom-select:focus {
    border-color: #83c93a;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(131,201,58,.13);
}

.rml-contacts-page .controls.form-check label {
    display: block;
    margin-bottom: 11px;
    color: #39453c;
    line-height: 1.5;
}

.rml-contacts-page .controls.form-check label:has([id^="affiliate"]) { display: none; }

.rml-contacts-page .form-group.text-center {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 24px;
}

.rml-contacts-page .btn { border-radius: 9px; font-weight: 750; }
.rml-contacts-page .btn-primary {
    min-width: 170px;
    padding: 12px 22px;
    border-color: #9ee63f;
    color: #11190e;
    background: #9ee63f;
}
.rml-contacts-page .btn-primary:hover { border-color: #85cf2c; color: #11190e; background: #85cf2c; }
.rml-contacts-page .btn-default { border-color: #d5ded6; color: #4f5c52; background: #fff; }
.rml-contacts-page > .alert-info .btn-default:hover { border-color: #9ee63f; color: #11190e; background: #9ee63f; }

body:has(.rml-contacts-page) .sidebar .card,
body:has(.rml-contacts-page) .sidebar .panel {
    overflow: hidden;
    border: 1px solid #dce5dd;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(17,38,22,.07);
}

body:has(.rml-contacts-page) .sidebar .card-header,
body:has(.rml-contacts-page) .sidebar .panel-heading {
    border: 0;
    color: #f4fbf5;
    background: #0a100c;
}

body:has(.rml-contacts-page) .sidebar .card-header a,
body:has(.rml-contacts-page) .sidebar .panel-heading a { color: inherit; }

body:has(.rml-contacts-page) .sidebar .list-group-item.active {
    border-color: #9ee63f;
    color: #11190e;
    background: #9ee63f;
}

@media (max-width: 767px) {
    .rml-contacts-page > .card > .card-body { padding: 21px 18px; }
    .rml-contacts-page > .alert-info { padding: 16px; }
    .rml-contacts-page .form-group.text-center { align-items: stretch; flex-direction: column; }
    .rml-contacts-page .form-group.text-center .btn { width: 100%; }
}

/* Área de cliente — e-mails enviados */
body:has(.rml-emails-page) {
    background: linear-gradient(180deg, #edf3ee 0, #f7f9f7 330px, #f7f9f7 100%);
}

.rml-emails-page { padding-bottom: 65px; }

.rml-emails-page .table-container {
    padding: 22px;
    overflow: hidden;
    border: 1px solid #dce5dd;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(17,38,22,.08);
}

.rml-emails-page .dataTables_wrapper .dataTables_length,
.rml-emails-page .dataTables_wrapper .dataTables_filter,
.rml-emails-page .dataTables_wrapper .dataTables_info,
.rml-emails-page .dataTables_wrapper .dataTables_paginate { color: #69756b; font-size: 13px; }

.rml-emails-page .dataTables_wrapper input,
.rml-emails-page .dataTables_wrapper select {
    min-height: 40px;
    border: 1px solid #d7dfd8;
    border-radius: 9px;
    color: #29352c;
    background: #f8faf8;
    box-shadow: none;
}

.rml-emails-page .dataTables_wrapper input:focus { border-color: #84ca39; background: #fff; box-shadow: 0 0 0 4px rgba(132,202,57,.12); }

.rml-emails-page table.table-list {
    margin: 16px 0 !important;
    overflow: hidden;
    border: 1px solid #dce5dd;
    border-radius: 12px;
}

.rml-emails-page table.table-list thead th,
.rml-emails-page table.table-list thead th.sorting,
.rml-emails-page table.table-list thead th.sorting_asc,
.rml-emails-page table.table-list thead th.sorting_desc {
    padding: 14px 12px;
    border: 0;
    color: #eef7f0 !important;
    background-color: #0a100c !important;
    font-size: 12px;
    font-weight: 800;
}

.rml-emails-page table.table-list thead th.sorting::before,
.rml-emails-page table.table-list thead th.sorting::after,
.rml-emails-page table.table-list thead th.sorting_asc::before,
.rml-emails-page table.table-list thead th.sorting_asc::after,
.rml-emails-page table.table-list thead th.sorting_desc::before,
.rml-emails-page table.table-list thead th.sorting_desc::after { color: #9ee63f !important; }

.rml-emails-page table.table-list tbody td { padding: 15px 12px; border-color: #e6ece7; color: #4f5b52; vertical-align: middle; }
.rml-emails-page table.table-list tbody tr:hover { background: #f3f9ef; cursor: pointer; }
.rml-emails-page .btn-info { border-color: #9ee63f; border-radius: 8px; color: #11190e; background: #9ee63f; font-weight: 800; }
.rml-emails-page .btn-info:hover { border-color: #85cf2c; color: #11190e; background: #85cf2c; }

.rml-emails-page .pagination .page-link,
.rml-emails-page .dataTables_paginate .paginate_button { border-color: #dce5dd !important; color: #58665b !important; background: #fff !important; }
.rml-emails-page .pagination .active .page-link,
.rml-emails-page .dataTables_paginate .paginate_button.current { border-color: #9ee63f !important; color: #11190e !important; background: #9ee63f !important; }

body:has(.rml-emails-page) .sidebar .card,
body:has(.rml-emails-page) .sidebar .panel { overflow: hidden; border: 1px solid #dce5dd; border-radius: 15px; background: #fff; box-shadow: 0 12px 32px rgba(17,38,22,.07); }
body:has(.rml-emails-page) .sidebar .card-header,
body:has(.rml-emails-page) .sidebar .panel-heading { border: 0; color: #f4fbf5; background: #0a100c; }
body:has(.rml-emails-page) .sidebar .card-header a,
body:has(.rml-emails-page) .sidebar .panel-heading a { color: inherit; }
body:has(.rml-emails-page) .sidebar .list-group-item.active { border-color: #9ee63f; color: #11190e; background: #9ee63f; }

@media (max-width: 767px) {
    .rml-emails-page .table-container { padding: 14px; overflow-x: auto; border-radius: 13px; }
    .rml-emails-page table.table-list { min-width: 670px; }
}

/* Área de cliente — perfil do utilizador */
body:has(.rml-user-profile-page) {
    background: linear-gradient(180deg, #edf3ee 0, #f7f9f7 330px, #f7f9f7 100%);
}

.rml-user-profile-page { padding-bottom: 65px; }

.rml-user-profile-page > .card {
    margin-bottom: 22px;
    overflow: hidden;
    border: 1px solid #dce5dd;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(17,38,22,.08);
}

.rml-user-profile-page > .card > .card-body { padding: 30px; }

.rml-user-profile-page .card-title {
    margin: 0 0 25px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e2e9e3;
    color: #142017;
    font-size: 22px;
    font-weight: 850;
}

.rml-user-profile-page .form-group { margin-bottom: 21px; }
.rml-user-profile-page .col-form-label { padding: 0 0 8px; color: #263229; font-size: 13px; font-weight: 750; }

.rml-user-profile-page .form-control {
    min-height: 46px;
    border: 1px solid #d5ded6;
    border-radius: 10px;
    color: #263229;
    background: #fbfcfb;
    box-shadow: none;
}

.rml-user-profile-page .form-control:focus {
    border-color: #83c93a;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(131,201,58,.13);
}

.rml-user-profile-page .form-control:disabled { color: #778079; background: #edf1ee; }

.rml-user-profile-page .label {
    display: inline-block;
    padding: 7px 11px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}
.rml-user-profile-page .label-success { color: #315b17; background: #e3f6d3; }
.rml-user-profile-page .label-default { color: #795a14; background: #fff0c9; }

.rml-user-profile-page .btn { padding: 11px 20px; border-radius: 9px; font-weight: 750; }
.rml-user-profile-page .btn-primary { border-color: #9ee63f; color: #11190e; background: #9ee63f; }
.rml-user-profile-page .btn-primary:hover { border-color: #85cf2c; color: #11190e; background: #85cf2c; }
.rml-user-profile-page .btn-default { border-color: #d5ded6; color: #4f5c52; background: #fff; }

body:has(.rml-user-profile-page) .sidebar .card,
body:has(.rml-user-profile-page) .sidebar .panel {
    overflow: hidden;
    border: 1px solid #dce5dd;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(17,38,22,.07);
}
body:has(.rml-user-profile-page) .sidebar .card-header,
body:has(.rml-user-profile-page) .sidebar .panel-heading { border: 0; color: #f4fbf5; background: #0a100c; }
body:has(.rml-user-profile-page) .sidebar .card-header a,
body:has(.rml-user-profile-page) .sidebar .panel-heading a { color: inherit; }
body:has(.rml-user-profile-page) .sidebar .list-group-item.active { border-color: #9ee63f; color: #11190e; background: #9ee63f; }

@media (max-width: 767px) {
    .rml-user-profile-page > .card > .card-body { padding: 21px 18px; }
    .rml-user-profile-page .btn { width: 100%; margin: 4px 0; }
}

/* Área de cliente — alteração de senha */
body:has(.rml-user-password-page) {
    background: linear-gradient(180deg, #edf3ee 0, #f7f9f7 330px, #f7f9f7 100%);
}

.rml-user-password-page { padding-bottom: 65px; }

.rml-user-password-page > .card {
    overflow: hidden;
    border: 1px solid #dce5dd;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(17,38,22,.08);
}

.rml-user-password-page > .card > .card-body { padding: 30px; }

.rml-user-password-page .card-title {
    margin: 0 0 27px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e2e9e3;
    color: #142017;
    font-size: 22px;
    font-weight: 850;
}

.rml-user-password-page .form-group.row {
    align-items: flex-start;
    margin-bottom: 23px;
}

.rml-user-password-page .col-form-label {
    padding-top: 13px;
    color: #263229;
    font-size: 13px;
    font-weight: 750;
}

.rml-user-password-page .form-control {
    min-height: 46px;
    border: 1px solid #d5ded6;
    border-radius: 10px;
    color: #263229;
    background: #fbfcfb;
    box-shadow: none;
}

.rml-user-password-page .form-control:focus {
    border-color: #83c93a;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(131,201,58,.13);
}

.rml-user-password-page .progress {
    height: 7px;
    margin-top: 12px;
    overflow: hidden;
    border-radius: 999px;
    background: #e8ede9;
}

.rml-user-password-page .progress-bar { background: linear-gradient(90deg, #65b52b, #9ee63f); }

.rml-user-password-page .alert-info {
    margin-top: 15px;
    padding: 16px 18px;
    border: 1px solid #cce6bd;
    border-radius: 12px;
    color: #344b37;
    background: #eef9e7;
    font-size: 13px;
    line-height: 1.65;
}

.rml-user-password-page .btn { padding: 11px 20px; border-radius: 9px; font-weight: 750; }
.rml-user-password-page .btn-primary { border-color: #9ee63f; color: #11190e; background: #9ee63f; }
.rml-user-password-page .btn-primary:hover { border-color: #85cf2c; color: #11190e; background: #85cf2c; }
.rml-user-password-page .btn-default { border-color: #d5ded6; color: #4f5c52; background: #fff; }
.rml-user-password-page .generate-password { min-height: 46px; }
.rml-user-password-page .generate-password:hover { border-color: #9ee63f; color: #11190e; background: #9ee63f; }

body:has(.rml-user-password-page) .sidebar .card,
body:has(.rml-user-password-page) .sidebar .panel {
    overflow: hidden;
    border: 1px solid #dce5dd;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(17,38,22,.07);
}
body:has(.rml-user-password-page) .sidebar .card-header,
body:has(.rml-user-password-page) .sidebar .panel-heading { border: 0; color: #f4fbf5; background: #0a100c; }
body:has(.rml-user-password-page) .sidebar .card-header a,
body:has(.rml-user-password-page) .sidebar .panel-heading a { color: inherit; }
body:has(.rml-user-password-page) .sidebar .list-group-item.active { border-color: #9ee63f; color: #11190e; background: #9ee63f; }

@media (max-width: 1199px) {
    .rml-user-password-page .col-form-label { padding-top: 0; padding-bottom: 8px; }
    .rml-user-password-page .generate-password { margin-top: 10px; }
}

@media (max-width: 767px) {
    .rml-user-password-page > .card > .card-body { padding: 21px 18px; }
    .rml-user-password-page form > .btn { width: 100%; margin: 4px 0; }
}

/* Área de cliente — configurações de segurança */
body:has(.rml-user-security-page) {
    background: linear-gradient(180deg, #faf9f6 0, #faf9f6 330px, #faf9f6 100%);
}

.rml-user-security-page { padding-bottom: 65px; }
.rml-user-security-page > .rml-page-heading + p { display: none; }

.rml-user-security-page > .card {
    margin-bottom: 22px;
    overflow: hidden;
    border: 1px solid #e7dfd0;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(6,25,37,.08);
}

.rml-user-security-page > .card > .card-body { padding: 30px; }

.rml-user-security-page .card-title {
    margin: 0 0 25px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e7dfd0;
    color: #0b2344;
    font-size: 22px;
    font-weight: 850;
}

.rml-user-security-page .form-group { margin-bottom: 21px; }
.rml-user-security-page .col-form-label { padding: 0 0 8px; color: #0b2344; font-size: 13px; font-weight: 750; }
.rml-user-security-page .form-control,
.rml-user-security-page .custom-select { min-height: 46px; border: 1px solid #e7dfd0; border-radius: 10px; color: #0b2344; background: #faf9f6; box-shadow: none; }
.rml-user-security-page .form-control:focus,
.rml-user-security-page .custom-select:focus { border-color: #ddb039; background: #fff; box-shadow: 0 0 0 4px rgba(183,122,11,.13); }

.rml-user-security-page .btn { padding: 11px 20px; border-radius: 9px; font-weight: 750; }
.rml-user-security-page .btn-primary,
.rml-user-security-page .btn-success { border-color: #ddb039; color: #0b2344; background: #ddb039; }
.rml-user-security-page .btn-primary:hover,
.rml-user-security-page .btn-success:hover { border-color: #edc457; color: #0b2344; background: #edc457; }
.rml-user-security-page .btn-default { border-color: #e7dfd0; color: #506582; background: #fff; }

.rml-security-empty {
    display: grid;
    grid-template-columns: 62px 1fr auto;
    gap: 20px;
    align-items: center;
    padding: 30px;
    border: 1px solid #C8DFE5;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(6,25,37,.08);
}

.rml-security-empty-icon {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border-radius: 17px;
    color: #087784;
    background: #E8F7F8;
    font-size: 25px;
}

.rml-security-empty h3 { margin: 0 0 7px; color: #061925; font-size: 20px; font-weight: 850; }
.rml-security-empty p { max-width: 650px; margin: 0; color: #526875; line-height: 1.6; }
.rml-security-password-btn { border-color: #16C6D4; color: #061925; background: #16C6D4; }
.rml-security-password-btn:hover { border-color: #39D8E1; color: #061925; background: #39D8E1; }

body:has(.rml-user-security-page) .sidebar .card,
body:has(.rml-user-security-page) .sidebar .panel { overflow: hidden; border: 1px solid #e7dfd0; border-radius: 15px; background: #fff; box-shadow: 0 12px 32px rgba(6,25,37,.07); }
body:has(.rml-user-security-page) .sidebar .card-header,
body:has(.rml-user-security-page) .sidebar .panel-heading { border: 0; color: #faf9f6; background: #0b2344; }
body:has(.rml-user-security-page) .sidebar .card-header a,
body:has(.rml-user-security-page) .sidebar .panel-heading a { color: inherit; }
body:has(.rml-user-security-page) .sidebar .list-group-item.active { border-color: #ddb039; color: #0b2344; background: #ddb039; }

@media (max-width: 767px) {
    .rml-user-security-page > .card > .card-body { padding: 21px 18px; }
    .rml-security-empty { grid-template-columns: 50px 1fr; padding: 22px 18px; }
    .rml-security-empty-icon { width: 50px; height: 50px; border-radius: 14px; font-size: 21px; }
    .rml-security-password-btn { grid-column: 1 / -1; width: 100%; }
}

/* Utilizador — escolha de conta */
body:has(.rml-switch-account-page) { background: linear-gradient(180deg, #edf3ee 0, #f7f9f7 330px, #f7f9f7 100%); }
.rml-switch-account-page { padding-bottom: 65px; }
.rml-switch-account-page > .rml-page-heading { margin-bottom: 24px; }

.rml-account-empty,
.rml-account-selection { border: 1px solid #dce5dd; border-radius: 18px; background: #fff; box-shadow: 0 16px 42px rgba(17,38,22,.08); }
.rml-account-empty { display: grid; grid-template-columns: 68px minmax(0,1fr) auto; gap: 22px; align-items: center; padding: 32px; }
.rml-account-empty-icon { width: 68px; height: 68px; display: grid; place-items: center; border-radius: 18px; color: #315b17; background: #e8f8da; font-size: 27px; }
.rml-account-empty-content > span,
.rml-account-selection-heading > span { color: #5b9428; font-size: 10px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.rml-account-empty h2,
.rml-account-selection h2 { margin: 6px 0 7px; color: #142017; font-size: 23px; font-weight: 850; }
.rml-account-empty p,
.rml-account-selection p { max-width: 650px; margin: 0; color: #69756b; line-height: 1.65; }
.rml-account-empty-actions { display: flex; gap: 10px; align-items: center; }
.rml-account-empty-actions .btn { padding: 12px 18px; border-radius: 9px; font-weight: 800; white-space: nowrap; }
.rml-account-primary { border-color: #9ee63f; color: #11190e; background: #9ee63f; }
.rml-account-primary:hover { border-color: #85cf2c; color: #11190e; background: #85cf2c; }
.rml-account-secondary { border-color: #d4ddd5; color: #405047; background: #fff; }
.rml-account-secondary:hover { border-color: #9ee63f; color: #315b17; background: #f6fbf2; }

.rml-account-selection { padding: 30px; }
.rml-account-selection-heading { margin-bottom: 22px; padding-bottom: 20px; border-bottom: 1px solid #e2e9e3; }
.rml-account-list { display: grid; gap: 10px; }
.rml-account-item { display: grid; grid-template-columns: 44px minmax(0,1fr) auto auto; gap: 13px; align-items: center; padding: 13px 15px; border: 1px solid #dce5dd; border-radius: 12px; color: #263229; background: #fbfcfb; text-decoration: none; }
.rml-account-item:hover { border-color: #9ee63f; color: #172019; background: #f5fbee; text-decoration: none; }
.rml-account-item.disabled { cursor: not-allowed; opacity: .58; }
.rml-account-item-icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 11px; color: #315b17; background: #e8f8da; }
.rml-account-item-name { font-weight: 800; }
.rml-account-owner,
.rml-account-closed { padding: 5px 9px; border-radius: 999px; font-size: 10px; font-weight: 850; }
.rml-account-owner { color: #315b17; background: #e8f8da; }
.rml-account-closed { color: #6a3d3d; background: #f8e4e4; }
.rml-account-arrow { color: #76b937; }

body:has(.rml-switch-account-page) .sidebar .card,
body:has(.rml-switch-account-page) .sidebar .panel { overflow: hidden; border: 1px solid #dce5dd; border-radius: 15px; background: #fff; box-shadow: 0 12px 32px rgba(17,38,22,.07); }
body:has(.rml-switch-account-page) .sidebar .card-header,
body:has(.rml-switch-account-page) .sidebar .panel-heading { border: 0; color: #f4fbf5; background: #0a100c; }
body:has(.rml-switch-account-page) .sidebar .card-header a,
body:has(.rml-switch-account-page) .sidebar .panel-heading a { color: inherit; }
body:has(.rml-switch-account-page) .sidebar .list-group-item.active { border-color: #9ee63f; color: #11190e; background: #9ee63f; }

@media (max-width: 991px) {
    .rml-account-empty { grid-template-columns: 68px minmax(0,1fr); }
    .rml-account-empty-actions { grid-column: 1 / -1; padding-left: 90px; }
}
@media (max-width: 600px) {
    .rml-account-empty { grid-template-columns: 52px minmax(0,1fr); gap: 16px; padding: 22px 18px; }
    .rml-account-empty-icon { width: 52px; height: 52px; border-radius: 14px; font-size: 21px; }
    .rml-account-empty-actions { grid-column: 1 / -1; display: grid; width: 100%; padding-left: 0; }
    .rml-account-empty-actions .btn { width: 100%; }
    .rml-account-selection { padding: 22px 18px; }
    .rml-account-item { grid-template-columns: 40px minmax(0,1fr) auto; }
    .rml-account-item-icon { width: 40px; height: 40px; }
    .rml-account-owner { display: none; }
}

/* Suporte — anúncios */
body:has(.rml-announcements-page) {
    background: linear-gradient(180deg, #edf3ee 0, #f7f9f7 330px, #f7f9f7 100%);
}

.rml-announcements-page { padding-bottom: 65px; }

.rml-announcements-page > .card {
    overflow: hidden;
    border: 1px solid #dce5dd;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(17,38,22,.08);
}

.rml-announcements-page > .card > .card-body { padding: 30px; }
.rml-announcements-page > .card .card-title { display: none; }

.rml-announcements-page .announcement {
    position: relative;
    padding: 27px;
    border: 1px solid #e0e7e1;
    border-radius: 15px;
    background: #fbfcfb;
}

.rml-announcements-page .announcement + .announcement { margin-top: 20px; }
.rml-announcements-page .announcement h1 { margin: 0 0 9px; font-size: 28px; font-weight: 850; line-height: 1.2; }
.rml-announcements-page .announcement h1 a { color: #172019; text-decoration: none; }
.rml-announcements-page .announcement h1 a:hover { color: #579e23; }
.rml-announcements-page .announcement .list-inline { margin-bottom: 18px; }
.rml-announcements-page .announcement .text-muted { color: #78847a !important; font-size: 13px; }
.rml-announcements-page .announcement article { margin-bottom: 20px; padding: 20px 22px; border-left: 3px solid #9ee63f; border-radius: 0 10px 10px 0; color: #4f5b52; background: #f1f6f2; line-height: 1.7; }

.rml-announcements-page .btn-default { padding: 9px 15px; border-color: #d5ded6; border-radius: 9px; color: #304034; background: #fff; font-weight: 750; }
.rml-announcements-page .btn-default:hover { border-color: #9ee63f; color: #11190e; background: #9ee63f; }
.rml-announcements-page .pagination .page-link { border-color: #dce5dd; color: #58665b; background: #fff; }
.rml-announcements-page .pagination .active .page-link { border-color: #9ee63f; color: #11190e; background: #9ee63f; }

.rml-announcement-view > .card h1 { color: #172019; font-size: 32px; font-weight: 850; }
.rml-announcement-view > .card .py-5 { padding: 25px 0 !important; color: #4f5b52; font-size: 15px; line-height: 1.75; }

body:has(.rml-announcements-page) .sidebar .card,
body:has(.rml-announcements-page) .sidebar .panel { overflow: hidden; border: 1px solid #dce5dd; border-radius: 15px; background: #fff; box-shadow: 0 12px 32px rgba(17,38,22,.07); }
body:has(.rml-announcements-page) .sidebar .card-header,
body:has(.rml-announcements-page) .sidebar .panel-heading { border: 0; color: #f4fbf5; background: #0a100c; }
body:has(.rml-announcements-page) .sidebar .card-header a,
body:has(.rml-announcements-page) .sidebar .panel-heading a { color: inherit; }
body:has(.rml-announcements-page) .sidebar .list-group-item.active { border-color: #9ee63f; color: #11190e; background: #9ee63f; }
body:has(.rml-announcements-page) .sidebar .list-group-item:has(a[href*="knowledgebase"]) { display: none; }
.sidebar .list-group-item[href*="knowledgebase"],
.sidebar li:has(> a[href*="knowledgebase"]),
.sidebar .list-group-item[href*="announcements"],
.sidebar li:has(> a[href*="announcements"]) { display: none !important; }

@media (max-width: 767px) {
    .rml-announcements-page > .card > .card-body { padding: 18px; }
    .rml-announcements-page .announcement { padding: 21px 18px; }
    .rml-announcements-page .announcement h1 { font-size: 23px; }
}

/* Suporte — downloads */
body:has(.rml-downloads-page) {
    background: linear-gradient(180deg, #edf3ee 0, #f7f9f7 330px, #f7f9f7 100%);
}

.rml-downloads-page { padding-bottom: 65px; }

.rml-downloads-page > form {
    margin-bottom: 22px;
    padding: 20px;
    border: 1px solid #dce5dd;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(17,38,22,.07);
}

.rml-downloads-page .input-group-lg .form-control {
    min-height: 50px;
    border: 1px solid #d5ded6;
    border-radius: 10px 0 0 10px;
    color: #263229;
    background: #fbfcfb;
    box-shadow: none;
}

.rml-downloads-page .input-group-lg .form-control:focus {
    z-index: 3;
    border-color: #83c93a;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(131,201,58,.13);
}

.rml-downloads-page #btnDownloadsSearch {
    min-width: 135px;
    border-color: #9ee63f;
    border-radius: 0 10px 10px 0;
    color: #11190e;
    background: #9ee63f;
    font-weight: 800;
}
.rml-downloads-page #btnDownloadsSearch:hover { border-color: #85cf2c; background: #85cf2c; }

.rml-downloads-page > .alert-info {
    padding: 28px 22px;
    border: 1px solid #dce5dd;
    border-radius: 15px;
    color: #5c685f;
    background: #fff;
    box-shadow: 0 14px 36px rgba(17,38,22,.06);
}

.rml-downloads-page .kb-category,
.rml-downloads-page > .card {
    overflow: hidden;
    border: 1px solid #dce5dd;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(17,38,22,.06);
}

.rml-downloads-page .kb-category { transition: transform .2s ease, border-color .2s ease; }
.rml-downloads-page .kb-category:hover { border-color: #a9d680; transform: translateY(-3px); }
.rml-downloads-page .kb-category .card-body { padding: 24px; color: #172019; text-decoration: none; }
.rml-downloads-page .kb-category i { margin-right: 8px; color: #65ad2d; }
.rml-downloads-page .badge-info { border-radius: 999px; color: #315b17; background: #e3f6d3; }

.rml-downloads-page > .card .card-title { color: #172019; font-size: 21px; font-weight: 850; }
.rml-downloads-page .list-group-item { padding: 18px 21px; border-color: #e5ebe6; color: #344138; }
.rml-downloads-page .list-group-item:hover { color: #294817; background: #f3f9ef; }
.rml-downloads-page .list-group-item small { display: block; margin-top: 7px; color: #758078; line-height: 1.55; }

body:has(.rml-downloads-page) .sidebar .card,
body:has(.rml-downloads-page) .sidebar .panel { overflow: hidden; border: 1px solid #dce5dd; border-radius: 15px; background: #fff; box-shadow: 0 12px 32px rgba(17,38,22,.07); }
body:has(.rml-downloads-page) .sidebar .card-header,
body:has(.rml-downloads-page) .sidebar .panel-heading { border: 0; color: #f4fbf5; background: #0a100c; }
body:has(.rml-downloads-page) .sidebar .card-header a,
body:has(.rml-downloads-page) .sidebar .panel-heading a { color: inherit; }
body:has(.rml-downloads-page) .sidebar .list-group-item.active { border-color: #9ee63f; color: #11190e; background: #9ee63f; }

@media (max-width: 767px) {
    .rml-downloads-page > form { padding: 14px; }
    .rml-downloads-page .input-group { display: block; }
    .rml-downloads-page .input-group .form-control,
    .rml-downloads-page #btnDownloadsSearch { width: 100%; border-radius: 9px; }
    .rml-downloads-page #btnDownloadsSearch { min-height: 46px; margin-top: 9px; }
}

/* Suporte — estado da rede */
body:has(.rml-server-status-page) {
    background: linear-gradient(180deg, #F7F9FA 0, #F7F9FA 330px, #F7F9FA 100%);
}

.rml-server-status-page { padding-bottom: 65px; }
.rml-server-status-page > .alert-success { display: none; }

.rml-network-operational {
    display: flex;
    gap: 18px;
    align-items: center;
    margin-bottom: 22px;
    padding: 23px 25px;
    border: 1px solid #C8DFE5;
    border-radius: 16px;
    color: #061925;
    background: linear-gradient(135deg, #E8F7F8, #E8F7F8);
    box-shadow: 0 14px 34px rgba(6,25,37,.09);
}

.rml-network-operational > span {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    flex: 0 0 48px;
    border-radius: 50%;
    color: #061925;
    background: #16C6D4;
    font-size: 18px;
}

.rml-network-operational strong { display: block; margin-bottom: 3px; font-size: 17px; font-weight: 850; }
.rml-network-operational p { margin: 0; color: #526875; font-size: 13px; }

.rml-server-status-page > .alert-info,
.rml-server-status-page > .card {
    margin-bottom: 22px;
    overflow: hidden;
    border: 1px solid #C8DFE5;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(6,25,37,.07);
}

.rml-server-status-page > .alert-info { padding: 19px 22px; color: #526875; background: #E8F7F8; }
.rml-server-status-page > .card .card-header { padding: 17px 21px; border: 0; color: #F7F9FA; background: #061925; font-weight: 800; }
.rml-server-status-page > .card .card-body { padding: 24px; color: #526875; }
.rml-server-status-page > .card .card-body h3 { color: #061925; font-size: 22px; font-weight: 850; }

.rml-server-status-page .table { overflow: hidden; border: 1px solid #C8DFE5; border-radius: 12px; }
.rml-server-status-page .table thead th { padding: 13px 11px; border: 0; color: #F7F9FA; background: #061925; font-size: 12px; font-weight: 800; }
.rml-server-status-page .table tbody td { padding: 14px 11px; border-color: #C8DFE5; vertical-align: middle; }
.rml-server-status-page .table-striped tbody tr:nth-of-type(odd) { background: #F7F9FA; }
.rml-server-status-page .badge { padding: 6px 10px; border-radius: 999px; }

.rml-server-status-page > p {
    margin: 0 0 20px;
    padding: 21px 24px;
    border: 1px solid #C8DFE5;
    border-radius: 14px;
    color: #526875;
    background: #fff;
}

.rml-server-status-page .pagination .page-link { border-color: #C8DFE5; color: #526875; background: #fff; }
.rml-server-status-page .pagination .page-item:not(.disabled) .page-link:hover { border-color: #16C6D4; color: #061925; background: #16C6D4; }

body:has(.rml-server-status-page) .sidebar .card,
body:has(.rml-server-status-page) .sidebar .panel { overflow: hidden; border: 1px solid #C8DFE5; border-radius: 15px; background: #fff; box-shadow: 0 12px 32px rgba(6,25,37,.07); }
body:has(.rml-server-status-page) .sidebar .card-header,
body:has(.rml-server-status-page) .sidebar .panel-heading { border: 0; color: #F7F9FA; background: #061925; }
body:has(.rml-server-status-page) .sidebar .card-header a,
body:has(.rml-server-status-page) .sidebar .panel-heading a { color: inherit; }
body:has(.rml-server-status-page) .sidebar .list-group-item.active { border-color: #16C6D4; color: #061925; background: #16C6D4; }

@media (max-width: 767px) {
    .rml-network-operational { align-items: flex-start; padding: 19px 17px; }
    .rml-server-status-page > .card .card-body { padding: 18px; }
    .rml-server-status-page .table-responsive { border: 0; }
}

/* Área de cliente — detalhes do serviço */
body:has(.rml-service-details-page) {
    background: linear-gradient(180deg, #edf3ee 0, #f7f9f7 330px, #f7f9f7 100%);
}

.rml-service-details-page { padding-bottom: 65px; }

.rml-service-details-page > .tab-content > .tab-pane > .card,
.rml-service-details-page #tabOverview > .card {
    overflow: hidden;
    border: 1px solid #dce5dd;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(17,38,22,.09);
}

.rml-service-details-page .product-details { padding: 10px; }

.rml-service-details-page .product-status {
    overflow: hidden;
    border: 1px solid #dce5dd;
    border-radius: 16px;
    background: #f8faf8;
    box-shadow: 0 12px 32px rgba(17,38,22,.06);
}

.rml-service-details-page .product-status .product-icon {
    padding-top: 30px;
}

.rml-service-details-page .product-status .fa-stack {
    width: 88px;
    height: 88px;
    line-height: 88px;
    font-size: 42px;
}

.rml-service-details-page .product-status .fa-circle { color: #0a100c; }
.rml-service-details-page .product-status .fa-inverse { color: #9ee63f; }

.rml-service-details-page .product-status-text {
    padding: 8px 22px 25px;
    color: #172019;
}

.rml-service-details-page .product-status-text h3,
.rml-service-details-page .product-status-text h4 { color: #172019; font-weight: 850; }

.rml-service-details-page .product-status-pending { border-color: #eed9a6; }
.rml-service-details-page .product-status-pending .product-status-text:last-child,
.rml-service-details-page .product-status-pending > div:last-child { color: #604b25; background: #fff1cf; }
.rml-service-details-page .product-status-active { border-color: #b8dc96; }
.rml-service-details-page .product-status-suspended,
.rml-service-details-page .product-status-cancelled,
.rml-service-details-page .product-status-terminated { border-color: #edc2c2; }

.rml-service-details-page .product-details > .row > .col-md-6.text-center {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 26px 34px;
}

.rml-service-details-page .product-details > .row > .col-md-6.text-center h4 {
    margin: 0 0 4px;
    color: #172019;
    font-size: 15px;
    font-weight: 850;
}

.rml-service-details-page .product-details > .row > .col-md-6.text-center h4:not(:first-child) { margin-top: 14px; }
.rml-service-details-page .product-details > .row > .col-md-6.text-center p { color: #667269; }

.rml-service-details-page .product-actions-wrapper .btn {
    min-height: 44px;
    margin-top: 8px;
    border-radius: 9px;
    font-weight: 800;
}

.rml-service-details-page .product-actions-wrapper .btn-primary,
.rml-service-details-page .product-actions-wrapper .btn-success {
    border-color: #9ee63f;
    color: #11190e;
    background: #9ee63f;
}

.rml-service-details-page .nav-tabs {
    margin-top: 22px;
    padding-left: 14px;
    border-bottom-color: #dce5dd;
}

.rml-service-details-page .nav-tabs .nav-link {
    padding: 13px 17px;
    border-radius: 10px 10px 0 0;
    color: #667269;
    font-size: 13px;
}

.rml-service-details-page .nav-tabs .nav-link.active {
    border-color: #dce5dd #dce5dd #fff;
    color: #477c20;
    background: #fff;
    font-weight: 850;
}

.rml-service-details-page .product-details-tab-container {
    padding: 30px 26px;
    border: 1px solid #dce5dd;
    border-top: 0;
    border-radius: 0 0 15px 15px;
    box-shadow: 0 14px 35px rgba(17,38,22,.06);
}

.rml-service-details-page .product-details-tab-container .row { margin-bottom: 9px; }
.rml-service-details-page .product-details-tab-container .col-sm-5 { color: #667269; }
.rml-service-details-page .product-details-tab-container .col-sm-7 { color: #172019; font-weight: 700; }

.rml-service-details-page .form-control {
    min-height: 46px;
    border: 1px solid #d7dfd8;
    border-radius: 9px;
    background: #f8faf8;
    box-shadow: none;
}

.rml-service-details-page .form-control:focus { border-color: #84ca39; box-shadow: 0 0 0 4px rgba(132,202,57,.12); }

body:has(.rml-service-details-page) .sidebar .card,
body:has(.rml-service-details-page) .sidebar .panel {
    overflow: hidden;
    border: 1px solid #dce5dd;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(17,38,22,.07);
}

body:has(.rml-service-details-page) .sidebar .card-header,
body:has(.rml-service-details-page) .sidebar .panel-heading {
    border: 0;
    color: #f4fbf5;
    background: #0a100c;
}

body:has(.rml-service-details-page) .sidebar .card-header a,
body:has(.rml-service-details-page) .sidebar .panel-heading a { color: inherit; }
body:has(.rml-service-details-page) .sidebar .list-group-item.active { border-color: #9ee63f; color: #11190e; background: #9ee63f; }

@media (max-width: 767px) {
    .rml-service-details-page .product-details { padding: 0; }
    .rml-service-details-page .product-details > .row > .col-md-6.text-center { padding: 25px 16px; }
    .rml-service-details-page .product-details-tab-container { padding: 24px 16px; }
    .rml-service-details-page .product-details-tab-container .text-right,
    .rml-service-details-page .product-details-tab-container .text-left { text-align: left !important; }
}

/* Registo assistido */
body:has(.rml-registration-closed) #main-body { background-color: #031015; background-image: url('../img/login/backsize.webp'); background-repeat: no-repeat; background-position: center; background-size: cover; }
body:has(.rml-registration-closed) .sidebar { display: none !important; }
body:has(.rml-registration-closed) .primary-content { flex: 0 0 100%; max-width: 100%; }
.rml-registration-closed { width: min(850px, calc(100% - 30px)); margin: 48px auto 75px; }
.rml-registration-visual { position: relative; overflow: hidden; padding: 58px 66px; border: 1px solid #1d3a42; border-radius: 24px; color: #dce7e9; background: radial-gradient(circle at 95% 0, rgba(32,223,113,.16), transparent 36%), #041116; box-shadow: 0 28px 75px rgba(0,0,0,.3); }
.rml-registration-visual::after { content: ""; position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(rgba(32,223,113,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(32,223,113,.12) 1px, transparent 1px); background-size: 52px 52px; pointer-events: none; }
.rml-registration-visual > * { position: relative; z-index: 1; }
.rml-registration-icon { width: 66px; height: 66px; display: grid; place-items: center; margin-bottom: 24px; border-radius: 18px; color: #031015; background: #20df71; font-size: 25px; }
.rml-registration-visual > small { color: #20df71; font-size: 10px; font-weight: 900; letter-spacing: .15em; }
.rml-registration-visual h1 { margin: 9px 0 16px; color: #fff; font-size: clamp(32px, 4vw, 42px); font-weight: 850; letter-spacing: -.045em; }
.rml-registration-visual > p { max-width: 680px; margin-bottom: 34px; color: #9caeb2; font-size: 16px; line-height: 1.7; }
.rml-registration-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 35px; }
.rml-registration-steps > div { display: flex; gap: 12px; padding: 19px 16px; border: 1px solid #24434b; border-radius: 13px; background: rgba(255,255,255,.035); }
.rml-registration-steps b { width: 26px; height: 26px; display: grid; flex: 0 0 26px; place-items: center; border-radius: 50%; color: #031015; background: #20df71; font-size: 11px; }
.rml-registration-steps strong { display: block; margin-bottom: 5px; color: #fff; font-size: 13px; }
.rml-registration-steps span { color: #9caeb2; font-size: 11px; line-height: 1.5; }
.rml-registration-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.rml-registration-actions .btn { padding: 13px 21px; border-radius: 10px; font-weight: 820; }
.rml-registration-primary { border: 0; color: #031015; background: #20df71; }
.rml-registration-primary:hover { color: #031015; background: #4bea8d; }
.rml-registration-secondary { border: 1px solid rgba(255,255,255,.16); color: #e5eee7; background: rgba(255,255,255,.06); }
.rml-registration-secondary:hover { color: #fff; background: rgba(255,255,255,.11); }
.rml-registration-actions i { margin-left: 8px; }

@media (max-width: 720px) {
    .rml-registration-visual { padding: 42px 25px; }
    .rml-registration-steps { grid-template-columns: 1fr; }
    .rml-registration-actions { align-items: stretch; flex-direction: column; }
    .rml-registration-actions .btn { width: 100%; }
}

@media (max-width: 620px) {
    .rml-footer .rml-payments { align-items: flex-start; flex-direction: column; gap: 10px; padding-top: 13px; padding-bottom: 8px; }
    .rml-footer .rml-payment-methods { width: 100%; flex-direction: row; flex-wrap: wrap; gap: 10px; }
    .rml-footer .rml-complaints-book { display: none; }
}

/* Página 404 */
body:has(.rml-404-page) { background:#faf9f6 !important; }
.rml-404-page {
    width: 100%;
    overflow: hidden;
    padding: clamp(64px, 9vw, 120px) 20px;
    color: #0b2344;
    background:
        radial-gradient(circle at 50% 0, rgba(183, 122, 11, .14), transparent 38%),
        #faf9f6;
}

.rml-404-shell {
    width: min(100%, 880px);
    margin: 0 auto;
}

.rml-404-card {
    position: relative;
    padding: clamp(42px, 7vw, 76px);
    overflow: hidden;
    border: 1px solid rgba(183, 122, 11, .22);
    border-radius: 26px;
    background: linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(250, 247, 240, .98));
    box-shadow: 0 32px 90px rgba(11, 35, 68, .08);
    text-align: center;
}

.rml-404-card::before {
    position: absolute;
    top: -120px;
    left: 50%;
    width: 360px;
    height: 240px;
    border-radius: 50%;
    background: rgba(183, 122, 11, .1);
    filter: blur(55px);
    content: "";
    transform: translateX(-50%);
    pointer-events: none;
}

.rml-404-kicker {
    position: relative;
    display: inline-block;
    margin-bottom: 14px;
    color: #996500;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .18em;
}

.rml-404-code {
    position: relative;
    margin: 0 0 18px;
    color: #996500;
    font-size: clamp(88px, 15vw, 154px);
    font-weight: 900;
    line-height: .82;
    letter-spacing: -.075em;
    text-shadow: 0 0 48px rgba(183, 122, 11, .16);
}

.rml-404-title {
    position: relative;
    margin: 0 0 18px;
    color: #0b2344;
    font-size: clamp(30px, 4.5vw, 46px);
    font-weight: 850;
    line-height: 1.1;
    letter-spacing: -.04em;
}

.rml-404-message,
.rml-404-help {
    position: relative;
    max-width: 610px;
    margin-right: auto;
    margin-left: auto;
    color: #506582;
    font-size: 16px;
    line-height: 1.65;
}

.rml-404-message {
    margin-bottom: 5px;
}

.rml-404-help {
    margin-top: 0;
    margin-bottom: 32px;
    color: #506582;
    font-size: 14px;
}

.rml-404-actions {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

.rml-404-button {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 21px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
    text-decoration: none;
    transition: border-color .18s ease, background-color .18s ease, color .18s ease, transform .18s ease;
}

.rml-404-button:hover {
    text-decoration: none;
    transform: translateY(-1px);
}

.rml-404-page .rml-404-button:focus-visible {
    outline: 3px solid rgba(183, 122, 11, .45);
    outline-offset: 3px;
}

.rml-404-page .rml-404-button.rml-404-button-primary {
    color: #0b2344 !important;
    background: #ddb039 !important;
    border-color: #c79928 !important;
}

.rml-404-page .rml-404-button.rml-404-button-primary:hover {
    color: #0b2344 !important;
    background: #edc457 !important;
    border-color: #edc457 !important;
}

.rml-404-button-secondary {
    border-color: rgba(183, 122, 11, .3);
    color: #0b2344;
    background: rgba(255, 255, 255, .06);
}

.rml-404-button-secondary:hover {
    border-color: rgba(183, 122, 11, .5);
    color: #0b2344;
    background: rgba(183, 122, 11, .1);
}

@media (max-width: 575px) {
    .rml-404-page {
        padding: 48px 12px 64px;
    }

    .rml-404-card {
        padding: 38px 18px 34px;
        border-radius: 19px;
    }

    .rml-404-code {
        margin-bottom: 20px;
    }

    .rml-404-message,
    .rml-404-help {
        font-size: 14px;
    }

    .rml-404-actions {
        flex-direction: column;
    }

    .rml-404-button {
        width: 100%;
    }
}

/* Área de cliente — painel principal */
body:has(.rml-client-dashboard) {
    background: linear-gradient(180deg, #faf9f6 0, #faf9f6 360px, #faf9f6 100%);
}

.rml-client-dashboard { padding-bottom: 60px; }

.rml-dashboard-heading {
    position: relative;
    margin-bottom: 24px;
    padding: 34px 38px;
    overflow: hidden;
    border-radius: 20px;
    color: #e7dfd0;
    background: radial-gradient(circle at 92% 0, rgba(183,122,11,.2), transparent 35%), #0b2344;
    box-shadow: 0 20px 55px rgba(6,25,37,.14);
}

.rml-dashboard-heading::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .12;
    background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 48px 48px;
    pointer-events: none;
}

.rml-dashboard-heading > * { position: relative; z-index: 1; }
.rml-dashboard-heading > span { color: var(--rml-green); font-size: 10px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.rml-dashboard-heading h1 { margin: 7px 0 8px; color: #fff; font-size: 36px; font-weight: 850; letter-spacing: -.035em; }
.rml-dashboard-heading p { margin: 0; color: #506582; font-size: 14px; }

.rml-client-dashboard .tiles {
    overflow: visible;
    border: 0;
    background: transparent;
}

.rml-client-dashboard .tiles .row { margin-right: -7px; margin-left: -7px; }
.rml-client-dashboard .tiles .row > div { padding: 0 7px; }

.rml-client-dashboard .tiles .tile {
    min-height: 142px;
    padding: 22px 20px;
    overflow: hidden;
    border: 1px solid #e7dfd0 !important;
    border-radius: 15px;
    color: #0b2344;
    background: #fff;
    box-shadow: 0 12px 32px rgba(6,25,37,.07);
}

.rml-client-dashboard .tiles .tile:hover {
    border-color: #e7dfd0 !important;
    background: #fff;
    transform: translateY(-3px);
    box-shadow: 0 18px 38px rgba(6,25,37,.11);
}

.rml-client-dashboard .tiles .tile i {
    top: 18px;
    right: 18px;
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: #996500;
    background: #faf3e2;
    font-size: 20px;
}

.rml-client-dashboard .tiles .tile:hover i { color: #0b2344; background: var(--rml-green); font-size: 20px; }
.rml-client-dashboard .tiles .tile .stat { margin-top: 34px; color: #0b2344; font-size: 34px; font-weight: 850; }
.rml-client-dashboard .tiles .tile .title { margin-top: 7px; color: #506582; font-size: 10px; font-weight: 850; letter-spacing: .08em; }
.rml-client-dashboard .tiles .tile .highlight { height: 3px; margin-top: 11px; background: var(--rml-green) !important; }

.rml-client-dashboard .client-home-cards .card {
    margin-bottom: 20px;
    overflow: hidden;
    border: 1px solid #e7dfd0;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 13px 35px rgba(6,25,37,.07);
}

.rml-client-dashboard .client-home-cards .card-header {
    padding: 17px 19px;
    border: 0;
    color: #faf9f6;
    background: #0b2344;
}

.rml-client-dashboard .client-home-cards .card-title { color: #faf9f6; font-size: 15px; font-weight: 800; }
.rml-client-dashboard .client-home-cards .card-title > i { color: var(--rml-green); }
.rml-client-dashboard .client-home-cards .card-header .btn { border-radius: 8px; color: #0b2344; background: var(--rml-green) !important; font-weight: 800; }
.rml-client-dashboard .client-home-cards .card-body p { margin: 0; padding: 20px; color: #506582; line-height: 1.65; }
.rml-client-dashboard .client-home-cards .list-group { border-color: #e7dfd0 !important; }
.rml-client-dashboard .client-home-cards .list-group-item { padding: 10px 15px; border-color: #e7dfd0; color: #506582; }
.rml-client-dashboard .client-home-cards .list-group-item:hover { color: #996500; background: #faf9f6; }
.rml-client-dashboard .client-home-cards .card-footer { min-height: 10px; border: 0; background: #faf9f6; }

body:has(.rml-client-dashboard) .sidebar .card,
body:has(.rml-client-dashboard) .sidebar .panel {
    overflow: hidden;
    border: 1px solid #e7dfd0;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(6,25,37,.07);
}

body:has(.rml-client-dashboard) .sidebar .card-header,
body:has(.rml-client-dashboard) .sidebar .panel-heading {
    border: 0;
    color: #faf9f6;
    background: #0b2344;
}

body:has(.rml-client-dashboard) .sidebar .card-header a,
body:has(.rml-client-dashboard) .sidebar .panel-heading a { color: inherit; }
body:has(.rml-client-dashboard) .sidebar .btn-primary,
body:has(.rml-client-dashboard) .sidebar .btn-success { border-color: var(--rml-green); color: #0b2344; background: var(--rml-green); font-weight: 800; }

@media (max-width: 1199px) {
    .rml-client-dashboard .tiles .row > div { margin-bottom: 14px; }
}

@media (max-width: 600px) {
    .rml-dashboard-heading { padding: 28px 24px; border-radius: 16px; }
    .rml-dashboard-heading h1 { font-size: 30px; }
    .rml-client-dashboard .tiles .tile { min-height: 125px; padding: 17px; }
    .rml-client-dashboard .tiles .tile .stat { margin-top: 28px; }
}

/* Carrinho e finalização de encomenda WHMCS */
#order-standard_cart { color: #263129; }
#order-standard_cart .cart-body { padding-bottom: 45px; }
#order-standard_cart .cart-body > .header-lined h1,
#order-standard_cart .cart-body h1 { color: #142018; font-size: clamp(30px, 4vw, 43px); font-weight: 850; letter-spacing: -.04em; }

#order-standard_cart .cart-body .row > .secondary-cart-body { padding: 0 20px; }
#order-standard_cart .view-cart-items-header { padding: 13px 17px; border: 0; border-radius: 11px 11px 0 0; color: #10190d; background: var(--rml-green); font-size: 12px; font-weight: 850; }
#order-standard_cart .view-cart-items { overflow: hidden; border: 1px solid #dce5dd; border-top: 0; border-radius: 0 0 12px 12px; background: #fff; }
#order-standard_cart .view-cart-items .item { border-color: #e5ebe6; }
#order-standard_cart .view-cart-items .item-title { color: #1d2820; font-weight: 800; }
#order-standard_cart .empty-cart { padding: 42px 20px; color: #758078; background: #fff; text-align: center; }

#order-standard_cart .order-summary { overflow: hidden; border: 0; border-radius: 17px; background: #fff; box-shadow: 0 20px 55px rgba(17,38,22,.12); }
#order-standard_cart .order-summary .summary-heading { padding: 18px 20px; border: 0; color: #fff; background: radial-gradient(circle at 100% 0, rgba(158,230,63,.18), transparent 45%), #0b100c; font-size: 20px; font-weight: 800; }
#order-standard_cart .order-summary .summary-container { border: 1px solid #dce5dd; border-top: 0; border-radius: 0 0 17px 17px; }
#order-standard_cart .order-summary .subtotal, #order-standard_cart .order-summary .total-due-today { border-color: #e2e8e3; }
#order-standard_cart .order-summary .amt { color: #18221a; }
#order-standard_cart .order-summary .total-due-today .amt { color: #4f9021; font-size: 30px; font-weight: 850; }
#order-standard_cart .btn-checkout { padding: 15px 20px; border: 0; border-radius: 10px; color: #11190e; background: var(--rml-green); font-weight: 850; }
#order-standard_cart .btn-checkout:hover { color: #11190e; background: #aff552; box-shadow: 0 12px 26px rgba(118,201,31,.22); }
#order-standard_cart .continue-shopping { color: #648d43; font-weight: 700; }

#order-standard_cart .view-cart-tabs .nav-tabs { border: 0; }
#order-standard_cart .view-cart-tabs .nav-tabs > li > a { border: 1px solid #dce4dd; border-bottom: 0; border-radius: 10px 10px 0 0; color: #5e6b61; background: #f7f9f7; }
#order-standard_cart .view-cart-tabs .tab-content { padding: 16px; border: 1px solid #dce4dd; border-radius: 0 10px 10px 10px; background: #fff; }
#order-standard_cart .view-cart-tabs .form-control { min-height: 46px; border-color: #d8e0d9; border-radius: 9px; background: #f9fbf9; box-shadow: none; }
#order-standard_cart .view-cart-tabs .form-control:focus { border-color: #8ed444; box-shadow: 0 0 0 4px rgba(142,212,68,.12); }
#order-standard_cart .view-cart-tabs .btn { min-height: 44px; border: 1px solid #79bd37; border-radius: 9px; color: #172010; background: #eafbd9; font-weight: 760; }

#order-standard_cart .cart-sidebar .panel, #order-standard_cart .cart-sidebar .card { overflow: hidden; border: 1px solid #dce4dd; border-radius: 13px; background: #fff; box-shadow: 0 10px 30px rgba(17,38,22,.06); }
#order-standard_cart .cart-sidebar .panel-heading, #order-standard_cart .cart-sidebar .card-header { border-color: #dfe6e0; color: #1b271e; background: #f4f8f4; font-weight: 800; }
#order-standard_cart .cart-sidebar a { color: #516056; }
#order-standard_cart .cart-sidebar a:hover, #order-standard_cart .cart-sidebar .active a { color: #fff; background: #568f29; }

/* Loja RM Leonis: remover a navegação lateral técnica do carrinho. */
#order-standard_cart .cart-sidebar {
    display: none !important;
}

/* Navegação alternativa criada pelo standard_cart para ecrãs pequenos. */
#order-standard_cart .sidebar-collapsed {
    display: none !important;
}

/* O WHMCS cria outros painéis de Categorias/Ações na versão móvel. */
#order-standard_cart [menuitemname="Categories"],
#order-standard_cart [menuitemname="Actions"],
#order-standard_cart .categories-collapsed,
#order-standard_cart .actions-collapsed,
#order-standard_cart .sidebar-categories-collapsed,
#order-standard_cart .sidebar-actions-collapsed {
    display: none !important;
}

#order-standard_cart .cart-body {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin: 0 !important;
}

@media (max-width: 767px) {
    #order-standard_cart .cart-sidebar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    #order-standard_cart .sidebar-collapsed {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    #order-standard_cart .cart-body {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        padding-right: 10px !important;
        padding-left: 10px !important;
    }
}

@media (max-width: 991px) {
    #order-standard_cart .order-summary { margin-top: 28px; }
}

@media (max-width: 575px) {
    #order-standard_cart .cart-body > .header-lined h1, #order-standard_cart .cart-body h1 { font-size: 31px; }
    #order-standard_cart .view-cart-tabs .tab-content { border-radius: 0 0 10px 10px; }
}

/* Abertura de tickets */
.rml-ticket-page { width: min(1050px, calc(100% - 30px)); margin: 48px auto 70px; }
.rml-ticket-heading { display: flex; align-items: center; gap: 20px; margin-bottom: 26px; padding: 28px 34px; border-radius: 20px 20px 0 0; color: #fff; background: radial-gradient(circle at 92% 10%, rgba(158,230,63,.2), transparent 34%), #080d09; }
.rml-ticket-heading > span { width: 58px; height: 58px; display: grid; flex: 0 0 58px; place-items: center; border-radius: 16px; color: #17220e; background: var(--rml-green); font-size: 23px; }
.rml-ticket-heading small { display: block; margin-bottom: 4px; color: var(--rml-green); font-size: 10px; font-weight: 900; letter-spacing: .14em; }
.rml-ticket-heading h1 { margin: 0 0 3px; color: #fff; font-size: 29px; font-weight: 820; letter-spacing: -.025em; }
.rml-ticket-heading p { margin: 0; color: #aebbb1; }
.rml-ticket-form { margin-top: -26px; padding: 40px 44px 44px; border: 1px solid #dfe5e0; border-top: 0; border-radius: 0 0 20px 20px; background: #fff; box-shadow: 0 22px 60px rgba(17,38,22,.1); }
.rml-ticket-form label { color: #253028; font-size: 13px; font-weight: 760; }
.rml-ticket-form .form-control, .rml-ticket-form .custom-file-label { min-height: 48px; border-color: #d8e0d9; border-radius: 10px; background-color: #f9fbf9; box-shadow: none; }
.rml-ticket-form .form-control:focus { border-color: #8ed444; box-shadow: 0 0 0 4px rgba(142,212,68,.12); }
.rml-ticket-form textarea.form-control { min-height: 250px; border-radius: 0 0 10px 10px; }
.rml-ticket-form #customFieldsContainer { margin-top: 30px; padding-top: 28px; border-top: 1px solid #e7ece8; }
.rml-ticket-form #customFieldsContainer .form-group { margin-bottom: 24px; }
.rml-ticket-form #customFieldsContainer label {
    display: block;
    margin-bottom: 8px;
    color: #18231b;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
}
.rml-ticket-form #customFieldsContainer .form-control {
    min-height: 48px;
    padding: 11px 14px;
    color: #263229;
    font-size: 15px;
    line-height: 1.45;
}
.rml-ticket-form #customFieldsContainer textarea.form-control {
    min-height: 125px;
    border-radius: 10px;
    resize: vertical;
}
.rml-ticket-form #customFieldsContainer .form-text {
    margin: 7px 0 0;
    color: #6f7b72 !important;
    font-size: 13px;
    font-weight: 450;
    line-height: 1.5;
}
.rml-ticket-form #customFieldsContainer .rml-custom-field-help {
    display: block;
    margin-top: 7px;
    color: #778279 !important;
    font-family: inherit;
    font-size: 12.5px !important;
    font-weight: 450 !important;
    line-height: 1.45 !important;
    letter-spacing: 0;
}
.rml-ticket-form #customFieldsContainer input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-right: 8px;
    accent-color: #84ca39;
    vertical-align: -3px;
}
.rml-ticket-form .md-editor { overflow: hidden; border-color: #d8e0d9; border-radius: 10px; }
.rml-ticket-form .md-header { padding: 8px; border-color: #d8e0d9; background: #f3f7f3; }
.rml-ticket-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-top: 30px; padding-top: 24px; border-top: 1px solid #e7ece8; }
.rml-ticket-submit { min-width: 190px; padding: 13px 22px; border: 0; border-radius: 10px; color: #10180d; background: var(--rml-green); font-weight: 850; }
.rml-ticket-submit:hover { color: #10180d; background: #aff552; box-shadow: 0 10px 24px rgba(118,201,31,.2); }
.rml-ticket-cancel { padding: 12px 20px; border: 1px solid #d7ded8; border-radius: 10px; color: #687269; background: #fff; }
.rml-department-grid { display: grid; gap: 15px; padding: 8px 0; }
.rml-department-card { display: grid; grid-template-columns: 58px 1fr 30px; align-items: center; gap: 20px; padding: 25px 28px; border: 1px solid #dce4dd; border-radius: 16px; color: #1b251e; background: #fff; box-shadow: 0 12px 32px rgba(23,45,27,.05); text-decoration: none !important; transition: .2s ease; }
.rml-department-card:hover { border-color: #9bd45d; color: #1b251e; transform: translateY(-2px); box-shadow: 0 18px 38px rgba(23,45,27,.1); }
.rml-department-icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 15px; color: #477c20; background: #ebfbdc; font-size: 20px; }
.rml-department-card h2 { margin: 0 0 5px; color: #172019; font-size: 20px; font-weight: 800; }
.rml-department-card p { margin: 0; color: #748077; font-size: 14px; }
.rml-department-arrow { color: #79bd35; }
.rml-ticket-note { margin-top: 20px; color: #748077; font-size: 13px; text-align: center; }
.rml-ticket-note i { margin-right: 7px; color: #75b735; }

@media (max-width: 700px) {
    .rml-ticket-page { width: min(100% - 20px, 1050px); margin-top: 28px; }
    .rml-ticket-heading { align-items: flex-start; padding: 24px 22px; }
    .rml-ticket-heading > span { width: 48px; height: 48px; flex-basis: 48px; }
    .rml-ticket-heading h1 { font-size: 23px; }
    .rml-ticket-form { padding: 32px 22px; }
    .rml-ticket-actions { align-items: stretch; flex-direction: column; }
    .rml-ticket-actions .btn { width: 100%; }
    .rml-department-card { grid-template-columns: 48px 1fr; padding: 21px 18px; }
    .rml-department-icon { width: 46px; height: 46px; }
    .rml-department-arrow { display: none; }
}

/* Abertura de pedido de suporte */
.rml-ticket-support-page { width: min(1040px, calc(100% - 32px)); margin: 42px auto 78px; }
.rml-ticket-support-page .rml-ticket-heading { margin-bottom: 26px; padding: 30px 34px; border: 1px solid rgba(158,230,63,.14); border-radius: 20px; color: #fff; background: radial-gradient(circle at 96% 0, rgba(158,230,63,.16), transparent 34%), linear-gradient(145deg, #080d09, #142118); box-shadow: 0 22px 55px rgba(10,25,14,.15); }
.rml-ticket-support-page .rml-ticket-heading > span { color: #17220e; background: var(--rml-green); }
.rml-ticket-support-page .rml-ticket-heading small { color: var(--rml-green); }
.rml-ticket-support-page .rml-ticket-heading h1 { color: #fff; }
.rml-ticket-support-page .rml-ticket-heading p { color: #b6c0b8; }
.rml-ticket-support-page .rml-ticket-form { margin: 0; padding: 31px 34px 32px; border: 1px solid #cfdad1; border-radius: 20px; background: #fff; box-shadow: 0 22px 56px rgba(17,38,22,.11); }
.rml-ticket-support-page .rml-ticket-form-heading { position: relative; margin-bottom: 12px; padding: 20px 22px 20px 25px; overflow: hidden; border: 1px solid #dce7dd; border-radius: 14px; background: linear-gradient(135deg, #f4f8f4, #fafcfa); }
.rml-ticket-support-page .rml-ticket-form-heading::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 4px; background: var(--rml-green); }
.rml-ticket-support-page .rml-ticket-form-heading span { display: block; margin-bottom: 6px; color: #619b2e; font-size: 10px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.rml-ticket-support-page .rml-ticket-form-heading h2 { margin: 0 0 7px; color: #172019; font-size: 25px; font-weight: 800; letter-spacing: -.025em; }
.rml-ticket-support-page .rml-ticket-form-heading p { margin: 0; color: #6c776f; font-size: 14px; line-height: 1.6; }
.rml-ticket-support-page .alert-danger { margin: 0 0 21px; padding: 17px 19px; border-color: #ebcece; border-radius: 11px; color: #713b3b; background: #fff5f5; }
.rml-ticket-support-page .rml-ticket-fields-grid { display: grid; grid-template-columns: 1fr; gap: 0 18px; margin: 0; }
.rml-ticket-support-page .rml-ticket-fields-grid > [class*="col-"] { width: auto; max-width: none; padding: 0; flex: none; }
.rml-ticket-support-page .form-group { margin-bottom: 17px; }
.rml-ticket-support-page label { margin-bottom: 8px; color: #1f2922; font-size: 13px; font-weight: 700; }
.rml-ticket-support-page .form-control,
.rml-ticket-support-page .custom-file-label { min-height: 50px; padding: 11px 14px; border: 1px solid #cfd9d1; border-radius: 11px; color: #263229; background-color: #f7faf7; box-shadow: none; transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease; }
.rml-ticket-support-page .form-control:hover { border-color: #b7c6ba; }
.rml-ticket-support-page .form-control:focus { border-color: #83c83b; background-color: #fff; box-shadow: 0 0 0 4px rgba(131,200,59,.13); }
.rml-ticket-support-page .form-control:disabled { border-color: #d8dfda; color: #69746c; background: #edf1ee; }
.rml-ticket-support-page #inputSubject { min-height: 54px; margin-bottom: 2px; font-size: 16px; font-weight: 650; }
.rml-ticket-support-page .rml-ticket-routing-grid { margin: 1px 0 19px; padding: 17px 18px 0; border: 1px solid #dfe7e1; border-radius: 14px; background: #f6f9f6; }
.rml-ticket-support-page .rml-ticket-message-field { margin-top: 2px; }
.rml-ticket-support-page .md-editor > textarea#inputMessage { min-height: 240px; border: 0; border-top: 1px solid #d5dfd7; border-radius: 0; background: #fff; resize: vertical; line-height: 1.65; box-shadow: none; }
.rml-ticket-support-page .md-editor > textarea#inputMessage:hover { border-color: #d5dfd7; }
.rml-ticket-support-page .md-editor > textarea#inputMessage:focus { border-color: #9acb6b; box-shadow: none; }
.rml-ticket-support-page .md-editor > textarea#inputMessage:focus-visible { outline: 0; }
.rml-ticket-support-page .md-editor { overflow: hidden; border: 1px solid #cfd9d1; border-radius: 12px; background: #fff; transition: border-color .18s ease, box-shadow .18s ease; }
.rml-ticket-support-page .md-editor:focus-within { border-color: #83c83b; box-shadow: 0 0 0 4px rgba(131,200,59,.13); }
.rml-ticket-support-page .md-header { max-width: 100%; display: flex; flex-wrap: wrap; gap: 4px; padding: 9px; border: 0; background: #f3f7f3; }
.rml-ticket-support-page .md-header .btn-group { max-width: 100%; }
.rml-ticket-support-page .md-footer { padding: 5px 10px; border-top: 1px solid #e3e9e4; color: #929c94; background: #fafcfa; font-size: 10px; line-height: 1.4; }
.rml-ticket-support-page .md-controls { color: #98a199; font-size: 10px; }
.rml-ticket-support-page #customFieldsContainer { margin: 0; padding: 0; border-top: 0; }
.rml-ticket-support-page #customFieldsContainer:not(:empty) { margin: 1px 0 20px; padding: 20px 21px 2px; border: 1px solid #dfe7e1; border-radius: 14px; background: #f8faf8; }
.rml-ticket-support-page #customFieldsContainer .form-group:last-child { margin-bottom: 0; }
.rml-ticket-support-page .rml-ticket-security { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 360px); gap: 28px; align-items: center; margin-top: 8px; padding: 20px 0 14px; border: 0; border-top: 1px solid #edf1ee; border-radius: 0; background: transparent; }
.rml-ticket-support-page .rml-ticket-security-copy { display: flex; align-items: flex-start; gap: 14px; }
.rml-ticket-support-page .rml-ticket-security-copy > span { width: 36px; height: 36px; display: grid; flex: 0 0 36px; place-items: center; border-radius: 10px; color: #315d19; background: #edf8e5; }
.rml-ticket-support-page .rml-ticket-security-copy strong { display: block; margin: 1px 0 6px; color: #172019; font-size: 17px; font-weight: 820; }
.rml-ticket-support-page .rml-ticket-security-copy p { margin: 0; color: #667269; font-size: 12px; line-height: 1.55; }
.rml-ticket-support-page .rml-ticket-security-widget { width: 100%; max-width: 360px; min-width: 0; justify-self: end; overflow: visible; }
.rml-ticket-support-page .rml-ticket-security-unavailable { margin: 0; padding: 13px 15px; border: 1px solid #e2d6ba; border-radius: 10px; color: #705c2b; background: #fff9ea; font-size: 12px; line-height: 1.5; }
.rml-ticket-support-page .rml-ticket-captcha { margin: 4px 0 8px; }
.rml-ticket-support-page .rml-ticket-actions { justify-content: flex-end; margin-top: 8px; padding-top: 19px; border-top: 1px solid #e5ebe6; }
.rml-ticket-support-page .rml-ticket-submit { order: 2; }
.rml-ticket-support-page .rml-ticket-cancel { order: 1; }
.rml-ticket-support-page .rml-ticket-submit { min-width: 220px; }
.rml-ticket-support-page .rml-ticket-cancel { border-color: #e1e6e2; color: #747d76; background: transparent; box-shadow: none; }
.rml-ticket-support-page .rml-ticket-cancel:hover { border-color: #cfd7d1; color: #4f5951; background: #f8faf8; box-shadow: none; }
.rml-ticket-support-page input:focus-visible,
.rml-ticket-support-page select:focus-visible,
.rml-ticket-support-page textarea:focus-visible,
.rml-ticket-support-page a:focus-visible,
.rml-ticket-support-page button:focus-visible { outline: 2px solid rgba(91,151,45,.72); outline-offset: 3px; }

@media (min-width: 768px) {
    .rml-ticket-support-page .rml-ticket-identity-grid,
    .rml-ticket-support-page .rml-ticket-routing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 768px) and (max-width: 1099px) {
    .rml-ticket-support-page .md-editor > textarea#inputMessage { min-height: 225px; }
}

@media (min-width: 1100px) {
    .rml-ticket-support-page .rml-ticket-routing-grid-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .rml-ticket-support-page .rml-ticket-security { grid-template-columns: 1fr; }
    .rml-ticket-support-page .rml-ticket-security-widget { justify-self: start; }
}

@media (max-width: 767px) {
    .rml-ticket-support-page .md-editor > textarea#inputMessage { min-height: 210px; }
    .rml-ticket-support-page .rml-ticket-routing-grid { padding: 15px 15px 0; }
    .rml-ticket-support-page .rml-ticket-actions { align-items: stretch; flex-direction: column; }
    .rml-ticket-support-page .rml-ticket-actions .btn { width: 100%; }
    .rml-ticket-support-page .rml-ticket-submit { order: 1; }
    .rml-ticket-support-page .rml-ticket-cancel { order: 2; }
}

@media (max-width: 620px) {
    .rml-ticket-support-page { width: min(100% - 20px, 1040px); margin-top: 24px; }
    .rml-ticket-support-page .rml-ticket-heading { align-items: flex-start; padding: 25px 20px; border-radius: 16px; }
    .rml-ticket-support-page .rml-ticket-form { padding: 25px 19px 27px; border-radius: 16px; }
    .rml-ticket-support-page .rml-ticket-form-heading { margin-bottom: 9px; padding: 18px 18px 18px 21px; }
    .rml-ticket-support-page .rml-ticket-form-heading h2 { font-size: 22px; }
    .rml-ticket-support-page #customFieldsContainer:not(:empty) { padding: 18px 16px 1px; }
    .rml-ticket-support-page .rml-ticket-security { padding: 18px 0 10px; }
    .rml-ticket-support-page .rml-ticket-security-widget { max-width: 100%; }
}

/* Confirmação do ticket */
.rml-ticket-confirm { width: min(720px, calc(100% - 30px)); margin: 58px auto 80px; padding: 58px 62px; border: 1px solid #C8DFE5; border-radius: 24px; background: radial-gradient(circle at 100% 0, rgba(22,198,212,.1), transparent 35%), #fff; box-shadow: 0 28px 75px rgba(6,25,37,.12); text-align: center; }
.rml-confirm-icon { width: 76px; height: 76px; display: grid; place-items: center; margin: 0 auto 22px; border-radius: 50%; color: #061925; background: #16C6D4; font-size: 29px; box-shadow: 0 0 0 11px rgba(22,198,212,.12); }
.rml-confirm-kicker { color: #087784; font-size: 10px; font-weight: 900; letter-spacing: .16em; }
.rml-ticket-confirm h1 { margin: 9px 0 12px; color: #061925; font-size: 34px; font-weight: 850; letter-spacing: -.035em; }
.rml-confirm-lead { max-width: 550px; margin: 0 auto 30px; color: #526875; font-size: 16px; line-height: 1.7; }
.rml-ticket-number { min-width: 270px; display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; margin-bottom: 28px; padding: 16px 20px; border: 1px solid #C8DFE5; border-radius: 13px; color: #061925; background: #E8F7F8; text-decoration: none !important; }
.rml-ticket-number small { color: #526875; font-size: 9px; font-weight: 850; letter-spacing: .1em; }
.rml-ticket-number strong { color: #087784; font-size: 18px; }
.rml-confirm-info { display: flex; align-items: flex-start; gap: 15px; margin-bottom: 30px; padding: 18px 20px; border-radius: 13px; color: #526875; background: #F7F9FA; text-align: left; }
.rml-confirm-info i { margin-top: 3px; color: #087784; font-size: 18px; }
.rml-confirm-info p { margin: 0; font-size: 13px; line-height: 1.6; }
.rml-confirm-button { padding: 14px 25px; border: 0; border-radius: 11px; color: #061925; background: #16C6D4; font-weight: 850; }
.rml-confirm-button:hover { color: #061925; background: #39D8E1; box-shadow: 0 12px 26px rgba(22,198,212,.2); }
.rml-confirm-button i { margin-left: 9px; }

@media (max-width: 560px) {
    .rml-ticket-confirm { margin-top: 30px; padding: 42px 22px; }
    .rml-ticket-confirm h1 { font-size: 27px; }
    .rml-ticket-number { min-width: 0; width: 100%; gap: 12px; }
}

/* Consulta e resposta de tickets */
.view-ticket, #ticketReplyContainer { overflow: hidden; border: 1px solid #dce4dd; border-radius: 18px; background: #fff; box-shadow: 0 18px 48px rgba(17,38,22,.08); }
.view-ticket > .card-body:first-child { padding: 26px 28px !important; color: #fff; background: radial-gradient(circle at 90% 0, rgba(158,230,63,.18), transparent 33%), #080d09; }
.view-ticket > .card-body:first-child .card-title { margin-bottom: 11px; color: #fff; font-size: 25px; font-weight: 820; letter-spacing: -.025em; }
.view-ticket > .card-body:first-child p { margin: 0; color: #aebbb1; }
.view-ticket > .card-body:first-child p strong { color: var(--rml-green); }
.view-ticket .ticket-actions .btn { padding: 8px 13px; border-radius: 9px; font-size: 12px; font-weight: 750; }
.view-ticket .ticket-actions .btn-default { border-color: rgba(255,255,255,.18); color: #eaf2ec; background: rgba(255,255,255,.08); }
.view-ticket .ticket-actions .btn-danger { border-color: rgba(255,95,105,.45); color: #fff; background: rgba(199,46,58,.82); }
.view-ticket > .card-body:not(:first-child) { padding: 22px !important; background: #f5f8f5; }
.view-ticket .ticket-reply { overflow: hidden; border: 1px solid #dce4dd; border-radius: 14px; background: #fff; }
.view-ticket .ticket-reply.staff { border-color: #cce3b7; }
.view-ticket .ticket-reply .posted-by { padding: 13px 17px; border-bottom: 1px solid #e5ebe6; color: #748077; background: #f7f9f7; font-size: 12px; }
.view-ticket .ticket-reply.staff .posted-by { background: #eff8e7; }
.view-ticket .posted-by-name { color: #263129; font-weight: 800; }
.view-ticket .requestor-badge { padding: 5px 9px; border-radius: 7px; color: #fff; background: #708078; font-size: 10px; font-weight: 750; }
.view-ticket .ticket-reply .message { color: #263028; font-size: 15px; line-height: 1.75; }
.view-ticket .ticket-reply .message hr { border-color: #e4e9e5; }
.view-ticket .attachments { border-top: 1px solid #e5ebe6; background: #fafcfa; }

#ticketReplyContainer { margin-top: 18px; }
#ticketReplyContainer > .card-body { padding: 30px 32px; }
#ticketReplyContainer .card-title { margin-bottom: 24px; color: #172019; font-size: 25px; font-weight: 820; }
#ticketReplyContainer label { color: #28342b; font-size: 13px; font-weight: 760; }
#ticketReplyContainer .form-control, #ticketReplyContainer .custom-file-label { min-height: 48px; border-color: #d8e0d9; border-radius: 10px; background-color: #f9fbf9; box-shadow: none; }
#ticketReplyContainer .form-control:focus { border-color: #8ed444; box-shadow: 0 0 0 4px rgba(142,212,68,.12); }
#ticketReplyContainer .md-editor { overflow: hidden; border-color: #d8e0d9; border-radius: 11px; }
#ticketReplyContainer .md-header { padding: 8px; background: #f2f6f2; }
#ticketReplyContainer textarea.form-control { min-height: 250px; border-radius: 0; }
#ticketReplyContainer input.btn-primary { min-width: 170px; padding: 12px 20px; border: 0; border-radius: 10px; color: #11190e; background: var(--rml-green); font-weight: 850; }
#ticketReplyContainer input.btn-default { padding: 11px 20px; border-color: #d6ddd7; border-radius: 10px; color: #687269; background: #fff; }

/* Painéis laterais da área de suporte */
.sidebar .card, .sidebar .panel { overflow: hidden; border: 1px solid #dce4dd; border-radius: 13px; box-shadow: 0 10px 28px rgba(17,38,22,.05); }
.sidebar .card-header, .sidebar .panel-heading { border-bottom-color: #dfe6e0; color: #1b271e; background: #f5f8f5; font-weight: 780; }
.sidebar .list-group-item { border-color: #e7ece8; color: #516056; font-size: 13px; }
.sidebar .list-group-item:hover { color: #467c21; background: #f3faed; }

@media (max-width: 767px) {
    .view-ticket > .card-body:first-child { padding: 23px 20px !important; }
    .view-ticket .ticket-actions { width: 100%; display: flex; gap: 7px; float: none !important; }
    .view-ticket .ticket-actions .btn { flex: 1; }
    #ticketReplyContainer > .card-body { padding: 25px 20px; }
}

body {
    color: #172019;
    background: #f4f7f4;
}

/* Cabeçalho e navegação WHMCS */
header.header {
    position: relative;
    z-index: 100;
    border-bottom: 1px solid rgba(158, 230, 63, .13);
    background: #070b08;
    box-shadow: 0 9px 28px rgba(0, 0, 0, .2);
}

header.header .topbar {
    min-height: 36px;
    padding: 3px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .055);
    color: #9facA2;
    background: #040705;
    font-size: 12px;
}

header.header .topbar .d-flex {
    min-width: 0;
    align-items: center;
}

header.header .topbar .btn,
header.header .topbar .active-client .btn,
header.header .topbar .active-client .input-group-text {
    min-height: 28px;
    padding-top: 4px;
    padding-bottom: 4px;
    border-color: rgba(255, 255, 255, .08);
    color: #aeb8b0;
    background: transparent;
    font-size: 12px;
}

header.header .topbar #accountNotifications:hover,
header.header .topbar .active-client .btn:hover {
    border-color: rgba(158, 230, 63, .25);
    color: var(--rml-green);
}

header.header .topbar .active-client,
header.header .topbar .btn-group,
header.header .topbar .btn-active-client {
    min-width: 0;
}

header.header .topbar .btn-active-client span {
    display: block;
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

header.header .navbar-light {
    min-height: 70px;
    padding: 8px 0;
    background: #070b08;
}

header.header .logo-img {
    display: block;
    width: 230px;
    height: 54px;
    max-width: 230px;
    max-height: 54px;
    object-fit: contain;
    object-position: left center;
}

header.header .navbar-brand {
    display: block;
    width: 230px;
    height: 54px;
    flex: 0 0 230px;
    overflow: hidden;
    color: transparent !important;
    font-size: 24px;
    font-weight: 850;
    letter-spacing: -.025em;
}

header.header .navbar-brand .logo-img {
    width: 230px;
    height: 54px;
}

header.header .search {
    overflow: hidden;
    border-color: rgba(255, 255, 255, .14);
    border-radius: 10px;
    background: rgba(255, 255, 255, .05);
}

header.header .search .btn,
header.header .search .form-control {
    color: #dbe5dd;
    background: transparent;
}

header.header .search .form-control::placeholder { color: #7f8c82; }

/* A base de conhecimento não é utilizada neste portal. */
header.header form[action*="knowledgebase"] { display: none !important; }

header.header .toolbar .nav-link {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    padding: 0;
    border-color: rgba(255, 255, 255, .11);
    border-radius: 9px;
    color: #dce6de;
    background: rgba(255, 255, 255, .035);
    box-shadow: none;
}

header.header .toolbar .nav-link:hover {
    border-color: rgba(158, 230, 63, .42);
    color: var(--rml-green);
    background: rgba(158, 230, 63, .065);
}

header.header .toolbar .nav-link .badge {
    min-width: 17px;
    border: 2px solid #070b08;
    border-radius: 9px;
    color: #11190d;
    background: var(--rml-green);
    font-size: 9px;
}

header.header .main-navbar-wrapper {
    border-top: 1px solid rgba(255, 255, 255, .055);
    background: #0b100c;
}

header.header .main-navbar-wrapper .navbar-collapse { padding: 7px 0; }

header.header .navbar a,
header.header .navbar-nav a {
    color: #c9d4cc;
}

header.header .main-navbar-wrapper .navbar-nav > li > a {
    min-height: 28px;
    display: flex;
    align-items: center;
    margin-right: 3px;
    padding: 3px 13px !important;
    border-radius: 9px;
    color: #c7d1ca;
    font-size: 13px;
    font-weight: 680;
    line-height: 20px;
    text-decoration: none;
    transition: border-color .2s ease, color .2s ease, background .2s ease;
}

header.header .main-navbar-wrapper .navbar-nav > li > a:hover,
header.header .main-navbar-wrapper .navbar-nav > li.active > a {
    color: var(--rml-green);
    background: rgba(158, 230, 63, .065);
}

header.header .main-navbar-wrapper .rml-client-area-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    line-height: 1;
}

header.header .main-navbar-wrapper .rml-client-area-link > i {
    width: 17px;
    height: 17px;
    display: inline-grid;
    flex: 0 0 17px;
    place-items: center;
    margin: 0;
    line-height: 17px;
}

header.header .main-navbar-wrapper .rml-navbar-proposal > a {
    border: 1px solid rgba(158, 230, 63, .34);
    color: #dff4ce;
    background: rgba(158, 230, 63, .075);
}

header.header .main-navbar-wrapper .rml-navbar-proposal > a:hover {
    border-color: rgba(158, 230, 63, .62);
    color: var(--rml-green);
    background: rgba(158, 230, 63, .12);
}

header.header .dropdown-menu {
    min-width: 220px;
    margin-top: 8px;
    padding: 7px;
    border: 1px solid #273029;
    border-radius: 11px;
    background: #0f1611;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .32);
}

header.header .dropdown-menu > li.dropdown-item {
    padding: 0;
    background: transparent;
}

header.header .dropdown-menu > li > a.dropdown-item,
header.header .collapsable-dropdown-menu > li > a {
    min-height: 38px;
    display: flex;
    align-items: center;
    margin: 0;
    padding: 8px 11px !important;
    border-radius: 8px;
    color: #c9d4cc !important;
    font-size: 13px;
    line-height: 20px;
}

header.header .dropdown-menu > li > a.dropdown-item:hover,
header.header .dropdown-menu > li > a.dropdown-item:focus,
header.header .dropdown-menu > li > a.dropdown-item.active,
header.header .dropdown-menu > li > a.dropdown-item:active,
header.header .collapsable-dropdown-menu > li > a:hover,
header.header .collapsable-dropdown-menu > li > a:focus,
header.header .collapsable-dropdown-menu > li > a:active {
    color: var(--rml-green) !important;
    background: rgba(158, 230, 63, .08);
}

/* Conta — apresentação isolada do dropdown público do WHMCS. */
header.header .rml-account-dropdown > .dropdown-toggle::after {
    margin-left: 7px;
    transition: transform .18s ease;
}

header.header .rml-account-dropdown.show > .dropdown-toggle::after {
    transform: rotate(180deg);
}

header.header .rml-account-menu {
    width: 250px;
    min-width: 250px;
    padding: 8px;
    border-color: rgba(255, 255, 255, .11);
    border-radius: 12px;
    background: #0d140f;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .28);
}

header.header .rml-account-menu > li.dropdown-item {
    width: 100%;
}

header.header .rml-account-menu > li > a.rml-account-option {
    width: 100%;
    min-height: 42px;
    gap: 11px;
    padding: 10px 12px !important;
    color: #d5dfd8 !important;
    font-weight: 600;
    text-decoration: none;
    transition: color .18s ease, background-color .18s ease;
}

header.header .rml-account-menu > li > a.rml-account-option i {
    width: 16px;
    color: #9ee63f;
    text-align: center;
}

header.header .rml-account-menu > li > a.rml-account-option:hover,
header.header .rml-account-menu > li > a.rml-account-option:focus,
header.header .rml-account-menu > li > a.rml-account-option:focus-visible {
    color: #fff !important;
    background: rgba(158, 230, 63, .09);
    outline: none;
}

header.header .rml-account-menu > li > a.rml-account-option:focus-visible {
    box-shadow: inset 0 0 0 2px rgba(158, 230, 63, .72);
}

@media (min-width: 1200px) {
    header.header > .navbar > .container,
    header.header > .main-navbar-wrapper > .container,
    header.header > .topbar > .container { max-width: 1180px; }
}

@media (max-width: 1199.98px) {
    header.header .main-navbar-wrapper .navbar-collapse { padding: 10px 0 14px; }
    header.header .main-navbar-wrapper .navbar-nav { width: 100%; }
    header.header .main-navbar-wrapper .navbar-nav + .navbar-nav { margin-top: 8px; padding-top: 8px; border-top: 1px solid rgba(255, 255, 255, .065); }
    header.header .main-navbar-wrapper .navbar-nav > li { width: 100%; }
    header.header .main-navbar-wrapper .navbar-nav > li > a { min-height: 44px; width: 100%; margin: 0; padding: 11px 14px !important; }
    header.header .main-navbar-wrapper .rml-navbar-proposal > a { margin-top: 5px; }
    header.header .dropdown-menu { position: static !important; width: 100%; margin: 4px 0 7px; float: none; border-radius: 9px; box-shadow: none; }
    header.header .dropdown-menu > li > a.dropdown-item,
    header.header .collapsable-dropdown-menu > li > a { min-height: 42px; padding: 10px 12px !important; }
    header.header .rml-account-menu { width: 100%; min-width: 0; }
}

.master-breadcrumb {
    border-bottom: 1px solid #dfe6e0;
    background: #eef3ef;
}

.master-breadcrumb .breadcrumb { color: #647067; }
.master-breadcrumb a { color: #477628; }

body:has(.rml-home) .master-breadcrumb,
body:has(.rml-home) #frmDomainHomepage {
    display: none;
}

/* O WHMCS classifica o catálogo como carrinho; ocultar esse breadcrumb técnico. */
body:has(#order-supreme_comparison) .master-breadcrumb,
body:has(#order-standard_cart) .master-breadcrumb {
    display: none;
}

body:has(.rml-home) section#main-body {
    padding-top: 0;
    padding-bottom: 0;
}

/* Rodapé WHMCS */
#footer.rml-footer {
    position: relative;
    margin: 0;
    padding: 56px 0 0;
    border-top: 0;
    color: #aebbb1;
    background: #070a08;
}

.rml-footer .nav-link {
    padding: 8px 13px;
    color: #bdc8c0;
}

.rml-footer .nav-link:hover { color: var(--rml-green); }

.rml-footer .btn {
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 9px;
    color: #eef5f0;
    background: rgba(255, 255, 255, .05);
}

.rml-footer .copyright {
    margin: 0;
    padding-top: 0;
    border-top: 0;
    color: #77837a;
    text-align: left;
}

.rml-footer-grid {
    display: grid;
    grid-template-columns: minmax(300px, 1.6fr) repeat(3, minmax(150px, 1fr));
    gap: clamp(36px, 5vw, 56px);
    align-items: start;
    padding-bottom: 36px;
}

.rml-footer-logo {
    display: inline-flex;
    margin-bottom: 18px;
    color: #fff !important;
    font-size: 23px;
    font-weight: 900;
    letter-spacing: -.025em;
    text-decoration: none !important;
}

.rml-footer-logo img {
    max-width: 242px;
    max-height: 60px;
}

.rml-footer-brand p {
    max-width: 410px;
    margin: 0 0 12px;
    color: #a5b1a8;
    line-height: 1.7;
}

.rml-footer-brand small { display: block; max-width: 410px; color: #718077; font-size: 11px; line-height: 1.55; }

.rml-footer-contact {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--rml-green) !important;
    font-weight: 800;
    text-decoration: none !important;
}

.rml-footer-column h3 {
    margin: 4px 0 18px;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.rml-footer-column a {
    display: block;
    margin: 11px 0;
    color: #a7b3aa;
    text-decoration: none;
    transition: color .2s ease, transform .2s ease;
}

.rml-footer-column a:hover {
    color: var(--rml-green);
    transform: translateX(2px);
}

.rml-footer-column a:focus-visible { outline: 2px solid var(--rml-green); outline-offset: 4px; border-radius: 2px; color: #fff; }

.rml-payments {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 0;
    padding: 16px 0;
    border-top: 1px solid rgba(255,255,255,.08);
}

.rml-payments-title {
    color: #8f9c92;
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .04em;
}

.rml-payments-title i { margin-right: 7px; color: var(--rml-green); }
.rml-payment-methods { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.rml-payment-badge { min-height: 30px; display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border: 1px solid rgba(255,255,255,.09); border-radius: 7px; color: #cbd6ce; background: rgba(255,255,255,.03); font-size: 10px; font-weight: 750; }
.rml-payment-badge i { color: #9ee63f; }
.rml-payment-mbway strong { display: inline-grid; place-items: center; padding: 2px 4px; border-radius: 4px; color: #fff; background: #e32636; font-size: 9px; }
.rml-payment-transfer { color: #c9d4cc; }
.rml-country-flag { width: 22px; height: 15px; display: inline-block; margin-right: 5px; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.12); vertical-align: -2px; }
.rml-complaints-book {
    margin-left: auto;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 5px 9px 5px 6px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 8px;
    color: #edf7ef;
    background: transparent;
    text-decoration: none;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.rml-complaints-book:hover {
    border-color: var(--rml-green);
    color: #fff;
    background: rgba(158,230,63,.09);
    text-decoration: none;
    transform: translateY(-1px);
}
.rml-complaints-icon {
    width: 30px;
    height: 30px;
    display: inline-grid;
    place-items: center;
    border-radius: 7px;
    color: #071008;
    background: var(--rml-green);
    font-size: 13px;
}
.rml-complaints-book strong,
.rml-complaints-book small { display: block; line-height: 1.15; }
.rml-complaints-book strong { font-size: 11px; letter-spacing: .01em; }
.rml-complaints-book small { margin-top: 3px; color: #9fb0a3; font-size: 10px; }
.rml-complaints-external { margin-left: 3px; color: var(--rml-green); font-size: 9px; }

.rml-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin-top: 0;
    padding: 17px 0 19px;
    border-top: 1px solid rgba(255,255,255,.07);
}

.rml-footer-bottom .copyright {
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    color: #68756b;
    font-size: 11px;
    text-align: center;
}

.rml-footer-tools {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
}

/* Páginas legais internas */
.rml-legal-page {
    overflow: hidden;
    margin: 18px 0 55px;
    border: 1px solid #dce5de;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 22px 65px rgba(24, 42, 28, .08);
}

.rml-legal-hero {
    position: relative;
    padding: 62px 55px;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 85% 10%, rgba(158,230,63,.22), transparent 30%),
        linear-gradient(135deg, #080c09, #111a13);
}

.rml-legal-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .15;
    background-image: linear-gradient(rgba(255,255,255,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.09) 1px, transparent 1px);
    background-size: 48px 48px;
}

.rml-legal-hero span,
.rml-legal-hero h1 {
    position: relative;
    z-index: 1;
}

.rml-legal-hero span {
    color: var(--rml-green);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.rml-legal-hero h1 {
    margin: 12px 0 0;
    color: #fff;
    font-size: clamp(35px, 5vw, 55px);
    font-weight: 850;
    letter-spacing: -.035em;
}

.rml-legal-content {
    max-width: 960px;
    padding: 52px 55px 65px;
    color: #445048;
    font-size: 15px;
    line-height: 1.8;
}

.rml-legal-content > h1 { display: none; }
.rml-legal-content > .legal-header {
    padding: 0 0 30px;
    margin: 0;
    color: #445048;
    background: none;
}

.rml-legal-content > .legal-header::before,
.rml-legal-content > .legal-header::after { display: none; }
.rml-legal-content > .legal-header h1 { display: none; }

.rml-legal-content > .legal-header .eyebrow {
    margin: 0 0 14px;
    color: #4d7f26;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.rml-legal-content .meta {
    display: flex;
    align-items: center;
    gap: 13px;
    margin: 0;
    color: #193026;
    font-size: 13px;
    font-weight: 750;
}

.rml-legal-content .meta::before {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    color: #071008;
    border: 1px solid rgba(130, 230, 0, .45);
    border-radius: 50%;
    background: rgba(130, 230, 0, .12);
    content: "▣";
    font-size: 17px;
}

.rml-legal-content > section {
    padding: 29px 0 25px;
    border-top: 1px solid #dce5de;
}

.rml-legal-content > section:first-of-type {
    padding-top: 27px;
}

.rml-legal-content h2 {
    padding-left: 14px;
    margin: 0 0 18px;
    color: #102a20;
    border-left: 3px solid var(--rml-green);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    font-weight: 750;
    line-height: 1.25;
}

.rml-legal-content h3 {
    margin: 24px 0 11px;
    color: #17392c;
    font-size: 17px;
    font-weight: 800;
}
.rml-legal-content p { margin: 0 0 17px; }
.rml-legal-content ul { margin: 10px 0 24px; padding-left: 23px; }
.rml-legal-content li { margin: 7px 0; }
.rml-legal-content a { color: #4f8b27; font-weight: 700; }

.rml-legal-content .privacy-legal-index,
.rml-legal-content .aup-legal-index {
    padding: 24px 26px;
    margin: 12px 0 30px;
    border: 1px solid #dce5de;
    border-radius: 14px;
    background: #f7faf7;
}

.rml-legal-content .privacy-legal-index h2,
.rml-legal-content .aup-legal-index h2 { margin-bottom: 14px; }
.rml-legal-content .privacy-legal-index ol,
.rml-legal-content .aup-legal-index ol { columns: 2; column-gap: 38px; margin: 0; padding-left: 24px; }
.rml-legal-content .privacy-legal-index li,
.rml-legal-content .aup-legal-index li { break-inside: avoid; }

.rml-legal-content .legal-table-wrap {
    width: 100%;
    margin: 22px 0;
    overflow-x: auto;
    border-radius: 12px;
}

.rml-legal-content .legal-table-wrap table { margin: 0; }

.rml-legal-content .legal-download-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 26px 28px;
    border: 1px solid #d7dfda;
    border-radius: 16px;
    background: #f5f8f6;
}

.rml-legal-content .legal-download-card h2 { margin: 0 0 8px; }
.rml-legal-content .legal-download-card p { margin: 0; }

.rml-legal-content .legal-download-button {
    flex: 0 0 auto;
    padding: 13px 20px;
    border-radius: 10px;
    background: #123f34;
    color: #fff;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(18, 63, 52, .16);
}

.rml-legal-content .legal-download-button:hover {
    background: #0c3028;
    color: #fff;
}

.rml-legal-content .privacy-meta {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 13px;
    margin: 0 0 26px;
    color: #637068;
    border: 1px solid #dce6de;
    border-radius: 999px;
    background: #f3f8f4;
    font-size: 11px;
    line-height: 1.45;
}

.rml-legal-content .privacy-meta br { display: none; }

.rml-legal-content .privacy-meta strong:nth-of-type(2)::before {
    margin-right: 7px;
    color: #94a097;
    content: "•";
}

.rml-legal-content .privacy-summary {
    position: relative;
    padding: 28px 30px;
    margin: 0 0 16px;
    overflow: hidden;
    border: 1px solid #d8e4da;
    border-radius: 16px;
    background:
        radial-gradient(circle at 100% 0%, rgba(158,230,63,.12), transparent 13rem),
        #f7faf7;
}

.rml-legal-content .legal-summary {
    position: relative;
    padding: 27px 29px;
    margin: 0 0 10px;
    overflow: hidden;
    border: 1px solid #d7e2d9;
    border-radius: 15px;
    background:
        radial-gradient(circle at 100% 0%, rgba(130,230,0,.14), transparent 14rem),
        #f5f8f6;
}

.rml-legal-content .legal-summary::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--rml-green);
    content: "";
}

.rml-legal-content .legal-summary h2 {
    padding: 0;
    margin: 0 0 10px;
    border: 0;
}

.rml-legal-content .legal-summary p:last-child { margin-bottom: 0; }

.rml-legal-content .privacy-summary::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 100%;
    background: var(--rml-green);
    content: "";
}

.rml-legal-content .privacy-summary h2 {
    padding: 0;
    margin: 0 0 10px;
    border: 0;
    font-size: 22px;
}

.rml-legal-content .privacy-summary p:last-child { margin-bottom: 0; }

.rml-legal-content .privacy-principles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 38px;
}

.rml-legal-content .privacy-principles > div {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    column-gap: 9px;
    align-items: center;
    padding: 14px;
    border: 1px solid #dce5de;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 9px 22px rgba(18,35,22,.05);
}

.rml-legal-content .privacy-principles span {
    width: 34px;
    height: 34px;
    grid-row: 1 / 3;
    display: grid;
    place-items: center;
    color: #071008;
    border-radius: 9px;
    background: var(--rml-green);
    font-weight: 900;
}

.rml-legal-content .privacy-principles strong {
    color: #152019;
    font-size: 11px;
}

.rml-legal-content .privacy-principles small {
    color: #748078;
    font-size: 9px;
    line-height: 1.4;
}

.rml-legal-content table {
    width: 100%;
    margin: 22px 0;
    overflow: hidden;
    border: 1px solid #dce4dd;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 12px;
}

.rml-legal-content th,
.rml-legal-content td {
    padding: 12px 14px;
    text-align: left;
    vertical-align: top;
    border-right: 1px solid #dce4dd;
    border-bottom: 1px solid #dce4dd;
    line-height: 1.55;
}

.rml-legal-content th:last-child,
.rml-legal-content td:last-child { border-right: 0; }
.rml-legal-content tbody tr:last-child td { border-bottom: 0; }
.rml-legal-content th { color: #fff; background: #111a13; font-size: 13px; }
.rml-legal-content td { font-size: 13px; }
.rml-legal-content tbody tr:nth-child(even) { background: #f4f8f2; }

@media (max-width: 700px) {
    .rml-legal-content > section {
        padding: 24px 0 20px;
    }

    .rml-legal-content h2 {
        font-size: 21px;
    }

    .rml-legal-content .legal-download-card {
        display: grid;
        padding: 22px;
    }

    .rml-legal-content .legal-download-button {
        width: 100%;
        text-align: center;
    }

    .rml-legal-content .privacy-meta {
        display: grid;
        gap: 2px;
        border-radius: 10px;
    }

    .rml-legal-content .privacy-meta strong:nth-of-type(2)::before { display: none; }
    .rml-legal-content .privacy-principles { grid-template-columns: 1fr; }
    .rml-legal-content .privacy-legal-index ol,
    .rml-legal-content .aup-legal-index ol { columns: 1; }
    .rml-legal-content table { display: block; overflow-x: auto; }
    .rml-legal-content .legal-table-wrap table { display: table; min-width: 620px; overflow: visible; }
}

/* Páginas legais — paleta clara da homepage. */
body:has(.rml-legal-page) #main-body { background: #faf9f6; }

.rml-legal-page {
    --rml-legal-accent: #996500;
    border-color: #e7dfd0;
    background: #fff;
    box-shadow: 0 22px 65px rgba(0, 0, 0, .28);
}

.rml-legal-hero {
    background:
        radial-gradient(circle at 85% 10%, rgba(221,176,57, .18), transparent 31%),
        linear-gradient(135deg, #fff, #faf7f0);
}

.rml-legal-hero span { color: var(--rml-legal-accent); }
.rml-legal-content { color: #506582; }
.rml-legal-content strong { color: #0b2344; }
.rml-legal-content > .legal-header { color: #506582; }
.rml-legal-content > .legal-header .eyebrow,
.rml-legal-content a { color: var(--rml-legal-accent); }
.rml-legal-content .meta { color: #0b2344; }

.rml-legal-content .meta::before {
    color: #0b2344;
    border-color: rgba(221,176,57, .45);
    background: rgba(221,176,57, .14);
}

.rml-legal-content > section { border-color: #e7dfd0; }
.rml-legal-content h2 { color: #0b2344; border-left-color: var(--rml-legal-accent); }
.rml-legal-content h3 { color: #0b2344; }

.rml-legal-content .legal-download-card,
.rml-legal-content .legal-summary,
.rml-legal-content .privacy-summary,
.rml-legal-content .privacy-legal-index,
.rml-legal-content .aup-legal-index {
    border-color: #e7dfd0;
    background:
        radial-gradient(circle at 100% 0%, rgba(221,176,57, .1), transparent 14rem),
        #faf7f0;
}

.rml-legal-content .legal-summary::before,
.rml-legal-content .privacy-summary::before { background: var(--rml-legal-accent); }

.rml-legal-content .legal-download-button {
    color: #0b2344;
    background: var(--rml-legal-accent);
    box-shadow: 0 10px 24px rgba(221,176,57, .16);
}

.rml-legal-content .legal-download-button:hover { color: #0b2344; background: #edc457; }

.rml-legal-content .privacy-meta {
    color: #506582;
    border-color: #e7dfd0;
    background: #faf7f0;
}

.rml-legal-content .privacy-meta strong:nth-of-type(2)::before { color: #63738a; }

.rml-legal-content .privacy-principles > div {
    border-color: #e7dfd0;
    background: #faf7f0;
    box-shadow: 0 9px 22px rgba(0, 0, 0, .16);
}

.rml-legal-content .privacy-principles span { color: #0b2344; background: #ddb039; }
.rml-legal-content .privacy-principles strong { color: #0b2344; }
.rml-legal-content .privacy-principles small { color: #506582; }
.rml-legal-content table,
.rml-legal-content th,
.rml-legal-content td { border-color: #e7dfd0; }
.rml-legal-content th { color: #0b2344; background: #f3e8cd; }
.rml-legal-content td { color: #506582; background: #faf7f0; }
.rml-legal-content tbody tr:nth-child(even),
.rml-legal-content tbody tr:nth-child(even) td { background: #faf7f0; }

/* Páginas legais: tons claros, azul-marinho e dourado. */
.rml-legal-page:has(#resumo-termos, #resumo-privacidade, #resumo-pua) {
    --rml-legal-accent: #996500;
    border-color: #e7dfd0;
    background: #fff;
}
.rml-legal-page:has(#resumo-termos, #resumo-privacidade, #resumo-pua) .rml-legal-hero {
    background: radial-gradient(circle at 85% 10%, rgba(221,176,57,.18), transparent 31%), linear-gradient(135deg, #fff, #faf7f0);
}
.rml-legal-page:has(#resumo-termos, #resumo-privacidade, #resumo-pua) .meta::before {
    color: var(--rml-legal-accent);
    border-color: rgba(221,176,57,.45);
    background: rgba(221,176,57,.14);
}
.rml-legal-page:has(#resumo-termos, #resumo-privacidade, #resumo-pua) :is(.legal-summary, .privacy-legal-index, .aup-legal-index) {
    border-color: #e7dfd0;
    background: radial-gradient(circle at 100% 0%, rgba(221,176,57,.1), transparent 14rem), #faf7f0;
}
.rml-legal-page:has(#resumo-termos, #resumo-privacidade, #resumo-pua) .rml-legal-content > section { border-color: #e7dfd0; }
.rml-legal-page:has(#resumo-termos, #resumo-privacidade, #resumo-pua) .rml-legal-content a:hover { color: #765000; }
.rml-legal-page:has(#resumo-termos, #resumo-privacidade, #resumo-pua) .rml-legal-content a:focus-visible {
    outline: 2px solid var(--rml-legal-accent);
    outline-offset: 3px;
}

.rml-legal-page:has(#resumo-privacidade) :is(.legal-table-wrap, table, th, td) { border-color: #e7dfd0; }
.rml-legal-page:has(#resumo-privacidade) th { background: #f3e8cd; }
.rml-legal-page:has(#resumo-privacidade) td { background: #fff; }
.rml-legal-page:has(#resumo-privacidade) tbody tr:nth-child(even),
.rml-legal-page:has(#resumo-privacidade) tbody tr:nth-child(even) td { background: #faf7f0; }

.rml-legal-hero h1 { color:#0b2344; }

.rml-home {
    position: relative;
    left: 50%;
    width: 100vw;
    margin-top: -1px;
    margin-left: -50vw;
    overflow: hidden;
    background: #f4f7f4;
}

.rml-home *, .rml-home *::before, .rml-home *::after {
    box-sizing: border-box;
}

.rml-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.rml-hero {
    position: relative;
    min-height: 720px;
    display: flex;
    align-items: center;
    background: var(--rml-bg);
    color: var(--rml-text);
    isolation: isolate;
}

.rml-hero-grid {
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: .22;
    background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(to bottom, #000, transparent 88%);
}

.rml-hero-glow {
    position: absolute;
    z-index: -1;
    border-radius: 999px;
    filter: blur(10px);
    opacity: .7;
}

.rml-hero-glow-one {
    width: 520px;
    height: 520px;
    right: -180px;
    top: -180px;
    background: radial-gradient(circle, rgba(158,230,63,.28), transparent 68%);
}

.rml-hero-glow-two {
    width: 430px;
    height: 430px;
    left: -230px;
    bottom: -210px;
    background: radial-gradient(circle, rgba(72,155,79,.22), transparent 68%);
}

.rml-hero-content {
    position: relative;
    z-index: 2;
    padding: 105px 520px 110px 0;
}

.rml-eyebrow, .rml-kicker, .rml-section-heading > span, .rml-cta span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--rml-green-strong);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.rml-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--rml-green);
    box-shadow: 0 0 0 6px rgba(158,230,63,.11);
}

.rml-hero h1 {
    max-width: 720px;
    margin: 24px 0 22px;
    color: #fff;
    font-size: clamp(46px, 5.5vw, 76px);
    font-weight: 800;
    line-height: 1.03;
    letter-spacing: -.045em;
}

.rml-hero h1 span { color: var(--rml-green); }

.rml-hero-copy {
    max-width: 650px;
    margin: 0;
    color: var(--rml-muted);
    font-size: 18px;
    line-height: 1.75;
}

.rml-service-page .rml-hero-content { padding-right: 0; }
.rml-service-page .rml-server-hero { min-height: 590px; }
.rml-service-page .rml-server-hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr); gap: clamp(40px, 6vw, 72px); align-items: center; padding: 88px 0 78px; }
.rml-service-page .rml-server-hero-copy { min-width: 0; }
.rml-service-page .rml-server-hero-copy h1 { max-width: 680px; font-size: clamp(46px, 5vw, 68px); }
.rml-service-page .rml-server-hero-copy .rml-hero-copy { max-width: 650px; }
.rml-service-page .rml-server-hero-copy .rml-hero-actions { margin-bottom: 0; }
.rml-service-page .rml-server-hero-panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 20px; border: 1px solid rgba(158,230,63,.15); border-radius: 21px; background: rgba(255,255,255,.045); }
.rml-service-page .rml-server-hero-panel-item { min-width: 0; padding: 17px; border-radius: 14px; background: rgba(255,255,255,.035); }
.rml-service-page .rml-server-hero-panel-item > i { width: 34px; height: 34px; display: grid; place-items: center; margin-bottom: 13px; border-radius: 10px; color: var(--rml-green); background: rgba(158,230,63,.09); font-size: 14px; }
.rml-service-page .rml-server-hero-panel-item strong { display: block; margin-bottom: 6px; color: #fff; font-size: 14px; font-weight: 820; line-height: 1.35; }
.rml-service-page .rml-server-hero-panel-item span { display: block; color: #9eaaa1; font-size: 11px; line-height: 1.55; }
.rml-support-hero { min-height: 620px; }
.rml-support-hero h1 { max-width: 700px; font-size: clamp(46px, 4.8vw, 66px); }
.rml-support-hero .rml-hero-copy { max-width: 690px; }
.rml-support-hero .rml-hero-content { padding: 84px 430px 76px 0; }
.rml-support-banner { position: absolute; top: 50%; right: 0; width: 390px; padding: 26px; border: 1px solid rgba(158,230,63,.17); border-radius: 22px; color: #fff; background: linear-gradient(145deg, rgba(27,43,30,.98), rgba(11,18,13,.98)); box-shadow: 0 26px 64px rgba(0,0,0,.3); transform: translateY(-50%); }
.rml-support-banner::before { position: absolute; inset: 0; border-radius: inherit; opacity: .14; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 32px 32px; content: ""; pointer-events: none; }
.rml-support-banner > * { position: relative; z-index: 1; }
.rml-support-banner-top { display: flex; align-items: center; gap: 15px; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.1); }
.rml-support-banner-icon { width: 50px; height: 50px; display: grid; flex: 0 0 50px; place-items: center; border-radius: 14px; color: #17220e; background: var(--rml-green); font-size: 18px; }
.rml-support-banner-top span { display: block; margin-bottom: 4px; color: var(--rml-green); font-size: 10px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.rml-support-banner-top strong { font-size: 17px; }
.rml-support-banner ol { display: grid; gap: 0; margin: 10px 0 0; padding: 0; list-style: none; }
.rml-support-banner li { display: grid; grid-template-columns: 32px 1fr; gap: 12px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.rml-support-banner li b { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: #17220e; background: var(--rml-green); font-size: 9px; }
.rml-support-banner li strong { display: block; margin-bottom: 2px; color: #fff; font-size: 12px; }
.rml-support-banner li span { color: #98a69b; font-size: 10px; line-height: 1.45; }
.rml-support-banner-note { display: flex; align-items: center; gap: 9px; padding-top: 17px; color: #8f9d92; font-size: 10px; }
.rml-support-banner-note i { color: var(--rml-green); }

.rml-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin: 36px 0 32px;
}

.rml-btn {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    padding: 0 24px;
    border: 1px solid transparent;
    border-radius: 12px;
    font-weight: 800;
    text-decoration: none !important;
    transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.rml-btn:hover { transform: translateY(-2px); }
.rml-btn-primary { color: #10170b !important; background: var(--rml-green); }
.rml-btn-primary:hover { background: #b1f15d; }
.rml-btn-ghost { color: #fff !important; border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.04); }
.rml-btn-ghost:hover { border-color: rgba(255,255,255,.4); background: rgba(255,255,255,.08); }
.rml-btn-outline { color: #182019 !important; border-color: #cfd8d1; background: #fff; }
.rml-btn-dark { color: #fff !important; background: #0a0e0b; }
.rml-btn-cta-outline { color: #14200e !important; border-color: rgba(20,32,14,.32); background: rgba(255,255,255,.18); }
.rml-btn-cta-outline:hover { border-color: #14200e; background: rgba(255,255,255,.32); }

.rml-trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 23px;
    color: #bdc9c0;
    font-size: 13px;
}

.rml-trust-row i { margin-right: 6px; color: var(--rml-green); }

.rml-server-card {
    position: absolute;
    z-index: 3;
    top: 50%;
    right: calc((100% - 1180px) / 2);
    width: 420px;
    padding: 26px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--rml-radius);
    color: #eef8f0;
    background: linear-gradient(145deg, rgba(27,39,29,.96), rgba(12,17,13,.96));
    box-shadow: var(--rml-shadow);
    transform: translateY(-50%) rotate(1.2deg);
}

.rml-server-card::after {
    content: "";
    position: absolute;
    inset: 12px -15px -15px 12px;
    z-index: -1;
    border: 1px solid rgba(158,230,63,.18);
    border-radius: var(--rml-radius);
}

.rml-server-card-top, .rml-metric > div:first-child {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.rml-server-card-top {
    padding-bottom: 20px;
    border-bottom: 1px solid var(--rml-line);
    font-weight: 700;
}

.rml-online { color: var(--rml-green); font-size: 12px; }
.rml-online i { display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 50%; background: currentColor; }
.rml-metric { margin-top: 18px; padding-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,.07); }
.rml-metric span { color: #94a497; font-size: 12px; }
.rml-metric strong { font-size: 14px; }
.rml-progress { height: 5px; margin-top: 10px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.08); }
.rml-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #62b81f, var(--rml-green)); }

.rml-node-list { margin-top: 24px; }
.rml-node-list > div { display: grid; grid-template-columns: 34px 1fr 9px; align-items: center; gap: 10px; padding: 13px 0; border-top: 1px solid rgba(255,255,255,.07); }
.rml-node-list i { color: var(--rml-green); }
.rml-node-list span { font-size: 13px; }
.rml-node-list b { width: 8px; height: 8px; border-radius: 50%; background: var(--rml-green); box-shadow: 0 0 12px rgba(158,230,63,.7); }
.rml-server-card-note { margin: 16px 0 0; padding-top: 15px; border-top: 1px solid rgba(255,255,255,.07); color: #819084; font-size: 10px; line-height: 1.55; }
.rml-solution-card { padding: 27px; transform: translateY(-50%); }
.rml-home .rml-solution-card { border-color: rgba(158,230,63,.28); box-shadow: 0 34px 96px rgba(0,0,0,.42); }
.rml-solution-card::after { inset: 10px -12px -12px 10px; }
.rml-solution-grid { display: grid; gap: 13px; margin-top: 22px; }
.rml-solution-item { display: grid; grid-template-columns: 48px 1fr 18px; align-items: center; gap: 14px; padding: 18px; border: 1px solid rgba(255,255,255,.09); border-radius: 15px; background: rgba(255,255,255,.04); }
.rml-home a.rml-solution-item { color: inherit; text-decoration: none !important; cursor: pointer; transition: background-color .18s ease, border-color .18s ease; }
.rml-home a.rml-solution-item:hover,
.rml-home a.rml-solution-item:focus,
.rml-home a.rml-solution-item:active,
.rml-home a.rml-solution-item:visited { color: inherit; text-decoration: none !important; }
.rml-home a.rml-solution-item:hover,
.rml-home a.rml-solution-item:focus-visible { background-color: rgba(158,230,63,.075); border-color: rgba(158,230,63,.38); }
.rml-home a.rml-solution-item span,
.rml-home a.rml-solution-item strong,
.rml-home a.rml-solution-item small { text-decoration: none !important; }
.rml-home a.rml-solution-item .rml-solution-arrow { transition: transform .2s ease; }
.rml-home a.rml-solution-item:hover .rml-solution-arrow,
.rml-home a.rml-solution-item:focus-visible .rml-solution-arrow { transform: translateX(2px); }
.rml-home a.rml-solution-item:focus-visible { outline: 2px solid rgba(158,230,63,.65); outline-offset: 3px; }
.rml-solution-item-store { border-color: rgba(158,230,63,.2); background: linear-gradient(135deg, rgba(158,230,63,.1), rgba(255,255,255,.035)); }
.rml-solution-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 13px; color: #17220e; background: var(--rml-green); font-size: 18px; }
.rml-solution-item span { display: block; margin-bottom: 4px; color: var(--rml-green); font-size: 9px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.rml-solution-item strong { display: block; color: #fff; font-size: 15px; }
.rml-solution-item small { display: block; margin-top: 4px; color: #91a095; font-size: 10px; }
.rml-solution-arrow { color: #6e7d71; font-size: 11px; }
.rml-solution-footer { display: flex; gap: 13px; margin-top: 18px; padding: 17px 4px 0; border-top: 1px solid rgba(255,255,255,.08); }
.rml-solution-footer > i { margin-top: 3px; color: var(--rml-green); }
.rml-solution-footer strong { display: block; margin-bottom: 4px; color: #e8f0ea; font-size: 12px; }
.rml-solution-footer span { display: block; color: #819084; font-size: 10px; line-height: 1.5; }

/* Contactos — pedido comercial e encaminhamento de clientes */
.rml-contact-page { padding: 28px 0 72px; }
.rml-contact-hero { position: relative; padding: 26px 44px; overflow: hidden; border: 1px solid rgba(158,230,63,.16); border-radius: 24px; color: #fff; background: linear-gradient(135deg, #101a12 0%, #18261b 100%); box-shadow: 0 22px 55px rgba(14,28,17,.12); }
.rml-contact-hero::after { content: ""; position: absolute; right: -90px; bottom: -130px; width: 320px; height: 320px; border-radius: 50%; background: rgba(158,230,63,.07); pointer-events: none; }
.rml-contact-kicker,
.rml-contact-form-heading > span { display: block; color: #9ee63f; font-size: 11px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.rml-contact-hero h1 { position: relative; z-index: 1; max-width: 680px; margin: 7px 0 8px; color: #fff; font-size: clamp(32px, 3.6vw, 42px); font-weight: 800; line-height: 1.08; letter-spacing: -.035em; }
.rml-contact-hero p { position: relative; z-index: 1; max-width: 650px; margin: 0; color: #c5d0c7; font-size: 15px; line-height: 1.6; }
.rml-contact-main { padding-top: 18px; }
.rml-contact-grid { display: grid; gap: 22px; }
.rml-contact-form-card,
.rml-contact-sidebar-card { border: 1px solid #dce5dd; border-radius: 20px; background: #fff; box-shadow: 0 14px 38px rgba(21,42,25,.06); }
.rml-contact-form-card { padding: clamp(25px, 4vw, 42px); }
.rml-contact-form-heading { max-width: 700px; margin-bottom: 27px; }
.rml-contact-form-heading > span { color: #568f29; }
.rml-contact-form-heading h2 { margin: 9px 0 10px; color: #172019; font-size: clamp(27px, 3vw, 36px); font-weight: 800; line-height: 1.15; letter-spacing: -.025em; }
.rml-contact-form-heading p,
.rml-contact-sidebar-section p { margin: 0; color: #687269; font-size: 14px; line-height: 1.7; }
.rml-contact-required { margin: 0 0 20px; color: #687269; font-size: 12px; }
.rml-contact-field { margin-bottom: 20px; }
.rml-contact-field label { display: block; margin: 0 0 8px; color: #263229; font-size: 13px; font-weight: 700; }
.rml-contact-field .form-control { width: 100%; min-height: 50px; padding: 11px 14px; border: 1px solid #cad6cc; border-radius: 10px; color: #172019; background: #fff; box-shadow: none; }
.rml-contact-field textarea.form-control { min-height: 142px; resize: vertical; }
.rml-contact-field .form-control:focus { border-color: #78bd28; box-shadow: 0 0 0 3px rgba(158,230,63,.2); }
.rml-contact-field .form-control:focus-visible,
.rml-contact-submit:focus-visible,
.rml-contact-sidebar-card a:focus-visible,
.rml-contact-privacy a:focus-visible { outline: 2px solid rgba(86,143,41,.7); outline-offset: 3px; }
.rml-contact-submit-area { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding-top: 4px; }
.rml-contact-privacy { max-width: 520px; margin: 0; color: #718077; font-size: 12px; line-height: 1.6; }
.rml-contact-privacy a { color: #477d25; font-weight: 700; text-decoration: underline; }
.rml-contact-submit { min-height: 48px; flex: 0 0 auto; padding: 12px 22px; border: 1px solid #9ee63f; border-radius: 10px; color: #11190e; background: #9ee63f; font-weight: 700; }
.rml-contact-submit:hover,
.rml-contact-submit:focus { border-color: #87cf31; color: #11190e; background: #87cf31; }
.rml-contact-sidebar { align-self: start; }
.rml-contact-sidebar-card { padding: 28px; background: #f6f9f6; box-shadow: none; }
.rml-contact-sidebar-section + .rml-contact-sidebar-section { margin-top: 25px; padding-top: 25px; border-top: 1px solid #e1e8e2; }
.rml-contact-sidebar-icon,
.rml-contact-success-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 13px; color: #284b17; background: #e6f8d1; font-size: 18px; }
.rml-contact-sidebar-section h2 { margin: 17px 0 9px; color: #172019; font-size: 20px; font-weight: 700; line-height: 1.3; }
.rml-contact-sidebar-link,
.rml-contact-services a { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #477d25; font-size: 13px; font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
.rml-contact-sidebar-link { justify-content: flex-start; margin-top: 16px; }
.rml-contact-sidebar-link:hover,
.rml-contact-services a:hover { color: #315d19; text-decoration: none; }
.rml-contact-sidebar-link i,
.rml-contact-services a i { flex: 0 0 auto; font-size: 10px; transition: transform .18s ease; }
.rml-contact-sidebar-link:hover i,
.rml-contact-services a:hover i { transform: translateX(2px); }
.rml-contact-services-kicker { display: block; margin-bottom: 10px; color: #568f29; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.rml-contact-services nav { display: grid; }
.rml-contact-services a { padding: 8px 0; border-bottom: 1px solid #e5ebe6; }
.rml-contact-services a:last-child { border-bottom: 0; }
.rml-contact-errors .alert { margin: 0 0 24px; }
.rml-contact-success { display: flex; align-items: flex-start; gap: 15px; margin-top: 6px; padding: 20px; border: 1px solid #cfe4c1; border-radius: 14px; background: #f3faed; }
.rml-contact-success-icon { width: 40px; height: 40px; flex: 0 0 40px; }
.rml-contact-success strong { display: block; margin: 1px 0 5px; color: #1f3a16; font-size: 16px; }
.rml-contact-success p { margin: 0; color: #5d6e5f; font-size: 13px; line-height: 1.6; }

@media (min-width: 1100px) {
    .rml-contact-grid { grid-template-columns: minmax(0, 1fr) 340px; gap: 22px; }
    .rml-contact-sidebar { position: sticky; top: 24px; }
}

@media (max-width: 767px) {
    .rml-contact-page { padding: 18px 0 52px; }
    .rml-contact-hero { padding: 22px 18px; border-radius: 18px; }
    .rml-contact-hero h1 { font-size: 30px; }
    .rml-contact-main { padding-top: 18px; }
    .rml-contact-form-card { padding: 24px 18px; border-radius: 16px; }
    .rml-contact-sidebar-card { padding: 23px 20px; border-radius: 16px; }
    .rml-contact-sidebar-section + .rml-contact-sidebar-section { margin-top: 21px; padding-top: 21px; }
    .rml-contact-submit-area { align-items: stretch; flex-direction: column; }
    .rml-contact-submit { width: 100%; }
}

/* Contactos v2 — composição baseada na referência aprovada */
body:has(.rml-contact-v2) #main-body { padding: 0; background: #FFFFFF; }
.rml-contact-container,
.rml-contact-container > div,
.rml-contact-container .primary-content { width: 100%; max-width: none; margin: 0; padding: 0; }
.rml-contact-v2 { width: calc(100% - 40px); max-width: 1160px; margin: 0 auto; padding: 26px 0 52px; color: #071E2E; }
.rml-contact-v2 a { text-decoration: none; }

.rml-contact-v2-hero { position: relative; min-height: 280px; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); align-items: center; gap: 38px; padding: 32px 38px; overflow: hidden; border-bottom: 1px solid #C8DFE5; background: linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.82) 38%, rgba(255,255,255,.34) 64%, rgba(255,255,255,.2) 100%), url('../img/homepage/dedicated-hero-panorama.webp') center right/cover no-repeat; }
.rml-contact-v2-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, #FFFFFF 0, transparent 24%), radial-gradient(circle at 72% 42%, rgba(22,198,212,.15), transparent 32%); pointer-events: none; }
.rml-contact-v2-hero-copy,
.rml-contact-v2-hero-card { position: relative; z-index: 1; }
.rml-contact-v2-kicker { display: block; margin-bottom: 14px; color: #087784; font-size: 11px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.rml-contact-v2-hero h1 { max-width: 640px; margin: 0 0 14px; color: #071E2E; font-size: clamp(34px, 3.5vw, 48px); font-weight: 780; line-height: 1.05; letter-spacing: -.045em; }
.rml-contact-v2-hero h1 strong { color: #087784; font-weight: inherit; }
.rml-contact-v2-hero-copy > p { max-width: 620px; margin: 0; color: #526875; font-size: 13px; line-height: 1.65; }
.rml-contact-v2-highlights { display: flex; flex-wrap: wrap; gap: 11px; margin: 20px 0 0; padding: 0; list-style: none; }
.rml-contact-v2-highlights li { min-width: 145px; display: flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid #C8DFE5; border-radius: 7px; color: #071E2E; background: rgba(247,249,250,.72); font-size: 13px; }
.rml-contact-v2-highlights i { color: #16C6D4; font-size: 15px; }
.rml-contact-v2-hero-card { display: flex; align-items: flex-start; gap: 14px; padding: 21px; border: 1px solid #A1BAC4; border-radius: 12px; background: rgba(247,249,250,.9); box-shadow: 0 24px 60px rgba(6,25,37,.08); }
.rml-contact-v2-hero-card > i { margin-top: 3px; color: #16C6D4; font-size: 27px; }
.rml-contact-v2-hero-card h2 { margin: 0 0 7px; color: #071E2E; font-size: 16px; line-height: 1.25; }
.rml-contact-v2-hero-card p { margin: 0 0 13px; color: #526875; font-size: 13px; line-height: 1.55; }
.rml-contact-v2-hero-card a,
.rml-contact-v2-cta > a { min-height: 40px; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 9px 16px; border-radius: 6px; color: #061925; background: #16C6D4; font-size: 11px; font-weight: 850; }
.rml-contact-v2-hero-card a { min-height: 44px; font-size: 14px; }
.rml-contact-v2-hero-card a:hover,
.rml-contact-v2-cta > a:hover { color: #061925; background: #39D8E1; }

.rml-contact-v2-main { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr); border: 1px solid #C8DFE5; border-radius: 12px; background: #FFFFFF; }
.rml-contact-v2-form-panel,
.rml-contact-v2-info { padding: 25px 28px; }
.rml-contact-v2-info { border-left: 1px solid #C8DFE5; }
.rml-contact-v2-heading { margin-bottom: 17px; }
.rml-contact-v2-heading h2,
.rml-contact-v2-section-title h2,
.rml-contact-v2-faq > h2 { margin: 0; color: #071E2E; font-size: 18px; font-weight: 760; letter-spacing: -.02em; }
.rml-contact-v2-heading > span { width: 28px; height: 2px; display: block; margin-top: 10px; background: #16C6D4; }
.rml-contact-v2 .rml-contact-fields-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.rml-contact-v2 .rml-contact-field { margin-bottom: 12px; }
.rml-contact-v2 .rml-contact-field label { margin-bottom: 7px; color: #071E2E; font-size: 13px; }
.rml-contact-v2 .rml-contact-field label span { color: #087784; }
.rml-contact-v2 .rml-contact-field .form-control { min-height: 44px; padding: 8px 11px; border-color: #A1BAC4; border-radius: 6px; color: #071E2E; background: #F7F9FA; font-size: 14px; }
.rml-contact-v2 .rml-contact-field .form-control::placeholder { color: #526875; }
.rml-contact-v2 .rml-contact-field textarea.form-control { min-height: 105px; }
.rml-contact-v2 .rml-contact-field .form-control:focus { border-color: #16C6D4; box-shadow: 0 0 0 3px rgba(22,198,212,.12); }
.rml-contact-v2 .rml-contact-security { margin: 10px 0 18px; color: #526875; }
.rml-contact-v2 .rml-contact-security-label { font-size: 12px; }
.rml-contact-v2-submit p { margin: 0 0 12px; color: #526875; font-size: 13px; }
.rml-contact-v2-submit p i,
.rml-contact-v2-submit p a { color: #087784; }
.rml-contact-v2 .rml-contact-submit { width: 100%; min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 10px; border-color: #16C6D4; border-radius: 6px; color: #061925; background: #16C6D4; font-size: 14px; font-weight: 850; }
.rml-contact-v2 .rml-contact-submit:hover,
.rml-contact-v2 .rml-contact-submit:focus { border-color: #39D8E1; color: #061925; background: #39D8E1; }
.rml-contact-v2 .rml-contact-success { border-color: rgba(22,198,212,.3); color: #071E2E; background: rgba(22,198,212,.08); }
.rml-contact-v2 .rml-contact-success-icon { color: #061925; background: #16C6D4; }
.rml-contact-v2 .rml-contact-success strong { color: #071E2E; }
.rml-contact-v2 .rml-contact-success p { color: #526875; }
.rml-contact-v2 .rml-contact-errors .alert { font-size: 13px; }

.rml-contact-v2-info-list { margin: 0; padding: 0; list-style: none; }
.rml-contact-v2-info-item { display: flex; align-items: center; gap: 13px; margin-bottom: 9px; padding: 11px 13px; border: 1px solid #C8DFE5; border-radius: 7px; color: inherit; background: #F7F9FA; }
.rml-contact-v2-info-item:hover { border-color: rgba(22,198,212,.38); color: inherit; }
.rml-contact-v2-info-item > i { width: 25px; flex: 0 0 25px; color: #16C6D4; font-size: 21px; text-align: center; }
.rml-contact-v2-info-item span { min-width: 0; }
.rml-contact-v2-info-item strong,
.rml-contact-v2-info-item b,
.rml-contact-v2-info-item small { display: block; }
.rml-contact-v2-info-item strong { color: #071E2E; font-size: 13px; }
.rml-contact-v2-info-item b { color: #071E2E; font-size: 14px; font-weight: 650; overflow-wrap: anywhere; }
.rml-contact-v2-info-item small { margin-top: 2px; color: #526875; font-size: 13px; }
.rml-contact-v2-client-note { display: flex; gap: 13px; margin-top: 12px; padding: 14px; border: 1px solid #16C6D4; border-radius: 7px; background: linear-gradient(100deg, rgba(22,198,212,.08), rgba(22,198,212,.02)); }
.rml-contact-v2-client-note > i { color: #16C6D4; font-size: 30px; }
.rml-contact-v2-client-note > div { min-width: 0; flex: 1; }
.rml-contact-v2-client-note strong { color: #071E2E; font-size: 14px; }
.rml-contact-v2-client-note p { margin: 4px 0 0; color: #526875; font-size: 13px; line-height: 1.5; }
.rml-contact-v2-client-note a { color: #087784; font-size: 11px; font-weight: 750; }
.rml-contact-v2-client-note > .rml-contact-v2-response-icon { align-self: center; margin-left: auto; font-size: 34px; }

.rml-contact-v2-routing,
.rml-contact-v2-process-faq { margin-top: 11px; padding: 20px; border: 1px solid #C8DFE5; border-radius: 9px; background: #FFFFFF; }
.rml-contact-v2-section-title p { margin: 5px 0 0; color: #526875; font-size: 11px; }
.rml-contact-v2-routing .rml-contact-v2-section-title h2 { font-size: 23px; line-height: 1.25; }
.rml-contact-v2-routing .rml-contact-v2-section-title p { font-size: 13px; line-height: 1.55; }
.rml-contact-v2-routing-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.rml-contact-v2-routing-grid article { position: relative; min-height: 174px; display: grid; grid-template-columns: 42px minmax(0, 1fr); grid-template-rows: auto 1fr auto; column-gap: 14px; padding: 15px; border: 1px solid #C8DFE5; border-radius: 7px; background: #F7F9FA; }
.rml-contact-v2-routing-grid article > i { grid-column: 1; grid-row: 1 / span 2; align-self: start; float: none; margin: 0; color: #087784; font-size: 28px; }
.rml-contact-v2-routing-grid h3,
.rml-contact-v2-routing-grid p,
.rml-contact-v2-routing-grid a { grid-column: 2; }
.rml-contact-v2-routing-grid h3 { margin: 0 0 5px; color: #071E2E; font-size: 16px; line-height: 1.35; }
.rml-contact-v2-routing-grid p { min-height: 0; margin: 0 0 10px; color: #526875; font-size: 13px; line-height: 1.55; }
.rml-contact-v2-routing-grid a { min-height: 44px; display: inline-flex; align-items: center; justify-self: start; gap: 8px; padding: 8px 10px; color: #087784; font-size: 14px; font-weight: 750; }

.rml-contact-v2-process-faq { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(280px, .75fr); gap: 28px; }
.rml-contact-v2-process { padding-right: 28px; border-right: 1px solid #C8DFE5; }
.rml-contact-v2-process .rml-contact-v2-section-title h2,
.rml-contact-v2-faq > h2 { font-size: 23px; line-height: 1.25; }
.rml-contact-v2-process .rml-contact-v2-section-title p { font-size: 13px; line-height: 1.55; }
.rml-contact-v2-process ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin: 17px 0 0; padding: 0; list-style: none; }
.rml-contact-v2-process li { position: relative; text-align: center; }
.rml-contact-v2-process li:not(:last-child)::after { content: "→"; position: absolute; top: 14px; right: -13px; color: #526875; }
.rml-contact-v2-process li b { width: 32px; height: 32px; display: grid; place-items: center; margin: 0 auto 9px; border: 1px solid rgba(22,198,212,.28); border-radius: 50%; color: #087784; background: rgba(22,198,212,.1); font-size: 13px; }
.rml-contact-v2-process li strong,
.rml-contact-v2-process li span { display: block; }
.rml-contact-v2-process li strong { min-height: 34px; color: #071E2E; font-size: 15px; line-height: 1.35; }
.rml-contact-v2-process li span { color: #526875; font-size: 13px; line-height: 1.55; }
.rml-contact-v2-faq > h2 { margin-bottom: 12px; }
.rml-contact-v2-faq details { border: 1px solid #C8DFE5; background: #F7F9FA; }
.rml-contact-v2-faq details + details { border-top: 0; }
.rml-contact-v2-faq summary { position: relative; min-height: 44px; display: flex; align-items: center; padding: 12px 34px 12px 13px; color: #071E2E; font-size: 14px; line-height: 1.4; cursor: pointer; list-style: none; }
.rml-contact-v2-faq summary::-webkit-details-marker { display: none; }
.rml-contact-v2-faq summary::after { content: "+"; position: absolute; top: 50%; right: 13px; color: #16C6D4; transform: translateY(-50%); }
.rml-contact-v2-faq details[open] summary::after { content: "−"; }
.rml-contact-v2-faq details p { margin: 0; padding: 0 13px 13px; color: #526875; font-size: 13px; line-height: 1.55; }

.rml-contact-v2-cta { min-height: 88px; display: grid; grid-template-columns: 56px minmax(0, 1fr) minmax(220px, 280px); align-items: center; gap: 20px; margin-top: 11px; padding: 17px 28px; overflow: hidden; border: 1px solid #C8DFE5; border-radius: 9px; background: radial-gradient(circle at 86% 50%, rgba(22,198,212,.12), transparent 34%), linear-gradient(90deg, #FFFFFF 0%, #E8F7F8 100%); }
.rml-contact-v2-cta > i { color: #16C6D4; font-size: 38px; text-align: center; }
.rml-contact-v2-cta h2 { margin: 0 0 4px; color: #071E2E; font-size: 25px; line-height: 1.25; }
.rml-contact-v2-cta p { margin: 0; color: #526875; font-size: 14px; line-height: 1.55; }
.rml-contact-v2-cta > a { min-height: 44px; font-size: 14px; }

.rml-contact-v2 :is(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid #16C6D4; outline-offset: 3px; }

@media (max-width: 1050px) {
    .rml-contact-v2-hero { grid-template-columns: minmax(0, 1fr) 310px; gap: 28px; padding: 38px 32px; }
    .rml-contact-v2-main { grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); }
    .rml-contact-v2-form-panel,
    .rml-contact-v2-info { padding: 28px; }
    .rml-contact-v2-routing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rml-contact-v2-process-faq { grid-template-columns: 1fr; }
    .rml-contact-v2-process { padding-right: 0; padding-bottom: 26px; border-right: 0; border-bottom: 1px solid #C8DFE5; }
    .rml-contact-v2-process ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rml-contact-v2-process li:not(:last-child)::after { display: none; }
    .rml-contact-v2-process li:last-child { width: calc((100% - 14px) / 2); grid-column: 1 / -1; justify-self: center; }
}

@media (max-width: 767px) {
    .rml-contact-v2 { width: min(100% - 24px, 680px); padding: 18px 0 42px; }
    .rml-contact-v2-hero { min-height: 0; grid-template-columns: 1fr; padding: 30px 20px; background-position: 68% center; }
    .rml-contact-v2-hero h1 { font-size: clamp(32px, calc(30.25px + .49vw), 34px); }
    .rml-contact-v2-hero-card { max-width: none; }
    .rml-contact-v2-highlights { display: grid; grid-template-columns: 1fr; }
    .rml-contact-v2-main { grid-template-columns: 1fr; }
    .rml-contact-v2-info { border-top: 1px solid #C8DFE5; border-left: 0; }
    .rml-contact-v2-form-panel,
    .rml-contact-v2-info { padding: 24px 18px; }
    .rml-contact-v2 .rml-contact-fields-grid { grid-template-columns: 1fr; gap: 0; }
    .rml-contact-v2-routing,
    .rml-contact-v2-process-faq { padding: 22px 16px; }
    .rml-contact-v2-routing-grid { grid-template-columns: 1fr; }
    .rml-contact-v2-routing-grid article { min-height: 0; }
    .rml-contact-v2-cta { grid-template-columns: 52px 1fr; padding: 24px 18px; }
    .rml-contact-v2-cta > i { font-size: 38px; }
    .rml-contact-v2-cta > a { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
    .rml-contact-v2-process ol { grid-template-columns: 1fr; gap: 16px; }
    .rml-contact-v2-process li,
    .rml-contact-v2-process li:last-child { width: auto; grid-column: auto; justify-self: stretch; display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 2px 12px; text-align: left; }
    .rml-contact-v2-process li b { grid-row: 1 / 3; margin: 0; }
    .rml-contact-v2-process li strong { min-height: 0; }
}

.rml-service-page .rml-server-use-cases { background: #f5f8f5; }
.rml-service-page .rml-server-use-cases-heading { max-width: 720px; margin: 0 auto 48px; text-align: center; }
.rml-service-page .rml-server-use-cases-heading h2 { margin: 13px 0 16px; color: #111a13; font-size: clamp(34px, 4vw, 52px); font-weight: 830; line-height: 1.1; letter-spacing: -.035em; }
.rml-service-page .rml-server-use-cases-heading p { margin: 0; color: #667168; font-size: 16px; line-height: 1.7; }
.rml-service-page .rml-server-use-case-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.rml-service-page .rml-server-use-case { padding: 31px; border: 1px solid #dce5dd; border-radius: 18px; background: #fff; box-shadow: 0 12px 32px rgba(21,42,25,.045); }
.rml-service-page .rml-server-use-case-icon { width: 50px; height: 50px; display: grid; place-items: center; margin-bottom: 24px; border-radius: 14px; color: #315d19; background: #e7f9d2; font-size: 18px; }
.rml-service-page .rml-server-use-case h3 { margin: 0 0 10px; color: #172019; font-size: 20px; font-weight: 830; }
.rml-service-page .rml-server-use-case p { margin: 0; color: #687269; font-size: 14px; line-height: 1.65; }
.rml-service-page .rml-server-unmanaged { color: #fff; background: #121b14; }
.rml-service-page .rml-server-unmanaged-heading { max-width: 790px; margin: 0 auto 46px; text-align: center; }
.rml-service-page .rml-server-unmanaged h2 { margin: 15px 0 18px; color: #fff; font-size: clamp(34px, 4vw, 50px); font-weight: 830; line-height: 1.1; letter-spacing: -.035em; }
.rml-service-page .rml-server-unmanaged-heading > p { margin: 0; color: #aab6ac; font-size: 16px; line-height: 1.7; }
.rml-service-page .rml-server-unmanaged .rml-text-link { color: #9ee63f !important; }
.rml-service-page .rml-server-responsibilities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.rml-service-page .rml-server-responsibility-card { padding: 29px; border: 1px solid rgba(255,255,255,.1); border-radius: 18px; background: rgba(255,255,255,.04); }
.rml-service-page .rml-server-responsibility-title { display: flex; align-items: center; gap: 15px; margin-bottom: 22px; }
.rml-service-page .rml-server-responsibility-title i { width: 44px; height: 44px; display: grid; flex: 0 0 44px; place-items: center; border-radius: 13px; color: #17220e; background: var(--rml-green); }
.rml-service-page .rml-server-responsibility-title h3 { margin: 0; color: #fff; font-size: 20px; font-weight: 830; }
.rml-service-page .rml-server-responsibility-card ul { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }
.rml-service-page .rml-server-responsibility-card li { position: relative; padding-left: 22px; color: #b8c3ba; font-size: 14px; line-height: 1.5; }
.rml-service-page .rml-server-responsibility-card li::before { content: "✓"; position: absolute; top: 0; left: 0; color: var(--rml-green); font-weight: 900; }
.rml-service-page .rml-server-addons { background: #eef3ef; }
.rml-service-page .rml-server-addons .rml-section-heading { max-width: 720px; }
.rml-service-page .rml-server-addons .rml-section-heading h2 { max-width: 600px; margin-right: auto; margin-left: auto; }
.rml-service-page .rml-server-addon-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.rml-service-page .rml-server-addon-grid article { padding: 29px; border: 1px solid #dbe4dc; border-radius: 17px; background: #fff; }
.rml-service-page .rml-server-addon-grid article > i { width: 47px; height: 47px; display: grid; place-items: center; margin-bottom: 24px; border-radius: 13px; color: #315d19; background: #e7f9d2; }
.rml-service-page .rml-server-addon-grid h3 { margin: 0 0 10px; color: #172019; font-size: 18px; font-weight: 820; }
.rml-service-page .rml-server-addon-grid p { margin: 0; color: #687269; font-size: 13px; line-height: 1.65; }
.rml-service-page .rml-server-faq { background: #fff; }
.rml-service-page .rml-server-faq .rml-faq-grid { grid-template-columns: minmax(260px, .56fr) minmax(0, 1.44fr); gap: clamp(30px, 4vw, 50px); }
.rml-service-page .rml-server-faq .rml-faq-heading { max-width: 350px; }
.rml-service-page .rml-server-cta { padding: 70px 0; color: #fff; background: #0b100c; }
.rml-service-page .rml-server-cta .rml-container { display: flex; align-items: center; justify-content: flex-start; gap: clamp(42px, 6vw, 76px); }
.rml-service-page .rml-server-cta .rml-container > div:first-child { max-width: 690px; }
.rml-service-page .rml-server-cta span { color: var(--rml-green); font-size: 11px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.rml-service-page .rml-server-cta h2 { margin: 9px 0 10px; color: #fff; font-size: clamp(30px, 4vw, 46px); font-weight: 840; letter-spacing: -.035em; }
.rml-service-page .rml-server-cta p { max-width: 720px; margin: 0; color: #aab6ac; }
.rml-service-page .rml-server-cta-actions { display: flex; flex: 0 0 auto; flex-direction: column; gap: 10px; }
.rml-service-page .rml-server-cta .rml-btn { justify-content: center; }

.rml-store-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.rml-store-feature { display: flex; gap: 18px; padding: 27px; border: 1px solid #dfe6e0; border-radius: 17px; background: #fff; box-shadow: 0 12px 32px rgba(21,42,25,.04); }
.rml-store-feature > i { width: 45px; height: 45px; display: grid; flex: 0 0 45px; place-items: center; border-radius: 13px; color: #315d19; background: #e7f9d2; }
.rml-store-feature h3 { margin: 1px 0 8px; color: #142017; font-size: 17px; font-weight: 820; }
.rml-store-feature p { margin: 0; color: #687269; font-size: 13px; line-height: 1.65; }
.rml-store-integrations { color: #fff; background: #121b14; }
.rml-store-split { display: grid; grid-template-columns: .9fr 1.1fr; gap: 78px; align-items: center; }
.rml-store-split-copy h2 { margin: 15px 0 18px; color: #fff; font-size: clamp(34px, 4vw, 50px); font-weight: 830; line-height: 1.1; letter-spacing: -.035em; }
.rml-store-split-copy > p { color: #aab6ac; font-size: 16px; line-height: 1.7; }
.rml-store-notice { display: flex; gap: 12px; margin-top: 28px; padding: 17px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; color: #9eaba0; background: rgba(255,255,255,.035); font-size: 11px; line-height: 1.6; }
.rml-store-notice i { margin-top: 3px; color: var(--rml-green); }
.rml-store-checks { display: grid; gap: 13px; }
.rml-store-checks > div { display: flex; gap: 14px; padding: 20px; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: rgba(255,255,255,.04); }
.rml-store-checks > div > i { width: 25px; height: 25px; display: grid; flex: 0 0 25px; place-items: center; border-radius: 50%; color: #17220e; background: var(--rml-green); font-size: 10px; }
.rml-store-checks strong { display: block; margin-bottom: 5px; color: #fff; }
.rml-store-checks span { color: #aab6ac; font-size: 13px; line-height: 1.55; }
.rml-store-process { background: #eef3ef; }
.rml-store-timeline { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.rml-store-timeline li { position: relative; padding: 0 20px 0 0; }
.rml-store-timeline li:not(:last-child)::after { content: ""; position: absolute; top: 17px; right: 8px; width: calc(100% - 52px); height: 1px; background: #cdd9cf; transform: translateX(100%); }
.rml-store-timeline b { width: 35px; height: 35px; display: grid; place-items: center; margin-bottom: 21px; border-radius: 50%; color: #17220e; background: var(--rml-green); font-size: 11px; }
.rml-store-timeline h3 { margin: 0 0 9px; color: #172019; font-size: 17px; font-weight: 820; }
.rml-store-timeline p { margin: 0; color: #687269; font-size: 12px; line-height: 1.6; }
.rml-store-demo { background: #fff; }
.rml-store-demo-card { display: grid; grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr); gap: 52px; align-items: center; padding: 48px; margin-top: 24px; overflow: hidden; border: 1px solid #dce5de; border-radius: 24px; background: linear-gradient(135deg, #f8faf8, #eef4ef); box-shadow: 0 24px 65px rgba(18,35,22,.09); }
.rml-store-demo-copy h2 { max-width: 540px; margin: 12px 0 17px; color: #102019; font-size: clamp(30px, 4vw, 45px); font-weight: 850; line-height: 1.08; letter-spacing: -.035em; }
.rml-store-demo-copy > p { max-width: 590px; margin: 0 0 23px; color: #667269; line-height: 1.75; }
.rml-store-demo-copy ul { display: grid; gap: 11px; padding: 0; margin: 0 0 28px; list-style: none; }
.rml-store-demo-copy li { display: flex; align-items: center; gap: 10px; color: #243229; font-size: 13px; font-weight: 720; }
.rml-store-demo-copy li i { width: 24px; height: 24px; display: grid; flex: 0 0 24px; place-items: center; color: #14200e; border-radius: 50%; background: var(--rml-green); font-size: 9px; }
.rml-store-demo-actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.rml-store-demo-actions small { max-width: 220px; color: #7a867d; font-size: 10px; line-height: 1.45; }
.rml-store-demo-browser { display: block; overflow: hidden; color: inherit; border: 1px solid #29382d; border-radius: 18px; background: #fff; box-shadow: 0 26px 55px rgba(8,18,11,.22); text-decoration: none; transform: rotate(1deg); transition: transform .2s ease, box-shadow .2s ease; }
.rml-store-demo-browser:hover { color: inherit; text-decoration: none; transform: rotate(0) translateY(-4px); box-shadow: 0 30px 65px rgba(8,18,11,.28); }
.rml-store-demo-browserbar { display: flex; align-items: center; gap: 6px; padding: 11px 13px; background: #0a100c; }
.rml-store-demo-browserbar > span { width: 7px; height: 7px; border-radius: 50%; background: #506057; }
.rml-store-demo-browserbar > span:first-child { background: #9ee63f; }
.rml-store-demo-browserbar div { padding: 6px 12px; margin-left: 7px; flex: 1; color: #9aa69d; border: 1px solid rgba(255,255,255,.09); border-radius: 7px; background: #121b14; font-size: 9px; }
.rml-store-demo-browserbar i { margin-right: 5px; color: var(--rml-green); }
.rml-store-demo-preview { position: relative; min-height: 310px; padding: 35px; overflow: hidden; color: #fff; background: radial-gradient(circle at 100% 0%, rgba(158,230,63,.23), transparent 43%), linear-gradient(135deg, #0a120d, #18281a); }
.rml-store-demo-preview::after { position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(rgba(255,255,255,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.1) 1px, transparent 1px); background-size: 38px 38px; content: ""; }
.rml-store-demo-preview > * { position: relative; z-index: 1; }
.rml-store-demo-brand { display: grid; width: max-content; color: #fff; letter-spacing: .15em; line-height: 1; }
.rml-store-demo-brand strong { font-family: Georgia, serif; font-size: 16px; }
.rml-store-demo-brand small { margin-top: 5px; color: var(--rml-green); font-size: 6px; letter-spacing: .3em; }
.rml-store-demo-tag { width: max-content; padding: 6px 9px; margin: 35px 0 13px; color: #14200e; border-radius: 999px; background: var(--rml-green); font-size: 8px; font-weight: 900; letter-spacing: .08em; }
.rml-store-demo-preview h3 { max-width: 390px; margin: 0 0 12px; color: #fff; font-family: "Manrope", "Inter", "Open Sans", sans-serif; font-size: clamp(25px, 3vw, 36px); line-height: 1.08; }
.rml-store-demo-preview p { max-width: 390px; margin: 0; color: #aab7ad; font-size: 11px; }
.rml-store-demo-products { display: flex; gap: 9px; margin-top: 27px; }
.rml-store-demo-products span { width: 43px; height: 43px; display: grid; place-items: center; color: #14200e; border-radius: 11px; background: #fff; font-size: 16px; }
.rml-store-demo-open { display: flex; align-items: center; justify-content: space-between; padding: 15px 19px; color: #152019; background: var(--rml-green); font-size: 12px; font-weight: 850; }
.rml-store-demo-visual { grid-template-columns: 1fr; gap: 26px; }
.rml-store-demo-visual .rml-store-demo-copy { max-width: 820px; }
.rml-store-demo-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.rml-store-demo-item { overflow: hidden; border: 1px solid #dce5de; border-radius: 17px; background: #fff; box-shadow: 0 12px 30px rgba(18,35,22,.06); }
.rml-store-demo-image { aspect-ratio: 4 / 3; overflow: hidden; background: #eef3ef; }
.rml-store-demo-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.rml-store-demo-item-copy { padding: 22px; }
.rml-store-demo-item-copy h3 { margin: 0 0 8px; color: #142017; font-size: 18px; font-weight: 820; }
.rml-store-demo-item-copy p { margin: 0; color: #687269; font-size: 13px; line-height: 1.65; }
@media (max-width: 991px) {
    .rml-store-demo-card { grid-template-columns: 1fr; gap: 35px; }
    .rml-store-demo-browser { max-width: 650px; width: 100%; transform: none; }
    .rml-store-demo-gallery { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
    .rml-store-demo-card { padding: 25px; border-radius: 17px; }
    .rml-store-demo-actions { align-items: stretch; }
    .rml-store-demo-actions .rml-btn { width: 100%; justify-content: center; }
    .rml-store-demo-actions small { max-width: none; }
    .rml-store-demo-preview { min-height: 280px; padding: 27px 23px; }
}
.rml-store-planning { background: #fff; }
.rml-store-planning-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.rml-store-planning-grid article { padding: 38px; border: 1px solid #dfe6e0; border-radius: var(--rml-radius); background: #f8faf8; }
.rml-store-planning-grid article:last-child { color: #fff; border-color: #1a271b; background: #121b14; }
.rml-store-planning-icon { width: 52px; height: 52px; display: grid; place-items: center; margin-bottom: 25px; border-radius: 15px; color: #315d19; background: #e7f9d2; font-size: 19px; }
.rml-store-planning-grid article:last-child .rml-store-planning-icon { color: #17220e; background: var(--rml-green); }
.rml-store-planning-grid article > span, .rml-store-cta span { color: #579328; font-size: 11px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.rml-store-planning-grid article:last-child > span { color: var(--rml-green); }
.rml-store-planning-grid h2 { margin: 11px 0 15px; color: #142017; font-size: 28px; font-weight: 830; line-height: 1.2; }
.rml-store-planning-grid article:last-child h2 { color: #fff; }
.rml-store-planning-grid p { color: #687269; line-height: 1.7; }
.rml-store-planning-grid article:last-child p { color: #aab6ac; }
.rml-store-planning-grid small { display: block; padding-top: 16px; border-top: 1px solid #dfe6e0; color: #7b867d; line-height: 1.55; }
.rml-store-planning-grid article:last-child small { border-color: rgba(255,255,255,.1); color: #8f9d91; }
.rml-investment-summary { display: grid; grid-template-columns: 58px 1fr; gap: 24px; margin-top: 24px; padding: 34px 38px; border: 1px solid #dfe6e0; border-radius: var(--rml-radius); background: #fff; }
.rml-investment-summary-icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 16px; color: #17220e; background: var(--rml-green); font-size: 21px; }
.rml-investment-summary span { color: #579328; font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.rml-investment-summary h2 { margin: 8px 0 18px; color: #142017; font-size: 27px; font-weight: 830; line-height: 1.2; }
.rml-investment-summary p { position: relative; margin: 10px 0; padding-left: 22px; color: #687269; font-size: 13px; line-height: 1.65; }
.rml-investment-summary p::before { content: "✓"; position: absolute; top: 0; left: 0; color: #5fa828; font-weight: 900; }
.rml-store-aftercare { background: #f4f7f4; }
.rml-store-faq { background: #fff; }
.rml-store-cta { padding: 70px 0; color: #fff; background: #0b100c; }
.rml-store-cta .rml-container { display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.rml-store-cta span { color: var(--rml-green); }
.rml-store-cta h2 { margin: 9px 0 10px; color: #fff; font-size: clamp(30px, 4vw, 46px); font-weight: 840; letter-spacing: -.035em; }
.rml-store-cta p { max-width: 720px; margin: 0; color: #aab6ac; }
.rml-store-cta .rml-btn { flex: 0 0 auto; }

.rml-digital-types { background: #fff; }
.rml-service-page .rml-digital-hero { min-height: 0; padding-bottom: 0; }
.rml-service-page .rml-digital-hero-grid { display: grid; grid-template-columns: minmax(0, .86fr) minmax(560px, 1.14fr); gap: clamp(38px, 4.2vw, 64px); align-items: center; padding: 62px 0 58px; }
.rml-service-page .rml-digital-hero-copy { min-width: 0; }
.rml-service-page .rml-digital-hero-copy h1 { max-width: 520px; margin-top: 24px; font-size: clamp(42px, 3.6vw, 50px); line-height: 1.08; }
.rml-service-page .rml-digital-hero-copy > p { max-width: 510px; }
.rml-service-page .rml-digital-hero-copy .rml-hero-actions { margin-top: 30px; margin-bottom: 0; }
.rml-service-page .rml-digital-card-swap { position: relative; min-width: 0; min-height: 390px; perspective: 1100px; transform: translate(88px,-15px); }
.rml-service-page .rml-digital-demo-label { position: absolute; z-index: 20; top: 6px; left: 12px; padding: 6px 10px; border: 1px solid rgba(158,230,63,.22); border-radius: 999px; color: #d6ff9d; background: #192313; font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.rml-service-page .rml-digital-swap-stage { position: absolute; inset: 0; overflow: visible; }
.rml-service-page .rml-digital-swap-card { --swap-index: 0; position: absolute; top: 142px; left: 10px; width: min(410px,calc(100% - 118px)); height: 224px; overflow: hidden; border: 1px solid rgba(159,179,163,.28); border-radius: 18px; color: #eef4ef; background: linear-gradient(145deg,#202823,#0c110e 72%); box-shadow: 0 22px 42px rgba(0,0,0,.36),0 0 0 1px rgba(158,230,63,.04) inset; transform: translate3d(calc(var(--swap-index) * 32px),calc(var(--swap-index) * -36px),calc(var(--swap-index) * -14px)) skewY(calc(var(--swap-index) * -1deg)) scale(calc(1 - var(--swap-index) * .018)); transform-origin: center bottom; opacity: calc(1 - var(--swap-index) * .12); transition: transform .65s linear,opacity .65s linear,box-shadow .3s ease; will-change: transform; }
.rml-service-page .rml-digital-swap-card:nth-child(2) { opacity: .92; }
.rml-service-page .rml-digital-swap-card:nth-child(3) { opacity: .82; }
.rml-service-page .rml-digital-swap-card::before { position: absolute; top: 0; right: 0; left: 0; height: 2px; background: linear-gradient(90deg,transparent,#9ee63f 30%,#669d2f 72%,transparent); content: ""; }
.rml-service-page .rml-digital-swap-card > header { height: 49px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 0 20px; border-bottom: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.025); }
.rml-service-page .rml-digital-swap-card > header span { display: flex; align-items: center; gap: 9px; font-size: 12px; font-weight: 750; }
.rml-service-page .rml-digital-swap-card > header span i { width: 16px; color: #9ee63f; text-align: center; }
.rml-service-page .rml-digital-swap-card > header em { padding: 5px 8px; border-radius: 999px; color: #bfe790; background: rgba(158,230,63,.1); font-size: 8px; font-style: normal; letter-spacing: .04em; text-transform: uppercase; }
.rml-service-page .rml-digital-swap-body { height: calc(100% - 49px); display: flex; flex-direction: column; padding: 17px 20px 14px; }
.rml-service-page .rml-digital-swap-heading { display: flex; flex-direction: column; margin-bottom: 14px; }
.rml-service-page .rml-digital-swap-heading small { margin-bottom: 3px; color: #7f8d82; font-size: 8px; letter-spacing: .06em; text-transform: uppercase; }
.rml-service-page .rml-digital-swap-heading strong { color: #fff; font-size: 16px; }
.rml-service-page .rml-digital-swap-preview { position: relative; display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; padding: 10px; border: 1px solid rgba(255,255,255,.08); border-radius: 8px; background: rgba(255,255,255,.025); }
.rml-service-page .rml-digital-swap-preview span { height: 18px; border-radius: 3px; background: linear-gradient(90deg,rgba(158,230,63,.18),rgba(255,255,255,.06)); }
.rml-service-page .rml-digital-swap-preview b { grid-column: 1/-1; color: #9aa69c; font-size: 8px; font-weight: 550; }
.rml-service-page .rml-digital-swap-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; }
.rml-service-page .rml-digital-swap-stats span { padding: 9px; border: 1px solid rgba(255,255,255,.08); border-radius: 7px; color: #89958b; background: rgba(255,255,255,.025); font-size: 7px; }
.rml-service-page .rml-digital-swap-stats b { display: block; margin-bottom: 2px; color: #a7e65e; font-size: 15px; }
.rml-service-page .rml-digital-swap-list { display: grid; gap: 6px; }
.rml-service-page .rml-digital-swap-list span { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid rgba(255,255,255,.07); border-radius: 6px; color: #aab4ac; font-size: 8px; }
.rml-service-page .rml-digital-swap-list span > i { color: #8fc64f; }
.rml-service-page .rml-digital-swap-list b { margin-left: auto; color: #b6dd89; font-size: 7px; font-weight: 650; }
.rml-service-page .rml-digital-swap-flow { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.rml-service-page .rml-digital-swap-flow span { min-width: 72px; display: grid; place-items: center; gap: 5px; padding: 9px 7px; border: 1px solid rgba(255,255,255,.08); border-radius: 7px; color: #b4beb6; background: rgba(255,255,255,.025); font-size: 8px; }
.rml-service-page .rml-digital-swap-flow span i { color: #9ee63f; font-size: 12px; }
.rml-service-page .rml-digital-swap-flow > i { color: #5f6d62; font-size: 8px; }
.rml-service-page .rml-digital-swap-body footer { display: flex; align-items: center; gap: 17px; margin-top: auto; padding-top: 11px; border-top: 1px solid rgba(255,255,255,.07); color: #77847a; font-size: 7px; }
.rml-service-page .rml-digital-swap-body footer i { margin-right: 5px; color: #7eb63e; }
.rml-service-page .rml-digital-swap-card:first-child .rml-digital-swap-heading small { color: #9ca99e; }
.rml-service-page .rml-digital-swap-card:first-child .rml-digital-swap-preview b,
.rml-service-page .rml-digital-swap-card:first-child .rml-digital-swap-stats span,
.rml-service-page .rml-digital-swap-card:first-child .rml-digital-swap-list span,
.rml-service-page .rml-digital-swap-card:first-child .rml-digital-swap-flow span { color: #c0c9c2; }
.rml-service-page .rml-digital-swap-card:first-child .rml-digital-swap-body footer { color: #929f95; }
.rml-service-page .rml-digital-card-swap.is-swapping .rml-digital-swap-card:first-child { opacity: 0; transform: translate3d(-24px,64px,24px) rotate(-2deg) skewY(3deg) scale(.98); }
.rml-service-page .rml-digital-card-swap.is-resetting .rml-digital-swap-card { transition: none; }
.rml-service-page .rml-digital-hero-anchor { position: absolute; bottom: 0; left: 0; }
.rml-service-page .rml-digital-types .rml-service-grid { gap: 20px; }
.rml-service-page .rml-digital-types .rml-service-card { min-height: 0; padding: 30px; border-radius: 18px; box-shadow: 0 12px 32px rgba(21,42,25,.045); }
.rml-service-page .rml-digital-types .rml-icon { width: 50px; height: 50px; margin-bottom: 24px; border-radius: 14px; font-size: 18px; }
.rml-service-page .rml-digital-types .rml-service-card h3 { font-size: 21px; }
.rml-service-page .rml-digital-types .rml-service-card p { margin-bottom: 0; font-size: 14px; }
.rml-service-page .rml-digital-process .rml-store-timeline { gap: 14px; }
.rml-service-page .rml-digital-process .rml-store-timeline li { padding: 22px 18px; border: 1px solid #dce5de; border-radius: 15px; background: #fff; }
.rml-service-page .rml-digital-process .rml-store-timeline li:not(:last-child)::after { top: 39px; right: -14px; width: 14px; height: 1px; background: #b9c9bc; transform: none; }
.rml-service-page .rml-digital-process .rml-store-timeline b { width: 38px; height: 38px; margin-bottom: 18px; }
.rml-service-page .rml-digital-process .rml-store-timeline p { font-size: 13px; }
.rml-service-page .rml-digital-platforms { padding-bottom: 82px; }
.rml-service-page .rml-digital-platforms .rml-store-split { gap: clamp(48px, 6vw, 76px); }
.rml-digital-features { padding-top: 82px; background: #f7f9f7; }
.rml-service-page .rml-digital-features .rml-store-feature { min-height: 148px; padding: 25px; background: #fff; }
.rml-digital-examples .rml-store-demo-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 767px) {
    .rml-digital-examples .rml-store-demo-gallery { grid-template-columns: 1fr; }
}
.rml-digital-scope { background: #eef3ef; }
.rml-digital-scope-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.rml-digital-scope-card { height: 100%; padding: 38px; border: 1px solid #dce5de; border-radius: var(--rml-radius); background: #fff; box-shadow: 0 16px 42px rgba(21,42,25,.045); }
.rml-digital-scope-excluded { color: #fff; border-color: #1a271b; background: #121b14; }
.rml-digital-scope-title { display: grid; grid-template-columns: 50px 1fr; gap: 17px; align-items: start; }
.rml-digital-scope-title > i { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 14px; color: #17220e; background: var(--rml-green); }
.rml-digital-scope-title span { color: #579328; font-size: 10px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.rml-digital-scope-excluded .rml-digital-scope-title span { color: var(--rml-green); }
.rml-digital-scope-title h3 { margin: 8px 0 0; color: #142017; font-size: 23px; font-weight: 830; line-height: 1.25; }
.rml-digital-scope-excluded .rml-digital-scope-title h3 { color: #fff; }
.rml-digital-scope-card ul { display: grid; gap: 0; margin: 27px 0 0; padding: 0; list-style: none; }
.rml-digital-scope-card li { position: relative; padding: 13px 0 13px 29px; border-top: 1px solid #e3e9e4; color: #59655c; font-size: 13px; line-height: 1.55; }
.rml-digital-scope-card li::before { position: absolute; top: 13px; left: 2px; color: #5fa828; font-family: Arial, sans-serif; font-size: 14px; font-weight: 900; content: "✓"; }
.rml-digital-scope-excluded li { border-color: rgba(255,255,255,.1); color: #aab6ac; }
.rml-digital-scope-excluded li::before { color: #839087; content: "—"; }
.rml-service-page .rml-digital-planning .rml-store-planning-grid { align-items: stretch; }
.rml-service-page .rml-digital-planning .rml-store-planning-grid article { display: flex; height: 100%; flex-direction: column; }
.rml-service-page .rml-digital-planning .rml-store-planning-grid p { flex: 1 1 auto; }
.rml-service-page .rml-digital-planning .rml-store-planning-grid article:last-child { box-shadow: 0 18px 45px rgba(13,24,16,.13); }
.rml-service-page .rml-digital-planning-link { display: inline-flex; align-items: center; gap: 9px; align-self: flex-start; margin-top: 22px; color: var(--rml-green); font-size: 13px; font-weight: 820; text-decoration: none; }
.rml-service-page .rml-digital-planning-link:hover { color: #b1f15d; text-decoration: none; }
.rml-service-page .rml-digital-planning-link i { font-size: 10px; }
.rml-digital-faq { background: #fff; }
.rml-service-page .rml-digital-faq .rml-faq-grid { grid-template-columns: minmax(260px, .56fr) minmax(0, 1.44fr); gap: clamp(30px, 4vw, 50px); }
.rml-service-page .rml-digital-faq .rml-faq-heading { max-width: 350px; }
.rml-service-page .rml-digital-cta .rml-container { justify-content: flex-start; gap: clamp(42px, 6vw, 76px); }
.rml-service-page .rml-digital-cta .rml-container > div:first-child { max-width: 690px; }

.rml-section { padding: 105px 0; }
.rml-section-heading { max-width: 650px; margin: 0 auto 52px; text-align: center; }
.rml-section-heading h2, .rml-why h2 { margin: 13px 0 16px; color: #111a13; font-size: clamp(34px, 4vw, 52px); font-weight: 800; line-height: 1.1; letter-spacing: -.035em; }
.rml-section-heading p, .rml-why-copy > p { color: #667168; font-size: 16px; line-height: 1.7; }

.rml-service-grid, .rml-plan-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.rml-service-card, .rml-plan-card { position: relative; padding: 34px; border: 1px solid #dfe6e0; border-radius: var(--rml-radius); background: #fff; box-shadow: 0 16px 42px rgba(21,42,25,.05); }
.rml-service-card { min-height: 315px; display: flex; flex-direction: column; }
.rml-service-card:hover { border-color: #b5ccaa; transform: translateY(-4px); transition: .25s ease; }
.rml-featured-card { color: #fff; border-color: #1a271b; background: #121b14; }
.rml-featured-card h3 { color: #fff !important; }
.rml-featured-card p { color: #acb8ae !important; }
.rml-icon { width: 58px; height: 58px; display: grid; place-items: center; margin-bottom: 36px; border-radius: 16px; color: #294a18; background: #e7f9d2; font-size: 22px; }
.rml-featured-card .rml-icon { color: #17220e; background: var(--rml-green); }
.rml-service-card h3, .rml-plan-card h3 { margin: 0 0 13px; color: #142017; font-size: 23px; font-weight: 800; }
.rml-service-card p, .rml-plan-card > p { color: #707a72; line-height: 1.7; }
.rml-service-card a { margin-top: auto; color: #3f771f; font-weight: 800; text-decoration: none; }
.rml-service-card a i { margin-left: 7px; font-size: 11px; }

.rml-path-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.rml-path-card { min-height: 470px; display: flex; flex-direction: column; padding: 42px; overflow: hidden; border: 1px solid #dbe4dc; border-radius: var(--rml-radius); background: #fff; box-shadow: 0 18px 48px rgba(21,42,25,.06); }
.rml-path-store { color: #fff; border-color: #1a271b; background: #121b14; }
.rml-path-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 30px; }
.rml-path-top .rml-icon { margin: 0; }
.rml-path-top > span { color: #579328; font-size: 11px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.rml-path-store .rml-icon { color: #17220e; background: var(--rml-green); }
.rml-path-store .rml-path-top > span { color: var(--rml-green); }
.rml-path-card h3 { max-width: 470px; margin: 0 0 16px; color: #142017; font-size: 29px; font-weight: 830; line-height: 1.2; letter-spacing: -.025em; }
.rml-path-store h3 { color: #fff; }
.rml-path-card > p { margin: 0; color: #687269; line-height: 1.7; }
.rml-path-store > p { color: #aab6ac; }
.rml-path-card ul { margin: 28px 0 32px; padding: 0; list-style: none; }
.rml-path-card li { margin: 13px 0; color: #58625a; font-size: 13px; }
.rml-path-store li { color: #c4cec6; }
.rml-path-card li i { width: 20px; color: #68b32d; }
.rml-path-card > .rml-btn { align-self: flex-start; margin-top: auto; }
.rml-support-strip { display: grid; grid-template-columns: 46px 1fr auto; align-items: center; gap: 18px; margin-top: 24px; padding: 24px 28px; border: 1px solid #dbe4dc; border-radius: 16px; background: #eef3ef; }
.rml-home .rml-support-strip { border-color: #b8c9ba; background: #e3ece3; box-shadow: 0 12px 30px rgba(21,42,25,.085); }
.rml-support-strip > i { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 13px; color: #315d19; background: #dff2cf; }
.rml-support-strip strong { display: block; margin-bottom: 4px; color: #172019; }
.rml-support-strip span { color: #687269; font-size: 13px; }
.rml-support-strip a { color: #3f771f; font-size: 13px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.rml-support-strip a i { margin-left: 7px; font-size: 10px; }
.rml-digital-strip .rml-compact-kicker { display: block; margin-bottom: 6px; color: #579328; font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }

.rml-plans { background: var(--rml-bg-soft); }
.rml-heading-light h2 { color: #fff; }
.rml-heading-light p { color: #99a69c; }
.rml-plan-grid { align-items: stretch; }
.rml-plan-grid-centered { max-width: 920px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-right: auto; margin-left: auto; }
.rml-plan-grid-single { max-width: 520px; grid-template-columns: minmax(0, 1fr); }
.rml-plan-card { display: flex; flex-direction: column; overflow: hidden; }
.rml-plan-popular { border-color: var(--rml-green); box-shadow: 0 24px 70px rgba(92,148,43,.17); }
.rml-popular-label { position: absolute; top: 18px; right: -38px; width: 150px; padding: 6px; color: #14200e; background: var(--rml-green); font-size: 10px; font-weight: 900; text-align: center; text-transform: uppercase; transform: rotate(38deg); }
.rml-plan-icon { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 24px; border-radius: 14px; color: #3f771f; background: #eef9e5; }
.rml-plan-card ul { margin: 24px 0 30px; padding: 0; list-style: none; }
.rml-plan-card li { margin: 13px 0; color: #58625a; font-size: 13px; }
.rml-plan-card li i { margin-right: 9px; color: #69b52c; }
.rml-plan-card .rml-btn { margin-top: auto; }

.rml-why { background: #eef3ef; }
.rml-home .rml-why { padding: 90px 0; }
.rml-why-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: center; }
.rml-why-copy h2 { margin-top: 16px; }
.rml-text-link { display: inline-flex; gap: 9px; margin-top: 15px; color: #3f771f !important; font-weight: 800; text-decoration: none !important; }
.rml-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.rml-benefits > div { display: flex; gap: 15px; padding: 25px; border: 1px solid #dbe4dc; border-radius: 17px; background: #fff; }
.rml-benefits i { color: #5fa828; font-size: 19px; }
.rml-benefits strong { display: block; margin-bottom: 6px; color: #172019; }
.rml-benefits span { color: #6b756d; font-size: 13px; line-height: 1.55; }

.rml-proof { background: #fff; }
.rml-proof-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.rml-proof-card {
    min-height: 305px;
    display: flex;
    flex-direction: column;
    padding: 30px;
    border: 1px solid #dfe6e0;
    border-radius: var(--rml-radius);
    background: #f8faf8;
}
.rml-proof-card-wide {
    grid-column: 1 / -1;
    min-height: 0;
    display: grid;
    grid-template-columns: 62px 1fr;
    gap: 24px;
    color: #fff;
    border-color: #1a271b;
    background: #121b14;
}
.rml-proof-icon {
    width: 54px;
    height: 54px;
    display: grid;
    flex: 0 0 54px;
    place-items: center;
    margin-bottom: 24px;
    border-radius: 15px;
    color: #315d19;
    background: #e7f9d2;
    font-size: 20px;
}
.rml-proof-card-wide .rml-proof-icon { color: #17220e; background: var(--rml-green); }
.rml-proof-label { color: #579328; font-size: 11px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.rml-proof-card-wide .rml-proof-label { color: var(--rml-green); }
.rml-proof-card h3 { margin: 10px 0 14px; color: #142017; font-size: 21px; font-weight: 820; line-height: 1.3; }
.rml-proof-card-wide h3 { margin-top: 8px; color: #fff; font-size: 28px; }
.rml-proof-card p { margin: 0 0 24px; color: #687269; font-size: 14px; line-height: 1.7; }
.rml-proof-card > a { margin-top: auto; color: #3f771f; font-weight: 800; text-decoration: none; }
.rml-proof-card > a i { margin-left: 7px; font-size: 11px; }
.rml-proof-card-compact { min-height: 0; align-self: start; }
.rml-proof-list { margin: 5px 0 0; padding: 0; list-style: none; }
.rml-proof-list li { display: flex; gap: 10px; padding: 11px 0; color: #58625a; font-size: 13px; line-height: 1.5; border-top: 1px solid #e2e8e3; }
.rml-proof-list i { margin-top: 4px; color: #5fa828; font-size: 11px; }
.rml-process-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 25px 0 0; padding: 0; list-style: none; }
.rml-process-list li { display: flex; gap: 12px; padding: 17px; border: 1px solid rgba(255,255,255,.1); border-radius: 13px; background: rgba(255,255,255,.035); }
.rml-process-list b { color: var(--rml-green); font-size: 12px; }
.rml-process-list strong { display: block; margin-bottom: 5px; color: #fff; font-size: 14px; }
.rml-process-list span { color: #9eaba0; font-size: 12px; line-height: 1.5; }
.rml-guarantees { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 20px; overflow: hidden; border: 1px solid #dfe6e0; border-radius: var(--rml-radius); background: #fff; }
.rml-guarantees > div { display: flex; gap: 13px; padding: 23px; border-right: 1px solid #dfe6e0; }
.rml-guarantees > div:last-child { border-right: 0; }
.rml-guarantees i { margin-top: 3px; color: #5fa828; }
.rml-guarantees strong { display: block; margin-bottom: 5px; color: #172019; font-size: 13px; }
.rml-guarantees span { color: #6b756d; font-size: 12px; line-height: 1.55; }

.rml-faq-grid { display: grid; grid-template-columns: minmax(260px, .78fr) minmax(0, 1.22fr); align-items: start; gap: clamp(40px, 6vw, 80px); }
.rml-home .rml-faq { padding: 90px 0; }
.rml-faq-heading { max-width: 390px; margin: 0; text-align: left; }
.rml-accordion .card { margin-bottom: 14px; overflow: hidden; border: 1px solid #dfe6e0; border-radius: 16px !important; background: #fff; box-shadow: 0 8px 24px rgba(22, 42, 26, .035); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.rml-accordion .card:has(.btn-link[aria-expanded="true"]) { border-color: #bcd9a7; box-shadow: 0 14px 34px rgba(40, 77, 48, .08); }
.rml-accordion .card-header { padding: 0; border: 0; background: transparent; }
.rml-accordion .btn-link { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 24px; color: #152019; font-weight: 800; line-height: 1.45; text-align: left; white-space: normal; text-decoration: none; }
.rml-accordion .btn-link:hover, .rml-accordion .btn-link:focus { color: #315f22; text-decoration: none; box-shadow: none; }
.rml-accordion .btn-link:focus-visible { outline: 3px solid rgba(101, 173, 45, .55); outline-offset: 3px; }
.rml-accordion .btn-link i { flex: 0 0 30px; width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #dce9d4; border-radius: 50%; color: #65ad2d; background: #f7fbf4; font-size: 12px; transition: transform .25s ease, color .2s ease, background .2s ease; }
.rml-accordion .btn-link[aria-expanded="true"] i { transform: rotate(45deg); }
.rml-accordion .btn-link[aria-expanded="true"] i { color: #fff; background: #65ad2d; }
.rml-accordion .card-body { max-width: 760px; padding: 0 24px 24px; color: #687269; line-height: 1.7; }

.rml-cta { padding: 68px 0; color: #11190d; background: var(--rml-green); }
.rml-cta .rml-container { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.rml-cta span { color: #35520f; }
.rml-cta h2 { margin: 8px 0 0; font-size: clamp(30px, 4vw, 48px); font-weight: 850; letter-spacing: -.035em; }
.rml-cta-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; }

/* Support and platform maintenance page */
.rml-support-scope { background: #f4f7f4; }
.rml-support-mode-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.rml-support-mode-grid article { display: flex; min-height: 390px; flex-direction: column; padding: 38px; border: 1px solid #d4e1d7; border-radius: 20px; background: linear-gradient(145deg, #fff, #f8fbf8); box-shadow: 0 16px 38px rgba(18,32,21,.06); }
.rml-support-mode-grid article:first-child { border-top: 3px solid #8fca63; }
.rml-support-mode-grid article > span { margin-bottom: 10px; color: #579328; font-size: 11px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.rml-support-mode-grid h3 { margin: 0 0 13px; color: #172019; font-size: 28px; font-weight: 830; letter-spacing: -.025em; }
.rml-support-mode-grid p { margin: 0 0 24px; color: #687269; line-height: 1.7; }
.rml-support-mode-grid ul { display: grid; gap: 12px; margin: auto 0 0; padding: 22px 0 0; border-top: 1px solid #e1e8e2; list-style: none; }
.rml-support-mode-grid li { display: flex; gap: 10px; color: #455047; font-size: 13px; line-height: 1.55; }
.rml-support-mode-grid li i { margin-top: 4px; color: #66b12d; font-size: 11px; }
.rml-support-mode-icon { width: 52px; height: 52px; display: grid; place-items: center; margin-bottom: 26px; border-radius: 15px; color: #315d19; background: #e5f4d9; font-size: 18px; }
.rml-support-mode-recurring { border-color: #314434 !important; border-top: 3px solid var(--rml-green) !important; background: linear-gradient(145deg, #152019, #0f1711) !important; box-shadow: 0 18px 44px rgba(7,14,8,.16) !important; }
.rml-support-mode-recurring h3 { color: #fff; }
.rml-support-mode-recurring p, .rml-support-mode-recurring li { color: #aebbb0; }
.rml-support-mode-recurring ul { border-top-color: #2a382d; }
.rml-support-mode-recurring .rml-support-mode-icon { color: #9aec56; background: #223120; }

.rml-support-included { background: #fff; }
.rml-support-included-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.rml-support-included-grid article { min-height: 245px; padding: 27px; border: 1px solid #dbe5dd; border-radius: 17px; background: #fff; box-shadow: 0 10px 28px rgba(21,42,25,.04); }
.rml-support-included-grid article > i { width: 42px; height: 42px; display: grid; place-items: center; margin-bottom: 23px; border-radius: 12px; color: #315d19; background: #e5f4d9; }
.rml-support-included-grid h3 { margin: 0 0 11px; color: #172019; font-size: 17px; font-weight: 820; line-height: 1.3; }
.rml-support-included-grid p { margin: 0; color: #687269; font-size: 13px; line-height: 1.65; }

.rml-support-platforms { color: #fff; background: #0d140f; }
.rml-support-platform-grid { display: grid; grid-template-columns: 1fr; gap: 38px; }
.rml-support-platform-grid > div:first-child { max-width: 820px; }
.rml-support-platforms h2 { margin: 10px 0 20px; color: #fff; font-size: clamp(34px, 4vw, 52px); font-weight: 840; line-height: 1.08; letter-spacing: -.04em; }
.rml-support-platforms p { margin: 0; color: #aab6ac; line-height: 1.75; }
.rml-support-platform-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.rml-support-platform-list > div { display: flex; min-height: 190px; padding: 26px; border: 1px solid #2b3b2f; border-radius: 17px; background: rgba(255,255,255,.035); }
.rml-support-platform-list i { width: 44px; height: 44px; display: grid; flex: 0 0 44px; place-items: center; margin-right: 20px; border-radius: 12px; color: #92e64f; background: #243420; }
.rml-support-platform-list strong { display: block; margin: 7px 0 13px; color: #fff; font-size: 19px; line-height: 1.25; }
.rml-support-platform-list span { color: #aab6ac; font-size: 14px; line-height: 1.7; }

.rml-support-limits { background: #eef3ef; }
.rml-support-limit-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.rml-support-limit-grid article { min-height: 245px; padding: 27px; border: 1px solid #d9e3db; border-radius: 17px; background: #fff; box-shadow: 0 10px 28px rgba(21,42,25,.035); }
.rml-support-limit-grid article > i { width: 42px; height: 42px; display: grid; place-items: center; margin-bottom: 23px; border-radius: 12px; color: #315d19; background: #e5f4d9; }
.rml-support-limit-grid h3 { margin: 0 0 11px; color: #172019; font-size: 17px; font-weight: 820; line-height: 1.3; }
.rml-support-limit-grid p { margin: 0; color: #687269; font-size: 13px; line-height: 1.65; }

.rml-support-conditions { background: #fff; }
.rml-support-conditions-grid { display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; gap: 62px; }
.rml-support-conditions h2 { margin: 10px 0 20px; color: #172019; font-size: clamp(34px, 4vw, 50px); font-weight: 840; line-height: 1.08; letter-spacing: -.04em; }
.rml-support-conditions p { margin: 0; color: #687269; line-height: 1.75; }
.rml-support-condition-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.rml-support-condition-list > div { display: flex; min-height: 150px; gap: 14px; padding: 20px; border: 1px solid #dfe6e0; border-radius: 14px; background: #f8faf8; }
.rml-support-condition-list i { width: 38px; height: 38px; display: grid; flex: 0 0 38px; place-items: center; border-radius: 11px; color: #315d19; background: #e5f4d9; }
.rml-support-condition-list strong { display: block; margin: 1px 0 5px; color: #172019; font-size: 14px; }
.rml-support-condition-list span { color: #687269; font-size: 12px; line-height: 1.55; }

.rml-support-process { background: #fff; }
.rml-support-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.rml-support-steps li { position: relative; display: flex; min-height: 165px; gap: 16px; padding: 25px 22px; border: 1px solid #dfe6e0; border-radius: 15px; background: #fafcfb; }
.rml-support-steps li:not(:last-child)::after { content: ""; position: absolute; top: 39px; right: -19px; z-index: 2; width: 19px; border-top: 1px dashed #92a096; }
.rml-support-steps b { width: 38px; height: 38px; display: grid; flex: 0 0 38px; place-items: center; border-radius: 11px; color: #17220e; background: var(--rml-green); font-size: 12px; font-weight: 900; }
.rml-support-steps h3 { margin: 3px 0 7px; color: #172019; font-size: 16px; font-weight: 820; }
.rml-support-steps p { margin: 0; color: #687269; font-size: 12px; line-height: 1.55; }
.rml-support-faq { background: #f4f7f4; }
.rml-service-page .rml-support-faq .rml-faq-grid { grid-template-columns: minmax(260px, .56fr) minmax(0, 1.44fr); gap: clamp(30px, 4vw, 50px); }
.rml-service-page .rml-support-faq .rml-faq-heading { max-width: 350px; }

.rml-support-cta { padding: 70px 0; color: #fff; background: #0b100c; }
.rml-support-cta .rml-container { display: flex; align-items: center; justify-content: flex-start; gap: clamp(42px, 6vw, 76px); }
.rml-support-cta .rml-container > div:first-child { max-width: 690px; }
.rml-support-cta span { color: var(--rml-green); font-size: 11px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.rml-support-cta h2 { margin: 9px 0 10px; color: #fff; font-size: clamp(30px, 4vw, 46px); font-weight: 840; letter-spacing: -.035em; }
.rml-support-cta p { max-width: 720px; margin: 0; color: #aab6ac; }
.rml-support-cta .rml-btn { flex: 0 0 auto; }

@media (max-width: 1220px) {
    .rml-hero-content { padding-right: 400px; }
    .rml-service-page .rml-server-hero-grid { grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr); gap: 36px; }
    .rml-service-page .rml-server-hero-copy h1 { font-size: clamp(44px, 5vw, 60px); }
    .rml-service-page .rml-digital-hero-grid { grid-template-columns: minmax(0, .86fr) minmax(520px, 1.14fr); gap: 32px; }
    .rml-service-page .rml-digital-hero-copy h1 { font-size: clamp(40px, 4.2vw, 48px); }
    .rml-service-page .rml-digital-card-swap { transform: translate(44px,-15px); }
    .rml-server-card { right: 28px; width: 350px; }
    .rml-support-hero .rml-hero-content { padding-right: 380px; }
    .rml-support-banner { width: 335px; padding: 24px; }
    .rml-support-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .rml-support-steps li:nth-child(3)::after { display: none; }
}

@media (max-width: 900px) {
    .rml-hero { padding-bottom: 70px; }
    .rml-hero-content { padding: 90px 0 430px; }
    .rml-service-page .rml-hero-content { padding: 90px 0 70px; }
    .rml-service-page .rml-server-hero { padding-bottom: 0; }
    .rml-service-page .rml-server-hero-grid { grid-template-columns: 1fr; gap: 38px; padding: 78px 0 68px; }
    .rml-service-page .rml-server-hero-copy h1 { max-width: 720px; }
    .rml-service-page .rml-server-hero-panel { width: 100%; }
    .rml-service-page .rml-digital-hero { padding-bottom: 0; }
    .rml-service-page .rml-digital-hero-grid { grid-template-columns: 1fr; gap: 38px; padding: 78px 0 68px; }
    .rml-service-page .rml-digital-hero-copy h1 { max-width: 720px; }
    .rml-service-page .rml-digital-card-swap { width: min(100%, 720px); min-height: 390px; transform: translateY(-15px); }
    .rml-service-page .rml-digital-types .rml-service-grid { grid-template-columns: 1fr; }
    .rml-service-page .rml-digital-process .rml-store-timeline { grid-template-columns: 1fr; gap: 16px; }
    .rml-service-page .rml-digital-process .rml-store-timeline li { display: grid; grid-template-columns: 44px 1fr; gap: 12px; padding: 20px; }
    .rml-service-page .rml-digital-process .rml-store-timeline li:not(:last-child)::after { top: auto; right: auto; bottom: -17px; left: 38px; width: 1px; height: 17px; transform: none; }
    .rml-service-page .rml-digital-process .rml-store-timeline b { margin: 0; }
    .rml-service-page .rml-digital-faq .rml-faq-grid { grid-template-columns: 1fr; gap: 44px; }
    .rml-service-page .rml-digital-faq .rml-faq-heading { max-width: 430px; }
    .rml-support-hero .rml-hero-content { padding: 90px 0 70px; }
    .rml-support-banner { position: relative; top: auto; right: auto; width: min(100%, 620px); margin-top: 44px; transform: none; }
    .rml-server-card { top: auto; right: 50%; bottom: 70px; width: min(520px, calc(100% - 40px)); transform: translateX(50%); }
    .rml-solution-card { transform: translateX(50%); }
    .rml-service-grid, .rml-plan-grid { grid-template-columns: 1fr; }
    .rml-path-grid { grid-template-columns: 1fr; }
    .rml-service-page .rml-server-use-case-grid { grid-template-columns: 1fr; }
    .rml-service-page .rml-server-responsibilities { grid-template-columns: 1fr; }
    .rml-service-page .rml-server-addon-grid { grid-template-columns: repeat(2, 1fr); }
    .rml-service-page .rml-server-faq .rml-faq-grid { grid-template-columns: 1fr; gap: 44px; }
    .rml-service-page .rml-server-faq .rml-faq-heading { max-width: 430px; }
    .rml-store-split { grid-template-columns: 1fr; gap: 48px; }
    .rml-store-timeline { grid-template-columns: 1fr; gap: 24px; }
    .rml-store-timeline li { display: grid; grid-template-columns: 44px 1fr; gap: 12px; padding: 0; }
    .rml-store-timeline li:not(:last-child)::after { top: 36px; right: auto; bottom: -24px; left: 17px; width: 1px; height: 24px; transform: none; }
    .rml-store-timeline b { margin: 0; }
    .rml-support-platform-grid { grid-template-columns: 1fr; gap: 48px; }
    .rml-support-included-grid, .rml-support-limit-grid, .rml-support-steps { grid-template-columns: repeat(2, 1fr); }
    .rml-support-conditions-grid { grid-template-columns: 1fr; gap: 48px; }
    .rml-service-page .rml-support-faq .rml-faq-grid { grid-template-columns: 1fr; gap: 44px; }
    .rml-service-page .rml-support-faq .rml-faq-heading { max-width: 430px; }
    .rml-support-steps li:nth-child(3)::after { display: block; }
    .rml-support-steps li:nth-child(2)::after,
    .rml-support-steps li:nth-child(4)::after { display: none; }
    .rml-why-grid, .rml-faq-grid { grid-template-columns: 1fr; gap: 48px; }
    .rml-proof-grid { grid-template-columns: 1fr; }
    .rml-proof-card-wide { grid-column: auto; }
    .rml-process-list, .rml-guarantees { grid-template-columns: repeat(2, 1fr); }
    .rml-guarantees > div:nth-child(2) { border-right: 0; }
    .rml-guarantees > div:nth-child(-n+2) { border-bottom: 1px solid #dfe6e0; }
    .rml-plan-card { max-width: 680px; width: 100%; margin: 0 auto; }
    .rml-plan-grid-centered { grid-template-columns: 1fr; }
    .rml-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .rml-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
    .rml-container { width: min(100% - 28px, 1180px); }
    .rml-hero { min-height: 850px; }
    .rml-service-page .rml-hero { min-height: 0; }
    .rml-service-page .rml-server-hero-grid { gap: 30px; padding: 66px 0 54px; }
    .rml-service-page .rml-server-hero-copy h1 { font-size: 42px; }
    .rml-service-page .rml-server-hero-panel { gap: 9px; padding: 12px; border-radius: 17px; }
    .rml-service-page .rml-server-hero-panel-item { padding: 14px; }
    .rml-service-page .rml-digital-hero-grid { gap: 34px; padding: 58px 0 52px; }
    .rml-service-page .rml-digital-hero-copy h1 { font-size: clamp(36px, 10.5vw, 42px); }
    .rml-service-page .rml-digital-card-swap { width: 100%; min-height: 330px; transform: translateY(-10px); }
    .rml-service-page .rml-digital-demo-label { top: 0; left: 0; }
    .rml-service-page .rml-digital-swap-card { top: 96px; left: 0; width: calc(100% - 42px); height: 218px; transform: translate3d(calc(var(--swap-index) * 13px),calc(var(--swap-index) * -21px),calc(var(--swap-index) * -8px)) skewY(calc(var(--swap-index) * -.55deg)) scale(calc(1 - var(--swap-index) * .012)); }
    .rml-service-page .rml-digital-swap-card > header { padding: 0 15px; }
    .rml-service-page .rml-digital-swap-body { padding: 15px; }
    .rml-service-page .rml-digital-swap-flow span { min-width: 62px; }
    .rml-hero-content { padding-top: 72px; }
    .rml-hero h1 { font-size: 43px; }
    .rml-hero-copy { font-size: 16px; }
    .rml-hero-actions .rml-btn { width: 100%; }
    .rml-trust-row { display: grid; gap: 10px; }
    .rml-server-card { bottom: 50px; padding: 20px; }
    .rml-section { padding: 74px 0; }
    .rml-service-card, .rml-plan-card { padding: 26px; }
    .rml-path-card { min-height: 0; padding: 28px; }
    .rml-path-card h3 { font-size: 25px; }
    .rml-path-card > .rml-btn { width: 100%; }
    .rml-support-strip { grid-template-columns: 46px 1fr; }
    .rml-support-strip a { grid-column: 1 / -1; }
    .rml-service-page .rml-server-use-cases-heading,
    .rml-service-page .rml-server-unmanaged-heading { margin-bottom: 34px; text-align: left; }
    .rml-service-page .rml-server-use-case,
    .rml-service-page .rml-server-responsibility-card { padding: 24px; }
    .rml-service-page .rml-server-addon-grid { grid-template-columns: 1fr; }
    .rml-service-page .rml-server-cta .rml-container { align-items: flex-start; flex-direction: column; gap: 28px; }
    .rml-service-page .rml-server-cta-actions { width: 100%; }
    .rml-service-page .rml-server-cta .rml-btn { width: 100%; }
    .rml-store-feature-grid, .rml-store-planning-grid { grid-template-columns: 1fr; }
    .rml-digital-scope-grid { grid-template-columns: 1fr; }
    .rml-investment-summary { grid-template-columns: 1fr; padding: 27px; }
    .rml-store-feature { padding: 22px; }
    .rml-store-planning-grid article { padding: 27px; }
    .rml-service-page .rml-digital-types .rml-service-card { padding: 26px; }
    .rml-service-page .rml-digital-process .rml-store-timeline li { padding: 18px; }
    .rml-digital-scope-card { padding: 27px; }
    .rml-digital-scope-title { grid-template-columns: 44px 1fr; gap: 14px; }
    .rml-digital-scope-title > i { width: 44px; height: 44px; }
    .rml-digital-scope-title h3 { font-size: 20px; }
    .rml-store-cta .rml-container { align-items: flex-start; flex-direction: column; gap: 28px; }
    .rml-store-cta .rml-btn { width: 100%; }
    .rml-service-page .rml-digital-cta .rml-container { gap: 28px; }
    .rml-support-mode-grid, .rml-support-included-grid, .rml-support-platform-list, .rml-support-limit-grid, .rml-support-steps { grid-template-columns: 1fr; }
    .rml-support-mode-grid article { min-height: 0; padding: 28px; }
    .rml-support-included-grid article, .rml-support-limit-grid article { min-height: 0; }
    .rml-support-condition-list { grid-template-columns: 1fr; }
    .rml-support-condition-list > div { min-height: 0; }
    .rml-support-steps li { min-height: 0; }
    .rml-support-steps li::after { display: none !important; }
    .rml-support-cta .rml-container { align-items: flex-start; flex-direction: column; gap: 28px; }
    .rml-support-cta .rml-btn { width: 100%; }
    .rml-benefits { grid-template-columns: 1fr; }
    .rml-home .rml-why,
    .rml-home .rml-faq { padding: 64px 0; }
    .rml-faq-grid { gap: 34px; }
    .rml-faq-heading { max-width: none; }
    .rml-accordion .btn-link { gap: 14px; padding: 19px 18px; font-size: 15px; }
    .rml-accordion .btn-link i { flex-basis: 28px; width: 28px; height: 28px; }
    .rml-accordion .card-body { padding: 0 18px 20px; font-size: 14px; }
    .rml-proof-card-wide { grid-template-columns: 1fr; gap: 0; }
    .rml-process-list, .rml-guarantees { grid-template-columns: 1fr; }
    .rml-guarantees > div,
    .rml-guarantees > div:nth-child(2) { border-right: 0; border-bottom: 1px solid #dfe6e0; }
    .rml-guarantees > div:last-child { border-bottom: 0; }
    .rml-cta .rml-container { align-items: flex-start; flex-direction: column; }
    .rml-cta-actions { width: 100%; }
    .rml-cta .rml-btn { width: 100%; }

    header.header .navbar-light { min-height: 64px; padding: 7px 0; }
    header.header .navbar-light > .container { flex-wrap: nowrap; padding-right: 14px; padding-left: 14px; }
    header.header .navbar-brand { width: 160px; height: 50px; flex: 0 0 160px; margin-right: 8px !important; }
    header.header .navbar-brand .logo-img, header.header .logo-img { width: 160px; height: 50px; max-width: 160px; max-height: 50px; }
    header.header .toolbar { flex: 0 0 auto; flex-direction: row; margin-left: auto; }
    header.header .toolbar .nav-item { margin-left: 7px !important; }
    header.header .toolbar .nav-link { width: 44px; height: 44px; display: grid; place-items: center; padding: 0; }
    header.header .toolbar .cart-btn { position: relative; overflow: visible; }
    header.header .toolbar .nav-link .badge { top: 3px; right: 3px; min-width: 15px; height: 15px; padding: 1px 4px; border: 2px solid #070b08; border-radius: 8px; font-size: 8px; line-height: 9px; }
    header.header .main-navbar-wrapper .navbar-collapse { padding: 12px 0; }
    header.header .topbar > .container { padding-right: 14px; padding-left: 14px; }
    header.header .topbar .btn-active-client span { max-width: min(42vw, 170px); }
    header.header .topbar .active-client .btn { padding-right: 7px; padding-left: 7px; }
    .rml-footer { padding-top: 42px; }
    .rml-footer-grid { grid-template-columns: 1fr 1fr; gap: 38px 24px; }
    .rml-footer-column:last-child { grid-column: 1 / -1; }
    .rml-footer-bottom { align-items: flex-start; flex-direction: column; }
    .rml-footer .copyright { width: 100%; text-align: center; }
    .rml-complaints-book { width: auto; max-width: 100%; margin: 2px 0 0; justify-content: flex-start; }
    .rml-complaints-external { margin-left: 3px; }
    .rml-legal-hero, .rml-legal-content { padding-left: 25px; padding-right: 25px; }
}

@media (max-width: 440px) {
    .rml-footer-grid { grid-template-columns: 1fr; gap: 30px; }
    .rml-footer-brand,
    .rml-footer-column:last-child { grid-column: auto; }
    .rml-payment-methods { align-items: flex-start; flex-direction: row; flex-wrap: wrap; }
    .rml-complaints-book { width: auto; max-width: 100%; }
    .rml-footer-bottom { align-items: center; }
    .rml-footer .copyright { width: 100%; text-align: center; }
    .rml-service-page .rml-server-hero-panel { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
    .rml-legal-content .meta {
        display: grid;
        grid-template-columns: 42px minmax(0, 1fr);
        column-gap: 13px;
        row-gap: 2px;
        align-items: center;
    }

    .rml-legal-content .meta::before {
        grid-column: 1;
        grid-row: 1 / span 2;
    }

    .rml-legal-content .meta span {
        grid-column: 2;
        display: block;
        min-width: 0;
        line-height: 1.55;
    }
}

/* Dedicated servers catalogue — Supreme Comparison order form */
#order-supreme_comparison {
    --server-ink: #111a13;
    --server-muted: #667168;
    --server-line: #dfe7e1;
    --server-green: #9ee63f;
    --server-green-dark: #477d22;
    padding: 12px 0 82px;
}

#order-supreme_comparison > .products-header {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

#order-supreme_comparison > .products-header h1 {
    margin-bottom: 14px;
    color: var(--server-ink);
    font-size: clamp(34px, 4vw, 52px);
    font-weight: 850;
    line-height: 1.08;
    letter-spacing: -.035em;
}

#order-supreme_comparison > .products-header p {
    color: var(--server-muted);
    font-size: 17px;
    line-height: 1.7;
}

#order-supreme_comparison #products.price-table-container {
    max-width: 1180px;
    margin: 0 auto;
}

#order-supreme_comparison #products > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
    align-items: stretch;
    margin: 0;
    padding: 0;
    list-style: none;
}

/*
 * Product descriptions entered in WHMCS may leave unbalanced <strong> tags.
 * The browser repairs that markup by inserting STRONG wrappers between cards.
 * They must not become additional grid/flex boxes.
 */
#order-supreme_comparison #products > ul > strong,
#order-supreme_comparison #products > ul > strong:empty,
#order-supreme_comparison #products .price-table > strong,
#order-supreme_comparison #products .product-body > strong {
    display: contents !important;
}

/* WHMCS may create empty STRONG siblings while parsing feature descriptions. */
#order-supreme_comparison #products .product-body > ul > strong {
    display: none !important;
}

#order-supreme_comparison #products > ul > li {
    width: calc((100% - 48px) / 3) !important;
    flex: 0 0 calc((100% - 48px) / 3);
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}

#order-supreme_comparison #products > ul > strong > li {
    width: calc((100% - 48px) / 3) !important;
    flex: 0 0 calc((100% - 48px) / 3);
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}

#order-supreme_comparison #products .price-table {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--server-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(20, 42, 24, .075);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

#order-supreme_comparison #products .price-table:hover {
    z-index: 2;
    border-color: #b7d4a5;
    box-shadow: 0 24px 62px rgba(20, 42, 24, .14);
    transform: translateY(-6px);
}

#order-supreme_comparison #products .product-icon {
    position: relative;
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    margin: 28px 28px 18px;
    overflow: hidden;
    border: 0;
    border-radius: 14px;
    color: #fff;
    background: linear-gradient(145deg, #1c281e, #0d140f);
    box-shadow: 0 10px 24px rgba(20, 36, 23, .15);
}

#order-supreme_comparison #products .product-icon img {
    display: none !important;
}

#order-supreme_comparison #products .product-icon::before {
    content: "";
    position: absolute;
    top: 13px;
    width: 27px;
    height: 32px;
    border: 2px solid currentColor;
    border-radius: 5px;
}

#order-supreme_comparison #products .product-icon::after {
    content: "";
    position: absolute;
    top: 22px;
    width: 15px;
    height: 2px;
    border-radius: 2px;
    background: var(--server-green);
    box-shadow: 0 8px 0 var(--server-green);
}

#order-supreme_comparison #products .product-title {
    min-height: 78px;
    padding: 0 28px 20px;
    border-bottom: 1px solid #edf1ee;
    text-align: left;
}

#order-supreme_comparison #products .product-title h3 {
    margin: 0;
    color: var(--server-ink);
    font-size: 22px !important;
    font-weight: 850;
    line-height: 1.22;
    letter-spacing: -.02em;
}

#order-supreme_comparison #products .product-body {
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 22px 28px 28px;
}

#order-supreme_comparison #products .product-body > ul {
    margin: 0 0 24px;
    padding: 0;
    list-style: none;
}

#order-supreme_comparison #products .product-body > ul > li {
    position: relative;
    min-height: 44px;
    margin: 0;
    padding: 9px 0 9px 27px;
    border-bottom: 1px solid #edf1ee;
    color: #29342b;
    font-size: 13px;
    line-height: 1.35;
}

#order-supreme_comparison #products .product-body > ul > li::before {
    content: "✓";
    position: absolute;
    top: 12px;
    left: 0;
    width: 16px;
    height: 16px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #234712;
    background: #b7ef83;
    font-family: inherit;
    font-size: 10px;
    font-weight: 900;
}

#order-supreme_comparison #products .product-body > ul > li > strong {
    display: block;
    margin-top: 2px;
    color: #7a857c;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .055em;
    text-transform: uppercase;
}

#order-supreme_comparison #products .rml-country-flag {
    width: 18px;
    margin-right: 5px;
    border-radius: 2px;
}

#order-supreme_comparison #products .price-area {
    margin-top: auto;
    padding: 22px 0 0;
    border: 0;
    border-top: 1px solid #dfe7e1;
    border-radius: 0;
    background: transparent;
}

#order-supreme_comparison #products .price {
    margin-bottom: 17px;
    color: var(--server-ink);
    font-size: 24px;
    font-weight: 800;
    line-height: 1.4;
    text-align: left;
    letter-spacing: -.025em;
}

#order-supreme_comparison #products .price br {
    display: block;
    margin-top: 5px;
    content: "";
}

#order-supreme_comparison #products .price-label {
    display: block;
    height: auto;
    margin-bottom: 5px;
    color: #738076;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .05em;
    text-transform: uppercase;
}

#order-supreme_comparison #products .price small {
    display: block;
    margin-top: 8px;
    color: #6b776e;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
}

#order-supreme_comparison #products .btn-order-now {
    width: 100%;
    display: block;
    color: #fff !important;
    border: 1px solid #172019 !important;
    border-radius: 10px;
    background: #172019 !important;
    text-decoration: none !important;
    box-shadow: 0 8px 18px rgba(18, 31, 21, .13);
    transition: background .2s ease, box-shadow .2s ease, transform .2s ease;
}

#order-supreme_comparison #products .btn-order-now:hover {
    color: #14200e !important;
    border-color: var(--server-green) !important;
    background: var(--server-green) !important;
    box-shadow: 0 10px 24px rgba(104, 185, 43, .24);
    transform: translateY(-2px);
}

#order-supreme_comparison #products .order-now {
    padding: 14px 18px;
    color: inherit !important;
    border: 0 !important;
    border-radius: inherit !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 14px;
    font-weight: 850;
    text-align: center;
}

/* Horizontal comparison rows on wide screens. */
@media (min-width: 1051px) {
    #order-supreme_comparison #products > ul {
        display: grid;
        grid-template-columns: 1fr;
        gap: 18px;
    }

    #order-supreme_comparison #products > ul > li,
    #order-supreme_comparison #products > ul > strong > li {
        width: 100% !important;
        max-width: none !important;
        flex: 0 0 100%;
        min-width: 0;
    }

    #order-supreme_comparison #products .price-table {
        min-height: 225px;
        display: grid;
        grid-template-columns: 215px minmax(0, 1fr);
        align-items: stretch;
    }

    #order-supreme_comparison #products .price-table:hover {
        transform: translateY(-3px);
    }

    #order-supreme_comparison #products .product-icon {
        grid-column: 1;
        grid-row: 1;
        align-self: center;
        margin: 0 0 0 22px;
        width: 52px;
        height: 52px;
    }

    #order-supreme_comparison #products .product-title {
        grid-column: 1;
        grid-row: 1;
        min-height: 0;
        display: flex;
        align-items: center;
        padding: 24px 16px 24px 86px;
        border-right: 1px solid #edf1ee;
        border-bottom: 0;
    }

    #order-supreme_comparison #products .product-title h3 {
        font-size: 17px !important;
        line-height: 1.28;
    }

    #order-supreme_comparison #products .product-icon::before {
        position: static;
        width: auto;
        height: auto;
        border: 0;
        border-radius: 0;
        color: var(--server-green);
        font-family: "Font Awesome 6 Pro";
        font-size: 25px;
        font-weight: 900;
        content: "\f233";
    }

    #order-supreme_comparison #products .product-icon::after {
        display: none;
    }

    #order-supreme_comparison #products .product-body {
        grid-column: 2;
        grid-row: 1;
        min-width: 0;
        height: auto;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 185px;
        align-items: stretch;
        padding: 0;
    }

    #order-supreme_comparison #products .product-body > ul {
        min-width: 0;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        grid-template-rows: repeat(2, minmax(76px, auto));
        align-content: center;
        margin: 0;
        padding: 18px 10px;
    }

    #order-supreme_comparison #products .product-body > ul > li {
        grid-column: auto / span 1 !important;
        min-width: 0;
        width: auto !important;
        max-width: none !important;
        min-height: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin: 0;
        padding: 10px 8px 10px 27px;
        border-right: 1px solid #edf1ee;
        border-bottom: 1px solid #edf1ee;
        overflow-wrap: normal;
        word-break: normal;
        justify-self: stretch;
    }

    #order-supreme_comparison #products .product-body > ul > li:nth-of-type(5n) { border-right: 0; }
    #order-supreme_comparison #products .product-body > ul > li:nth-last-child(-n+5) { border-bottom: 0; }

    #order-supreme_comparison #products .product-body > ul > li::before {
        top: 50%;
        left: 4px;
        width: 20px;
        height: 20px;
        color: #72c72d;
        background: transparent;
        font-family: "Font Awesome 6 Pro";
        font-size: 17px;
        font-weight: 900;
        transform: translateY(-50%);
    }

    #order-supreme_comparison #products .sc-feature-processor::before { content: "\f2db"; }
    #order-supreme_comparison #products .sc-feature-cores::before { content: "\f5fd"; }
    #order-supreme_comparison #products .sc-feature-frequency::before { content: "\f625"; }
    #order-supreme_comparison #products .sc-feature-memory::before { content: "\f538"; }
    #order-supreme_comparison #products .sc-feature-storage::before { content: "\f0a0"; }
    #order-supreme_comparison #products .sc-feature-disk-configuration::before { content: "\f1c0"; }
    #order-supreme_comparison #products .sc-feature-network::before { content: "\f796"; }
    #order-supreme_comparison #products .sc-feature-traffic::before { content: "\f624"; }
    #order-supreme_comparison #products .sc-feature-management::before { content: "\f4fe"; }
    #order-supreme_comparison #products .sc-feature-location::before { content: "\f3c5"; }

    #order-supreme_comparison #products .price-area {
        min-width: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin: 0;
        padding: 28px 18px;
        border-top: 0;
        border-left: 1px solid #dfe7e1;
    }

    #order-supreme_comparison #products .product-body > ul > li {
        font-size: 11.5px;
        line-height: 1.35;
    }

    #order-supreme_comparison #products .product-body > ul > li > strong {
        font-size: 8.5px;
        letter-spacing: .04em;
    }

    #order-supreme_comparison #products .price {
        margin-bottom: 16px;
        font-size: 20px;
        text-align: center;
        white-space: nowrap;
    }

    #order-supreme_comparison #products .price small { white-space: normal; }
}

@media (max-width: 1050px) {
    #order-supreme_comparison #products > ul > li,
    #order-supreme_comparison #products > ul > strong > li {
        width: calc((100% - 24px) / 2) !important;
        flex-basis: calc((100% - 24px) / 2);
    }

    #order-supreme_comparison #products .product-icon {
        width: 52px;
        height: 52px;
    }

    #order-supreme_comparison #products .product-icon::before {
        position: static;
        width: auto;
        height: auto;
        border: 0;
        border-radius: 0;
        color: var(--server-green);
        font-family: "Font Awesome 6 Pro";
        font-size: 25px;
        font-weight: 900;
        content: "\f233";
    }

    #order-supreme_comparison #products .product-icon::after {
        display: none;
    }

    #order-supreme_comparison #products .product-title h3 {
        font-size: 17px !important;
        line-height: 1.28;
    }
}

@media (max-width: 680px) {
    #order-supreme_comparison { padding: 0 0 58px; }
    #order-supreme_comparison > .products-header { margin-bottom: 28px; padding: 0 8px; }
    #order-supreme_comparison > .products-header h1 { font-size: 36px; }
    #order-supreme_comparison > .products-header p { font-size: 15px; }
    #order-supreme_comparison #products > ul { gap: 18px; }
    #order-supreme_comparison #products > ul > li,
    #order-supreme_comparison #products > ul > strong > li {
        width: 100% !important;
        flex-basis: 100%;
    }
    #order-supreme_comparison #products .price-table:hover { transform: none; }
    #order-supreme_comparison #products .product-title { min-height: 0; }
}

/* Ilustração 3D de servidores usada como ícone de produto. */
#order-supreme_comparison #products .product-icon {
    width: 58px;
    height: 58px;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#order-supreme_comparison #products .product-icon img {
    width: 70px;
    max-width: none;
    height: 70px;
    display: block !important;
    background: transparent !important;
    object-fit: cover;
}

#order-supreme_comparison #products .product-icon::before,
#order-supreme_comparison #products .product-icon::after {
    display: none;
    content: none;
}

/* Verificação de segurança */
.rml-captcha-card {
    width: 100%;
    margin: 6px auto 18px;
    padding: 22px;
    border: 1px solid #dbe5dc;
    border-radius: 18px;
    background: #f8fbf8;
    box-shadow: 0 12px 30px rgba(17, 35, 22, .07);
    color: #101a12;
    text-align: left;
}

.rml-captcha-copy {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 18px;
}

.rml-captcha-icon {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: #9bea31;
    color: #101a12;
    font-size: 18px;
}

.rml-captcha-copy strong {
    display: block;
    margin: 1px 0 5px;
    color: #101a12;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
}

.rml-captcha-copy p {
    max-width: 520px;
    margin: 0;
    color: #617067;
    font-size: 14px;
    line-height: 1.55;
}

.rml-captcha-fields {
    display: grid;
    grid-template-columns: 138px minmax(0, 1fr);
    align-items: end;
    gap: 14px;
}

.rml-captcha-card .captchaimage {
    height: 48px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid #ccd8ce;
    border-radius: 11px;
    background: #fff;
}

.rml-captcha-card .captchaimage img {
    display: block;
    max-width: 100%;
    height: auto;
}

.rml-captcha-input label {
    display: block;
    margin: 0 0 7px;
    color: #26352a;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.rml-captcha-input .form-control {
    height: 48px;
    border: 1px solid #ccd8ce;
    border-radius: 11px;
    background: #fff;
    color: #101a12;
    font-size: 15px;
    box-shadow: none;
}

.rml-captcha-input .form-control:focus {
    border-color: #75bd24;
    box-shadow: 0 0 0 3px rgba(155, 234, 49, .2);
}

@media (max-width: 575px) {
    .rml-captcha-card {
        padding: 18px;
        border-radius: 15px;
    }

    .rml-captcha-fields {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .rml-captcha-card .captchaimage {
        width: 138px;
    }
}

/* Homepage proof section: balanced two-item commitments */
.rml-home .rml-proof .rml-guarantees-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rml-home .rml-proof .rml-guarantees-two > div { border-bottom: 0; }

@media (max-width: 620px) {
    .rml-home .rml-proof .rml-guarantees-two { grid-template-columns: 1fr; }
    .rml-home .rml-proof .rml-guarantees-two > div { border-right: 0; border-bottom: 1px solid #dfe6e0; }
    .rml-home .rml-proof .rml-guarantees-two > div:last-child { border-bottom: 0; }
}

/* Confirmação da verificação de email RM Leonis. */
.rml-email-verify-page { width: 100%; padding: 55px 18px 78px; }
.rml-email-verify-card { width: min(680px, 100%); margin: 0 auto; padding: 52px 58px 56px; overflow: hidden; border: 1px solid #dce5dd; border-radius: 23px; background: #fff; box-shadow: 0 28px 75px rgba(17, 38, 22, .13); text-align: center; }
.rml-email-verify-eyebrow { margin: 0 0 22px; color: #659b31; font-size: 12px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.rml-email-verify-icon { width: 68px; height: 68px; display: grid; place-items: center; margin: 0 auto 22px; border-radius: 50%; font-size: 25px; }
.rml-email-verify-icon-success { color: #172410; background: #9ee63f; box-shadow: 0 0 0 9px rgba(158, 230, 63, .13); }
.rml-email-verify-icon-warning { color: #6b4d0c; background: #fff1c9; box-shadow: 0 0 0 9px rgba(242, 185, 65, .12); }
.rml-email-verify-icon-error { color: #8a2929; background: #fde1e1; box-shadow: 0 0 0 9px rgba(211, 73, 73, .1); }
.rml-email-verify-title { margin: 0 auto 14px; color: #121b15; font-size: clamp(28px, 4vw, 36px); font-weight: 840; line-height: 1.15; letter-spacing: -.035em; }
.rml-email-verify-copy { max-width: 500px; margin: 0 auto; color: #707b72; font-size: 15px; line-height: 1.7; }
.rml-email-verify-resend { margin-top: 12px; border: 1px solid #cbd8cc; border-radius: 11px; color: #273329; background: #f7faf7; font-weight: 800; }
.rml-email-verify-resend:hover, .rml-email-verify-resend:focus { border-color: #9ee63f; color: #172410; background: #effbdd; }
.rml-email-verify-actions { display: flex; justify-content: center; margin-top: 30px; }
.rml-email-verify-button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 11px; padding: 14px 24px; border-radius: 11px; color: #10180d; background: #9ee63f; font-weight: 850; line-height: 1.2; text-decoration: none; transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.rml-email-verify-button:hover, .rml-email-verify-button:focus { color: #10180d; background: #aff552; box-shadow: 0 12px 25px rgba(118, 201, 31, .22); text-decoration: none; transform: translateY(-1px); }

@media (max-width: 575.98px) {
    .rml-email-verify-page { padding: 30px 12px 55px; }
    .rml-email-verify-card { padding: 38px 22px 42px; border-radius: 18px; }
    .rml-email-verify-title { font-size: 27px; }
    .rml-email-verify-actions, .rml-email-verify-button, .rml-email-verify-resend { width: 100%; }
}

/* Foco visível dos componentes personalizados RM Leonis. */
header.header .navbar-brand:focus-visible,
header.header .main-navbar-wrapper .navbar-nav a:focus-visible,
header.header .dropdown-toggle:focus-visible,
header.header .dropdown-item:focus-visible,
header.header .toolbar .nav-link:focus-visible,
header.header .topbar .btn:focus-visible,
.rml-btn:focus-visible,
.rml-text-link:focus-visible,
.rml-footer-logo:focus-visible,
.rml-footer-contact:focus-visible,
.rml-complaints-book:focus-visible,
.rml-cookie-manage:focus-visible,
.rml-cookie-copy a:focus-visible,
.rml-cookie-actions .btn:focus-visible {
    outline: 3px solid rgba(158, 230, 63, .8);
    outline-offset: 3px;
    box-shadow: 0 0 0 2px rgba(8, 12, 9, .75);
}

/* Tipografia local RM Leonis. Open Sans permanece como fallback temporário. */
body {
    font-family: "Inter", "Open Sans", sans-serif;
}

h1,
h2,
h3 {
    font-family: "Manrope", "Inter", "Open Sans", sans-serif;
}

/* Manrope termina em 800: impedir pesos fora do eixo nos headings. */
h1 {
    font-weight: 800 !important;
}

h2,
h3 {
    font-weight: 700 !important;
}

.rml-section-heading h2,
.rml-why h2,
.rml-service-page .rml-server-use-cases-heading h2,
.rml-service-page .rml-server-unmanaged h2,
.rml-service-page .rml-server-cta h2,
.rml-store-split-copy h2,
.rml-store-demo-copy h2,
.rml-store-cta h2,
.rml-cta h2,
.rml-support-platforms h2,
.rml-support-conditions h2,
.rml-support-cta h2 {
    font-weight: 800 !important;
}

/* Exceção editorial existente nas páginas jurídicas. */
.rml-legal-content h2 {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 750 !important;
}
/* Servidores Dedicados — implementação fiel ao mockup aprovado */
html:has(.rml-server-page),
body:has(.rml-server-page) {
    overflow-x: clip;
}

.rml-server-page {
    --rml-server-bg: #030604;
    --rml-server-panel: #0b100d;
    --rml-server-line: rgba(255,255,255,.12);
    --rml-server-muted: #9da79f;
    left: 50%;
    width: 100vw;
    max-width: 100vw;
    margin-left: -50vw;
    background: var(--rml-server-bg);
}

.rml-server-page .rml-server-hero {
    position: relative;
    min-height: 610px;
    overflow: hidden;
    background:
        radial-gradient(circle at 78% 42%, rgba(154,225,54,.095), transparent 30%),
        linear-gradient(90deg, rgba(2,4,3,.98) 0%, rgba(2,4,3,.92) 34%, rgba(2,4,3,.48) 55%, rgba(2,4,3,.08) 100%),
        url('../img/servidores-dedicados/herodedi.webp') center right / cover no-repeat;
}

.rml-server-page .rml-server-hero::after {
    position: absolute;
    right: -8%;
    bottom: -145px;
    width: 68%;
    height: 310px;
    opacity: .34;
    background-image:
        linear-gradient(rgba(158,230,63,.13) 1px, transparent 1px),
        linear-gradient(90deg, rgba(158,230,63,.13) 1px, transparent 1px);
    background-size: 42px 42px;
    content: "";
    transform: perspective(520px) rotateX(62deg);
    transform-origin: bottom;
    pointer-events: none;
}

.rml-server-page .rml-server-hero-gridlines {
    position: absolute;
    inset: 0 0 auto 44%;
    height: 100%;
    opacity: .32;
    background-image:
        linear-gradient(rgba(255,255,255,.038) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.038) 1px, transparent 1px);
    background-size: 46px 46px;
    mask-image: linear-gradient(to right, transparent, #000 24%, #000 76%, transparent);
    pointer-events: none;
}

.rml-server-page .rml-server-hero-layout {
    position: relative;
    z-index: 2;
    min-height: 610px;
    display: grid;
    grid-template-columns: minmax(0,.92fr) minmax(540px,1.08fr);
    align-items: center;
    gap: clamp(30px,4vw,58px);
    padding-top: 52px;
    padding-bottom: 40px;
}

.rml-server-page .rml-server-hero-copy {
    position: relative;
    z-index: 3;
    padding-top: 8px;
}

.rml-server-page .rml-server-hero-copy .rml-eyebrow {
    margin-bottom: 22px;
    font-size: 11px;
    letter-spacing: .13em;
}

.rml-server-page .rml-server-hero-copy h1 {
    max-width: 620px;
    margin: 0;
    color: #f6f8f6;
    font-size: clamp(46px,4.1vw,58px);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.rml-server-page .rml-server-hero-copy h1 span { color: var(--rml-green); }
.rml-server-page .rml-server-hero-copy .rml-hero-copy {
    max-width: 520px;
    margin: 25px 0 0;
    color: #b4bcb6;
    font-size: 16px;
    line-height: 1.72;
}

.rml-server-page .rml-server-hero-copy .rml-hero-actions {
    flex-wrap: nowrap;
    margin-top: 32px;
    gap: 12px;
}

.rml-server-page .rml-server-hero-copy .rml-btn {
    min-height: 52px;
    padding-right: 18px;
    padding-left: 18px;
    font-size: 12px;
    white-space: nowrap;
}

.rml-server-page .rml-server-hero-system {
    position: relative;
    min-height: 490px;
    align-self: end;
}

.rml-server-page .rml-server-illustrative-label {
    position: absolute;
    top: 27px;
    right: 3px;
    z-index: 5;
    color: #6f7c72;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.rml-server-page .rml-server-rack-figure {
    position: absolute;
    bottom: 2px;
    left: 2%;
    z-index: 2;
    width: 57%;
    height: 485px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    filter: drop-shadow(25px 25px 24px rgba(0,0,0,.56));
}

.rml-server-page .rml-server-rack-figure img {
    width: auto;
    max-width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
}

.rml-server-page .rml-server-connector {
    position: absolute;
    top: 48%;
    left: 53%;
    z-index: 1;
    width: 15%;
    height: 96px;
    border-top: 1px solid rgba(158,230,63,.7);
    border-right: 1px solid rgba(158,230,63,.7);
    border-bottom: 1px solid rgba(158,230,63,.7);
    border-radius: 0 12px 12px 0;
}

.rml-server-page .rml-server-connector::before,
.rml-server-page .rml-server-connector::after {
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--rml-green);
    box-shadow: 0 0 10px rgba(158,230,63,.6);
    content: "";
}

.rml-server-page .rml-server-connector::before { top: -3px; left: -3px; }
.rml-server-page .rml-server-connector::after { right: -3px; bottom: -3px; }
.rml-server-page .rml-server-monitor {
    position: absolute;
    top: 58px;
    right: 0;
    z-index: 4;
    width: 254px;
    padding: 20px 16px 16px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 10px;
    background: rgba(9,13,10,.94);
    box-shadow: 0 28px 65px rgba(0,0,0,.44);
    backdrop-filter: blur(8px);
}

.rml-server-page .rml-server-monitor-heading {
    display: grid;
    grid-template-columns: 10px 1fr;
    align-items: center;
    gap: 8px;
    padding: 0 3px 13px;
}

.rml-server-page .rml-server-monitor-heading .rml-status-dot { width: 7px; height: 7px; }
.rml-server-page .rml-server-monitor-heading strong { color: #f0f4f1; font-size: 13px; }
.rml-server-page .rml-server-monitor-heading small {
    grid-column: 2;
    margin-top: -5px;
    color: #667169;
    font-size: 8.5px;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.rml-server-page .rml-server-monitor-list { display: grid; gap: 9px; }
.rml-server-page .rml-server-monitor-list > div {
    display: grid;
    grid-template-columns: 36px 1fr;
    align-items: center;
    gap: 10px;
    padding: 11px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
    transition: border-color .18s ease, transform .18s ease;
}

.rml-server-page .rml-server-monitor-list > div:hover {
    border-color: rgba(158,230,63,.22);
    transform: translateX(-2px);
}

.rml-server-page .rml-server-monitor-list i {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: var(--rml-green);
    background: rgba(158,230,63,.07);
    font-size: 12px;
}

.rml-server-page .rml-server-monitor-list span { color: #e3e8e4; font-size: 11px; line-height: 1.35; }
.rml-server-page .rml-server-monitor-list small { display: block; margin-top: 3px; color: #b5ed70; font-size: 9.5px; line-height: 1.3; }

.rml-server-page .rml-server-facts {
    position: relative;
    z-index: 4;
    border-top: 1px solid rgba(158,230,63,.14);
    border-bottom: 1px solid rgba(158,230,63,.14);
    color: #fff;
    background: #070b08;
}

.rml-server-page .rml-server-facts .rml-container {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
}

.rml-server-page .rml-server-facts .rml-container > div {
    min-width: 0;
    display: grid;
    grid-template-columns: 42px 1fr;
    align-items: center;
    gap: 13px;
    padding: 24px 22px;
    border-right: 1px solid rgba(255,255,255,.1);
}

.rml-server-page .rml-server-facts .rml-container > div:first-child { padding-left: 0; }
.rml-server-page .rml-server-facts .rml-container > div:last-child { padding-right: 0; border-right: 0; }
.rml-server-page .rml-server-facts i { color: var(--rml-green); font-size: 23px; text-align: center; }
.rml-server-page .rml-server-facts strong { display: block; margin-bottom: 4px; color: #eef3ef; font-size: 12.5px; }
.rml-server-page .rml-server-facts span { color: #9da79f; font-size: 11px; line-height: 1.5; }

.rml-server-page .rml-server-use-cases {
    padding: 64px 0 68px;
    color: #172019;
    background: #f4f5f3;
}

.rml-server-page .rml-server-use-cases-heading { margin: 0 0 42px; text-align: left; }
.rml-server-page .rml-server-use-cases-heading h2 {
    margin: 0;
    color: #121713;
    font-size: clamp(32px,3.25vw,44px);
    line-height: 1.12;
    letter-spacing: -.035em;
}

.rml-server-page .rml-server-use-cases-heading h2 span { color: #69a72f; }
.rml-server-page .rml-server-use-case-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: clamp(34px,5vw,76px);
    border: 0;
}

.rml-server-page .rml-server-use-case {
    display: grid;
    grid-template-columns: 54px 1fr;
    align-items: start;
    gap: 18px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.rml-server-page .rml-server-use-case-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border: 0;
    color: #6dab31;
    background: transparent;
    font-size: 31px;
}

.rml-server-page .rml-server-use-case h3 { margin: 2px 0 9px; color: #19201a; font-size: 15px; }
.rml-server-page .rml-server-use-case p { margin: 0; color: #59635b; font-size: 12px; line-height: 1.7; }

.rml-server-page .rml-server-configurations {
    position: relative;
    padding: 72px 0 78px;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 77% 24%, rgba(158,230,63,.055), transparent 31%),
        #050806;
}

.rml-server-page .rml-server-configurations-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 26px;
}

.rml-server-page .rml-server-configurations-heading h2 { margin: 0 0 8px; color: #f3f6f4; font-size: clamp(30px,3vw,40px); }
.rml-server-page .rml-server-configurations-heading p { max-width: 720px; margin: 0; color: #aab4ac; font-size: 13px; line-height: 1.65; }
.rml-server-page .rml-server-configurations-heading .rml-text-link { flex: 0 0 auto; color: var(--rml-green); font-size: 12px; }
.rml-server-page .rml-server-configurable-grid {
    display: grid;
    grid-template-columns: repeat(6,minmax(0,1fr));
    border-top: 1px solid rgba(255,255,255,.14);
    border-bottom: 1px solid rgba(255,255,255,.14);
}

.rml-server-page .rml-server-configurable-grid > div {
    min-width: 0;
    min-height: 112px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 13px;
    padding: 20px 12px;
    border-right: 1px solid rgba(255,255,255,.1);
    color: #dce3de;
    text-align: center;
}

.rml-server-page .rml-server-configurable-grid > div:last-child { border-right: 0; }
.rml-server-page .rml-server-configurable-grid i { color: var(--rml-green); font-size: 25px; }
.rml-server-page .rml-server-configurable-grid span { font-size: 13px; font-weight: 650; line-height: 1.35; }

.rml-server-page .rml-server-unmanaged {
    padding: 72px 0 26px;
    color: #fff;
    background: #030604;
}

.rml-server-page .rml-server-unmanaged-heading { max-width: 760px; margin: 0 0 30px; text-align: left; }
.rml-server-page .rml-server-unmanaged-heading h2 { margin: 0 0 6px; color: #f2f5f3; font-size: clamp(30px,3vw,40px); }
.rml-server-page .rml-server-unmanaged-heading p { margin: 0; color: #aab4ac; font-size: 13px; line-height: 1.6; }
.rml-server-page .rml-server-responsibilities {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0,1fr) 90px minmax(0,1fr);
    align-items: center;
    gap: 20px;
}

.rml-server-page .rml-server-responsibility-card {
    position: relative;
    min-height: 315px;
    padding: 28px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 8px;
    background: linear-gradient(145deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
}

.rml-server-page .rml-server-responsibility-title { margin-bottom: 20px; }
.rml-server-page .rml-server-responsibility-title i {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
    border: 0;
    color: var(--rml-green);
    background: transparent;
    font-size: 21px;
}

.rml-server-page .rml-server-responsibility-title h3 { color: var(--rml-green); font-size: 17px; }
.rml-server-page .rml-server-responsibility-card ul { gap: 8px; }
.rml-server-page .rml-server-responsibility-card li { color: #b8c1ba; font-size: 13px; line-height: 1.55; }
.rml-server-page .rml-server-responsibility-card li::before { color: var(--rml-green); }
.rml-server-page .rml-server-responsibility-meter {
    position: relative;
    z-index: 3;
    width: 90px;
    height: 90px;
    display: grid;
    place-items: center;
    margin: 0 -8px;
    border: 1px solid rgba(158,230,63,.72);
    border-radius: 50%;
    background: #050906;
    box-shadow: 0 0 0 12px rgba(255,255,255,.035), 0 0 0 13px rgba(255,255,255,.11);
}

.rml-server-page .rml-server-responsibility-meter::before {
    position: absolute;
    inset: -17px;
    border-top: 1px solid var(--rml-green);
    border-right: 1px solid transparent;
    border-radius: 50%;
    content: "";
    transform: rotate(28deg);
}

.rml-server-page .rml-server-responsibility-meter::after {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: -1;
    width: 1px;
    height: 370px;
    background: linear-gradient(transparent, rgba(255,255,255,.18) 15%, rgba(255,255,255,.18) 85%, transparent);
    content: "";
    transform: translate(-50%,-50%);
}

.rml-server-page .rml-server-responsibility-meter span {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 50%;
    color: var(--rml-green);
    background: #0b100c;
    font-size: 20px;
}

.rml-server-page .rml-server-unmanaged .rml-text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    color: var(--rml-green);
    font-size: 12.5px;
    font-weight: 650;
    line-height: 1.5;
}

.rml-server-page .rml-server-process {
    padding: 58px 0 64px;
    border-top: 1px solid rgba(255,255,255,.08);
    color: #fff;
    background: #030604;
}

.rml-server-page .rml-server-process h2 { margin: 0 0 32px; color: #f3f6f4; font-size: clamp(26px,2.6vw,34px); }
.rml-server-page .rml-server-process-steps {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 36px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.rml-server-page .rml-server-process-steps li { position: relative; min-width: 0; }
.rml-server-page .rml-server-process-steps li:not(:last-child)::after {
    position: absolute;
    top: 23px;
    right: -25px;
    color: #dce3de;
    content: "→";
    font-size: 21px;
}

.rml-server-page .rml-server-process-steps i { display: block; margin-bottom: 13px; color: var(--rml-green); font-size: 28px; }
.rml-server-page .rml-server-process-steps h3 { margin: 0 0 8px; color: #f0f4f1; font-size: 14px; }
.rml-server-page .rml-server-process-steps p { margin: 0; color: #adb6af; font-size: 12px; line-height: 1.6; }

.rml-server-page .rml-server-lower {
    padding: 58px 0 62px;
    border-top: 1px solid rgba(255,255,255,.08);
    color: #fff;
    background: #040705;
}

.rml-server-page .rml-server-lower-grid {
    display: grid;
    grid-template-columns: minmax(270px,.72fr) minmax(0,1.28fr);
    gap: clamp(50px,7vw,100px);
}

.rml-server-page .rml-server-addons-compact { padding-right: 48px; border-right: 1px solid rgba(255,255,255,.11); }
.rml-server-page .rml-server-addons-compact h2,
.rml-server-page .rml-server-faq-compact h2 { margin: 0 0 18px; color: #f1f5f2; font-size: 25px; }

.rml-server-page .rml-server-addons-compact > p { margin: -8px 0 20px; color: #a5afa7; font-size: 12px; line-height: 1.6; }
.rml-server-page .rml-server-addons-compact ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.rml-server-page .rml-server-addons-compact li { display: grid; grid-template-columns: 20px 1fr; gap: 10px; color: #bec7c0; font-size: 12.5px; line-height: 1.55; }
.rml-server-page .rml-server-addons-compact li i { margin-top: 3px; color: var(--rml-green); font-size: 14px; }
.rml-server-page .rml-server-addons-compact li strong { display: block; margin-bottom: 3px; color: #eef2ef; font-weight: 700; }
.rml-server-page .rml-server-faq-compact .rml-accordion .card {
    margin-bottom: 6px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 6px;
    background: rgba(255,255,255,.045);
    box-shadow: none;
}

.rml-server-page .rml-server-faq-compact .rml-accordion .card:has(.btn-link[aria-expanded="true"]) {
    border-color: rgba(158,230,63,.25);
    box-shadow: none;
}

.rml-server-page .rml-server-faq-compact .rml-accordion .btn-link {
    min-height: 40px;
    padding: 9px 14px;
    color: #dce2de;
    font-size: 12.5px;
    font-weight: 550;
}

.rml-server-page .rml-server-faq-compact .rml-accordion .btn-link:hover { color: #fff; background: rgba(255,255,255,.035); }
.rml-server-page .rml-server-faq-compact .rml-accordion .btn-link i {
    width: 22px;
    height: 22px;
    flex-basis: 22px;
    border: 0;
    color: #aab4ac;
    background: transparent;
    font-size: 9px;
}

.rml-server-page .rml-server-faq-compact .rml-accordion .btn-link[aria-expanded="true"] i { color: var(--rml-green); background: transparent; }
.rml-server-page .rml-server-faq-compact .rml-accordion .card-body { max-width: 720px; padding: 0 14px 14px; color: #b6bfb8; font-size: 12px; line-height: 1.65; }

.rml-server-page .rml-server-cta {
    position: relative;
    overflow: hidden;
    padding: 34px 0;
    border-top: 1px solid rgba(158,230,63,.16);
    color: #fff;
    background:
        radial-gradient(circle at 82% 50%, rgba(158,230,63,.22), transparent 30%),
        linear-gradient(90deg,#0b100c,#101a0c 70%,#19280d);
}

.rml-server-page .rml-server-cta .rml-container {
    display: grid;
    grid-template-columns: 82px minmax(280px,1fr) auto;
    align-items: center;
    gap: 28px;
}

.rml-server-page .rml-server-cta-mark {
    position: relative;
    width: 76px;
    height: 76px;
    display: grid;
    place-items: center;
    overflow: visible;
    border: 0;
    background: transparent;
}

.rml-server-page .rml-server-cta-mark img {
    position: relative;
    z-index: 1;
    width: 68px;
    max-width: 90%;
    height: auto;
    object-fit: contain;
}

.rml-server-page .rml-server-cta-copy h2 {
    max-width: 520px;
    margin: 0;
    color: #fff;
    font-size: clamp(28px,3vw,40px);
    line-height: 1.08;
    letter-spacing: -.04em;
}

.rml-server-page .rml-server-cta-actions { display: flex; flex-direction: row; gap: 12px; }
.rml-server-page .rml-server-cta-actions .rml-btn { min-height: 48px; justify-content: center; white-space: nowrap; }
.rml-server-page .rml-btn:focus-visible,
.rml-server-page .rml-text-link:focus-visible,
.rml-server-page .rml-accordion button:focus-visible { outline: 2px solid rgba(158,230,63,.9); outline-offset: 3px; }

@media (max-width: 1199px) {
    .rml-server-page .rml-server-hero-layout { grid-template-columns: minmax(0,.9fr) minmax(500px,1.1fr); gap: 20px; }
    .rml-server-page .rml-server-rack-figure { left: 0; width: 58%; }
    .rml-server-page .rml-server-monitor { width: 228px; }
    .rml-server-page .rml-server-facts .rml-container { grid-template-columns: repeat(2,1fr); }
    .rml-server-page .rml-server-facts .rml-container > div:nth-child(2) { border-right: 0; }
    .rml-server-page .rml-server-facts .rml-container > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.1); }
    .rml-server-page .rml-server-cta .rml-container { grid-template-columns: 72px 1fr; }
    .rml-server-page .rml-server-cta-actions { grid-column: 2; }
}

@media (max-width: 991px) {
    .rml-server-page .rml-server-hero-layout { min-height: 0; grid-template-columns: 1fr; padding-top: 68px; }
    .rml-server-page .rml-server-hero-copy { max-width: 720px; }
    .rml-server-page .rml-server-hero-system { width: min(680px,100%); min-height: 520px; }
    .rml-server-page .rml-server-use-case-grid { gap: 35px; }
    .rml-server-page .rml-server-use-case { grid-template-columns: 44px 1fr; gap: 12px; }
    .rml-server-page .rml-server-use-case-icon { width: 40px; font-size: 25px; }
    .rml-server-page .rml-server-configurable-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .rml-server-page .rml-server-configurable-grid > div:nth-child(3) { border-right: 0; }
    .rml-server-page .rml-server-configurable-grid > div:nth-child(-n+3) { border-bottom: 1px solid rgba(255,255,255,.1); }
    .rml-server-page .rml-server-responsibilities { grid-template-columns: 1fr; gap: 14px; }
    .rml-server-page .rml-server-responsibility-card { min-height: 0; }
    .rml-server-page .rml-server-responsibility-meter { width: 68px; height: 68px; margin: -25px auto; transform: rotate(90deg); }
    .rml-server-page .rml-server-responsibility-meter span { transform: rotate(-90deg); }
    .rml-server-page .rml-server-responsibility-meter::after { display: none; }
    .rml-server-page .rml-server-process-steps { grid-template-columns: repeat(5,minmax(120px,1fr)); overflow-x: auto; padding-bottom: 10px; }
    .rml-server-page .rml-server-lower-grid { grid-template-columns: 1fr; gap: 42px; }
    .rml-server-page .rml-server-addons-compact { padding-right: 0; padding-bottom: 38px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.11); }
}

@media (max-width: 767px) {
    .rml-server-page .rml-server-hero-layout { padding-top: 50px; padding-bottom: 35px; }
    .rml-server-page .rml-server-hero-copy h1 { font-size: clamp(36px,10vw,48px); }
    .rml-server-page .rml-server-hero-copy .rml-hero-copy { font-size: 15px; }
    .rml-server-page .rml-server-hero-copy .rml-hero-actions { align-items: stretch; flex-direction: column; }
    .rml-server-page .rml-server-hero-copy .rml-btn { width: 100%; }
    .rml-server-page .rml-server-hero-system { min-height: 430px; }
    .rml-server-page .rml-server-rack-figure { width: 59%; height: 425px; }
    .rml-server-page .rml-server-monitor { top: 60px; width: 205px; padding: 16px 13px 13px; }
    .rml-server-page .rml-server-monitor-list > div { grid-template-columns: 31px 1fr; gap: 8px; padding: 9px; }
    .rml-server-page .rml-server-monitor-list i { width: 29px; height: 29px; font-size: 10px; }
    .rml-server-page .rml-server-connector { left: 50%; width: 17%; }
    .rml-server-page .rml-server-facts .rml-container { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .rml-server-page .rml-server-facts .rml-container > div,
    .rml-server-page .rml-server-facts .rml-container > div:first-child,
    .rml-server-page .rml-server-facts .rml-container > div:last-child { padding: 17px 12px; border-right: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); }
    .rml-server-page .rml-server-facts .rml-container > div:nth-child(2n) { border-right: 0; }
    .rml-server-page .rml-server-facts .rml-container > div:nth-last-child(-n+2) { border-bottom: 0; }
    .rml-server-page .rml-server-use-cases { padding: 55px 0; }
    .rml-server-page .rml-server-use-cases-heading { margin-bottom: 32px; }
    .rml-server-page .rml-server-use-case-grid { grid-template-columns: 1fr; gap: 27px; }
    .rml-server-page .rml-server-configurations { padding: 55px 0; }
    .rml-server-page .rml-server-configurations-heading { align-items: flex-start; flex-direction: column; gap: 15px; }
    .rml-server-page .rml-server-unmanaged { padding-top: 55px; }
    .rml-server-page .rml-server-process { padding: 48px 0; }
    .rml-server-page .rml-server-process-steps { grid-template-columns: 1fr; gap: 27px; overflow: visible; padding-left: 38px; }
    .rml-server-page .rml-server-process-steps li:not(:last-child)::after { top: auto; right: auto; bottom: -24px; left: 11px; content: "↓"; }
    .rml-server-page .rml-server-process-steps i { position: absolute; top: 0; left: -38px; }
    .rml-server-page .rml-server-lower { padding: 48px 0; }
    .rml-server-page .rml-server-cta .rml-container { grid-template-columns: 58px 1fr; gap: 18px; }
    .rml-server-page .rml-server-cta-mark { width: 58px; height: 62px; }
    .rml-server-page .rml-server-cta-mark img { width: 52px; }
    .rml-server-page .rml-server-cta-actions { grid-column: 1 / -1; flex-direction: column; width: 100%; }
    .rml-server-page .rml-server-cta-actions .rml-btn { width: 100%; }
}

@media (max-width: 575px) {
    .rml-server-page .rml-server-hero-copy h1 { font-size: 35px; }
    .rml-server-page .rml-server-hero-system { min-height: 350px; }
    .rml-server-page .rml-server-rack-figure { left: -6%; width: 62%; height: 350px; }
    .rml-server-page .rml-server-monitor { top: 46px; right: -2px; width: 178px; padding: 14px 11px 11px; }
    .rml-server-page .rml-server-monitor-list { gap: 6px; }
    .rml-server-page .rml-server-monitor-list > div { grid-template-columns: 26px 1fr; gap: 7px; padding: 7px; }
    .rml-server-page .rml-server-monitor-list i { width: 24px; height: 24px; font-size: 9px; }
    .rml-server-page .rml-server-monitor-list span { font-size: 9.5px; }
    .rml-server-page .rml-server-monitor-list small { font-size: 8.5px; }
    .rml-server-page .rml-server-connector { top: 48%; left: 45%; width: 20%; height: 82px; }
    .rml-server-page .rml-server-facts .rml-container { grid-template-columns: 1fr; }
    .rml-server-page .rml-server-facts .rml-container > div,
    .rml-server-page .rml-server-facts .rml-container > div:first-child,
    .rml-server-page .rml-server-facts .rml-container > div:last-child,
    .rml-server-page .rml-server-facts .rml-container > div:nth-child(2n),
    .rml-server-page .rml-server-facts .rml-container > div:nth-last-child(-n+2) { padding: 15px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
    .rml-server-page .rml-server-facts .rml-container > div:last-child { border-bottom: 0; }
    .rml-server-page .rml-server-responsibility-card { padding: 22px 20px; }
    .rml-server-page .rml-server-configurable-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .rml-server-page .rml-server-configurable-grid > div { min-height: 96px; padding: 16px 8px; }
    .rml-server-page .rml-server-configurable-grid > div:nth-child(3) { border-right: 1px solid rgba(255,255,255,.1); }
    .rml-server-page .rml-server-configurable-grid > div:nth-child(2n) { border-right: 0; }
    .rml-server-page .rml-server-configurable-grid > div:nth-child(-n+4) { border-bottom: 1px solid rgba(255,255,255,.1); }
    .rml-server-page .rml-server-cta-copy h2 { font-size: 27px; }
}

@media (max-width: 374px) {
    .rml-server-page .rml-server-hero-copy h1 { font-size: 32px; }
    .rml-server-page .rml-server-hero-system { min-height: 310px; }
    .rml-server-page .rml-server-rack-figure { width: 60%; height: 310px; }
    .rml-server-page .rml-server-monitor { top: 40px; width: 158px; padding: 12px 9px 9px; }
    .rml-server-page .rml-server-illustrative-label { display: none; }
    .rml-server-page .rml-server-cta .rml-container { grid-template-columns: 48px 1fr; gap: 12px; }
    .rml-server-page .rml-server-cta-mark { width: 48px; height: 54px; }
    .rml-server-page .rml-server-cta-mark img { width: 44px; }
}

@media (prefers-reduced-motion: reduce) {
    .rml-server-page *,
    .rml-server-page *::before,
    .rml-server-page *::after {
        scroll-behavior: auto;
        transition: none;
        animation: none;
    }
}

/* Área de cliente: faturação e suporte no portal autenticado */
.rml-client-portal-page .rml-invoices-page,
.rml-client-portal-page .rml-tickets-page,
.rml-client-portal-page .rml-ticket-detail-page { padding-bottom: 18px; }

.rml-client-portal-page .rml-invoices-page .table-container,
.rml-client-portal-page .rml-tickets-page .table-container {
    padding: 18px;
    border-color: #e7dfd0;
    border-radius: 16px;
    box-shadow: 0 10px 28px rgba(6,25,37,.055);
}

.rml-client-portal-page .rml-invoices-page .dataTables_wrapper > .row:first-child,
.rml-client-portal-page .rml-tickets-page .dataTables_wrapper > .row:first-child {
    align-items: center;
    margin-bottom: 15px;
}

.rml-client-portal-page .rml-invoices-page .dataTables_filter input,
.rml-client-portal-page .rml-invoices-page .dataTables_length select,
.rml-client-portal-page .rml-tickets-page .dataTables_filter input,
.rml-client-portal-page .rml-tickets-page .dataTables_length select {
    min-height: 41px;
    border-color: #e7dfd0;
    border-radius: 9px;
    background: #faf9f6;
}

.rml-client-portal-page .rml-invoices-page table.table-list,
.rml-client-portal-page .rml-tickets-page table.table-list {
    margin-bottom: 4px !important;
    border: 0;
    border-radius: 11px;
}

.rml-client-portal-page .rml-invoices-page table.table-list thead th,
.rml-client-portal-page .rml-tickets-page table.table-list thead th,
.rml-client-portal-page .rml-invoices-page table.table-list thead th.sorting,
.rml-client-portal-page .rml-tickets-page table.table-list thead th.sorting {
    color: #506582 !important;
    background: #faf9f6 !important;
}

.rml-client-portal-page .rml-invoices-page table.table-list tbody tr,
.rml-client-portal-page .rml-tickets-page table.table-list tbody tr { transition: background-color .16s ease; }

.rml-client-portal-page .rml-invoices-page .label.status,
.rml-client-portal-page .rml-tickets-page .label.status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 9px;
    border: 1px solid currentColor;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.rml-client-portal-page .rml-invoices-page .label.status::before,
.rml-client-portal-page .rml-tickets-page .label.status::before {
    content: "";
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: currentColor;
}

.rml-client-portal-page .rml-ticket-page-action { margin-right: 24px; }
.rml-client-portal-page .rml-ticket-page-action a:focus-visible { outline-color: rgba(70,112,30,.48); }

.rml-client-portal-page .rml-ticket-detail-page .view-ticket,
.rml-client-portal-page .rml-ticket-detail-page #ticketReplyContainer {
    border-color: #d9e2da;
    box-shadow: 0 10px 28px rgba(25,42,29,.055);
}

.rml-client-portal-page .rml-ticket-detail-page .view-ticket > .card-body:first-child {
    background: radial-gradient(circle at 90% 0, rgba(158,230,63,.16), transparent 34%), #111813;
}

.rml-client-portal-page .rml-ticket-detail-page .attachment-list a:focus-visible,
.rml-client-portal-page .rml-ticket-detail-page .ticket-actions button:focus-visible { outline-offset: 3px; }

.rml-client-portal-page .rml-ticket-page {
    width: 100%;
    max-width: 1120px;
    left: auto;
    margin: 0 auto 28px;
}

.rml-client-portal-page .rml-ticket-departments,
.rml-client-portal-page .rml-ticket-support-page { color: #0b2344; }

@media (max-width: 767px) {
    .rml-client-portal-page .rml-invoices-page .table-container,
    .rml-client-portal-page .rml-tickets-page .table-container { padding: 12px; }

    .rml-client-portal-page .rml-invoices-page .dataTables_wrapper > .row:first-child > div,
    .rml-client-portal-page .rml-tickets-page .dataTables_wrapper > .row:first-child > div { width: 100%; }

    .rml-client-portal-page .rml-invoices-page .dataTables_filter,
    .rml-client-portal-page .rml-tickets-page .dataTables_filter { margin-top: 10px; text-align: left; }

    .rml-client-portal-page .rml-invoices-page .dataTables_filter input,
    .rml-client-portal-page .rml-tickets-page .dataTables_filter input { width: 100%; margin: 6px 0 0; }

    .rml-client-portal-page .rml-ticket-detail-page .view-ticket > .card-body:not(:first-child) { padding: 14px !important; }
    .rml-client-portal-page .rml-ticket-page { margin-bottom: 18px; }
}

/* Lojas Online — composição específica da página */
html:has(.rml-store-page),
body:has(.rml-store-page) { overflow-x: clip; }
.rml-store-page { --store-ink: #070a08; --store-green: #9ee63f; --store-paper: #f7f7f4; left: 50%; width: 100vw; max-width: 100vw; margin-left: -50vw; overflow-x: hidden; color: #071E2E; background: var(--store-paper); }
.rml-store-page .rml-store-section { padding: clamp(58px, 6vw, 88px) 0; border-top: 1px solid #dfe3df; }
.rml-store-page .rml-store-heading { margin-bottom: 30px; }
.rml-store-page .rml-store-heading h2 { margin: 0 0 7px; color: #101511; font-size: clamp(28px, 3vw, 38px); font-weight: 820; line-height: 1.12; letter-spacing: -.025em; }
.rml-store-page .rml-store-heading p { max-width: 760px; margin: 0; color: #667068; font-size: 15px; line-height: 1.65; }
.rml-store-page .rml-store-hero { position: relative; min-height: 560px; overflow: hidden; color: #fff; background: #050706; }
.rml-store-page .rml-store-gridlines { position: absolute; inset: 0; opacity: .13; background-image: linear-gradient(rgba(22,198,212,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(22,198,212,.09) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(90deg, transparent 20%, #000 65%, transparent); }
.rml-store-page .rml-store-hero-layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(480px,.94fr) minmax(520px,1.06fr); gap: clamp(34px,4vw,62px); align-items: center; min-height: 560px; padding-top: 54px; padding-bottom: 54px; }
.rml-store-page .rml-store-hero-copy h1 { max-width: 620px; margin: 25px 0 24px; color: #fff; font-size: clamp(40px,3vw,44px); font-weight: 780; line-height: 1.08; letter-spacing: -.04em; }
.rml-store-page .rml-store-hero-copy > p { max-width: 540px; margin: 0; color: #c2c8c3; font-size: 18px; line-height: 1.65; }
.rml-store-page .rml-store-hero-copy .rml-hero-actions { display: flex; align-items: center; flex-direction: row; gap: 14px; margin-top: 38px; }
.rml-store-page .rml-store-hero-copy .rml-btn-ghost { color: #fff; border-color: rgba(255,255,255,.42); background: rgba(255,255,255,.035); }
.rml-store-page .rml-store-hero-copy .rml-btn-ghost:hover, .rml-store-page .rml-store-hero-copy .rml-btn-ghost:focus { color: #10170c; border-color: var(--store-green); background: var(--store-green); }
.rml-store-page .rml-store-hero-demo { position: relative; width: min(100%,620px); min-height: 390px; justify-self: end; }
.rml-store-page .rml-store-screen header .rml-store-demo-label { margin-left: 4px; padding: 3px 6px; border-radius: 3px; color: #36551f; background: #eaf8da; font-size: 6px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.rml-store-page .rml-store-laptop { position: absolute; z-index: 2; top: 31px; left: 0; width: 73%; padding: 10px 10px 22px; border: 2px solid #575d59; border-bottom-width: 8px; border-radius: 15px 15px 7px 7px; background: #161a17; box-shadow: 0 30px 50px rgba(0,0,0,.45); }
.rml-store-page .rml-store-laptop::after { position: absolute; right: -7%; bottom: -20px; left: -7%; height: 20px; border-radius: 2px 2px 45% 45%; background: linear-gradient(#a5aaa6,#424744); content: ""; }
.rml-store-page .rml-store-screen { position: relative; aspect-ratio: 16/10; overflow: hidden; color: #1c221d; background: #fff; }
.rml-store-page .rml-store-screen header { height: 36px; display: flex; align-items: center; gap: 16px; padding: 0 14px; border-bottom: 1px solid #e7ebe7; font-size: 7px; }
.rml-store-page .rml-store-screen header strong { margin-right: auto; font-size: 10px; }
.rml-store-page .rml-store-screen header i { color: #4f5b51; }
.rml-store-page .rml-store-product-demo { display: grid; grid-template-columns: 38px 1fr .9fr; gap: 14px; height: calc(100% - 36px); padding: 18px; }
.rml-store-page .rml-store-product-demo aside { display: grid; align-content: start; gap: 7px; }
.rml-store-page .rml-store-product-demo aside i { aspect-ratio: 1; overflow: hidden; border: 1px solid #e3e7e3; border-radius: 3px; background: #f4f6f3; }
.rml-store-page .rml-store-product-demo aside img { width: 100%; height: 100%; display: block; object-fit: cover; }
.rml-store-page .rml-store-product-visual { display: grid; overflow: hidden; place-items: center; border-radius: 5px; background: #f1f3f0; }
.rml-store-page .rml-store-product-visual img { width: 100%; height: 100%; display: block; object-fit: cover; }
.rml-store-page .rml-store-product-info { display: flex; flex-direction: column; padding-top: 10px; }
.rml-store-page .rml-store-product-info small { color: #7b857d; font-size: 7px; text-transform: uppercase; }
.rml-store-page .rml-store-product-info strong { margin: 5px 0 7px; font-size: 12px; }
.rml-store-page .rml-store-product-rating { display: flex; gap: 2px; color: #75aa37; font-size: 5px; }
.rml-store-page .rml-store-product-info p { margin: 10px 0; color: #758077; font-size: 6px; line-height: 1.45; }
.rml-store-page .rml-store-product-options, .rml-store-page .rml-store-mobile-options { display: flex; gap: 5px; }
.rml-store-page .rml-store-product-options i, .rml-store-page .rml-store-mobile-options i { width: 11px; height: 11px; border: 1px solid #cdd4ce; border-radius: 50%; background: #d7c6ad; }
.rml-store-page .rml-store-product-options i:nth-child(2), .rml-store-page .rml-store-mobile-options i:nth-child(2) { background: #69766c; }
.rml-store-page .rml-store-product-options i:nth-child(3), .rml-store-page .rml-store-mobile-options i:nth-child(3) { background: #a5a197; }
.rml-store-page .rml-store-product-info button, .rml-store-page .rml-store-phone-screen button { margin-top: auto; padding: 9px; border: 0; border-radius: 3px; color: #17210f; background: var(--store-green); font-size: 7px; font-weight: 850; pointer-events: none; }
.rml-store-page .rml-store-orders { position: absolute; z-index: 1; top: 94px; right: 0; width: 31%; min-height: 238px; display: grid; grid-template-columns: 30px 1fr; overflow: hidden; border: 1px solid #424944; border-radius: 9px; color: #151b16; background: #f8f8f6; box-shadow: 0 22px 50px rgba(0,0,0,.3); }
.rml-store-page .rml-store-orders-nav { display: grid; align-content: start; gap: 14px; padding: 34px 9px; color: #849087; background: #171d19; font-size: 7px; }
.rml-store-page .rml-store-orders-nav i:nth-child(2) { color: var(--store-green); }
.rml-store-page .rml-store-orders-content { padding: 25px 11px 16px; }
.rml-store-page .rml-store-orders strong { display: block; margin-bottom: 3px; font-size: 12px; }
.rml-store-page .rml-store-orders small { display: block; margin-bottom: 17px; color: #798179; font-size: 6px; text-transform: uppercase; }
.rml-store-page .rml-store-order-head, .rml-store-page .rml-store-order-row { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; padding: 7px 2px; border-top: 1px solid #dfe3df; font-size: 6px; }
.rml-store-page .rml-store-order-head { color: #526875; font-weight: 800; text-transform: uppercase; }
.rml-store-page .rml-store-order-row em { width: max-content; padding: 2px 4px; border-radius: 3px; color: #56802c; background: #edf6e6; font-style: normal; }
.rml-store-page .rml-store-phone { position: absolute; z-index: 4; right: 25%; bottom: 4px; width: 17%; aspect-ratio: 9/18; padding: 6px; overflow: hidden; border: 2px solid #7b817d; border-radius: 15px; background: #111; box-shadow: 0 18px 38px rgba(0,0,0,.4); }
.rml-store-page .rml-store-phone-screen { display: flex; height: 100%; flex-direction: column; padding: 9px 8px; border-radius: 9px; color: #1b211c; background: #fff; }
.rml-store-page .rml-store-phone-screen header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 7px; border-bottom: 1px solid #e7ebe7; font-size: 6px; }
.rml-store-page .rml-store-phone-screen > img { width: 100%; aspect-ratio: 1; margin: 8px 0; border-radius: 4px; object-fit: cover; }
.rml-store-page .rml-store-phone-screen > small { color: #7c877e; font-size: 5px; text-transform: uppercase; }
.rml-store-page .rml-store-phone-screen > strong { margin: 3px 0 7px; font-size: 7px; }
.rml-store-page .rml-store-mobile-options i { width: 8px; height: 8px; }
.rml-store-page .rml-store-facts { background: #fbfbf8; border-bottom: 1px solid #dfe3df; }
.rml-store-page .rml-store-facts .rml-container { display: grid; grid-template-columns: repeat(3,1fr); }
.rml-store-page .rml-store-facts article { display: grid; grid-template-columns: 46px 1fr; gap: 16px; padding: 22px 36px; }
.rml-store-page .rml-store-facts article + article { border-left: 1px solid #e1e5e1; }
.rml-store-page .rml-store-facts i { color: #6da72c; font-size: 29px; }
.rml-store-page .rml-store-facts h2 { margin: 0 0 6px; font-size: 17px; font-weight: 830; line-height: 1.25; }
.rml-store-page .rml-store-facts p { max-width: 300px; margin: 0; color: #606a62; font-size: 13px; line-height: 1.55; }
.rml-store-page .rml-store-offers { background: #f4f6f2; }
.rml-store-page .rml-store-offers-heading > span, .rml-store-page .rml-store-care-copy > span { display: block; margin-bottom: 9px; color: #63982d; font-size: 10px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.rml-store-page .rml-store-offer-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; align-items: stretch; }
.rml-store-page .rml-store-offer-card { position: relative; min-width: 0; display: flex; flex-direction: column; padding: 34px 32px 32px; overflow: hidden; border: 1px solid #d8e1d9; border-radius: 18px; background: #fff; box-shadow: 0 16px 42px rgba(24,42,27,.065); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.rml-store-page .rml-store-offer-card::before { position: absolute; top: 0; right: 0; left: 0; height: 4px; background: #83bd45; content: ""; }
.rml-store-page .rml-store-offer-card.is-featured { z-index: 1; border-color: #a9ce85; background: #fff; box-shadow: 0 22px 52px rgba(68,112,41,.14); transform: translateY(-6px); }
.rml-store-page .rml-store-offer-card.is-featured::before { height: 5px; background: var(--store-green); }
.rml-store-page .rml-store-offer-card.rml-electric-offer-card { overflow: visible; border-radius: 28px; isolation: isolate; }
.rml-store-page .rml-store-offer-card.rml-electric-offer-card::before { display: none; }
.rml-store-page .rml-store-offer-card.rml-electric-offer-card::after { position: absolute; z-index: -1; inset: -4px; border: 1px solid rgba(126,189,61,.28); border-radius: 32px; opacity: .4; box-shadow: 0 0 16px rgba(126,189,61,.11); content: ""; pointer-events: none; transition: opacity .2s ease,box-shadow .2s ease; }
.rml-store-page .rml-electric-offer-canvas { position: absolute; z-index: 3; top: -22px; left: -22px; display: block; width: calc(100% + 44px); height: calc(100% + 44px); overflow: visible; opacity: .62; pointer-events: none; transition: opacity .2s ease; }
.rml-store-page .rml-store-offer-card.rml-electric-offer-card:hover::after,
.rml-store-page .rml-store-offer-card.rml-electric-offer-card:focus-within::after { opacity: .88; box-shadow: 0 0 24px rgba(126,189,61,.2); }
.rml-store-page .rml-store-offer-card.rml-electric-offer-card:hover .rml-electric-offer-canvas,
.rml-store-page .rml-store-offer-card.rml-electric-offer-card:focus-within .rml-electric-offer-canvas { opacity: 1; }
.rml-store-page .rml-store-offer-card.rml-electric-offer-card:hover,
.rml-store-page .rml-store-offer-card.rml-electric-offer-card:focus-within { border-color: rgba(126,189,61,.62); box-shadow: 0 20px 48px rgba(24,42,27,.1),0 0 0 1px rgba(22,198,212,.1),0 0 24px rgba(126,189,61,.09); }
.rml-store-page .rml-store-offer-icon { width: 50px; height: 50px; display: grid; place-items: center; margin-bottom: 25px; border-radius: 14px; color: #3f6d21; background: #e8f4dc; font-size: 19px; }
.rml-store-page .rml-store-offer-card.is-featured .rml-store-offer-icon { color: #17220f; background: var(--store-green); box-shadow: 0 8px 22px rgba(116,181,47,.2); }
.rml-store-page .rml-store-offer-card h3 { min-height: 52px; margin: 0 0 12px; color: #071E2E; font-size: 22px; line-height: 1.22; letter-spacing: -.02em; }
.rml-store-page .rml-store-offer-price { width: max-content; max-width: 100%; margin: 0 0 20px; padding: 8px 12px; border-radius: 9px; color: #3f711d; background: #edf7e4; font-family: "Manrope", "Inter", sans-serif; font-size: 26px; font-weight: 800; line-height: 1.1; }
.rml-store-page .rml-store-offer-card.is-featured .rml-store-offer-price { color: #233d13; background: #dff5c8; }
.rml-store-page .rml-store-offer-copy { margin: 0; color: #626d64; font-size: 13.5px; line-height: 1.72; }
.rml-store-page .rml-store-offer-copy-icon { margin-right: 8px; color: #659c2e; font-size: 11px; }
.rml-store-page .rml-store-offer-card ul { display: grid; flex: 1; align-content: start; gap: 11px; margin: 25px 0 0; padding: 23px 0 0; border-top: 1px solid #dfe5df; list-style: none; }
.rml-store-page .rml-store-offer-card li { position: relative; padding-left: 24px; color: #465148; font-size: 12.5px; line-height: 1.55; }
.rml-store-page .rml-store-offer-card li::before { position: absolute; top: .12em; left: 0; width: 16px; height: 16px; display: grid; place-items: center; border-radius: 50%; color: #315d19; background: #e6f3da; font-family: "Font Awesome 6 Pro"; font-size: 8px; font-weight: 900; content: "\f00c"; }
.rml-store-page .rml-store-offer-card .rml-btn { width: 100%; min-height: 48px; justify-content: center; margin-top: 28px; padding: 13px 18px; }
.rml-store-page .rml-store-offer-card-b2b .rml-btn { margin-top: auto; }
.rml-store-page .rml-store-offer-card:hover { border-color: #b5cdb1; box-shadow: 0 20px 48px rgba(24,42,27,.1); transform: translateY(-3px); }
.rml-store-page .rml-store-offer-card.is-featured:hover { transform: translateY(-8px); }
.rml-store-page .rml-store-offers-note { display: flex; align-items: flex-start; gap: 10px; margin: 20px 0 0; padding: 15px 18px; border: 1px solid #dce3dc; border-radius: 10px; color: #626d64; background: #f3f6f2; font-size: 12px; line-height: 1.6; }
.rml-store-page .rml-store-offers-note i { margin-top: 3px; color: #659c2e; }
.rml-store-page .rml-store-journey, .rml-store-page .rml-store-models, .rml-store-page .rml-store-process, .rml-store-page .rml-store-scope, .rml-store-page .rml-store-faq { background: #fafaf7; }
.rml-store-page .rml-store-journey-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 52px; }
.rml-store-page .rml-store-journey-grid article { position: relative; min-width: 0; }
.rml-store-page .rml-store-journey-grid article:not(:last-child)::after { position: absolute; top: calc(50% + 12px); right: -38px; width: 24px; height: 1px; background: #788079; content: ""; }
.rml-store-page .rml-store-journey-grid article:not(:last-child)::before { position: absolute; z-index: 2; top: calc(50% + 8px); right: -38px; width: 9px; height: 9px; border-top: 1px solid #788079; border-right: 1px solid #788079; content: ""; transform: rotate(45deg); }
.rml-store-page .rml-store-journey-grid h3 { display: flex; align-items: center; gap: 9px; margin: 0 0 14px; font-size: 15px; }
.rml-store-page .rml-store-journey-grid h3 b, .rml-store-page .rml-store-process-flow b { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #7fbf29; font-size: 10px; }
.rml-store-page .rml-store-ui { position: relative; width: 100%; aspect-ratio: 3/4; overflow: hidden; border: 1px solid #cdd4ce; border-radius: 10px; background: #fff; box-shadow: 0 12px 24px rgba(18,29,20,.04); }
.rml-store-page .rml-store-model-screen > span { position: absolute; z-index: 2; top: 10px; left: 50%; padding: 3px 6px; color: #273028; background: rgba(255,255,255,.92); font-size: 8px; font-weight: 800; text-transform: uppercase; transform: translateX(-50%); }
.rml-store-page .rml-store-ui img { width: 100%; height: 100%; display: block; object-fit: cover; }
.rml-store-page .rml-store-cart-demo { display: flex; flex-direction: column; padding: 14px; }
.rml-store-page .rml-store-cart-demo > header { display: flex; align-items: center; justify-content: space-between; padding: 3px 0 12px; border-bottom: 1px solid #e1e5e1; }
.rml-store-page .rml-store-cart-demo > header strong { font-size: 10px; }
.rml-store-page .rml-store-cart-demo > header i { color: #6ca728; font-size: 11px; }
.rml-store-page .rml-store-cart-line { display: grid; grid-template-columns: 54px 1fr; gap: 10px; padding: 12px 0; border-bottom: 1px solid #edf0ed; }
.rml-store-page .rml-store-cart-line > img { width: 54px; height: 54px; border-radius: 4px; object-fit: cover; }
.rml-store-page .rml-store-cart-line > div { display: flex; min-width: 0; flex-direction: column; }
.rml-store-page .rml-store-cart-line strong { overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.rml-store-page .rml-store-cart-line small { margin-top: 3px; color: #7b857d; font-size: 6px; }
.rml-store-page .rml-store-cart-line span { display: flex; align-items: center; gap: 5px; margin-top: auto; }
.rml-store-page .rml-store-cart-line button { width: 16px; height: 16px; padding: 0; border: 1px solid #dce1dc; border-radius: 3px; color: #536057; background: #fff; font-size: 8px; line-height: 14px; pointer-events: none; }
.rml-store-page .rml-store-cart-line em { font-size: 7px; font-style: normal; }
.rml-store-page .rml-store-cart-summary { display: flex; justify-content: space-between; gap: 8px; margin-top: auto; padding: 12px 0; border-top: 1px solid #dce1dc; font-size: 7px; }
.rml-store-page .rml-store-cart-summary strong { text-align: right; }
.rml-store-page .rml-store-cart-next, .rml-store-page .rml-store-b2b-demo button { padding: 10px; border: 0; border-radius: 4px; color: #15200e; background: var(--store-green); font-size: 8px; font-weight: 800; pointer-events: none; }
.rml-store-page .rml-store-integrations { color: #071E2E; background: #f3f4f0; }
.rml-store-page .rml-store-integration-flow { display: grid; grid-template-columns: 1fr 1fr .8fr 1fr 1fr; gap: 30px; align-items: start; }
.rml-store-page .rml-store-integration-flow > * { position: relative; text-align: center; }
.rml-store-page .rml-store-integration-flow > *:not(:last-child)::after { position: absolute; top: 37px; left: calc(50% + 43px); width: calc(100% - 55px); border-top: 1px dashed #75a93d; content: ""; }
.rml-store-page .rml-store-integration-flow i { width: 74px; height: 74px; display: grid; place-items: center; margin: 0 auto 16px; border: 1px solid #cbd4c9; border-radius: 50%; color: #56862a; background: #fff; font-size: 25px; }
.rml-store-page .rml-store-integration-flow h3 { margin: 0 0 7px; font-size: 15px; }
.rml-store-page .rml-store-integration-flow p { margin: 0; color: #566159; font-size: 12px; line-height: 1.55; }
.rml-store-page .rml-store-hub { font-size: 12px; font-weight: 800; }
.rml-store-page .rml-store-hub i { width: 94px; height: 94px; margin-top: -10px; color: #35571d; font-size: 35px; }
.rml-store-page .rml-store-model-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 70px; }
.rml-store-page .rml-store-model-grid > article + article { position: relative; padding-left: 0; }
.rml-store-page .rml-store-model-grid > article + article::before { position: absolute; top: 0; bottom: 0; left: -35px; width: 1px; background: #d9ded9; content: ""; }
.rml-store-page .rml-store-model-grid header { display: flex; gap: 20px; align-items: flex-start; margin-bottom: 24px; }
.rml-store-page .rml-store-model-grid header > i { color: #66a329; font-size: 33px; }
.rml-store-page .rml-store-model-grid h2 { margin: 0 0 5px; font-size: 26px; }
.rml-store-page .rml-store-model-grid p { margin: 0; color: #626c64; font-size: 13px; line-height: 1.55; }
.rml-store-page .rml-store-model-screen { position: relative; aspect-ratio: 16/8; overflow: hidden; border: 1px solid #cdd4ce; border-radius: 10px; background: #fff; }
.rml-store-page .rml-store-model-screen img { width: 100%; height: 100%; object-fit: cover; }
.rml-store-page .rml-store-b2b-demo { display: flex; flex-direction: column; padding: 0; color: #202721; }
.rml-store-page .rml-store-b2b-demo > span { top: 8px; left: 47%; padding: 2px 5px; color: #436026; background: #edf7e5; font-size: 6px; }
.rml-store-page .rml-store-b2b-topbar { min-height: 34px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 15px; padding: 0 12px; border-bottom: 1px solid #e2e6e2; font-size: 6px; }
.rml-store-page .rml-store-b2b-topbar > strong { font-size: 8px; }
.rml-store-page .rml-store-b2b-topbar nav { display: flex; justify-content: center; gap: 13px; color: #526875; }
.rml-store-page .rml-store-b2b-topbar nav a { color: inherit; }
.rml-store-page .rml-store-b2b-topbar > div { display: flex; align-items: center; gap: 4px; color: #536057; }
.rml-store-page .rml-store-b2b-toolbar { display: flex; gap: 7px; padding: 8px 12px; background: #f7f8f6; }
.rml-store-page .rml-store-b2b-toolbar label { display: flex; flex: 1; align-items: center; gap: 6px; padding: 6px 8px; border: 1px solid #dce2dc; border-radius: 3px; color: #526875; background: #fff; font-size: 6px; }
.rml-store-page .rml-store-b2b-toolbar button { margin: 0; padding: 5px 8px; border: 1px solid #dce2dc; color: #566158; background: #fff; font-size: 6px; }
.rml-store-page .rml-store-b2b-layout { display: grid; grid-template-columns: minmax(0,1fr) 112px; gap: 9px; min-height: 0; flex: 1; padding: 0 12px 11px; }
.rml-store-page .rml-store-b2b-table { min-width: 0; border: 1px solid #e0e4e0; border-radius: 4px; }
.rml-store-page .rml-store-b2b-row { display: grid; grid-template-columns: 1.45fr .65fr .8fr .65fr; align-items: center; min-height: 35px; border-top: 1px solid #e8ece8; font-size: 6px; }
.rml-store-page .rml-store-b2b-row:first-child { border-top: 0; }
.rml-store-page .rml-store-b2b-row > span { min-width: 0; padding: 4px 6px; }
.rml-store-page .rml-store-b2b-head { min-height: 22px; color: #778279; background: #f4f6f3; font-size: 5px; font-weight: 800; text-transform: uppercase; }
.rml-store-page .rml-store-b2b-row > span:first-child { display: flex; align-items: center; gap: 6px; }
.rml-store-page .rml-store-b2b-row img { width: 24px; height: 24px; flex: 0 0 24px; border-radius: 3px; object-fit: cover; }
.rml-store-page .rml-store-b2b-row b { overflow: hidden; font-size: 6px; text-overflow: ellipsis; white-space: nowrap; }
.rml-store-page .rml-store-b2b-row em { width: max-content; display: inline-block; padding: 2px 4px; border-radius: 3px; color: #527a2c; background: #edf6e6; font-style: normal; white-space: nowrap; }
.rml-store-page .rml-store-b2b-row > span:last-child { display: flex; align-items: center; gap: 3px; }
.rml-store-page .rml-store-b2b-row > span:last-child button { width: 14px; height: 14px; padding: 0; border: 1px solid #dce2dc; color: #566158; background: #fff; font-size: 6px; line-height: 12px; }
.rml-store-page .rml-store-b2b-row > span:last-child i { font-size: 6px; font-style: normal; }
.rml-store-page .rml-store-b2b-layout aside { display: flex; min-width: 0; flex-direction: column; padding: 10px; border: 1px solid #dce2dc; border-radius: 4px; background: #f7f9f6; }
.rml-store-page .rml-store-b2b-layout aside small { color: #778279; font-size: 5px; text-transform: uppercase; }
.rml-store-page .rml-store-b2b-layout aside strong { margin-top: 5px; font-size: 8px; }
.rml-store-page .rml-store-b2b-layout aside p { margin: 6px 0; color: #6d776f; font-size: 6px; line-height: 1.4; }
.rml-store-page .rml-store-b2b-layout aside button { margin-top: auto; padding: 7px; font-size: 6px; }
.rml-store-page .rml-store-process-flow { display: grid; grid-template-columns: repeat(5,1fr); gap: 40px; padding: 0; margin: 0; list-style: none; }
.rml-store-page .rml-store-process-flow li { position: relative; }
.rml-store-page .rml-store-process-flow li:not(:last-child)::after { position: absolute; top: 72px; right: -27px; width: 18px; height: 1px; background: #788079; content: ""; }
.rml-store-page .rml-store-process-flow li:not(:last-child)::before { position: absolute; z-index: 2; top: 68px; right: -27px; width: 9px; height: 9px; border-top: 1px solid #788079; border-right: 1px solid #788079; content: ""; transform: rotate(45deg); }
.rml-store-page .rml-store-process-flow b { margin-bottom: 18px; }
.rml-store-page .rml-store-process-flow > li > i { display: block; margin-bottom: 20px; color: #527a2c; font-size: 32px; }
.rml-store-page .rml-store-process-flow h3 { margin: 0 0 8px; font-size: 15px; }
.rml-store-page .rml-store-process-flow p { margin: 0; color: #626c64; font-size: 12px; line-height: 1.6; }
.rml-store-page .rml-store-scope-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; }
.rml-store-page .rml-store-scope h2, .rml-store-page .rml-store-faq-intro h2 { margin: 0 0 20px; font-size: 27px; }
.rml-store-page .rml-store-scope ul { display: grid; gap: 12px; padding: 0; margin: 0; list-style: none; }
.rml-store-page .rml-store-scope li { display: flex; gap: 11px; color: #4f5951; font-size: 14px; }
.rml-store-page .rml-store-scope li i { margin-top: 3px; color: #73ad32; }
.rml-store-page .rml-store-scope aside { padding-left: 58px; border-left: 1px solid #d9ded9; }
.rml-store-page .rml-store-scope aside p { max-width: 620px; margin: 0; color: #59635b; font-size: 14px; line-height: 1.7; }
.rml-store-page .rml-store-scope aside p + p { margin-top: 18px; }
.rml-store-page .rml-store-care { color: #fff; background: #0b100d; border-color: #1d2720; }
.rml-store-page .rml-store-care-grid { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); gap: clamp(46px,7vw,88px); align-items: start; }
.rml-store-page .rml-store-care-copy > span { color: var(--store-green); }
.rml-store-page .rml-store-care-copy h2 { margin: 0 0 18px; color: #fff; font-size: clamp(32px,4vw,47px); line-height: 1.08; letter-spacing: -.035em; }
.rml-store-page .rml-store-care-price { margin: 0 0 16px; color: var(--store-green); font-family: "Manrope", "Inter", sans-serif; font-size: 27px; font-weight: 800; }
.rml-store-page .rml-store-care-copy > p:last-child { max-width: 430px; margin: 0; color: #aeb8b0; font-size: 15px; line-height: 1.7; }
.rml-store-page .rml-store-care-details ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.12); list-style: none; }
.rml-store-page .rml-store-care-details li { display: flex; gap: 11px; padding: 15px 12px 15px 0; border-bottom: 1px solid rgba(255,255,255,.1); color: #d5ddd7; font-size: 13px; line-height: 1.5; }
.rml-store-page .rml-store-care-details li:nth-child(odd) { margin-right: 20px; }
.rml-store-page .rml-store-care-details li i { margin-top: 4px; color: var(--store-green); font-size: 10px; }
.rml-store-page .rml-store-care-note { display: flex; gap: 12px; margin: 22px 0 0; padding: 17px 18px; border: 1px solid rgba(255,255,255,.12); border-radius: 10px; color: #aeb8b0; background: rgba(255,255,255,.035); font-size: 12px; line-height: 1.65; }
.rml-store-page .rml-store-care-note i { margin-top: 3px; color: var(--store-green); }
.rml-store-page .rml-store-faq-grid { display: grid; grid-template-columns: .62fr 1.38fr; gap: 42px; align-items: start; }
.rml-store-page .rml-store-faq-intro { max-width: 330px; }
.rml-store-page .rml-store-faq-intro p { margin: 0; color: #667068; }
.rml-store-page .rml-store-faq .rml-accordion { display: grid; gap: 5px; }
.rml-store-page .rml-store-faq .rml-accordion .card { margin: 0; border-radius: 6px; box-shadow: none; }
.rml-store-page .rml-store-faq .rml-accordion .btn-link { min-height: 43px; padding: 9px 14px; font-size: 13px; }
.rml-store-page .rml-store-faq .rml-accordion .card-body { padding: 5px 14px 16px; font-size: 13px; line-height: 1.6; }
.rml-store-page .rml-store-cta { padding: 34px 0; color: #fff; background: radial-gradient(circle at 10% 50%,rgba(22,198,212,.12),transparent 27%),#080b09; }
.rml-store-page .rml-store-cta .rml-container { display: grid; grid-template-columns: 82px 1fr auto; gap: 30px; align-items: center; }
.rml-store-page .rml-store-cta-mark { width: 66px; height: 66px; display: grid; place-items: center; border: 1px solid #78b82e; transform: rotate(30deg); }
.rml-store-page .rml-store-cta-mark i { color: var(--store-green); font-size: 25px; transform: rotate(-30deg); }
.rml-store-page .rml-store-cta h2 { margin: 0; color: #fff; font-size: clamp(25px,3vw,38px); line-height: 1.12; }
.rml-store-page .rml-store-cta-actions { display: flex; gap: 14px; }

@media (max-width: 1100px) {
    .rml-store-page .rml-store-hero-layout { grid-template-columns: .9fr 1.1fr; gap: 30px; }
    .rml-store-page .rml-store-hero-copy h1 { font-size: 46px; }
    .rml-store-page .rml-store-facts article { padding: 27px 24px; }
    .rml-store-page .rml-store-journey-grid { gap: 34px; }
    .rml-store-page .rml-store-journey-grid article:not(:last-child)::after { right: -25px; width: 16px; }
    .rml-store-page .rml-store-journey-grid article:not(:last-child)::before { right: -25px; }
    .rml-store-page .rml-store-integration-flow { gap: 18px; }
}
@media (max-width: 991px) {
    .rml-store-page .rml-store-hero-layout { grid-template-columns: 1fr; padding-top: 70px; }
    .rml-store-page .rml-store-hero-copy { max-width: 640px; }
    .rml-store-page .rml-store-hero-demo { width: min(720px,100%); min-height: 410px; }
    .rml-store-page .rml-store-facts .rml-container { grid-template-columns: 1fr; }
    .rml-store-page .rml-store-facts article + article { border-top: 1px solid #e1e5e1; border-left: 0; }
    .rml-store-page .rml-store-offer-grid, .rml-store-page .rml-store-care-grid { grid-template-columns: 1fr; }
    .rml-store-page .rml-store-offer-card h3 { min-height: 0; }
    .rml-store-page .rml-store-offer-card.is-featured, .rml-store-page .rml-store-offer-card.is-featured:hover { transform: none; }
    .rml-store-page .rml-store-care-grid { gap: 38px; }
    .rml-store-page .rml-store-journey-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 34px; }
    .rml-store-page .rml-store-journey-grid article::before, .rml-store-page .rml-store-journey-grid article::after { display: none; }
    .rml-store-page .rml-store-integration-flow { grid-template-columns: repeat(2,1fr); gap: 34px; }
    .rml-store-page .rml-store-integration-flow > *::after { display: none; }
    .rml-store-page .rml-store-hub { grid-column: 1/-1; grid-row: 1; }
    .rml-store-page .rml-store-model-grid, .rml-store-page .rml-store-scope-grid, .rml-store-page .rml-store-faq-grid { grid-template-columns: 1fr; gap: 44px; }
    .rml-store-page .rml-store-faq-grid { gap: 28px; }
    .rml-store-page .rml-store-model-grid > article + article, .rml-store-page .rml-store-scope aside { padding-top: 40px; padding-left: 0; border-top: 1px solid #d9ded9; border-left: 0; }
    .rml-store-page .rml-store-model-grid > article + article::before { display: none; }
    .rml-store-page .rml-store-process-flow { grid-template-columns: 1fr; gap: 24px; }
    .rml-store-page .rml-store-process-flow li { display: grid; grid-template-columns: 28px 48px 1fr; column-gap: 14px; align-items: start; }
    .rml-store-page .rml-store-process-flow li::before, .rml-store-page .rml-store-process-flow li::after { display: none; }
    .rml-store-page .rml-store-process-flow b, .rml-store-page .rml-store-process-flow > li > i { margin: 0; }
    .rml-store-page .rml-store-process-flow h3, .rml-store-page .rml-store-process-flow p { grid-column: 3; }
    .rml-store-page .rml-store-process-flow p { margin-top: -17px; }
    .rml-store-page .rml-store-cta .rml-container { grid-template-columns: 70px 1fr; }
    .rml-store-page .rml-store-cta-actions { grid-column: 2; }
}
@media (max-width: 600px) {
    .rml-store-page .rml-store-section { padding: 52px 0; }
    .rml-store-page .rml-store-hero-layout { min-height: auto; padding-top: 56px; padding-bottom: 50px; }
    .rml-store-page .rml-store-hero-copy h1 { margin-top: 20px; font-size: clamp(36px,11vw,46px); }
    .rml-store-page .rml-store-hero-copy > p { font-size: 16px; }
    .rml-store-page .rml-store-hero-copy .rml-hero-actions, .rml-store-page .rml-store-cta-actions { align-items: stretch; flex-direction: column; }
    .rml-store-page .rml-store-hero-copy .rml-btn, .rml-store-page .rml-store-cta .rml-btn { width: 100%; justify-content: center; }
    .rml-store-page .rml-store-hero-demo { min-height: 285px; }
    .rml-store-page .rml-store-laptop { width: 82%; padding: 7px 7px 17px; }
    .rml-store-page .rml-store-orders { top: 70px; width: 30%; min-height: 175px; padding: 37px 10px 12px; }
    .rml-store-page .rml-store-orders strong { font-size: 9px; }
    .rml-store-page .rml-store-orders i { height: 18px; }
    .rml-store-page .rml-store-phone { right: 20%; width: 20%; }
    .rml-store-page .rml-store-screen header .rml-store-demo-label { padding: 2px 4px; font-size: 5px; }
    .rml-store-page .rml-store-facts article { grid-template-columns: 36px 1fr; gap: 12px; padding: 22px 5px; }
    .rml-store-page .rml-store-facts i { font-size: 23px; }
    .rml-store-page .rml-store-offer-card { padding: 24px 22px; }
    .rml-store-page .rml-store-offer-price { font-size: 23px; }
    .rml-store-page .rml-store-offer-card .rml-btn { width: 100%; }
    .rml-store-page .rml-store-offers-note { padding: 14px; }
    .rml-store-page .rml-store-care-details ul { grid-template-columns: 1fr; }
    .rml-store-page .rml-store-care-details li:nth-child(odd) { margin-right: 0; }
    .rml-store-page .rml-store-journey-grid { grid-template-columns: 1fr; }
    .rml-store-page .rml-store-ui { aspect-ratio: 4/3; }
    .rml-store-page .rml-store-integration-flow { grid-template-columns: 1fr; }
    .rml-store-page .rml-store-hub { grid-column: auto; }
    .rml-store-page .rml-store-model-screen { aspect-ratio: 4/3; }
    .rml-store-page .rml-store-b2b-topbar nav { display: none; }
    .rml-store-page .rml-store-b2b-layout { grid-template-columns: minmax(0,1fr) 92px; }
    .rml-store-page .rml-store-b2b-row { grid-template-columns: 1.35fr .65fr .8fr; }
    .rml-store-page .rml-store-b2b-row > span:nth-child(2) { display: none; }
    .rml-store-page .rml-store-cta .rml-container { grid-template-columns: 56px 1fr; gap: 20px; }
    .rml-store-page .rml-store-cta-mark { width: 52px; height: 52px; }
    .rml-store-page .rml-store-cta-actions { grid-column: 1/-1; }
}

@media (prefers-reduced-motion: reduce) {
    .rml-store-page *, .rml-store-page *::before, .rml-store-page *::after { scroll-behavior: auto; transition: none; animation: none; }
}

/* Homepage 2026 — conteúdo abaixo do header WHMCS aprovado */
html:has(.rml-home-v2),
body:has(.rml-home-v2) { overflow-x: clip; }

.rml-home-v2 {
    --home-ink: #070a08;
    --home-paper: #f6f7f3;
    --home-green: #9ee63f;
    --home-muted: #aeb8b0;
    color: #141a16;
    background: var(--home-paper);
}

.rml-home-v2 .rml-container { width: min(1180px, calc(100% - 40px)); }
.rml-home-v2 h1, .rml-home-v2 h2, .rml-home-v2 h3, .rml-home-v2 p { text-wrap: pretty; }
.rml-home-v2 em { color: #83c72e; font-style: normal; }
.rml-home-v2 .rml-protected-image { -webkit-user-drag: none; user-select: none; -webkit-user-select: none; }

.rml-home-v2-hero { position: relative; overflow: hidden; color: #fff; background: radial-gradient(circle at 85% 33%,rgba(128,205,45,.12),transparent 35%),#030605; }
.rml-home-v2-hero::before { position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(22,198,212,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(22,198,212,.14) 1px,transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(90deg,#000,transparent 72%); content: ""; pointer-events: none; }
.rml-home-v2-hero::after { position: absolute; top: -22%; right: -7%; width: 540px; height: 620px; opacity: .22; background: repeating-linear-gradient(172deg,transparent 0 13px,rgba(22,198,212,.18) 14px,transparent 15px 26px); clip-path: polygon(46% 0,100% 18%,86% 100%,14% 78%,0 20%); content: ""; pointer-events: none; }
.rml-home-v2-hero-grid { position: relative; z-index: 1; min-height: 620px; display: grid; grid-template-columns: minmax(0,.84fr) minmax(600px,1.16fr); align-items: center; gap: 54px; padding-top: 68px; padding-bottom: 64px; }
.rml-home-v2-eyebrow, .rml-home-v2-kicker, .rml-home-v2-section-head > span, .rml-home-v2-showcase header > span, .rml-home-v2-trust header > span { display: flex; align-items: center; gap: 9px; color: var(--home-green); font-size: 10px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.rml-home-v2-eyebrow span { width: 8px; height: 8px; border: 2px solid var(--home-green); border-radius: 50%; box-shadow: 0 0 0 5px rgba(22,198,212,.08); }
.rml-home-v2-hero-copy h1 { max-width: 560px; margin: 20px 0 22px; color: #fff; font-size: clamp(44px,4.5vw,63px); font-weight: 760; line-height: 1.04; letter-spacing: -.047em; }
.rml-home-v2-hero-copy > p { max-width: 525px; margin: 0; color: #bbc4bd; font-size: 16px; line-height: 1.7; }
.rml-home-v2-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 29px; }
.rml-home-v2 .rml-btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 12px 21px; border-radius: 6px; font-size: 13px; font-weight: 800; }
.rml-home-v2 .rml-btn-ghost { border: 1px solid rgba(255,255,255,.46); color: #fff; background: rgba(255,255,255,.025); }
.rml-home-v2 .rml-btn-ghost:hover { border-color: var(--home-green); color: #fff; background: rgba(22,198,212,.07); }
.rml-home-v2-hero-facts { display: flex; flex-wrap: wrap; gap: 26px; margin-top: 40px; color: #d1d9d3; font-size: 12px; }
.rml-home-v2-hero-facts span { display: flex; align-items: center; gap: 9px; }
.rml-home-v2-hero-facts i { width: 6px; height: 6px; border-radius: 50%; background: var(--home-green); box-shadow: 0 0 10px rgba(22,198,212,.55); }

.rml-home-v2-hero-demo { position: relative; min-height: 470px; }
.rml-home-v2-monitor, .rml-home-v2-browser, .rml-home-v2-deploy { position: absolute; border: 1px solid rgba(255,255,255,.15); color: #dbe3dd; background: linear-gradient(145deg,#151b17,#080b09); box-shadow: 0 28px 70px rgba(0,0,0,.42); }
.rml-home-v2-monitor { top: 30px; left: 0; z-index: 2; width: 190px; padding: 13px; border-radius: 10px; }
.rml-home-v2-monitor header { display: flex; justify-content: space-between; margin-bottom: 10px; color: #fff; font-size: 9px; }
.rml-home-v2-monitor header i { width: 6px; height: 6px; display: inline-block; margin-right: 5px; border-radius: 50%; background: var(--home-green); }
.rml-home-v2-monitor header small { color: #748078; font-size: 7px; text-transform: uppercase; }
.rml-home-v2-monitor > div { position: relative; min-height: 76px; margin-top: 7px; padding: 12px; border: 1px solid rgba(255,255,255,.07); border-radius: 6px; background: rgba(255,255,255,.035); }
.rml-home-v2-monitor small { display: block; color: #849087; font-size: 8px; }
.rml-home-v2-monitor strong { display: block; margin-top: 7px; color: #fff; font-size: 13px; }
.rml-home-v2-chart { position: absolute; right: 10px; bottom: 14px; width: 65px; height: 25px; border-bottom: 1px solid #80c92e; transform: skewY(-16deg); box-shadow: inset 0 -8px rgba(22,198,212,.07); }
.rml-home-v2-bars { position: absolute; right: 10px; bottom: 12px; height: 28px; display: flex; align-items: end; gap: 3px; }
.rml-home-v2-bars i { width: 3px; background: #82c72e; }
.rml-home-v2-bars i:nth-child(1) { height: 11px; }.rml-home-v2-bars i:nth-child(2) { height: 19px; }.rml-home-v2-bars i:nth-child(3) { height: 14px; }.rml-home-v2-bars i:nth-child(4) { height: 25px; }.rml-home-v2-bars i:nth-child(5) { height: 21px; }
.rml-home-v2-line { position: absolute; right: 12px; bottom: 19px; width: 50px; height: 1px; background: linear-gradient(90deg,transparent,var(--home-green)); }
.rml-home-v2-browser { top: 15px; right: 0; z-index: 3; width: 473px; overflow: hidden; border-radius: 9px; background: #f4f4f0; }
.rml-home-v2-browser.rml-home-v2-hero-image { top: 50%; width: 100%; max-width: 600px; transform: translateY(-50%); }
.rml-home-v2-hero-image img { width: 100%; height: auto; display: block; }
.rml-home-v2-browser-bar { height: 29px; display: flex; align-items: center; gap: 5px; padding: 0 10px; color: #747c76; background: #151917; font-size: 7px; }
.rml-home-v2-browser-bar i { width: 5px; height: 5px; border-radius: 50%; background: #7b837d; }.rml-home-v2-browser-bar i:first-child { background: var(--home-green); }
.rml-home-v2-browser-bar span { margin-left: auto; }
.rml-home-v2-shop-head { height: 39px; display: flex; align-items: center; justify-content: space-between; padding: 0 17px; color: #1d231f; font-size: 8px; }
.rml-home-v2-shop-head b { font-size: 11px; }
.rml-home-v2-shop-main { height: 245px; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; overflow: hidden; color: #fff; background: radial-gradient(circle at 80% 30%,#283029,#0b0e0c 63%); }
.rml-home-v2-shop-main > div { padding: 28px 10px 28px 30px; }
.rml-home-v2-shop-main small { display: block; margin-bottom: 12px; color: #9eaaa1; font-size: 8px; text-transform: uppercase; }
.rml-home-v2-shop-main strong { display: block; max-width: 220px; font-size: 24px; line-height: 1.08; letter-spacing: -.035em; }
.rml-home-v2-shop-main button, .rml-home-v2-mini-cart button { margin-top: 20px; padding: 8px 12px; border: 0; border-radius: 3px; color: #17200f; background: var(--home-green); font-size: 8px; font-weight: 800; }
.rml-home-v2-shop-main img { width: 160px; height: 205px; object-fit: contain; filter: saturate(.15) contrast(1.03); }
.rml-home-v2-shop-cards { height: 72px; display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; padding: 11px 18px; }
.rml-home-v2-shop-cards span { border: 1px solid #d9ddd9; border-radius: 4px; background: linear-gradient(135deg,#ecece8,#d9ddd8); }
.rml-home-v2-deploy { right: 250px; bottom: -14px; z-index: 4; width: 260px; padding: 17px; border-radius: 8px; }
.rml-home-v2-deploy header { display: flex; justify-content: space-between; padding-bottom: 11px; border-bottom: 1px solid rgba(255,255,255,.08); color: #fff; font-size: 10px; }
.rml-home-v2-deploy header span { color: var(--home-green); font-size: 7px; text-transform: uppercase; }
.rml-home-v2-deploy ul { display: grid; gap: 10px; margin: 13px 0; padding: 0; list-style: none; }
.rml-home-v2-deploy li { display: grid; grid-template-columns: 8px 1fr auto; gap: 7px; color: #b7c1b9; font-size: 8px; }
.rml-home-v2-deploy li i { width: 5px; height: 5px; margin-top: 3px; border-radius: 50%; background: var(--home-green); }
.rml-home-v2-deploy li b { color: #7ebd32; font-size: 7px; font-weight: 600; }
.rml-home-v2-deploy > div { position: relative; height: 4px; margin-top: 15px; border-radius: 4px; background: rgba(255,255,255,.09); }
.rml-home-v2-deploy > div span { width: 72%; height: 100%; display: block; background: var(--home-green); }
.rml-home-v2-deploy > div small { position: absolute; top: 10px; right: 0; color: #758078; font-size: 7px; }

.rml-home-v2-fact-strip { color: #e4eae5; background: #070b08; border-top: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid rgba(255,255,255,.08); }
.rml-home-v2-fact-strip .rml-container { display: grid; grid-template-columns: repeat(4,1fr); }
.rml-home-v2-fact-strip article { min-height: 96px; display: grid; grid-template-columns: 40px 1fr; align-items: center; gap: 13px; padding: 18px 25px; border-right: 1px solid rgba(255,255,255,.11); }
.rml-home-v2-fact-strip article:first-child { padding-left: 0; }.rml-home-v2-fact-strip article:last-child { padding-right: 0; border-right: 0; }
.rml-home-v2-fact-strip article > i { color: var(--home-green); font-size: 27px; text-align: center; }
.rml-home-v2-fact-strip strong { display: block; margin-bottom: 5px; color: #fff; font-size: 12px; }
.rml-home-v2-fact-strip span { color: #9da8a0; font-size: 10.5px; line-height: 1.45; }

.rml-home-v2-services { padding: 48px 0 16px; background: var(--home-paper); }
.rml-home-v2-section-head { max-width: 650px; margin-bottom: 14px; }
.rml-home-v2-section-head h2 { margin: 12px 0 0; font-size: clamp(32px,3.2vw,46px); line-height: 1.12; letter-spacing: -.04em; }
.rml-home-v2-service-row { min-height: 248px; display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 70px; padding: 16px 0; border-bottom: 1px solid #cfd5cf; }
.rml-home-v2-service-row:last-child { border-bottom: 0; }
.rml-home-v2-service-visual { min-width: 0; min-height: 205px; position: relative; display: grid; place-items: center; }
.rml-home-v2-service-visual.rml-home-v2-image-visual { grid-template-columns: 1fr; }
.rml-home-v2-service-visual > .rml-home-v2-service-image { width: 100%; max-width: 560px; height: auto; display: block; border: 1px solid #c5ccc6; border-radius: 8px; object-fit: contain; box-shadow: 0 15px 34px rgba(25,39,28,.1); }
.rml-home-v2-service-copy { display: grid; grid-template-columns: 34px 1fr; gap: 16px; }
.rml-home-v2-service-copy > i { margin-top: 5px; color: #80bf31; font-size: 27px; }
.rml-home-v2-service-copy h3 { margin: 0 0 9px; font-size: 26px; line-height: 1.15; }
.rml-home-v2-service-price { display: block; margin-bottom: 12px; color: #568d24; font-size: 14px; font-weight: 800; line-height: 1.25; }
.rml-home-v2-service-copy p { max-width: 480px; margin: 0; color: #4e5951; font-size: 14px; line-height: 1.68; }
.rml-home-v2-service-copy a { display: inline-flex; align-items: center; gap: 9px; margin-top: 19px; color: #659d26; font-size: 13px; font-weight: 750; text-decoration: none; }
.rml-home-v2-service-copy a:hover { color: #3e7418; }
.rml-home-v2-server-visual img { position: relative; z-index: 1; width: 265px; height: 225px; object-fit: contain; }
.rml-home-v2-server-visual span { position: absolute; width: 290px; height: 180px; opacity: .25; background: radial-gradient(circle,#9ee63f 1px,transparent 1.5px); background-size: 15px 15px; transform: skewX(-10deg); }
.rml-home-v2-store-visual { grid-template-columns: minmax(0,390px) 150px; align-items: center; gap: 0; }
.rml-home-v2-mini-store { width: 100%; overflow: hidden; border: 1px solid #bfc7c0; border-radius: 8px; background: #fff; box-shadow: 0 15px 34px rgba(25,39,28,.1); }
.rml-home-v2-mini-store > header { min-height: 32px; display: flex; align-items: center; gap: 13px; padding: 7px 12px; border-bottom: 1px solid #e2e6e2; color: #626b64; font-size: 7px; }
.rml-home-v2-mini-store > header b { margin-right: auto; color: #283029; font-size: 8px; letter-spacing: .05em; }.rml-home-v2-mini-store > header i { color: #6d786f; }
.rml-home-v2-mini-product { min-height: 158px; display: grid; grid-template-columns: 28px 115px 1fr; align-items: center; gap: 10px; padding: 13px; background: linear-gradient(135deg,#f7f8f5,#e9ece8); }
.rml-home-v2-mini-product > img { width: 112px; height: 125px; object-fit: contain; }
.rml-home-v2-mini-thumbs { display: grid; gap: 6px; }.rml-home-v2-mini-thumbs i { width: 25px; height: 29px; border: 1px solid #d7ddd7; border-radius: 3px; background: linear-gradient(145deg,#fff,#e8ebe7); }.rml-home-v2-mini-thumbs i:first-child { border-color: #8fc650; }
.rml-home-v2-mini-product span small,.rml-home-v2-mini-product span b,.rml-home-v2-mini-product span em { display: block; }.rml-home-v2-mini-product span small { color: #79837b; font-size: 7px; text-transform: uppercase; }.rml-home-v2-mini-product span b { max-width: 150px; margin: 7px 0; color: #232b25; font-size: 12px; line-height: 1.28; }.rml-home-v2-mini-product span em { color: #687269; font-size: 8px; font-style: normal; }
.rml-home-v2-mini-product button,.rml-home-v2-mini-cart button { margin-top: 12px; padding: 7px 9px; border: 0; border-radius: 3px; color: #17200f; background: var(--home-green); font-size: 7px; font-weight: 800; }
.rml-home-v2-mini-cart { z-index: 2; margin-left: -18px; padding: 13px; border: 1px solid #bfc7c0; border-radius: 8px; background: #fff; box-shadow: 0 16px 35px rgba(24,38,27,.15); }
.rml-home-v2-mini-cart > header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 10px; border-bottom: 1px solid #e3e7e3; }.rml-home-v2-mini-cart > header strong { color: #252d27; font-size: 10px; }.rml-home-v2-mini-cart > header i { color: #8a938c; font-size: 7px; }
.rml-home-v2-mini-cart > div { display: grid; grid-template-columns: 35px 1fr; align-items: center; gap: 7px; padding: 11px 0; }.rml-home-v2-mini-cart img { width: 34px; height: 38px; object-fit: contain; }.rml-home-v2-mini-cart b,.rml-home-v2-mini-cart small { display: block; }.rml-home-v2-mini-cart b { color: #343d36; font-size: 8px; }.rml-home-v2-mini-cart small { margin-top: 3px; color: #7b857d; font-size: 7px; }
.rml-home-v2-mini-cart p { display: flex; justify-content: space-between; margin: 0; padding-top: 9px; border-top: 1px solid #e3e7e3; color: #69736b; font-size: 7px; }.rml-home-v2-mini-cart p b { color: #4a554c; }.rml-home-v2-mini-cart button { width: 100%; }
.rml-home-v2-code-visual { grid-template-columns: minmax(0,320px) 190px; gap: 10px; }
.rml-home-v2-code-shell { width: 100%; overflow: hidden; border: 1px solid #1e2924; border-radius: 8px; background: #0b1010; box-shadow: 0 18px 36px rgba(15,30,19,.14); }
.rml-home-v2-code-shell > header { height: 29px; display: flex; align-items: center; gap: 5px; padding: 0 11px; border-bottom: 1px solid rgba(255,255,255,.07); color: #78867d; font-size: 7px; }.rml-home-v2-code-shell > header i { width: 5px; height: 5px; border-radius: 50%; background: #59635d; }.rml-home-v2-code-shell > header i:first-child { background: var(--home-green); }.rml-home-v2-code-shell > header span { margin-left: auto; }
.rml-home-v2-code-shell pre { width: 100%; min-height: 135px; margin: 0; padding: 19px 22px; overflow: hidden; color: #a9dfff; background: repeating-linear-gradient(0deg,transparent 0 26px,rgba(255,255,255,.025) 27px); font-size: 10px; line-height: 1.8; }
.rml-home-v2-code-shell > footer { display: flex; justify-content: space-between; gap: 8px; padding: 10px 13px; border-top: 1px solid rgba(255,255,255,.07); color: #8f9c93; font-size: 7px; }.rml-home-v2-code-shell > footer span { display: flex; align-items: center; gap: 5px; }.rml-home-v2-code-shell > footer i { width: 4px; height: 4px; border-radius: 50%; background: var(--home-green); }
.rml-home-v2-api-map { position: relative; min-height: 205px; justify-self: start; padding: 13px; border: 1px solid #c8d0c9; border-radius: 8px; background: rgba(255,255,255,.7); box-shadow: 0 12px 28px rgba(20,36,23,.07); }
.rml-home-v2-api-map > header { padding-bottom: 9px; border-bottom: 1px solid #dce2dc; color: #536057; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.rml-home-v2-api-core { width: 64px; height: 42px; display: grid; grid-template-columns: 18px 1fr; align-items: center; gap: 3px; margin: 13px auto 10px; padding: 6px; border: 1px solid #83b84d; border-radius: 5px; color: #426422; background: #f4faee; font-size: 8px; }.rml-home-v2-api-core i { color: #75a83e; }
.rml-home-v2-api-map ul { position: relative; display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }.rml-home-v2-api-map ul::before { position: absolute; top: -10px; bottom: 17px; left: 14px; width: 1px; background: #a8c28e; content: ""; }
.rml-home-v2-api-map li { position: relative; z-index: 1; min-height: 29px; display: grid; grid-template-columns: 22px 1fr; align-items: center; gap: 6px; padding: 4px 8px; border: 1px solid #d6ddd7; border-radius: 4px; color: #455048; background: #fff; font-size: 8px; }.rml-home-v2-api-map li i { color: #6fa535; text-align: center; }

.rml-home-v2-showcase { padding: 60px 0 54px; color: #fff; background: radial-gradient(circle at 80% 15%,rgba(22,198,212,.07),transparent 28%),#050806; }
.rml-home-v2-showcase header h2 { margin: 11px 0 7px; color: #fff; font-size: 31px; }
.rml-home-v2-showcase header > p { max-width: 680px; margin: 0 0 27px; color: #aeb8b0; font-size: 13px; line-height: 1.6; }
.rml-home-v2-showcase-grid { display: grid; grid-template-columns: minmax(0,720px); align-items: stretch; gap: 26px; }
.rml-home-v2-showcase-card { display: grid; grid-template-rows: 1fr auto; overflow: hidden; border: 1px solid rgba(255,255,255,.15); border-radius: 9px; background: #0b0f0c; }
.rml-home-v2-showcase-image { width: 100%; height: auto; display: block; }
.rml-home-v2-showcase-card > footer { display: flex; justify-content: space-around; gap: 8px; padding: 12px; border-top: 1px solid rgba(255,255,255,.09); color: #b8c2ba; font-size: 9px; }
.rml-home-v2-showcase-card > footer span { display: flex; align-items: center; gap: 7px; }.rml-home-v2-showcase-card > footer i { width: 5px; height: 5px; border-radius: 50%; background: var(--home-green); }
.rml-home-v2-showcase-browser { min-height: 300px; background: #eceeea; }
.rml-home-v2-showcase-browser > header { height: 36px; display: flex; align-items: center; justify-content: space-between; padding: 0 18px; color: #283029; background: #fafbf8; font-size: 8px; }
.rml-home-v2-showcase-browser > div { height: 264px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; overflow: hidden; padding: 28px; color: #fff; background: linear-gradient(120deg,#293229,#101411); }
.rml-home-v2-showcase-browser h3 { max-width: 250px; margin: 0; color: #fff; font-size: 24px; line-height: 1.12; }
.rml-home-v2-showcase-browser img { width: 100%; height: 230px; object-fit: contain; filter: saturate(.3); }
.rml-home-v2-dashboard { min-height: 300px; display: grid; grid-template-columns: 125px 1fr; background: #111718; }
.rml-home-v2-dashboard nav { display: flex; flex-direction: column; gap: 15px; padding: 22px 15px; border-right: 1px solid rgba(255,255,255,.07); color: #8d9990; font-size: 9px; }.rml-home-v2-dashboard nav b { margin-bottom: 9px; color: #fff; font-size: 12px; }
.rml-home-v2-dashboard-content { padding: 23px; }.rml-home-v2-dashboard-content h3 { margin: 0 0 20px; color: #fff; }
.rml-home-v2-widgets { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }.rml-home-v2-widgets span { padding: 14px; border: 1px solid rgba(255,255,255,.07); border-radius: 5px; background: rgba(255,255,255,.025); }.rml-home-v2-widgets small,.rml-home-v2-widgets b { display: block; }.rml-home-v2-widgets small { color: #7f8c82; font-size: 7px; }.rml-home-v2-widgets b { margin-top: 9px; color: #e5ebe6; font-size: 10px; }
.rml-home-v2-dashboard-graph { height: 105px; margin-top: 15px; border: 1px solid rgba(255,255,255,.07); border-radius: 5px; background: linear-gradient(165deg,transparent 0 47%,rgba(22,198,212,.38) 48% 49%,transparent 50%),repeating-linear-gradient(0deg,transparent 0 24px,rgba(255,255,255,.04) 25px); }

.rml-home-v2-process { padding: 42px 0 50px; color: #fff; background: #070b08; border-top: 1px solid rgba(255,255,255,.08); }
.rml-home-v2-process ol { display: grid; grid-template-columns: repeat(4,1fr); gap: 44px; margin: 25px 0 0; padding: 0; list-style: none; }
.rml-home-v2-process li { position: relative; }.rml-home-v2-process li:not(:last-child)::after { position: absolute; top: 19px; right: -30px; width: 20px; height: 1px; background: rgba(22,198,212,.58); box-shadow: 0 0 8px rgba(22,198,212,.12); content: ""; }
.rml-home-v2-process li > i { width: 42px; height: 42px; display: grid; place-items: center; margin-bottom: 17px; border: 1px solid rgba(22,198,212,.3); border-radius: 7px; color: var(--home-green); font-size: 16px; }
.rml-home-v2-process h3 { margin: 0 0 8px; color: #fff; font-size: 15px; }.rml-home-v2-process p { max-width: 200px; margin: 0; color: #b4beb6; font-size: 12.5px; line-height: 1.65; }

.rml-home-v2-trust { padding: 45px 0; color: #fff; background: #050806; border-top: 1px solid rgba(255,255,255,.07); }
.rml-home-v2-trust .rml-container { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 65px; }
.rml-home-v2-trust h2 { margin: 10px 0 10px; color: #fff; font-size: 27px; }.rml-home-v2-trust header p { max-width: 440px; margin: 0; color: #a8b2aa; font-size: 12.5px; line-height: 1.6; }
.rml-home-v2-trust .rml-container > div { display: grid; grid-template-columns: repeat(3,1fr); }
.rml-home-v2-trust article { display: grid; grid-template-columns: 36px 1fr; gap: 12px; padding: 6px 24px; border-right: 1px solid rgba(255,255,255,.12); }.rml-home-v2-trust article:last-child { border-right: 0; padding-right: 0; }
.rml-home-v2-trust article > i { color: var(--home-green); font-size: 23px; }.rml-home-v2-trust article strong { display: block; margin-bottom: 5px; color: #fff; font-size: 12px; }.rml-home-v2-trust article span { color: #a5afa7; font-size: 10px; line-height: 1.55; }

.rml-home-v2-cta { padding: 0; color: #fff; background: radial-gradient(circle at 12% 50%,rgba(22,198,212,.15),transparent 27%),linear-gradient(90deg,#0b120b,#050806 72%); border-top: 1px solid rgba(22,198,212,.13); }
.rml-home-v2-cta .rml-container { min-height: 145px; display: grid; grid-template-columns: 90px 1fr auto; align-items: center; gap: 30px; }
.rml-home-v2-cta-mark { width: 72px; height: 80px; display: grid; place-items: center; }
.rml-home-v2-cta-mark img { width: 60px; height: 60px; object-fit: contain; }
.rml-home-v2-cta h2 { max-width: 550px; margin: 0 0 7px; color: #fff; font-size: 29px; line-height: 1.15; }.rml-home-v2-cta p { margin: 0; color: #adb7af; font-size: 12px; }.rml-home-v2-cta .rml-home-v2-actions { flex-wrap: nowrap; margin: 0; }

@media (max-width: 1199px) {
    .rml-home-v2-hero-grid { grid-template-columns: minmax(0,.78fr) minmax(540px,1.22fr); gap: 30px; }
    .rml-home-v2-browser { width: 426px; }.rml-home-v2-monitor { width: 175px; }.rml-home-v2-deploy { right: 205px; }
    .rml-home-v2-service-row { gap: 45px; }
    .rml-home-v2-trust .rml-container { gap: 35px; }
    .rml-home-v2-trust article { padding: 6px 14px; }
}

@media (max-width: 991px) {
    .rml-home-v2-hero-grid { grid-template-columns: 1fr; min-height: 0; padding-top: 68px; padding-bottom: 60px; }
    .rml-home-v2-hero-copy { max-width: 650px; }.rml-home-v2-hero-copy h1 { max-width: 650px; }
    .rml-home-v2-hero-demo { width: min(700px,100%); min-height: 480px; margin: 4px auto 0; }
    .rml-home-v2-browser { width: min(490px,71%); }.rml-home-v2-monitor { left: 2%; }.rml-home-v2-deploy { right: 33%; }
    .rml-home-v2-fact-strip .rml-container { grid-template-columns: repeat(2,1fr); }.rml-home-v2-fact-strip article:nth-child(2) { border-right: 0; }.rml-home-v2-fact-strip article:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.1); }.rml-home-v2-fact-strip article:first-child,.rml-home-v2-fact-strip article:nth-child(3) { padding-left: 0; }
    .rml-home-v2-service-row { grid-template-columns: 1fr; gap: 24px; padding: 30px 0; }.rml-home-v2-service-visual { order: 2; }.rml-home-v2-service-copy { order: 1; max-width: 650px; }
    .rml-home-v2-showcase-grid { grid-template-columns: 1fr; }.rml-home-v2-showcase-card { max-width: 720px; }
    .rml-home-v2-process ol { grid-template-columns: repeat(2,1fr); gap: 36px; }.rml-home-v2-process li:nth-child(2)::after { display: none; }
    .rml-home-v2-trust .rml-container { grid-template-columns: 1fr; }.rml-home-v2-trust header { max-width: 620px; }
    .rml-home-v2-cta .rml-container { grid-template-columns: 72px 1fr; padding-top: 28px; padding-bottom: 28px; }.rml-home-v2-cta .rml-home-v2-actions { grid-column: 2; }
}

@media (max-width: 600px) {
    .rml-home-v2 .rml-container { width: calc(100% - 28px); }
    .rml-home-v2-hero-grid { padding-top: 52px; padding-bottom: 45px; }
    .rml-home-v2-hero-copy h1 { margin-top: 17px; font-size: clamp(36px,11vw,47px); }.rml-home-v2-hero-copy > p { font-size: 15px; }
    .rml-home-v2-actions { flex-direction: column; }.rml-home-v2-actions .rml-btn { width: 100%; }.rml-home-v2-hero-facts { gap: 13px; margin-top: 28px; flex-direction: column; }
    .rml-home-v2-hero-demo { min-height: 350px; margin-top: 20px; }.rml-home-v2-browser { top: 0; right: 0; width: 91%; }.rml-home-v2-browser-bar { height: 24px; }.rml-home-v2-shop-head { height: 31px; }.rml-home-v2-shop-main { height: 180px; }.rml-home-v2-shop-main > div { padding: 20px 8px 20px 18px; }.rml-home-v2-shop-main strong { font-size: 16px; }.rml-home-v2-shop-main img { width: 105px; height: 145px; }.rml-home-v2-shop-cards { height: 48px; padding: 7px 10px; gap: 6px; }.rml-home-v2-hero-image img { height: 300px; object-fit: cover; object-position: 57% center; }
    .rml-home-v2-monitor { top: 25px; left: 0; width: 108px; padding: 7px; }.rml-home-v2-monitor header small,.rml-home-v2-monitor > div:nth-of-type(3) { display: none; }.rml-home-v2-monitor > div { min-height: 54px; padding: 8px; }.rml-home-v2-monitor strong { font-size: 9px; }.rml-home-v2-chart,.rml-home-v2-bars { display: none; }
    .rml-home-v2-deploy { right: 4%; bottom: 0; width: 210px; padding: 12px; }.rml-home-v2-deploy li { font-size: 7px; }
    .rml-home-v2-fact-strip .rml-container { grid-template-columns: 1fr; }.rml-home-v2-fact-strip article,.rml-home-v2-fact-strip article:first-child,.rml-home-v2-fact-strip article:nth-child(3) { min-height: 78px; padding: 14px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }.rml-home-v2-fact-strip article:last-child { border-bottom: 0; }
    .rml-home-v2-services { padding-top: 48px; padding-bottom: 16px; }.rml-home-v2-section-head h2 { font-size: 32px; }.rml-home-v2-service-row { min-height: 0; gap: 22px; padding: 26px 0; }.rml-home-v2-service-copy { grid-template-columns: 28px 1fr; gap: 12px; }.rml-home-v2-service-copy h3 { font-size: 22px; }.rml-home-v2-service-copy p { font-size: 13px; }
    .rml-home-v2-service-visual { min-height: 180px; }.rml-home-v2-server-visual img { width: 215px; height: 190px; }.rml-home-v2-store-visual { grid-template-columns: 1fr 105px; }.rml-home-v2-mini-store > header span { display: none; }.rml-home-v2-mini-product { min-height: 128px; grid-template-columns: 20px 72px 1fr; gap: 6px; padding: 8px; }.rml-home-v2-mini-product > img { width: 70px; height: 86px; }.rml-home-v2-mini-thumbs i { width: 18px; height: 21px; }.rml-home-v2-mini-product span b { font-size: 9px; }.rml-home-v2-mini-product span em { display: none; }.rml-home-v2-mini-cart { margin-left: -12px; padding: 9px; }.rml-home-v2-mini-cart > div { grid-template-columns: 28px 1fr; }.rml-home-v2-mini-cart img { width: 27px; height: 31px; }.rml-home-v2-code-visual { grid-template-columns: 1fr 112px; gap: 6px; }.rml-home-v2-code-shell pre { min-height: 127px; padding: 15px; font-size: 8px; }.rml-home-v2-code-shell > footer span:nth-child(2) { display: none; }.rml-home-v2-api-map { min-height: 190px; padding: 8px; }.rml-home-v2-api-core { margin-top: 10px; }.rml-home-v2-api-map li { grid-template-columns: 18px 1fr; padding: 4px; font-size: 7px; }
    .rml-home-v2-showcase { padding: 46px 0; }.rml-home-v2-showcase header h2 { font-size: 26px; }.rml-home-v2-showcase-browser { min-height: 240px; }.rml-home-v2-showcase-browser > header span { display: none; }.rml-home-v2-showcase-browser > div { height: 204px; padding: 18px; }.rml-home-v2-showcase-browser h3 { font-size: 18px; }.rml-home-v2-showcase-browser img { height: 175px; }.rml-home-v2-showcase-card > footer { align-items: flex-start; flex-direction: column; padding: 12px 16px; }.rml-home-v2-dashboard { min-height: 240px; grid-template-columns: 80px 1fr; }.rml-home-v2-dashboard nav { padding: 15px 8px; }.rml-home-v2-dashboard-content { padding: 15px; }.rml-home-v2-widgets { grid-template-columns: 1fr; }.rml-home-v2-widgets span:nth-child(n+2) { display: none; }
    .rml-home-v2-process ol { grid-template-columns: 1fr; gap: 26px; }.rml-home-v2-process li { display: grid; grid-template-columns: 44px 1fr; gap: 0 13px; }.rml-home-v2-process li::after { display: none; }.rml-home-v2-process li > i { grid-row: 1 / 3; margin: 0; }.rml-home-v2-process h3 { margin-top: 1px; }.rml-home-v2-process p { max-width: none; }
    .rml-home-v2-trust .rml-container > div { grid-template-columns: 1fr; }.rml-home-v2-trust article { padding: 18px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }.rml-home-v2-trust article:last-child { border-bottom: 0; }
    .rml-home-v2-cta .rml-container { grid-template-columns: 56px 1fr; gap: 18px; }.rml-home-v2-cta-mark { width: 54px; height: 60px; }.rml-home-v2-cta-mark img { width: 46px; height: 46px; }.rml-home-v2-cta h2 { font-size: 22px; }.rml-home-v2-cta .rml-home-v2-actions { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
    .rml-home-v2 *, .rml-home-v2 *::before, .rml-home-v2 *::after { scroll-behavior: auto; transition: none; animation: none; }
}

/* Contactos e abertura de ticket — linguagem visual partilhada */
body:has(.rml-contact-page),
body:has(.rml-ticket-support-page) { background: #050806; }

/* Estas páginas são as únicas dentro do contentor WHMCS que precisam de fundo full-width. */
#main-body:has(.rml-contact-page) > .container,
#main-body:has(.rml-ticket-support-page) > .container {
    width: 100%;
    max-width: none;
    padding-right: 0;
    padding-left: 0;
}

.rml-contact-page,
.rml-ticket-support-page {
    --rml-support-bg: #050806;
    --rml-support-panel: #0b0f0c;
    --rml-support-panel-soft: #101512;
    --rml-support-border: rgba(255,255,255,.14);
    --rml-support-muted: #b7c1b9;
    color: #f4f7f4;
    background-color: var(--rml-support-bg);
    background-image: linear-gradient(rgba(22,198,212,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(22,198,212,.025) 1px, transparent 1px);
    background-size: 42px 42px;
}

.rml-contact-page {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0 0 64px;
    overflow: clip;
    background-color: #031015;
    background-image: none;
}

.rml-contact-hero,
.rml-contact-main {
    width: min(1380px, calc(100% - 48px));
    margin-inline: auto;
}

.rml-contact-hero {
    min-height: 230px;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
    align-items: center;
    gap: 62px;
    padding: 42px 4px 38px;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
}

.rml-contact-hero::after { display: none; }
.rml-contact-hero-copy { min-width: 0; }
.rml-contact-kicker,
.rml-contact-form-heading > span {
    display: block;
    color: var(--rml-green);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.rml-contact-kicker::before { content: ""; width: 8px; height: 8px; display: inline-block; margin-right: 9px; border: 2px solid var(--rml-green); border-radius: 50%; box-shadow: 0 0 0 3px rgba(22,198,212,.08); }
.rml-contact-hero h1 { max-width: 720px; margin: 14px 0 10px; color: #fff; font-size: clamp(36px, 4.1vw, 58px); font-weight: 820; line-height: 1.02; letter-spacing: -.045em; }
.rml-contact-hero p { max-width: 690px; margin: 0; color: #c4cdc6; font-size: 16px; line-height: 1.65; }

.rml-contact-route,
.rml-ticket-route { min-width: 0; display: grid; grid-template-columns: auto minmax(34px, 1fr) auto minmax(34px, 1fr) auto; align-items: center; gap: 12px; }
.rml-contact-route-step,
.rml-ticket-route-step { display: grid; justify-items: center; gap: 9px; color: #edf3ee; font-size: 13px; }
.rml-contact-route-step > span,
.rml-ticket-route-step > span { width: 60px; height: 60px; display: grid; place-items: center; border: 1px solid rgba(22,198,212,.5); border-radius: 15px; color: var(--rml-green); background: rgba(12,18,13,.82); font-size: 22px; box-shadow: 0 12px 35px rgba(0,0,0,.25); }
.rml-contact-route-step strong,
.rml-ticket-route-step strong { font-weight: 700; }
.rml-contact-route-line,
.rml-ticket-route-line { height: 1px; position: relative; background: repeating-linear-gradient(90deg, rgba(22,198,212,.6) 0 4px, transparent 4px 8px); }
.rml-contact-route-line::after,
.rml-ticket-route-line::after { content: ""; width: 7px; height: 7px; position: absolute; top: 50%; right: -1px; border-top: 1px solid var(--rml-green); border-right: 1px solid var(--rml-green); transform: translateY(-50%) rotate(45deg); }

.rml-contact-main { padding-top: 0; }
.rml-contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) 420px; align-items: start; gap: 22px; }
.rml-contact-form-card,
.rml-contact-sidebar-card { border: 1px solid var(--rml-support-border); border-radius: 14px; color: #f2f6f3; background: linear-gradient(145deg, rgba(17,22,18,.98), rgba(8,12,9,.98)); box-shadow: 0 24px 60px rgba(0,0,0,.22); }
.rml-contact-form-card { padding: 30px; }
.rml-contact-form-heading { max-width: 760px; margin-bottom: 24px; }
.rml-contact-form-heading > span { color: var(--rml-green); }
.rml-contact-form-heading h2 { margin: 8px 0 7px; color: #fff; font-size: clamp(26px, 2.5vw, 35px); font-weight: 800; line-height: 1.15; letter-spacing: -.03em; }
.rml-contact-form-heading p,
.rml-contact-sidebar-section p { margin: 0; color: var(--rml-support-muted); font-size: 14px; line-height: 1.65; }
.rml-contact-required { margin: 0 0 17px; color: #9eaaa1; font-size: 12px; }
.rml-contact-fields-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.rml-contact-field { margin-bottom: 18px; }
.rml-contact-field label { display: block; margin: 0 0 7px; color: #f0f4f1; font-size: 13px; font-weight: 700; }
.rml-contact-field .form-control,
.rml-ticket-support-page .form-control,
.rml-ticket-support-page .custom-file-label { min-height: 49px; padding: 11px 14px; border: 1px solid rgba(255,255,255,.17); border-radius: 8px; color: #f2f5f2; background-color: #151a17; box-shadow: none; transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease; }
.rml-contact-field select.form-control,
.rml-ticket-support-page select.form-control { color-scheme: dark; }
.rml-contact-field .form-control:hover,
.rml-ticket-support-page .form-control:hover { border-color: rgba(22,198,212,.42); }
.rml-contact-field .form-control:focus,
.rml-ticket-support-page .form-control:focus { border-color: var(--rml-green); color: #fff; background-color: #111613; box-shadow: 0 0 0 3px rgba(22,198,212,.14); }
.rml-contact-field textarea.form-control { min-height: 165px; resize: vertical; }
.rml-contact-field .form-control::placeholder,
.rml-ticket-support-page .form-control::placeholder { color: #879189; opacity: 1; }
.rml-contact-security,
.rml-ticket-captcha { margin-top: 4px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.09); }
.rml-contact-security-label,
.rml-ticket-security-label { display: block; margin-bottom: 10px; color: #e8eee9; font-size: 10px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.rml-contact-security > .text-center,
.rml-ticket-captcha > .text-center { justify-content: flex-start; text-align: left; }
.rml-contact-security .recaptcha-container,
.rml-ticket-captcha .recaptcha-container { margin-left: 0; margin-right: 0; }
.rml-contact-page .rml-contact-security { margin-top: 2px; padding-top: 12px; }
.rml-contact-page .rml-contact-security-label { margin-bottom: 7px; color: #82959a; font-size: 12px; letter-spacing: .08em; }
.rml-contact-page .rml-contact-security .rml-captcha-card { max-width: 500px !important; margin-top: 2px !important; margin-bottom: 7px !important; padding: 0 12px 11px !important; border: 1px solid rgba(32,223,113,.18) !important; border-radius: 8px !important; background: #07171b !important; box-shadow: none !important; color: #dce8e6 !important; }
.rml-contact-page .rml-contact-security .rml-captcha-copy { gap: 9px !important; margin: 0 -12px 8px !important; padding: 10px 12px !important; border-bottom: 1px solid rgba(32,223,113,.12) !important; background: #081c21 !important; }
.rml-contact-page .rml-contact-security .rml-captcha-icon { width: 32px !important; height: 32px !important; flex-basis: 32px !important; border-radius: 9px !important; font-size: 14px !important; }
.rml-contact-page .rml-contact-security .rml-captcha-copy strong { margin-top: 5px !important; margin-bottom: 0 !important; font-size: 14px !important; }
.rml-contact-page .rml-contact-security .rml-captcha-fields { grid-template-columns: 150px minmax(0, 1fr) !important; align-items: end !important; gap: 8px !important; padding: 8px !important; border: 1px solid #1d3940 !important; border-radius: 8px !important; background: #061419 !important; }
.rml-contact-page .rml-contact-security .rml-captcha-card .captchaimage { height: 44px !important; padding: 2px !important; border: 1px solid #C8DFE5 !important; border-radius: 6px !important; background: #FFFFFF !important; }
.rml-contact-page .rml-contact-security .rml-captcha-card .captchaimage img { width: auto !important; max-width: 100% !important; max-height: 42px !important; object-fit: contain !important; }
.rml-contact-page .rml-contact-security .rml-captcha-input label { margin-bottom: 4px !important; color: #526875 !important; font-size: 12px !important; }
.rml-contact-page .rml-contact-security .rml-captcha-input .form-control { height: 44px !important; border: 1px solid #A1BAC4 !important; border-radius: 6px !important; color: #071E2E !important; background: #F7F9FA !important; }
.rml-contact-page .rml-contact-security .rml-captcha-input .form-control::placeholder { color: #526875 !important; opacity: 1 !important; }
.rml-contact-page .rml-contact-security .rml-captcha-input .form-control:focus { border-color: #16C6D4 !important; outline: 0 !important; box-shadow: 0 0 0 3px rgba(22,198,212,.14) !important; }
.rml-contact-page .rml-contact-security + .rml-contact-submit-area { padding-top: 10px; }
.rml-contact-submit-area { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 17px; }
.rml-contact-privacy { max-width: 540px; margin: 0; color: #98a39b; font-size: 12px; line-height: 1.55; }
.rml-contact-privacy a { color: var(--rml-green); font-weight: 700; }
.rml-contact-submit,
.rml-ticket-submit { min-height: 48px; flex: 0 0 auto; padding: 12px 23px; border: 1px solid var(--rml-green); border-radius: 8px; color: #0c1209; background: var(--rml-green); font-weight: 800; box-shadow: 0 10px 28px rgba(22,198,212,.12); }
.rml-contact-submit:hover,
.rml-ticket-submit:hover { border-color: #b0f458; color: #0c1209; background: #b0f458; transform: translateY(-1px); }

.rml-contact-sidebar { align-self: start; }
.rml-contact-sidebar-card { padding: 27px; }
.rml-contact-sidebar-title,
.rml-ticket-aside h2 { margin: 0 0 18px; padding-bottom: 17px; border-bottom: 1px solid rgba(255,255,255,.12); color: #fff; font-size: 21px; font-weight: 760; }
.rml-contact-business { display: grid; grid-template-columns: 43px minmax(0,1fr); gap: 17px; padding: 2px 0 20px; margin-bottom: 22px; border-bottom: 1px solid rgba(255,255,255,.1); }
.rml-contact-business-icon { width: 43px; height: 43px; display: grid; place-items: center; border: 1px solid rgba(22,198,212,.55); border-radius: 12px; color: var(--rml-green); background: rgba(22,198,212,.04); font-size: 16px; }
.rml-contact-business strong,
.rml-contact-business span { display: block; }
.rml-contact-business strong { margin: 0 0 4px; color: #fff; font-size: 15px; font-weight: 750; }
.rml-contact-business span { margin-bottom: 7px; color: #b5c0b7; font-size: 12.5px; }
.rml-contact-business a { color: var(--rml-green); font-size: 12px; font-weight: 650; overflow-wrap: anywhere; text-decoration: none; }
.rml-contact-business a:hover { color: #b0f458; text-decoration: underline; }
.rml-contact-business a:focus-visible { outline: 2px solid rgba(22,198,212,.7); outline-offset: 3px; }
.rml-contact-sidebar-section { position: relative; padding-left: 60px; }
.rml-contact-sidebar-section + .rml-contact-sidebar-section { margin-top: 22px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.1); }
.rml-contact-sidebar-icon { width: 43px; height: 43px; position: absolute; top: 0; left: 0; display: grid; place-items: center; border: 1px solid rgba(22,198,212,.55); border-radius: 50%; color: var(--rml-green); background: rgba(22,198,212,.04); font-size: 16px; }
.rml-contact-sidebar-section h3 { margin: 1px 0 8px; color: #fff; font-size: 18px; font-weight: 730; line-height: 1.3; }
.rml-contact-sidebar-link { min-height: 39px; width: fit-content; display: inline-flex; align-items: center; justify-content: center; gap: 12px; margin-top: 14px; padding: 9px 14px; border: 1px solid rgba(22,198,212,.7); border-radius: 8px; color: var(--rml-green); font-size: 13px; font-weight: 750; text-decoration: none; }
.rml-contact-sidebar-link:hover { color: #0b1108; background: var(--rml-green); text-decoration: none; }
.rml-contact-guidance,
.rml-ticket-aside ul { display: grid; gap: 0; margin: 22px 0 0; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); list-style: none; }
.rml-contact-guidance li,
.rml-ticket-aside li { min-height: 44px; display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 10px; color: #c5cec7; font-size: 13px; line-height: 1.45; }
.rml-contact-guidance i,
.rml-ticket-aside li i { color: var(--rml-green); font-size: 16px; text-align: center; }
.rml-contact-guidance + .rml-contact-sidebar-section { margin-top: 22px; }
.rml-contact-services { padding-left: 0; }
.rml-contact-services-kicker { color: var(--rml-green); }
.rml-contact-services nav { display: grid; }
.rml-contact-services a { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,.09); color: #d9e0da; font-size: 13px; font-weight: 650; text-decoration: none; }
.rml-contact-services a:last-child { border-bottom: 0; }
.rml-contact-services a:hover { color: var(--rml-green); }
.rml-contact-errors .alert { margin-bottom: 20px; border-radius: 9px; }
.rml-contact-success { border-color: rgba(22,198,212,.34); color: #e8f3e9; background: rgba(22,198,212,.08); }
.rml-contact-success strong { color: #fff; }
.rml-contact-success p { color: #bdc9bf; }

/* Formulário de abertura de ticket */
.rml-ticket-support-page {
    position: relative;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 0 66px;
    overflow: clip;
}
.rml-ticket-support-page .rml-ticket-heading,
.rml-ticket-support-page .rml-ticket-content { width: min(1380px, calc(100% - 48px)); margin-inline: auto; }
.rml-ticket-support-page .rml-ticket-heading { min-height: 230px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr); align-items: center; gap: 62px; margin-bottom: 0; padding: 42px 4px 38px; border: 0; border-radius: 0; background: none; box-shadow: none; }
.rml-ticket-support-page .rml-ticket-heading-copy small { color: var(--rml-green); font-size: 11px; font-weight: 850; letter-spacing: .13em; }
.rml-ticket-support-page .rml-ticket-heading-copy small::before { content: ""; width: 8px; height: 8px; display: inline-block; margin-right: 9px; border: 2px solid var(--rml-green); border-radius: 50%; box-shadow: 0 0 0 3px rgba(22,198,212,.08); }
.rml-ticket-support-page .rml-ticket-heading h1 { max-width: 720px; margin: 14px 0 10px; color: #fff; font-size: clamp(36px, 4.1vw, 58px); font-weight: 820; line-height: 1.02; letter-spacing: -.045em; }
.rml-ticket-support-page .rml-ticket-heading p { max-width: 680px; margin: 0; color: #c4cdc6; font-size: 16px; line-height: 1.65; }
.rml-ticket-support-page .rml-ticket-content { display: grid; grid-template-columns: minmax(0, 1fr) 420px; align-items: start; gap: 22px; }
.rml-ticket-support-page .rml-ticket-form,
.rml-ticket-aside,
.rml-ticket-support-page .rml-ticket-shortcuts { border: 1px solid var(--rml-support-border); border-radius: 14px; color: #f2f6f3; background: linear-gradient(145deg, rgba(17,22,18,.98), rgba(8,12,9,.98)); box-shadow: 0 24px 60px rgba(0,0,0,.22); }
.rml-ticket-support-page .rml-ticket-form { margin: 0; padding: 30px; }
.rml-ticket-support-page .rml-ticket-form-heading { margin-bottom: 24px; padding: 0; overflow: visible; border: 0; border-radius: 0; background: none; }
.rml-ticket-support-page .rml-ticket-form-heading::before { display: none; }
.rml-ticket-support-page .rml-ticket-form-heading span { margin-bottom: 7px; color: var(--rml-green); }
.rml-ticket-support-page .rml-ticket-form-heading h2 { margin-bottom: 7px; color: #fff; font-size: clamp(26px, 2.5vw, 35px); }
.rml-ticket-support-page .rml-ticket-form-heading p { color: var(--rml-support-muted); }
.rml-ticket-support-page label { color: #f0f4f1; }
.rml-ticket-support-page .form-control:disabled { border-color: rgba(255,255,255,.1); color: #98a29a; background: #101411; }
.rml-ticket-support-page #inputSubject { margin-bottom: 0; color: #fff; background: #151a17; }
.rml-ticket-support-page .rml-ticket-routing-grid { margin: 1px 0 19px; padding: 17px 18px 0; border-color: rgba(255,255,255,.1); background: rgba(255,255,255,.025); }
.rml-ticket-support-page .md-editor { border-color: rgba(255,255,255,.17); background: #151a17; }
.rml-ticket-support-page .md-header { border-color: rgba(255,255,255,.1); background: #1a201c; }
.rml-ticket-support-page .md-editor > .btn-toolbar { background-color: #1a201c !important; }
.rml-ticket-support-page .md-header .btn { color: #C8DFE5; border-color: rgba(255,255,255,.12); background: #111512; }
.rml-ticket-support-page .md-header .btn:hover { color: var(--rml-green); background: #202720; }
.rml-ticket-support-page .md-editor > textarea#inputMessage.markdown-editor { min-height: 230px; border-color: rgba(255,255,255,.1) transparent transparent !important; color: #f1f4f2; background-color: #111512 !important; }
.rml-ticket-support-page .md-editor > .md-preview { border-color: rgba(255,255,255,.1) transparent !important; color: #e9efea; background-color: #111512 !important; }
.rml-ticket-support-page .md-footer { border-top-color: rgba(255,255,255,.09); color: #8f9991; background: #111512; }
.rml-ticket-support-page #customFieldsContainer:not(:empty) { border-color: rgba(255,255,255,.1); background: rgba(255,255,255,.025); }
.rml-ticket-support-page .rml-ticket-security { border-top-color: rgba(255,255,255,.1); }
.rml-ticket-support-page .rml-ticket-security-copy > span { color: var(--rml-green); background: rgba(22,198,212,.1); }
.rml-ticket-support-page .rml-ticket-security-copy strong { color: #f1f5f2; }
.rml-ticket-support-page .rml-ticket-security-copy p { color: #aab4ac; }
.rml-ticket-support-page .rml-ticket-security-widget .cf-turnstile { width: 100%; min-width: 0; }
.rml-ticket-support-page .rml-ticket-security-widget iframe { display: block; max-width: 100%; }
.rml-ticket-support-page .rml-ticket-security-unavailable { border-color: rgba(245,190,83,.28); color: #e5ca8f; background: rgba(245,190,83,.07); }
.rml-ticket-attachments { margin-top: 20px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.09); }
.rml-ticket-attachments .attachment-group { margin-bottom: 9px; }
.rml-ticket-attachments .custom-file-label { overflow: hidden; color: #bbc4bd; white-space: nowrap; text-overflow: ellipsis; }
.rml-ticket-attachments .custom-file-label::after { height: calc(100% - 2px); display: flex; align-items: center; top: 1px; right: 1px; border: 0; color: #dfe5e0; background: #222923; }
.rml-ticket-attachment-add { min-height: 49px; padding: 10px 16px; border: 1px solid rgba(22,198,212,.55); border-radius: 0 8px 8px 0; color: var(--rml-green); background: rgba(22,198,212,.04); font-weight: 700; }
.rml-ticket-attachment-add:hover { color: #0b1108; background: var(--rml-green); }
.rml-ticket-attachments-help { display: block; margin-top: 8px; color: #98a39b; font-size: 11px; line-height: 1.55; }
.rml-ticket-support-page .rml-ticket-actions { margin-top: 17px; padding-top: 18px; border-top-color: rgba(255,255,255,.1); }
.rml-ticket-support-page .rml-ticket-cancel { min-height: 48px; padding: 12px 20px; border-color: rgba(255,255,255,.24); color: #d6ddd7; background: transparent; }
.rml-ticket-support-page .rml-ticket-cancel:hover { border-color: rgba(255,255,255,.4); color: #fff; background: rgba(255,255,255,.05); }
.rml-ticket-aside { padding: 27px; }
.rml-ticket-aside ul { margin-top: 0; padding-top: 3px; border-top: 0; }
.rml-ticket-aside li { min-height: 68px; grid-template-columns: 38px 1fr; border-bottom: 1px solid rgba(255,255,255,.09); }
.rml-ticket-aside li:last-child { border-bottom: 0; }
.rml-ticket-aside li i { font-size: 18px; }
.rml-ticket-aside > p { margin: 16px 0 0; color: #8f9991; font-size: 12px; }
.rml-ticket-support-page .rml-ticket-sidebar { display: grid; align-content: start; gap: 20px; min-width: 0; }
.rml-ticket-support-page .rml-ticket-shortcuts { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 15px; padding: 23px; }
.rml-ticket-support-page .rml-ticket-shortcuts-icon { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(22,198,212,.48); border-radius: 11px; color: var(--rml-green); background: rgba(22,198,212,.06); font-size: 17px; }
.rml-ticket-support-page .rml-ticket-shortcuts h2 { margin: 0 0 8px; color: #fff; font-size: 19px; font-weight: 760; line-height: 1.3; }
.rml-ticket-support-page .rml-ticket-shortcuts p { margin: 0; color: #aeb8b0; font-size: 13px; line-height: 1.55; }
.rml-ticket-support-page .rml-ticket-shortcuts nav { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 17px; }
.rml-ticket-support-page .rml-ticket-shortcuts a { min-height: 39px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 9px 13px; border: 1px solid rgba(255,255,255,.2); border-radius: 8px; color: #C8DFE5; font-size: 12px; font-weight: 750; text-decoration: none; transition: border-color .18s ease, color .18s ease, background-color .18s ease; }
.rml-ticket-support-page .rml-ticket-shortcuts a:first-child { border-color: rgba(22,198,212,.62); color: var(--rml-green); }
.rml-ticket-support-page .rml-ticket-shortcuts a:hover { border-color: var(--rml-green); color: #0b1108; background: var(--rml-green); text-decoration: none; }

.rml-contact-page input:focus-visible,
.rml-contact-page select:focus-visible,
.rml-contact-page textarea:focus-visible,
.rml-contact-page a:focus-visible,
.rml-contact-page button:focus-visible,
.rml-ticket-support-page input:focus-visible,
.rml-ticket-support-page select:focus-visible,
.rml-ticket-support-page textarea:focus-visible,
.rml-ticket-support-page a:focus-visible,
.rml-ticket-support-page button:focus-visible { outline: 2px solid var(--rml-green); outline-offset: 3px; }

@media (max-width: 1099px) {
    .rml-contact-hero,
    .rml-ticket-support-page .rml-ticket-heading { grid-template-columns: minmax(0, 1fr) minmax(350px, .8fr); gap: 34px; }
    .rml-contact-grid,
    .rml-ticket-support-page .rml-ticket-content { grid-template-columns: minmax(0, 1fr) 330px; }
}

@media (max-width: 899px) {
    .rml-contact-hero,
    .rml-ticket-support-page .rml-ticket-heading { min-height: 0; grid-template-columns: 1fr; gap: 32px; padding-top: 38px; padding-bottom: 34px; }
    .rml-contact-route,
    .rml-ticket-route { width: min(600px, 100%); }
    .rml-contact-grid,
    .rml-ticket-support-page .rml-ticket-content { grid-template-columns: 1fr; }
    .rml-contact-sidebar,
    .rml-ticket-aside,
    .rml-ticket-support-page .rml-ticket-sidebar { position: static; }
}

@media (max-width: 767px) {
    .rml-contact-fields-grid { grid-template-columns: 1fr; gap: 0; }
    .rml-contact-submit-area { align-items: stretch; flex-direction: column; }
    .rml-contact-submit { width: 100%; }
    .rml-ticket-attachments .input-group { display: grid; grid-template-columns: 1fr; }
    .rml-ticket-attachments .input-group-append { margin-left: 0; }
    .rml-ticket-attachment-add { width: 100%; margin-top: 8px; border-radius: 8px; }
    .rml-ticket-support-page .rml-ticket-actions { align-items: stretch; flex-direction: column; }
    .rml-ticket-support-page .rml-ticket-actions .btn { width: 100%; }
    .rml-ticket-support-page .rml-ticket-submit { order: 1; }
    .rml-ticket-support-page .rml-ticket-cancel { order: 2; }
}

@media (max-width: 520px) {
    .rml-contact-hero,
    .rml-contact-main,
    .rml-ticket-support-page .rml-ticket-heading,
    .rml-ticket-support-page .rml-ticket-content { width: calc(100% - 28px); }
    .rml-contact-hero,
    .rml-ticket-support-page .rml-ticket-heading { gap: 25px; padding-top: 30px; padding-bottom: 28px; }
    .rml-contact-hero h1,
    .rml-ticket-support-page .rml-ticket-heading h1 { font-size: clamp(34px, 10.8vw, 45px); }
    .rml-contact-route,
    .rml-ticket-route { gap: 6px; }
    .rml-contact-route-step,
    .rml-ticket-route-step { gap: 7px; font-size: 11px; }
    .rml-contact-route-step > span,
    .rml-ticket-route-step > span { width: 46px; height: 46px; border-radius: 12px; font-size: 17px; }
    .rml-contact-route-line,
    .rml-ticket-route-line { min-width: 16px; }
    .rml-contact-form-card,
    .rml-contact-sidebar-card,
    .rml-ticket-support-page .rml-ticket-form,
    .rml-ticket-aside { padding: 22px 18px; border-radius: 12px; }
    .rml-contact-sidebar-section { padding-left: 54px; }
    .rml-ticket-support-page .rml-ticket-routing-grid { padding: 14px 13px 0; }
    .rml-ticket-support-page .rml-ticket-shortcuts { grid-template-columns: 38px minmax(0, 1fr); gap: 13px; padding: 20px 18px; }
    .rml-ticket-support-page .rml-ticket-shortcuts-icon { width: 38px; height: 38px; }
    .rml-ticket-support-page .rml-ticket-shortcuts nav { align-items: stretch; flex-direction: column; }
    .rml-ticket-support-page .rml-ticket-shortcuts a { width: 100%; }
    .rml-contact-security,
    .rml-ticket-captcha { max-width: 100%; }
    .rml-contact-page .rml-contact-security .rml-captcha-card { padding: 0 10px 10px !important; }
    .rml-contact-page .rml-contact-security .rml-captcha-copy { margin-right: -10px !important; margin-bottom: 7px !important; margin-left: -10px !important; padding: 9px 10px !important; }
    .rml-contact-page .rml-contact-security .rml-captcha-fields { grid-template-columns: 1fr !important; gap: 7px !important; padding: 7px !important; }
    .rml-contact-page .rml-contact-security .rml-captcha-card .captchaimage { width: 100% !important; height: 48px !important; }
    .rml-contact-page .rml-contact-security .rml-captcha-card .captchaimage img { max-height: 46px !important; }
    .rml-contact-security iframe,
    .rml-ticket-captcha iframe { max-width: 100%; }
}

@media (max-width: 340px) {
    .rml-contact-security .recaptcha-container,
    .rml-ticket-captcha .recaptcha-container { width: 119%; margin-bottom: -14px; transform: scale(.84); transform-origin: left top; }
}

@media (prefers-reduced-motion: reduce) {
    .rml-contact-page *,
    .rml-contact-page *::before,
    .rml-contact-page *::after,
    .rml-ticket-support-page *,
    .rml-ticket-support-page *::before,
    .rml-ticket-support-page *::after { transition: none; animation: none; }
}

/* Rodape global — editorial tecnico, alinhado com a homepage */
#footer.rml-footer {
    padding: 0;
    border-top: 2px solid #16C6D4;
    color: #9CAAB5;
    background: #061925;
}

#footer.rml-footer > .container {
    width: min(1400px, calc(100% - 64px));
    max-width: none;
    padding: 0;
}

#footer.rml-footer .rml-footer-grid {
    display: grid;
    grid-template-columns: minmax(260px, 1.25fr) minmax(210px, 1fr) minmax(150px, .7fr) minmax(190px, .9fr) minmax(220px, .95fr);
    gap: 0;
    padding: 42px 0 34px;
}

#footer.rml-footer .rml-footer-brand,
#footer.rml-footer .rml-footer-column {
    min-width: 0;
}

#footer.rml-footer .rml-footer-column {
    padding: 2px 26px;
    border-left: 1px solid #0B2B43;
}

#footer.rml-footer .rml-footer-logo {
    display: inline-block;
    margin: 0 0 20px;
}

#footer.rml-footer .rml-footer-logo img {
    width: auto;
    max-width: 200px;
    height: auto;
    max-height: 78px;
}

#footer.rml-footer .rml-footer-brand p {
    max-width: 390px;
    margin: 0 0 20px;
    color: #9CAAB5;
    font-size: 13px;
    line-height: 1.65;
}

#footer.rml-footer .rml-footer-signature {
    display: block;
    color: #16C6D4;
    font-size: 12px;
    font-weight: 650;
    letter-spacing: .08em;
}

#footer.rml-footer .rml-footer-signature span {
    margin: 0 7px;
    color: #9CAAB5;
}

#footer.rml-footer .rml-footer-column h3 {
    position: relative;
    margin: 0 0 20px;
    padding-bottom: 10px;
    color: #F7F9FA;
    font-size: 14px;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}

#footer.rml-footer .rml-footer-column h3::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 32px;
    height: 2px;
    background: #16C6D4;
    content: "";
}

#footer.rml-footer .rml-footer-links {
    display: grid;
    gap: 13px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#footer.rml-footer .rml-footer-links > li { margin: 0; padding: 0; }

#footer.rml-footer .rml-footer-contacts address { margin: 0; font-style: normal; }

#footer.rml-footer .rml-footer-service-links {
    grid-template-columns: 1fr;
}

#footer.rml-footer .rml-footer-column .rml-footer-links a,
#footer.rml-footer .rml-footer-column .rml-footer-links .rml-cookie-manage {
    appearance: none;
    display: inline-flex;
    width: fit-content;
    margin: 0;
    padding: 0;
    border: 0;
    color: #F7F9FA;
    background: none;
    box-shadow: none;
    font-family: inherit;
    font-size: 13px;
    font-weight: inherit;
    line-height: 1.45;
    text-align: left;
    cursor: pointer;
    transition: color .18s ease, transform .18s ease;
}

#footer.rml-footer .rml-footer-column .rml-footer-links a:hover,
#footer.rml-footer .rml-footer-column .rml-footer-links .rml-cookie-manage:hover {
    color: #16C6D4;
    transform: translateX(3px);
}

#footer.rml-footer .rml-footer-column .rml-footer-links .rml-cookie-manage:focus-visible {
    outline: 2px solid #16C6D4;
    outline-offset: 4px;
    border-radius: 2px;
    color: #F7F9FA;
    box-shadow: none;
}

#footer.rml-footer .rml-footer-contact-item {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    margin: 0 0 16px;
    color: #F7F9FA;
    text-decoration: none;
}

#footer.rml-footer .rml-footer-contact-item > i {
    color: #16C6D4;
    font-size: 21px;
    text-align: center;
}

#footer.rml-footer .rml-footer-contact-item span,
#footer.rml-footer .rml-footer-contact-item small,
#footer.rml-footer .rml-footer-contact-item strong {
    display: block;
}

#footer.rml-footer .rml-footer-contact-item small {
    margin-bottom: 3px;
    color: #9CAAB5;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .13em;
    line-height: 1.2;
    text-transform: uppercase;
}

#footer.rml-footer .rml-footer-contact-item strong {
    color: #F7F9FA;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.45;
}

#footer.rml-footer a.rml-footer-contact-item:hover strong { color: #16C6D4; }

#footer.rml-footer .rml-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 0 16px;
    border-top: 1px solid #0B2B43;
    text-align: center;
}

#footer.rml-footer .rml-footer-bottom .copyright {
    margin: 0;
    color: #9CAAB5;
    font-size: 12px;
}

@media (max-width: 1120px) {
    #footer.rml-footer > .container { width: min(100% - 48px, 1050px); }

    #footer.rml-footer .rml-footer-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        padding: 46px 0 38px;
    }

    #footer.rml-footer .rml-footer-brand {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 245px minmax(0, 1fr) auto;
        gap: 26px;
        align-items: center;
        padding-bottom: 34px;
    }

    #footer.rml-footer .rml-footer-logo,
    #footer.rml-footer .rml-footer-brand p { margin-bottom: 0; }
    #footer.rml-footer .rml-footer-brand p { max-width: 460px; }
    #footer.rml-footer .rml-footer-column { padding: 4px 30px; }
    #footer.rml-footer .rml-footer-services { border-left: 0; padding-left: 0; }

}

@media (max-width: 820px) {
    #footer.rml-footer > .container { width: calc(100% - 36px); }

    #footer.rml-footer .rml-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 36px 0;
        padding: 38px 0 32px;
    }

    #footer.rml-footer .rml-footer-brand {
        display: block;
        padding-bottom: 4px;
    }

    #footer.rml-footer .rml-footer-logo { margin-bottom: 20px; }
    #footer.rml-footer .rml-footer-brand p { margin-bottom: 20px; }
    #footer.rml-footer .rml-footer-column { padding: 0 0 0 28px; }
    #footer.rml-footer .rml-footer-services { padding-left: 0; border-left: 0; }
    #footer.rml-footer .rml-footer-service-links { grid-template-columns: 1fr; }
    #footer.rml-footer .rml-footer-contacts { grid-column: 1 / -1; padding-top: 4px; padding-left: 0; border-left: 0; }
    #footer.rml-footer .rml-footer-contacts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
    #footer.rml-footer .rml-footer-contacts h3 { grid-column: 1 / -1; margin-bottom: 4px; }
    #footer.rml-footer .rml-footer-contacts address { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
    #footer.rml-footer .rml-footer-contact-item { margin-bottom: 0; }

}

@media (max-width: 520px) {
    #footer.rml-footer > .container { width: calc(100% - 28px); }
    #footer.rml-footer .rml-footer-grid { grid-template-columns: 1fr; gap: 30px; }
    #footer.rml-footer .rml-footer-brand { grid-column: auto; }
    #footer.rml-footer .rml-footer-logo img { max-width: 200px; }
    #footer.rml-footer .rml-footer-column { padding: 0; border-left: 0; }
    #footer.rml-footer .rml-footer-service-links { grid-template-columns: 1fr; }
    #footer.rml-footer .rml-footer-contacts { grid-column: auto; grid-template-columns: 1fr; gap: 0; }
    #footer.rml-footer .rml-footer-contacts h3 { grid-column: auto; margin-bottom: 24px; }
    #footer.rml-footer .rml-footer-contacts address { grid-column: auto; grid-template-columns: 1fr; gap: 0; }
    #footer.rml-footer .rml-footer-contact-item { margin-bottom: 19px; }
}

/* Área de cliente: fundação do portal autenticado */
body.rml-client-portal-page {
    min-width: 0;
    color: #0b2344;
    background: #FFFFFF;
}

.rml-client-portal-page .rml-client-portal-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 268px minmax(0, 1fr);
}

.rml-client-portal-sidebar {
    height: 100vh;
    position: sticky;
    top: 0;
    z-index: 45;
    display: flex;
    flex-direction: column;
    padding: 26px 20px 22px;
    overflow-y: auto;
    color: #0b2344;
    background: linear-gradient(180deg, #ffffff 0%, #faf7f0 100%);
    box-shadow: 12px 0 38px rgba(6, 25, 37, .08);
}

.rml-client-portal-brand { padding: 0 10px 26px; border-bottom: 1px solid #e7dfd0; }
.rml-client-portal-brand a { display: inline-flex; align-items: center; }
.rml-client-portal-brand img { width: 148px; height: auto;  filter:grayscale(1) brightness(.85) invert(1) sepia(.4) saturate(1.5) hue-rotate(165deg); }
.rml-client-portal-brand > span { display: block; margin-top: 9px; color: #506582; font-size: 11px; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }

.rml-client-portal-nav { display: flex; flex-direction: column; gap: 5px; padding: 25px 0; }
.rml-client-portal-nav > a {
    min-height: 48px;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    padding: 0 14px;
    border: 1px solid transparent;
    border-radius: 11px;
    color: #0b2344;
    font-size: 13px;
    font-weight: 680;
    text-decoration: none;
    transition: color .18s ease, background-color .18s ease, border-color .18s ease;
}
.rml-client-portal-nav > a > i { color: #506582; font-size: 16px; text-align: center; transition: color .18s ease; }
.rml-client-portal-nav > a:hover { border-color: rgba(183,122,11,.22); color: #0b2344; background: #faf7f0; }
.rml-client-portal-nav > a:hover > i { color: #ddb039; }
.rml-client-portal-nav > a.is-active { border-color: rgba(183,122,11,.38); color: #0b2344; background: rgba(183,122,11,.12); }
.rml-client-portal-nav > a.is-active > i { color: #ddb039; }
.rml-client-portal-nav > a.rml-client-portal-logout { margin-top: 13px; border-color: #e7dfd0; color: #0b2344; background: #faf7f0; }
.rml-client-portal-nav > a.rml-client-portal-logout:hover,
.rml-client-portal-nav > a.rml-client-portal-logout:focus { border-color: rgba(183,122,11,.34); color: #0b2344; background: rgba(183,122,11,.09); }
.rml-client-portal-nav-label { margin: 20px 14px 7px; color: #506582; font-size: 10px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.rml-client-portal-count { min-width: 21px; height: 21px; display: inline-grid; place-items: center; padding: 0 6px; border-radius: 999px; color: #0b2344; background: #ddb039; font-size: 10px; font-weight: 850; }

.rml-client-portal-support { margin-top: auto; padding: 17px; border: 1px solid rgba(183,122,11,.22); border-radius: 14px; background: rgba(183,122,11,.06); }
.rml-client-portal-support > i { color: #ddb039; font-size: 18px; }
.rml-client-portal-support strong { display: block; margin-top: 12px; color: #0b2344; font-size: 13px; }
.rml-client-portal-support span { display: block; margin-top: 5px; color: #506582; font-size: 11px; line-height: 1.55; }
.rml-client-portal-support a { min-height: 44px; display: flex; align-items: center; justify-content: center; margin-top: 14px; border-radius: 8px; color: #0b2344; background: #ddb039; font-size: 11px; font-weight: 850; text-decoration: none; }

 .rml-client-portal-support a:hover { color: #0b2344; background: #edc457; }
.rml-client-portal-nav > a:focus-visible,
.rml-client-portal-support a:focus-visible { outline: 2px solid #edc457; outline-offset: 2px; }

.rml-client-portal-stage { min-width: 0; }
.rml-client-portal-topbar {
    min-height: 82px;
    position: sticky;
    top: 0;
    z-index: 35;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    padding: 13px clamp(22px, 3vw, 46px);
    border-bottom: 1px solid #e7dfd0;
    background: rgba(255,255,255,.95);
    backdrop-filter: blur(14px);
}
.rml-client-portal-topbar-start { display: flex; align-items: center; gap: 13px; }
.rml-client-portal-topbar-start > div > span { display: block; color: #506582; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.rml-client-portal-topbar-start > div > strong { display: block; margin-top: 2px; color: #0b2344; font-size: 18px; font-weight: 800; }
.rml-client-portal-menu-toggle { width: 44px; height: 44px; display: none; place-items: center; border: 1px solid #e7dfd0; border-radius: 10px; color: #0b2344; background: #fff; }
.rml-client-portal-topbar-actions { display: flex; align-items: center; gap: 12px; }

.rml-client-portal-notifications > button { width: 44px; height: 44px; position: relative; display: grid; place-items: center; border: 1px solid #e7dfd0; border-radius: 11px; color: #506582; background: #fff; font-size: 16px; }
.rml-client-portal-notifications > button > span { min-width: 18px; height: 18px; position: absolute; top: -5px; right: -5px; display: grid; place-items: center; padding: 0 4px; border: 2px solid #fff; border-radius: 999px; color: #0b2344; background: var(--rml-green); font-size: 9px; font-weight: 900; }
.rml-client-portal-notifications > button:hover { border-color: #ddb039; color: #996500; background: #faf3e2; }

.rml-client-portal-account > button { min-height: 50px; display: flex; align-items: center; gap: 11px; padding: 5px 9px 5px 6px; border: 1px solid #e7dfd0; border-radius: 13px; color: #0b2344; background: #fff; text-align: left; }
.rml-client-portal-avatar { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; color: #996500; background: #faf3e2; font-size: 14px; font-weight: 900; text-transform: uppercase; }
.rml-client-portal-account-copy { min-width: 118px; display: block; }
.rml-client-portal-account-copy strong { max-width: 190px; display: block; overflow: hidden; color: #0b2344; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.rml-client-portal-account-copy small { display: block; margin-top: 2px; color: #506582; font-size: 10px; }
.rml-client-portal-account > button > i { color: #506582; font-size: 10px; }
.rml-client-portal-account .dropdown-menu { min-width: 230px; margin-top: 8px; padding: 8px; border: 1px solid #e7dfd0; border-radius: 12px; box-shadow: 0 18px 44px rgba(6,25,37,.13); }
.rml-client-portal-account .dropdown-item { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 8px; color: #506582; font-size: 12px; }
.rml-client-portal-account .dropdown-item:hover { color: #996500; background: #faf3e2; }
.rml-client-portal-account .dropdown-item i { width: 17px; color: #996500; text-align: center; }

.rml-client-portal-overlay { display: none; }
.rml-client-portal-page section#main-body.rml-client-portal-body { min-height: calc(100vh - 82px); padding: 34px clamp(22px, 3vw, 46px) 48px; background: #FFFFFF; }
.rml-client-portal-container { width: 100%; max-width: 1540px; margin: 0 auto; }
.rml-client-portal-body .primary-content { min-width: 0; }
.rml-client-portal-body > .rml-client-portal-container > .row { margin-right: -10px; margin-left: -10px; }
.rml-client-portal-body > .rml-client-portal-container > .row > [class*="col-"] { padding-right: 10px; padding-left: 10px; }
.rml-client-portal-page #footer.rml-footer { display: none; }

/* Paleta clara e dourada da área de cliente; nomes das variáveis preservados. */
.rml-client-portal-page {
    --rml-bg: #faf9f6;
    --rml-bg-soft: #faf7f0;
    --rml-surface: #ffffff;
    --rml-surface-2: #faf7f0;
    --rml-line: #e7dfd0;
    --rml-text: #0b2344;
    --rml-text-soft: #506582;
    --rml-text-muted: #506582;
    --rml-green: #ddb039;
    --rml-green-strong: #ddb039;
    --rml-green-hover: #edc457;
    --rml-green-soft: rgba(183,122,11, .11);
    --rml-client-green: #ddb039;
    --rml-client-green-hover: #edc457;
    --rml-client-green-dark: #996500;
    --rml-client-green-ring: rgba(183,122,11, .18);
}
.rml-client-portal-page .btn-primary,
.rml-client-portal-page .btn-success,
.rml-client-portal-page .btn-info {
    border-color: var(--rml-client-green) !important;
    color: #0b2344 !important;
    background: var(--rml-client-green) !important;
}
.rml-client-portal-page .btn-primary:hover,
.rml-client-portal-page .btn-primary:focus,
.rml-client-portal-page .btn-success:hover,
.rml-client-portal-page .btn-success:focus,
.rml-client-portal-page .btn-info:hover,
.rml-client-portal-page .btn-info:focus {
    border-color: var(--rml-client-green-hover) !important;
    color: #0b2344 !important;
    background: var(--rml-client-green-hover) !important;
}
.rml-client-portal-page .form-control:focus,
.rml-client-portal-page .custom-select:focus {
    border-color: var(--rml-client-green) !important;
    box-shadow: 0 0 0 4px var(--rml-client-green-ring) !important;
}
.rml-client-portal-page input[type="checkbox"],
.rml-client-portal-page input[type="radio"] { accent-color: var(--rml-client-green); }
.rml-client-portal-page .pagination .page-item.active .page-link,
.rml-client-portal-page .dataTables_paginate .paginate_button.current {
    border-color: var(--rml-client-green) !important;
    color: #0b2344 !important;
    background: var(--rml-client-green) !important;
}
.rml-client-portal-page .text-primary,
.rml-client-portal-page .text-success { color: var(--rml-client-green-dark) !important; }

.rml-client-portal-body .sidebar .card,
.rml-client-portal-body .sidebar .panel { border-color: #e7dfd0; border-radius: 13px; box-shadow: none; }
.rml-client-portal-body .sidebar .card-header,
.rml-client-portal-body .sidebar .panel-heading { color: #0b2344; background: #faf9f6; }
.rml-client-portal-body .sidebar .list-group-item { background: #fff; }
.rml-client-portal-body .sidebar .list-group-item.active { border-color: #ddb039; color: #996500; background: #faf3e2; }

.rml-client-portal-page .rml-dashboard-heading,
.rml-client-portal-page .rml-page-heading {
    min-height: 154px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 22px;
    padding: 30px 32px;
    overflow: hidden;
    border: 1px solid #e7dfd0;
    border-radius: 18px;
    color: #0b2344;
    background: radial-gradient(circle at 96% -20%, rgba(183,122,11,.18), transparent 35%), #fff;
    box-shadow: 0 12px 30px rgba(6,25,37,.055);
}
.rml-client-portal-page .rml-dashboard-heading::after { opacity: .035; }
.rml-client-portal-page .rml-dashboard-heading > div,
.rml-client-portal-page .rml-page-heading > div { position: relative; z-index: 1; }
.rml-client-portal-page .rml-dashboard-heading span,
.rml-client-portal-page .rml-page-heading span { color: #996500; font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.rml-client-portal-page .rml-dashboard-heading h1,
.rml-client-portal-page .rml-page-heading h1 { margin: 7px 0 8px; color: #0b2344; font-size: clamp(28px, 3vw, 38px); font-weight: 850; letter-spacing: -.035em; }
.rml-client-portal-page .rml-dashboard-heading p,
.rml-client-portal-page .rml-page-heading p { max-width: 650px; margin: 0; color: #506582; font-size: 13px; line-height: 1.65; }
.rml-dashboard-heading-action { min-height: 45px; position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 17px; border: 1px solid #e7dfd0; border-radius: 10px; color: #996500; background: #faf3e2; font-size: 12px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.rml-dashboard-heading-action:hover { border-color: var(--rml-green); color: #0b2344; background: var(--rml-green); text-decoration: none; }

.rml-client-portal-page .rml-client-dashboard .tiles { margin-bottom: 22px !important; }
.rml-client-portal-page .rml-client-dashboard .tiles .tile { min-height: 136px; border-radius: 14px; box-shadow: 0 9px 24px rgba(6,25,37,.05); }
.rml-client-portal-page .rml-client-dashboard .tiles .tile:hover { border-color: #edc457 !important; transform: translateY(-2px); box-shadow: 0 14px 30px rgba(6,25,37,.08); }
.rml-client-portal-page .rml-client-dashboard .tiles .tile i { color: #996500; background: #faf3e2; }
.rml-client-portal-page .rml-client-dashboard .tiles .tile .title { color: #506582; letter-spacing: .06em; }

.rml-client-portal-page .client-home-cards .card { border-radius: 14px; box-shadow: 0 9px 24px rgba(6,25,37,.05); }
.rml-client-portal-page .client-home-cards .card-header { padding: 17px 18px; border-bottom: 1px solid #e7dfd0; color: #0b2344; background: #fff; }
.rml-client-portal-page .client-home-cards .card-title { color: #0b2344; }
.rml-client-portal-page .client-home-cards .card-title > i { width: 30px; height: 30px; display: inline-grid; place-items: center; border-radius: 8px; color: #996500; background: #faf3e2; }
.rml-client-portal-page .client-home-cards .card-header .btn { border: 1px solid #e7dfd0 !important; color: #996500 !important; background: #faf3e2 !important; }
.rml-client-portal-page .client-home-cards .card-header .btn:hover { border-color: var(--rml-green) !important; color: #0b2344 !important; background: var(--rml-green) !important; }
.rml-client-portal-page .client-home-cards .list-group-item { padding: 13px 17px; }
.rml-client-portal-page .client-home-cards .card-footer { min-height: 7px; background: #faf9f6; }

.rml-dashboard-support { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 18px; margin-top: 4px; padding: 22px 24px; border: 1px solid #e7dfd0; border-radius: 15px; background: linear-gradient(100deg, #faf3e2, #fff); }
.rml-dashboard-support-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 13px; color: #996500; background: #faf3e2; font-size: 19px; }
.rml-dashboard-support > div > span { color: #996500; font-size: 9px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.rml-dashboard-support h2 { margin: 4px 0 3px; color: #0b2344; font-size: 17px; font-weight: 800; }
.rml-dashboard-support p { margin: 0; color: #506582; font-size: 12px; }
.rml-dashboard-support .btn { min-height: 44px; display: inline-flex; align-items: center; gap: 10px; padding: 0 16px; border: 1px solid #e7dfd0; border-radius: 9px; color: #996500; background: #fff; font-size: 11px; font-weight: 800; }
.rml-dashboard-support .btn:hover { border-color: var(--rml-green); color: #0b2344; background: var(--rml-green); }

.rml-services-table-card { padding: 18px; border: 1px solid #e7dfd0; border-radius: 16px; background: #fff; box-shadow: 0 10px 28px rgba(6,25,37,.055); }
.rml-services-table-card .dataTables_wrapper .row:first-child { align-items: center; margin-bottom: 15px; padding: 0 2px; }
.rml-services-table-card .dataTables_wrapper .dataTables_filter input,
.rml-services-table-card .dataTables_wrapper .dataTables_length select { min-height: 40px; border-radius: 9px; background: #faf9f6; }
.rml-services-table-card table.table-list { margin-bottom: 4px; border: 0; border-radius: 11px; box-shadow: none; }
.rml-services-table-card table.table-list thead th { background: #faf9f6; }
.rml-services-table-card table.table-list tbody tr { transition: background-color .16s ease; }
.rml-services-table-card table.table-list tbody tr:hover { background: #faf3e2; }
.rml-services-table-card .table-container { overflow-x: auto; scrollbar-width: thin; }
.rml-services-table-card .label.status { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border: 1px solid currentColor; border-radius: 999px; font-size: 10px; font-weight: 800; }
.rml-services-table-card .label.status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }

.rml-client-portal-page a:focus-visible,
.rml-client-portal-page button:focus-visible,
.rml-client-portal-page input:focus-visible,
.rml-client-portal-page select:focus-visible { outline: 3px solid rgba(183,122,11,.32); outline-offset: 2px; }

@media (max-width: 1199px) {
    .rml-client-portal-page .rml-client-portal-shell { grid-template-columns: 238px minmax(0, 1fr); }
    .rml-client-portal-sidebar { padding-right: 15px; padding-left: 15px; }
    .rml-client-portal-body > .rml-client-portal-container > .row > .col-lg-4 { flex: 0 0 100%; max-width: 100%; }
    .rml-client-portal-body > .rml-client-portal-container > .row > .primary-content { flex: 0 0 100%; max-width: 100%; }
    .rml-client-portal-body .sidebar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    .rml-client-portal-body .sidebar .card { margin-bottom: 0 !important; }
}

@media (max-width: 991px) {
    .rml-client-portal-page .rml-client-portal-shell { display: block; }
    .rml-client-portal-sidebar { width: min(290px, 86vw); position: fixed; left: 0; transform: translateX(-105%); transition: transform .24s ease; }
    .rml-client-portal-shell.is-menu-open .rml-client-portal-sidebar { transform: translateX(0); }
    .rml-client-portal-overlay { position: fixed; inset: 0; z-index: 40; display: block; border: 0; visibility: hidden; opacity: 0; background: rgba(6,25,37,.52); transition: opacity .2s ease, visibility .2s ease; }
    .rml-client-portal-shell.is-menu-open .rml-client-portal-overlay { visibility: visible; opacity: 1; }
    .rml-client-portal-menu-toggle { display: grid; }
    .rml-client-portal-topbar { min-height: 72px; padding: 10px 20px; }
    .rml-client-portal-page section#main-body.rml-client-portal-body { min-height: calc(100vh - 72px); padding: 25px 20px 38px; }
}

@media (max-width: 767px) {
    .rml-client-portal-account-copy { display: none; }
    .rml-client-portal-account > button { min-height: 44px; padding: 3px 7px 3px 4px; }
    .rml-client-portal-avatar { width: 36px; height: 36px; }
    .rml-client-portal-page .rml-dashboard-heading,
    .rml-client-portal-page .rml-page-heading { min-height: 0; align-items: flex-start; flex-direction: column; padding: 25px 22px; }
    .rml-dashboard-heading-action { width: 100%; }
    .rml-dashboard-support { grid-template-columns: 44px minmax(0, 1fr); padding: 19px; }
    .rml-dashboard-support-icon { width: 44px; height: 44px; }
    .rml-dashboard-support .btn { grid-column: 1 / -1; justify-content: center; }
    .rml-client-portal-body .sidebar { grid-template-columns: 1fr; }
    .rml-services-table-card { padding: 12px; border-radius: 13px; }
}

@media (max-width: 520px) {
    .rml-client-portal-topbar-start > div > span { display: none; }
    .rml-client-portal-topbar-start > div > strong { font-size: 15px; }
    .rml-client-portal-topbar-actions { gap: 8px; }
    .rml-client-portal-notifications > button { width: 44px; height: 44px; }
    .rml-client-portal-page section#main-body.rml-client-portal-body { padding-right: 14px; padding-left: 14px; }
    .rml-client-portal-page .rml-client-dashboard .tiles .row { margin-right: -5px; margin-left: -5px; }
    .rml-client-portal-page .rml-client-dashboard .tiles .row > div { padding: 0 5px; }
    .rml-client-portal-page .rml-client-dashboard .tiles .tile { min-height: 118px; padding: 15px; }
    .rml-client-portal-page .rml-client-dashboard .tiles .tile i { top: 14px; right: 14px; width: 38px; height: 38px; font-size: 16px; }
    .rml-client-portal-page .rml-client-dashboard .tiles .tile .stat { margin-top: 27px; font-size: 27px; }
    .rml-dashboard-support { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .rml-client-portal-page *,
    .rml-client-portal-page *::before,
    .rml-client-portal-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Ações partilhadas: prevalecer sobre action-buttons.css apenas no portal. */
.rml-client-portal-page .rml-action.rml-action-primary {
    border-color: #ddb039 !important;
    color: #0b2344 !important;
    background: #ddb039 !important;
}
.rml-client-portal-page .rml-action.rml-action-primary:hover,
.rml-client-portal-page .rml-action.rml-action-primary:focus {
    border-color: #edc457 !important;
    color: #0b2344 !important;
    background: #edc457 !important;
}
.rml-client-portal-page .rml-action.rml-action-secondary {
    border-color: #ddb039 !important;
    color: #faf9f6 !important;
    background: #0b2344 !important;
}
.rml-client-portal-page .rml-action.rml-action-secondary:hover,
.rml-client-portal-page .rml-action.rml-action-secondary:focus {
    border-color: #edc457 !important;
    color: #faf9f6 !important;
    background: #0B2B43 !important;
}
.rml-client-portal-page .rml-action.rml-action-secondary::after { border-left-color: rgba(183,122,11,.3); }
.rml-client-portal-page .table-list thead th::before,
.rml-client-portal-page .table-list thead th::after { color: #edc457 !important; }
.rml-client-portal-page .rml-client-portal-body a:not(.btn):not(.rml-action):not(.list-group-item):not(.page-link):not(.paginate_button) { color: #996500; }

/* Portal autenticado: formulário de suporte integrado no tema claro */
body.rml-client-portal-page:has(.rml-tickets-page) .sidebar [menuitemname="Support"],
body.rml-client-portal-page:has(.rml-tickets-page) .sidebar .card:has(a[href*="supporttickets.php"]):has(a[href*="submitticket.php"]) {
    display: none;
}

body.rml-client-portal-page:has(.rml-server-status-page) .sidebar {
    display: none;
}

body.rml-client-portal-page:has(.rml-server-status-page) .primary-content {
    flex: 0 0 100%;
    max-width: 100%;
}

/* Configuração de produto: percurso guiado RM Leonis */
#order-standard_cart.rml-guided-config {
    --rml-config-ink: #071E2E;
    --rml-config-muted: #6d786f;
    --rml-config-line: #dce4dd;
    --rml-config-soft: #F7F9FA;
    max-width: 1180px;
    margin: 0 auto;
    color: var(--rml-config-ink);
}

#order-standard_cart.rml-guided-config > .row > .cart-sidebar { display: none; }
#order-standard_cart.rml-guided-config > .row > .cart-body { width: 100%; }
#order-standard_cart.rml-guided-config .header-lined { margin: 0 0 24px; padding: 0; border: 0; }
#order-standard_cart.rml-guided-config .header-lined h1 { margin: 0 0 6px; color: var(--rml-config-ink); font-size: clamp(30px, 4vw, 44px); font-weight: 850; letter-spacing: -.04em; }
#order-standard_cart.rml-guided-config .rml-config-lead { margin: 0; color: var(--rml-config-muted); font-size: 14px; }

.rml-config-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 660px; margin: 25px 0 0; padding: 0; list-style: none; }
.rml-config-steps li { position: relative; display: flex; align-items: center; gap: 10px; color: #89928b; font-size: 12px; }
.rml-config-steps li:not(:last-child)::after { content: ""; height: 1px; position: absolute; z-index: 0; right: 12px; left: 112px; background: #d5ddd6; }
.rml-config-steps span { width: 31px; height: 31px; position: relative; z-index: 1; display: grid; flex: 0 0 31px; place-items: center; border: 1px solid #cbd5cc; border-radius: 50%; color: #69736b; background: #fff; font-weight: 800; }
.rml-config-steps .is-complete,
.rml-config-steps .is-active { color: #315916; }
.rml-config-steps .is-complete span { border-color: #94d64c; color: #203610; background: #E8F7F8; }
.rml-config-steps .is-active span { border-color: var(--rml-green); color: #031015; background: var(--rml-green); box-shadow: 0 0 0 6px rgba(32,223,113,.13); }

#order-standard_cart.rml-guided-config .secondary-cart-body { width: calc(100% - 365px); padding-right: 22px; }
#order-standard_cart.rml-guided-config .secondary-cart-sidebar { width: 365px; }
#order-standard_cart.rml-guided-config .product-info,
#order-standard_cart.rml-guided-config .field-container,
#order-standard_cart.rml-guided-config .product-configurable-options,
#order-standard_cart.rml-guided-config .order-summary { border: 1px solid var(--rml-config-line); border-radius: 15px; background: #fff; box-shadow: 0 10px 28px rgba(6,25,37,.055); }

#order-standard_cart.rml-guided-config .rml-config-product { min-height: 112px; position: relative; padding: 25px 25px 25px 88px; }
#order-standard_cart.rml-guided-config .rml-config-product-icon { width: 46px; height: 46px; position: absolute; top: 25px; left: 24px; display: grid; place-items: center; border-radius: 12px; color: #416f22; background: #E8F7F8; font-size: 18px; }
#order-standard_cart.rml-guided-config .product-info .product-title { margin: 0 0 7px; color: var(--rml-config-ink); font-size: 21px; font-weight: 850; }
#order-standard_cart.rml-guided-config .product-info p:last-child { margin: 0; color: #536057; font-size: 12px; line-height: 1.55; }
#order-standard_cart.rml-guided-config .rml-config-spec-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 19px 0 0 -63px; border-top: 1px solid #e4eae5; }
#order-standard_cart.rml-guided-config .rml-config-spec { min-height: 58px; display: flex; align-items: center; gap: 11px; padding: 11px 15px; border-bottom: 1px solid #C8DFE5; color: #526875; position: relative; }
#order-standard_cart.rml-guided-config .rml-config-spec:nth-child(odd) { border-right: 1px solid #C8DFE5; }
#order-standard_cart.rml-guided-config .rml-config-spec > i { width: 30px; height: 30px; display: grid; flex: 0 0 30px; place-items: center; border-radius: 8px; color: #4f8b24; background: #E8F7F8; font-size: 12px; }
#order-standard_cart.rml-guided-config .rml-config-spec-copy { min-width: 0; }
#order-standard_cart.rml-guided-config .rml-config-spec strong { margin-right: 4px; color: #071E2E; font-weight: 800; }

#order-standard_cart.rml-guided-config .field-container,
#order-standard_cart.rml-guided-config .product-configurable-options { margin-bottom: 20px; padding: 20px; }
#order-standard_cart.rml-guided-config .product-configurable-options { padding: 6px 14px 14px; border: 0; background: transparent; box-shadow: none; }
#order-standard_cart.rml-guided-config .product-configurable-options > .row { margin-right: -7px; margin-left: -7px; }
#order-standard_cart.rml-guided-config .product-configurable-options > .row > [class*="col-"] { padding-right: 7px; padding-left: 7px; }
#order-standard_cart.rml-guided-config .product-configurable-options .form-group { min-height: 104px; margin-bottom: 14px; padding: 15px; border: 1px solid #b9d99c; border-radius: 12px; background: #fff; box-shadow: 0 7px 20px rgba(38,70,28,.045); }
#order-standard_cart.rml-guided-config .product-configurable-options .form-group::before { content: ""; width: 10px; height: 10px; display: inline-block; margin-right: 8px; border: 3px solid #fff; border-radius: 50%; background: #66aa29; box-shadow: 0 0 0 1px #66aa29; vertical-align: -1px; }
#order-standard_cart.rml-guided-config .product-configurable-options .form-group > label:first-of-type { display: inline-block; color: #071E2E; font-size: 12px; font-weight: 800; }
#order-standard_cart.rml-guided-config .product-configurable-options .form-control { margin-top: 7px; border-color: #d9e3da; background-color: #F7F9FA; }
#order-standard_cart.rml-guided-config .sub-heading { height: auto; margin: 27px 0 12px; border: 0; text-align: left; }
#order-standard_cart.rml-guided-config .sub-heading span { position: static; padding: 0; color: var(--rml-config-ink); background: transparent !important; font-size: 16px; font-weight: 800; }
#order-standard_cart.rml-guided-config label { margin-bottom: 8px; color: #536057; font-size: 11px; font-weight: 750; }
#order-standard_cart.rml-guided-config .form-control { min-height: 48px; border: 1px solid #d3ddd5; border-radius: 10px; color: #071E2E; background-color: #f9fbf9; box-shadow: none; }
#order-standard_cart.rml-guided-config .form-control:focus { border-color: #84ca39; background: #fff; box-shadow: 0 0 0 3px rgba(22,198,212,.16); }
#order-standard_cart.rml-guided-config .rml-config-choice { position: relative; margin: 0; }
#order-standard_cart.rml-guided-config .rml-config-choice .form-control { width: 100%; max-width: none; }

#order-standard_cart.rml-guided-config #scrollingPanelContainer { position: relative; }
#order-standard_cart.rml-guided-config #orderSummary { position: sticky; top: 24px; }
#order-standard_cart.rml-guided-config .order-summary { margin: 0 0 12px; overflow: hidden; border-top: 4px solid var(--rml-green); }
#order-standard_cart.rml-guided-config .order-summary h2 { margin: 0; padding: 19px 20px; border-bottom: 1px solid #C8DFE5; color: var(--rml-config-ink); background: #fff; font-size: 18px; font-weight: 850; }
#order-standard_cart.rml-guided-config .summary-container { margin: 0; padding: 19px 20px; border: 0; background: #fff; font-size: 12px; }
#order-standard_cart.rml-guided-config .order-summary .total-due-today .amt { color: #4c861f; font-size: 30px; font-weight: 900; }
#order-standard_cart.rml-guided-config .rml-config-continue { width: 100%; min-height: 52px; border: 0; border-radius: 10px; color: #11190e; background: var(--rml-green); font-size: 15px; font-weight: 850; box-shadow: 0 9px 22px rgba(118,201,31,.2); }
#order-standard_cart.rml-guided-config .rml-config-continue:hover,
#order-standard_cart.rml-guided-config .rml-config-continue:focus { color: #0d140a; background: #8bd92f; transform: translateY(-1px); }
#order-standard_cart.rml-guided-config .alert-warning { border-color: #dce5d5; border-radius: 11px; color: #566259; background: #f6faf3; }

@media (max-width: 991px) {
    #order-standard_cart.rml-guided-config .secondary-cart-body,
    #order-standard_cart.rml-guided-config .secondary-cart-sidebar { width: 100%; padding-right: 0; }
    #order-standard_cart.rml-guided-config .secondary-cart-sidebar { margin: 3px 0 22px; }
    #order-standard_cart.rml-guided-config #orderSummary { position: static; }
    #order-standard_cart.rml-guided-config .order-summary { margin-bottom: 10px; }
    #order-standard_cart.rml-guided-config .summary-container { padding-bottom: 14px; }
}

@media (max-width: 767px) {
    #order-standard_cart.rml-guided-config { padding-bottom: 84px; }
    #order-standard_cart.rml-guided-config .header-lined { margin-bottom: 18px; }
    #order-standard_cart.rml-guided-config .header-lined h1 { font-size: 31px; }
    .rml-config-steps { margin-top: 20px; }
    .rml-config-steps li { justify-content: center; }
    .rml-config-steps li strong { display: none; }
    .rml-config-steps li:not(:last-child)::after { right: -36%; left: 64%; }
    #order-standard_cart.rml-guided-config .rml-config-product { min-height: 94px; padding: 20px 18px 18px 72px; }
    #order-standard_cart.rml-guided-config .rml-config-product-icon { width: 40px; height: 40px; top: 21px; left: 18px; }
    #order-standard_cart.rml-guided-config .product-info .product-title { font-size: 18px; }
    #order-standard_cart.rml-guided-config .rml-config-spec-grid { grid-template-columns: 1fr; margin-left: -54px; }
    #order-standard_cart.rml-guided-config .rml-config-spec:nth-child(odd) { border-right: 0; }
    #order-standard_cart.rml-guided-config .field-container,
    #order-standard_cart.rml-guided-config .product-configurable-options { padding: 16px; border-radius: 12px; }
    #order-standard_cart.rml-guided-config .product-configurable-options .col-sm-6 { margin-bottom: 12px; }
    #order-standard_cart.rml-guided-config .product-configurable-options .col-sm-6:last-child { margin-bottom: 0; }
    #order-standard_cart.rml-guided-config .product-configurable-options .form-group { min-height: 0; }
    #order-standard_cart.rml-guided-config #orderSummary { position: static; }
    #order-standard_cart.rml-guided-config #orderSummary > .text-center { position: fixed; z-index: 30; right: 0; bottom: 0; left: 0; margin: 0; padding: 10px 14px; border-top: 1px solid #dbe4dc; background: rgba(255,255,255,.96); box-shadow: 0 -10px 28px rgba(7,10,8,.12); backdrop-filter: blur(10px); }
    #order-standard_cart.rml-guided-config .rml-config-continue { max-width: 520px; }
}

@media (prefers-reduced-motion: reduce) {
    #order-standard_cart.rml-guided-config .rml-config-continue { transition: none; }
}

/* Rever e pagar: continuação do configurador guiado */
#order-standard_cart.rml-review-cart {
    max-width: 1180px;
    margin: 0 auto;
    color: #071E2E;
}

#order-standard_cart.rml-review-cart > .row > .cart-body { width: 100%; }
#order-standard_cart.rml-review-cart .header-lined { margin: 0 0 24px; padding: 0; border: 0; }
#order-standard_cart.rml-review-cart .header-lined h1 { margin: 0 0 6px; color: #071E2E; font-size: clamp(30px, 4vw, 44px); font-weight: 850; letter-spacing: -.04em; }
#order-standard_cart.rml-review-cart .rml-review-lead { margin: 0; color: #6d786f; font-size: 14px; }
#order-standard_cart.rml-review-cart .secondary-cart-body { width: calc(100% - 365px); padding-right: 22px; padding-left: 0; }
#order-standard_cart.rml-review-cart .secondary-cart-sidebar { width: 365px; }

#order-standard_cart.rml-review-cart .view-cart-items-header { padding: 15px 18px; border: 1px solid #dce4dd; border-bottom: 0; border-radius: 14px 14px 0 0; color: #526875; background: #f4f8f4; font-size: 11px; font-weight: 850; letter-spacing: .035em; text-transform: uppercase; }
#order-standard_cart.rml-review-cart .view-cart-items { border: 1px solid #dce4dd; border-radius: 0 0 14px 14px; box-shadow: 0 10px 28px rgba(6,25,37,.055); }
#order-standard_cart.rml-review-cart .view-cart-items .item { position: relative; padding: 22px 18px; border-color: #e4eae5; background: #fff; }
#order-standard_cart.rml-review-cart .view-cart-items .rml-cart-product-item { padding-left: 76px; }
#order-standard_cart.rml-review-cart .rml-cart-item-icon { width: 42px; height: 42px; position: absolute; top: 21px; left: 18px; display: grid; place-items: center; border-radius: 11px; color: #4f8b24; background: #E8F7F8; font-size: 15px; }
#order-standard_cart.rml-review-cart .view-cart-items .item-title { color: #071E2E; font-size: 17px; font-weight: 850; }
#order-standard_cart.rml-review-cart .view-cart-items .item-title .btn-link { margin-left: 7px; color: #4e8128; font-size: 10px; font-weight: 750; }
#order-standard_cart.rml-review-cart .view-cart-items .item-group { margin-top: 3px; color: #6d786f; font-size: 11px; }
#order-standard_cart.rml-review-cart .view-cart-items .item small { display: block; margin-top: 12px; color: #536057; line-height: 1.8; }
#order-standard_cart.rml-review-cart .rml-review-specs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px 14px;
    margin: 16px 0 0;
    padding: 14px;
    border: 1px solid #e1e8e2;
    border-radius: 10px;
    background: #f7faf7;
    list-style: none;
}
#order-standard_cart.rml-review-cart .rml-review-specs li { min-width: 0; }
#order-standard_cart.rml-review-cart .rml-review-specs span,
#order-standard_cart.rml-review-cart .rml-review-specs strong { display: block; overflow-wrap: anywhere; }
#order-standard_cart.rml-review-cart .rml-review-specs span { color: #758078; font-size: 12px; line-height: 1.4; }
#order-standard_cart.rml-review-cart .rml-review-specs strong { margin-top: 2px; color: #263129; font-size: 13px; line-height: 1.45; }
#order-standard_cart.rml-review-cart .view-cart-items .item-price { color: #071E2E; font-size: 17px; font-weight: 800; }
#order-standard_cart.rml-review-cart .view-cart-items .item-price .cycle { color: #758078; font-size: 10px; font-weight: 600; }
#order-standard_cart.rml-review-cart .btn-remove-from-cart { color: #89938b; }
#order-standard_cart.rml-review-cart .btn-remove-from-cart:hover { color: #a63d36; }

#order-standard_cart.rml-review-cart .empty-cart { margin: 12px 0 20px; padding: 0; background: transparent; text-align: right; }
#order-standard_cart.rml-review-cart .empty-cart .btn { min-height: 40px; border: 1px solid #d8e1d9; border-radius: 9px; color: #647068; background: #fff; font-size: 10px; font-weight: 750; }
#order-standard_cart.rml-review-cart .view-cart-tabs { margin-top: 20px; }
#order-standard_cart.rml-review-cart .view-cart-tabs .nav-tabs > li > a { min-height: 42px; display: flex; align-items: center; padding: 0 17px; }
#order-standard_cart.rml-review-cart .view-cart-tabs .nav-tabs > li > a.active { border-color: #b9d99c; color: #315f18; background: #f5faef; }
#order-standard_cart.rml-review-cart .view-cart-tabs .tab-content { padding: 17px; border-radius: 0 12px 12px 12px; box-shadow: 0 8px 24px rgba(6,25,37,.04); }
#order-standard_cart.rml-review-cart .view-cart-tabs .prepend-icon { margin-bottom: 9px; }
#order-standard_cart.rml-review-cart .view-cart-tabs .btn { color: #11190e; background: var(--rml-green); }

#order-standard_cart.rml-review-cart #scrollingPanelContainer { position: relative; }
#order-standard_cart.rml-review-cart #orderSummary { position: sticky; top: 24px; border: 1px solid #dce4dd; border-top: 4px solid var(--rml-green); border-radius: 15px; box-shadow: 0 12px 32px rgba(6,25,37,.08); }
#order-standard_cart.rml-review-cart .order-summary .summary-heading { margin: 0; padding: 19px 20px; border-bottom: 1px solid #C8DFE5; color: #071E2E; background: #fff; font-size: 18px; font-weight: 850; text-align: left; }
#order-standard_cart.rml-review-cart .order-summary .summary-container { padding: 19px 20px; border: 0; border-radius: 0 0 15px 15px; background: #fff; }
#order-standard_cart.rml-review-cart .order-summary .subtotal,
#order-standard_cart.rml-review-cart .order-summary .bordered-totals,
#order-standard_cart.rml-review-cart .order-summary .recurring-totals { color: #526875; font-size: 11px; }
#order-standard_cart.rml-review-cart .order-summary .total-due-today { margin-top: 13px; padding-top: 16px; }
#order-standard_cart.rml-review-cart .order-summary .total-due-today .amt { color: #4f8b24; font-size: 31px; font-weight: 900; }
#order-standard_cart.rml-review-cart .btn-checkout { width: 100%; min-height: 54px; display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 14px; color: #11190e; background: var(--rml-green); font-size: 16px; font-weight: 850; }
#order-standard_cart.rml-review-cart .btn-continue-shopping { display: block; margin-top: 8px; color: #526875; font-size: 10px; font-weight: 700; text-align: center; }

@media (max-width: 991px) {
    #order-standard_cart.rml-review-cart .secondary-cart-body,
    #order-standard_cart.rml-review-cart .secondary-cart-sidebar { width: 100%; padding-right: 0; }
    #order-standard_cart.rml-review-cart .secondary-cart-sidebar { margin-top: 20px; }
    #order-standard_cart.rml-review-cart #orderSummary { position: static; }
}

@media (max-width: 767px) {
    #order-standard_cart.rml-review-cart { padding-bottom: 84px; }
    #order-standard_cart.rml-review-cart .header-lined h1 { font-size: 31px; }
    #order-standard_cart.rml-review-cart .view-cart-items-header { display: none; }
    #order-standard_cart.rml-review-cart .view-cart-items { border-radius: 13px; }
    #order-standard_cart.rml-review-cart .view-cart-items .item { padding: 18px 16px; }
    #order-standard_cart.rml-review-cart .view-cart-items .rml-cart-product-item { padding-left: 68px; }
    #order-standard_cart.rml-review-cart .rml-cart-item-icon { width: 38px; height: 38px; top: 18px; left: 16px; }
    #order-standard_cart.rml-review-cart .view-cart-items .item-price { margin-top: 14px; text-align: left; }
    #order-standard_cart.rml-review-cart .view-cart-tabs .nav-tabs { flex-wrap: nowrap; overflow-x: auto; }
    #order-standard_cart.rml-review-cart #orderSummary .text-right { position: fixed; z-index: 30; right: 0; bottom: 0; left: 0; padding: 10px 14px; border-top: 1px solid #dbe4dc; background: rgba(255,255,255,.96); box-shadow: 0 -10px 28px rgba(7,10,8,.12); backdrop-filter: blur(10px); }
    #order-standard_cart.rml-review-cart .btn-checkout { max-width: 520px; margin: 0 auto; }
    #order-standard_cart.rml-review-cart .btn-continue-shopping { display: none; }
}

/* Finalizar encomenda: formulário Premium no mesmo percurso visual */
#order-standard_cart.rml-checkout-page {
    max-width: 1180px;
    margin: 0 auto;
    color: #071E2E;
}

#order-standard_cart.rml-checkout-page > .row > .cart-body { width: 100%; }
#order-standard_cart.rml-checkout-page .header-lined { margin: 0 0 24px; padding: 0; border: 0; }
#order-standard_cart.rml-checkout-page .header-lined h1 { margin: 0 0 6px; color: #071E2E; font-size: clamp(30px, 4vw, 44px); font-weight: 850; letter-spacing: -.04em; }
#order-standard_cart.rml-checkout-page .rml-checkout-lead { margin: 0; color: #6d786f; font-size: 14px; }

#order-standard_cart.rml-checkout-page .already-registered { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 0 0 16px; padding: 12px 16px; border: 1px solid #dbe5dc; border-radius: 12px; color: #526875; background: #f6faf3; }
#order-standard_cart.rml-checkout-page .already-registered > div { order: 2; }
#order-standard_cart.rml-checkout-page .already-registered p { margin: 0; font-size: 11px; }
#order-standard_cart.rml-checkout-page .already-registered p i { width: 30px; height: 30px; display: inline-grid; place-items: center; margin-right: 9px; border-radius: 8px; color: #4f8b24; background: #e6f5d9; }
#order-standard_cart.rml-checkout-page .already-registered .btn { min-height: 42px; padding: 0 16px; border: 1px solid #9dce73; border-radius: 9px; color: #315f18; background: #fff; font-size: 11px; font-weight: 800; }
#order-standard_cart.rml-checkout-page .already-registered .btn:hover { color: #11190e; background: var(--rml-green); }

#order-standard_cart.rml-checkout-page #frmCheckout { padding: 12px 28px 28px; border: 1px solid #dce4dd; border-radius: 16px; background: #fff; box-shadow: 0 12px 32px rgba(6,25,37,.065); }
#order-standard_cart.rml-checkout-page #frmCheckout .sub-heading { height: auto; display: flex; align-items: center; gap: 12px; margin: 26px 0 17px; border: 0; text-align: left; }
#order-standard_cart.rml-checkout-page #frmCheckout .sub-heading::before { content: ""; width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: var(--rml-green); box-shadow: 0 0 0 5px rgba(22,198,212,.13); }
#order-standard_cart.rml-checkout-page #frmCheckout .sub-heading::after { content: ""; height: 1px; flex: 1 1 auto; background: #C8DFE5; }
#order-standard_cart.rml-checkout-page #frmCheckout .sub-heading span { position: static; order: 1; padding: 0; color: #071E2E; background: transparent !important; font-size: 15px; font-weight: 850; white-space: nowrap; }
#order-standard_cart.rml-checkout-page #frmCheckout .sub-heading::after { order: 2; }

#order-standard_cart.rml-checkout-page #frmCheckout .form-group { margin-bottom: 14px; }
#order-standard_cart.rml-checkout-page #frmCheckout .field,
#order-standard_cart.rml-checkout-page #frmCheckout .form-control { min-height: 49px; border: 1px solid #d4ded6; border-radius: 10px; color: #071E2E; background-color: #F7F9FA; box-shadow: none; }
#order-standard_cart.rml-checkout-page #frmCheckout textarea.form-control { min-height: 108px; }
#order-standard_cart.rml-checkout-page #frmCheckout .field:focus,
#order-standard_cart.rml-checkout-page #frmCheckout .form-control:focus { border-color: #84ca39; color: #071E2E; background: #fff; box-shadow: 0 0 0 3px rgba(22,198,212,.16); }
#order-standard_cart.rml-checkout-page #frmCheckout .prepend-icon .field { padding-left: 43px; }
#order-standard_cart.rml-checkout-page #frmCheckout .prepend-icon .field-icon { width: 43px; height: 49px; line-height: 49px; color: #6ba535; }
#order-standard_cart.rml-checkout-page #frmCheckout .prepend-icon .field-icon i { color: inherit; }
#order-standard_cart.rml-checkout-page #frmCheckout label:not(.field-icon) { color: #526875; font-size: 11px; font-weight: 700; }

#order-standard_cart.rml-checkout-page #containerExistingUserSignin,
#order-standard_cart.rml-checkout-page #containerExistingAccountSelect { margin-bottom: 18px; padding: 5px 18px 19px; border: 1px solid #e0e7e1; border-radius: 12px; background: #F7F9FA; }
#order-standard_cart.rml-checkout-page .account-select-container div.account { border-color: #dce4dd; background: #fff; }
#order-standard_cart.rml-checkout-page .account-select-container div.account.active { border-color: #9bce6e; background: #f2faec; }

#order-standard_cart.rml-checkout-page .generate-password,
#order-standard_cart.rml-checkout-page #btnExistingLogin { min-height: 42px; border: 1px solid #9dce73; border-radius: 9px; color: #315f18; background: #f4faef; font-size: 11px; font-weight: 800; }
#order-standard_cart.rml-checkout-page .password-strength-meter .progress { height: 7px; border-radius: 99px; background: #edf1ed; }
#order-standard_cart.rml-checkout-page .password-strength-meter .progress-bar { border-radius: inherit; background-color: #72b930; }

#order-standard_cart.rml-checkout-page #totalDueToday { margin: 0 0 18px; padding: 17px 19px; border: 1px solid #b9d99c; border-radius: 11px; color: #315f18; background: #f2faec; font-size: 13px; }
#order-standard_cart.rml-checkout-page #totalDueToday strong { margin-left: 6px; color: #4f8b24; font-size: 23px; font-weight: 900; }
#order-standard_cart.rml-checkout-page #paymentGatewaysContainer { padding: 18px; border: 1px solid #dce4dd; border-radius: 12px; background: #F7F9FA; }
#order-standard_cart.rml-checkout-page #paymentGatewaysContainer .text-center { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
#order-standard_cart.rml-checkout-page #paymentGatewaysContainer .radio-inline { min-height: 47px; display: inline-flex; align-items: center; margin: 0; padding: 0 15px; border: 1px solid #d4ded6; border-radius: 10px; color: #071E2E; background: #fff; }
#order-standard_cart.rml-checkout-page #paymentGatewaysContainer input { margin-right: 8px; accent-color: #76c91f; }
#order-standard_cart.rml-checkout-page #paymentGatewayInput { margin-top: 16px; }

#order-standard_cart.rml-checkout-page .marketing-email-optin { padding: 18px; border: 1px solid #dce4dd; border-radius: 11px; background: #F7F9FA; }
#order-standard_cart.rml-checkout-page #accepttos { accent-color: #76c91f; }
#order-standard_cart.rml-checkout-page #btnCompleteOrder { width: min(440px, 100%); min-height: 56px; margin-top: 11px; border: 0; border-radius: 11px; color: #11190e; background: var(--rml-green); font-size: 16px; font-weight: 850; box-shadow: 0 10px 24px rgba(118,201,31,.22); }
#order-standard_cart.rml-checkout-page #btnCompleteOrder:hover,
#order-standard_cart.rml-checkout-page #btnCompleteOrder:focus { color: #0d140a; background: #8bd92f; }
#order-standard_cart.rml-checkout-page .checkout-security-msg { margin-top: 16px; border: 1px solid #dce5d5; border-radius: 11px; color: #566259; background: #f6faf3; font-size: 10px; }

@media (max-width: 767px) {
    #order-standard_cart.rml-checkout-page .header-lined h1 { font-size: 31px; }
    #order-standard_cart.rml-checkout-page .already-registered { align-items: stretch; flex-direction: column; }
    #order-standard_cart.rml-checkout-page .already-registered > div { width: 100%; order: 2; }
    #order-standard_cart.rml-checkout-page .already-registered .btn { width: 100%; }
    #order-standard_cart.rml-checkout-page #frmCheckout { padding: 6px 16px 22px; border-radius: 13px; }
    #order-standard_cart.rml-checkout-page #frmCheckout .sub-heading { margin-top: 23px; }
    #order-standard_cart.rml-checkout-page #frmCheckout .sub-heading span { font-size: 14px; white-space: normal; }
    #order-standard_cart.rml-checkout-page #paymentGatewaysContainer .text-center { align-items: stretch; flex-direction: column; }
    #order-standard_cart.rml-checkout-page #paymentGatewaysContainer .radio-inline { width: 100%; justify-content: flex-start; }
    #order-standard_cart.rml-checkout-page #btnCompleteOrder { min-height: 54px; }
}

.rml-client-portal-page .rml-ticket-support-page {
    position: relative;
    left: auto;
    width: 100%;
    max-width: 1120px;
    margin: 0 auto 28px;
    padding: 0;
    overflow: visible;
    color: #0b2344;
    background: none;
}

.rml-client-portal-page .rml-ticket-support-page .rml-ticket-heading,
.rml-client-portal-page .rml-ticket-support-page .rml-ticket-content {
    width: 100%;
    margin-inline: 0;
}

.rml-client-portal-page .rml-ticket-support-page .rml-ticket-heading {
    min-height: 176px;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .78fr);
    gap: 36px;
    margin-bottom: 20px;
    padding: 30px 32px;
    border: 1px solid #e7dfd0;
    border-radius: 18px;
    color: #0b2344;
    background: radial-gradient(circle at 96% -20%, rgba(183,122,11,.18), transparent 36%), #fff;
    box-shadow: 0 12px 30px rgba(6,25,37,.055);
}

.rml-client-portal-page .rml-ticket-support-page .rml-ticket-heading-copy small { color: #996500; }
.rml-client-portal-page .rml-ticket-support-page .rml-ticket-heading h1 { color: #0b2344; font-size: clamp(32px, 3.2vw, 43px); }
.rml-client-portal-page .rml-ticket-support-page .rml-ticket-heading p { color: #506582; font-size: 14px; }
.rml-client-portal-page .rml-ticket-support-page .rml-ticket-route-step { color: #506582; }
.rml-client-portal-page .rml-ticket-support-page .rml-ticket-route-step > span {
    width: 50px;
    height: 50px;
    border-color: #e7dfd0;
    border-radius: 13px;
    color: #996500;
    background: #faf3e2;
    box-shadow: none;
}
.rml-client-portal-page .rml-ticket-support-page .rml-ticket-route-line { background: repeating-linear-gradient(90deg, #ddb039 0 4px, transparent 4px 8px); }

.rml-client-portal-page .rml-ticket-support-page .rml-ticket-content { grid-template-columns: minmax(0, 1fr) 330px; gap: 18px; }
.rml-client-portal-page .rml-ticket-support-page .rml-ticket-form,
.rml-client-portal-page .rml-ticket-aside,
.rml-client-portal-page .rml-ticket-support-page .rml-ticket-shortcuts {
    border-color: #e7dfd0;
    color: #0b2344;
    background: #fff;
    box-shadow: 0 10px 28px rgba(6,25,37,.055);
}

.rml-client-portal-page .rml-ticket-support-page .rml-ticket-form { padding: 28px; }
.rml-client-portal-page .rml-ticket-support-page .rml-ticket-form-heading span { color: #996500; }
.rml-client-portal-page .rml-ticket-support-page .rml-ticket-form-heading h2,
.rml-client-portal-page .rml-ticket-aside h2,
.rml-client-portal-page .rml-ticket-support-page .rml-ticket-shortcuts h2 { color: #0b2344; }
.rml-client-portal-page .rml-ticket-support-page .rml-ticket-form-heading p,
.rml-client-portal-page .rml-ticket-support-page .rml-ticket-shortcuts p { color: #506582; }
.rml-client-portal-page .rml-ticket-support-page label { color: #0b2344; }

.rml-client-portal-page .rml-ticket-support-page .form-control,
.rml-client-portal-page .rml-ticket-support-page .custom-file-label,
.rml-client-portal-page .rml-ticket-support-page #inputSubject {
    border-color: #e7dfd0;
    color: #0b2344;
    background-color: #faf9f6;
    color-scheme: light;
}
.rml-client-portal-page .rml-ticket-support-page .form-control:disabled { border-color: #e7dfd0; color: #506582; background: #E9EFF2; }
.rml-client-portal-page .rml-ticket-support-page .form-control:focus { color: #0b2344; background: #fff; }
.rml-client-portal-page .rml-ticket-support-page .rml-ticket-routing-grid,
.rml-client-portal-page .rml-ticket-support-page #customFieldsContainer:not(:empty) { border-color: #e7dfd0; background: #faf9f6; }

.rml-client-portal-page .rml-ticket-support-page .md-editor { border-color: #e7dfd0; background: #fff; }
.rml-client-portal-page .rml-ticket-support-page .md-header,
.rml-client-portal-page .rml-ticket-support-page .md-editor > .btn-toolbar { background: #faf9f6 !important; }
.rml-client-portal-page .rml-ticket-support-page .md-header .btn { border-color: #e7dfd0; color: #506582; background: #fff; }
.rml-client-portal-page .rml-ticket-support-page .md-editor > textarea#inputMessage.markdown-editor,
.rml-client-portal-page .rml-ticket-support-page .md-editor > .md-preview { border-color: #e7dfd0 !important; color: #0b2344; background-color: #fff !important; }
.rml-client-portal-page .rml-ticket-support-page .md-footer { border-top-color: #e7dfd0; color: #506582; background: #faf9f6; }

.rml-client-portal-page .rml-ticket-aside h2 { border-bottom-color: #e7dfd0; }
.rml-client-portal-page .rml-ticket-aside ul { border-color: #e7dfd0; }
.rml-client-portal-page .rml-ticket-aside li { border-bottom-color: #e7dfd0; color: #506582; }
.rml-client-portal-page .rml-ticket-aside > p { color: #506582; }
.rml-client-portal-page .rml-ticket-support-page .rml-ticket-shortcuts-icon { color: #996500; background: #faf3e2; }
.rml-client-portal-page .rml-ticket-support-page .rml-ticket-shortcuts a { border-color: #e7dfd0; color: #506582; }
.rml-client-portal-page .rml-ticket-support-page .rml-ticket-shortcuts a:first-child { border-color: #ddb039; color: #996500; }
.rml-client-portal-page .rml-ticket-support-page .rml-ticket-cancel { border-color: #e7dfd0; color: #506582; background: #fff; }

@media (max-width: 1199px) {
    .rml-client-portal-page .rml-ticket-support-page .rml-ticket-heading { grid-template-columns: 1fr; gap: 26px; }
    .rml-client-portal-page .rml-ticket-support-page .rml-ticket-route { width: min(560px, 100%); }
    .rml-client-portal-page .rml-ticket-support-page .rml-ticket-content { grid-template-columns: 1fr; }
    .rml-client-portal-page .rml-ticket-support-page .rml-ticket-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .rml-client-portal-page .rml-ticket-support-page .rml-ticket-heading { min-height: 0; padding: 25px 22px; }
    .rml-client-portal-page .rml-ticket-support-page .rml-ticket-form { padding: 23px 19px; }
    .rml-client-portal-page .rml-ticket-support-page .rml-ticket-sidebar { grid-template-columns: 1fr; }
    .rml-client-portal-page .rml-ticket-support-page .rml-ticket-route-step > span { width: 44px; height: 44px; }
}

.rml-client-portal-page .rml-ticket-support-page .form-control:hover { border-color: #d7c8aa; }
.rml-client-portal-page .rml-ticket-support-page .md-editor:focus-within { border-color: #ddb039; box-shadow: 0 0 0 4px rgba(183,122,11,.13); }
.rml-client-portal-page .rml-ticket-support-page .md-editor > textarea#inputMessage:hover { border-color: #d7c8aa !important; }
.rml-client-portal-page .rml-ticket-support-page .md-editor > textarea#inputMessage:focus { border-color: #ddb039 !important; }
.rml-client-portal-page .rml-ticket-support-page .rml-ticket-security-copy > span { color: #996500; background: #faf3e2; }
.rml-client-portal-page .rml-ticket-support-page .rml-ticket-security-copy strong { color: #0b2344; }
.rml-client-portal-page .rml-ticket-support-page .rml-ticket-security-copy p { color: #506582; }
.rml-client-portal-page .rml-ticket-support-page .rml-ticket-submit:hover { color: #0b2344; background: #edc457; box-shadow: 0 10px 24px rgba(183,122,11,.2); }
.rml-client-portal-page .rml-ticket-support-page .rml-ticket-cancel:hover { border-color: #ddb039; color: #0b2344; background: #faf3e2; }
.rml-client-portal-page .rml-ticket-support-page :is(input, select, textarea, a, button):focus-visible { outline-color: #996500; }

/* RM Leonis Theme Tokens */
/* Os tokens globais encontram-se no :root no início deste ficheiro. */

/* RM Leonis Base */
body:not(.rml-client-portal-page) {
    color: var(--rml-text);
    background: var(--rml-bg);
    font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body:not(.rml-client-portal-page) a {
    text-underline-offset: .18em;
}

body:not(.rml-client-portal-page) button,
body:not(.rml-client-portal-page) a {
    transition: color .18s ease, border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

/* RM Leonis Header */
header.header {
    --rml-bg: #061925;
    --rml-surface: #071E2E;
    --rml-border: rgba(22, 198, 212, .20);
    --rml-text-soft: #F7F9FA;
    --rml-text-muted: #9CAAB5;
    --rml-green: #16C6D4;
    --rml-green-hover: #39D8E1;
    --rml-green-soft: rgba(22, 198, 212, .10);

    position: relative;
    z-index: 1030;
    border-bottom: 1px solid var(--rml-border);
    color: var(--rml-text-soft);
    background: rgba(6, 25, 37, .98);
    box-shadow: 0 12px 32px rgba(0, 0, 0, .18);
}

header.header .container {
    width: min(var(--rml-container), calc(100% - 48px));
    max-width: none;
    padding-right: 0;
    padding-left: 0;
}

.rml-site-topbar {
    min-height: 34px;
    border-bottom: 1px solid rgba(255, 255, 255, .06);
    background: #061925;
}

.rml-site-topbar-inner {
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.rml-site-tagline {
    margin: 0;
    color: var(--rml-text-muted);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .015em;
}

.rml-site-email {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--rml-text-soft);
    font-size: 11px;
    font-weight: 650;
    text-decoration: none;
}

.rml-site-email i { color: var(--rml-green); }
.rml-site-email:hover { color: var(--rml-green-hover); text-decoration: none; }

header.header .rml-whmcs-accountbar {
    border-bottom: 1px solid rgba(255, 255, 255, .06);
    background: #071E2E;
}

header.header .rml-site-navbar {
    min-height: 80px;
    padding: 10px 0;
    background: var(--rml-bg);
}

header.header .rml-site-navbar > .container {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}

header.header .rml-site-brand {
    width: 200px;
    height: 58px;
    display: flex;
    flex: 0 0 200px;
    align-items: center;
    margin: 0 34px 0 0 !important;
    overflow: visible;
}

header.header .rml-site-brand .logo-img,
header.header .rml-site-brand img {
    width: 200px;
    height: 58px;
    max-width: 200px;
    max-height: 58px;
    object-fit: contain;
    object-position: left center;
}

header.header .rml-site-tools {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 9px;
    margin-left: auto;
}

header.header .rml-site-tools .nav-item { margin: 0; }

header.header .rml-site-tools .nav-link {
    min-width: 44px;
    height: 44px;
    border: 1px solid var(--rml-border);
    border-radius: var(--rml-radius-sm);
    color: var(--rml-text-soft);
    background: rgba(255, 255, 255, .025);
}

header.header .rml-site-tools .nav-link:hover {
    border-color: rgba(22, 198, 212, .42);
    color: var(--rml-green);
    background: var(--rml-green-soft);
}

header.header .rml-site-tools .cart-btn {
    --rml-cart-gold: var(--p1-gold, #e8ae34);
    position: relative;
    width: 36px;
    min-width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    overflow: visible;
    padding: 0;
    border: 1px solid #0B2B43;
    border-radius: var(--rml-radius-sm);
    color: #F7F9FA;
    background: #071E2E;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .015);
}

header.header .rml-site-tools .cart-btn > i {
    color: var(--rml-cart-gold);
    font-size: 13px;
}

header.header .rml-site-tools .cart-btn:hover {
    border-color: var(--rml-cart-gold);
    color: #F7F9FA;
    background: #0B2B43;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--rml-cart-gold) 12%, transparent);
}

header.header .rml-site-tools .cart-btn:hover > i { color: var(--rml-cart-gold); }

header.header .rml-site-tools .cart-btn:focus-visible {
    outline: 2px solid var(--rml-cart-gold);
    outline-offset: 3px;
}

header.header .rml-site-tools .cart-btn #cartItemCount {
    top: -5px;
    right: -5px;
    min-width: 18px;
    height: 18px;
    padding: 3px 5px;
    border: 2px solid #061925;
    border-radius: 999px;
    color: #061925;
    background: var(--rml-cart-gold);
    font-size: 9px;
    font-weight: 800;
    line-height: 8px;
}

header.header .rml-nav-toggle {
    width: auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 13px;
}

header.header .rml-site-navbar .main-navbar-wrapper {
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

header.header .rml-site-navbar .main-navbar-wrapper > .navbar-nav {
    align-items: center;
}

header.header .rml-site-navbar .rml-public-nav {
    gap: 2px;
}

header.header .rml-site-navbar .main-navbar-wrapper .navbar-nav > li > a {
    min-height: 44px;
    display: flex;
    align-items: center;
    margin: 0 2px;
    padding: 10px 11px !important;
    border: 1px solid transparent;
    border-radius: var(--rml-radius-sm);
    color: var(--rml-text-soft);
    font-size: 13px;
    font-weight: 700;
    line-height: 20px;
    text-decoration: none;
    white-space: nowrap;
}

header.header .rml-site-navbar .main-navbar-wrapper .navbar-nav > li > a:hover,
header.header .rml-site-navbar .main-navbar-wrapper .navbar-nav > li.active > a {
    color: #16C6D4;
    background: rgba(22, 198, 212, .08);
}

header.header .rml-site-navbar .rml-public-nav > li > a {
    position: relative;
    border-radius: 0;
    background: transparent;
}

header.header .rml-site-navbar .rml-public-nav > li > a::after {
    position: absolute;
    right: 11px;
    bottom: 3px;
    left: 11px;
    height: 2px;
    background: #16C6D4;
    content: "";
    opacity: 0;
    transform: scaleX(.55);
    transition: opacity .18s ease, transform .18s ease;
}

header.header .rml-site-navbar .rml-public-nav > li > a:hover::after,
header.header .rml-site-navbar .rml-public-nav > li.active > a::after {
    opacity: 1;
    transform: scaleX(1);
}

header.header .rml-site-navbar .rml-public-client-nav {
    margin-left: auto !important;
}

header.header .rml-site-navbar .rml-navbar-proposal > a,
header.header .rml-site-navbar .rml-client-area-link {
    border-color: #16C6D4 !important;
    color: #061925 !important;
    background: #16C6D4 !important;
    box-shadow: 0 9px 24px rgba(22, 198, 212, .14);
}

header.header .rml-site-navbar .rml-navbar-proposal > a:hover,
header.header .rml-site-navbar .rml-client-area-link:hover {
    border-color: #39D8E1 !important;
    color: #061925 !important;
    background: #39D8E1 !important;
}

header#header.header .rml-site-navbar .main-navbar-wrapper .navbar-nav > li > a.rml-client-area-link {
    --rml-client-gold: var(--p1-gold, #e8ae34);
    gap: 7px;
    min-height: 36px;
    padding: 6px 12px !important;
    border-radius: 8px;
    border-color: var(--rml-client-gold) !important;
    background: var(--rml-client-gold) !important;
    font-size: 13px;
    font-weight: 650;
    box-shadow: inset 0 1px 0 rgba(247, 249, 250, .28), 0 4px 12px rgba(0, 0, 0, .16);
}

header.header .rml-site-navbar .main-navbar-wrapper .rml-client-area-link > i {
    width: 20px;
    height: 20px;
    flex-basis: 20px;
    border-radius: 50%;
    background: rgba(6, 25, 37, .08);
    font-size: 13px;
    line-height: 20px;
}

header#header.header .rml-site-navbar .main-navbar-wrapper .navbar-nav > li > a.rml-client-area-link:hover,
header#header.header .rml-site-navbar .main-navbar-wrapper .navbar-nav > li > a.rml-client-area-link:focus-visible {
    background: color-mix(in srgb, var(--rml-client-gold) 85%, white) !important;
    border-color: var(--rml-client-gold) !important;
    box-shadow: inset 0 1px 0 rgba(247, 249, 250, .36), 0 5px 16px color-mix(in srgb, var(--rml-client-gold) 16%, transparent);
}

header#header.header .rml-site-navbar .main-navbar-wrapper .navbar-nav > li > a.rml-client-area-link:focus-visible {
    outline: 2px solid var(--rml-client-gold);
    outline-offset: 3px;
}

header#header.header .rml-site-navbar .main-navbar-wrapper .navbar-nav > li > a.rml-client-area-link:active {
    box-shadow: inset 0 2px 4px rgba(6, 25, 37, .18);
}

header.header .dropdown-menu {
    border-color: var(--rml-border);
    border-radius: var(--rml-radius-md);
    background: var(--rml-surface);
    box-shadow: var(--rml-shadow);
}

header.header .dropdown-menu > li > a.dropdown-item,
header.header .collapsable-dropdown-menu > li > a {
    color: var(--rml-text-soft) !important;
}

header.header .navbar a:focus-visible,
header.header .navbar button:focus-visible,
.rml-site-email:focus-visible {
    outline: 2px solid var(--rml-green);
    outline-offset: 3px;
}

/* RM Leonis Navigation */
@media (min-width: 1200px) {
    header.header .rml-site-brand { order: 1; }
    header.header .rml-site-navbar .main-navbar-wrapper { order: 2; }
    header.header .rml-site-tools { order: 3; margin-left: 14px; }
    header.header .rml-site-navbar .main-navbar-wrapper > .navbar-nav:last-child { margin-left: 12px !important; }
    header.header .rml-site-navbar .rml-public-client-nav { margin-left: auto !important; }
}

/* RM Leonis Responsive */
@media (max-width: 1279px) and (min-width: 1200px) {
    header.header .container { width: min(var(--rml-container), calc(100% - 30px)); }
    header.header .rml-site-brand { width: 176px; flex-basis: 176px; margin-right: 18px !important; }
    header.header .rml-site-brand .logo-img,
    header.header .rml-site-brand img { width: 176px; max-width: 176px; }
    header.header .rml-site-navbar .main-navbar-wrapper .navbar-nav > li > a { padding-right: 8px !important; padding-left: 8px !important; }
}

@media (max-width: 1199.98px) {
    header.header .rml-site-navbar > .container { flex-wrap: wrap; }
    header.header .rml-site-brand { order: 1; }
    header.header .rml-site-tools { order: 2; }
    header.header .rml-site-tools .rml-nav-toggle {
        width: 44px;
        min-width: 44px;
        height: 44px;
        min-height: 44px;
        justify-content: center;
        gap: 0;
        padding: 0;
        border-color: #0B2B43;
        color: #F7F9FA;
        background: #071E2E;
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .015);
    }
    header.header .rml-site-tools .rml-nav-toggle:hover,
    header.header .rml-site-tools .rml-nav-toggle:focus,
    header.header .rml-site-tools .rml-nav-toggle[aria-expanded="true"] {
        border-color: #16C6D4;
        color: #F7F9FA;
        background: #0B2B43;
        box-shadow: none;
    }
    header.header .rml-site-navbar .main-navbar-wrapper {
        width: 100%;
        order: 3;
        flex-basis: 100%;
        margin-top: 10px;
        padding: 10px 0 4px;
        border-top: 1px solid var(--rml-border);
    }
    header.header .rml-site-navbar .main-navbar-wrapper > .navbar-nav { width: 100%; align-items: stretch; }
    header.header .rml-site-navbar .main-navbar-wrapper > .navbar-nav + .navbar-nav { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--rml-border); }
    header.header .rml-site-navbar .main-navbar-wrapper .navbar-nav > li { width: 100%; }
    header.header .rml-site-navbar .main-navbar-wrapper .navbar-nav > li > a {
        width: 100%;
        min-height: 46px;
        justify-content: space-between;
        margin: 1px 0;
        padding: 12px 14px !important;
        font-size: 13px;
    }
    header.header .rml-site-navbar .rml-public-nav > li > a::after { display: none; }
    header.header .rml-site-navbar .dropdown-menu {
        width: 100%;
        position: static;
        float: none;
        margin: 3px 0 8px;
        box-shadow: none;
    }
    header.header .rml-site-navbar .rml-navbar-proposal > a,
    header.header .rml-site-navbar .rml-client-area-link { justify-content: center !important; }

}

@media (max-width: 767.98px) {
    header.header .container { width: calc(100% - 32px); }
    .rml-site-topbar-inner { min-height: 38px; }
    header.header .rml-site-navbar { min-height: 72px; padding: 7px 0; }
    header.header .rml-site-brand { width: 164px; height: 52px; flex-basis: 164px; }
    header.header .rml-site-brand .logo-img,
    header.header .rml-site-brand img { width: 164px; height: 52px; max-width: 164px; max-height: 52px; }
    header.header .rml-site-tools .nav-link { min-width: 42px; height: 42px; }
    header.header .rml-site-tools .cart-btn { min-width: 36px; height: 36px; }
}

@media (max-width: 479.98px) {
    header.header .container { width: calc(100% - 24px); }
    .rml-site-tagline { max-width: 185px; font-size: 10px; }
    .rml-site-email span { display: none; }
    .rml-site-email { width: 34px; height: 34px; justify-content: center; }
    header.header .rml-site-brand { width: 145px; height: 47px; flex-basis: 145px; margin-right: 8px !important; }
    header.header .rml-site-brand .logo-img,
    header.header .rml-site-brand img { width: 145px; height: 47px; max-width: 145px; max-height: 47px; }
}

@media (prefers-reduced-motion: reduce) {
    header.header *,
    #footer.rml-footer * { transition: none !important; }
}

/* ================================================================
   RM Leonis — Home v3 (Fase D)
   Isolado em .rml-home-v3 para não afetar páginas nativas do WHMCS.
   ================================================================ */
#main-body:has(.rml-home-v3) > .container {
    width: 100%;
    max-width: none;
    padding-right: 0;
    padding-left: 0;
}

.rml-home-v3 {
    --rml-home-bg: #070b0c;
    --rml-home-surface: #0c1214;
    --rml-home-surface-strong: #10181a;
    --rml-home-border: #233033;
    --rml-home-text: #f3f7f6;
    --rml-home-muted: #a8b3b1;
    --rml-home-green: #19f58a;
    --rml-home-green-dark: #08b967;
    width: 100%;
    overflow: clip;
    color: var(--rml-home-text);
    background: var(--rml-home-bg);
}

.rml-home-v3 *,
.rml-home-v3 *::before,
.rml-home-v3 *::after { box-sizing: border-box; }

.rml-home-v3 a { color: inherit; }

.rml-home-v3-container {
    width: calc(100% - 48px);
    max-width: 1400px;
    margin: 0 auto;
}

.rml-home-v3-eyebrow {
    margin: 0 0 14px;
    color: var(--rml-home-green);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.rml-home-v3 h1,
.rml-home-v3 h2,
.rml-home-v3 h3,
.rml-home-v3 p { color: inherit; }

.rml-home-v3-hero {
    border-bottom: 1px solid var(--rml-home-border);
    background: #080d0f;
}

.rml-home-v3-hero-grid {
    display: grid;
    grid-template-columns: minmax(360px, .86fr) minmax(520px, 1.14fr);
    min-height: 610px;
}

.rml-home-v3-hero-copy {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 72px 54px 72px 0;
}

.rml-home-v3-hero h1 {
    max-width: 650px;
    margin: 0;
    font-size: clamp(44px, 4.6vw, 72px);
    font-weight: 800;
    line-height: .99;
    letter-spacing: -.045em;
}

.rml-home-v3-hero h1 em {
    color: var(--rml-home-green);
    font-style: normal;
}

.rml-home-v3-lead {
    max-width: 620px;
    margin: 25px 0 0;
    color: #c6cfcd !important;
    font-size: 18px;
    line-height: 1.65;
}

.rml-home-v3-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 32px;
}

.rml-home-v3-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 13px 22px;
    border: 1px solid var(--rml-home-green);
    border-radius: 6px;
    color: #03130b !important;
    background: var(--rml-home-green);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none !important;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease;
}

.rml-home-v3-button:hover {
    border-color: #58ffab;
    color: #03130b !important;
    background: #58ffab;
    transform: translateY(-2px);
}

.rml-home-v3-button:focus-visible,
.rml-home-v3-service-grid article a:focus-visible,
.rml-home-v3-network a:focus-visible {
    outline: 3px solid rgba(25, 245, 138, .45);
    outline-offset: 3px;
}

.rml-home-v3-button-secondary {
    border-color: #71807e;
    color: var(--rml-home-text) !important;
    background: transparent;
}

.rml-home-v3-button-secondary:hover {
    border-color: var(--rml-home-green);
    color: var(--rml-home-green) !important;
    background: #0b1512;
}

.rml-home-v3-button i { margin-left: 10px; }

.rml-home-v3-hero-media {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border-left: 1px solid var(--rml-home-border);
    background: #061011;
}

.rml-home-v3-hero-media > img {
    position: absolute;
    inset: 0;
    width: 140%;
    max-width: none;
    height: 100%;
    object-fit: cover;
    object-position: left center;
}

.rml-home-v3-trust-card {
    position: absolute;
    right: 22px;
    bottom: 24px;
    z-index: 1;
    width: min(320px, calc(100% - 44px));
    padding: 22px;
    border: 1px solid #36504b;
    border-radius: 8px;
    background: rgba(5, 13, 14, .94);
    box-shadow: 0 18px 48px rgba(0, 0, 0, .38);
}

.rml-home-v3-trust-card h2 {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 17px;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.35;
}

.rml-home-v3-trust-card h2 i { color: var(--rml-home-green); font-size: 25px; }
.rml-home-v3-trust-card ul { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }
.rml-home-v3-trust-card li { display: flex; gap: 10px; color: #d3dcda; font-size: 13px; }
.rml-home-v3-trust-card li i { margin-top: 2px; color: var(--rml-home-green); }

.rml-home-v3-benefits {
    border-bottom: 1px solid var(--rml-home-border);
    background: #091012;
}

.rml-home-v3-benefits > .rml-home-v3-container {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rml-home-v3-benefits article {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 13px;
    min-height: 82px;
    padding: 18px 24px;
    border-right: 1px solid var(--rml-home-border);
    color: #c5cfcd;
    font-size: 13px;
    font-weight: 650;
}

.rml-home-v3-benefits article:first-child { padding-left: 0; }
.rml-home-v3-benefits article:last-child { border-right: 0; }
.rml-home-v3-benefits article i { flex: 0 0 auto; color: var(--rml-home-green); font-size: 21px; }
.rml-home-v3-benefits article span { display: grid; gap: 3px; }
.rml-home-v3-benefits article strong { color: var(--rml-home-text); font-size: 14px; }

.rml-home-v3-services { padding: 84px 0; }
.rml-home-v3-section-heading { max-width: 750px; margin-bottom: 38px; }
.rml-home-v3-section-heading h2,
.rml-home-v3-reasons h2,
.rml-home-v3-network h2,
.rml-home-v3-cta h2 {
    margin: 0;
    font-size: clamp(31px, 3vw, 46px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -.03em;
}

.rml-home-v3-section-heading span,
.rml-home-v3-reasons header > p,
.rml-home-v3-network div > span,
.rml-home-v3-cta > .rml-home-v3-container > div > span {
    margin: 15px 0 0;
    color: var(--rml-home-muted) !important;
    font-size: 16px;
    line-height: 1.65;
}

.rml-home-v3-services { background: var(--rml-home-bg); }
.rml-home-v3-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }

.rml-home-v3-service-grid article {
    display: flex;
    min-width: 0;
    min-height: 275px;
    flex-direction: column;
    padding: 28px;
    border: 1px solid var(--rml-home-border);
    border-radius: 8px;
    background: var(--rml-home-surface);
    transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
}

.rml-home-v3-service-grid article:hover {
    border-color: #3a5e53;
    background: var(--rml-home-surface-strong);
    transform: translateY(-4px);
}

.rml-home-v3-service-grid article > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 25px;
    border: 1px solid #285f49;
    border-radius: 7px;
    color: var(--rml-home-green);
    background: #0b1a15;
    font-size: 23px;
}

.rml-home-v3-service-grid article h3 { margin: 0; font-size: 20px; font-weight: 800; line-height: 1.2; }
.rml-home-v3-service-grid article p { margin: 13px 0 22px; color: var(--rml-home-muted) !important; font-size: 14px; line-height: 1.6; }
.rml-home-v3-service-grid article a { display: inline-flex; align-items: center; gap: 9px; margin-top: auto; color: var(--rml-home-green) !important; font-size: 13px; font-weight: 800; text-decoration: none !important; }
.rml-home-v3-service-grid article a:hover { color: #70ffb7 !important; }

.rml-home-v3-assurance { border-top: 1px solid var(--rml-home-border); border-bottom: 1px solid var(--rml-home-border); background: #091012; }
.rml-home-v3-assurance-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 28px; align-items: stretch; }
.rml-home-v3-reasons,
.rml-home-v3-network { padding: 38px; border: 1px solid var(--rml-home-border); border-radius: 8px; background: var(--rml-home-surface); }

.rml-home-v3-reasons > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: 31px; }
.rml-home-v3-reasons > div > span { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 12px; }
.rml-home-v3-reasons > div > span > i { margin-top: 2px; color: var(--rml-home-green); font-size: 18px; }
.rml-home-v3-reasons > div > span strong { display: block; font-size: 14px; }

.rml-home-v3-network { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 23px; align-items: center; border-color: #2e5046; }
.rml-home-v3-network > i { display: inline-flex; align-items: center; justify-content: center; width: 58px; height: 58px; border: 1px solid #28724f; border-radius: 50%; color: var(--rml-home-green); background: #0a1b14; font-size: 26px; }
.rml-home-v3-network a { display: inline-flex; align-items: center; gap: 10px; margin-top: 27px; color: var(--rml-home-green) !important; font-weight: 800; text-decoration: none !important; }

.rml-home-v3-cta { padding: 0 0 84px; background: var(--rml-home-bg); }
.rml-home-v3-cta > .rml-home-v3-container { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 36px; min-height: 310px; overflow: hidden; padding: 46px; border: 1px solid #315047; border-radius: 8px; background: #0b1315; }
.rml-home-v3-cta > .rml-home-v3-container > img { position: absolute; inset: 0 0 0 auto; width: 48%; max-width: none; height: 100%; object-fit: cover; object-position: left center; opacity: .36; }
.rml-home-v3-cta > .rml-home-v3-container > div,
.rml-home-v3-cta > .rml-home-v3-container > a { position: relative; z-index: 1; }
.rml-home-v3-cta > .rml-home-v3-container > div { max-width: 760px; }

@media (max-width: 1199.98px) {
    .rml-home-v3-hero-grid { grid-template-columns: .9fr 1.1fr; min-height: 570px; }
    .rml-home-v3-hero-copy { padding-right: 38px; }
    .rml-home-v3-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rml-home-v3-assurance-grid { grid-template-columns: 1fr; }
}

@media (max-width: 991.98px) {
    .rml-home-v3-container { width: calc(100% - 40px); }
    .rml-home-v3-hero-grid { grid-template-columns: 1fr; }
    .rml-home-v3-hero-copy { padding: 64px 0 48px; }
    .rml-home-v3-hero-media { min-height: 480px; border-top: 1px solid var(--rml-home-border); border-left: 0; }
    .rml-home-v3-hero-media > img { width: 125%; }
    .rml-home-v3-benefits > .rml-home-v3-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rml-home-v3-benefits article { border-bottom: 1px solid var(--rml-home-border); }
    .rml-home-v3-benefits article:nth-child(2) { border-right: 0; }
    .rml-home-v3-benefits article:nth-child(3),
    .rml-home-v3-benefits article:nth-child(4) { border-bottom: 0; }
    .rml-home-v3-benefits article:first-child { padding-left: 24px; }
    .rml-home-v3-cta > .rml-home-v3-container { grid-template-columns: 1fr; }
}

@media (max-width: 767.98px) {
    .rml-home-v3-container { width: calc(100% - 32px); }
    .rml-home-v3-hero-copy { padding-top: 50px; }
    .rml-home-v3-hero h1 { font-size: clamp(40px, 11vw, 58px); }
    .rml-home-v3-lead { font-size: 16px; }
    .rml-home-v3-hero-media { min-height: 420px; }
    .rml-home-v3-services { padding: 64px 0; }
    .rml-home-v3-service-grid { grid-template-columns: 1fr; }
    .rml-home-v3-service-grid article { min-height: 0; }
    .rml-home-v3-reasons > div { grid-template-columns: 1fr; }
    .rml-home-v3-reasons,
    .rml-home-v3-network,
    .rml-home-v3-cta > .rml-home-v3-container { padding: 30px; }
    .rml-home-v3-cta { padding-bottom: 64px; }
}

@media (max-width: 575.98px) {
    .rml-home-v3-container { width: calc(100% - 24px); }
    .rml-home-v3-actions { display: grid; grid-template-columns: 1fr; }
    .rml-home-v3-button { width: 100%; }
    .rml-home-v3-hero-media { min-height: 370px; }
    .rml-home-v3-hero-media > img { width: 155%; }
    .rml-home-v3-trust-card { right: 12px; bottom: 12px; width: calc(100% - 24px); padding: 18px; }
    .rml-home-v3-benefits > .rml-home-v3-container { grid-template-columns: 1fr; }
    .rml-home-v3-benefits article,
    .rml-home-v3-benefits article:first-child { min-height: 68px; padding: 14px 10px; border-right: 0; border-bottom: 1px solid var(--rml-home-border); }
    .rml-home-v3-benefits article:last-child { border-bottom: 0; }
    .rml-home-v3-reasons,
    .rml-home-v3-network,
    .rml-home-v3-cta > .rml-home-v3-container { padding: 24px; }
    .rml-home-v3-network { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .rml-home-v3 *,
    .rml-home-v3 *::before,
    .rml-home-v3 *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Home final zones: approved network, CTA and technology composition. */
.rml-home-network {
    grid-template-columns: minmax(0, 45fr) minmax(0, 55fr);
    height: 220px;
    min-height: 220px;
    border-color: rgba(255, 255, 255, .08);
    background: #0d1213;
}
.rml-home-network__content { padding: 26px 34px; }
.rml-home-network__content > p:not(.rml-home-eyebrow) { max-width: 430px; margin: 9px 0 16px; }
.rml-home-network__visual,
.rml-home-cta__visual { position: relative; height: 100%; min-height: 0; }
.rml-home-network__visual::before,
.rml-home-cta__visual::before {
    position: absolute;
    z-index: 1;
    inset: 0 auto 0 0;
    width: 24%;
    background: linear-gradient(90deg, #0d1213 0%, rgba(13, 18, 19, .72) 34%, rgba(13, 18, 19, 0) 100%);
    content: "";
    pointer-events: none;
}
.rml-home-network__visual img,
.rml-home-cta__visual img { height: 100%; object-fit: cover; }

.rml-home-cta {
    grid-template-columns: minmax(0, 48fr) minmax(0, 52fr);
    height: 230px;
    min-height: 230px;
    border-color: rgba(25, 245, 138, .18);
    background: #0d1213;
}
.rml-home-cta__content { padding: 27px 36px; }
.rml-home-cta h2 { max-width: 570px; font-size: clamp(30px, 2.35vw, 36px); }
.rml-home-cta__content > p:not(.rml-home-eyebrow) { max-width: 550px; margin: 8px 0 15px; }

.rml-home-tech__list {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 28px;
}
.rml-home-tech__item {
    min-height: 52px;
    border: 0;
    background: transparent;
}
.rml-home-tech__item img {
    display: block;
    width: auto;
    height: auto;
    max-width: 145px;
    max-height: 32px;
    object-fit: contain;
    opacity: .82;
    filter: grayscale(1) brightness(0) invert(.9);
    transition: opacity .2s ease;
}
.rml-home-tech__item:hover img { opacity: 1; }

@media (max-width: 991.98px) {
    .rml-home-network,
    .rml-home-cta {
        grid-template-columns: 1fr;
        height: auto;
        min-height: 0;
    }
    .rml-home-network__visual,
    .rml-home-cta__visual { height: 220px; min-height: 220px; }
    .rml-home-network__visual::before,
    .rml-home-cta__visual::before {
        inset: 0 0 auto;
        width: 100%;
        height: 30%;
        background: linear-gradient(180deg, #0d1213 0%, rgba(13, 18, 19, .68) 36%, rgba(13, 18, 19, 0) 100%);
    }
    .rml-home-tech__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 575.98px) {
    .rml-home-cta__desktop-break { display: none; }
    .rml-home-network__content,
    .rml-home-cta__content { padding: 24px 20px; }
    .rml-home-network__visual,
    .rml-home-cta__visual { height: 180px; min-height: 180px; }
    .rml-home-tech__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
    .rml-home-tech__item { border: 0; background: transparent; }
    .rml-home-tech__item img { max-width: 132px; max-height: 30px; }
}

@media (min-width: 992px) {
    .rml-home-cta__content { min-height: 0; padding: 18px 36px; }
    .rml-home-cta h2 { font-size: clamp(30px, 2.1vw, 32px); line-height: 1.05; }
    .rml-home-cta__content > p:not(.rml-home-eyebrow) { margin: 5px 0 10px; font-size: 14px; line-height: 1.4; }
    .rml-home-cta__content .rml-home-button { min-height: 46px; padding-block: 10px; }
}

/* RM Leonis — Home reference assurance composition (final cascade) */
.rml-home-v3 .rml-home-assurance { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr); gap:18px; margin-top:24px; }
.rml-home-v3 .rml-home-assurance .rml-home-why,
.rml-home-v3 .rml-home-assurance .rml-home-network { min-height:310px; margin-top:0; }
.rml-home-v3 .rml-home-assurance .rml-home-why { position:relative; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(220px,.88fr); gap:20px; overflow:hidden; padding:30px; }
.rml-home-v3 .rml-home-why__copy { position:relative; z-index:1; min-width:0; }
.rml-home-v3 .rml-home-assurance .rml-home-why__items { grid-template-columns:1fr; gap:0; margin-top:18px; }
.rml-home-v3 .rml-home-assurance .rml-home-why__item { grid-template-columns:20px minmax(0,1fr); gap:9px; padding:8px 0; border-top:1px solid var(--rml-border); }
.rml-home-v3 .rml-home-assurance .rml-home-why__icon { font-size:15px; }
.rml-home-v3 .rml-home-assurance .rml-home-why__content strong { color:var(--rml-text-soft); font-size:13px; font-weight:500; }
.rml-home-v3 .rml-home-why__visual { align-self:center; width:100%; max-height:270px; object-fit:contain; filter:saturate(.9); }
.rml-home-v3 .rml-home-assurance .rml-home-network { display:block; grid-template-columns:none; height:auto; }
.rml-home-v3 .rml-home-assurance .rml-home-network__content { height:100%; padding:30px; }
.rml-home-v3 .rml-home-network__content ul { display:grid; gap:9px; margin:0 0 18px; padding:0; color:var(--rml-text-muted); font-size:13px; list-style:none; }
.rml-home-v3 .rml-home-network__content li::before { margin-right:8px; color:var(--rml-green); font-family:"Font Awesome 5 Pro"; content:"\f058"; }
.rml-home-v3 .rml-home-network__content .rml-home-button { width:100%; margin-top:auto; }
.rml-home-v3 .rml-home-network__content .rml-home-button > i:first-child { margin:0 10px 0 0; }
.rml-home-v3 .rml-home-cta__visual img { object-position:58% center; }
@media (max-width:991.98px) {
    .rml-home-v3 .rml-home-assurance { grid-template-columns:1fr; }
    .rml-home-v3 .rml-home-assurance .rml-home-why,
    .rml-home-v3 .rml-home-assurance .rml-home-network { min-height:0; }
}
@media (max-width:575.98px) {
    .rml-home-v3 .rml-home-assurance .rml-home-why { grid-template-columns:1fr; padding:24px; }
    .rml-home-v3 .rml-home-why__visual { max-height:210px; }
    .rml-home-v3 .rml-home-assurance .rml-home-network__content { padding:24px; }
}

/* RM Leonis — Faixa de benefícios conforme referência */
.rml-home-v3 .rml-home-benefits { margin-top:0; overflow:hidden; border:1px solid rgba(255,255,255,.13); border-radius:10px; background:rgba(7,14,16,.94); }
.rml-home-v3 .rml-home-benefit { grid-template-columns:36px minmax(0,1fr); gap:13px; min-height:68px; padding:11px 24px; }
.rml-home-v3 .rml-home-benefit + .rml-home-benefit { border-left:1px solid rgba(255,255,255,.13); }
.rml-home-v3 .rml-home-benefit > i { display:flex; align-items:center; justify-content:center; width:34px; height:34px; border:1px solid var(--rml-green); border-radius:50%; font-size:18px; }
.rml-home-v3 .rml-home-benefit:first-child > i { border-radius:7px; }
.rml-home-v3 .rml-home-benefit:last-child > i { border:0; font-size:27px; }
.rml-home-v3 .rml-home-benefit strong { font-size:13px; }
.rml-home-v3 .rml-home-benefit small { font-size:11px; }
@media (max-width:991.98px) {
    .rml-home-v3 .rml-home-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rml-home-v3 .rml-home-benefit:nth-child(3) { border-top:1px solid rgba(255,255,255,.13); border-left:0; }
    .rml-home-v3 .rml-home-benefit:nth-child(4) { border-top:1px solid rgba(255,255,255,.13); }
}
@media (max-width:575.98px) {
    .rml-home-v3 .rml-home-benefits { grid-template-columns:1fr; }
    .rml-home-v3 .rml-home-benefit,.rml-home-v3 .rml-home-benefit:first-child { min-height:64px; padding:10px 18px; border-left:0; }
    .rml-home-v3 .rml-home-benefit + .rml-home-benefit { border-top:1px solid rgba(255,255,255,.13); }
}

/* RM Leonis — Serviços compactos conforme referência */
.rml-home-v3 .rml-home-services { margin-top:12px; padding:12px; border:1px solid var(--rml-border); border-radius:12px; background:#091011; }
.rml-home-v3 .rml-home-services .rml-home-section-heading { align-items:center; margin:0 4px 12px; }
.rml-home-v3 .rml-home-services .rml-home-section-heading h2 { display:flex; align-items:center; gap:9px; margin:0; color:var(--rml-text-soft); font-size:12px; font-weight:800; letter-spacing:.06em; line-height:1; text-transform:uppercase; }
.rml-home-v3 .rml-home-services .rml-home-section-heading h2 > i { display:block; width:7px; height:7px; border-radius:50%; background:var(--rml-green); box-shadow:0 0 10px rgba(25,245,138,.32); }
.rml-home-v3 .rml-home-services .rml-home-section-heading > .rml-home-button { min-height:0; padding:0; border:0; color:var(--rml-green) !important; background:transparent; font-size:12px; }
.rml-home-v3 .rml-home-services .rml-home-section-heading > .rml-home-button:hover { color:#70ffb7 !important; background:transparent; transform:none; }
.rml-home-v3 .rml-home-services__grid { gap:10px; }
.rml-home-v3 .rml-home-services__grid article { grid-template-columns:56px minmax(0,1fr); gap:18px; min-height:138px; padding:20px; border-radius:7px; background:linear-gradient(115deg,#10191b,#142124); }
.rml-home-v3 .rml-home-services__grid article > i { width:56px; height:56px; border-radius:0; background:transparent; font-size:42px; }
.rml-home-v3 .rml-home-services__grid h3 { font-size:16px; }
.rml-home-v3 .rml-home-services__grid p { margin:7px 0 12px; font-size:12px; line-height:1.45; }
.rml-home-v3 .rml-home-services__grid a { font-size:12px; }
@media (max-width:991.98px) {
    .rml-home-v3 .rml-home-services__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:575.98px) {
    .rml-home-v3 .rml-home-services { padding:10px; }
    .rml-home-v3 .rml-home-services .rml-home-section-heading { align-items:flex-start; gap:12px; }
    .rml-home-v3 .rml-home-services .rml-home-section-heading > .rml-home-button { white-space:nowrap; }
    .rml-home-v3 .rml-home-services__grid { grid-template-columns:1fr; }
    .rml-home-v3 .rml-home-services__grid article { grid-template-columns:46px minmax(0,1fr); min-height:124px; padding:17px; }
    .rml-home-v3 .rml-home-services__grid article > i { width:46px; height:46px; font-size:32px; }
}

/* RM Leonis — Faixa de benefícios, cascade final */
.rml-home-v3 .rml-home-benefits { margin-top:0; overflow:hidden; border:1px solid rgba(255,255,255,.13); border-radius:10px; background:rgba(7,14,16,.94); }
.rml-home-v3 .rml-home-benefit,.rml-home-v3 .rml-home-benefit:first-child { grid-template-columns:36px minmax(0,1fr); gap:13px; min-height:68px; padding:11px 24px; }
.rml-home-v3 .rml-home-benefit + .rml-home-benefit { border-left:1px solid rgba(255,255,255,.13); }
.rml-home-v3 .rml-home-benefit > i { display:flex; align-items:center; justify-content:center; width:34px; height:34px; border:1px solid var(--rml-green); border-radius:50%; font-size:18px; }
.rml-home-v3 .rml-home-benefit:first-child > i { border-radius:7px; }
.rml-home-v3 .rml-home-benefit:last-child > i { border:0; font-size:27px; }
.rml-home-v3 .rml-home-benefit strong { font-size:13px; }
.rml-home-v3 .rml-home-benefit small { font-size:11px; }
@media (max-width:991.98px) {
    .rml-home-v3 .rml-home-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rml-home-v3 .rml-home-benefit:nth-child(3) { border-top:1px solid rgba(255,255,255,.13); border-left:0; }
    .rml-home-v3 .rml-home-benefit:nth-child(4) { border-top:1px solid rgba(255,255,255,.13); }
}
@media (max-width:575.98px) {
    .rml-home-v3 .rml-home-benefits { grid-template-columns:1fr; }
    .rml-home-v3 .rml-home-benefit,.rml-home-v3 .rml-home-benefit:first-child { min-height:64px; padding:10px 18px; border-left:0; }
    .rml-home-v3 .rml-home-benefit + .rml-home-benefit { border-top:1px solid rgba(255,255,255,.13); }
}

/* RM Leonis — effective final layer for the three approved Home zones. */
.rml-home-network {
    grid-template-columns: minmax(360px, 45fr) minmax(520px, 55fr);
    height: 220px;
    min-height: 220px;
    border-color: rgba(255, 255, 255, .07);
    background: #111718;
}
.rml-home-network__content { position: relative; z-index: 2; max-width: 580px; padding: 18px 30px; }
.rml-home-network__content > p:not(.rml-home-eyebrow) { margin: 8px 0 14px; }
.rml-home-network__content .rml-home-button { min-height: 44px; }
.rml-home-network__visual { position: relative; height: 220px; min-height: 220px; }
.rml-home-network__visual::before { position: absolute; z-index: 1; inset: 0 auto 0 0; width: 26%; background: linear-gradient(90deg, #111718 0%, rgba(17, 23, 24, .72) 38%, rgba(17, 23, 24, 0) 100%); content: ""; pointer-events: none; }
.rml-home-network__visual img { object-fit: cover; object-position: center 54%; }

.rml-home-cta {
    grid-template-columns: minmax(420px, 48fr) minmax(560px, 52fr);
    height: 230px;
    min-height: 230px;
    border-color: rgba(25, 245, 138, .2);
    background: #101718;
}
.rml-home-cta__content { position: relative; z-index: 2; max-width: 660px; padding: 18px 30px; }
.rml-home-cta h2 { font-size: clamp(30px, 2.2vw, 34px); line-height: 1.04; }
.rml-home-cta__content > p:not(.rml-home-eyebrow) { margin: 6px 0 12px; font-size: 14px; }
.rml-home-cta__content .rml-home-button { min-height: 44px; }
.rml-home-cta__visual { position: relative; height: 230px; min-height: 230px; }
.rml-home-cta__visual::before { position: absolute; z-index: 1; inset: 0 auto 0 0; width: 28%; background: linear-gradient(90deg, #101718 0%, rgba(16, 23, 24, .7) 40%, rgba(16, 23, 24, 0) 100%); content: ""; pointer-events: none; }
.rml-home-cta__visual img { object-fit: cover; object-position: center; }

.rml-home-tech__list { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 28px; }
.rml-home-tech__item { min-height: 54px; border: 0; border-radius: 0; background: transparent; }
.rml-home-tech__item img { display: block; width: auto; max-width: min(100%, 145px); height: auto; max-height: 32px; object-fit: contain; opacity: .82; filter: grayscale(1) brightness(0) invert(.9); transition: opacity .2s ease; }
.rml-home-tech__item:hover img { opacity: 1; }

@media (max-width: 1199.98px) and (min-width: 992px) {
    .rml-home-network { grid-template-columns: minmax(360px, 45fr) minmax(500px, 55fr); }
    .rml-home-cta { grid-template-columns: minmax(400px, 48fr) minmax(500px, 52fr); }
    .rml-home-cta h2 { font-size: 30px; }
}

@media (max-width: 991.98px) {
    .rml-home-network,
    .rml-home-cta { grid-template-columns: 1fr; height: auto; min-height: 0; }
    .rml-home-network__content,
    .rml-home-cta__content { max-width: none; }
    .rml-home-network__visual,
    .rml-home-cta__visual { height: 220px; min-height: 220px; }
    .rml-home-network__visual::before,
    .rml-home-cta__visual::before { inset: 0 0 auto; width: 100%; height: 24%; background: linear-gradient(180deg, #111718 0%, rgba(17, 23, 24, .62) 45%, rgba(17, 23, 24, 0) 100%); }
    .rml-home-tech__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 24px; }
}

@media (max-width: 575.98px) {
    .rml-home-cta__desktop-break { display: none; }
    .rml-home-network__content,
    .rml-home-cta__content { padding: 24px 20px; }
    .rml-home-network__visual,
    .rml-home-cta__visual { height: 180px; min-height: 180px; }
    .rml-home-tech__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; }
    .rml-home-tech__item { min-height: 48px; border: 0; background: transparent; }
    .rml-home-tech__item img { max-width: min(100%, 132px); max-height: 30px; }
}

/* RM Leonis — final refinement: Network, CTA and Technologies only. */
.rml-home-network {
    grid-template-columns: minmax(360px, 45fr) minmax(520px, 55fr);
    height: 220px;
    min-height: 220px;
    border-color: rgba(255, 255, 255, .07);
    background: #111718;
}

.rml-home-network__content {
    position: relative;
    z-index: 2;
    max-width: 580px;
    padding: 28px 32px;
}

.rml-home-network__visual {
    position: relative;
    height: 220px;
    min-height: 220px;
}

.rml-home-network__visual::before {
    position: absolute;
    z-index: 1;
    inset: 0 auto 0 0;
    width: 26%;
    background: linear-gradient(90deg, #111718 0%, rgba(17, 23, 24, .72) 38%, rgba(17, 23, 24, 0) 100%);
    content: "";
    pointer-events: none;
}

.rml-home-network__visual img {
    object-fit: cover;
    object-position: center 54%;
}

.rml-home-cta {
    grid-template-columns: minmax(420px, 48fr) minmax(560px, 52fr);
    height: 230px;
    min-height: 230px;
    border-color: rgba(25, 245, 138, .2);
    background: #101718;
}

.rml-home-cta__content {
    position: relative;
    z-index: 2;
    max-width: 660px;
    padding: 24px 34px;
}

.rml-home-cta h2 {
    font-size: clamp(30px, 2.25vw, 36px);
    line-height: 1.06;
}

.rml-home-cta__content > p:not(.rml-home-eyebrow) {
    margin: 8px 0 14px;
}

.rml-home-cta__content .rml-home-button {
    min-height: 46px;
}

.rml-home-cta__visual {
    position: relative;
    height: 230px;
    min-height: 230px;
}

.rml-home-cta__visual::before {
    position: absolute;
    z-index: 1;
    inset: 0 auto 0 0;
    width: 28%;
    background: linear-gradient(90deg, #101718 0%, rgba(16, 23, 24, .7) 40%, rgba(16, 23, 24, 0) 100%);
    content: "";
    pointer-events: none;
}

.rml-home-cta__visual img {
    object-fit: cover;
    object-position: center;
}

.rml-home-tech__list {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 28px;
}

.rml-home-tech__item {
    min-height: 54px;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.rml-home-tech__item img {
    display: block;
    width: auto;
    max-width: min(100%, 145px);
    height: auto;
    max-height: 32px;
    object-fit: contain;
    opacity: .82;
    filter: grayscale(1) brightness(0) invert(.9);
    transition: opacity .2s ease;
}

.rml-home-tech__item:hover img { opacity: 1; }

@media (max-width: 1199.98px) and (min-width: 992px) {
    .rml-home-network { grid-template-columns: minmax(360px, 45fr) minmax(500px, 55fr); }
    .rml-home-cta { grid-template-columns: minmax(400px, 48fr) minmax(500px, 52fr); }
    .rml-home-cta__content { padding-inline: 28px; }
    .rml-home-cta h2 { font-size: 30px; }
}

@media (max-width: 991.98px) {
    .rml-home-network,
    .rml-home-cta {
        grid-template-columns: 1fr;
        height: auto;
        min-height: 0;
    }

    .rml-home-network__content,
    .rml-home-cta__content {
        max-width: none;
    }

    .rml-home-network__visual,
    .rml-home-cta__visual {
        height: 220px;
        min-height: 220px;
    }

    .rml-home-network__visual::before,
    .rml-home-cta__visual::before {
        inset: 0 0 auto;
        width: 100%;
        height: 24%;
        background: linear-gradient(180deg, #111718 0%, rgba(17, 23, 24, .62) 45%, rgba(17, 23, 24, 0) 100%);
    }

    .rml-home-tech__list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px 24px;
    }
}

@media (max-width: 575.98px) {
    .rml-home-cta__desktop-break { display: none; }

    .rml-home-network__content,
    .rml-home-cta__content { padding: 24px 20px; }

    .rml-home-network__visual,
    .rml-home-cta__visual {
        height: 180px;
        min-height: 180px;
    }

    .rml-home-tech__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px 20px;
    }

    .rml-home-tech__item { min-height: 48px; }
    .rml-home-tech__item img { max-width: min(100%, 132px); max-height: 30px; }
}

/* Fase D — correção de fidelidade à composição de referência. */
.rml-home-v3-container {
    width: calc(100% - 64px);
    max-width: 1480px;
}

.rml-home-v3-hero-grid {
    grid-template-columns: minmax(410px, .82fr) minmax(600px, 1.18fr);
    min-height: 510px;
}

.rml-home-v3-hero-copy { padding: 54px 48px 54px 0; }

.rml-home-v3-hero h1 {
    max-width: 620px;
    font-size: clamp(46px, 4.1vw, 66px);
    line-height: 1.02;
}

.rml-home-v3-lead {
    max-width: 590px;
    margin-top: 20px;
    font-size: 16px;
    line-height: 1.55;
}

.rml-home-v3-actions { margin-top: 26px; }
.rml-home-v3-button { min-height: 48px; padding: 12px 20px; }

.rml-home-v3-hero-media > img {
    width: 100%;
    object-position: center 54%;
}

.rml-home-v3-trust-card {
    right: 20px;
    bottom: 20px;
    width: 290px;
    padding: 19px;
}

.rml-home-v3-trust-card h2 {
    margin: 0 0 15px;
    font-size: 16px;
}

.rml-home-v3-trust-card li { font-size: 12px; }

.rml-home-v3-benefits article {
    min-height: 68px;
    padding: 13px 20px;
}

.rml-home-v3-services { padding: 38px 0 46px; }
.rml-home-v3-section-heading { max-width: none; margin-bottom: 24px; }
.rml-home-v3-section-heading > p { margin: 0 0 7px; color: var(--rml-home-green) !important; font-size: 12px; font-weight: 800; text-transform: uppercase; }

.rml-home-v3-section-heading h2 {
    max-width: 820px;
    font-size: clamp(28px, 2.45vw, 39px);
}

.rml-home-v3-section-heading span {
    display: block;
    max-width: 720px;
    margin-top: 9px;
    font-size: 14px;
}

.rml-home-v3-service-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 13px;
}

.rml-home-v3-service-grid article {
    min-height: 220px;
    padding: 20px 17px;
}

.rml-home-v3-service-grid article > i {
    width: 40px;
    height: 40px;
    margin-bottom: 17px;
    font-size: 20px;
}

.rml-home-v3-service-grid article h3 {
    min-height: 42px;
    font-size: 16px;
}

.rml-home-v3-service-grid article p {
    margin: 9px 0 15px;
    font-size: 12px;
    line-height: 1.5;
}

.rml-home-v3-service-grid article a { font-size: 12px; }

.rml-home-v3-assurance { padding: 0 0 26px; border-top: 0; background: var(--rml-home-bg); }
.rml-home-v3-assurance-grid { grid-template-columns: 1.08fr .92fr; gap: 18px; }

.rml-home-v3-reasons,
.rml-home-v3-network {
    min-height: 235px;
    padding: 28px 30px;
}

.rml-home-v3-reasons header > p,
.rml-home-v3-network div > p {
    margin: 0 0 7px;
    color: var(--rml-home-green) !important;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.rml-home-v3-reasons h2,
.rml-home-v3-network h2 { font-size: clamp(25px, 2.1vw, 34px); }

.rml-home-v3-reasons > div {
    gap: 15px 24px;
    margin-top: 23px;
}

.rml-home-v3-reasons > div > span { align-items: center; }

.rml-home-v3-network {
    position: relative;
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 18px;
    overflow: hidden;
}

.rml-home-v3-network > img {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    width: 42%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: .35;
}

.rml-home-v3-network > i {
    position: relative;
    z-index: 1;
    width: 50px;
    height: 50px;
    font-size: 23px;
}

.rml-home-v3-network > div {
    position: relative;
    z-index: 1;
    max-width: 72%;
}

.rml-home-v3-network div > span { display: block; margin-top: 7px; font-size: 13px; }
.rml-home-v3-network a { margin-top: 18px; font-size: 13px; }

.rml-home-v3-cta { padding: 0 0 34px; }

.rml-home-v3-cta > .rml-home-v3-container {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    min-height: 205px;
    padding: 30px 34px;
}

.rml-home-v3-cta > .rml-home-v3-container > img {
    right: 0;
    width: 58%;
    opacity: .48;
    object-position: center;
}

.rml-home-v3-cta > .rml-home-v3-container::after {
    position: absolute;
    z-index: 0;
    inset: 0 0 0 auto;
    width: 24%;
    background: rgba(7, 13, 14, .88);
    content: "";
    pointer-events: none;
}

.rml-home-v3-cta > .rml-home-v3-container > div { max-width: 780px; }
.rml-home-v3-cta > .rml-home-v3-container > div > p { margin: 0 0 8px; color: var(--rml-home-green) !important; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.rml-home-v3-cta h2 { font-size: clamp(28px, 2.45vw, 40px); }
.rml-home-v3-cta > .rml-home-v3-container > div > span { margin-top: 8px; font-size: 13px; }
.rml-home-v3-cta > .rml-home-v3-container > a { min-width: 230px; }

@media (max-width: 1279.98px) {
    .rml-home-v3-container { width: calc(100% - 48px); }
    .rml-home-v3-hero-grid { grid-template-columns: minmax(370px, .9fr) minmax(500px, 1.1fr); }
    .rml-home-v3-service-grid { gap: 10px; }
    .rml-home-v3-service-grid article { padding: 18px 14px; }
}

@media (max-width: 1023.98px) {
    .rml-home-v3-container { width: calc(100% - 40px); }
    .rml-home-v3-hero-grid { grid-template-columns: .9fr 1.1fr; min-height: 470px; }
    .rml-home-v3-hero-copy { padding: 44px 30px 44px 0; }
    .rml-home-v3-hero h1 { font-size: 46px; }
    .rml-home-v3-hero-media { min-height: 0; border-top: 0; border-left: 1px solid var(--rml-home-border); }
    .rml-home-v3-service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .rml-home-v3-service-grid article { min-height: 205px; }
    .rml-home-v3-assurance-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 767.98px) {
    .rml-home-v3-container { width: calc(100% - 30px); }
    .rml-home-v3-hero-grid { grid-template-columns: 1fr; }
    .rml-home-v3-hero-copy { padding: 42px 0 34px; }
    .rml-home-v3-hero h1 { font-size: clamp(39px, 10vw, 50px); }
    .rml-home-v3-hero-media { min-height: 390px; border-top: 1px solid var(--rml-home-border); border-left: 0; }
    .rml-home-v3-benefits > .rml-home-v3-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rml-home-v3-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rml-home-v3-assurance-grid { grid-template-columns: 1fr; }
    .rml-home-v3-reasons,
    .rml-home-v3-network { min-height: 0; padding: 25px; }
    .rml-home-v3-cta > .rml-home-v3-container { grid-template-columns: 1fr; }
    .rml-home-v3-cta > .rml-home-v3-container > a { width: auto; min-width: 0; justify-self: start; }
}

@media (max-width: 479.98px) {
    .rml-home-v3-container { width: calc(100% - 24px); }
    .rml-home-v3-hero-media { min-height: 365px; }
    .rml-home-v3-benefits > .rml-home-v3-container,
    .rml-home-v3-service-grid { grid-template-columns: 1fr; }
    .rml-home-v3-service-grid article { min-height: 185px; }
    .rml-home-v3-service-grid article h3 { min-height: 0; }
    .rml-home-v3-reasons > div { grid-template-columns: 1fr; }
    .rml-home-v3-cta > .rml-home-v3-container { padding: 24px; }
    .rml-home-v3-cta > .rml-home-v3-container > a { width: 100%; }
}

/* Fase D — hero ajustado à escala e composição da referência aprovada. */
.rml-home-v3-hero-grid {
    width: 100%;
    max-width: none;
    grid-template-columns: minmax(430px, 39%) minmax(0, 61%);
    min-height: 400px;
}

.rml-home-v3-hero-copy {
    z-index: 2;
    justify-content: center;
    padding: 28px 34px 28px clamp(38px, 4vw, 66px);
    background: #080d0f;
    box-shadow: 38px 0 45px #080d0f;
}

.rml-home-v3-hero .rml-home-v3-eyebrow {
    margin-bottom: 9px;
    font-size: 11px;
}

.rml-home-v3-hero h1 {
    max-width: 520px;
    font-size: clamp(46px, 3.45vw, 56px);
    line-height: .98;
}

.rml-home-v3-lead {
    max-width: 500px;
    margin-top: 14px;
    font-size: 14px;
    line-height: 1.45;
}

.rml-home-v3-actions {
    gap: 12px;
    margin-top: 18px;
}

.rml-home-v3-button {
    min-height: 42px;
    padding: 10px 18px;
    font-size: 12px;
}

.rml-home-v3-hero-media {
    margin-left: -28px;
    border-left: 0;
}

.rml-home-v3-hero-media > img {
    width: calc(100% + 28px);
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.rml-home-v3-trust-card {
    top: 48px;
    right: 42px;
    bottom: auto;
    width: 238px;
    min-height: 192px;
    padding: 16px;
}

.rml-home-v3-trust-card h2 {
    gap: 9px;
    margin-bottom: 12px;
    font-size: 14px;
}

.rml-home-v3-trust-card h2 i { font-size: 22px; }
.rml-home-v3-trust-card ul { gap: 12px; }
.rml-home-v3-trust-card li { gap: 8px; font-size: 11px; }

.rml-home-v3-benefits > .rml-home-v3-container {
    width: 100%;
    max-width: none;
}

.rml-home-v3-benefits article,
.rml-home-v3-benefits article:first-child {
    min-height: 76px;
    padding: 13px clamp(24px, 4vw, 64px);
}

.rml-home-v3-benefits article i { font-size: 27px; }
.rml-home-v3-benefits article strong { font-size: 12px; }
.rml-home-v3-benefits article span { color: var(--rml-home-muted); font-size: 11px; line-height: 1.45; }

@media (max-width: 1279.98px) {
    .rml-home-v3-hero-grid {
        grid-template-columns: minmax(390px, 40%) minmax(0, 60%);
        min-height: 300px;
    }

    .rml-home-v3-hero-copy { padding: 22px 26px 22px clamp(34px, 4vw, 52px); }
    .rml-home-v3-hero h1 { max-width: 430px; font-size: 42px; }
    .rml-home-v3-lead { max-width: 410px; font-size: 12px; }
    .rml-home-v3-actions { margin-top: 14px; }
    .rml-home-v3-button { min-height: 40px; padding: 9px 16px; font-size: 11px; }
    .rml-home-v3-trust-card { top: 48px; right: 36px; width: 200px; min-height: 192px; padding: 14px; }
    .rml-home-v3-trust-card h2 { font-size: 12px; }
    .rml-home-v3-trust-card li { font-size: 10px; }
    .rml-home-v3-benefits article,
    .rml-home-v3-benefits article:first-child { min-height: 72px; padding: 12px 34px; }
}

@media (max-width: 767.98px) {
    .rml-home-v3-hero-grid { grid-template-columns: 1fr; min-height: 0; }
    .rml-home-v3-hero-copy { padding: 38px 24px 32px; box-shadow: none; }
    .rml-home-v3-hero h1 { max-width: 540px; font-size: clamp(39px, 11vw, 50px); }
    .rml-home-v3-lead { max-width: 540px; font-size: 14px; }
    .rml-home-v3-actions { margin-top: 20px; }
    .rml-home-v3-button { min-height: 44px; font-size: 12px; }
    .rml-home-v3-hero-media { min-height: 360px; margin-left: 0; border-top: 1px solid var(--rml-home-border); }
    .rml-home-v3-hero-media > img { width: 100%; }
    .rml-home-v3-trust-card { top: 22px; right: 22px; width: 230px; }
    .rml-home-v3-benefits > .rml-home-v3-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 479.98px) {
    .rml-home-v3-hero-copy { padding: 34px 18px 28px; }
    .rml-home-v3-actions { grid-template-columns: 1fr; }
    .rml-home-v3-hero-media { min-height: 340px; }
    .rml-home-v3-trust-card { top: auto; right: 12px; bottom: 12px; width: calc(100% - 24px); }
    .rml-home-v3-benefits > .rml-home-v3-container { grid-template-columns: 1fr; }
    .rml-home-v3-benefits article,
    .rml-home-v3-benefits article:first-child { padding: 13px 20px; }
}

/* Fase D — composição integral calibrada pela referência 1024 x 1536. */
@media (min-width: 768px) {
    .rml-home-v3-services { padding: 18px 0 20px; }

    .rml-home-v3-section-heading {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 28px;
        min-height: 64px;
        margin-bottom: 16px;
    }

    .rml-home-v3-section-heading > div > p {
        margin: 0 0 3px;
        color: var(--rml-home-green) !important;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .05em;
        text-transform: uppercase;
    }

    .rml-home-v3-section-heading h2 { font-size: 25px; line-height: 1.05; }
    .rml-home-v3-section-heading span { margin-top: 5px; font-size: 12px; }

    .rml-home-v3-section-heading > a {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        min-height: 35px;
        padding: 8px 14px;
        border: 1px solid #344244;
        border-radius: 6px;
        color: var(--rml-home-text) !important;
        font-size: 10px;
        font-weight: 800;
        text-decoration: none !important;
        white-space: nowrap;
    }

    .rml-home-v3-section-heading > a i { color: var(--rml-home-green); }

    .rml-home-v3-service-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px 18px;
    }

    .rml-home-v3-service-grid article {
        display: grid;
        grid-template-columns: 54px minmax(0, 1fr);
        grid-template-rows: auto auto 1fr;
        column-gap: 14px;
        min-height: 102px;
        padding: 13px 18px;
    }

    .rml-home-v3-service-grid article > i {
        grid-column: 1;
        grid-row: 1 / 4;
        width: 46px;
        height: 46px;
        margin: 0;
        border: 0;
        background: transparent;
        font-size: 30px;
    }

    .rml-home-v3-service-grid article h3 {
        grid-column: 2;
        min-height: 0;
        font-size: 14px;
    }

    .rml-home-v3-service-grid article p {
        grid-column: 2;
        margin: 4px 0 6px;
        font-size: 11px;
        line-height: 1.35;
    }

    .rml-home-v3-service-grid article a {
        grid-column: 2;
        align-self: end;
        font-size: 11px;
    }

    .rml-home-v3-assurance { padding: 0 0 14px; }
    .rml-home-v3-assurance-grid { grid-template-columns: 3fr 2fr; gap: 14px; }

    .rml-home-v3-reasons,
    .rml-home-v3-network {
        min-height: 170px;
        padding: 18px 20px;
    }

    .rml-home-v3-reasons header > p {
        margin: 3px 0 0;
        color: var(--rml-home-muted) !important;
        font-size: 11px;
        font-weight: 400;
        text-transform: none;
    }

    .rml-home-v3-reasons h2,
    .rml-home-v3-network h2 { font-size: 20px; }

    .rml-home-v3-reasons > div {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 15px;
        margin-top: 18px;
    }

    .rml-home-v3-reasons > div > span {
        display: grid;
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .rml-home-v3-reasons > div > span > i { font-size: 23px; }
    .rml-home-v3-reasons > div > span strong { font-size: 11px; line-height: 1.15; }
    .rml-home-v3-reasons > div > span small { color: var(--rml-home-muted); font-size: 9px; line-height: 1.3; }

    .rml-home-v3-network {
        display: block;
        overflow: hidden;
    }

    .rml-home-v3-network > img { width: 40%; opacity: .62; }

    .rml-home-v3-network > div {
        max-width: 68%;
        padding-top: 4px;
    }

    .rml-home-v3-network div > p { margin-bottom: 5px; font-size: 10px; }
    .rml-home-v3-network div > span { max-width: 260px; margin-top: 8px; font-size: 11px; line-height: 1.45; }
    .rml-home-v3-network a { margin-top: 16px; padding: 9px 14px; border-radius: 5px; color: #03130b !important; background: var(--rml-home-green); font-size: 10px; }

    .rml-home-v3-cta { padding: 0 0 12px; }

    .rml-home-v3-cta > .rml-home-v3-container {
        grid-template-columns: 55% 45%;
        grid-template-rows: auto auto;
        gap: 8px 0;
        min-height: 166px;
        padding: 18px 22px;
    }

    .rml-home-v3-cta > .rml-home-v3-container > img {
        z-index: 0;
        right: 0;
        width: 52%;
        opacity: .78;
    }

    .rml-home-v3-cta > .rml-home-v3-container::after { display: none; }
    .rml-home-v3-cta > .rml-home-v3-container > div { grid-column: 1; grid-row: 1; align-self: end; }
    .rml-home-v3-cta > .rml-home-v3-container > a { grid-column: 1; grid-row: 2; justify-self: start; min-width: 205px; }
    .rml-home-v3-cta h2 { max-width: 470px; font-size: 24px; }
    .rml-home-v3-cta > .rml-home-v3-container > div > span { max-width: 440px; font-size: 10px; }

    .rml-home-v3-technologies { padding: 0 0 18px; background: var(--rml-home-bg); }
    .rml-home-v3-technologies p { margin: 0 0 3px; color: var(--rml-home-green) !important; font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
    .rml-home-v3-technologies h2 { margin: 0; font-size: 20px; }
    .rml-home-v3-technologies > .rml-home-v3-container > span { display: block; margin-top: 3px; color: var(--rml-home-muted); font-size: 10px; }
    .rml-home-v3-technologies > .rml-home-v3-container > div { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); align-items: center; gap: 20px; margin-top: 13px; }
    .rml-home-v3-technologies strong { color: #e4e9e8; font-size: 15px; font-weight: 700; text-align: center; white-space: nowrap; }
}

@media (max-width: 767.98px) {
    .rml-home-v3-section-heading > a { display: none; }
    .rml-home-v3-technologies { padding: 0 0 48px; }
    .rml-home-v3-technologies h2 { margin: 0; font-size: 26px; }
    .rml-home-v3-technologies p { margin: 0 0 5px; color: var(--rml-home-green) !important; font-size: 10px; font-weight: 800; text-transform: uppercase; }
    .rml-home-v3-technologies > .rml-home-v3-container > span { display: block; margin-top: 7px; color: var(--rml-home-muted); font-size: 12px; }
    .rml-home-v3-technologies > .rml-home-v3-container > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 20px; }
    .rml-home-v3-technologies strong { padding: 12px; border: 1px solid var(--rml-home-border); border-radius: 5px; text-align: center; }
}

/* Fase D — correção estrutural das grelhas de confiança, rede e tecnologias. */
.rml-home-v3-reason-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    min-width: 0;
}

.rml-home-v3-reason-item {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    min-width: 0;
}

.rml-home-v3-reason-icon {
    width: 28px;
    color: var(--rml-home-green);
    font-size: 22px;
    line-height: 1;
    text-align: center;
}

.rml-home-v3-reason-content {
    min-width: 0;
}

.rml-home-v3-reason-content strong {
    display: block;
    font-size: 11px;
    line-height: 1.25;
}

.rml-home-v3-reason-content p {
    margin: 6px 0 0;
    color: var(--rml-home-muted) !important;
    font-size: 9px;
    line-height: 1.4;
    overflow-wrap: normal;
    word-break: normal;
}

.rml-home-v3-network {
    display: grid !important;
    grid-template-columns: minmax(0, 1.18fr) minmax(120px, .82fr);
    gap: 14px;
    align-items: stretch;
}

.rml-home-v3-network-content {
    position: relative;
    z-index: 1;
    min-width: 0;
    max-width: none !important;
    padding-top: 4px;
}

.rml-home-v3-network-content > span {
    display: block;
    max-width: 31em;
}

.rml-home-v3-network-media {
    position: relative;
    max-width: none !important;
    min-width: 0;
    margin: -18px -20px -18px 0;
    padding-top: 0 !important;
    overflow: hidden;
}

.rml-home-v3-network-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: .62;
}

.rml-home-v3-tech-list {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    align-items: center;
    gap: 16px;
    min-width: 0;
}

.rml-home-v3-tech-item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    text-align: center;
}

.rml-home-v3-tech-item strong {
    display: block;
    max-width: 100%;
}

@media (min-width: 768px) and (max-width: 900px) {
    .rml-home-v3-assurance-grid {
        grid-template-columns: 1fr;
    }

    .rml-home-v3-reasons > .rml-home-v3-reason-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rml-home-v3-network {
        grid-template-columns: minmax(220px, 1fr) minmax(150px, .7fr);
    }

    .rml-home-v3-technologies > .rml-home-v3-container > .rml-home-v3-tech-list {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .rml-home-v3-reasons > .rml-home-v3-reason-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rml-home-v3-network {
        grid-template-columns: minmax(0, 1.15fr) minmax(120px, .85fr);
    }

    .rml-home-v3-network-media {
        margin: -25px -25px -25px 0;
    }

    .rml-home-v3-technologies > .rml-home-v3-container > .rml-home-v3-tech-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
}

@media (max-width: 479.98px) {
    .rml-home-v3-reasons > .rml-home-v3-reason-list,
    .rml-home-v3-network {
        grid-template-columns: 1fr;
    }

    .rml-home-v3-network-media {
        min-height: 150px;
        margin: 0 -25px -25px;
    }
}

/* ================================================================
   RM Leonis — Home implementation spec (2026-08-27)
   Final scoped layer. Header and footer remain untouched.
   ================================================================ */
.rml-home-v3 {
    --rml-bg: #080b0c;
    --rml-bg-soft: #0f1415;
    --rml-surface: #13191a;
    --rml-surface-2: #182021;
    --rml-text: #fff;
    --rml-text-soft: #c1c9cb;
    --rml-text-muted: #8d989b;
    --rml-border: rgba(255, 255, 255, .08);
    --rml-green: #19f58a;
    width: 100%;
    overflow: visible;
    color: var(--rml-text);
    background: var(--rml-bg);
}

.rml-home-v3 .rml-home-container {
    width: min(1400px, calc(100% - 64px));
    margin-inline: auto;
}

.rml-home-v3 .rml-home-benefits-section,
.rml-home-v3 .rml-home-assurance-section,
.rml-home-v3 .rml-home-cta-section,
.rml-home-v3 .rml-home-tech { width: 100%; }

.rml-home-v3 .rml-home-eyebrow {
    margin: 0 0 18px;
    color: var(--rml-green) !important;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.rml-home-v3 h1,
.rml-home-v3 h2,
.rml-home-v3 h3,
.rml-home-v3 p { color: inherit; }

.rml-home-hero {
    width: 100%;
    border-bottom: 0;
    background: var(--rml-bg);
}

.rml-home-hero__inner {
    display: grid;
    grid-template-columns: minmax(430px, .78fr) minmax(720px, 1.22fr);
    min-height: 520px;
    align-items: stretch;
}

.rml-home-hero__content {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: 64px 48px 56px 0;
}

.rml-home-hero h1 {
    max-width: 560px;
    margin: 0 0 22px;
    font-size: clamp(48px, 3.4vw, 72px);
    font-weight: 800;
    line-height: 1.01;
    letter-spacing: -.035em;
}

.rml-home-hero h1 em { color: var(--rml-green); font-style: normal; }

.rml-home-hero__lead {
    max-width: 560px;
    margin: 0;
    color: var(--rml-text-soft) !important;
    font-size: 18px;
    line-height: 1.55;
}

.rml-home-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }

.rml-home-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 12px 22px;
    border: 1px solid var(--rml-green);
    border-radius: 7px;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none !important;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease;
}

.rml-home-button i { margin-left: 10px; }
.rml-home-button--primary { color: #03130b !important; background: var(--rml-green); }
.rml-home-button--secondary { border-color: rgba(255, 255, 255, .3); color: var(--rml-text) !important; background: rgba(8, 11, 12, .38); }
.rml-home-button:hover { border-color: #58ffab; color: #03130b !important; background: #58ffab; transform: translateY(-2px); }
.rml-home-button:focus-visible,
.rml-home-services__grid a:focus-visible { outline: 3px solid rgba(25, 245, 138, .45); outline-offset: 3px; }

.rml-home-hero__visual { position: relative; min-width: 0; min-height: 520px; overflow: hidden; }
.rml-home-hero__visual > img { width: 100%; height: 100%; object-fit: cover; object-position: 48% center; display: block; }
.rml-home-hero__visual::before { position: absolute; z-index: 1; inset: 0 auto 0 0; width: 18%; background: linear-gradient(90deg, var(--rml-bg), rgba(8, 11, 12, 0)); content: ""; pointer-events: none; }

.rml-home-hero-trust {
    position: absolute;
    z-index: 2;
    top: 72px;
    right: 36px;
    width: 320px;
    padding: 24px;
    border: 1px solid rgba(0, 255, 153, .32);
    border-radius: 14px;
    background: rgba(7, 15, 15, .88);
    backdrop-filter: blur(8px);
    box-shadow: 0 14px 40px rgba(0, 0, 0, .28);
}

.rml-home-hero-trust h2 { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 20px; font-size: 21px; font-weight: 800; line-height: 1.2; }
.rml-home-hero-trust h2 i { flex: 0 0 auto; color: var(--rml-green); font-size: 28px; }
.rml-home-hero-trust ul { display: grid; gap: 15px; margin: 0; padding: 0; list-style: none; }
.rml-home-hero-trust li { display: flex; gap: 10px; align-items: center; color: var(--rml-text-soft); font-size: 14px; line-height: 1.35; }
.rml-home-hero-trust li i { flex: 0 0 auto; color: var(--rml-green); }

.rml-home-benefits {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--rml-border);
    border-bottom: 1px solid var(--rml-border);
    background: #0b1112;
}

.rml-home-benefit { display: grid; grid-template-columns: 34px 1fr; gap: 14px; align-items: center; min-height: 78px; padding: 18px 28px; }
.rml-home-benefit + .rml-home-benefit { border-left: 1px solid var(--rml-border); }
.rml-home-benefit > i { color: var(--rml-green); font-size: 26px; text-align: center; }
.rml-home-benefit span { display: grid; gap: 3px; min-width: 0; }
.rml-home-benefit strong { font-size: 14px; line-height: 1.25; }
.rml-home-benefit small { color: var(--rml-text-muted); font-size: 12px; line-height: 1.4; }

.rml-home-services { width: 100%; padding: 60px 0 68px; }
.rml-home-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 30px; }
.rml-home-section-heading .rml-home-eyebrow { margin-bottom: 8px; }
.rml-home-section-heading h2,
.rml-home-why h2,
.rml-home-network h2,
.rml-home-cta h2,
.rml-home-tech h2 { margin: 0; font-weight: 800; line-height: 1.08; letter-spacing: -.025em; }
.rml-home-section-heading h2 { font-size: clamp(38px, 3vw, 44px); }
.rml-home-section-heading span { display: block; margin-top: 9px; color: var(--rml-text-muted); font-size: 17px; }
.rml-home-section-heading > .rml-home-button { flex: 0 0 auto; }

.rml-home-services__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.rml-home-services__grid article { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 18px; min-height: 180px; padding: 24px; border: 1px solid var(--rml-border); border-radius: 12px; background: var(--rml-surface); }
.rml-home-services__grid article > i { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 8px; color: var(--rml-green); background: rgba(25, 245, 138, .08); font-size: 24px; }
.rml-home-services__grid article > div { display: flex; min-width: 0; flex-direction: column; }
.rml-home-services__grid h3 { margin: 0; font-size: 19px; font-weight: 800; line-height: 1.25; }
.rml-home-services__grid p { margin: 9px 0 16px; color: var(--rml-text-muted) !important; font-size: 15px; line-height: 1.5; }
.rml-home-services__grid a { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; color: var(--rml-green) !important; font-size: 14px; font-weight: 800; text-decoration: none !important; }

.rml-home-why { display: grid; grid-template-columns: minmax(320px, .8fr) minmax(620px, 1.2fr); gap: 36px; align-items: start; padding: 34px; border: 1px solid var(--rml-border); border-radius: 12px; background: var(--rml-surface); }
.rml-home-why h2 { font-size: 34px; }
.rml-home-why__intro p { margin: 10px 0 0; color: var(--rml-text-muted) !important; font-size: 16px; line-height: 1.5; }
.rml-home-why__items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 32px; }
.rml-home-why__item { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 14px; min-width: 0; }
.rml-home-why__icon { color: var(--rml-green); font-size: 25px; text-align: center; }
.rml-home-why__content { min-width: 0; }
.rml-home-why__content strong { display: block; font-size: 16px; line-height: 1.3; overflow-wrap: normal; word-break: normal; }
.rml-home-why__content p { margin: 7px 0 0; color: var(--rml-text-muted) !important; font-size: 14px; line-height: 1.5; overflow-wrap: normal; word-break: normal; }

.rml-home-network { display: grid; grid-template-columns: minmax(360px, .9fr) minmax(520px, 1.1fr); min-height: 230px; margin-top: 24px; overflow: hidden; border: 1px solid var(--rml-border); border-radius: 12px; background: var(--rml-surface); }
.rml-home-network__content { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; justify-content: center; padding: 30px 34px; }
.rml-home-network__content .rml-home-eyebrow { margin-bottom: 7px; }
.rml-home-network h2 { font-size: 35px; }
.rml-home-network__content > p:not(.rml-home-eyebrow) { max-width: 480px; margin: 12px 0 20px; color: var(--rml-text-muted) !important; font-size: 15px; line-height: 1.55; }
.rml-home-network__visual { min-width: 0; overflow: hidden; }
.rml-home-network__visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }

.rml-home-cta { display: grid; grid-template-columns: minmax(420px, .95fr) minmax(560px, 1.05fr); min-height: 230px; margin-top: 24px; overflow: hidden; border: 1px solid rgba(25, 245, 138, .24); border-radius: 12px; background: var(--rml-surface); }
.rml-home-cta__content { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; justify-content: center; padding: 30px 36px; }
.rml-home-cta__content .rml-home-eyebrow { margin-bottom: 7px; }
.rml-home-cta h2 { max-width: 620px; font-size: clamp(32px, 2.5vw, 38px); }
.rml-home-cta__content > p:not(.rml-home-eyebrow) { max-width: 590px; margin: 10px 0 18px; color: var(--rml-text-muted) !important; font-size: 15px; line-height: 1.5; }
.rml-home-cta__visual { min-width: 0; overflow: hidden; }
.rml-home-cta__visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }

.rml-home-tech { padding: 46px 0 54px; }
.rml-home-tech .rml-home-eyebrow { margin-bottom: 7px; }
.rml-home-tech h2 { font-size: 32px; }
.rml-home-tech > .rml-home-container > p:not(.rml-home-eyebrow) { margin: 8px 0 0; color: var(--rml-text-muted) !important; font-size: 15px; }
.rml-home-tech__list { display: grid; grid-template-columns: repeat(7, minmax(90px, 1fr)); gap: 22px; align-items: center; margin-top: 26px; }
.rml-home-tech__item { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 52px; color: rgba(255, 255, 255, .88); font-size: 17px; font-weight: 700; text-align: center; transition: color .2s ease; }
.rml-home-tech__item:hover { color: var(--rml-green); }

@media (max-width: 1199.98px) {
    .rml-home-v3 .rml-home-container { width: min(1180px, calc(100% - 48px)); }
    .rml-home-hero__inner { grid-template-columns: minmax(360px, .9fr) minmax(500px, 1.1fr); min-height: 470px; }
    .rml-home-hero__content { padding: 48px 28px 44px 0; }
    .rml-home-hero h1 { font-size: 48px; }
    .rml-home-hero__lead { font-size: 16px; }
    .rml-home-hero__actions { flex-wrap: nowrap; }
    .rml-home-hero__actions .rml-home-button { min-height: 48px; padding-inline: 16px; font-size: 12px; white-space: nowrap; }
    .rml-home-hero__visual { min-height: 470px; }
    .rml-home-hero-trust { top: 56px; right: 20px; width: 280px; }
    .rml-home-services__grid { grid-template-columns: repeat(2, 1fr); }
    .rml-home-why { grid-template-columns: minmax(280px, .8fr) minmax(520px, 1.2fr); }
}

@media (min-width: 992px) {
    .rml-home-network { height: 240px; min-height: 240px; }
}

@media (min-width: 1200px) {
    .rml-home-cta { height: 240px; min-height: 240px; }
    .rml-home-cta__visual { height: 240px; }
}

@media (max-width: 991.98px) {
    .rml-home-hero__inner { grid-template-columns: 1fr; }
    .rml-home-hero__content { padding: 48px 0 36px; }
    .rml-home-hero__actions { flex-wrap: wrap; }
    .rml-home-hero__visual { min-height: 380px; }
    .rml-home-hero-trust { top: 28px; right: 24px; }
    .rml-home-benefits { grid-template-columns: repeat(2, 1fr); }
    .rml-home-benefit:nth-child(3) { border-left: 0; }
    .rml-home-benefit:nth-child(n+3) { border-top: 1px solid var(--rml-border); }
    .rml-home-why,
    .rml-home-network,
    .rml-home-cta { grid-template-columns: 1fr; }
    .rml-home-why__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rml-home-network__visual { height: 220px; min-height: 220px; }
    .rml-home-cta__visual { height: 240px; min-height: 240px; }
    .rml-home-tech__list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    .rml-home-v3 .rml-home-container { width: calc(100% - 32px); }
    .rml-home-section-heading { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 575.98px) {
    .rml-home-hero__content { padding: 36px 0 28px; }
    .rml-home-hero h1 { font-size: clamp(42px, 12vw, 54px); line-height: 1.02; }
    .rml-home-hero__lead { font-size: 16px; }
    .rml-home-hero__actions { display: grid; grid-template-columns: 1fr; gap: 12px; }
    .rml-home-hero__visual { min-height: 330px; }
    .rml-home-hero-trust { position: absolute; top: 20px; right: 16px; left: 16px; width: auto; padding: 18px; }
    .rml-home-benefits { grid-template-columns: 1fr; }
    .rml-home-benefit + .rml-home-benefit { border-top: 1px solid var(--rml-border); border-left: 0; }
    .rml-home-services { padding: 48px 0 54px; }
    .rml-home-services__grid { grid-template-columns: 1fr; }
    .rml-home-section-heading h2 { font-size: 36px; }
    .rml-home-section-heading > .rml-home-button { width: 100%; }
    .rml-home-why { gap: 28px; padding: 24px; }
    .rml-home-why__items { grid-template-columns: 1fr; }
    .rml-home-network__content,
    .rml-home-cta__content { padding: 28px 24px; }
    .rml-home-network__content .rml-home-button,
    .rml-home-cta__content .rml-home-button { width: 100%; }
    .rml-home-network__visual { height: 190px; min-height: 190px; }
    .rml-home-cta__visual { height: 190px; min-height: 190px; }
    .rml-home-tech__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
    .rml-home-tech__item { border: 1px solid var(--rml-border); border-radius: 7px; background: var(--rml-surface); }
}

@media (prefers-reduced-motion: reduce) {
    .rml-home-v3 *,
    .rml-home-v3 *::before,
    .rml-home-v3 *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Final precedence layer: restricted to the three approved Home zones. */
.rml-home-network { grid-template-columns: minmax(0, 45fr) minmax(0, 55fr); height: 220px; min-height: 220px; border-color: rgba(255,255,255,.08); background: #0d1213; }
.rml-home-network__content { padding: 26px 34px; }
.rml-home-network__content > p:not(.rml-home-eyebrow) { max-width: 430px; margin: 9px 0 16px; }
.rml-home-network__visual,
.rml-home-cta__visual { position: relative; height: 100%; min-height: 0; }
.rml-home-network__visual::before,
.rml-home-cta__visual::before { position: absolute; z-index: 1; inset: 0 auto 0 0; width: 24%; background: linear-gradient(90deg,#0d1213 0%,rgba(13,18,19,.72) 34%,rgba(13,18,19,0) 100%); content: ""; pointer-events: none; }
.rml-home-network__visual img,
.rml-home-cta__visual img { height: 100%; object-fit: cover; }
.rml-home-cta { grid-template-columns: minmax(0, 48fr) minmax(0, 52fr); height: auto; min-height: 230px; border-color: rgba(25,245,138,.18); background: #0d1213; }
.rml-home-cta__content { padding: 27px 36px; }
.rml-home-cta h2 { max-width: 570px; font-size: clamp(30px,2.35vw,36px); }
.rml-home-cta__content > p:not(.rml-home-eyebrow) { max-width: 550px; margin: 8px 0 15px; }
.rml-home-tech__list { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 28px; margin: 26px 0 0; padding: 0; list-style: none; }
.rml-home-tech__item { min-height: 52px; border: 0; background: transparent; }
.rml-home-tech__item img { display: block; width: auto; height: auto; max-width: 145px; max-height: 32px; object-fit: contain; opacity: .82; filter: grayscale(1) brightness(0) invert(.9); transition: opacity .2s ease; }
.rml-home-tech__item:hover img { opacity: 1; }
@media (max-width: 991.98px) {
    .rml-home-network,
    .rml-home-cta { grid-template-columns: 1fr; height: auto; min-height: 0; }
    .rml-home-network__visual,
    .rml-home-cta__visual { height: 220px; min-height: 220px; }
    .rml-home-network__visual::before,
    .rml-home-cta__visual::before { inset: 0 0 auto; width: 100%; height: 30%; background: linear-gradient(180deg,#0d1213 0%,rgba(13,18,19,.68) 36%,rgba(13,18,19,0) 100%); }
    .rml-home-tech__list { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 575.98px) {
    .rml-home-cta__desktop-break { display: none; }
    .rml-home-network__content,
    .rml-home-cta__content { padding: 24px 20px; }
    .rml-home-network__visual,
    .rml-home-cta__visual { height: 180px; min-height: 180px; }
    .rml-home-tech__list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
    .rml-home-tech__item { border: 0; background: transparent; }
    .rml-home-tech__item img { max-width: 132px; max-height: 30px; }
}

@media (min-width: 992px) {
    .rml-home-cta__content { min-height: 0; padding: 18px 36px; }
    .rml-home-cta h2 { font-size: clamp(30px,2.1vw,32px); line-height: 1.05; }
    .rml-home-cta__content > p:not(.rml-home-eyebrow) { margin: 5px 0 10px; font-size: 14px; line-height: 1.4; }
    .rml-home-cta__content .rml-home-button { min-height: 46px; padding-block: 10px; }
}

/* RM Leonis — Home assurance final cascade */
.rml-home-v3 .rml-home-assurance { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr); gap:18px; margin-top:24px; }
.rml-home-v3 .rml-home-assurance .rml-home-why,.rml-home-v3 .rml-home-assurance .rml-home-network { min-height:310px; margin-top:0; }
.rml-home-v3 .rml-home-assurance .rml-home-why { position:relative; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(220px,.88fr); gap:20px; overflow:hidden; padding:30px; }
.rml-home-v3 .rml-home-why__copy { position:relative; z-index:1; min-width:0; }
.rml-home-v3 .rml-home-assurance .rml-home-why__items { grid-template-columns:1fr; gap:0; margin:18px 0 0; padding:0; list-style:none; }
.rml-home-v3 .rml-home-assurance .rml-home-why__item { grid-template-columns:20px minmax(0,1fr); gap:9px; padding:8px 0; border-top:1px solid var(--rml-border); }
.rml-home-v3 .rml-home-assurance .rml-home-why__icon { font-size:15px; }
.rml-home-v3 .rml-home-assurance .rml-home-why__content strong { color:var(--rml-text); font-size:14px; font-weight:700; }
.rml-home-v3 .rml-home-assurance .rml-home-why__content p { margin:4px 0 0; color:var(--rml-text-muted) !important; font-size:13px; line-height:1.45; }
.rml-home-v3 .rml-home-why__visual { align-self:center; width:100%; max-height:270px; object-fit:contain; filter:saturate(.9); }
.rml-home-v3 .rml-home-assurance .rml-home-network { display:block; grid-template-columns:none; height:auto; }
.rml-home-v3 .rml-home-assurance .rml-home-network__content { height:100%; padding:30px; }
.rml-home-v3 .rml-home-network__content ul { display:grid; gap:9px; margin:0 0 18px; padding:0; color:var(--rml-text-muted); font-size:13px; list-style:none; }
.rml-home-v3 .rml-home-network__content li::before { margin-right:8px; color:var(--rml-green); font-family:"Font Awesome 5 Pro"; content:"\f058"; }
.rml-home-v3 .rml-home-network__content .rml-home-button { width:100%; margin-top:auto; }
.rml-home-v3 .rml-home-network__content .rml-home-button > i:first-child { margin:0 10px 0 0; }
.rml-home-v3 .rml-home-cta__visual img { object-position:58% center; }
@media (max-width:991.98px) { .rml-home-v3 .rml-home-assurance { grid-template-columns:1fr; } .rml-home-v3 .rml-home-assurance .rml-home-why,.rml-home-v3 .rml-home-assurance .rml-home-network { min-height:0; } }
@media (max-width:575.98px) { .rml-home-v3 .rml-home-assurance .rml-home-why { grid-template-columns:1fr; padding:24px; } .rml-home-v3 .rml-home-why__visual { max-height:210px; } .rml-home-v3 .rml-home-assurance .rml-home-network__content { padding:24px; } }

/* RM Leonis — Estado da Rede alinhado com a referência */
.rml-home-v3 .rml-home-network__heading { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.rml-home-v3 .rml-home-network__heading h2 { font-size:28px; }
.rml-home-v3 .rml-home-network__heading span { padding:7px 10px; border:1px solid rgba(255,255,255,.2); border-radius:6px; color:var(--rml-text-soft); font-size:11px; font-weight:800; letter-spacing:.05em; line-height:1; text-transform:uppercase; }
.rml-home-v3 .rml-home-network__content > p { max-width:430px; margin:12px 0 17px; color:var(--rml-text-muted) !important; font-size:14px; line-height:1.5; }
.rml-home-v3 .rml-home-network__content ul { width:100%; gap:10px; margin-bottom:20px; }
.rml-home-v3 .rml-home-network__content li { display:flex; align-items:center; gap:10px; }
.rml-home-v3 .rml-home-network__content li::before { display:none; }
.rml-home-v3 .rml-home-network__content li i { flex:0 0 auto; color:#93a0a3; font-size:15px; }
.rml-home-v3 .rml-home-network__content .rml-home-button { width:auto; min-height:48px; margin-top:0; align-self:flex-start; }
@media (max-width:575.98px) {
    .rml-home-v3 .rml-home-network__heading { gap:9px; }
    .rml-home-v3 .rml-home-network__heading h2 { font-size:24px; }
    .rml-home-v3 .rml-home-network__heading span { padding:6px 8px; font-size:10px; }
}

/* RM Leonis — Serviços compactos, cascade final */
.rml-home-v3 .rml-home-services { width:100%; margin-top:12px; padding:0; }
.rml-home-v3 .rml-home-services > .rml-home-container { padding:24px; border:1px solid var(--rml-border); border-radius:12px; background:#091011; }
.rml-home-v3 .rml-home-services .rml-home-section-heading { display:block; margin:0 4px 24px; }
.rml-home-v3 .rml-home-services .rml-home-section-heading h2 { display:flex; align-items:center; gap:11px; margin:0; color:var(--rml-text); font-size:clamp(30px,3vw,40px); font-weight:800; letter-spacing:-.025em; line-height:1.08; text-transform:none; }
.rml-home-v3 .rml-home-services .rml-home-section-heading h2 > i { display:block; width:7px; height:7px; border-radius:50%; background:var(--rml-green); box-shadow:0 0 10px rgba(25,245,138,.32); }
.rml-home-v3 .rml-home-services__intro { max-width:850px; margin:12px 0 0; color:var(--rml-text-muted) !important; font-size:15px; line-height:1.55; }
.rml-home-v3 .rml-home-services__primary { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.rml-home-v3 .rml-home-services__primary article { grid-template-columns:52px minmax(0,1fr); gap:18px; min-height:258px; padding:24px; border-radius:8px; background:linear-gradient(115deg,#10191b,#142124); }
.rml-home-v3 .rml-home-services__primary article > i { width:52px; height:52px; border-radius:8px; background:rgba(25,245,138,.08); font-size:26px; }
.rml-home-v3 .rml-home-services__primary h3 { font-size:20px; }
.rml-home-v3 .rml-home-services__primary p { margin:9px 0 16px; font-size:14px; line-height:1.55; }
.rml-home-v3 .rml-home-service-price { display:block; margin:0 0 14px; color:var(--rml-text); font-size:16px; font-weight:800; line-height:1.3; }
.rml-home-v3 .rml-home-services__primary a { font-size:14px; }
.rml-home-v3 .rml-home-services__secondary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:12px; }
.rml-home-v3 .rml-home-services__secondary article { display:grid; grid-template-columns:40px minmax(0,1fr); gap:13px; min-height:116px; padding:18px; border:1px solid var(--rml-border); border-radius:7px; background:#0d1517; }
.rml-home-v3 .rml-home-services__secondary article > i { display:flex; align-items:center; justify-content:center; width:40px; height:40px; color:var(--rml-green); font-size:22px; }
.rml-home-v3 .rml-home-services__secondary h3 { margin:0; font-size:15px; font-weight:800; line-height:1.3; }
.rml-home-v3 .rml-home-services__secondary p { margin:6px 0 0; color:var(--rml-text-muted) !important; font-size:13px; line-height:1.45; }
.rml-home-v3 .rml-home-services__secondary-action { min-height:44px; margin:18px 4px 0; padding:10px 18px; font-size:14px; }
@media (max-width:991.98px) {
    .rml-home-v3 .rml-home-services__primary { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rml-home-v3 .rml-home-services__primary article:last-child { grid-column:1 / -1; }
}
@media (max-width:767.98px) {
    .rml-home-v3 .rml-home-services__primary,.rml-home-v3 .rml-home-services__secondary { grid-template-columns:1fr; }
    .rml-home-v3 .rml-home-services__primary article:last-child { grid-column:auto; }
}
@media (max-width:575.98px) {
    .rml-home-v3 .rml-home-services > .rml-home-container { padding:10px; }
    .rml-home-v3 .rml-home-services .rml-home-section-heading { margin:4px 7px 20px; }
    .rml-home-v3 .rml-home-services .rml-home-section-heading h2 { font-size:29px; }
    .rml-home-v3 .rml-home-services__intro { font-size:14px; }
    .rml-home-v3 .rml-home-services__primary article { grid-template-columns:46px minmax(0,1fr); min-height:0; padding:18px; }
    .rml-home-v3 .rml-home-services__primary article > i { width:46px; height:46px; font-size:24px; }
    .rml-home-v3 .rml-home-services__secondary article { min-height:0; padding:16px; }
    .rml-home-v3 .rml-home-services__secondary-action { width:calc(100% - 8px); margin:16px 4px 4px; }
}

/* RM Leonis — Benefits final override */
.rml-home-v3 .rml-home-benefits { margin:0; padding:0; overflow:hidden; border:1px solid rgba(255,255,255,.13); border-radius:10px; background:rgba(7,14,16,.94); list-style:none; }
.rml-home-v3 .rml-home-benefit,.rml-home-v3 .rml-home-benefit:first-child { grid-template-columns:36px minmax(0,1fr); gap:13px; min-height:68px; padding:11px 24px; }
.rml-home-v3 .rml-home-benefit + .rml-home-benefit { border-left:1px solid rgba(255,255,255,.13); }
.rml-home-v3 .rml-home-benefit > i { display:flex; align-items:center; justify-content:center; width:34px; height:34px; border:1px solid var(--rml-green); border-radius:50%; font-size:18px; }
.rml-home-v3 .rml-home-benefit:first-child > i,.rml-home-v3 .rml-home-benefit:last-child > i { border:1px solid var(--rml-green); border-radius:50%; font-size:18px; }
.rml-home-v3 .rml-home-benefit strong { font-size:14px; }
.rml-home-v3 .rml-home-benefit small { font-size:12px; }
@media (max-width:991.98px) { .rml-home-v3 .rml-home-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); } .rml-home-v3 .rml-home-benefit:nth-child(3) { border-top:1px solid rgba(255,255,255,.13); border-left:0; } .rml-home-v3 .rml-home-benefit:nth-child(4) { border-top:1px solid rgba(255,255,255,.13); } }
@media (max-width:575.98px) { .rml-home-v3 .rml-home-benefits { grid-template-columns:1fr; } .rml-home-v3 .rml-home-benefit,.rml-home-v3 .rml-home-benefit:first-child { min-height:64px; padding:10px 18px; border-left:0; } .rml-home-v3 .rml-home-benefit + .rml-home-benefit { border-top:1px solid rgba(255,255,255,.13); } }

/* RM Leonis — Hero compacto conforme referência */
.rml-home-v3 .rml-home-hero { background-color:var(--rml-bg); background-image:linear-gradient(90deg,rgba(8,11,12,.98) 0%,rgba(8,11,12,.93) 24%,rgba(8,11,12,.68) 43%,rgba(8,11,12,.22) 68%,rgba(8,11,12,.08) 100%),url('../img/homepage/homepage.webp'); background-position:center 48%; background-repeat:no-repeat; background-size:cover; }
.rml-home-v3 .rml-home-hero__inner { grid-template-columns:minmax(390px,40fr) minmax(0,60fr); min-height:390px; }
.rml-home-v3 .rml-home-hero__content { padding:42px 38px 40px 16px; }
.rml-home-v3 .rml-home-hero .rml-home-eyebrow { margin-bottom:14px; padding:5px 14px; align-self:flex-start; border:1px solid rgba(25,245,138,.5); border-radius:999px; font-size:10px; }
.rml-home-v3 .rml-home-hero h1 { max-width:500px; margin-bottom:16px; font-size:clamp(44px,4vw,58px); line-height:1.02; }
.rml-home-v3 .rml-home-hero__lead { max-width:480px; font-size:14px; line-height:1.5; }
.rml-home-v3 .rml-home-hero__actions { margin-top:18px; }
.rml-home-v3 .rml-home-hero__actions .rml-home-button { min-height:40px; padding:9px 18px; font-size:11px; }
.rml-home-v3 .rml-home-hero__visual { min-height:390px; background:transparent; }
.rml-home-v3 .rml-home-hero__visual::before { display:none; }
.rml-home-v3 .rml-home-hero-trust { top:50%; right:28px; width:245px; padding:19px; transform:translateY(-50%); }
.rml-home-v3 .rml-home-hero-trust ul { gap:13px; }
.rml-home-v3 .rml-home-hero-trust li { font-size:12px; }
@media (max-width:991.98px) {
    .rml-home-v3 .rml-home-hero { background-image:linear-gradient(180deg,rgba(8,11,12,.94) 0%,rgba(8,11,12,.78) 45%,rgba(8,11,12,.18) 72%,rgba(8,11,12,.08) 100%),url('../img/homepage/homepage.webp'); background-position:center center; }
    .rml-home-v3 .rml-home-hero__inner { grid-template-columns:1fr; }
    .rml-home-v3 .rml-home-hero__content { padding:40px 24px 34px; }
    .rml-home-v3 .rml-home-hero__visual { min-height:360px; }
}
@media (max-width:575.98px) {
    .rml-home-v3 .rml-home-hero h1 { font-size:clamp(39px,11vw,48px); }
    .rml-home-v3 .rml-home-hero__content { padding:34px 18px 28px; }
    .rml-home-v3 .rml-home-hero__actions { grid-template-columns:1fr; }
    .rml-home-v3 .rml-home-hero-trust { top:auto; right:12px; bottom:12px; width:calc(100% - 24px); transform:none; }
}

/* Contactos v2 — correções finais após os overrides históricos do tema */
.rml-contact-page.rml-contact-v2 { background-color: #FFFFFF; --rml-green: #16C6D4; --rml-support-border: #C8DFE5; }
.rml-contact-v2 .rml-action.rml-action-primary { color: #061925 !important; background: #16C6D4 !important; border-color: #16C6D4 !important; }
.rml-contact-v2 .rml-action.rml-action-primary:hover { background: #39D8E1 !important; border-color: #39D8E1 !important; }
.rml-contact-v2 .rml-action.rml-action-secondary { color: #F7F9FA !important; background: #071E2E !important; border-color: #16C6D4 !important; }
.rml-contact-v2 .rml-contact-security .rml-captcha-card { color: #071E2E !important; background: #F7F9FA !important; border-color: #C8DFE5 !important; }
.rml-contact-v2 .rml-contact-security .rml-captcha-copy { color: #526875 !important; background: #E8F7F8 !important; border-color: #C8DFE5 !important; }
.rml-contact-v2 .rml-captcha-copy strong { color: #071E2E !important; }
.rml-contact-v2 .rml-captcha-icon { color: #087784 !important; background: #E8F7F8 !important; }
.rml-contact-v2 .rml-contact-security .rml-captcha-fields { background: #FFFFFF !important; border-color: #C8DFE5 !important; }

body:has(.rml-contact-page.rml-contact-v2) { background:#FFFFFF; }
.rml-contact-page.rml-contact-v2 {
    width:calc(100% - 40px);
    max-width:1160px;
    margin-right:auto;
    margin-left:auto;
    padding:26px 0 52px;
    overflow:visible;
}
@media (max-width:767px) {
    .rml-contact-page.rml-contact-v2 {
        width:calc(100% - 24px);
        max-width:680px;
        padding:18px 0 42px;
    }
}

/* Lojas Online v3 — composição aprovada */
.rml-service-page.rml-store-page { color:#edf5f3; background:#031015; }
.rml-store-v3 { width:100%; margin:0; padding:0 0 34px; color:#edf5f3; }
.rml-store-v3 *, .rml-store-v3 *::before, .rml-store-v3 *::after { box-sizing:border-box; }
.rml-store-v3 a { text-decoration:none; }
.rml-store-v3-inner { width:min(1180px,calc(100% - 40px)); margin:0 auto; }
.rml-store-v3-hero { position:relative; min-height:410px; overflow:hidden; background:radial-gradient(circle at 72% 48%,rgba(32,223,113,.13),transparent 31%),linear-gradient(90deg,#031015 0%,rgba(3,16,21,.88) 38%,rgba(3,16,21,.22) 100%),url('../img/homepage/dedicated-hero-panorama.webp') center/cover no-repeat; }
.rml-store-v3-hero>.rml-store-v3-inner { min-height:410px; display:grid; grid-template-columns:minmax(360px,.78fr) minmax(520px,1.22fr); align-items:center; gap:20px; padding:34px 20px 22px 2px; }
.rml-store-v3-hero::before { position:absolute; z-index:0; inset:0; background:linear-gradient(90deg,transparent 47%,rgba(3,16,21,.08) 66%,rgba(3,16,21,.24) 100%); content:""; pointer-events:none; }
.rml-store-v3-hero::after { position:absolute; z-index:0; right:0; bottom:0; left:0; height:38%; background:radial-gradient(ellipse at 20% 108%,rgba(32,223,113,.075) 0%,rgba(32,223,113,.025) 34%,transparent 65%),radial-gradient(ellipse at 72% 106%,rgba(32,223,113,.24) 0%,rgba(32,223,113,.09) 28%,transparent 64%),radial-gradient(ellipse at 72% 92%,rgba(0,0,0,.72) 0%,rgba(0,0,0,.32) 29%,transparent 60%),linear-gradient(to top,rgba(1,10,13,.76) 0%,rgba(13,48,39,.24) 32%,rgba(226,255,242,.055) 48%,transparent 100%); content:""; pointer-events:none; }
.rml-store-v3-hero-copy,.rml-store-v3-hero-visual { position:relative; z-index:1; }
.rml-store-v3-kicker { display:inline-flex; padding:6px 12px; margin-bottom:15px; border:1px solid rgba(32,223,113,.45); border-radius:999px; color:#20df71; background:rgba(3,16,21,.62); font-size:10px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.rml-store-v3-hero h1 { max-width:480px; margin:0 0 14px; color:#fff; font-size:clamp(42px,4.7vw,64px); font-weight:780; line-height:1.02; letter-spacing:-.045em; }
.rml-store-v3-hero h1 strong { color:#20df71; font-weight:inherit; }
.rml-store-v3-hero-copy>p { max-width:470px; margin:0; color:#b7c5c8; font-size:15px; line-height:1.55; }
.rml-store-v3-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:21px; }
.rml-store-v3-button,.rml-store-v3-plan-grid article>a,.rml-store-v3-examples header>a,.rml-store-v3-cta>.rml-store-v3-inner>a { min-height:43px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:10px 20px; border:1px solid #2a4850; border-radius:6px; color:#e8f2ef; background:rgba(4,17,22,.74); font-size:12px; font-weight:800; transition:.18s ease; }
.rml-store-v3-button.is-primary,.rml-store-v3-cta>.rml-store-v3-inner>a { color:#031015; border-color:#20df71; background:#20df71; }
.rml-store-v3-button:hover,.rml-store-v3-plan-grid article>a:hover,.rml-store-v3-examples header>a:hover { color:#20df71; border-color:#20df71; transform:translateY(-1px); }
.rml-store-v3-button.is-primary:hover,.rml-store-v3-cta>.rml-store-v3-inner>a:hover { color:#031015; background:#4bea8d; }
.rml-store-v3-pills { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0 0; padding:0; list-style:none; }
.rml-store-v3-pills li { display:flex; align-items:center; gap:7px; padding:8px 10px; border:1px solid #24434b; border-radius:6px; color:#d4e0e1; background:rgba(4,17,22,.72); font-size:12px; line-height:1.3; }
.rml-store-v3-pills i { color:#20df71; }
.rml-store-v3-hero-visual { width:88%; align-self:end; justify-self:end; margin-right:20px; }
.rml-store-v3-hero-visual img { width:100%; height:auto; display:block; filter:drop-shadow(0 28px 38px rgba(0,0,0,.38)); }
.rml-store-v3-benefits { margin:10px 0; background:transparent; }
.rml-store-v3-benefits>.rml-store-v3-inner { width:min(1180px,calc(100% - 40px)); margin:0 auto; }
.rml-store-v3-benefits__heading { margin:0 0 12px; }
.rml-store-v3-benefits__heading h2 { margin:0; color:#fff; font-size:24px; font-weight:800; line-height:1.25; letter-spacing:-.02em; }
.rml-store-v3-benefits__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:hidden; border:1px solid #1d3a42; border-radius:8px; background:#06161b; }
.rml-store-v3-benefits__grid article { min-height:92px; display:grid; grid-template-columns:40px 1fr; align-items:center; gap:8px; padding:12px 16px; }
.rml-store-v3-benefits__grid article+article { border-left:1px solid #1d3a42; }
.rml-store-v3-benefits__grid>article>i { width:38px; height:38px; display:grid; place-items:center; color:#20df71; border:1px solid rgba(32,223,113,.38); border-radius:50%; font-size:17px; }
.rml-store-v3-benefits__grid h3 { margin:0 0 4px; color:#fff; font-size:15px; font-weight:800; line-height:1.3; }
.rml-store-v3-benefits__grid p { margin:0; color:#82969b; font-size:13px; line-height:1.48; }
.rml-store-v3-panel { margin-top:10px; border:1px solid #1d3a42; border-top:0; border-bottom:0; border-radius:8px; background:#041116; }
.rml-store-v3-panel>.rml-store-v3-inner { padding:18px; }
.rml-store-v3-panel>.rml-store-v3-inner>header { margin-bottom:15px; }
.rml-store-v3-panel>.rml-store-v3-inner>header h2 { margin:0 0 3px; color:#fff; font-size:19px; font-weight:800; letter-spacing:-.02em; }
.rml-store-v3-panel>.rml-store-v3-inner>header p { margin:0; color:#82969b; font-size:11px; }
.rml-store-v3-plans>.rml-store-v3-inner>header p { font-size:13px; line-height:1.45; }
.rml-store-v3-plan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.rml-store-v3-plan-grid>article { position:relative; min-height:330px; display:flex; flex-direction:column; padding:22px; border:1px solid #24434b; border-radius:7px; background:#06161b; }
.rml-store-v3-plan-head { min-height:102px; display:flex; justify-content:space-between; gap:16px; }
.rml-store-v3-plan-head>div { min-width:0; flex:1 1 auto; }
.rml-store-v3-plan-head h3 { margin:0 0 7px; color:#fff; font-size:20px; }
.rml-store-v3-plan-head p:not(.rml-store-v3-price) { max-width:210px; margin:0; color:#8fa1a5; font-size:14px; line-height:1.45; }
.rml-store-v3-price { display:flex; flex:0 0 auto; flex-direction:column; align-items:flex-end; justify-content:flex-start; gap:0; margin:9px 0 0; text-align:right; }
.rml-store-v3-price small,.rml-store-v3-price strong,.rml-store-v3-price span { display:block; }
.rml-store-v3-price small { margin:0; color:#82969b; font-size:12px; line-height:1.1; }
.rml-store-v3-price strong { color:#20df71; font-size:23px; line-height:1.05; white-space:nowrap; }
.rml-store-v3-price span { max-width:130px; margin-top:5px; color:#b7c5c8; font-size:12px; font-weight:700; line-height:1.3; }
.rml-store-v3-plan-grid>article:last-child .rml-store-v3-price strong { font-size:20px; }
.rml-store-v3-plan-grid ul { display:grid; grid-template-columns:1fr; align-content:start; gap:8px; margin:18px 0 22px; padding:17px 0 0; border-top:1px solid #1d3a42; list-style:none; }
.rml-store-v3-plan-grid li { position:relative; padding-left:16px; color:#b7c5c8; font-size:13px; line-height:1.4; }
.rml-store-v3-plan-grid li::before { position:absolute; top:.05em; left:0; color:#20df71; content:"✓"; font-weight:900; }
.rml-store-v3-plan-list-title,.rml-store-v3-plan-separate h4 { margin:18px 0 0; color:#dce7e9; font-size:13px; font-weight:800; line-height:1.35; }
.rml-store-v3-plan-list-title+ul { margin-top:8px; }
.rml-store-v3-plan-separate { margin:0 0 22px; padding:14px 16px; border:1px solid #1d3a42; border-radius:6px; background:#041116; }
.rml-store-v3-plan-separate h4 { margin:0; }
.rml-store-v3-plan-separate ul { gap:7px; margin:10px 0 0; padding:10px 0 0; }
.rml-store-v3-plan-grid article>a { width:100%; min-height:40px; margin-top:auto; padding:8px 12px; font-size:14px; }
.rml-store-v3-note { margin:11px 0 0; color:#82969b; font-size:13px; line-height:1.45; }
.rml-store-v3-note i { margin-right:5px; color:#20df71; }
.rml-store-v3-panel#rmlStoreV3Features>.rml-store-v3-inner { padding-bottom:12px; }
.rml-store-v3-panel#rmlStoreV3Features>.rml-store-v3-inner>header p { font-size:13px; line-height:1.45; }
.rml-store-v3-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.rml-store-v3-feature-grid article { min-height:180px; padding:16px; border:1px solid #1d3a42; border-radius:6px; background:#06161b; }
.rml-store-v3-feature-grid i { color:#20df71; font-size:22px; }
.rml-store-v3-feature-grid h3 { margin:10px 0 6px; color:#fff; font-size:15px; line-height:1.25; }
.rml-store-v3-feature-grid p { margin:0; color:#82969b; font-size:13px; line-height:1.45; }
.rml-store-v3-process { margin-top:4px; }
.rml-store-v3-process>.rml-store-v3-inner>header p { font-size:13px; line-height:1.45; }
.rml-store-v3-process ol { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 0; margin:4px 0 0; padding:0; list-style:none; }
.rml-store-v3-process li { position:relative; padding:0 12px; text-align:center; }
.rml-store-v3-process li b { width:38px; height:38px; display:grid; place-items:center; margin:0 auto 10px; border:1px solid #20df71; border-radius:50%; color:#20df71; background:#08221c; font-size:12px; }
.rml-store-v3-process li i { display:block; margin-bottom:7px; color:#20df71; font-size:22px; }
.rml-store-v3-process h3 { margin:0 0 5px; color:#fff; font-size:15px; line-height:1.25; }
.rml-store-v3-process li p { margin:0; color:#82969b; font-size:13px; line-height:1.45; }
.rml-store-v3-examples>.rml-store-v3-inner>header { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.rml-store-v3-examples>.rml-store-v3-inner>header p { font-size:13px; line-height:1.45; }
.rml-store-v3-examples header>a { min-height:44px; flex:0 0 auto; padding:8px 18px; border-radius:8px; background:rgba(7,25,30,.82); font-size:14px; }
.rml-store-v3-example-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:16px; }
.rml-store-v3-example-grid>article { min-width:0; height:100%; display:flex; flex-direction:column; overflow:hidden; border:1px solid rgba(61,102,111,.62); border-radius:12px; background:linear-gradient(180deg,#07191e 0%,#051419 100%); transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease; }
.rml-store-v3-example-grid>article:hover { border-color:rgba(32,223,113,.48); box-shadow:0 8px 18px rgba(0,0,0,.12); transform:translateY(-2px); }
.rml-store-v3-mock { aspect-ratio:16/9.4; overflow:hidden; padding:3px 5px 5px; border-bottom:1px solid rgba(61,102,111,.48); background:linear-gradient(145deg,#0a2026,#06161b); box-sizing:border-box; }
.rml-store-v3-mock img { width:100%; height:100%; display:block; border-radius:8px; object-fit:contain; object-position:center; transition:transform .28s ease; }
.rml-store-v3-example-grid>article:hover .rml-store-v3-mock img { transform:scale(1.006); }
.rml-store-v3-example-caption { min-height:76px; display:flex; flex:1 1 auto; flex-direction:column; justify-content:center; padding:13px 16px 14px; }
.rml-store-v3-example-caption strong { color:#f5faf8; font-size:16px; font-weight:850; line-height:1.25; }
.rml-store-v3-example-caption p { margin:5px 0 0; color:#9aadb1; font-size:13px; line-height:1.5; }
.rml-store-v3-faq>.rml-store-v3-inner { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr); gap:18px; }
.rml-store-v3-faq>.rml-store-v3-inner>div>header h2 { margin:0 0 15px; color:#fff; font-size:24px; font-weight:800 !important; line-height:1.25; letter-spacing:-.02em; }
.rml-store-v3-faq-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 12px; }
.rml-store-v3-faq details { border:1px solid #1d3a42; border-radius:5px; background:#06161b; transition:border-color .16s ease,background-color .16s ease; }
.rml-store-v3-faq details:hover { border-color:#2a4850; background:#07191e; }
.rml-store-v3-faq summary { position:relative; padding:12px 34px 12px 12px; color:#dce7e9; font-size:14px; line-height:1.4; cursor:pointer; list-style:none; }
.rml-store-v3-faq summary::after { position:absolute; top:50%; right:12px; color:#20df71; content:"+"; font-size:14px; line-height:1; transform:translateY(-50%); }
.rml-store-v3-faq details[open] summary::after { content:"−"; }
.rml-store-v3-faq details p { margin:0; padding:0 12px 12px; color:#8fa1a5; font-size:13px; line-height:1.5; }
.rml-store-v3-faq details[open] p { animation:rml-store-v3-faq-reveal .16s ease-out; }
@keyframes rml-store-v3-faq-reveal { from { opacity:0; transform:translateY(-2px); } to { opacity:1; transform:translateY(0); } }
.rml-store-v3-faq>.rml-store-v3-inner>aside { align-self:stretch; display:flex; gap:14px; align-items:flex-start; padding:14px 17px; border:1px solid rgba(32,223,113,.5); border-radius:7px; background:linear-gradient(110deg,rgba(32,223,113,.08),#06161b); box-sizing:border-box; }
.rml-store-v3-faq>.rml-store-v3-inner>aside>i { color:#20df71; font-size:27px; }
.rml-store-v3-faq aside h3 { margin:0 0 5px; color:#fff; font-size:16px; font-weight:800 !important; line-height:1.3; }
.rml-store-v3-faq aside p { margin:0; color:#8fa1a5; font-size:13px; line-height:1.5; }
.rml-store-v3-faq aside ul { display:flex; flex-wrap:wrap; gap:6px 12px; margin:11px 0 0; padding:9px 0 0; border-top:1px solid #1d3a42; list-style:none; }
.rml-store-v3-faq aside li { color:#b7c5c8; font-size:13px; line-height:1.45; }
.rml-store-v3-faq aside li::before { margin-right:5px; color:#20df71; content:"✓"; }
.rml-store-v3-cta { min-height:112px; margin-top:10px; overflow:hidden; border:1px solid #1d3a42; border-top:0; border-bottom:0; border-radius:8px; background:linear-gradient(90deg,rgba(4,17,22,.98),rgba(4,17,22,.76)),url('../img/homepage/dedicated-hero-panorama.webp') center/cover no-repeat; }
.rml-store-v3-cta>.rml-store-v3-inner { min-height:110px; display:flex; align-items:center; justify-content:space-between; gap:30px; padding:22px 28px; }
.rml-store-v3-cta h2 { margin:0 0 5px; color:#fff; font-size:22px; }
.rml-store-v3-cta p { margin:0; color:#9caeb2; font-size:13px; line-height:1.5; }
.rml-store-v3-cta>.rml-store-v3-inner>a { min-width:230px; align-self:center; font-size:14px; }
.rml-store-v3 :is(a,summary):focus-visible { outline:2px solid #20df71; outline-offset:3px; }
@media (max-width:1050px) {
    .rml-store-v3-example-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:991px) {
    .rml-store-v3-hero>.rml-store-v3-inner { grid-template-columns:1fr; padding:42px 22px 0; }
    .rml-store-v3-hero::before { opacity:.55; }
    .rml-store-v3-hero::after { height:29%; opacity:.78; }
    .rml-store-v3-hero-copy { max-width:650px; }
    .rml-store-v3-hero-visual { width:min(760px,100%); justify-self:center; margin:0 auto -8px; }
    .rml-store-v3-benefits__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rml-store-v3-benefits__grid article:nth-child(3) { border-top:1px solid #1d3a42; border-left:0; }
    .rml-store-v3-benefits__grid article:nth-child(4) { border-top:1px solid #1d3a42; }
    .rml-store-v3-plan-grid { grid-template-columns:1fr; }
    .rml-store-v3-plan-grid>article { min-height:0; }
    .rml-store-v3-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rml-store-v3-process ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rml-store-v3-faq>.rml-store-v3-inner { grid-template-columns:1fr; }
    .rml-store-v3-faq-list { grid-template-columns:1fr; }
}
@media (max-width:840px) {
    .rml-store-v3-example-grid { grid-template-columns:1fr; gap:16px; }
}
@media (max-width:767px) {
    .rml-store-v3-cta>.rml-store-v3-inner { align-items:stretch; flex-direction:column; padding:22px 18px; }
    .rml-store-v3-cta>.rml-store-v3-inner>a { width:100%; min-width:0; }
}
@media (max-width:575px) {
    .rml-store-v3-inner { width:calc(100% - 24px); }
    .rml-store-v3-hero>.rml-store-v3-inner { padding:34px 12px 0; }
    .rml-store-v3-hero::before { display:none; }
    .rml-store-v3-hero::after { height:20%; opacity:.52; }
    .rml-store-v3-hero h1 { font-size:clamp(39px,calc(35.8px + 1.08vw),42px); }
    .rml-store-v3-hero-copy>p { font-size:14px; }
    .rml-store-v3-actions { display:grid; grid-template-columns:1fr; }
    .rml-store-v3-pills { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rml-store-v3-hero-visual { width:108%; margin-left:-4%; }
    .rml-store-v3-benefits>.rml-store-v3-inner { width:calc(100% - 24px); }
    .rml-store-v3-benefits__grid { grid-template-columns:1fr; }
    .rml-store-v3-benefits__grid article+article { border-top:1px solid #1d3a42; border-left:0; }
    .rml-store-v3-panel>.rml-store-v3-inner { padding:14px; }
    .rml-store-v3-plan-head { display:block; }
    .rml-store-v3-price { align-items:flex-start; text-align:left; }
    .rml-store-v3-plan-grid ul { grid-template-columns:1fr; }
    .rml-store-v3-feature-grid { grid-template-columns:1fr; }
    .rml-store-v3-process ol { grid-template-columns:1fr; }
    .rml-store-v3-examples>.rml-store-v3-inner>header { align-items:flex-start; flex-direction:column; }
    .rml-store-v3-examples header>a { align-self:flex-start; }
    .rml-store-v3-example-grid>article:hover { transform:none; }
    .rml-store-v3-faq-list { grid-template-columns:1fr; }
    .rml-store-v3-cta>.rml-store-v3-inner { align-items:stretch; flex-direction:column; padding:22px 18px; }
    .rml-store-v3-cta>.rml-store-v3-inner>a { width:100%; min-width:0; }
}

/* RM Leonis — Sobre Nós */
.rml-about-page { background:#031015; }
.rml-about-v1 {
    --rml-about-bg:#031015;
    --rml-about-panel:#06171c;
    --rml-about-panel-strong:#071b20;
    --rml-about-border:#1d3a42;
    --rml-about-green:#20df71;
    --rml-about-text:#f3f7f5;
    --rml-about-muted:#a3b2b6;
    color:var(--rml-about-text);
    background:var(--rml-about-bg);
}
.rml-about-container { width:min(1180px,calc(100% - 40px)); margin:0 auto; }
.rml-about-hero { position:relative; overflow:hidden; background-color:#020d11; background-image:linear-gradient(90deg,rgba(2,13,17,.94) 0%,rgba(2,13,17,.78) 28%,rgba(2,13,17,.38) 48%,rgba(2,13,17,.08) 68%,rgba(2,13,17,0) 100%),url("../img/sobrenos/fundosn.webp"); background-repeat:no-repeat; background-position:54% center; background-size:cover; }
@media (min-width:821px) {
    .rml-about-hero { background-size:72% auto; background-position:right center; }
}
.rml-about-hero-layout { min-height:420px; display:grid; grid-template-columns:minmax(0,550px) minmax(0,1fr); align-items:stretch; }
.rml-about-hero-copy { position:relative; z-index:2; align-self:center; padding:46px 0 48px 8px; }
.rml-about-kicker { display:inline-flex; align-items:center; min-height:25px; margin-bottom:18px; padding:0 13px; border:1px solid rgba(32,223,113,.62); border-radius:999px; color:var(--rml-about-green); background:rgba(3,16,21,.72); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.rml-about-hero h1 { max-width:600px; margin:0 0 20px; color:var(--rml-about-text); font-size:clamp(40px,4vw,54px); font-weight:740; line-height:1.08; letter-spacing:-.04em; }
.rml-about-hero h1 strong { color:var(--rml-about-green); font-weight:inherit; }
.rml-about-hero-copy>p { max-width:550px; margin:0 0 19px; color:#c4d0d2; font-size:15px; line-height:1.68; }
.rml-about-button { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:17px; padding:0 22px; border:1px solid var(--rml-about-green); border-radius:5px; color:#f3fff8; background:rgba(3,16,21,.72); font-size:13px; font-weight:800; text-decoration:none; transition:border-color .2s ease,background-color .2s ease,color .2s ease; }
.rml-about-button:hover,.rml-about-button:focus { border-color:#4bea8d; color:#031015; background:#4bea8d; text-decoration:none; }
.rml-about-button.is-solid { min-width:220px; color:#031015; background:var(--rml-about-green); }
.rml-about-button.is-solid:hover,.rml-about-button.is-solid:focus { background:#4bea8d; }
.rml-about-pillars { position:relative; z-index:3; padding:0 0 18px; background:var(--rml-about-bg); }
.rml-about-pillars-title { margin:0 0 20px; color:#fff; font-size:24px; font-weight:790; line-height:1.25; letter-spacing:-.02em; }
.rml-about-pillars-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; overflow:hidden; border:1px solid var(--rml-about-border); border-radius:8px; background:rgba(6,23,28,.94); }
.rml-about-pillars article { min-width:0; height:100%; display:grid; grid-template-columns:48px minmax(0,1fr); gap:14px; align-items:start; padding:22px 20px; border-right:1px solid var(--rml-about-border); }
.rml-about-pillars article:last-child { border-right:0; }
.rml-about-pillars article>i { min-height:34px; display:grid; place-items:start center; color:var(--rml-about-green); font-size:31px; line-height:1; text-align:center; }
.rml-about-pillars article h3 { margin:0 0 6px; color:#fff; font-size:15px; font-weight:800; line-height:1.3; }
.rml-about-pillars p { margin:0; color:var(--rml-about-muted); font-size:13px; line-height:1.55; }

.rml-about-history { padding:16px 0 28px; background:var(--rml-about-bg); }
.rml-about-history>.rml-about-container { padding-top:16px; border-top:1px solid var(--rml-about-border); }
.rml-about-history h2 { margin:0 0 20px; color:#fff; font-size:22px; font-weight:790; letter-spacing:-.02em; }
.rml-about-timeline { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; }
.rml-about-timeline::before { position:absolute; top:20px; right:9%; left:3%; height:1px; background:rgba(32,223,113,.72); content:""; }
.rml-about-timeline article { position:relative; z-index:1; min-width:0; }
.rml-about-timeline article>span { width:42px; height:42px; display:grid; place-items:center; margin-bottom:13px; border:1px solid var(--rml-about-green); border-radius:50%; color:var(--rml-about-green); background:var(--rml-about-bg); font-size:16px; }
.rml-about-timeline h3 { margin:0 0 8px; color:#fff; font-size:15px; font-weight:800; }
.rml-about-timeline p { max-width:235px; margin:0; color:var(--rml-about-muted); font-size:13px; line-height:1.55; }

.rml-about-institutional { padding:0 0 18px; background:var(--rml-about-bg); }
.rml-about-institutional-title { margin:0 0 20px; color:#fff; font-size:24px; font-weight:790; line-height:1.25; letter-spacing:-.02em; }
.rml-about-institutional-panel { min-height:292px; display:grid; grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr); align-items:stretch; overflow:hidden; border:1px solid var(--rml-about-border); border-radius:8px; background:var(--rml-about-panel); }
.rml-about-institutional figure { min-width:0; min-height:292px; height:100%; margin:0; overflow:hidden; border-right:1px solid var(--rml-about-border); }
.rml-about-institutional figure img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.rml-about-institutional-copy { display:grid; align-content:center; gap:18px; padding:28px 34px; }
.rml-about-institutional-copy section { min-width:0; }
.rml-about-institutional-copy h3 { margin:0 0 5px; color:#fff; font-size:19px; font-weight:790; }
.rml-about-institutional-copy p { max-width:590px; margin:0; color:var(--rml-about-muted); font-size:13px; line-height:1.55; }
.rml-about-values { display:flex; flex-wrap:wrap; gap:10px; margin:10px 0 0; padding:0; list-style:none; }
.rml-about-values li { min-height:34px; display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; padding:0 16px; border:1px solid rgba(32,223,113,.82); border-radius:4px; color:#cffff0; background:rgba(32,223,113,.045); font-size:12px; font-weight:750; white-space:nowrap; }

.rml-about-trust { padding:0 0 18px; background:var(--rml-about-bg); }
.rml-about-trust-title { margin:0 0 20px; color:#fff; font-size:24px; font-weight:790; line-height:1.25; letter-spacing:-.02em; }
.rml-about-trust-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin:0; padding:0; overflow:hidden; border:1px solid var(--rml-about-border); border-radius:8px; background:var(--rml-about-panel); list-style:none; }
.rml-about-trust li { min-width:0; min-height:122px; display:flex; align-items:center; justify-content:center; flex-direction:column; box-sizing:border-box; gap:12px; padding:18px 14px; border-right:1px solid var(--rml-about-border); text-align:center; }
.rml-about-trust li:last-child { border-right:0; }
.rml-about-trust i { color:var(--rml-about-green); font-size:29px; }
.rml-about-trust strong { max-width:190px; margin:0; color:#e8efed; font-size:14px; font-weight:750; line-height:1.4; }

.rml-about-cta { padding:0 0 18px; background:var(--rml-about-bg); }
.rml-about-cta>.rml-about-container { min-height:112px; display:flex; align-items:center; justify-content:space-between; gap:36px; padding:22px 36px; border:1px solid var(--rml-about-border); border-radius:8px; background:radial-gradient(circle at 86% 50%,rgba(32,223,113,.12),transparent 32%),linear-gradient(90deg,#041419 0%,#061b20 100%); }
.rml-about-cta>.rml-about-container>div { position:relative; max-width:640px; padding-right:25px; }
.rml-about-cta h2 { margin:0 0 7px; color:#fff; font-size:26px; font-weight:790; letter-spacing:-.025em; }
.rml-about-cta p { margin:0; color:#c4d0d2; font-size:14px; line-height:1.55; }
.rml-about-cta .rml-about-button { font-size:14px; }

@media (max-width:1024px) {
    .rml-about-hero h1 { font-size:clamp(36px,calc(33.31px + .747vw),40.96px); }
    .rml-about-hero-copy>p { font-size:14px; }
    .rml-about-pillars article { grid-template-columns:40px minmax(0,1fr); gap:12px; padding:20px 15px; }
    .rml-about-pillars article>i { font-size:27px; }
    .rml-about-timeline { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 36px; }
    .rml-about-timeline::before { display:none; }
    .rml-about-timeline p { max-width:none; }
    .rml-about-trust li { padding-inline:10px; }
}
@media (max-width:900px) {
    .rml-about-pillars-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rml-about-pillars article:nth-child(2) { border-right:0; }
    .rml-about-pillars article:nth-child(-n+2) { border-bottom:1px solid var(--rml-about-border); }
    .rml-about-institutional-panel { grid-template-columns:1fr; }
    .rml-about-institutional figure { min-height:0; aspect-ratio:16/8; border-right:0; border-bottom:1px solid var(--rml-about-border); }
    .rml-about-trust-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .rml-about-trust li { border-right:1px solid var(--rml-about-border); border-bottom:1px solid var(--rml-about-border); }
    .rml-about-trust li:nth-child(3),.rml-about-trust li:last-child { border-right:0; }
    .rml-about-trust li:nth-child(n+4) { border-bottom:0; }
}
@media (max-width:820px) {
.rml-about-hero { background-image:linear-gradient(90deg,rgba(2,13,17,.94) 0%,rgba(2,13,17,.82) 55%,rgba(2,13,17,.45) 100%),url("../img/sobrenos/fundosn.webp"); background-position:right center; }
    .rml-about-hero-layout { grid-template-columns:1fr; }
    .rml-about-hero-copy { padding:36px 0 24px; }
    .rml-about-hero-copy>p { max-width:620px; }
    .rml-about-cta>.rml-about-container { align-items:stretch; flex-direction:column; gap:22px; padding:24px; }
    .rml-about-cta>.rml-about-container>div { padding-right:0; }
    .rml-about-cta .rml-about-button { width:100%; }
}
@media (max-width:760px) {
    .rml-about-container { width:calc(100% - 28px); }
    .rml-about-history { padding-top:10px; }
    .rml-about-institutional-copy { padding:25px 24px; }
}
@media (max-width:700px) {
    .rml-about-trust-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rml-about-trust li { border-right:0; border-bottom:0; }
    .rml-about-trust li:nth-child(odd):not(:last-child) { border-right:1px solid var(--rml-about-border); }
    .rml-about-trust li:nth-child(-n+4) { border-bottom:1px solid var(--rml-about-border); }
    .rml-about-trust li:last-child { grid-column:1/-1; width:50%; justify-self:center; border-right:1px solid var(--rml-about-border); border-left:1px solid var(--rml-about-border); }
}
@media (max-width:520px) {
.rml-about-hero { background-image:linear-gradient(rgba(2,13,17,.78),rgba(2,13,17,.78)),url("../img/sobrenos/fundosn.webp"); background-position:72% center; }
    .rml-about-hero-copy { padding-top:28px; }
    .rml-about-kicker { margin-bottom:15px; }
    .rml-about-hero h1 br:first-of-type { display:none; }
    .rml-about-button { width:100%; }
    .rml-about-pillars-grid,
    .rml-about-timeline,
    .rml-about-trust-grid { grid-template-columns:1fr; }
    .rml-about-pillars article { border-right:0; border-bottom:1px solid var(--rml-about-border); }
    .rml-about-pillars article:nth-child(3) { border-bottom:1px solid var(--rml-about-border); }
    .rml-about-pillars article:last-child { border-bottom:0; }
    .rml-about-timeline { gap:22px; }
    .rml-about-timeline article { display:grid; grid-template-columns:44px minmax(0,1fr); column-gap:13px; }
    .rml-about-timeline article>span { grid-row:1/3; margin:0; }
    .rml-about-timeline h3,.rml-about-timeline p { max-width:none; }
    .rml-about-institutional figure { aspect-ratio:4/3; }
    .rml-about-values { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rml-about-values li { justify-content:center; padding-inline:8px; }
    .rml-about-trust li { min-height:92px; border-right:0; border-bottom:1px solid var(--rml-about-border); }
    .rml-about-trust li:nth-child(odd):not(:last-child) { border-right:0; }
    .rml-about-trust li:last-child { width:100%; grid-column:auto; border-right:0; border-bottom:0; border-left:0; }
    .rml-about-cta h2 { font-size:23px; }
}
@media (prefers-reduced-motion:reduce) {
    .rml-about-v1 * { transition-duration:.01ms !important; }
}
