/* RD Elite — progressive 3D presentation. Content never waits for motion. */
.rd-depth {
  --depth-red: #fa182c;
  --depth-metal: #aaaeb6;
  --depth-panel: linear-gradient(135deg, #222329 0%, #101115 46%, #08090b 100%);
  --depth-edge: rgba(223, 228, 241, .22);
  --muted-dark: #a5a4a8;
  --red: #ed1026;
  background: #060709;
}

/* This override also protects content if an older script is cached. */
html .rd-depth .reveal,
html.motion-ready .rd-depth .reveal {
  opacity: 1 !important;
  visibility: visible !important;
}

.rd-depth .hero {
  isolation: isolate;
  background: radial-gradient(ellipse at 83% 42%, #3c101a 0, #160c13 27%, #090a0d 61%);
}
.rd-depth .hero::before { opacity: .13; }
.rd-depth .hero-grid {
  inset: auto -30% -230px;
  height: 630px;
  opacity: .5;
  background-size: 65px 65px;
  background-image: linear-gradient(#b4233c30 1px, transparent 1px), linear-gradient(90deg, #b4233c30 1px, transparent 1px);
  transform: perspective(650px) rotateX(62deg);
  transform-origin: center center;
  -webkit-mask-image: linear-gradient(transparent, #000 32%, transparent 92%);
  mask-image: linear-gradient(transparent, #000 32%, transparent 92%);
  pointer-events: none;
}
.rd-depth .hero-copy { position: relative; z-index: 5; min-width: 0; }
.rd-depth .hero h1 { text-shadow: 1px 1px 0 #84828b, 3px 4px 0 #25232d, 0 18px 32px #0006; }
.rd-depth .hero h1 em { text-shadow: 1px 1px 0 #ff7180, 3px 4px 0 #680e1d, 0 16px 40px #ed102622; }
.rd-depth .hero-lead { color: #c0bec6; font-size: max(1rem, 17px); }
.rd-depth .eyebrow { font-size: .75rem; letter-spacing: .17em; }
.rd-depth .hero-visual { isolation: isolate; perspective: 1200px; }
.rd-depth .depth-planes { position: absolute; inset: 0; z-index: -1; perspective: 1000px; pointer-events: none; }
.rd-depth .depth-planes span {
  position: absolute;
  inset: 0 3% 5%;
  border: 1px solid #f52b4b;
  border-radius: 18px;
  box-shadow: inset 0 0 25px #ed102612, 0 0 26px #ed102617;
  transform: rotateY(-22deg) rotateZ(-8deg) translate3d(25px, -18px, -60px);
}
.rd-depth .depth-planes span:nth-child(2) {
  border-color: #ff3e595e;
  transform: rotateY(-22deg) rotateZ(-8deg) translate3d(70px, -52px, -150px);
}
.rd-depth .depth-planes span:nth-child(3) {
  border-color: #ff3e592b;
  transform: rotateY(-22deg) rotateZ(-8deg) translate3d(115px, -86px, -240px);
}
.rd-depth .coach-frame,
.rd-depth .photo-frame {
  --rest-y: -10deg;
  --rest-x: 3deg;
  --rest-z: -2deg;
  border: 1px solid #898b955e;
  border-radius: 12px;
  background: var(--depth-panel);
  box-shadow: 8px 9px 0 #1d1b22, 9px 10px 0 #47414d, 24px 30px 60px #0009, 0 0 65px #dd183a19;
  transform: perspective(1100px) rotateX(var(--rest-x)) rotateY(var(--rest-y)) rotateZ(var(--rest-z));
}
.rd-depth .coach-image-wrap { border-radius: 6px; }
.rd-depth .coach-image-wrap img,
.rd-depth .photo-frame img { filter: none; }
.rd-depth .coach-frame::before,
.rd-depth .coach-frame::after { display: none; }
.rd-depth .hero-number {
  top: -38px; right: -30px; font-size: clamp(180px, 22vw, 320px);
  -webkit-text-stroke-color: #ffffff15;
  transform: translateZ(-40px);
}
.rd-depth .floating-card,
.rd-depth .app-float,
.rd-depth .scan-badge,
.rd-depth .location-card {
  border-color: #7975805c;
  border-radius: 8px;
  background: linear-gradient(135deg, #25232cf5, #100f16f5);
  box-shadow: 3px 4px 0 #34303a, 10px 20px 35px #0008;
}
.rd-depth .floating-card--top { top: 46px; left: -14px; transform: translateZ(60px) rotate(-3deg); }
.rd-depth .floating-card--bottom { right: -10px; bottom: 62px; transform: translateZ(80px) rotate(3deg); }
.rd-depth .floating-card small,
.rd-depth .floating-card--bottom > span { color: #bbb8c4; font-size: .75rem; letter-spacing: .02em; }
.rd-depth .floating-card div strong { font-size: .875rem; }
.rd-depth .coach-caption span:not(.coach-mark) { font-size: .75rem; }
.rd-depth .button {
  min-height: 48px;
  border-radius: 4px;
  font-size: .875rem;
  letter-spacing: .04em;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.rd-depth .button--primary,
.rd-depth .button--small {
  background: linear-gradient(135deg, #f8273d, #d20922);
  border: 1px solid #ff64756b;
  box-shadow: 0 4px 0 #780819, 0 12px 26px #ed102620;
}
.rd-depth .button--primary:hover,
.rd-depth .button--small:hover { transform: translateY(-2px); box-shadow: 0 6px 0 #780819, 0 18px 32px #ed10262b; }
.rd-depth .button:active { transform: translateY(2px); }
.rd-depth .text-link { font-size: .875rem; letter-spacing: .04em; }
.rd-depth .hero-proof { background: linear-gradient(110deg, #ffffff06, #ffffff02); border-color: #ffffff20; }
.rd-depth .hero-proof > div:first-child { padding-left: 16px; }
.rd-depth .hero-proof span { color: #aaa7b2; white-space: normal; overflow: visible; font-size: .75rem; letter-spacing: 0; }
.rd-depth .hero-marquee { background: #101014; transform: skewY(-1deg); transform-origin: right; }
.rd-depth .hero-marquee > div { animation: none; }
.rd-depth .hero-marquee span { font-size: 1.125rem; }

/* The original photographs remain intact. Depth belongs to their frames. */
.rd-depth .results-section { background: radial-gradient(ellipse at 15% 0, #241016, transparent 45%), #08090c; }
.rd-depth .result-card {
  border: 1px solid var(--depth-edge);
  border-radius: 10px;
  background: var(--depth-panel);
  box-shadow: 0 4px 0 #23212a, 0 16px 24px #0004;
}
.rd-depth .results-track { padding-bottom: 22px; }
.rd-depth .result-image-wrap { aspect-ratio: 4 / 5; }
.rd-depth .result-image-wrap img { object-fit: contain; filter: none; }
.rd-depth .result-card:hover img { transform: none; }
.rd-depth .result-copy small { font-size: .75rem; color: #aaa7b2; letter-spacing: .05em; }
.rd-depth .result-copy strong { font-size: 1.5rem; }
.rd-depth .results-note p { color: #aaa7b2; font-size: .875rem; }
.rd-depth .carousel-controls { display: flex; }
.rd-depth .round-button { box-shadow: 0 3px 0 #34313d; }

.rd-depth .method-section { background: #0c0d11; }
.rd-depth .method-grid { gap: 24px; perspective: 1200px; }
.rd-depth .method-card,
.rd-depth .benefit-card {
  border: 1px solid var(--depth-edge);
  border-radius: 10px;
  background: var(--depth-panel);
  box-shadow: 0 6px 0 #23222b, 0 7px 0 #5d56643d, 0 24px 38px #0005;
}
.rd-depth .method-card--featured {
  border-color: #ff536770;
  background: linear-gradient(145deg, #591525, #24131d 48%, #0e0e14);
}
.rd-depth .method-tag { color: #b3aebd; font-size: .75rem; }
.rd-depth .method-card h3,
.rd-depth .benefit-card h3 { font-size: 2rem; }
.rd-depth .method-card p,
.rd-depth .benefit-card p { font-size: 1rem; color: #b8b5c0; }
.rd-depth .method-icon { text-shadow: 1px 2px #65091b, 0 8px 18px #ff1d4020; }
.rd-depth .app-section { background: radial-gradient(ellipse at 75% 50%, #1e1727, transparent 60%), #08090c; }
.rd-depth .app-noise { opacity: .18; }
.rd-depth .app-layout,
.rd-depth .scan-layout { gap: clamp(40px, 6vw, 90px); }
.rd-depth .phone-stage,
.rd-depth .scan-visual { perspective: 1100px; isolation: isolate; }
.rd-depth .phone {
  --rest-x: 7deg;
  --rest-y: -18deg;
  --rest-z: 5deg;
  transform: perspective(1100px) rotateX(7deg) rotateY(-18deg) rotateZ(5deg);
  box-shadow: 9px 6px 0 #323039, 11px 7px 0 #726976, 28px 50px 65px #000b;
}
.rd-depth .phone-orbit,
.rd-depth .scan-orbit { pointer-events: none; width: 100%; max-width: 630px; height: auto; aspect-ratio: 1; }
.rd-depth .phone-orbit--one,
.rd-depth .scan-orbit--one {
  border-color: #cb29475c;
  transform: perspective(900px) rotateX(62deg) rotateZ(-18deg);
  box-shadow: 0 5px 0 #f3123217, inset 0 0 45px #ed102610;
}
.rd-depth .phone-orbit--two,
.rd-depth .scan-orbit--two { width: 90%; border-color: #aea0bf20; transform: rotateY(-32deg) rotateZ(-24deg); }
.rd-depth .app-float--left { transform: rotate(-4deg); z-index: 4; }
.rd-depth .app-float--right { transform: rotate(3deg); z-index: 4; }
.rd-depth .app-float small,
.rd-depth .scan-badge small { font-size: .75rem; color: #bab5c4; letter-spacing: .01em; }
.rd-depth .feature-list p,
.rd-depth .scan-features p { font-size: 1rem; color: #aaa7b2; }
.rd-depth .feature-list h3,
.rd-depth .scan-features h3 { font-size: 1.6rem; }
.rd-depth .app-lead,
.rd-depth .scan-lead { font-size: max(1rem, 17px); }
.rd-depth .scan-section { background: radial-gradient(ellipse at 75% 50%, #301019, transparent 58%), #0d0d12; }
.rd-depth .scan-frame {
  --rest-x: 5deg;
  --rest-y: 15deg;
  --rest-z: -3deg;
  width: min(84%, 420px);
  border: 1px solid #a295aa66;
  border-radius: 20px;
  transform: perspective(1100px) rotateX(5deg) rotateY(15deg) rotateZ(-3deg);
  box-shadow: -7px 7px 0 #261c29, -8px 8px 0 #7c4b5d, 0 42px 75px #0009;
}
.rd-depth .scan-frame img { width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: contain; }
.rd-depth .scan-badge--top { transform: rotate(3deg); }
.rd-depth .scan-badge--bottom { transform: rotate(-4deg); }
.rd-depth .video-card {
  border-radius: 9px;
  border-color: var(--depth-edge);
  background: var(--depth-panel);
  box-shadow: 0 4px 0 #25222d, 0 14px 24px #0004;
  overflow: hidden;
}
.rd-depth .video-preview { aspect-ratio: 16 / 9; }
.rd-depth .video-preview img { height: 100%; width: 100%; object-fit: cover; }
.rd-depth .video-category { font-size: .75rem; letter-spacing: .05em; line-height: 1.4; color: #ff6b7c; }
.rd-depth .video-play { border: 1px solid #ffffff50; background: #11121cc9; box-shadow: 0 5px 0 #0005, 0 8px 24px #0004; }
.rd-depth .offer-card {
  border: 1px solid #ff3d5a80;
  border-radius: 12px;
  background: linear-gradient(140deg, #2c1823, #131219 50%, #101015);
  box-shadow: 6px 7px 0 #411220, 7px 8px 0 #9b1c37, 0 30px 80px #0008;
}
.rd-depth .offer-list strong { font-size: 1rem; }
.rd-depth .offer-list small { font-size: .875rem; color: #b9b2c1; }
.rd-depth .offer-card-head small,
.rd-depth .offer-microcopy { font-size: .75rem; }
.rd-depth .comparison-card { border-radius: 10px; box-shadow: 0 5px 0 #24212b, 0 20px 35px #0004; }
.rd-depth .comparison-card--elite { background: linear-gradient(140deg, #40111e, #170e15); }
.rd-depth .personal-photo-frame { border-radius: 12px; }
.rd-depth .personal-photo-frame img { filter: none; }
.rd-depth .faq-list details { padding-inline: 16px; }
.rd-depth .faq-list details[open] { background: #ffffff05; border-left: 2px solid var(--red); }
.rd-depth .faq-list details p { font-size: 1rem; }
.rd-depth .mobile-cta-bar a { font-size: .875rem; border-radius: 4px; letter-spacing: .02em; }
.rd-depth .desktop-nav a { font-size: .875rem; letter-spacing: .02em; }
.rd-depth .site-header { background: #08090cf0; border-bottom-color: #ffffff15; }
.rd-depth .mobile-menu:not(.open) { visibility: hidden; }
.rd-depth .mobile-menu.open { visibility: visible; }
.rd-depth .footer-bottom { font-size: .75rem; }
.rd-depth .hero-visual,
.rd-depth .phone-stage,
.rd-depth .scan-visual,
.rd-depth .method-grid,
.rd-depth .benefit-grid { min-width: 0; }

/* The local Personal page shares the finish; its copy and region control stay intact. */
.rd-personal .hero-visual { width: 100%; }
.rd-personal .location-card { transform: none; right: -12px; }
.rd-personal .region-checker summary { font-size: .875rem; letter-spacing: .03em; min-height: 32px; }
.rd-personal .location-card small,
.rd-personal .photo-caption small,
.rd-personal .photo-tag { font-size: .75rem; }
.rd-personal .region-list { max-height: min(380px, 60vh); overflow-y: auto; }
.rd-personal .region-list li { font-size: .875rem; }
.rd-personal .hero-points { font-size: .875rem; }
.rd-personal .hero-note { font-size: .875rem; }
.rd-personal .process-list li { border-radius: 8px; background: var(--depth-panel); box-shadow: 0 4px 0 #27222e; }
.rd-personal .location-panel { border-radius: 12px; box-shadow: 0 7px 0 #35121d, 0 30px 50px #0005; }

@media (hover: hover) and (pointer: fine) and (min-width: 941px) and (prefers-reduced-motion: no-preference) {
  html .rd-depth [data-depth-surface] {
    transform: perspective(1100px) rotateX(calc(var(--rest-x, 0deg) + var(--tilt-x, 0deg))) rotateY(calc(var(--rest-y, 0deg) + var(--tilt-y, 0deg))) rotateZ(var(--rest-z, 0deg));
    transition: transform .35s ease-out;
  }
  html .rd-depth .depth-active { transition-duration: .12s; }
  .rd-depth .method-card.depth-active,
  .rd-depth .benefit-card.depth-active,
  .rd-depth .offer-card.depth-active {
    background-image: radial-gradient(circle at var(--light-x, 50%) var(--light-y, 50%), #ff486316, transparent 65%), var(--depth-panel);
    border-color: #ff687b80;
  }
}

@media (min-width: 941px) {
  .rd-online .hero { min-height: 850px; padding-top: 160px; padding-bottom: 140px; }
  .rd-online .hero-layout { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: 60px; }
  .rd-online .hero h1 { font-size: clamp(70px, 6.4vw, 96px); line-height: .94; letter-spacing: -.035em; }
  .rd-online .hero-visual { padding-left: 20px; }
  .rd-online .coach-image-wrap { height: 530px; }
  .rd-online .hero-actions { flex-wrap: wrap; gap: 24px; }
  .rd-depth .hero-visual { margin-right: 16px; }
}
@media (max-width: 940px) {
  .rd-depth .section { padding-block: 90px; }
  .rd-depth .scan-visual { min-height: 660px; }
  .rd-depth .phone-stage { min-height: 660px; }
  .rd-depth .phone { transform: perspective(1100px) rotateY(-8deg) rotateZ(2deg); }
  .rd-depth .scan-frame { transform: perspective(1100px) rotateY(6deg) rotateZ(-2deg); }
  .rd-personal .hero-visual { width: min(88%, 460px); }
  .rd-depth .hero-visual { width: min(88%, 460px); justify-self: center; margin-inline: auto; padding: 0; }
  .rd-depth .hero-grid { opacity: .2; }
  .rd-depth .hero-glow { display: none; }
  .rd-depth .coach-frame,
  .rd-depth .photo-frame { transform: perspective(1100px) rotateY(-5deg) rotateZ(-1deg); }
  .rd-depth .depth-planes span { inset: 0; transform: translate(14px, -14px) rotate(-3deg); }
  .rd-depth .depth-planes span:nth-child(2) { transform: translate(24px, -24px) rotate(-3deg); }
  .rd-depth .depth-planes span:nth-child(3) { display: none; }
}
@media (max-width: 720px) {
  .rd-depth .section { padding-block: 72px; }
  .rd-depth .app-layout,
  .rd-depth .scan-layout { gap: 42px; }
  .rd-depth .phone-stage { transform: none; margin: 0; min-height: 640px; }
  .rd-depth .phone { width: min(84%, 322px); }
  .rd-depth .scan-visual { min-height: 0; margin: 18px 0; padding-block: 26px; }
  .rd-depth .scan-badge--top { top: 0; right: 0; }
  .rd-depth .scan-badge--bottom { bottom: 0; left: 0; }
  .rd-depth .app-float { padding: 12px; gap: 8px; }
  .rd-depth .app-float--left { left: 0; bottom: 40px; }
  .rd-depth .app-float--right { right: 0; top: 40px; }
  .rd-depth .video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; }
  .rd-depth .video-card-copy { padding: 12px 10px 16px; min-height: 126px; }
  .rd-depth .video-card h3 { font-size: 1.25rem; line-height: 1.1; overflow-wrap: break-word; }
  .rd-depth .video-category { font-size: .75rem; letter-spacing: 0; overflow-wrap: break-word; }
  .rd-depth .video-card:nth-child(-n+6) { display: block; }
  .rd-depth .video-play { width: 44px; height: 44px; }
  .rd-depth .method-card { min-height: 300px; }
  .rd-personal .hero-layout { padding-block: 40px 60px; }
  .rd-personal .location-card { min-width: 0; max-width: 100%; right: -10px; left: 10px; bottom: 90px; padding: 14px; gap: 8px; }
  .rd-personal .location-card__info strong { font-size: 1rem; }
  .rd-personal .region-list { right: 0; width: 100%; min-width: 0; padding: 14px; }
  .rd-personal .header-inner { gap: 14px; }
  .rd-personal .header-inner .button { font-size: .75rem; letter-spacing: 0; padding-inline: 12px; }
  .rd-depth .hero h1 { font-size: clamp(3.2rem, 14.4vw, 4.8rem); line-height: .96; letter-spacing: -.025em; }
  .rd-online .hero { padding-top: 118px; }
  .rd-depth .hero-layout { gap: 60px; }
  .rd-depth .hero-visual { margin-block: 16px 24px; }
  .rd-depth .coach-image-wrap { height: auto; aspect-ratio: 4 / 5; }
  .rd-depth .coach-image-wrap img { height: 100%; }
  .rd-depth .floating-card { padding: 10px 12px; gap: 10px; }
  .rd-depth .floating-card--top { left: -12px; top: 24px; }
  .rd-depth .floating-card--bottom { display: flex; right: -12px; bottom: 58px; }
  .rd-depth .floating-card--bottom > strong { font-size: 32px; }
  .rd-depth .hero-proof { margin-top: 32px; }
  .rd-depth .hero-proof > div { padding: 14px 8px; }
  .rd-depth .hero-proof > div:first-child { padding-left: 8px; }
  .rd-depth .hero-proof strong { font-size: 23px; }
}

@media (prefers-reduced-motion: reduce) {
  html .rd-depth [data-depth-surface],
  .rd-depth .coach-frame,
  .rd-depth .photo-frame,
  .rd-depth .phone,
  .rd-depth .scan-frame { transform: none; transition: none; }
}
