/* RoyalMedia shared frontend system */
:root {
    --rm-navy: #07111f;
    --rm-ink: #0f172a;
    --rm-muted: #607083;
    --rm-cyan: #06b6d4;
    --rm-red: #ef4444;
    --rm-paper: #f7fbfc;
    --glass-bg: rgba(255, 255, 255, 0.85);
    --glass-border: rgba(255, 255, 255, 0.6);
    --glass-blur: blur(20px);
}

/* Header polish: glass on hero, solid after scroll */
.rm-index-topbar {
    border-bottom: 1px solid rgba(255,255,255,.28);
    background: rgba(255,255,255,.28);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.rm-index-topbar-inner {
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    color: rgba(15,23,42,.72);
    font-size: 12px;
    font-weight: 700;
}

.rm-index-topbar-inner div {
    display: flex;
    align-items: center;
    gap: 20px;
}

.rm-index-topbar-inner a {
    color: rgba(15,23,42,.76);
    text-decoration: none;
}

.rm-index-topbar-inner a:hover {
    color: var(--idx-red);
}

.rm-index-nav {
    background: rgba(255,255,255,.34);
    border-bottom-color: rgba(255,255,255,.32);
    box-shadow: 0 16px 46px rgba(15,23,42,.06);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
}

.rm-index-nav.is-scrolled {
    background: rgba(255,255,255,.94);
    border-bottom-color: rgba(226,232,240,.92);
    box-shadow: 0 18px 48px rgba(15,23,42,.1);
}

.rm-index-nav.is-scrolled .rm-index-topbar {
    background: rgba(248,250,252,.88);
    border-bottom-color: rgba(226,232,240,.88);
}

.rm-index-nav.is-scrolled .rm-index-topbar-inner,
.rm-index-nav.is-scrolled .rm-index-topbar-inner a {
    color: #64748b;
}

.rm-index-nav-cta {
    min-width: 108px;
}

.rm-index-actions .rm-index-btn-primary::before,
.rm-index-nav-cta::before,
.rm-index-final .rm-index-btn-light::before {
    content: '';
    width: 8px;
    height: 8px;
    margin-right: 9px;
    border-radius: 999px;
    background: #25d366;
    box-shadow: 0 0 0 4px rgba(37,211,102,.18);
}

.rm-index-hero {
    padding-top: 154px;
}

@media (max-width: 760px) {
    .rm-index-wrap {
        width: calc(100% - 28px) !important;
        max-width: calc(100% - 28px) !important;
    }

    .rm-index-topbar {
        display: none;
    }

    .rm-index-nav {
        background: rgba(255,255,255,.74);
        border-bottom-color: rgba(226,232,240,.72);
    }

    .rm-index-nav.is-scrolled {
        background: rgba(255,255,255,.94);
    }

    .rm-index-hero {
        padding-top: 104px;
    }

    .rm-index-nav-cta {
        min-width: 96px;
    }
}

/* Pico-inspired index final overrides */
.rm-index {
    --idx-red: #ef4444;
    --idx-red-dark: #dc2626;
    --idx-ink: #0f172a;
    --idx-muted: #64748b;
    --idx-line: #e2e8f0;
    --idx-soft: #f8fafc;
    background: #fff;
    color: var(--idx-ink);
    font-family: 'Inter', 'Plus Jakarta Sans', sans-serif;
}

.rm-index-nav {
    position: fixed;
    inset: 0 0 auto;
    z-index: 1000;
    background: transparent;
    border-bottom: 1px solid transparent;
    box-shadow: none;
    backdrop-filter: blur(0);
    -webkit-backdrop-filter: blur(0);
    transition: background .32s ease, border-color .32s ease, box-shadow .32s ease, backdrop-filter .32s ease;
}

.rm-index-nav.is-scrolled {
    background: rgba(255,255,255,.88);
    border-bottom-color: rgba(239,68,68,.14);
    box-shadow: 0 18px 46px rgba(15,23,42,.08);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.rm-index-nav-inner {
    min-height: 78px;
}

.rm-index-brand img {
    max-width: 190px;
    max-height: 52px;
}

.rm-index-menu {
    gap: 30px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.rm-index-menu a {
    position: relative;
    color: #475569;
    font-size: 14px;
    font-weight: 750;
    letter-spacing: -.01em;
}

.rm-index-menu a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -7px;
    width: 0;
    height: 2px;
    background: var(--idx-red);
    transition: width .26s ease;
}

.rm-index-menu a:hover {
    color: var(--idx-red);
}

.rm-index-menu a:hover::after {
    width: 100%;
}

.rm-index-nav-cta,
.rm-index-btn-primary {
    color: #fff;
    background: linear-gradient(135deg, var(--idx-red), var(--idx-red-dark));
    box-shadow: 0 12px 28px rgba(239,68,68,.28);
}

.rm-index-nav-cta {
    min-height: 44px;
    padding: 0 22px;
    border-radius: 8px;
}

.rm-index-hero {
    min-height: 100vh;
    padding: 120px 0 76px;
    justify-content: center;
    text-align: center;
    background: #fff;
}

.rm-index-hero::before {
    z-index: 1;
    background:
        linear-gradient(to top, rgba(255,255,255,.94) 0%, rgba(255,255,255,.68) 54%, rgba(255,255,255,.42) 100%),
        radial-gradient(circle at 50% 42%, rgba(239,68,68,.08), transparent 36%);
}

.rm-index-hero-video {
    z-index: 0;
    opacity: .82;
    filter: saturate(1.03) contrast(1.02);
}

.rm-index-hero-noise {
    z-index: 2;
    opacity: .45;
    background-image:
        linear-gradient(rgba(15,23,42,.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15,23,42,.03) 1px, transparent 1px);
    background-size: 56px 56px;
}

.rm-index-hero-grid {
    display: flex;
    justify-content: center;
}

.rm-index-hero-copy {
    width: min(100%, 980px);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.rm-index-kicker {
    margin-bottom: 26px;
    padding: 8px 16px;
    border: 1px solid rgba(239,68,68,.22);
    color: var(--idx-red-dark);
    background: rgba(254,242,242,.84);
    font-size: 13px;
    font-weight: 750;
    letter-spacing: .01em;
    text-transform: none;
}

.rm-index-hero-copy h1 {
    max-width: 940px;
    margin-inline: auto;
    color: var(--idx-ink);
    font-family: 'Outfit', 'Plus Jakarta Sans', 'Inter', sans-serif;
    font-size: clamp(48px, 7.2vw, 96px);
    font-weight: 800;
    letter-spacing: -.055em;
    line-height: .94;
}

.rm-index-hero-copy h1 span {
    color: var(--idx-red);
}

.rm-index-hero-copy p {
    max-width: 710px;
    margin: 26px auto 0;
    color: #475569;
    font-size: clamp(18px, 1.55vw, 22px);
    line-height: 1.72;
}

.rm-index-actions {
    justify-content: center;
    margin-top: 38px;
}

.rm-index-btn {
    min-height: 54px;
    padding: 0 34px;
    border-radius: 8px;
    font-weight: 750;
}

.rm-index-btn-primary:hover,
.rm-index-nav-cta:hover {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 18px 40px rgba(239,68,68,.38);
}

.rm-index-btn-secondary {
    color: var(--idx-red-dark);
    background: rgba(255,255,255,.62);
    border: 1px solid rgba(239,68,68,.36);
    box-shadow: none;
}

.rm-index-btn-secondary:hover {
    color: var(--idx-red-dark);
    background: rgba(254,242,242,.84);
    border-color: var(--idx-red);
}

.rm-index-hero-line {
    width: 1px;
    height: 76px;
    margin: 64px auto 0;
    background: linear-gradient(to bottom, transparent, var(--idx-red), transparent);
    animation: rmIndexLinePulse 3s ease-in-out infinite;
}

@keyframes rmIndexLinePulse {
    0%, 100% {
        opacity: .35;
        transform: scaleY(.78);
    }
    50% {
        opacity: 1;
        transform: scaleY(1);
    }
}

.rm-index-tech {
    overflow: hidden;
    padding: 28px 0;
    border-top: 1px solid var(--idx-line);
    border-bottom: 1px solid var(--idx-line);
    background: rgba(248,250,252,.78);
}

.rm-index-tech-track {
    display: flex;
    width: max-content;
    animation: rmIndexMarquee 32s linear infinite;
}

.rm-index-tech-track span {
    margin-inline: 32px;
    color: #64748b;
    font-family: 'Outfit', 'Plus Jakarta Sans', 'Inter', sans-serif;
    font-size: 22px;
    font-weight: 800;
    white-space: nowrap;
    opacity: .62;
    filter: grayscale(1);
    transition: color .25s ease, opacity .25s ease, transform .25s ease;
}

.rm-index-tech-track span:hover {
    color: var(--idx-red);
    opacity: 1;
    transform: scale(1.06);
}

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

.rm-index-section {
    padding: 96px 0;
}

.rm-index-section-head {
    max-width: 760px;
    margin: 0 auto 58px;
    text-align: center;
}

.rm-index-head-row {
    display: block;
    max-width: 860px;
}

.rm-index-section h2,
.rm-index-final h2 {
    color: var(--idx-ink);
    font-family: 'Outfit', 'Plus Jakarta Sans', 'Inter', sans-serif;
    font-size: clamp(36px, 4.2vw, 58px);
    font-weight: 800;
    letter-spacing: -.045em;
    line-height: 1.03;
}

.rm-index-section-head p,
.rm-index-geo p,
.rm-index-final p {
    color: #64748b;
    font-size: 16px;
    line-height: 1.75;
}

.rm-index-text-link {
    margin-top: 26px;
    color: var(--idx-red-dark);
    border-color: rgba(239,68,68,.38);
    border-radius: 8px;
}

.rm-index-services {
    margin-top: 0;
    border-radius: 0;
    background: #fff;
}

.rm-index-service-grid {
    counter-reset: rm-service;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.rm-index-service-card {
    counter-increment: rm-service;
    min-height: 0;
    padding: 0;
    border: 1px solid rgba(226,232,240,.9);
    border-radius: 16px;
    background: rgba(248,250,252,.82);
    box-shadow: none;
    transition: transform .32s ease, border-color .32s ease, box-shadow .32s ease;
}

.rm-index-service-card::before {
    content: '';
    position: absolute;
    inset: 0 0 auto;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--idx-red), transparent);
    opacity: 0;
    transition: opacity .32s ease;
}

.rm-index-service-card::after {
    content: counter(rm-service, decimal-leading-zero);
    position: absolute;
    right: 24px;
    top: 205px;
    color: rgba(239,68,68,.1);
    font-family: 'Outfit', 'Plus Jakarta Sans', 'Inter', sans-serif;
    font-size: 68px;
    font-weight: 800;
    line-height: 1;
    pointer-events: none;
}

.rm-index-service-card:hover {
    transform: translateY(-8px);
    border-color: rgba(239,68,68,.34);
    box-shadow: 0 24px 44px rgba(15,23,42,.09), 0 0 42px rgba(239,68,68,.06);
}

.rm-index-service-card:hover::before {
    opacity: 1;
}

.rm-index-service-card img {
    width: 100%;
    height: 185px;
    margin: 0;
    border-radius: 0;
    object-fit: cover;
    opacity: .92;
    transform: none;
    transition: transform .45s ease;
}

.rm-index-service-card:hover img {
    transform: scale(1.05);
}

.rm-index-card-icon {
    display: none;
}

.rm-index-service-card h3,
.rm-index-service-card p,
.rm-index-service-card strong {
    position: relative;
    z-index: 1;
    margin-left: 28px;
    margin-right: 28px;
}

.rm-index-service-card h3 {
    margin-top: 30px;
    color: var(--idx-ink);
    font-family: 'Outfit', 'Plus Jakarta Sans', 'Inter', sans-serif;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -.02em;
}

.rm-index-service-card p {
    margin-top: 12px;
    color: #64748b;
    font-size: 14px;
    line-height: 1.72;
}

.rm-index-service-card strong {
    display: inline-flex;
    margin-top: 20px;
    margin-bottom: 30px;
    color: var(--idx-red);
    font-size: 14px;
    font-weight: 750;
}

.rm-index-geo,
.rm-index-blog {
    background: #f8fafc;
}

.rm-index-process-grid article,
.rm-index-blog-card,
.rm-index-geo-panel article {
    border-radius: 16px;
    border-color: rgba(226,232,240,.9);
    background: rgba(255,255,255,.84);
    box-shadow: none;
}

.rm-index-process-grid span,
.rm-index-blog-card span,
.rm-index-geo-panel span {
    color: var(--idx-red);
}

.rm-index-work-card {
    border-radius: 16px;
}

.rm-index-final {
    padding-top: 96px;
    background: #fff;
}

.rm-index-final-panel {
    border-radius: 18px;
    background:
        radial-gradient(circle at 50% 0%, rgba(239,68,68,.12), transparent 36%),
        linear-gradient(135deg, #fff 0%, #f8fafc 100%);
    border: 1px solid var(--idx-line);
    color: var(--idx-ink);
    box-shadow: none;
}

.rm-index-final h2 {
    color: var(--idx-ink);
}

.rm-index-final p {
    color: #64748b;
}

.rm-index-btn-light {
    color: #fff;
    background: linear-gradient(135deg, var(--idx-red), var(--idx-red-dark));
}

@media (max-width: 1024px) {
    .rm-index-menu {
        gap: 18px;
    }

    .rm-index-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .rm-index-wrap {
        width: min(100% - 24px, 1200px);
    }

    .rm-index-nav {
        background: rgba(255,255,255,.88);
        border-bottom-color: rgba(226,232,240,.9);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
    }

    .rm-index-nav-inner {
        min-height: 68px;
    }

    .rm-index-brand img {
        max-width: 158px;
        max-height: 42px;
    }

    .rm-index-menu {
        display: none;
    }

    .rm-index-nav-cta {
        display: inline-flex;
        min-height: 38px;
        padding: 0 14px;
        border-radius: 8px;
        font-size: 12px;
    }

    .rm-index-hero {
        min-height: 92vh;
        padding: 102px 0 46px;
    }

    .rm-index-hero::before {
        background:
            linear-gradient(to top, rgba(255,255,255,.96) 0%, rgba(255,255,255,.78) 55%, rgba(255,255,255,.58) 100%),
            radial-gradient(circle at 50% 36%, rgba(239,68,68,.08), transparent 40%);
    }

    .rm-index-hero-video {
        opacity: .58;
    }

    .rm-index-kicker {
        margin-bottom: 18px;
        font-size: 12px;
    }

    .rm-index-hero-copy h1 {
        max-width: 100%;
        font-size: clamp(42px, 13vw, 58px);
        line-height: .94;
        letter-spacing: -.055em;
    }

    .rm-index-hero-copy p {
        margin-top: 22px;
        font-size: 17px;
        line-height: 1.65;
    }

    .rm-index-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 30px;
    }

    .rm-index-btn {
        width: 100%;
    }

    .rm-index-hero-line {
        height: 54px;
        margin-top: 42px;
    }

    .rm-index-tech {
        padding: 22px 0;
    }

    .rm-index-tech-track span {
        margin-inline: 22px;
        font-size: 18px;
    }

    .rm-index-section {
        padding: 72px 0;
    }

    .rm-index-section-head {
        margin-bottom: 36px;
        text-align: left;
    }

    .rm-index-section h2,
    .rm-index-final h2 {
        font-size: clamp(32px, 9vw, 42px);
    }

    .rm-index-service-grid,
    .rm-index-process-grid,
    .rm-index-work-grid,
    .rm-index-blog-grid,
    .rm-index-geo-grid,
    .rm-index-final-panel {
        display: grid;
        grid-template-columns: 1fr;
    }

    .rm-index-service-card::after {
        top: 202px;
        font-size: 58px;
    }
}

/* Header polish final overrides: glass on hero, solid after scroll */
.rm-index-topbar {
    border-bottom: 1px solid rgba(255,255,255,.28);
    background: rgba(255,255,255,.28);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.rm-index-topbar-inner {
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    color: rgba(15,23,42,.72);
    font-size: 12px;
    font-weight: 700;
}

.rm-index-topbar-inner div {
    display: flex;
    align-items: center;
    gap: 20px;
}

.rm-index-topbar-inner a {
    color: rgba(15,23,42,.76);
    text-decoration: none;
}

.rm-index-topbar-inner a:hover {
    color: var(--idx-red);
}

.rm-index-nav {
    background: rgba(255,255,255,.34);
    border-bottom-color: rgba(255,255,255,.32);
    box-shadow: 0 16px 46px rgba(15,23,42,.06);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
}

.rm-index-nav.is-scrolled {
    background: rgba(255,255,255,.94);
    border-bottom-color: rgba(226,232,240,.92);
    box-shadow: 0 18px 48px rgba(15,23,42,.1);
}

.rm-index-nav.is-scrolled .rm-index-topbar {
    background: rgba(248,250,252,.88);
    border-bottom-color: rgba(226,232,240,.88);
}

.rm-index-nav.is-scrolled .rm-index-topbar-inner,
.rm-index-nav.is-scrolled .rm-index-topbar-inner a {
    color: #64748b;
}

.rm-index-nav-cta {
    min-width: 108px;
}

.rm-index-actions .rm-index-btn-primary::before,
.rm-index-nav-cta::before,
.rm-index-final .rm-index-btn-light::before {
    content: '';
    width: 8px;
    height: 8px;
    margin-right: 9px;
    border-radius: 999px;
    background: #25d366;
    box-shadow: 0 0 0 4px rgba(37,211,102,.18);
}

.rm-index-hero {
    padding-top: 154px;
}

@media (max-width: 760px) {
    .rm-index-topbar {
        display: none;
    }

    .rm-index-nav {
        background: rgba(255,255,255,.74);
        border-bottom-color: rgba(226,232,240,.72);
    }

    .rm-index-nav.is-scrolled {
        background: rgba(255,255,255,.94);
    }

    .rm-index-hero {
        padding-top: 104px;
    }

    .rm-index-nav-cta {
        min-width: 96px;
    }
}

/* Header polish final overrides: glass on hero, solid after scroll */
.rm-index-topbar {
    border-bottom: 1px solid rgba(255,255,255,.28);
    background: rgba(255,255,255,.28);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.rm-index-topbar-inner {
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    color: rgba(15,23,42,.72);
    font-size: 12px;
    font-weight: 700;
}

.rm-index-topbar-inner div {
    display: flex;
    align-items: center;
    gap: 20px;
}

.rm-index-topbar-inner a {
    color: rgba(15,23,42,.76);
    text-decoration: none;
}

.rm-index-topbar-inner a:hover {
    color: var(--idx-red);
}

.rm-index-nav {
    background: rgba(255,255,255,.34);
    border-bottom-color: rgba(255,255,255,.32);
    box-shadow: 0 16px 46px rgba(15,23,42,.06);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
}

.rm-index-nav.is-scrolled {
    background: rgba(255,255,255,.94);
    border-bottom-color: rgba(226,232,240,.92);
    box-shadow: 0 18px 48px rgba(15,23,42,.1);
}

.rm-index-nav.is-scrolled .rm-index-topbar {
    background: rgba(248,250,252,.88);
    border-bottom-color: rgba(226,232,240,.88);
}

.rm-index-nav.is-scrolled .rm-index-topbar-inner,
.rm-index-nav.is-scrolled .rm-index-topbar-inner a {
    color: #64748b;
}

.rm-index-nav-cta {
    min-width: 108px;
}

.rm-index-actions .rm-index-btn-primary::before,
.rm-index-nav-cta::before,
.rm-index-final .rm-index-btn-light::before {
    content: '';
    width: 8px;
    height: 8px;
    margin-right: 9px;
    border-radius: 999px;
    background: #25d366;
    box-shadow: 0 0 0 4px rgba(37,211,102,.18);
}

.rm-index-hero {
    padding-top: 154px;
}

@media (max-width: 760px) {
    .rm-index-topbar {
        display: none;
    }

    .rm-index-nav {
        background: rgba(255,255,255,.74);
        border-bottom-color: rgba(226,232,240,.72);
    }

    .rm-index-nav.is-scrolled {
        background: rgba(255,255,255,.94);
    }

    .rm-index-hero {
        padding-top: 104px;
    }

    .rm-index-nav-cta {
        min-width: 96px;
    }
}

/* Pico-inspired index direction */
.rm-index {
    --idx-red: #ef4444;
    --idx-red-dark: #dc2626;
    --idx-ink: #0f172a;
    --idx-muted: #64748b;
    --idx-line: #e2e8f0;
    --idx-soft: #f8fafc;
    background: #fff;
    color: var(--idx-ink);
    font-family: 'Inter', 'Plus Jakarta Sans', sans-serif;
}

.rm-index-nav {
    position: fixed;
    inset: 0 0 auto;
    z-index: 1000;
    background: transparent;
    border-bottom: 1px solid transparent;
    box-shadow: none;
    backdrop-filter: blur(0);
    -webkit-backdrop-filter: blur(0);
    transition: background .32s ease, border-color .32s ease, box-shadow .32s ease, backdrop-filter .32s ease;
}

.rm-index-nav.is-scrolled {
    background: rgba(255,255,255,.88);
    border-bottom-color: rgba(239,68,68,.14);
    box-shadow: 0 18px 46px rgba(15,23,42,.08);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.rm-index-nav-inner {
    min-height: 78px;
}

.rm-index-brand img {
    max-width: 190px;
    max-height: 52px;
}

.rm-index-menu {
    gap: 30px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.rm-index-menu a {
    position: relative;
    color: #475569;
    font-size: 14px;
    font-weight: 750;
    letter-spacing: -.01em;
}

.rm-index-menu a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -7px;
    width: 0;
    height: 2px;
    background: var(--idx-red);
    transition: width .26s ease;
}

.rm-index-menu a:hover {
    color: var(--idx-red);
}

.rm-index-menu a:hover::after {
    width: 100%;
}

.rm-index-nav-cta,
.rm-index-btn-primary {
    color: #fff;
    background: linear-gradient(135deg, var(--idx-red), var(--idx-red-dark));
    box-shadow: 0 12px 28px rgba(239,68,68,.28);
}

.rm-index-nav-cta {
    min-height: 44px;
    padding: 0 22px;
    border-radius: 8px;
}

.rm-index-hero {
    min-height: 100vh;
    padding: 120px 0 76px;
    justify-content: center;
    text-align: center;
    background: #fff;
}

.rm-index-hero::before {
    z-index: 1;
    background:
        linear-gradient(to top, rgba(255,255,255,.94) 0%, rgba(255,255,255,.68) 54%, rgba(255,255,255,.42) 100%),
        radial-gradient(circle at 50% 42%, rgba(239,68,68,.08), transparent 36%);
}

.rm-index-hero-video {
    z-index: 0;
    opacity: .82;
    filter: saturate(1.03) contrast(1.02);
}

.rm-index-hero-noise {
    z-index: 2;
    opacity: .45;
    background-image:
        linear-gradient(rgba(15,23,42,.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15,23,42,.03) 1px, transparent 1px);
    background-size: 56px 56px;
}

.rm-index-hero-grid {
    display: flex;
    justify-content: center;
}

.rm-index-hero-copy {
    width: min(100%, 980px);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.rm-index-kicker {
    margin-bottom: 26px;
    padding: 8px 16px;
    border: 1px solid rgba(239,68,68,.22);
    color: var(--idx-red-dark);
    background: rgba(254,242,242,.84);
    font-size: 13px;
    font-weight: 750;
    letter-spacing: .01em;
    text-transform: none;
}

.rm-index-hero-copy h1 {
    max-width: 940px;
    margin-inline: auto;
    color: var(--idx-ink);
    font-family: 'Outfit', 'Plus Jakarta Sans', 'Inter', sans-serif;
    font-size: clamp(48px, 7.2vw, 96px);
    font-weight: 800;
    letter-spacing: -.055em;
    line-height: .94;
}

.rm-index-hero-copy h1 span {
    color: var(--idx-red);
}

.rm-index-hero-copy p {
    max-width: 710px;
    margin: 26px auto 0;
    color: #475569;
    font-size: clamp(18px, 1.55vw, 22px);
    line-height: 1.72;
}

.rm-index-actions {
    justify-content: center;
    margin-top: 38px;
}

.rm-index-btn {
    min-height: 54px;
    padding: 0 34px;
    border-radius: 8px;
    font-weight: 750;
}

.rm-index-btn-primary:hover,
.rm-index-nav-cta:hover {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 18px 40px rgba(239,68,68,.38);
}

.rm-index-btn-secondary {
    color: var(--idx-red-dark);
    background: rgba(255,255,255,.62);
    border: 1px solid rgba(239,68,68,.36);
    box-shadow: none;
}

.rm-index-btn-secondary:hover {
    color: var(--idx-red-dark);
    background: rgba(254,242,242,.84);
    border-color: var(--idx-red);
}

.rm-index-hero-line {
    width: 1px;
    height: 76px;
    margin: 64px auto 0;
    background: linear-gradient(to bottom, transparent, var(--idx-red), transparent);
    animation: rmIndexLinePulse 3s ease-in-out infinite;
}

@keyframes rmIndexLinePulse {
    0%, 100% {
        opacity: .35;
        transform: scaleY(.78);
    }
    50% {
        opacity: 1;
        transform: scaleY(1);
    }
}

.rm-index-tech {
    overflow: hidden;
    padding: 28px 0;
    border-top: 1px solid var(--idx-line);
    border-bottom: 1px solid var(--idx-line);
    background: rgba(248,250,252,.78);
}

.rm-index-tech-track {
    display: flex;
    width: max-content;
    animation: rmIndexMarquee 32s linear infinite;
}

.rm-index-tech-track span {
    margin-inline: 32px;
    color: #64748b;
    font-family: 'Outfit', 'Plus Jakarta Sans', 'Inter', sans-serif;
    font-size: 22px;
    font-weight: 800;
    white-space: nowrap;
    opacity: .62;
    filter: grayscale(1);
    transition: color .25s ease, opacity .25s ease, transform .25s ease;
}

.rm-index-tech-track span:hover {
    color: var(--idx-red);
    opacity: 1;
    transform: scale(1.06);
}

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

.rm-index-section {
    padding: 96px 0;
}

.rm-index-section-head {
    max-width: 760px;
    margin: 0 auto 58px;
    text-align: center;
}

.rm-index-head-row {
    display: block;
    max-width: 860px;
}

.rm-index-section h2,
.rm-index-final h2 {
    color: var(--idx-ink);
    font-family: 'Outfit', 'Plus Jakarta Sans', 'Inter', sans-serif;
    font-size: clamp(36px, 4.2vw, 58px);
    font-weight: 800;
    letter-spacing: -.045em;
    line-height: 1.03;
}

.rm-index-section-head p,
.rm-index-geo p,
.rm-index-final p {
    color: #64748b;
    font-size: 16px;
    line-height: 1.75;
}

.rm-index-text-link {
    margin-top: 26px;
    color: var(--idx-red-dark);
    border-color: rgba(239,68,68,.38);
    border-radius: 8px;
}

.rm-index-services {
    margin-top: 0;
    border-radius: 0;
    background: #fff;
}

.rm-index-service-grid {
    counter-reset: rm-service;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.rm-index-service-card {
    counter-increment: rm-service;
    min-height: 0;
    padding: 0;
    border: 1px solid rgba(226,232,240,.9);
    border-radius: 16px;
    background: rgba(248,250,252,.82);
    box-shadow: none;
    transition: transform .32s ease, border-color .32s ease, box-shadow .32s ease;
}

.rm-index-service-card::before {
    content: '';
    position: absolute;
    inset: 0 0 auto;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--idx-red), transparent);
    opacity: 0;
    transition: opacity .32s ease;
}

.rm-index-service-card::after {
    content: counter(rm-service, decimal-leading-zero);
    position: absolute;
    right: 24px;
    top: 205px;
    color: rgba(239,68,68,.1);
    font-family: 'Outfit', 'Plus Jakarta Sans', 'Inter', sans-serif;
    font-size: 68px;
    font-weight: 800;
    line-height: 1;
    pointer-events: none;
}

.rm-index-service-card:hover {
    transform: translateY(-8px);
    border-color: rgba(239,68,68,.34);
    box-shadow: 0 24px 44px rgba(15,23,42,.09), 0 0 42px rgba(239,68,68,.06);
}

.rm-index-service-card:hover::before {
    opacity: 1;
}

.rm-index-service-card img {
    width: 100%;
    height: 185px;
    margin: 0;
    border-radius: 0;
    object-fit: cover;
    opacity: .92;
    transform: none;
    transition: transform .45s ease;
}

.rm-index-service-card:hover img {
    transform: scale(1.05);
}

.rm-index-card-icon {
    display: none;
}

.rm-index-service-card h3,
.rm-index-service-card p,
.rm-index-service-card strong {
    position: relative;
    z-index: 1;
    margin-left: 28px;
    margin-right: 28px;
}

.rm-index-service-card h3 {
    margin-top: 30px;
    color: var(--idx-ink);
    font-family: 'Outfit', 'Plus Jakarta Sans', 'Inter', sans-serif;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -.02em;
}

.rm-index-service-card p {
    margin-top: 12px;
    color: #64748b;
    font-size: 14px;
    line-height: 1.72;
}

.rm-index-service-card strong {
    display: inline-flex;
    margin-top: 20px;
    margin-bottom: 30px;
    color: var(--idx-red);
    font-size: 14px;
    font-weight: 750;
}

.rm-index-geo,
.rm-index-blog {
    background: #f8fafc;
}

.rm-index-process-grid article,
.rm-index-blog-card,
.rm-index-geo-panel article {
    border-radius: 16px;
    border-color: rgba(226,232,240,.9);
    background: rgba(255,255,255,.84);
    box-shadow: none;
}

.rm-index-process-grid span,
.rm-index-blog-card span,
.rm-index-geo-panel span {
    color: var(--idx-red);
}

.rm-index-work-card {
    border-radius: 16px;
}

.rm-index-final {
    padding-top: 96px;
    background: #fff;
}

.rm-index-final-panel {
    border-radius: 18px;
    background:
        radial-gradient(circle at 50% 0%, rgba(239,68,68,.12), transparent 36%),
        linear-gradient(135deg, #fff 0%, #f8fafc 100%);
    border: 1px solid var(--idx-line);
    color: var(--idx-ink);
    box-shadow: none;
}

.rm-index-final h2 {
    color: var(--idx-ink);
}

.rm-index-final p {
    color: #64748b;
}

.rm-index-btn-light {
    color: #fff;
    background: linear-gradient(135deg, var(--idx-red), var(--idx-red-dark));
}

@media (max-width: 1024px) {
    .rm-index-menu {
        gap: 18px;
    }

    .rm-index-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .rm-index-wrap {
        width: min(100% - 24px, 1200px);
    }

    .rm-index-nav {
        background: rgba(255,255,255,.88);
        border-bottom-color: rgba(226,232,240,.9);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
    }

    .rm-index-nav-inner {
        min-height: 68px;
    }

    .rm-index-brand img {
        max-width: 158px;
        max-height: 42px;
    }

    .rm-index-menu {
        display: none;
    }

    .rm-index-nav-cta {
        display: inline-flex;
        min-height: 38px;
        padding: 0 14px;
        border-radius: 8px;
        font-size: 12px;
    }

    .rm-index-hero {
        min-height: 92vh;
        padding: 102px 0 46px;
    }

    .rm-index-hero::before {
        background:
            linear-gradient(to top, rgba(255,255,255,.96) 0%, rgba(255,255,255,.78) 55%, rgba(255,255,255,.58) 100%),
            radial-gradient(circle at 50% 36%, rgba(239,68,68,.08), transparent 40%);
    }

    .rm-index-hero-video {
        opacity: .58;
    }

    .rm-index-kicker {
        margin-bottom: 18px;
        font-size: 12px;
    }

    .rm-index-hero-copy h1 {
        max-width: 100%;
        font-size: clamp(42px, 13vw, 58px);
        line-height: .94;
        letter-spacing: -.055em;
    }

    .rm-index-hero-copy p {
        margin-top: 22px;
        font-size: 17px;
        line-height: 1.65;
    }

    .rm-index-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 30px;
    }

    .rm-index-btn {
        width: 100%;
    }

    .rm-index-hero-line {
        height: 54px;
        margin-top: 42px;
    }

    .rm-index-tech {
        padding: 22px 0;
    }

    .rm-index-tech-track span {
        margin-inline: 22px;
        font-size: 18px;
    }

    .rm-index-section {
        padding: 72px 0;
    }

    .rm-index-section-head {
        margin-bottom: 36px;
        text-align: left;
    }

    .rm-index-section h2,
    .rm-index-final h2 {
        font-size: clamp(32px, 9vw, 42px);
    }

    .rm-index-service-grid,
    .rm-index-process-grid,
    .rm-index-work-grid,
    .rm-index-blog-grid,
    .rm-index-geo-grid,
    .rm-index-final-panel {
        display: grid;
        grid-template-columns: 1fr;
    }

    .rm-index-service-card::after {
        top: 202px;
        font-size: 58px;
    }
}

.container-wide {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 2rem;
    padding-right: 2rem;
}

.section-premium {
    padding: 100px 0;
    position: relative;
}

.hero-internal {
    padding: clamp(88px, 8vw, 122px) 0 56px !important;
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
}

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

.hero-internal-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: 0.7;
    z-index: 1;
}

.hero-internal .section-pill {
    margin: 0 auto 22px !important;
}

.hero-internal .hero-title-premium {
    margin-bottom: 18px !important;
}

.hero-internal .hero-subtitle-premium {
    max-width: 980px;
    margin: 0 auto 26px !important;
    text-align: center !important;
    text-align-last: center !important;
    line-height: 1.7 !important;
    font-size: clamp(1rem, 2vw, 1.18rem) !important;
}

.hero-internal .breadcrumb-nav {
    display: inline-flex !important;
    align-items: center;
    background: rgba(255,255,255,0.92) !important;
    padding: 10px 22px !important;
    border-radius: 999px !important;
    font-size: 0.9rem !important;
    border: 1px solid rgba(0,0,0,0.06) !important;
    box-shadow: 0 10px 28px rgba(15,23,42,0.06) !important;
    margin-bottom: 0 !important;
}

.service-dev-page {
    min-height: calc(100vh - 110px);
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.service-dev-spacer {
    display: none;
}

.service-dev-custom {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.service-dev-page-full {
    overflow: hidden;
}

.rm-builder-page,
.rm-home {
    --rm-radius: 8px;
    color: var(--rm-ink);
    background: #f8fafc;
    font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
    overflow: hidden;
}

.rm-builder-wrap,
.rm-home-wrap {
    width: min(1180px, calc(100% - 32px));
    margin-inline: auto;
}

.rm-builder-hero,
.rm-home-hero {
    position: relative;
    min-height: calc(100vh - 118px);
    display: flex;
    align-items: center;
    padding: 72px 0 84px;
    background:
        radial-gradient(circle at 74% 24%, rgba(6,182,212,.28), transparent 34%),
        radial-gradient(circle at 88% 72%, rgba(239,68,68,.2), transparent 30%),
        linear-gradient(135deg, #07111f 0%, #0f2533 52%, #eef9fb 52%, #f8fafc 100%);
}

.rm-builder-hero-grid,
.rm-home-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(360px, .98fr);
    gap: 54px;
    align-items: center;
}

.rm-builder-hero-copy,
.rm-home-hero-copy {
    color: white;
}

.rm-builder-kicker,
.rm-home-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(6,182,212,.35);
    background: rgba(6,182,212,.11);
    color: #67e8f9;
    border-radius: 999px;
    padding: 8px 13px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0;
    margin: 0;
}

.rm-builder-hero h1,
.rm-home-hero h1,
.rm-builder-section h2,
.rm-home-section h2,
.rm-builder-cta h2,
.rm-home-cta h2 {
    letter-spacing: 0;
    line-height: 1.02;
    font-weight: 900;
}

.rm-builder-hero h1,
.rm-home-hero h1 {
    font-size: clamp(42px, 5.1vw, 64px);
    color: white;
    max-width: 720px;
    margin: 18px 0;
}

.rm-builder-lead,
.rm-home-lead {
    font-size: 19px;
    line-height: 1.75;
    color: #d9eef2;
    max-width: 680px;
    margin: 0;
}

.rm-builder-actions,
.rm-home-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 24px 0 0;
}

.rm-builder-btn,
.rm-home-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 20px;
    border-radius: 8px;
    font-weight: 900;
    text-decoration: none;
    transition: .22s ease;
}

.rm-builder-btn-primary,
.rm-home-btn-primary {
    background: var(--rm-red);
    color: white;
    box-shadow: 0 16px 34px rgba(239,68,68,.28);
}

.rm-builder-btn-primary:hover,
.rm-home-btn-primary:hover {
    transform: translateY(-2px);
    color: white;
}

.rm-builder-btn-secondary,
.rm-home-btn-secondary {
    border: 1px solid rgba(255,255,255,.24);
    color: white;
    background: rgba(255,255,255,.08);
}

.rm-builder-btn-light,
.rm-home-btn-light {
    background: white;
    color: #0f2533;
}

.rm-builder-hero-media,
.rm-home-hero-panel {
    position: relative;
}

.rm-builder-hero-media img,
.rm-home-hero-panel img,
.rm-builder-media-frame img {
    width: 100%;
    aspect-ratio: 16/10;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0 30px 90px rgba(15,23,42,.28);
    border: 1px solid rgba(255,255,255,.72);
}

.rm-home-signal-card {
    position: absolute;
    right: 22px;
    bottom: -24px;
    width: min(315px, calc(100% - 44px));
    padding: 18px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 20px 55px rgba(15,23,42,.22);
    border-left: 5px solid var(--rm-red);
}

.rm-home-signal-card strong,
.rm-home-signal-card span {
    display: block;
}

.rm-home-signal-card span {
    color: var(--rm-muted);
    font-size: 13px;
    margin-top: 4px;
}

.rm-builder-section,
.rm-home-section {
    padding: 88px 0;
    background: #f8fafc;
}

.rm-builder-section-soft,
.rm-home-section-soft {
    background: linear-gradient(180deg, #fff 0%, #eef9fb 100%);
}

.rm-builder-section h2,
.rm-home-section h2 {
    font-size: clamp(32px, 3.4vw, 44px);
    color: var(--rm-ink);
    margin: 0 0 18px;
}

.rm-builder-section p,
.rm-home-section p {
    color: var(--rm-muted);
    font-size: 17px;
    line-height: 1.75;
}

.rm-builder-section-head,
.rm-home-section-head {
    max-width: 760px;
    margin-bottom: 30px;
}

.rm-builder-two-col,
.rm-home-two-col,
.rm-builder-media-text,
.rm-home-feature-band {
    display: grid;
    grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
    gap: 56px;
    align-items: start;
}

.rm-builder-media-text.is-reverse {
    grid-template-columns: minmax(0, 1.14fr) minmax(0, .86fr);
}

.rm-builder-check-list {
    display: grid;
    gap: 12px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.rm-builder-check-list li {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 15px 18px;
    color: #334155;
    font-weight: 750;
}

.rm-builder-card-grid,
.rm-home-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.rm-builder-step-grid,
.rm-home-step-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.rm-builder-benefit-card,
.rm-builder-step-card,
.rm-home-card,
.rm-home-step,
.rm-builder-faq-list details {
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 22px;
    box-shadow: 0 14px 36px rgba(15,23,42,.06);
}

.rm-builder-benefit-card h3,
.rm-builder-step-card h3,
.rm-home-card h3,
.rm-home-step h3 {
    font-size: 19px;
    margin: 0 0 10px;
    color: var(--rm-ink);
}

.rm-builder-benefit-card p,
.rm-builder-step-card p,
.rm-home-card p,
.rm-home-step p {
    font-size: 14px;
    margin: 0;
}

.rm-builder-step-card span,
.rm-home-step span {
    display: inline-flex;
    color: var(--rm-red);
    font-weight: 900;
    margin-bottom: 22px;
}

.rm-builder-price-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 32px;
    align-items: start;
}

.rm-builder-price-panel aside {
    background: #07111f;
    color: white;
    border-radius: 8px;
    padding: 28px;
    box-shadow: 0 24px 64px rgba(15,23,42,.18);
}

.rm-builder-price-panel aside span {
    display: block;
    color: #a7c8d1;
    font-weight: 800;
}

.rm-builder-price-panel aside strong {
    display: block;
    color: #67e8f9;
    font-size: 42px;
    line-height: 1;
    margin: 8px 0 18px;
}

.rm-builder-price-panel ul {
    display: grid;
    gap: 10px;
    margin: 0 0 22px;
    padding: 0;
    list-style: none;
}

.rm-builder-price-panel li {
    color: #d9eef2;
}

.rm-builder-media-frame {
    min-width: 0;
}

.rm-builder-media-empty {
    aspect-ratio: 16/10;
    border-radius: 8px;
    background: linear-gradient(135deg, #0f172a, #164e63);
}

.rm-builder-faq {
    background: white;
}

.rm-builder-faq-list {
    display: grid;
    gap: 12px;
}

.rm-builder-faq-list summary {
    cursor: pointer;
    font-weight: 900;
    color: var(--rm-ink);
    list-style: none;
}

.rm-builder-faq-list summary::-webkit-details-marker {
    display: none;
}

.rm-builder-faq-list summary::after {
    content: '+';
    float: right;
    color: var(--rm-red);
    font-size: 22px;
    line-height: 1;
}

.rm-builder-faq-list details[open] summary::after {
    content: '-';
}

.rm-builder-faq-list p {
    font-size: 15px;
    margin: 14px 0 0;
}

.rm-builder-cta,
.rm-home-cta {
    padding: 0 0 88px;
    background: #f8fafc;
}

.rm-builder-cta-panel,
.rm-home-cta-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 26px;
    padding: 54px;
    border-radius: 8px;
    background: linear-gradient(135deg, #07111f, #104e5d);
    color: white;
    box-shadow: 0 26px 70px rgba(15,23,42,.2);
}

.rm-builder-cta-panel h2,
.rm-builder-cta-panel p,
.rm-home-cta-panel h2,
.rm-home-cta-panel p {
    color: white;
}

.rm-builder-cta-panel p,
.rm-home-cta-panel p {
    opacity: .82;
    max-width: 720px;
    margin: 0;
}

.rm-home-service-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    overflow: hidden;
}

.rm-home-service-card img {
    width: 100%;
    aspect-ratio: 16/10;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 18px;
}

.rm-home-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--rm-red);
    font-weight: 900;
    margin-top: auto;
}

.rm-home-project-grid {
    display: grid;
    grid-template-columns: 1.45fr 1fr;
    gap: 16px;
}

.rm-home-project-card {
    min-height: 320px;
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    display: block;
    background: #0f172a;
    color: white;
}

.rm-home-project-card:first-child {
    min-height: 520px;
}

.rm-home-project-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .82;
}

.rm-home-project-card div {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 26px;
    background: linear-gradient(180deg, transparent 20%, rgba(7,17,31,.92) 100%);
}

.rm-home-project-card h3 {
    color: white;
    font-weight: 900;
    font-size: clamp(22px, 2.2vw, 34px);
    margin: 0 0 10px;
}

.rm-home-project-card p {
    color: rgba(255,255,255,.72);
    margin: 0;
}

/* One Page visual system used by developer mode and visual builder */
.rm-onepage {
    --op-navy: #07111f;
    --op-ink: #0f172a;
    --op-muted: #607083;
    --op-cyan: #06b6d4;
    --op-red: #ef4444;
    --op-paper: #f7fbfc;
    font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
    color: var(--op-ink);
    background: #f8fafc;
    overflow: hidden;
}

.rm-op-wrap {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.rm-op-hero {
    position: relative;
    min-height: calc(100vh - 118px);
    display: flex;
    align-items: center;
    padding: 72px 0 84px;
    background:
        radial-gradient(circle at 74% 24%, rgba(6,182,212,.28), transparent 34%),
        radial-gradient(circle at 88% 72%, rgba(239,68,68,.2), transparent 30%),
        linear-gradient(135deg, #07111f 0%, #0f2533 52%, #eef9fb 52%, #f8fafc 100%);
}

.rm-op-hero-grid {
    display: grid;
    grid-template-columns: minmax(0,1.02fr) minmax(360px,.98fr);
    gap: 54px;
    align-items: center;
}

.rm-op-copy {
    color: white;
}

.rm-op-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(6,182,212,.35);
    background: rgba(6,182,212,.11);
    color: #67e8f9;
    border-radius: 999px;
    padding: 8px 13px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0;
}

.rm-op-copy h1,
.rm-op-section h2 {
    letter-spacing: 0;
    line-height: 1.02;
    margin: 18px 0;
    font-weight: 900;
}

.rm-op-copy h1 {
    font-size: clamp(38px, 5.1vw, 64px);
    color: white;
    max-width: 720px;
}

.rm-op-lead {
    font-size: 19px;
    line-height: 1.75;
    color: #d9eef2;
    max-width: 680px;
}

.rm-op-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 24px 0;
}

.rm-op-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 20px;
    border-radius: 8px;
    font-weight: 900;
    text-decoration: none;
    transition: .22s ease;
}

.rm-op-btn-primary {
    background: var(--op-red);
    color: white;
    box-shadow: 0 16px 34px rgba(239,68,68,.28);
}

.rm-op-btn-primary:hover {
    transform: translateY(-2px);
    color: white;
}

.rm-op-btn-secondary {
    border: 1px solid rgba(255,255,255,.24);
    color: white;
    background: rgba(255,255,255,.08);
}

.rm-op-btn-light {
    background: white;
    color: #0f2533;
}

.rm-op-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.rm-op-trust span {
    border: 1px solid rgba(255,255,255,.15);
    background: rgba(255,255,255,.08);
    border-radius: 999px;
    padding: 8px 12px;
    color: #dbeafe;
    font-size: 12px;
    font-weight: 800;
}

.rm-op-visual {
    position: relative;
}

.rm-op-visual img {
    width: 100%;
    aspect-ratio: 16/10;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0 30px 90px rgba(15,23,42,.28);
    border: 1px solid rgba(255,255,255,.72);
}

.rm-op-floating-card {
    position: absolute;
    right: 22px;
    bottom: -24px;
    width: min(285px, calc(100% - 44px));
    padding: 18px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 20px 55px rgba(15,23,42,.22);
    border-left: 5px solid var(--op-red);
}

.rm-op-floating-card strong,
.rm-op-floating-card span {
    display: block;
}

.rm-op-floating-card span {
    color: var(--op-muted);
    font-size: 13px;
    margin-top: 4px;
}

.rm-op-section {
    padding: 88px 0;
    background: #f8fafc;
}

.rm-op-section h2 {
    font-size: clamp(31px, 3.4vw, 42px);
    color: var(--op-ink);
}

.rm-op-section p {
    color: var(--op-muted);
    font-size: 17px;
    line-height: 1.75;
}

.rm-op-two-col {
    display: grid;
    grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr);
    gap: 56px;
    align-items: start;
}

.rm-op-two-col.is-reverse {
    grid-template-columns: minmax(0,1.18fr) minmax(0,.82fr);
}

.rm-op-feature-grid,
.rm-op-step-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 16px;
}

.rm-op-feature-grid article,
.rm-op-step-grid article,
.rm-op-faq-list details,
.rm-op-check-list li {
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 22px;
    box-shadow: 0 14px 36px rgba(15,23,42,.06);
}

.rm-op-feature-grid article,
.rm-op-step-grid article {
    position: relative;
    overflow: hidden;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.rm-op-feature-grid article::before {
    content: '';
    display: block;
    width: 42px;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--op-red), var(--op-cyan));
    margin-bottom: 18px;
}

.rm-op-feature-grid article:hover,
.rm-op-step-grid article:hover {
    transform: translateY(-5px);
    border-color: rgba(239,68,68,.28);
    box-shadow: 0 22px 48px rgba(15,23,42,.11);
}

.rm-op-feature-grid strong,
.rm-op-feature-grid span {
    display: block;
}

.rm-op-feature-grid span,
.rm-op-feature-grid p {
    margin-top: 8px;
    color: var(--op-muted);
}

.rm-op-check-list {
    display: grid;
    gap: 12px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.rm-op-check-list li::before {
    content: '✓';
    color: var(--op-red);
    font-weight: 900;
    margin-right: 10px;
}

.rm-op-steps {
    background: linear-gradient(180deg,#ffffff 0%,#eef9fb 100%);
}

.rm-op-step-grid {
    grid-template-columns: repeat(4,minmax(0,1fr));
    margin-top: 28px;
}

.rm-op-step-grid article span {
    display: inline-flex;
    color: var(--op-red);
    font-weight: 900;
    margin-bottom: 22px;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(239,68,68,.08);
    border: 1px solid rgba(239,68,68,.14);
}

.rm-op-step-grid h3,
.rm-op-feature-grid h3 {
    font-size: 19px;
    margin: 0 0 10px;
    color: var(--op-ink);
}

.rm-op-step-grid p {
    font-size: 14px;
    margin: 0;
}

.rm-op-price-panel {
    display: grid;
    grid-template-columns: minmax(0,1fr) 380px;
    gap: 32px;
    align-items: start;
}

.rm-op-price-panel aside {
    background: #07111f;
    color: white;
    border-radius: 8px;
    padding: 28px;
    box-shadow: 0 24px 64px rgba(15,23,42,.18);
}

.rm-op-price-panel aside span {
    display: block;
    color: #a7c8d1;
    font-weight: 800;
}

.rm-op-price-panel aside strong {
    display: block;
    color: #67e8f9;
    font-size: 42px;
    line-height: 1;
    margin: 8px 0 18px;
}

.rm-op-price-panel ul {
    display: grid;
    gap: 10px;
    margin: 0 0 22px;
    padding: 0;
    list-style: none;
}

.rm-op-price-panel li {
    color: #d9eef2;
}

.rm-op-seo {
    padding: 0;
    background: #eef9fb;
}

.rm-op-seo-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 26px;
    padding: 54px;
    border-radius: 8px;
    background: linear-gradient(135deg,#07111f,#104e5d);
    color: white;
    box-shadow: 0 26px 70px rgba(15,23,42,.2);
}

.rm-op-seo-panel h2,
.rm-op-seo-panel p {
    color: white;
}

.rm-op-seo-panel p {
    opacity: .82;
    max-width: 720px;
}

.rm-op-faq {
    background: white;
}

.rm-op-faq-list {
    display: grid;
    gap: 12px;
}

.rm-op-faq-list summary {
    cursor: pointer;
    font-weight: 900;
    color: var(--op-ink);
    list-style: none;
}

.rm-op-faq-list summary::-webkit-details-marker {
    display: none;
}

.rm-op-faq-list summary::after {
    content: '+';
    float: right;
    color: var(--op-red);
    font-size: 22px;
    line-height: 1;
}

.rm-op-faq-list details[open] summary::after {
    content: '-';
}

.rm-op-faq-list p {
    font-size: 15px;
    margin: 14px 0 0;
}

.rm-home-video-hero {
    isolation: isolate;
    background: #07111f;
}

.rm-home-video-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(4,7,14,.74) 0%, rgba(7,11,22,.58) 42%, rgba(10,15,28,.24) 72%, rgba(10,15,28,.06) 100%),
        linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.22));
}

.rm-home-video-fallback,
.rm-home-bg-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -2;
}

.rm-home-video-fallback {
    background: url('../../bc-video-royalmedia.png') center/cover no-repeat;
}

.rm-home-bg-video {
    opacity: .72;
    filter: saturate(1.18) contrast(1.05);
}

.rm-home-video-hero .rm-home-hero-panel {
    display: none;
}

.rm-home-video-hero .rm-home-hero-grid {
    grid-template-columns: minmax(0, 760px);
}

.rm-home-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 44px;
    max-width: 720px;
}

.rm-home-metrics span {
    display: block;
    padding-left: 18px;
    border-left: 1px solid rgba(255,255,255,.22);
}

.rm-home-metrics strong {
    display: block;
    color: #22d3ee;
    font-size: 34px;
    line-height: 1;
    font-weight: 950;
}

.rm-home-metrics small {
    display: block;
    color: rgba(226,245,250,.78);
    margin-top: 7px;
    line-height: 1.35;
    font-weight: 650;
}

.rm-home-section-label {
    display: inline-flex;
    color: #06b6d4;
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 12px;
}

.rm-home-section-head-row {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    max-width: none;
}

.rm-home-outline-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 16px;
    border-radius: 8px;
    border: 1px solid #dbe6ef;
    color: #0f172a;
    background: #fff;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 10px 24px rgba(15,23,42,.05);
}

.rm-home-card {
    position: relative;
    overflow: hidden;
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.rm-home-card::before {
    content: '';
    display: block;
    width: 46px;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, #ef4444, #06b6d4);
    margin-bottom: 18px;
}

.rm-home-service-card::before {
    position: absolute;
    left: 22px;
    top: calc(16px + min(180px, 10vw));
    z-index: 2;
}

.rm-home-card:hover {
    transform: translateY(-6px);
    border-color: rgba(239,68,68,.28);
    box-shadow: 0 26px 55px rgba(15,23,42,.12);
}

.rm-home-feature-band {
    display: grid;
    grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);
    gap: 44px;
    align-items: center;
    padding: 44px;
    border-radius: 12px;
    background:
        linear-gradient(135deg, rgba(7,17,31,.98), rgba(16,78,93,.92)),
        radial-gradient(circle at 90% 10%, rgba(6,182,212,.18), transparent 32%);
    color: white;
    box-shadow: 0 28px 80px rgba(15,23,42,.22);
}

.rm-home-feature-copy h2,
.rm-home-feature-copy p {
    color: white;
}

.rm-home-feature-copy p {
    color: rgba(226,245,250,.78);
}

.rm-home-mini-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 14px;
}

.rm-home-mini-grid .rm-home-card {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.12);
    box-shadow: none;
}

.rm-home-mini-grid .rm-home-card h3 {
    color: white;
}

.rm-home-mini-grid .rm-home-card p {
    color: rgba(226,245,250,.72);
}

.rm-home-step {
    position: relative;
    overflow: hidden;
}

.rm-home-step span {
    display: inline-flex;
    width: 50px;
    height: 50px;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(239,68,68,.08);
    border: 1px solid rgba(239,68,68,.14);
    color: #ef4444;
    font-weight: 950;
}

@media (max-width: 991px) {
    .rm-op-hero {
        min-height: auto;
        background: linear-gradient(160deg,#07111f 0%,#0f2533 64%,#eef9fb 64%);
    }
    .rm-op-hero-grid,
    .rm-op-two-col,
    .rm-op-price-panel {
        grid-template-columns: 1fr;
    }
    .rm-op-step-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
    .rm-op-section {
        padding: 64px 0;
    }
    .rm-op-seo-panel {
        display: block;
        padding: 32px;
    }
}

@media (max-width: 640px) {
    .rm-op-wrap {
        width: min(100% - 24px,1180px);
    }
    .rm-op-hero {
        padding: 42px 0 66px;
    }
    .rm-op-copy h1 {
        font-size: 36px;
    }
    .rm-op-lead {
        font-size: 16px;
    }
    .rm-op-actions,
    .rm-op-feature-grid,
    .rm-op-step-grid {
        display: grid;
        grid-template-columns: 1fr;
    }
    .rm-op-floating-card {
        position: relative;
        right: auto;
        bottom: auto;
        margin: -18px auto 0;
    }
    .rm-op-trust span {
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 900px) {
    .rm-home-metrics,
    .rm-home-mini-grid {
        grid-template-columns: 1fr;
    }
    .rm-home-section-head-row,
    .rm-home-feature-band {
        display: grid;
        grid-template-columns: 1fr;
    }
    .rm-home-feature-band {
        padding: 28px;
    }
}

@media (max-width: 991px) {
    .rm-builder-hero,
    .rm-home-hero {
        min-height: auto;
        background: linear-gradient(160deg, #07111f 0%, #0f2533 64%, #eef9fb 64%);
    }
    .rm-builder-hero-grid,
    .rm-home-hero-grid,
    .rm-builder-two-col,
    .rm-home-two-col,
    .rm-builder-media-text,
    .rm-home-feature-band,
    .rm-builder-price-panel,
    .rm-home-project-grid {
        grid-template-columns: 1fr;
    }
    .rm-builder-card-grid,
    .rm-home-card-grid,
    .rm-builder-step-grid,
    .rm-home-step-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .rm-builder-section,
    .rm-home-section {
        padding: 64px 0;
    }
    .rm-builder-cta-panel,
    .rm-home-cta-panel {
        display: block;
        padding: 32px;
    }
    .rm-builder-btn-light,
    .rm-home-btn-light {
        margin-top: 18px;
    }
}

@media (max-width: 767px) {
    .section-premium {
        padding: 60px 0;
    }
    .hero-internal {
        padding: 74px 0 42px !important;
    }
    .service-dev-custom {
        width: 100%;
    }
}

@media (max-width: 640px) {
    .rm-builder-wrap,
    .rm-home-wrap {
        width: min(100% - 24px, 1180px);
    }
    .rm-builder-hero,
    .rm-home-hero {
        padding: 42px 0 66px;
    }
    .rm-builder-lead,
    .rm-home-lead {
        font-size: 16px;
    }
    .rm-builder-actions,
    .rm-home-actions,
    .rm-builder-card-grid,
    .rm-home-card-grid,
    .rm-builder-step-grid,
    .rm-home-step-grid {
        display: grid;
        grid-template-columns: 1fr;
    }
    .rm-home-signal-card {
        position: relative;
        right: auto;
        bottom: auto;
        margin: -18px auto 0;
    }
}

/* RoyalMedia 2026 index redesign */
.rm-index {
    --idx-blue: #1f6fff;
    --idx-blue-2: #0ea5e9;
    --idx-red: #e31e24;
    --idx-navy: #07111f;
    --idx-ink: #101827;
    --idx-muted: #64748b;
    --idx-line: #e6edf5;
    --idx-soft: #f5f8fc;
    --idx-radius: 22px;
    color: var(--idx-ink);
    background: #fff;
    font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
    overflow: hidden;
}

.rm-index,
.rm-index * {
    box-sizing: border-box;
}

body:has(.rm-index) {
    overflow-x: hidden;
}

.rm-index-wrap {
    width: min(1200px, calc(100% - 40px));
    margin-inline: auto;
}

.rm-index-nav {
    position: sticky;

    top: 0;
    z-index: 1000;
    background: rgba(255,255,255,.86);
    border-bottom: 1px solid rgba(214,226,240,.78);
    box-shadow: 0 16px 48px rgba(15,23,42,.07);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
}

.rm-index-nav-inner {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.rm-index-brand {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.rm-index-brand img {
    width: auto;
    max-width: 192px;
    max-height: 50px;
    object-fit: contain;
}

.rm-index-menu {
    display: flex;
    align-items: center;
    gap: clamp(16px, 2.2vw, 30px);
    padding: 10px 18px;
    border: 1px solid rgba(214,226,240,.72);
    border-radius: 999px;
    background: rgba(255,255,255,.58);
}

.rm-index-menu a {
    color: #223047;
    font-size: 14px;
    font-weight: 850;
    text-decoration: none;
}

.rm-index-menu a:hover {
    color: var(--idx-blue);
}

.rm-index-nav-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 20px;
    border-radius: 999px;
    color: #fff;
    background: #16b86f;
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 16px 34px rgba(22,184,111,.2);
}

.rm-index-nav-cta:hover {
    color: #fff;
    transform: translateY(-1px);
}

.rm-index-hero {
    position: relative;
    isolation: isolate;
    min-height: 600px;
    display: flex;
    align-items: center;
    padding: clamp(64px, 7vw, 92px) 0 clamp(62px, 6vw, 84px);
    background: #fff;
    overflow: hidden;
}

.rm-index-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(255,255,255,.9) 0%, rgba(255,255,255,.7) 48%, rgba(255,255,255,.22) 76%, rgba(255,255,255,.1) 100%),
        linear-gradient(180deg, rgba(255,255,255,.42) 0%, rgba(255,255,255,.18) 46%, rgba(255,255,255,.94) 100%),
        radial-gradient(circle at 16% 24%, rgba(31,111,255,.16), transparent 32%),
        radial-gradient(circle at 86% 16%, rgba(14,165,233,.18), transparent 36%);
}

.rm-index-hero-video {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .9;
    filter: saturate(1.06) contrast(1.04);
}

.rm-index-hero-noise {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(15,23,42,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15,23,42,.035) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: linear-gradient(180deg, #000 0%, transparent 92%);
}

.rm-index-hero-grid {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(0, 640px);
    gap: 0;
    align-items: center;
}

.rm-index-hero-copy {
    min-width: 0;
    padding: clamp(28px, 3.8vw, 44px);
    border: 1px solid rgba(214,226,240,.82);
    border-radius: 34px;
    background: linear-gradient(135deg, rgba(255,255,255,.86), rgba(255,255,255,.62));
    box-shadow: 0 32px 90px rgba(15,23,42,.13);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.rm-index-kicker {
    display: inline-flex;
    align-items: center;
    margin-bottom: 16px;
    padding: 8px 12px;
    border: 1px solid rgba(31,111,255,.18);
    border-radius: 999px;
    color: var(--idx-blue);
    background: rgba(255,255,255,.78);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.rm-index-hero-copy h1,
.rm-index-section h2,
.rm-index-final h2 {
    margin: 0;
    color: var(--idx-navy);
    font-weight: 950;
    letter-spacing: -.055em;
    line-height: .94;
}

.rm-index-hero-copy h1 {
    max-width: 580px;
    font-size: clamp(34px, 3.55vw, 50px);
    overflow-wrap: anywhere;
}

.rm-index-hero-copy p {
    max-width: 620px;
    margin: 24px 0 0;
    color: #435268;
    font-size: clamp(17px, 1.28vw, 20px);
    line-height: 1.6;
}

.rm-index-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}

.rm-index-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 0 24px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 900;
    text-decoration: none;
    letter-spacing: -.01em;
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}

.rm-index-btn-primary {
    color: #fff;
    background: var(--idx-red);
    box-shadow: 0 18px 38px rgba(227,30,36,.22);
}

.rm-index-btn-primary:hover {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 24px 48px rgba(227,30,36,.28);
}

.rm-index-btn-secondary {
    color: var(--idx-navy);
    background: #fff;
    border: 1px solid var(--idx-line);
    box-shadow: 0 14px 34px rgba(15,23,42,.08);
}

.rm-index-btn-secondary:hover {
    color: var(--idx-navy);
    transform: translateY(-2px);
}

.rm-index-btn-light {
    color: var(--idx-navy);
    background: #fff;
}

.rm-index-proof {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    max-width: 560px;
    margin: 28px 0 0;
}

.rm-index-proof div {
    padding: 14px 13px;
    border: 1px solid var(--idx-line);
    border-radius: 18px;
    background: rgba(255,255,255,.76);
    box-shadow: 0 18px 44px rgba(15,23,42,.06);
}

.rm-index-proof dt {
    color: var(--idx-blue);
    font-size: 23px;
    line-height: 1;
    font-weight: 950;
}

.rm-index-proof dd {
    margin: 7px 0 0;
    color: var(--idx-muted);
    font-size: 13px;
    font-weight: 750;
}

.rm-index-video-card {
    position: relative;
    display: none;
    border: 1px solid rgba(226,237,245,.9);
    border-radius: 30px;
    padding: 14px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 32px 90px rgba(15,23,42,.16);
    backdrop-filter: blur(18px);
}

.rm-index-video-card::before {
    content: '';
    position: absolute;
    inset: -26px -20px auto auto;
    width: 180px;
    height: 180px;
    z-index: -1;
    border-radius: 999px;
    background: rgba(31,111,255,.18);
    filter: blur(26px);
}

.rm-index-video-top {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px 13px;
}

.rm-index-video-top span {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #dbe6ef;
}

.rm-index-video-top span:first-child {
    background: var(--idx-red);
}

.rm-index-video-top strong {
    margin-left: auto;
    color: #526178;
    font-size: 12px;
    font-weight: 900;
}

.rm-index-video-frame {
    position: relative;
    overflow: hidden;
    border-radius: 22px;
    background: var(--idx-navy);
}

.rm-index-video-frame video {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    opacity: .95;
}

.rm-index-video-frame::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 45%, rgba(7,17,31,.72));
}

.rm-index-video-meta {
    position: absolute;
    left: 34px;
    right: 34px;
    bottom: 34px;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.rm-index-video-meta span {
    border-radius: 999px;
    padding: 8px 10px;
    color: #fff;
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.2);
    font-size: 11px;
    font-weight: 850;
    backdrop-filter: blur(10px);
}

.rm-index-section {
    padding: clamp(66px, 7vw, 96px) 0;
    background: #fff;
}

.rm-index-section-head {
    max-width: 760px;
    margin-bottom: 36px;
}

.rm-index-head-row {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 28px;
    max-width: none;
}

.rm-index-section h2,
.rm-index-final h2 {
    font-size: clamp(30px, 3.6vw, 48px);
}

.rm-index-section-head p,
.rm-index-geo p,
.rm-index-final p {
    margin: 18px 0 0;
    color: var(--idx-muted);
    font-size: 17px;
    line-height: 1.75;
}

.rm-index-text-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 18px;
    color: var(--idx-blue);
    background: #fff;
    border: 1px solid var(--idx-line);
    border-radius: 999px;
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 14px 34px rgba(15,23,42,.05);
}

.rm-index-services {
    position: relative;
    margin-top: -18px;
    border-radius: 34px 34px 0 0;
    background: linear-gradient(180deg, #fff 0%, #f7fbff 100%);
}

.rm-index-service-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.rm-index-service-card {
    position: relative;
    display: flex;
    min-height: 430px;
    flex-direction: column;
    overflow: hidden;
    padding: 18px;
    color: inherit;
    text-decoration: none;
    border: 1px solid var(--idx-line);
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(15,23,42,.06);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.rm-index-service-card:hover {
    color: inherit;
    transform: translateY(-6px);
    border-color: rgba(31,111,255,.25);
    box-shadow: 0 28px 70px rgba(15,23,42,.12);
}

.rm-index-service-card img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border-radius: 18px;
    background: var(--idx-soft);
}

.rm-index-card-icon {
    position: absolute;
    top: 30px;
    left: 30px;
    z-index: 2;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background:
        linear-gradient(135deg, var(--idx-blue), var(--idx-blue-2));
    box-shadow: 0 16px 32px rgba(31,111,255,.28);
}

.rm-index-card-icon::after {
    content: '';
    position: absolute;
    inset: 12px;
    border: 2px solid rgba(255,255,255,.82);
    border-radius: 8px;
}

.rm-index-service-card h3 {
    margin: 22px 0 0;
    color: var(--idx-navy);
    font-size: 24px;
    font-weight: 950;
    letter-spacing: -.035em;
}

.rm-index-service-card p {
    margin: 12px 0 22px;
    color: var(--idx-muted);
    font-size: 15px;
    line-height: 1.65;
}

.rm-index-service-card strong {
    margin-top: auto;
    color: var(--idx-red);
    font-size: 14px;
    font-weight: 950;
}

.rm-index-geo {
    background:
        radial-gradient(circle at 16% 0%, rgba(31,111,255,.12), transparent 30%),
        linear-gradient(180deg, #f7fbff 0%, #fff 100%);
}

.rm-index-geo-grid {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: clamp(34px, 5vw, 72px);
    align-items: center;
}

.rm-index-geo-panel {
    display: grid;
    gap: 14px;
}

.rm-index-geo-panel article {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 6px 18px;
    padding: 24px;
    border: 1px solid var(--idx-line);
    border-radius: 24px;
    background: rgba(255,255,255,.82);
    box-shadow: 0 18px 50px rgba(15,23,42,.06);
}

.rm-index-geo-panel span {
    grid-row: span 2;
    display: inline-flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    color: #fff;
    background: var(--idx-navy);
    font-weight: 950;
}

.rm-index-geo-panel strong {
    color: var(--idx-navy);
    font-size: 18px;
    font-weight: 950;
}

.rm-index-geo-panel p {
    margin: 0;
    font-size: 14px;
}

.rm-index-process {
    background: #fff;
}

.rm-index-process-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.rm-index-process-grid article,
.rm-index-blog-card {
    border: 1px solid var(--idx-line);
    border-radius: 24px;
    padding: 24px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(15,23,42,.06);
}

.rm-index-process-grid span,
.rm-index-blog-card span {
    display: inline-flex;
    color: var(--idx-blue);
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.rm-index-process-grid h3,
.rm-index-blog-card h3 {
    margin: 18px 0 10px;
    color: var(--idx-navy);
    font-size: 21px;
    font-weight: 950;
    letter-spacing: -.025em;
}

.rm-index-process-grid p,
.rm-index-blog-card p {
    margin: 0;
    color: var(--idx-muted);
    font-size: 14px;
    line-height: 1.65;
}

.rm-index-work {
    background: var(--idx-soft);
}

.rm-index-work-grid {
    display: grid;
    grid-template-columns: 1.2fr .9fr .9fr;
    gap: 18px;
}

.rm-index-work-card {
    position: relative;
    min-height: 420px;
    overflow: hidden;
    border-radius: 28px;
    background: var(--idx-navy);
    color: #fff;
    text-decoration: none;
}

.rm-index-work-card:nth-child(n+2) {
    min-height: 320px;
}

.rm-index-work-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .78;
    transition: transform .35s ease;
}

.rm-index-work-card:hover img {
    transform: scale(1.04);
}

.rm-index-work-card div {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 28px;
    background: linear-gradient(180deg, transparent 22%, rgba(7,17,31,.88));
}

.rm-index-work-card h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 26px;
    font-weight: 950;
    letter-spacing: -.035em;
}

.rm-index-work-card p {
    margin: 0;
    color: rgba(255,255,255,.76);
}

.rm-index-blog {
    background: #fff;
}

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

.rm-index-blog-card {
    display: block;
    min-height: 240px;
    color: inherit;
    text-decoration: none;
    transition: transform .22s ease, box-shadow .22s ease;
}

.rm-index-blog-card:hover {
    color: inherit;
    transform: translateY(-5px);
    box-shadow: 0 28px 70px rgba(15,23,42,.11);
}

.rm-index-final {
    padding: 0 0 clamp(76px, 8vw, 116px);
    background: #fff;
}

.rm-index-final-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 34px;
    padding: clamp(36px, 5vw, 68px);
    border-radius: 32px;
    color: #fff;
    background:
        radial-gradient(circle at 88% 8%, rgba(31,111,255,.44), transparent 34%),
        linear-gradient(135deg, #07111f 0%, #102947 100%);
    box-shadow: 0 30px 90px rgba(15,23,42,.22);
}

.rm-index-final h2 {
    max-width: 780px;
    color: #fff;
}

.rm-index-final p {
    max-width: 780px;
    color: rgba(255,255,255,.74);
}

@media (max-width: 1024px) {
    .rm-index-hero-grid,
    .rm-index-geo-grid {
        grid-template-columns: 1fr;
    }

    .rm-index-video-frame video {
        aspect-ratio: 16 / 10;
    }

    .rm-index-service-grid,
    .rm-index-blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rm-index-process-grid,
    .rm-index-work-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .rm-index-wrap {
        width: min(100% - 24px, 1200px);
    }

    .rm-index-hero {
        min-height: 560px;
        padding: 42px 0 56px;
    }

    .rm-index-hero::before {
        background:
            linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.72) 52%, rgba(255,255,255,.98) 100%),
            linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.58) 100%);
    }

    .rm-index-hero-video {
        opacity: .72;
    }

    .rm-index-hero-copy h1 {
        max-width: 100%;
        font-size: clamp(29px, 8vw, 34px);
        letter-spacing: -.04em;
        line-height: 1.06;
        overflow-wrap: normal;
    }

    .rm-index-hero-copy {
        padding: 24px 18px;
        border-radius: 26px;
    }

    .rm-index-kicker {
        margin-bottom: 12px;
        font-size: 10px;
    }

    .rm-index-actions,
    .rm-index-proof,
    .rm-index-service-grid,
    .rm-index-process-grid,
    .rm-index-work-grid,
    .rm-index-blog-grid,
    .rm-index-head-row,
    .rm-index-final-panel {
        display: grid;
        grid-template-columns: 1fr;
    }

    .rm-index-btn,
    .rm-index-text-link {
        width: 100%;
    }

    .rm-index-service-card {
        min-height: auto;
    }

    .rm-index-geo-panel article {
        grid-template-columns: 1fr;
    }

    .rm-index-work-card,
    .rm-index-work-card:nth-child(n+2) {
        min-height: 320px;
    }

    .rm-index-nav-inner {
        min-height: 68px;
    }

    .rm-index-brand img {
        max-width: 160px;
        max-height: 44px;
    }

    .rm-index-menu {
        display: none;
    }

    .rm-index-nav-cta {
        min-height: 38px;
        padding: 0 14px;
        font-size: 12px;
    }

    .rm-index-actions,
    .rm-index-hero-copy,
    .rm-index-hero-copy p,
    .rm-index-video-card {
        width: 100%;
        max-width: 100%;
    }
}

/* Pico-inspired index final overrides */
.rm-index {
    --idx-red: #ef4444;
    --idx-red-dark: #dc2626;
    --idx-ink: #0f172a;
    --idx-muted: #64748b;
    --idx-line: #e2e8f0;
    background: #fff;
    color: var(--idx-ink);
    font-family: 'Inter', 'Plus Jakarta Sans', sans-serif;
}

.rm-index-nav {
    position: fixed;
    inset: 0 0 auto;
    z-index: 1000;
    background: transparent;
    border-bottom: 1px solid transparent;
    box-shadow: none;
    backdrop-filter: blur(0);
    -webkit-backdrop-filter: blur(0);
    transition: background .32s ease, border-color .32s ease, box-shadow .32s ease, backdrop-filter .32s ease;
}

.rm-index-nav.is-scrolled {
    background: rgba(255,255,255,.88);
    border-bottom-color: rgba(239,68,68,.14);
    box-shadow: 0 18px 46px rgba(15,23,42,.08);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.rm-index-nav-inner {
    min-height: 78px;
}

.rm-index-brand img {
    max-width: 190px;
    max-height: 52px;
}

.rm-index-menu {
    gap: 30px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.rm-index-menu a {
    position: relative;
    color: #475569;
    font-size: 14px;
    font-weight: 750;
}

.rm-index-menu a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -7px;
    width: 0;
    height: 2px;
    background: var(--idx-red);
    transition: width .26s ease;
}

.rm-index-menu a:hover {
    color: var(--idx-red);
}

.rm-index-menu a:hover::after {
    width: 100%;
}

.rm-index-nav-cta,
.rm-index-btn-primary,
.rm-index-btn-light {
    color: #fff;
    background: linear-gradient(135deg, var(--idx-red), var(--idx-red-dark));
    box-shadow: 0 12px 28px rgba(239,68,68,.28);
}

.rm-index-nav-cta,
.rm-index-btn {
    border-radius: 8px;
}

.rm-index-hero {
    min-height: 100vh;
    padding: 120px 0 76px;
    justify-content: center;
    text-align: center;
    background: #fff;
}

.rm-index-hero::before {
    z-index: 1;
    background:
        linear-gradient(to top, rgba(255,255,255,.94) 0%, rgba(255,255,255,.68) 54%, rgba(255,255,255,.42) 100%),
        radial-gradient(circle at 50% 42%, rgba(239,68,68,.08), transparent 36%);
}

.rm-index-hero-video {
    z-index: 0;
    opacity: .82;
    filter: saturate(1.03) contrast(1.02);
}

.rm-index-hero-noise {
    z-index: 2;
    opacity: .45;
    background-image:
        linear-gradient(rgba(15,23,42,.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15,23,42,.03) 1px, transparent 1px);
    background-size: 56px 56px;
}

.rm-index-hero-grid {
    display: flex;
    justify-content: center;
}

.rm-index-hero-copy {
    width: min(100%, 980px);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.rm-index-kicker {
    margin-bottom: 26px;
    padding: 8px 16px;
    border: 1px solid rgba(239,68,68,.22);
    color: var(--idx-red-dark);
    background: rgba(254,242,242,.84);
    font-size: 13px;
    font-weight: 750;
    letter-spacing: .01em;
    text-transform: none;
}

.rm-index-hero-copy h1 {
    max-width: 940px;
    margin-inline: auto;
    color: var(--idx-ink);
    font-family: 'Outfit', 'Plus Jakarta Sans', 'Inter', sans-serif;
    font-size: clamp(48px, 7.2vw, 96px);
    font-weight: 800;
    letter-spacing: -.055em;
    line-height: .94;
}

.rm-index-hero-copy h1 span {
    color: var(--idx-red);
}

.rm-index-hero-copy p {
    max-width: 710px;
    margin: 26px auto 0;
    color: #475569;
    font-size: clamp(18px, 1.55vw, 22px);
    line-height: 1.72;
}

.rm-index-actions {
    justify-content: center;
    margin-top: 38px;
}

.rm-index-btn {
    min-height: 54px;
    padding: 0 34px;
    font-weight: 750;
}

.rm-index-btn-secondary {
    color: var(--idx-red-dark);
    background: rgba(255,255,255,.62);
    border: 1px solid rgba(239,68,68,.36);
    box-shadow: none;
}

.rm-index-hero-line {
    width: 1px;
    height: 76px;
    margin: 64px auto 0;
    background: linear-gradient(to bottom, transparent, var(--idx-red), transparent);
    animation: rmIndexLinePulse 3s ease-in-out infinite;
}

@keyframes rmIndexLinePulse {
    0%, 100% { opacity: .35; transform: scaleY(.78); }
    50% { opacity: 1; transform: scaleY(1); }
}

.rm-index-tech {
    overflow: hidden;
    padding: 28px 0;
    border-top: 1px solid var(--idx-line);
    border-bottom: 1px solid var(--idx-line);
    background: rgba(248,250,252,.78);
}

.rm-index-tech-track {
    display: flex;
    width: max-content;
    animation: rmIndexMarquee 32s linear infinite;
}

.rm-index-tech-track span {
    margin-inline: 32px;
    color: #64748b;
    font-family: 'Outfit', 'Plus Jakarta Sans', 'Inter', sans-serif;
    font-size: 22px;
    font-weight: 800;
    white-space: nowrap;
    opacity: .62;
}

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

.rm-index-section {
    padding: 96px 0;
}

.rm-index-section-head {
    max-width: 760px;
    margin: 0 auto 58px;
    text-align: center;
}

.rm-index-head-row {
    display: block;
    max-width: 860px;
}

.rm-index-section h2,
.rm-index-final h2 {
    color: var(--idx-ink);
    font-family: 'Outfit', 'Plus Jakarta Sans', 'Inter', sans-serif;
    font-size: clamp(36px, 4.2vw, 58px);
    font-weight: 800;
    letter-spacing: -.045em;
    line-height: 1.03;
}

.rm-index-section-head p,
.rm-index-geo p,
.rm-index-final p {
    color: #64748b;
    font-size: 16px;
    line-height: 1.75;
}

.rm-index-text-link {
    margin-top: 26px;
    color: var(--idx-red-dark);
    border-color: rgba(239,68,68,.38);
    border-radius: 8px;
}

.rm-index-services {
    margin-top: 0;
    border-radius: 0;
    background: #fff;
}

.rm-index-service-grid {
    counter-reset: rm-service;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.rm-index-service-card {
    counter-increment: rm-service;
    min-height: 0;
    padding: 0;
    border: 1px solid rgba(226,232,240,.9);
    border-radius: 16px;
    background: rgba(248,250,252,.82);
    box-shadow: none;
}

.rm-index-service-card::before {
    content: '';
    position: absolute;
    inset: 0 0 auto;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--idx-red), transparent);
    opacity: 0;
    transition: opacity .32s ease;
}

.rm-index-service-card::after {
    content: counter(rm-service, decimal-leading-zero);
    position: absolute;
    right: 24px;
    top: 205px;
    color: rgba(239,68,68,.1);
    font-family: 'Outfit', 'Plus Jakarta Sans', 'Inter', sans-serif;
    font-size: 68px;
    font-weight: 800;
    line-height: 1;
    pointer-events: none;
}

.rm-index-service-card:hover {
    transform: translateY(-8px);
    border-color: rgba(239,68,68,.34);
    box-shadow: 0 24px 44px rgba(15,23,42,.09), 0 0 42px rgba(239,68,68,.06);
}

.rm-index-service-card:hover::before {
    opacity: 1;
}

.rm-index-service-card img {
    width: 100%;
    height: 185px;
    margin: 0;
    border-radius: 0;
    object-fit: cover;
    opacity: .92;
}

.rm-index-card-icon {
    display: none;
}

.rm-index-service-card h3,
.rm-index-service-card p,
.rm-index-service-card strong {
    position: relative;
    z-index: 1;
    margin-left: 28px;
    margin-right: 28px;
}

.rm-index-service-card h3 {
    margin-top: 30px;
    color: var(--idx-ink);
    font-family: 'Outfit', 'Plus Jakarta Sans', 'Inter', sans-serif;
    font-size: 22px;
    font-weight: 700;
}

.rm-index-service-card p {
    margin-top: 12px;
    color: #64748b;
    font-size: 14px;
    line-height: 1.72;
}

.rm-index-service-card strong {
    display: inline-flex;
    margin-top: 20px;
    margin-bottom: 30px;
    color: var(--idx-red);
    font-size: 14px;
    font-weight: 750;
}

.rm-index-geo,
.rm-index-blog {
    background: #f8fafc;
}

.rm-index-process-grid article,
.rm-index-blog-card,
.rm-index-geo-panel article {
    border-radius: 16px;
    border-color: rgba(226,232,240,.9);
    background: rgba(255,255,255,.84);
    box-shadow: none;
}

.rm-index-process-grid span,
.rm-index-blog-card span,
.rm-index-geo-panel span {
    color: var(--idx-red);
}

.rm-index-final {
    padding-top: 96px;
    background: #fff;
}

.rm-index-final-panel {
    border-radius: 18px;
    background:
        radial-gradient(circle at 50% 0%, rgba(239,68,68,.12), transparent 36%),
        linear-gradient(135deg, #fff 0%, #f8fafc 100%);
    border: 1px solid var(--idx-line);
    color: var(--idx-ink);
    box-shadow: none;
}

.rm-index-final h2 {
    color: var(--idx-ink);
}

.rm-index-final p {
    color: #64748b;
}

@media (max-width: 1024px) {
    .rm-index-menu { gap: 18px; }
    .rm-index-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .rm-index-nav {
        background: rgba(255,255,255,.88);
        border-bottom-color: rgba(226,232,240,.9);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
    }

    .rm-index-nav-inner { min-height: 68px; }
    .rm-index-brand img { max-width: 158px; max-height: 42px; }
    .rm-index-menu { display: none; }
    .rm-index-nav-cta { display: inline-flex; min-height: 38px; padding: 0 14px; font-size: 12px; }

    .rm-index-hero {
        min-height: 92vh;
        padding: 102px 0 46px;
    }

    .rm-index-hero::before {
        background:
            linear-gradient(to top, rgba(255,255,255,.96) 0%, rgba(255,255,255,.78) 55%, rgba(255,255,255,.58) 100%),
            radial-gradient(circle at 50% 36%, rgba(239,68,68,.08), transparent 40%);
    }

    .rm-index-hero-video { opacity: .58; }
    .rm-index-kicker { margin-bottom: 18px; font-size: 12px; }

    .rm-index-hero-copy h1 {
        max-width: 100%;
        font-size: clamp(42px, 13vw, 58px);
        line-height: .94;
    }

    .rm-index-hero-copy p {
        margin-top: 22px;
        font-size: 17px;
        line-height: 1.65;
    }

    .rm-index-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 30px;
    }

    .rm-index-btn { width: 100%; }
    .rm-index-hero-line { height: 54px; margin-top: 42px; }
    .rm-index-tech { padding: 22px 0; }
    .rm-index-tech-track span { margin-inline: 22px; font-size: 18px; }
    .rm-index-section { padding: 72px 0; }
    .rm-index-section-head { margin-bottom: 36px; text-align: left; }

    .rm-index-section h2,
    .rm-index-final h2 {
        font-size: clamp(32px, 9vw, 42px);
    }

    .rm-index-service-grid,
    .rm-index-process-grid,
    .rm-index-work-grid,
    .rm-index-blog-grid,
    .rm-index-geo-grid,
    .rm-index-final-panel {
        display: grid;
        grid-template-columns: 1fr;
    }

    .rm-index-service-card::after {
        top: 202px;
        font-size: 58px;
    }
}

/* Header polish final tail overrides: glass on hero, solid after scroll */
.rm-index-topbar {
    border-bottom: 1px solid rgba(255,255,255,.28);
    background: rgba(255,255,255,.28);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.rm-index-topbar-inner {
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    color: rgba(15,23,42,.72);
    font-size: 12px;
    font-weight: 700;
}

.rm-index-topbar-inner div {
    display: flex;
    align-items: center;
    gap: 20px;
}

.rm-index-topbar-inner a {
    color: rgba(15,23,42,.76);
    text-decoration: none;
}

.rm-index-topbar-inner a:hover {
    color: var(--idx-red);
}

.rm-index-nav {
    background: rgba(255,255,255,.34);
    border-bottom-color: rgba(255,255,255,.32);
    box-shadow: 0 16px 46px rgba(15,23,42,.06);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
}

.rm-index-nav.is-scrolled {
    background: rgba(255,255,255,.94);
    border-bottom-color: rgba(226,232,240,.92);
    box-shadow: 0 18px 48px rgba(15,23,42,.1);
}

.rm-index-nav.is-scrolled .rm-index-topbar {
    background: rgba(248,250,252,.88);
    border-bottom-color: rgba(226,232,240,.88);
}

.rm-index-nav.is-scrolled .rm-index-topbar-inner,
.rm-index-nav.is-scrolled .rm-index-topbar-inner a {
    color: #64748b;
}

.rm-index-nav-cta {
    min-width: 108px;
}

.rm-index-actions .rm-index-btn-primary::before,
.rm-index-nav-cta::before,
.rm-index-final .rm-index-btn-light::before {
    content: '';
    width: 8px;
    height: 8px;
    margin-right: 9px;
    border-radius: 999px;
    background: #25d366;
    box-shadow: 0 0 0 4px rgba(37,211,102,.18);
}

.rm-index-hero {
    padding-top: 154px;
}

@media (max-width: 760px) {
    .rm-index-topbar {
        display: none;
    }

    .rm-index-nav {
        background: rgba(255,255,255,.74);
        border-bottom-color: rgba(226,232,240,.72);
    }

    .rm-index-nav.is-scrolled {
        background: rgba(255,255,255,.94);
    }

    .rm-index-hero {
        padding-top: 104px;
    }

    .rm-index-nav-cta {
        min-width: 96px;
    }
}

.rm-index-actions .rm-index-btn-primary::before {
    content: none;
}

/* 2026-05-16: RoyalMedia index header/content correction */
.rm-index {
    overflow: visible !important;
}

.rm-index-nav {
    position: sticky !important;
    top: -42px !important;
    z-index: 1000;
    background: rgba(255,255,255,.97) !important;
    border-bottom: 1px solid rgba(226,232,240,.92) !important;
    box-shadow: 0 14px 38px rgba(15,23,42,.06) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.rm-index-nav.is-scrolled {
    background: rgba(255,255,255,.94) !important;
    border-bottom-color: rgba(226,232,240,.92) !important;
    box-shadow: 0 18px 44px rgba(15,23,42,.12) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.rm-index-topbar {
    background: #07111f !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.rm-index-topbar-inner {
    min-height: 42px;
    color: rgba(255,255,255,.78) !important;
    font-size: 12px;
    font-weight: 700;
}

.rm-index-topbar-left,
.rm-index-topbar-contact {
    display: flex;
    align-items: center;
}

.rm-index-topbar-left {
    gap: 10px !important;
    flex-wrap: wrap;
}

.rm-index-topbar-left strong {
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.rm-index-topbar-left span {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 10px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    background: rgba(255,255,255,.06);
    color: rgba(255,255,255,.78);
    line-height: 1;
    white-space: nowrap;
}

.rm-index-topbar-contact {
    gap: 18px !important;
    white-space: nowrap;
}

.rm-index-topbar-inner a {
    color: rgba(255,255,255,.72) !important;
}

.rm-index-topbar-inner a:hover {
    color: #fff !important;
}

.rm-index-nav-inner {
    min-height: 82px;
    border-bottom: 0;
    background: transparent;
    box-shadow: none;
    transition: min-height .24s ease, box-shadow .24s ease, background .24s ease;
}

.rm-index-nav.is-scrolled .rm-index-nav-inner {
    min-height: 72px;
    background: transparent;
    box-shadow: none;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.rm-index-hero {
    min-height: calc(100vh - 124px);
    padding-top: 74px !important;
}

.rm-index-kicker {
    color: #b91c1c;
    background: rgba(254,242,242,.9);
}

.rm-index-service-card img {
    background: #e2e8f0;
}

.rm-index-proof {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    width: min(100%, 720px);
    margin: 30px auto 0;
}

.rm-index-proof div {
    min-height: 78px;
    padding: 16px 18px;
    border: 1px solid rgba(255,255,255,.58);
    border-radius: 14px;
    background: rgba(255,255,255,.68);
    box-shadow: 0 18px 40px rgba(15,23,42,.08);
    text-align: left;
}

.rm-index-proof dt {
    margin: 0;
    color: var(--idx-red-dark);
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}

.rm-index-proof dd {
    margin: 4px 0 0;
    color: #334155;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.25;
}

.rm-index-service-visual {
    position: relative;
    display: flex;
    height: 172px;
    align-items: flex-end;
    justify-content: space-between;
    padding: 22px;
    overflow: hidden;
    background:
        radial-gradient(circle at 88% 10%, rgba(239,68,68,.28), transparent 34%),
        linear-gradient(135deg, #07111f 0%, #163152 100%);
}

.rm-index-service-visual::before {
    content: '';
    position: absolute;
    inset: 18px 18px auto auto;
    width: 118px;
    height: 118px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
}

.rm-index-service-visual i {
    position: relative;
    z-index: 1;
    display: inline-flex;
    width: 62px;
    height: 62px;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    color: #fff;
    background: linear-gradient(135deg, var(--idx-red), var(--idx-red-dark));
    box-shadow: 0 20px 42px rgba(239,68,68,.28);
    font-size: 24px;
}

.rm-index-service-visual span {
    position: relative;
    z-index: 1;
    color: rgba(255,255,255,.74);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

@media (max-width: 1024px) {
    .rm-index-topbar-inner {
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        gap: 8px;
        padding: 10px 0;
    }

    .rm-index-topbar-contact {
        gap: 12px !important;
    }
}

@media (max-width: 760px) {
    .rm-index-topbar {
        display: none !important;
    }

    .rm-index-nav {
        position: sticky !important;
        top: 0 !important;
        background: rgba(255,255,255,.98) !important;
    }

    .rm-index-nav-inner {
        min-height: 72px;
        box-shadow: 0 12px 30px rgba(15,23,42,.09);
    }

    .rm-index-nav-cta {
        display: none !important;
    }

    .rm-index-hero {
        min-height: calc(100vh - 72px);
        padding-top: 58px !important;
        overflow: hidden;
    }

    .rm-index-hero-grid {
        width: 100% !important;
        max-width: 100% !important;
    }

    .rm-index-hero-copy {
        width: 100%;
        max-width: 100%;
    }

    .rm-index-hero-copy h1 {
        max-width: min(100%, 310px);
        margin-inline: auto;
        font-size: clamp(28px, 8vw, 32px) !important;
        line-height: 1.08 !important;
        letter-spacing: -.02em;
        overflow-wrap: break-word;
        text-wrap: balance;
    }

    .rm-index-hero-copy p {
        max-width: min(100%, 310px);
        margin-inline: auto;
        font-size: 15px !important;
        line-height: 1.56 !important;
    }

    .rm-index-actions {
        width: 100%;
        max-width: 260px;
        margin-inline: auto;
    }

    .rm-index-btn {
        max-width: 100%;
        padding-inline: 18px !important;
    }

    .rm-index-proof {
        grid-template-columns: 1fr;
        max-width: 290px;
        gap: 8px;
        margin-top: 22px;
    }

    .rm-index-proof div {
        min-height: 0;
        padding: 12px 14px;
        text-align: center;
    }

    .rm-index-proof dd {
        font-size: 13px;
    }

    .rm-index-service-visual {
        height: 150px;
    }
}
