/*
Theme Name: Relax Renew Medical Massage
Theme URI: https://rrmmassage.com/
Author: Midwest Horizons Marketing
Description: Production WordPress theme for Relax Renew Medical Massage, based on the approved animated sample.
Version: 2.6.0
Text Domain: relax-renew
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');

#rrm-site,
#rrm-site * {
    box-sizing: border-box;
}

#rrm-site {
    --orange:#ff5a00;
    --orange2:#ff8738;
    --black:#070707;
    --dark:#111111;
    --white:#ffffff;
    --soft:#f5f5f5;
    --gray:#707070;
    --shadow:0 25px 70px rgba(0,0,0,.15);

    margin:0;
    padding:0;
    width:100%;
    overflow:hidden;
    background:#fff;
    color:#111;
    font-family:"DM Sans",Arial,sans-serif;
    line-height:1.6;
}

#rrm-site a {
    text-decoration:none;
    color:inherit;
}

#rrm-site .rrm-wrap {
    width:min(1160px,calc(100% - 34px));
    margin:auto;
}

/* =========================================
   MOVING TOP BAR
========================================= */

#rrm-site .rrm-topbar {
    height:60px;
    overflow:hidden;
    display:flex;
    align-items:center;
    position:relative;
    z-index:1000;

    background:
        linear-gradient(
            90deg,
            #000 0%,
            #111 30%,
            #ff5a00 50%,
            #111 70%,
            #000 100%
        );

    background-size:240% 100%;
    animation:rrmTopGlow 10s linear infinite;

    box-shadow:0 10px 30px rgba(0,0,0,.25);
}

@keyframes rrmTopGlow {
    from {background-position:0 0;}
    to {background-position:240% 0;}
}

#rrm-site .rrm-marquee {
    white-space:nowrap;
    overflow:hidden;
    width:100%;
}

#rrm-site .rrm-track {
    display:inline-flex;
    min-width:max-content;
    animation:rrmMarquee 30s linear infinite;
}

#rrm-site .rrm-track span {
    display:inline-block;
    padding:0 42px;
    color:#fff;
    font-size:12px;
    line-height:60px;
    letter-spacing:.12em;
    text-transform:uppercase;
    font-weight:700;
}

#rrm-site .rrm-track span:nth-child(even) {
    color:#ffc39c;
}

@keyframes rrmMarquee {
    from {transform:translateX(0);}
    to {transform:translateX(-50%);}
}

/* =========================================
   NAVIGATION
========================================= */

#rrm-site .rrm-header {
    position:absolute !important;
    top:60px !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    z-index:999 !important;
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
}

#rrm-site .rrm-nav {
    min-height:90px;
    padding:16px 22px;

    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;

    background:rgba(4,4,4,.83);
    border:1px solid rgba(255,255,255,.13);
    border-top:none;
    border-radius:0 0 24px 24px;

    backdrop-filter:blur(18px);
    box-shadow:0 20px 60px rgba(0,0,0,.32);
}

#rrm-site .rrm-logo {
    display:flex;
    align-items:center;
    gap:11px;
    color:#fff;
    flex-shrink:0;
}

#rrm-site .rrm-logo-mark {
    width:48px;
    height:48px;

    display:grid;
    place-items:center;

    border-radius:50%;
    border:1px solid rgba(255,255,255,.5);

    background:rgba(255,90,0,.12);

    font-family:"Playfair Display",Georgia,serif;
    font-size:20px;

    box-shadow:
        0 0 0 5px rgba(255,90,0,.06),
        0 12px 30px rgba(0,0,0,.3);
}

#rrm-site .rrm-logo strong {
    display:block;
    font-family:"Playfair Display",Georgia,serif;
    font-size:20px;
    line-height:1;
}

#rrm-site .rrm-logo small {
    display:block;
    margin-top:4px;

    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.18em;
    opacity:.7;
}

#rrm-site .rrm-menu {
    display:flex !important;
    align-items:center;
    gap:5px;

    padding:7px;

    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.1);
    border-radius:999px;
}

#rrm-site .rrm-menu a {
    color:#fff !important;
    padding:10px 13px;
    border-radius:999px;

    font-size:11px;
    font-weight:700;

    transition:.25s;
}

#rrm-site .rrm-menu a:hover {
    background:var(--orange);
    color:#fff !important;
    transform:translateY(-1px);
}

#rrm-site .rrm-nav-cta {
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:14px 19px;

    color:#fff !important;

    border-radius:999px;

    background:
        linear-gradient(
            135deg,
            var(--orange2),
            var(--orange)
        );

    font-size:11px;
    font-weight:800;

    box-shadow:0 14px 35px rgba(255,90,0,.3);

    flex-shrink:0;
}

/* =========================================
   HERO
========================================= */

#rrm-site .rrm-hero {
    min-height:850px;

    position:relative;
    display:flex;
    align-items:center;
    overflow:hidden;

    padding-top:125px;

    color:#fff;

    background:

        linear-gradient(
            90deg,
            rgba(0,0,0,.97) 0%,
            rgba(0,0,0,.86) 43%,
            rgba(0,0,0,.25) 100%
        ),

        url("https://images.unsplash.com/photo-1519823551278-64ac92734fb1?auto=format&fit=crop&w=1900&q=88")
        center / cover no-repeat;
}

#rrm-site .rrm-hero:after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:150px;

    background:linear-gradient(transparent,#fff);
    z-index:3;
}

/* light sweep */

#rrm-site .rrm-sweep {
    position:absolute;
    inset:0;
    z-index:1;

    background:
        linear-gradient(
            115deg,
            transparent 0 35%,
            rgba(255,255,255,.06) 40%,
            transparent 46% 100%
        );

    background-size:230% 100%;

    animation:rrmSweep 9s ease-in-out infinite;
}

@keyframes rrmSweep {

    0%,18% {
        background-position:160% 0;
    }

    60%,100% {
        background-position:-80% 0;
    }

}

/* orange glow */

#rrm-site .rrm-glow {
    position:absolute;

    width:480px;
    height:480px;

    top:100px;
    right:-90px;

    border-radius:50%;

    background:rgba(255,90,0,.25);

    filter:blur(55px);

    animation:rrmGlow 10s ease-in-out infinite;
}

@keyframes rrmGlow {

    0%,100% {
        transform:translate(0,0) scale(1);
    }

    50% {
        transform:translate(-80px,30px) scale(1.18);
    }

}

/* rings */

#rrm-site .rrm-ring {
    position:absolute;

    width:470px;
    height:470px;

    right:6%;
    top:160px;

    border:1px solid rgba(255,255,255,.14);
    border-radius:50%;

    animation:rrmSpin 25s linear infinite;
}

#rrm-site .rrm-ring:before {
    content:"";

    position:absolute;

    width:11px;
    height:11px;

    top:10%;
    left:20%;

    border-radius:50%;

    background:var(--orange);

    box-shadow:0 0 25px var(--orange);
}

@keyframes rrmSpin {
    to {transform:rotate(360deg);}
}

#rrm-site .rrm-hero-content {
    position:relative;
    z-index:6;

    max-width:740px;
}

#rrm-site .rrm-badge {
    display:inline-flex;
    align-items:center;
    gap:9px;

    padding:9px 14px;
    margin-bottom:15px;

    border:1px solid rgba(255,255,255,.23);
    border-radius:999px;

    background:rgba(0,0,0,.4);

    backdrop-filter:blur(12px);

    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-weight:800;

    animation:rrmFloat 3s ease-in-out infinite;
}

#rrm-site .rrm-badge:before {
    content:"";

    width:8px;
    height:8px;

    border-radius:50%;

    background:var(--orange);

    box-shadow:
        0 0 0 6px rgba(255,90,0,.12),
        0 0 20px var(--orange);
}

@keyframes rrmFloat {

    0%,100% {transform:translateY(0);}
    50% {transform:translateY(-4px);}

}

#rrm-site .rrm-kicker {
    display:flex;
    align-items:center;
    gap:10px;

    color:#efefef;

    text-transform:uppercase;
    letter-spacing:.16em;

    font-size:11px;
    font-weight:700;
}

#rrm-site .rrm-kicker:before {
    content:"";
    width:35px;
    height:2px;
    background:var(--orange);
}

#rrm-site h1,
#rrm-site h2,
#rrm-site h3 {
    font-family:"Playfair Display",Georgia,serif;
}

#rrm-site .rrm-hero h1 {
    margin:20px 0 22px;

    font-size:clamp(50px,7.5vw,88px);
    line-height:1.02;

    color:#fff;

    text-shadow:0 18px 50px rgba(0,0,0,.4);
}

#rrm-site .rrm-hero h1 em {
    color:#ff7418;
    font-weight:600;

    text-shadow:0 0 35px rgba(255,90,0,.22);
}

#rrm-site .rrm-hero-copy {
    max-width:630px;

    color:#eee;

    font-size:18px;
}

#rrm-site .rrm-actions {
    display:flex;
    gap:12px;
    flex-wrap:wrap;

    margin-top:30px;
}

#rrm-site .rrm-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:15px 24px;

    border-radius:999px;

    background:
        linear-gradient(
            135deg,
            var(--orange2),
            var(--orange)
        );

    color:#fff !important;

    font-size:13px;
    font-weight:800;

    box-shadow:0 15px 40px rgba(255,90,0,.28);

    transition:.3s;
}

#rrm-site .rrm-btn:hover {
    transform:translateY(-4px) scale(1.02);

    box-shadow:
        0 24px 55px rgba(255,90,0,.36);
}

#rrm-site .rrm-btn-outline {
    background:rgba(0,0,0,.3);

    border:1px solid rgba(255,255,255,.4);

    box-shadow:none;
}

#rrm-site .rrm-stats {
    display:flex;
    gap:38px;

    margin-top:45px;
    padding:24px 27px;

    max-width:700px;

    border:1px solid rgba(255,255,255,.16);
    border-radius:22px;

    background:rgba(0,0,0,.42);

    backdrop-filter:blur(14px);
}

#rrm-site .rrm-stat strong {
    display:block;

    color:#fff;

    font-family:"Playfair Display",serif;
    font-size:27px;
}

#rrm-site .rrm-stat span {
    color:#bbb;

    font-size:9px;

    text-transform:uppercase;
    letter-spacing:.12em;
}

/* =========================================
   QUICK SERVICES
========================================= */

#rrm-site .rrm-quick {
    position:relative;
    z-index:10;

    margin-top:-42px;
}

#rrm-site .rrm-quick-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);

    overflow:hidden;

    background:#fff;

    border-radius:22px;

    box-shadow:0 25px 75px rgba(0,0,0,.14);
}

#rrm-site .rrm-quick-card {
    display:flex;
    align-items:center;
    gap:13px;

    padding:27px 22px;

    border-right:1px solid #eee;

    transition:.3s;
}

#rrm-site .rrm-quick-card:hover {
    background:#fff6f0;
    transform:translateY(-3px);
}

#rrm-site .rrm-icon {
    width:46px;
    height:46px;

    display:grid;
    place-items:center;

    flex-shrink:0;

    border-radius:50%;

    background:
        linear-gradient(
            135deg,
            #fff2e9,
            #ffd5b7
        );

    color:var(--orange);

    font-size:19px;
}

#rrm-site .rrm-quick-card strong {
    display:block;
    color:#111;
    font-size:13px;
}

#rrm-site .rrm-quick-card small {
    display:block;
    color:#777;
    font-size:10px;
}

/* =========================================
   GENERAL SECTIONS
========================================= */

#rrm-site .rrm-section {
    padding:95px 0;
}

#rrm-site .rrm-label {
    margin-bottom:13px;

    color:var(--orange);

    font-size:10px;
    font-weight:800;

    letter-spacing:.16em;
    text-transform:uppercase;
}

#rrm-site .rrm-title {
    margin:0 0 22px;

    color:#111;

    font-size:clamp(38px,5vw,60px);
    line-height:1.08;
}

#rrm-site .rrm-title em {
    color:var(--orange);
}

#rrm-site .rrm-title:after {
    content:"";

    display:block;

    width:55px;
    height:3px;

    margin-top:18px;

    border-radius:100px;

    background:
        linear-gradient(
            90deg,
            var(--orange),
            #ff9b5c
        );
}

#rrm-site .rrm-center {
    max-width:730px;
    margin:0 auto 45px;

    text-align:center;
}

#rrm-site .rrm-center .rrm-title:after {
    margin-left:auto;
    margin-right:auto;
}

/* =========================================
   ABOUT
========================================= */

#rrm-site .rrm-two {
    display:grid;
    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;
}

#rrm-site .rrm-photo {
    min-height:620px;

    position:relative;

    overflow:hidden;

    border-radius:28px;

    background:

        linear-gradient(
            rgba(0,0,0,.02),
            rgba(0,0,0,.12)
        ),

        url("https://images.unsplash.com/photo-1600334089648-b0d9d3028eb2?auto=format&fit=crop&w=1200&q=86")
        center / cover;

    box-shadow:0 28px 75px rgba(0,0,0,.18);
}

#rrm-site .rrm-photo:after {
    content:"";

    position:absolute;
    inset:18px;

    border:1px solid rgba(255,255,255,.45);

    border-radius:20px;
}

#rrm-site .rrm-photo-card {
    position:absolute;

    left:25px;
    bottom:25px;

    z-index:3;

    padding:19px 22px;

    background:rgba(255,255,255,.94);

    border-radius:16px;

    box-shadow:var(--shadow);
}

#rrm-site .rrm-photo-card strong {
    display:block;

    font-family:"Playfair Display",serif;

    color:#111;

    font-size:24px;
}

#rrm-site .rrm-photo-card span {
    color:#777;
    font-size:11px;
}

#rrm-site .rrm-copy p {
    color:#6a6a6a;
}

#rrm-site .rrm-checks {
    display:grid;
    grid-template-columns:1fr 1fr;

    gap:12px;

    margin:26px 0;
}

#rrm-site .rrm-check {
    padding:14px;

    background:#fff;

    border-radius:14px;

    font-size:12px;

    box-shadow:0 10px 25px rgba(0,0,0,.06);

    transition:.3s;
}

#rrm-site .rrm-check:hover {
    transform:translateY(-4px);

    box-shadow:0 20px 45px rgba(0,0,0,.1);
}

#rrm-site .rrm-check:before {
    content:"✓";

    color:var(--orange);

    margin-right:8px;

    font-weight:bold;
}

/* =========================================
   SERVICES
========================================= */

#rrm-site .rrm-services {
    background:
        linear-gradient(
            180deg,
            #fafafa,
            #f0f0f0
        );
}

#rrm-site .rrm-service-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);

    gap:18px;
}

#rrm-site .rrm-service {
    min-height:230px;

    position:relative;

    overflow:hidden;

    padding:30px;

    background:#fff;

    border:1px solid #ececec;
    border-radius:22px;

    box-shadow:0 12px 35px rgba(0,0,0,.05);

    transition:.3s;
}

#rrm-site .rrm-service:hover {
    transform:translateY(-7px);

    box-shadow:0 30px 70px rgba(0,0,0,.14);
}

#rrm-site .rrm-service:after {
    content:"";

    position:absolute;

    width:140px;
    height:140px;

    right:-75px;
    bottom:-75px;

    border-radius:50%;

    background:#fff0e6;

    transition:.3s;
}

#rrm-site .rrm-service:hover:after {
    transform:scale(1.4);
}

#rrm-site .rrm-number {
    position:relative;
    z-index:2;

    color:var(--orange);

    font-family:"Playfair Display",serif;
    font-size:20px;
}

#rrm-site .rrm-service h3 {
    position:relative;
    z-index:2;

    margin:16px 0 10px;

    color:#111;

    font-size:23px;
}

#rrm-site .rrm-service p {
    position:relative;
    z-index:2;

    color:#707070;

    font-size:13px;
}

#rrm-site .rrm-service-link {
    position:relative;
    z-index:2;

    color:var(--orange) !important;

    font-size:10px;
    font-weight:800;

    letter-spacing:.08em;
    text-transform:uppercase;
}

/* =========================================
   PAIN SECTION
========================================= */

#rrm-site .rrm-dark {
    position:relative;
    overflow:hidden;

    color:#fff;

    background:

        linear-gradient(
            rgba(0,0,0,.94),
            rgba(12,12,12,.96)
        ),

        url("https://images.unsplash.com/photo-1600334129128-685c5582fd35?auto=format&fit=crop&w=1800&q=86")
        center / cover;
}

#rrm-site .rrm-dark:before {
    content:"";

    position:absolute;

    width:450px;
    height:450px;

    left:-180px;
    top:-160px;

    border-radius:50%;

    background:rgba(255,90,0,.16);

    filter:blur(40px);
}

#rrm-site .rrm-dark .rrm-title {
    color:#fff;
}

#rrm-site .rrm-dark p {
    color:#ccc;
}

#rrm-site .rrm-condition-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);

    gap:10px;

    margin-top:35px;
}

#rrm-site .rrm-condition {
    padding:16px;

    border:1px solid rgba(255,255,255,.14);
    border-radius:14px;

    background:rgba(255,255,255,.045);

    backdrop-filter:blur(8px);

    font-size:12px;
}

#rrm-site .rrm-condition:before {
    content:"●";

    margin-right:9px;

    color:var(--orange);

    font-size:7px;
}

/* =========================================
   PROCESS
========================================= */

#rrm-site .rrm-process {
    display:grid;
    grid-template-columns:repeat(4,1fr);

    gap:18px;
}

#rrm-site .rrm-step {
    padding:20px;
}

#rrm-site .rrm-step-number {
    width:50px;
    height:50px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:
        linear-gradient(
            135deg,
            #111,
            var(--orange)
        );

    color:#fff;

    font-family:"Playfair Display",serif;
    font-size:20px;

    box-shadow:0 12px 30px rgba(255,90,0,.2);
}

#rrm-site .rrm-step h3 {
    margin:18px 0 8px;

    color:#111;

    font-size:21px;
}

#rrm-site .rrm-step p {
    color:#777;

    font-size:12px;
}

/* =========================================
   REVIEWS
========================================= */

#rrm-site .rrm-reviews {
    background:#fff;
}

#rrm-site .rrm-review-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);

    gap:18px;
}

#rrm-site .rrm-review {
    padding:28px;

    background:
        linear-gradient(
            180deg,
            #fff,
            #fafafa
        );

    border:1px solid #ececec;
    border-radius:22px;

    box-shadow:0 14px 38px rgba(0,0,0,.07);

    transition:.3s;
}

#rrm-site .rrm-review:hover {
    transform:translateY(-5px);

    box-shadow:0 25px 60px rgba(0,0,0,.13);
}

#rrm-site .rrm-stars {
    color:var(--orange);

    letter-spacing:4px;
}

#rrm-site .rrm-review p {
    color:#666;

    font-size:13px;
}

#rrm-site .rrm-review strong {
    font-size:12px;
}

/* =========================================
   SHOP
========================================= */

#rrm-site .rrm-shop {
    position:relative;
    overflow:hidden;

    color:#fff;

    background:

        radial-gradient(
            circle at 85% 15%,
            rgba(255,90,0,.2),
            transparent 27%
        ),

        linear-gradient(
            135deg,
            #050505,
            #171717
        );
}

#rrm-site .rrm-shop .rrm-title {
    color:#fff;
}

#rrm-site .rrm-shop p {
    color:#ccc;
}

#rrm-site .rrm-shop .rrm-service {
    background:
        linear-gradient(
            180deg,
            #161616,
            #0c0c0c
        );

    border-color:#292929;

    box-shadow:0 20px 50px rgba(0,0,0,.3);
}

#rrm-site .rrm-shop .rrm-service h3 {
    color:#fff;
}

#rrm-site .rrm-shop .rrm-service p {
    color:#bbb;
}

#rrm-site .rrm-shop .rrm-service:after {
    background:rgba(255,90,0,.13);
}

/* =========================================
   CONTACT
========================================= */

#rrm-site .rrm-contact-card {
    display:grid;
    grid-template-columns:1.2fr .8fr;

    overflow:hidden;

    border-radius:30px;

    background:#fff;

    box-shadow:0 30px 85px rgba(0,0,0,.15);
}

#rrm-site .rrm-contact-copy {
    padding:58px;
}

#rrm-site .rrm-contact-copy p {
    color:#666;
}

#rrm-site .rrm-contact-info {
    display:grid;
    gap:12px;

    margin:25px 0;
}

#rrm-site .rrm-contact-info a,
#rrm-site .rrm-contact-info span {
    font-size:13px;
}

#rrm-site .rrm-contact-image {
    padding:55px;

    display:flex;
    flex-direction:column;
    justify-content:center;

    color:#fff;

    background:

        linear-gradient(
            rgba(0,0,0,.86),
            rgba(0,0,0,.9)
        ),

        url("https://images.unsplash.com/photo-1540555700478-4be289fbecef?auto=format&fit=crop&w=900&q=84")
        center / cover;
}

#rrm-site .rrm-contact-image h3 {
    margin-bottom:14px;

    color:#fff;

    font-size:33px;
}

#rrm-site .rrm-contact-image p {
    color:#ddd;
}

/* =========================================
   FOOTER
========================================= */

#rrm-site .rrm-footer {
    padding:38px 0;

    background:#050505;

    color:#aaa;

    font-size:11px;
}

#rrm-site .rrm-footer-inner {
    display:flex;
    justify-content:space-between;

    gap:20px;
}

/* MOBILE CALL BUTTON */

#rrm-site .rrm-mobile-button {
    display:none;

    position:fixed;

    left:12px;
    right:12px;
    bottom:12px;

    z-index:99999;

    padding:15px;

    border-radius:999px;

    background:
        linear-gradient(
            135deg,
            var(--orange2),
            var(--orange)
        );

    color:#fff !important;

    text-align:center;
    font-size:13px;
    font-weight:800;

    box-shadow:0 14px 40px rgba(0,0,0,.35);
}

/* =========================================
   RESPONSIVE
========================================= */

@media(max-width:1000px) {

    #rrm-site .rrm-menu a {
        padding:9px 8px;
        font-size:9px;
    }

}

@media(max-width:850px) {

    #rrm-site .rrm-topbar {
        height:52px;
    }

    #rrm-site .rrm-track span {
        line-height:52px;
        padding:0 25px;
        font-size:9px;
    }

    #rrm-site .rrm-header {
        top:52px !important;
    }

    #rrm-site .rrm-nav {
        min-height:72px;
        width:calc(100% - 22px);
        padding:10px 13px;
    }

    #rrm-site .rrm-menu {
        position:absolute;

        left:11px;
        right:11px;
        top:76px;

        justify-content:flex-start;

        overflow-x:auto;

        background:rgba(5,5,5,.95);

        border-radius:14px;
    }

    #rrm-site .rrm-menu a {
        flex:0 0 auto;

        padding:9px 12px;
        font-size:9px;
    }

    #rrm-site .rrm-hero {
        padding-top:175px;
    }

    #rrm-site .rrm-two,
    #rrm-site .rrm-contact-card {
        grid-template-columns:1fr;
    }

    #rrm-site .rrm-quick-grid,
    #rrm-site .rrm-service-grid,
    #rrm-site .rrm-review-grid {
        grid-template-columns:1fr 1fr;
    }

    #rrm-site .rrm-condition-grid,
    #rrm-site .rrm-process {
        grid-template-columns:1fr 1fr;
    }

}

@media(max-width:560px) {

    #rrm-site {
        padding-bottom:75px;
    }

    #rrm-site .rrm-logo small {
        display:none;
    }

    #rrm-site .rrm-logo strong {
        font-size:16px;
    }

    #rrm-site .rrm-nav-cta {
        max-width:120px;
        padding:10px 12px;
        font-size:9px;
    }

    #rrm-site .rrm-hero {
        min-height:870px;
    }

    #rrm-site .rrm-hero h1 {
        font-size:49px;
    }

    #rrm-site .rrm-hero-copy {
        font-size:15px;
    }

    #rrm-site .rrm-actions .rrm-btn {
        width:100%;
    }

    #rrm-site .rrm-stats {
        display:grid;
        grid-template-columns:repeat(3,1fr);

        gap:8px;

        padding:18px 12px;
    }

    #rrm-site .rrm-stat strong {
        font-size:20px;
    }

    #rrm-site .rrm-stat span {
        font-size:7px;
    }

    #rrm-site .rrm-quick-grid,
    #rrm-site .rrm-service-grid,
    #rrm-site .rrm-review-grid,
    #rrm-site .rrm-condition-grid,
    #rrm-site .rrm-process {
        grid-template-columns:1fr;
    }

    #rrm-site .rrm-quick-card {
        border-right:none;
        border-bottom:1px solid #eee;
    }

    #rrm-site .rrm-section {
        padding:70px 0;
    }

    #rrm-site .rrm-photo {
        min-height:410px;
    }

    #rrm-site .rrm-checks {
        grid-template-columns:1fr;
    }

    #rrm-site .rrm-contact-copy,
    #rrm-site .rrm-contact-image {
        padding:35px 25px;
    }

    #rrm-site .rrm-footer-inner {
        display:block;
        text-align:center;
    }

    #rrm-site .rrm-mobile-button {
        display:block;
    }

    #rrm-site .rrm-ring {
        width:300px;
        height:300px;

        right:-130px;
    }

}

#rrm-site .rrm-logo-mark { overflow:hidden; padding:0; background:#fff; }
#rrm-site .rrm-logo-mark img { width:100%; height:100%; object-fit:cover; display:block; }
#rrm-site .rrm-reveal { opacity:0; transform:translateY(34px); transition:opacity .75s ease,transform .75s ease; }
#rrm-site .rrm-reveal.rrm-visible { opacity:1; transform:none; }
#rrm-site .rrm-service, #rrm-site .rrm-quick-card, #rrm-site .rrm-review, #rrm-site .rrm-step { will-change:transform; }
@media (prefers-reduced-motion: reduce) {
  #rrm-site *, #rrm-site *:before, #rrm-site *:after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  #rrm-site .rrm-reveal { opacity:1; transform:none; }
}


/* =========================================================
   PRODUCTION WORDPRESS HEADER / HERO FIXES
   ========================================================= */
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; }
#rrm-site { position:relative; }

#rrm-site .rrm-topbar {
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    height:54px !important;
    z-index:1001 !important;
}

#rrm-site .rrm-header {
    position:absolute !important;
    top:54px !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    z-index:1002 !important;
    pointer-events:none;
}

#rrm-site .rrm-header .rrm-nav {
    pointer-events:auto;
    width:min(1450px, calc(100% - 44px)) !important;
    margin:0 auto !important;
    min-height:76px !important;
    padding:12px 20px !important;
    border-radius:0 0 22px 22px !important;
    background:rgba(6,6,6,.88) !important;
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
}

#rrm-site .rrm-logo { min-width:235px; }

#rrm-site .rrm-logo-mark {
    width:54px !important;
    height:54px !important;
    border-radius:16px !important;
    border:1px solid rgba(255,255,255,.22) !important;
    background:#fff !important;
    flex:0 0 54px;
}

#rrm-site .rrm-logo-mark img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

#rrm-site .rrm-logo strong {
    font-size:21px !important;
    line-height:1.05 !important;
}

#rrm-site .rrm-logo small {
    font-size:9px !important;
    letter-spacing:.17em !important;
}

#rrm-site .rrm-menu {
    gap:4px !important;
    flex-wrap:nowrap;
}

#rrm-site .rrm-menu a {
    white-space:nowrap;
    padding:10px 14px !important;
    font-size:11px !important;
}

#rrm-site .rrm-hero {
    min-height:820px !important;
    padding-top:185px !important;
    background-position:center center !important;
}

#rrm-site .rrm-hero-content { max-width:760px !important; }

#rrm-site .rrm-hero h1 {
    max-width:760px;
    margin-top:18px !important;
    font-size:clamp(54px, 6vw, 92px) !important;
    line-height:.98 !important;
}

#rrm-site .rrm-hero-copy { max-width:620px !important; }
#rrm-site .rrm-quick { margin-top:-34px !important; }
#rrm-site .rrm-wrap { width:min(1320px, calc(100% - 48px)) !important; }

@media(max-width:1100px) {
    #rrm-site .rrm-header .rrm-nav { width:calc(100% - 24px) !important; }
    #rrm-site .rrm-logo { min-width:auto; }
    #rrm-site .rrm-menu a { padding:9px 9px !important; font-size:9px !important; }
    #rrm-site .rrm-nav-cta { padding:11px 15px !important; font-size:10px !important; }
}

@media(max-width:850px) {
    #rrm-site .rrm-topbar { height:48px !important; }
    #rrm-site .rrm-track span { line-height:48px !important; }

    #rrm-site .rrm-header {
        position:relative !important;
        top:auto !important;
        left:auto !important;
        right:auto !important;
        margin-top:0 !important;
        background:#080808;
    }

    #rrm-site .rrm-header .rrm-nav {
        width:100% !important;
        min-height:72px !important;
        border-radius:0 !important;
        padding:10px 14px !important;
    }

    #rrm-site .rrm-menu {
        top:72px !important;
        left:0 !important;
        right:0 !important;
        border-radius:0 0 14px 14px !important;
        padding:8px 12px !important;
    }

    #rrm-site .rrm-hero {
        min-height:760px !important;
        padding-top:150px !important;
    }

    #rrm-site .rrm-wrap { width:min(100% - 28px, 1320px) !important; }
}

@media(max-width:560px) {
    #rrm-site .rrm-logo-mark {
        width:46px !important;
        height:46px !important;
        flex-basis:46px;
    }
    #rrm-site .rrm-logo strong { font-size:17px !important; }
    #rrm-site .rrm-nav-cta { max-width:122px !important; }
    #rrm-site .rrm-hero {
        min-height:720px !important;
        padding-top:135px !important;
    }
    #rrm-site .rrm-hero h1 { font-size:48px !important; }
}


/* =========================================================
   FEATURED VIDEO SECTION
   ========================================================= */
#rrm-site .rrm-video-section {
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 15% 20%, rgba(255,90,0,.12), transparent 28%),
        linear-gradient(135deg, #080808, #171717);
    color:#fff;
}

#rrm-site .rrm-video-section:before {
    content:"";
    position:absolute;
    width:360px;
    height:360px;
    right:-120px;
    bottom:-150px;
    border-radius:50%;
    background:rgba(255,90,0,.12);
    filter:blur(20px);
}

#rrm-site .rrm-video-grid {
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:55px;
    align-items:center;
    position:relative;
    z-index:2;
}

#rrm-site .rrm-video-copy .rrm-title {
    color:#fff;
}

#rrm-site .rrm-video-copy p {
    color:#cfcfcf;
    max-width:540px;
}

#rrm-site .rrm-video-shell {
    position:relative;
    padding:12px;
    border-radius:28px;
    background:
        linear-gradient(135deg, rgba(255,135,56,.75), rgba(255,90,0,.12) 45%, rgba(255,255,255,.06));
    box-shadow:0 30px 80px rgba(0,0,0,.42);
}

#rrm-site .rrm-video-shell:after {
    content:"";
    position:absolute;
    inset:-18px;
    z-index:-1;
    border-radius:34px;
    background:rgba(255,90,0,.13);
    filter:blur(24px);
    animation:rrmVideoGlow 5s ease-in-out infinite;
}

@keyframes rrmVideoGlow {
    0%,100% { transform:scale(.98); opacity:.55; }
    50% { transform:scale(1.03); opacity:.9; }
}

#rrm-site .rrm-video-frame {
    position:relative;
    width:100%;
    aspect-ratio:16 / 9;
    overflow:hidden;
    border-radius:20px;
    background:#000;
}

#rrm-site .rrm-video-frame iframe {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
}

@media(max-width:850px) {
    #rrm-site .rrm-video-grid {
        grid-template-columns:1fr;
        gap:32px;
    }
}


/* =========================================================
   REQUESTED MAIN MENU + WELLNESS SHOP BUTTON
   ========================================================= */
#rrm-site .rrm-shop-cta {
    white-space:nowrap;
    background:linear-gradient(135deg,#ff8738,#ff5a00) !important;
    box-shadow:0 14px 35px rgba(255,90,0,.28);
}

#rrm-site .rrm-shop-cta:hover {
    transform:translateY(-2px);
    box-shadow:0 20px 44px rgba(255,90,0,.36);
}

@media(max-width:1200px) {
    #rrm-site .rrm-header .rrm-nav {
        gap:10px;
    }
    #rrm-site .rrm-menu a {
        padding:9px 10px !important;
    }
    #rrm-site .rrm-shop-cta {
        padding:11px 14px !important;
        font-size:9px !important;
    }
}

@media(max-width:850px) {
    #rrm-site .rrm-shop-cta {
        max-width:145px !important;
        line-height:1.15;
    }
}


/* INNER PAGES */
#rrm-site .rrm-inner-hero {
    padding:170px 0 85px;
    color:#fff;
    background:
        radial-gradient(circle at 80% 30%, rgba(255,90,0,.18), transparent 28%),
        linear-gradient(135deg,#050505,#1b1b1b);
}
#rrm-site .rrm-inner-hero h1 {
    margin:8px 0 0;
    color:#fff;
    font-family:"Playfair Display",Georgia,serif;
    font-size:clamp(48px,7vw,82px);
    line-height:1;
}
#rrm-site .rrm-page-content {
    max-width:900px;
    color:#575757;
    font-size:17px;
}
#rrm-site .rrm-page-content h2,
#rrm-site .rrm-page-content h3 {
    color:#111;
}
#rrm-site .rrm-page-content h2 {
    font-size:clamp(34px,5vw,52px);
}
#rrm-site .rrm-page-content h3 {
    margin-top:32px;
    font-size:26px;
}
#rrm-site .rrm-page-content li {
    margin:8px 0;
}
#rrm-site .rrm-page-content a {
    color:var(--orange);
    font-weight:700;
}
#rrm-site .rrm-btn-outline-dark {
    background:#111 !important;
    border:1px solid #222;
}


/* =========================================================
   ABOUT US - CLINIC FOCUSED / SEO-AEO PAGE
   ========================================================= */
#rrm-about-clinic,
#rrm-about-clinic * { box-sizing:border-box; }

#rrm-about-clinic {
    --rac-orange:#ff5a00;
    --rac-orange2:#ff8738;
    --rac-black:#050505;
    --rac-dark:#131313;
    --rac-cream:#fff8f2;
    --rac-soft:#f6f3ef;
    --rac-gray:#676767;
    width:100%;
    overflow:hidden;
    background:#fff;
    color:#111;
    font-family:"DM Sans",Arial,sans-serif;
    line-height:1.65;
}

#rrm-about-clinic a { text-decoration:none; }
#rrm-about-clinic .rac-wrap {
    width:min(1260px,calc(100% - 44px));
    margin:auto;
}

#rrm-about-clinic h1,
#rrm-about-clinic h2,
#rrm-about-clinic h3 {
    font-family:"Playfair Display",Georgia,serif;
}

#rrm-about-clinic .rac-hero {
    position:relative;
    min-height:670px;
    display:flex;
    align-items:center;
    overflow:hidden;
    color:#fff;
    background:
        linear-gradient(90deg,rgba(0,0,0,.97),rgba(0,0,0,.79) 54%,rgba(0,0,0,.42)),
        url("https://images.unsplash.com/photo-1600334089648-b0d9d3028eb2?auto=format&fit=crop&w=1900&q=88")
        center / cover no-repeat;
}

#rrm-about-clinic .rac-hero:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(115deg,transparent 0 34%,rgba(255,255,255,.055) 40%,transparent 47% 100%);
    background-size:230% 100%;
    animation:racSweep 9s ease-in-out infinite;
}

@keyframes racSweep {
    0%,18% {background-position:160% 0;}
    62%,100% {background-position:-80% 0;}
}

#rrm-about-clinic .rac-glow {
    position:absolute;
    right:-120px;
    top:20px;
    width:520px;
    height:520px;
    border-radius:50%;
    background:rgba(255,90,0,.23);
    filter:blur(65px);
    animation:racGlow 10s ease-in-out infinite;
}

@keyframes racGlow {
    0%,100% {transform:translate(0,0) scale(1);}
    50% {transform:translate(-75px,30px) scale(1.16);}
}

#rrm-about-clinic .rac-ring {
    position:absolute;
    right:7%;
    top:115px;
    width:420px;
    height:420px;
    border:1px solid rgba(255,255,255,.15);
    border-radius:50%;
    animation:racSpin 27s linear infinite;
}

#rrm-about-clinic .rac-ring:before {
    content:"";
    position:absolute;
    top:10%;
    left:18%;
    width:11px;
    height:11px;
    border-radius:50%;
    background:var(--rac-orange);
    box-shadow:0 0 24px var(--rac-orange);
}

@keyframes racSpin { to {transform:rotate(360deg);} }

#rrm-about-clinic .rac-hero-inner {
    position:relative;
    z-index:4;
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:65px;
    align-items:end;
    padding:115px 0 95px;
}

#rrm-about-clinic .rac-badge {
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:9px 14px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:999px;
    background:rgba(0,0,0,.42);
    font-size:10px;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
}

#rrm-about-clinic .rac-badge:before {
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--rac-orange);
    box-shadow:0 0 0 6px rgba(255,90,0,.13),0 0 20px var(--rac-orange);
}

#rrm-about-clinic .rac-kicker,
#rrm-about-clinic .rac-label {
    color:var(--rac-orange);
    font-size:10px;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
}

#rrm-about-clinic .rac-kicker {
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:24px;
    color:#eee;
}

#rrm-about-clinic .rac-kicker:before {
    content:"";
    width:38px;
    height:2px;
    background:var(--rac-orange);
}

#rrm-about-clinic .rac-hero h1 {
    margin:18px 0 22px;
    max-width:850px;
    font-size:clamp(52px,7vw,88px);
    line-height:.99;
    color:#fff;
    text-shadow:0 18px 50px rgba(0,0,0,.42);
}

#rrm-about-clinic .rac-hero h1 em,
#rrm-about-clinic h2 em {
    display:block;
    color:#ff751b;
    font-weight:600;
}

#rrm-about-clinic .rac-hero-copy > p,
#rrm-about-clinic .rac-hero-copy p {
    max-width:690px;
    color:#e2e2e2;
    font-size:18px;
}

#rrm-about-clinic .rac-actions {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:28px;
}

#rrm-about-clinic .rac-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:15px 24px;
    border-radius:999px;
    background:linear-gradient(135deg,var(--rac-orange2),var(--rac-orange));
    color:#fff !important;
    font-size:12px;
    font-weight:800;
    box-shadow:0 15px 38px rgba(255,90,0,.27);
    transition:.3s ease;
}

#rrm-about-clinic .rac-btn:hover {
    transform:translateY(-4px);
    box-shadow:0 23px 52px rgba(255,90,0,.36);
}

#rrm-about-clinic .rac-btn-outline {
    border:1px solid rgba(255,255,255,.38);
    background:rgba(0,0,0,.28);
    box-shadow:none;
}

#rrm-about-clinic .rac-btn-dark {
    background:#111;
    box-shadow:0 14px 35px rgba(0,0,0,.17);
}

#rrm-about-clinic .rac-hero-card {
    padding:28px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:24px;
    background:rgba(5,5,5,.55);
    backdrop-filter:blur(15px);
    -webkit-backdrop-filter:blur(15px);
    box-shadow:0 28px 70px rgba(0,0,0,.25);
}

#rrm-about-clinic .rac-hero-card .rac-eyebrow {
    display:block;
    color:#ff9c5d;
    font-size:9px;
    font-weight:800;
    letter-spacing:.15em;
    text-transform:uppercase;
}

#rrm-about-clinic .rac-hero-card strong {
    display:block;
    margin:12px 0;
    font-family:"Playfair Display",serif;
    font-size:27px;
}

#rrm-about-clinic .rac-hero-card p {
    margin:0;
    color:#ccc;
    font-size:13px;
}

#rrm-about-clinic .rac-trust {
    position:relative;
    z-index:6;
    margin-top:-32px;
}

#rrm-about-clinic .rac-trust-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    overflow:hidden;
    border-radius:22px;
    background:#fff;
    box-shadow:0 24px 70px rgba(0,0,0,.14);
}

#rrm-about-clinic .rac-trust-grid > div {
    padding:27px 22px;
    border-right:1px solid #ececec;
}

#rrm-about-clinic .rac-trust-grid > div:last-child {border-right:0;}

#rrm-about-clinic .rac-trust strong {
    display:block;
    color:#111;
    font-family:"Playfair Display",serif;
    font-size:25px;
}

#rrm-about-clinic .rac-trust span {
    display:block;
    margin-top:5px;
    color:#777;
    font-size:10px;
}

#rrm-about-clinic .rac-section { padding:95px 0; }

#rrm-about-clinic .rac-two {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:75px;
    align-items:center;
}

#rrm-about-clinic .rac-copy h2,
#rrm-about-clinic .rac-section-head h2,
#rrm-about-clinic .rac-final h2 {
    margin:12px 0 22px;
    color:#111;
    font-size:clamp(40px,5vw,62px);
    line-height:1.06;
}

#rrm-about-clinic .rac-copy p,
#rrm-about-clinic .rac-section-head p {
    color:#666;
    font-size:15px;
}

#rrm-about-clinic .rac-feature-stack {
    display:grid;
    gap:14px;
}

#rrm-about-clinic .rac-feature-stack article {
    display:flex;
    gap:18px;
    padding:22px;
    border:1px solid #eee;
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 34px rgba(0,0,0,.06);
    transition:.3s;
}

#rrm-about-clinic .rac-feature-stack article:hover {
    transform:translateY(-4px);
    box-shadow:0 22px 50px rgba(0,0,0,.1);
}

#rrm-about-clinic .rac-feature-stack article > span {
    color:var(--rac-orange);
    font-family:"Playfair Display",serif;
    font-size:22px;
}

#rrm-about-clinic .rac-feature-stack h3 {
    margin:0 0 6px;
    font-size:21px;
}

#rrm-about-clinic .rac-feature-stack p {
    margin:0;
    color:#777;
    font-size:12px;
}

#rrm-about-clinic .rac-dark {
    position:relative;
    color:#fff;
    background:
        radial-gradient(circle at 85% 10%,rgba(255,90,0,.17),transparent 27%),
        linear-gradient(135deg,#050505,#171717);
}

#rrm-about-clinic .rac-dark h2 {color:#fff;}
#rrm-about-clinic .rac-dark .rac-section-head p {color:#c9c9c9;}

#rrm-about-clinic .rac-section-head {
    max-width:790px;
    margin-bottom:40px;
}

#rrm-about-clinic .rac-3grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

#rrm-about-clinic .rac-card {
    padding:30px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:22px;
    background:rgba(255,255,255,.05);
    transition:.3s;
}

#rrm-about-clinic .rac-card:hover {
    transform:translateY(-7px);
    border-color:rgba(255,90,0,.5);
    box-shadow:0 25px 60px rgba(0,0,0,.3);
}

#rrm-about-clinic .rac-card-icon {
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:var(--rac-orange);
    background:rgba(255,90,0,.12);
    font-size:19px;
}

#rrm-about-clinic .rac-card h3 {
    margin:18px 0 9px;
    color:#fff;
    font-size:24px;
}

#rrm-about-clinic .rac-card p {color:#bbb;font-size:13px;}

#rrm-about-clinic .rac-card a {
    color:#ff8b42;
    font-size:10px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

#rrm-about-clinic .rac-audience {background:#f7f4f1;}

#rrm-about-clinic .rac-audience-art {
    position:relative;
    min-height:440px;
    overflow:hidden;
    border-radius:28px;
    background:linear-gradient(145deg,#0a0a0a,#222);
    box-shadow:0 28px 70px rgba(0,0,0,.18);
}

#rrm-about-clinic .rac-orbit {
    position:absolute;
    border:1px solid rgba(255,255,255,.13);
    border-radius:50%;
}

#rrm-about-clinic .rac-orbit-one {
    width:430px;height:430px;left:-90px;top:-70px;
    animation:racSpin 28s linear infinite;
}

#rrm-about-clinic .rac-orbit-two {
    width:300px;height:300px;right:-70px;bottom:-80px;
    border-color:rgba(255,90,0,.25);
    animation:racSpin 20s linear reverse infinite;
}

#rrm-about-clinic .rac-audience-art:after {
    content:"";
    position:absolute;
    width:280px;height:280px;
    right:55px;top:60px;
    border-radius:50%;
    background:rgba(255,90,0,.18);
    filter:blur(45px);
}

#rrm-about-clinic .rac-audience-copy {
    position:absolute;
    z-index:2;
    left:40px;right:40px;bottom:42px;
}

#rrm-about-clinic .rac-audience-copy span {
    color:#ff8e48;
    font-size:10px;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}

#rrm-about-clinic .rac-audience-copy strong {
    display:block;
    max-width:460px;
    margin-top:10px;
    color:#fff;
    font-family:"Playfair Display",serif;
    font-size:37px;
    line-height:1.08;
}

#rrm-about-clinic .rac-check-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin:25px 0 30px;
}

#rrm-about-clinic .rac-check-grid span {
    padding:13px 14px;
    border-radius:13px;
    background:#fff;
    box-shadow:0 8px 25px rgba(0,0,0,.05);
    color:#555;
    font-size:11px;
}

#rrm-about-clinic .rac-check-grid span:before {
    content:"✓";
    margin-right:8px;
    color:var(--rac-orange);
    font-weight:800;
}

#rrm-about-clinic .rac-video-section {
    color:#fff;
    background:
        radial-gradient(circle at 12% 20%,rgba(255,90,0,.14),transparent 29%),
        linear-gradient(135deg,#070707,#181818);
}

#rrm-about-clinic .rac-video-grid {
    display:grid;
    grid-template-columns:.75fr 1.25fr;
    gap:55px;
    align-items:center;
}

#rrm-about-clinic .rac-video-section h2 {color:#fff;}
#rrm-about-clinic .rac-video-section .rac-copy p {color:#ccc;}

#rrm-about-clinic .rac-video-shell {
    position:relative;
    padding:12px;
    border-radius:28px;
    background:linear-gradient(135deg,rgba(255,135,56,.9),rgba(255,90,0,.14) 48%,rgba(255,255,255,.06));
    box-shadow:0 30px 80px rgba(0,0,0,.45);
}

#rrm-about-clinic .rac-video-shell:after {
    content:"";
    position:absolute;
    inset:-18px;
    z-index:-1;
    border-radius:35px;
    background:rgba(255,90,0,.14);
    filter:blur(25px);
    animation:racVideo 5s ease-in-out infinite;
}

@keyframes racVideo {
    0%,100% {transform:scale(.98);opacity:.55;}
    50% {transform:scale(1.03);opacity:.95;}
}

#rrm-about-clinic .rac-video-frame {
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    overflow:hidden;
    border-radius:20px;
    background:#000;
}

#rrm-about-clinic .rac-video-frame iframe {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
}

#rrm-about-clinic .rac-practitioner {background:#fff8f2;}

#rrm-about-clinic .rac-practitioner-card {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:35px;
    padding:42px;
    border:1px solid #f0e5dd;
    border-radius:25px;
    background:#fff;
    box-shadow:0 18px 50px rgba(0,0,0,.07);
}

#rrm-about-clinic .rac-practitioner-card h2 {
    margin:9px 0;
    font-size:35px;
}

#rrm-about-clinic .rac-practitioner-card p {
    max-width:780px;
    margin:0;
    color:#666;
}

#rrm-about-clinic .rac-faq {background:#fff;}

#rrm-about-clinic .rac-faq-list {
    max-width:920px;
    display:grid;
    gap:12px;
}

#rrm-about-clinic .rac-faq details {
    overflow:hidden;
    border:1px solid #ece8e4;
    border-radius:16px;
    background:#faf9f7;
}

#rrm-about-clinic .rac-faq summary {
    position:relative;
    cursor:pointer;
    list-style:none;
    padding:19px 55px 19px 20px;
    color:#111;
    font-weight:800;
}

#rrm-about-clinic .rac-faq summary::-webkit-details-marker {display:none;}

#rrm-about-clinic .rac-faq summary:after {
    content:"+";
    position:absolute;
    right:20px;
    top:50%;
    transform:translateY(-50%);
    color:var(--rac-orange);
    font-size:24px;
}

#rrm-about-clinic .rac-faq details[open] summary:after {content:"–";}

#rrm-about-clinic .rac-faq details > div {
    padding:0 20px 20px;
    color:#666;
    font-size:13px;
}

#rrm-about-clinic .rac-final {
    text-align:center;
    background:linear-gradient(135deg,#fff5ed,#fff);
}

#rrm-about-clinic .rac-final .rac-label {display:block;}
#rrm-about-clinic .rac-final h2 {max-width:800px;margin-left:auto;margin-right:auto;}
#rrm-about-clinic .rac-final p {max-width:700px;margin:0 auto;color:#666;}
#rrm-about-clinic .rac-center-actions {justify-content:center;}

#rrm-about-clinic .rac-contact-line {
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:9px;
    margin-top:25px;
    color:#777;
    font-size:11px;
}

#rrm-about-clinic .rac-contact-line a {
    color:#555;
    font-weight:700;
}

#rrm-about-clinic .rac-reveal {
    opacity:0;
    transform:translateY(34px);
    transition:opacity .7s ease,transform .7s ease;
}

#rrm-about-clinic .rac-reveal.rac-visible {
    opacity:1;
    transform:none;
}

@media(max-width:950px) {
    #rrm-about-clinic .rac-hero-inner,
    #rrm-about-clinic .rac-two,
    #rrm-about-clinic .rac-video-grid {
        grid-template-columns:1fr;
    }

    #rrm-about-clinic .rac-3grid {grid-template-columns:1fr 1fr;}
    #rrm-about-clinic .rac-trust-grid {grid-template-columns:1fr 1fr;}
    #rrm-about-clinic .rac-practitioner-card {align-items:flex-start;flex-direction:column;}
}

@media(max-width:600px) {
    #rrm-about-clinic .rac-wrap {width:min(100% - 28px,1260px);}
    #rrm-about-clinic .rac-hero {min-height:auto;}
    #rrm-about-clinic .rac-hero-inner {padding:80px 0 75px;}
    #rrm-about-clinic .rac-hero h1 {font-size:48px;}
    #rrm-about-clinic .rac-trust {margin-top:-20px;}
    #rrm-about-clinic .rac-trust-grid,
    #rrm-about-clinic .rac-3grid,
    #rrm-about-clinic .rac-check-grid {
        grid-template-columns:1fr;
    }
    #rrm-about-clinic .rac-trust-grid > div {
        border-right:0;
        border-bottom:1px solid #ececec;
    }
    #rrm-about-clinic .rac-section {padding:70px 0;}
    #rrm-about-clinic .rac-audience-art {min-height:360px;}
    #rrm-about-clinic .rac-audience-copy {left:24px;right:24px;bottom:28px;}
    #rrm-about-clinic .rac-audience-copy strong {font-size:30px;}
    #rrm-about-clinic .rac-actions {flex-direction:column;}
    #rrm-about-clinic .rac-btn {width:100%;}
}

@media(prefers-reduced-motion:reduce) {
    #rrm-about-clinic *,
    #rrm-about-clinic *:before,
    #rrm-about-clinic *:after {
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
    }
    #rrm-about-clinic .rac-reveal {opacity:1;transform:none;}
}


/* =========================================================
   GLOBAL INNER-PAGE HEADER
   ========================================================= */

#rrm-global-header,
#rrm-global-header * {
    box-sizing:border-box;
}

#rrm-global-header {
    --rrm-orange:#ff5a00;
    --rrm-orange2:#ff8738;
    --rrm-black:#050505;
    width:100%;
    position:relative;
    z-index:9998;
    font-family:"DM Sans",Arial,sans-serif;
}

#rrm-global-header a {
    text-decoration:none;
}

#rrm-global-header .rrm-global-topbar {
    position:relative;
    height:48px;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:
        linear-gradient(
            90deg,
            #050505 0%,
            #15100d 27%,
            #ff5a00 50%,
            #15100d 73%,
            #050505 100%
        );
    background-size:240% 100%;
    animation:rrmGlobalGlow 11s linear infinite;
    box-shadow:0 8px 24px rgba(0,0,0,.22);
}

@keyframes rrmGlobalGlow {
    from {background-position:0 0;}
    to {background-position:240% 0;}
}

#rrm-global-header .rrm-global-marquee {
    width:100%;
    overflow:hidden;
    white-space:nowrap;
}

#rrm-global-header .rrm-global-track {
    display:inline-flex;
    min-width:max-content;
    animation:rrmGlobalMarquee 31s linear infinite;
}

#rrm-global-header .rrm-global-track span {
    display:inline-block;
    padding:0 38px;
    color:#fff;
    line-height:48px;
    font-size:10px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}

#rrm-global-header .rrm-global-track span:nth-child(even) {
    color:#ffc39c;
}

@keyframes rrmGlobalMarquee {
    from {transform:translateX(0);}
    to {transform:translateX(-50%);}
}

#rrm-global-header .rrm-global-nav-wrap {
    width:100%;
    position:relative;
    background:#080808;
    border-bottom:1px solid rgba(255,255,255,.08);
    box-shadow:0 14px 34px rgba(0,0,0,.18);
}

#rrm-global-header .rrm-global-nav {
    width:min(1480px,calc(100% - 42px));
    min-height:86px;
    margin:0 auto;
    padding:12px 0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

#rrm-global-header .rrm-global-brand {
    display:flex;
    align-items:center;
    gap:12px;
    flex:0 0 auto;
    color:#fff;
}

#rrm-global-header .rrm-global-brand img {
    width:54px;
    height:54px;
    display:block;
    object-fit:cover;
    border-radius:15px;
    background:#fff;
    box-shadow:0 8px 24px rgba(0,0,0,.28);
}

#rrm-global-header .rrm-global-brand strong {
    display:block;
    color:#fff;
    font-family:"Playfair Display",Georgia,serif;
    font-size:21px;
    line-height:1;
}

#rrm-global-header .rrm-global-brand small {
    display:block;
    margin-top:5px;
    color:#aaa;
    font-size:8px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
}

#rrm-global-header .rrm-global-menu {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:3px;
    padding:6px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:999px;
    background:rgba(255,255,255,.045);
}

#rrm-global-header .rrm-global-menu a {
    display:block;
    padding:10px 13px;
    border-radius:999px;
    color:#fff;
    font-size:10px;
    font-weight:800;
    white-space:nowrap;
    transition:.25s ease;
}

#rrm-global-header .rrm-global-menu a:hover,
#rrm-global-header .rrm-global-menu a:focus {
    color:#fff;
    background:var(--rrm-orange);
    transform:translateY(-1px);
}

#rrm-global-header .rrm-global-shop {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    min-height:46px;
    padding:12px 19px;
    border-radius:999px;
    color:#fff;
    background:linear-gradient(135deg,var(--rrm-orange2),var(--rrm-orange));
    box-shadow:0 12px 30px rgba(255,90,0,.28);
    font-size:10px;
    font-weight:800;
    white-space:nowrap;
    transition:.3s ease;
}

#rrm-global-header .rrm-global-shop:hover {
    transform:translateY(-3px);
    box-shadow:0 18px 40px rgba(255,90,0,.38);
}

/* Custom HTML pages should begin cleanly with no theme-injected spacing/hero */
#rrm-page-content {
    width:100%;
    margin:0;
    padding:0;
}

#rrm-page-content > *:first-child {
    margin-top:0;
}

/* WordPress block wrappers sometimes constrain Custom HTML width */
#rrm-page-content .wp-block-html,
#rrm-page-content .entry-content,
#rrm-page-content .wp-site-blocks {
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
}

/* Admin bar-safe */
body.admin-bar #rrm-global-header {
    position:relative;
}

/* Tablet */
@media(max-width:1150px) {

    #rrm-global-header .rrm-global-nav {
        width:calc(100% - 24px);
        gap:10px;
    }

    #rrm-global-header .rrm-global-brand span {
        display:none;
    }

    #rrm-global-header .rrm-global-menu a {
        padding:9px 9px;
        font-size:9px;
    }

    #rrm-global-header .rrm-global-shop {
        padding:11px 14px;
        font-size:9px;
    }
}

/* Mobile */
@media(max-width:850px) {

    #rrm-global-header .rrm-global-topbar {
        height:44px;
    }

    #rrm-global-header .rrm-global-track span {
        line-height:44px;
        padding:0 25px;
        font-size:8px;
    }

    #rrm-global-header .rrm-global-nav {
        width:100%;
        min-height:72px;
        padding:10px 13px;
        gap:8px;
    }

    #rrm-global-header .rrm-global-brand img {
        width:48px;
        height:48px;
    }

    #rrm-global-header .rrm-global-menu {
        position:absolute;
        top:72px;
        left:0;
        right:0;
        z-index:5;
        justify-content:flex-start;
        overflow-x:auto;
        padding:8px 12px;
        border-radius:0;
        border-left:0;
        border-right:0;
        background:rgba(5,5,5,.97);
        scrollbar-width:none;
    }

    #rrm-global-header .rrm-global-menu::-webkit-scrollbar {
        display:none;
    }

    #rrm-global-header .rrm-global-menu a {
        flex:0 0 auto;
        padding:9px 12px;
    }

    #rrm-global-header .rrm-global-shop {
        max-width:142px;
        min-height:44px;
        padding:9px 12px;
        line-height:1.1;
        text-align:center;
    }

    #rrm-page-content {
        padding-top:46px;
    }
}

@media(max-width:520px) {

    #rrm-global-header .rrm-global-nav {
        padding-left:10px;
        padding-right:10px;
    }

    #rrm-global-header .rrm-global-brand img {
        width:44px;
        height:44px;
    }

    #rrm-global-header .rrm-global-shop {
        max-width:125px;
        font-size:8px;
    }
}

@media(prefers-reduced-motion:reduce) {

    #rrm-global-header *,
    #rrm-global-header *:before,
    #rrm-global-header *:after {
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
    }
}
