:root{
  --bg:#0b0f14;
  --surface:#0f1520;
  --surface-2:#121a27;
  --header-h:60px;
  --header-real-h: var(--header-h);
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --border:rgba(255,255,255,.08);
  --border-2:rgba(255,255,255,.12);
  --text:#f6f7fb;
  --muted:rgba(246,247,251,.72);
  --subtle:rgba(246,247,251,.56);
  --brand:#a8fff0;
  --brand-2:#8dd6ff;
  --focus:rgba(168,255,240,.35);
  --shadow:0 24px 80px rgba(0,0,0,.55);
  --shadow-soft:0 14px 48px rgba(0,0,0,.35);
  --radius:18px;
  --radius-sm:14px;
  --radius-lg:22px;
  --max:1180px;

  /* ===== Typography scale (luxury / consistent) ===== */
  --fs-body: 18px;
  --fs-body-mobile: 18px;
  --fs-p: clamp(17px, 1.15vw, 20px);
  --lh-p: 1.72;
  --fs-h1: clamp(38px, 4.2vw, 66px);
  --lh-h1: 1.04;
  --fs-h2: clamp(30px, 3.2vw, 44px);
  --lh-h2: 1.14;
  --fs-h3: clamp(20px, 2.0vw, 24px);
  --lh-h3: 1.22;
  --fs-meta: 15px;
  --fs-kicker: 13px;
  --fs-small: 14px;
}

*{box-sizing:border-box}
html{
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-real-h) + 12px); /* fixed header */
  -webkit-text-size-adjust:100%;
}
body{
  margin:0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  font-size:var(--fs-body);
  line-height: 1.6;
  color:var(--text);
  background:
    radial-gradient(1200px 900px at 20% 10%, rgba(141,214,255,.12), transparent 60%),
    radial-gradient(1100px 800px at 80% 0%, rgba(168,255,240,.10), transparent 55%),
    linear-gradient(rgba(11,15,20,.22), rgba(11,15,20,.22)),
    url("/assets/media/pagina-personal-training-e-membership/68c4766429f3308bfae76d7b_apex-footer%20copia.webp") center bottom / cover no-repeat,
    var(--bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
@media (max-width: 520px){
  body{font-size:var(--fs-body-mobile); line-height: 1.68}
}

/* ===== Theme: Relysian Femme (subtle rose, premium) ===== */
body[data-page="femme"]{
  --brand:#ffd0e4;
  --brand-2:#ffb3d9;
  --focus: rgba(255,179,217,.28);
  --femme-rose:#ff6fb3;
  --femme-rose-2:#ffd0e4;
}
body[data-page="femme"] .hero::after{
  background:
    radial-gradient(closest-side, rgba(255,111,179,.22), transparent 62%),
    radial-gradient(900px 520px at 25% 20%, rgba(255,208,228,.12), transparent 60%);
}
body[data-page="femme"] .dot{
  background: var(--brand-2);
  box-shadow:0 0 0 6px rgba(255,179,217,.12);
}

/* More feminine accents (icons, buttons, subtle symbols) */
body[data-page="femme"] ::selection{background:rgba(255,111,179,.22)}
body[data-page="femme"] .section-icon,
body[data-page="femme"] .service-icon{
  color: var(--femme-rose);
  border-color: rgba(255,111,179,.22);
  background: linear-gradient(180deg, rgba(255,111,179,.08), rgba(255,255,255,.03));
}

/* Femme: make omega-style pills/dots match the rose palette */
body[data-page="femme"] .omega-pill{
  border-color: rgba(255,111,179,.44);
  background: linear-gradient(180deg, rgba(255,111,179,.22), rgba(255,111,179,.12));
  color: rgba(246,247,251,.98);
}
body[data-page="femme"] .omega-dot{
  background: var(--femme-rose);
  box-shadow: 0 0 0 6px rgba(255,111,179,.18);
}
body[data-page="femme"] .mc-pill,
body[data-page="femme"] .mc-pill-onrequest{
  border-color: rgba(255,111,179,.32);
}
body[data-page="femme"] .mc-pill{
  background: rgba(255,111,179,.10);
}
body[data-page="femme"] .mc-pill-onrequest{
  background: linear-gradient(180deg, rgba(255,111,179,.16), rgba(255,111,179,.10));
}
body[data-page="femme"] .card:hover{
  border-color: rgba(255,111,179,.22);
}

body[data-page="femme"] .btn-primary{
  border-color: rgba(255,111,179,.35);
  background: linear-gradient(90deg, rgba(255,208,228,.90), rgba(255,111,179,.85));
  color: #190b12;
}
body[data-page="femme"] .btn-primary:hover{
  background: linear-gradient(90deg, rgba(255,208,228,1), rgba(255,111,179,1));
}
body[data-page="femme"] .btn:hover{border-color:rgba(255,111,179,.45)}

/* Femme: list check icons (e.g., Discreet studio delivery) */
body[data-page="femme"] .check{
  border-color: rgba(255,111,179,.45);
  background: rgba(255,111,179,.10);
  position: relative;
}
body[data-page="femme"] .check::after{
  content:"";
  position:absolute;
  left:5px;
  top:5px;
  width:7px;
  height:4px;
  border-left:2px solid rgba(255,111,179,.95);
  border-bottom:2px solid rgba(255,111,179,.95);
  transform: rotate(-45deg);
}

/* Discreet rose “signature” marker before card titles */
body[data-page="femme"] .card h3{
  position: relative;
  padding-left: 18px;
}
html[dir="rtl"] body[data-page="femme"] .card h3{ padding-left:0; padding-right:18px; }
body[data-page="femme"] .card h3::before{
  content:"";
  position:absolute;
  left:0;
  top:0.55em;
  width:10px;
  height:10px;
  border-radius:999px;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.92), rgba(255,111,179,.92));
  box-shadow: 0 0 0 4px rgba(255,111,179,.10);
}

/* Femme: "Precision training for women" cards with discreet service backgrounds */
body[data-page="femme"] .femme-precision .card.card-strong,
body[data-page="femme"] .femme-cardbg .card.card-strong{
  position: relative;
  overflow: hidden;
}
body[data-page="femme"] .femme-precision .card.card-strong > *,
body[data-page="femme"] .femme-cardbg .card.card-strong > *{
  position: relative;
  z-index: 1;
}
body[data-page="femme"] .femme-precision .card.card-strong::after,
body[data-page="femme"] .femme-cardbg .card.card-strong::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index: 0;
  background:
    radial-gradient(520px 240px at 12% 0%, rgba(255,111,179,.14), transparent 60%),
    radial-gradient(520px 240px at 92% 100%, rgba(255,208,228,.10), transparent 62%);
  opacity: 1;
}
body[data-page="femme"] .femme-precision .card.card-strong::before,
body[data-page="femme"] .femme-cardbg .card.card-strong::before{
  content:"";
  position:absolute;
  inset:-18px;
  pointer-events:none;
  z-index: 0;
  opacity: .18;
  background-repeat: no-repeat;
  background-position: right 18px top 18px;
  background-size: 190px 190px;
  filter: saturate(1.05) contrast(1.05);
}
html[dir="rtl"] body[data-page="femme"] .femme-precision .card.card-strong::before{
  background-position: left 18px top 18px;
}
html[dir="rtl"] body[data-page="femme"] .femme-cardbg .card.card-strong::before{
  background-position: left 18px top 18px;
}

body[data-page="femme"] .femme-precision .card[data-femme-bg="strength"]::before,
body[data-page="femme"] .femme-cardbg .card[data-femme-bg="strength"]::before{
  background-image:
    linear-gradient(180deg, rgba(8,12,18,.22), rgba(8,12,18,.62)),
    url("/assets/media/foto-aggiunte-nuove/Strength%20%26%20postureFemme.png");
  inset:0;
  opacity:.62;
  background-position:center center;
  background-size:cover;
  filter:none;
}
body[data-page="femme"] .femme-precision .card[data-femme-bg="composition"]::before,
body[data-page="femme"] .femme-cardbg .card[data-femme-bg="composition"]::before{
  background-image:
    linear-gradient(180deg, rgba(8,12,18,.22), rgba(8,12,18,.62)),
    url("/assets/media/foto-aggiunte-nuove/Bodycomposition%20Femme.png");
  inset:0;
  opacity:.62;
  background-position:center center;
  background-size:cover;
  filter:none;
}
body[data-page="femme"] .femme-precision .card[data-femme-bg="recovery"]::before,
body[data-page="femme"] .femme-cardbg .card[data-femme-bg="recovery"]::before{
  background-image:
    linear-gradient(180deg, rgba(8,12,18,.22), rgba(8,12,18,.62)),
    url("/assets/media/foto-aggiunte-nuove/Recovery%20%26%20stressFemme.png");
  inset:0;
  opacity:.62;
  background-position:center center;
  background-size:cover;
  filter:none;
}

/* Femme: Executive section backgrounds */
body[data-page="femme"] .femme-cardbg .card[data-femme-bg="exec-briefcase"]::before{
  background-image:
    linear-gradient(180deg, rgba(8,12,18,.22), rgba(8,12,18,.62)),
    url("/assets/media/foto-aggiunte-nuove/Executive%20schedule%20designFemma.png");
  inset:0;
  opacity:.62;
  background-position:center center;
  background-size:cover;
  filter:none;
}
body[data-page="femme"] .femme-cardbg .card[data-femme-bg="exec-calendar"]::before{
  background-image:
    linear-gradient(180deg, rgba(8,12,18,.22), rgba(8,12,18,.62)),
    url("/assets/media/foto-aggiunte-nuove/FEMME%204105798-8DCB-440F-BBAE-5EE93B5A38B5.PNG");
  inset:0;
  opacity:.62;
  background-position:center center;
  background-size:cover;
  filter:none;
}
body[data-page="femme"] .femme-cardbg .card[data-femme-bg="exec-shield"]::before{
  background-image:
    linear-gradient(180deg, rgba(8,12,18,.22), rgba(8,12,18,.62)),
    url("/assets/media/foto-aggiunte-nuove/Evidence-informed%20governanceFemme.png");
  inset:0;
  opacity:.62;
  background-position:center center;
  background-size:cover;
  filter:none;
}

/* Femme: Body recomposition section backgrounds */
body[data-page="femme"] .femme-cardbg .card[data-femme-bg="body-tape"]::before{
  background-image:
    linear-gradient(180deg, rgba(8,12,18,.22), rgba(8,12,18,.62)),
    url("/assets/media/foto-aggiunte-nuove/bodyrecompositon.png");
  inset:0;
  opacity:.62;
  background-position:center center;
  background-size:cover;
  filter:none;
}
body[data-page="femme"] .femme-cardbg .card[data-femme-bg="body-droplet"]::before{
  background-image:
    linear-gradient(180deg, rgba(8,12,18,.22), rgba(8,12,18,.62)),
    url("/assets/media/foto-aggiunte-nuove/Tone%20%26%20appearance%20support%20copia.png");
  inset:0;
  opacity:.62;
  background-position:center center;
  background-size:cover;
  filter:none;
}
body[data-page="femme"] .femme-cardbg .card[data-femme-bg="body-chart"]::before{
  background-image:
    linear-gradient(180deg, rgba(8,12,18,.22), rgba(8,12,18,.62)),
    url("/assets/media/foto-aggiunte-nuove/wateritention.png");
  inset:0;
  opacity:.62;
  background-position:center center;
  background-size:cover;
  filter:none;
}

/* ===== Theme: Relysian Running Club (watermarks for service clarity) ===== */
body[data-page="runningClub"] .running-cardbg .card{
  position: relative;
  overflow: hidden;
}
body[data-page="runningClub"] .running-cardbg .card > *{
  position: relative;
  z-index: 1;
}
body[data-page="runningClub"] .running-cardbg .card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index: 0;
  background:
    radial-gradient(520px 240px at 12% 0%, rgba(168,255,240,.12), transparent 60%),
    radial-gradient(520px 240px at 92% 100%, rgba(141,214,255,.10), transparent 62%);
}
body[data-page="runningClub"] .running-cardbg .card::before{
  content:"";
  position:absolute;
  inset:-18px;
  pointer-events:none;
  z-index: 0;
  opacity: .16;
  background-repeat: no-repeat;
  background-position: right 18px top 18px;
  background-size: 200px 200px;
  filter: invert(1) saturate(1.0) contrast(1.05);
}
html[dir="rtl"] body[data-page="runningClub"] .running-cardbg .card::before{
  background-position: left 18px top 18px;
}
body[data-page="runningClub"] .running-cardbg .card[data-run-bg="route"]::before{
  background-image:
    linear-gradient(180deg, rgba(8,12,18,.26), rgba(8,12,18,.58)),
    url("/assets/running-club-bg/structured-sessions.webp");
  inset:0;
  opacity:.42;
  background-position:center center;
  background-size:cover;
  filter:none;
}
body[data-page="runningClub"] .running-cardbg .card[data-run-bg="pace"]::before{
  background-image:
    linear-gradient(180deg, rgba(8,12,18,.24), rgba(8,12,18,.56)),
    url("/assets/running-club-bg/technique-efficiency.webp");
  inset:0;
  opacity:.44;
  background-position:center center;
  background-size:cover;
  filter:none;
}
body[data-page="runningClub"] .running-cardbg .card[data-run-bg="group"]::before{
  background-image:
    linear-gradient(180deg, rgba(6,9,14,.28), rgba(6,9,14,.64)),
    url("/assets/running-club-bg/strength-integration-v2.webp");
  inset:0;
  opacity:.40;
  background-position:center center;
  background-size:cover;
  filter:none;
}
body[data-page="runningClub"] .running-cardbg .card[data-run-bg="shoe"]::before{
  background-image: url("/assets/media/pagina-relysian-running-club/relysian_run_shoe_watermark.svg");
}

/* ===== Home: Next steps cards (watermarks) ===== */
.nextsteps-cardbg .card{
  position: relative;
  overflow: hidden;
}
.nextsteps-cardbg .card > *{
  position: relative;
  z-index: 1;
}
.nextsteps-cardbg .card > .card-media{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
  border-radius:inherit;
}
.nextsteps-cardbg .card > .card-media video{
  width:100%;
  height:100%;
  object-fit:cover;
  /* Bright, premium look for home "Next steps" videos */
  filter: saturate(1.9) contrast(1.18) brightness(1.28) !important;
  opacity: 1 !important;
}

/* Personal Training page: increase next-steps background video intensity */
body[data-page="personalTraining"] .nextsteps-cardbg .card > .card-media video{
  filter: saturate(1.85) contrast(1.28) brightness(1.22) !important;
}
.nextsteps-cardbg .card > .card-media::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:
    radial-gradient(70% 60% at 50% 28%, rgba(0,0,0,.03), rgba(0,0,0,.24)),
    linear-gradient(180deg, rgba(7,9,13,.04), rgba(7,9,13,.20));
}
.nextsteps-cardbg .card.card--video::before,
.nextsteps-cardbg .card.card--video::after{
  display:none;
}
.nextsteps-cardbg .card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index: 0;
  background:
    radial-gradient(560px 260px at 12% 0%, rgba(168,255,240,.10), transparent 62%),
    radial-gradient(560px 260px at 92% 100%, rgba(141,214,255,.08), transparent 66%);
}
.nextsteps-cardbg .card::before{
  content:"";
  position:absolute;
  inset:-18px;
  pointer-events:none;
  z-index: 0;
  opacity: .14;
  background-repeat: no-repeat;
  background-position: right 18px top 18px;
  background-size: 200px 200px;
  filter: invert(1) saturate(1.0) contrast(1.05);
}
html[dir="rtl"] .nextsteps-cardbg .card::before{ background-position: left 18px top 18px; }
.nextsteps-cardbg .card[data-next-bg="pt"]::before{ background-image: url("/assets/wm_personal_training_barbell.svg"); }
.nextsteps-cardbg .card[data-next-bg="longevity"]::before{ background-image: url("/assets/wm_longevity_dna.svg"); }
.nextsteps-cardbg .card[data-next-bg="memberships"]::before{ background-image: url("/assets/wm_memberships_card.svg"); }
html[dir="rtl"] body[data-page="femme"] .card h3::before{ left:auto; right:0; }

/* Mobile: keep watermarks discreet and avoid competing with copy */
@media (max-width: 560px){
  body[data-page="femme"] .femme-precision .card.card-strong::before,
  body[data-page="femme"] .femme-cardbg .card.card-strong::before{
    background-size: 150px 150px;
    opacity: .12;
  }

  body[data-page="runningClub"] .running-cardbg .card::before{
    background-size: 160px 160px;
    opacity: .12;
  }

  .nextsteps-cardbg .card::before{
    background-size: 160px 160px;
    opacity: .10;
  }
}

/* ===== Trust mentions (verified listings / featured) ===== */
.trust-mentions .trust-mentions-grid{
  display:grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 14px;
  margin-top: 14px;
}
.trust-mentions .trust-block{
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: rgba(255,255,255,.04);
  padding: 16px;
}
.trust-mentions .trust-block-title{
  margin: 0 0 10px;
  font-size: 15px;
  letter-spacing: .06em;
  text-transform: uppercase;
  opacity: .82;
}
.trust-mentions .trust-logos{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.trust-mentions .trust-logo{
  position: relative;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.18);
  overflow: hidden;
  min-height: 78px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 10px;
  transition: transform .15s ease, border-color .15s ease;
}
.trust-mentions .trust-logo:hover{
  transform: translateY(-1px);
  border-color: rgba(168,255,240,.35);
}
.trust-mentions .trust-logo-bg{
  position:absolute;
  inset:0;
  background: #ffffff;
  opacity: .94;
  z-index: 0;
}
.trust-mentions .trust-logo img{
  position:relative;
  z-index: 1;
  max-width: 92%;
  max-height: 56px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: none;
}
.trust-mentions .trust-links{
  display:flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 6px;
}
.trust-mentions .trust-link{
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.18);
  text-decoration:none;
  color: rgba(255,255,255,.90);
  transition: transform .15s ease, border-color .15s ease, color .15s ease;
}
.trust-mentions .trust-link::before{
  content:"";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(168,255,240,.75);
  box-shadow: 0 0 0 6px rgba(168,255,240,.10);
  flex: 0 0 auto;
}
.trust-mentions .trust-link:hover{
  transform: translateY(-1px);
  border-color: rgba(168,255,240,.35);
  color: var(--brand);
}
.trust-mentions .trust-note{ margin-top: 10px; opacity: .72; }

@media (max-width: 860px){
  .trust-mentions .trust-mentions-grid{ grid-template-columns: 1fr; }
  .trust-mentions .trust-logos{ grid-template-columns: 1fr 1fr; }
}

/* Cards with explicit icons: disable the title marker dot */
body[data-page="femme"] .card.card--icon h3{ padding-left:0; }
html[dir="rtl"] body[data-page="femme"] .card.card--icon h3{ padding-right:0; }
body[data-page="femme"] .card.card--icon h3::before{ display:none; }

/* Femme: make pregnancy icons larger (3x) */
body[data-page="femme"] .card.card--icon .service-card-head{ align-items: center; }
body[data-page="femme"] .card.card--icon .service-icon{
  width: clamp(44px, 6vw, 54px);
  height: clamp(44px, 6vw, 54px);
  min-width: clamp(44px, 6vw, 54px);
  border-radius: 18px;
  border: 2px solid rgba(255,111,179,.55);
  background: radial-gradient(80% 80% at 30% 25%, rgba(255,255,255,.10), rgba(255,111,179,.08));
  box-shadow:
    0 0 0 6px rgba(255,111,179,.12),
    0 12px 30px rgba(0,0,0,.35);
}
body[data-page="femme"] .card.card--icon .service-icon svg,
body[data-page="femme"] .card.card--icon .service-icon img{
  width: 100% !important;
  height: 100% !important;
  filter: drop-shadow(0 6px 14px rgba(255,111,179,.18));
}

/* Plain hero pages: shorter and more editorial */
.hero--plain{
  min-height: min(74vh, 720px);
  padding: 28px 0 48px 0;
}
@media (max-width: 960px){
  .hero--plain{min-height:auto}
}

/* Locale-specific typography */
html[dir="rtl"] body{
  font-family: "Noto Sans Arabic", Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
}
html[lang="zh"] body{
  font-family: "Noto Sans SC", Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
}
html[lang="ja"] body{
  font-family: "Noto Sans JP", Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
}

img, video{max-width:100%; display:block}
a{color:inherit; text-decoration:none}

/* Premium focus states (keyboard) */
a:focus-visible{
  outline:none;
  border-radius:10px;
  box-shadow:0 0 0 4px var(--focus);
}
::selection{background:rgba(168,255,240,.22)}

.container{max-width:var(--max); margin:0 auto; padding:0 clamp(16px, 3.6vw, 24px)}
.section{padding:clamp(64px, 7.8vw, 120px) 0}
.section-tight{padding:clamp(40px, 5vw, 72px) 0}
@supports (content-visibility: auto){
  /* Global stability pass:
     keep section painting stable to prevent perceived background zoom/shift while scrolling
     (especially visible on Safari with large image/video surfaces). */
  .section{
    content-visibility:visible;
    contain-intrinsic-size:auto;
  }
  .hero{content-visibility:visible}
}

.contact-inline{display:inline-flex; gap:10px; align-items:flex-start}
.contact-inline-icon{width:18px; height:18px; flex:none; margin-top:2px; color:var(--brand); opacity:.92}
.contact-inline-icon svg{width:18px !important; height:18px !important; display:block !important}
html[dir="rtl"] .contact-inline{flex-direction:row-reverse}
html[dir="rtl"] .contact-inline{text-align:end}
.footer-contact{display:flex; flex-direction:column; gap:10px}

.embed{
  position:relative;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  border-radius:var(--radius);
}
.embed iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border:1px solid var(--border);
  border-radius:999px;
  background:rgba(255,255,255,.03);
  backdrop-filter:blur(14px);
}
.dot{width:8px;height:8px;border-radius:999px;background:var(--brand); box-shadow:0 0 0 6px rgba(168,255,240,.10)}
.kicker{font-size:var(--fs-kicker); letter-spacing:.18em; text-transform:uppercase; color:var(--muted); font-weight:600}

h1,h2,h3{margin:0 0 12px 0; letter-spacing:-0.02em}
h1{font-size:var(--fs-h1); line-height:var(--lh-h1); font-weight:560}
h2{font-size:var(--fs-h2); line-height:var(--lh-h2); font-weight:560}
h3{font-size:var(--fs-h3); line-height:var(--lh-h3); font-weight:560}
p{margin:0 0 14px 0; color:var(--muted); line-height:var(--lh-p); font-size:var(--fs-p)}
li{line-height:var(--lh-p); font-size:var(--fs-p)}

.grid{display:grid; gap:18px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width: 960px){
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 720px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
}

.card{
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border-radius:var(--radius);
  padding:22px;
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset;
  position:relative;
  overflow:hidden;
  background-clip: padding-box;
}
.card:hover{
  border-color:rgba(168,255,240,.18);
}
.card-strong{
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border:1px solid var(--border-2);
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset, var(--shadow-soft);
}
.card h3{margin-bottom:8px}
.meta{font-size:var(--fs-meta); color:var(--subtle); line-height:1.55}
.service-card-head{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.service-card-head h3{margin:0}
.service-icon{
  width:34px;
  height:34px;
  min-width:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  border:1px solid var(--border-2);
  background:rgba(255,255,255,.03);
  color:var(--brand);
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset;
}
.service-icon svg{
  width:18px;
  height:18px;
  display:block;
}
.service-icon img{
  width:18px !important;
  height:18px !important;
  display:block !important;
  object-fit:contain;
}
:root[dir="rtl"] .service-card-head{flex-direction:row-reverse}
.service-card .meta{margin-top:10px}
.grid-4 .service-card{height:100%}
.grid-4 .service-card .service-card-head{align-items:center}
.grid-4 .service-card h3{font-size:clamp(16px, 1.6vw, 18px)}

/* Hide service icons on photo-background recovery cards for a cleaner, uniform look */
.service-card--peptidebg .service-icon,
.service-card--redlightbg .service-icon,
.service-card--compressionbg .service-icon,
.service-card--percussionbg .service-icon{
  display:none !important;
}

.section-header--icon{
  display:grid;
  grid-template-columns: 34px 1fr;
  gap:12px;
  align-items:start;
}
.section-icon{
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  border:1px solid var(--border-2);
  background:rgba(255,255,255,.03);
  color:var(--brand);
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset;
}
.section-icon svg{
  width:18px;
  height:18px;
  display:block;
  fill:currentColor;
}
.section-header--icon .section-header-content > *:first-child{margin-top:0}
:root[dir="rtl"] .section-header--icon{grid-template-columns: 1fr 34px}
:root[dir="rtl"] .section-header--icon .section-icon{grid-column:2}
:root[dir="rtl"] .section-header--icon .section-header-content{grid-column:1}
.metric{
  font-size:28px;
  letter-spacing:-0.02em;
  font-weight:700;
  color:var(--text);
}
.metric span{color:var(--brand)}

/* ===== About: Founder spotlight (make the CEO clearly visible) ===== */
.about-founder-spotlight{padding-top:24px; padding-bottom:24px}
.founder-spotlight{
  position:relative;
  overflow:hidden;
  padding:22px;
}
.founder-spotlight::before{
  content:"";
  position:absolute;
  inset:-40% -30% auto -30%;
  height:160%;
  background:
    radial-gradient(600px 380px at 15% 30%, rgba(168,255,240,.16), transparent 60%),
    radial-gradient(560px 360px at 75% 20%, rgba(141,214,255,.12), transparent 58%);
  pointer-events:none;
}
.founder-spotlight > *{position:relative; z-index:1}
.founder-spotlight-kicker{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.03);
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:12px;
  color:var(--muted);
}
.founder-spotlight-title{
  margin:12px 0 10px;
  font-size:clamp(30px, 3.2vw, 44px);
  line-height:1.06;
  letter-spacing:-0.03em;
}
.founder-name{color:var(--text)}
.founder-name-inline{color:rgba(246,247,251,.95)}
.founder-spotlight-lead{
  margin:0 0 10px;
  color:rgba(246,247,251,.78);
  max-width:78ch;
}
.founder-spotlight-list{
  margin:14px 0 0;
  padding:0 0 0 18px;
  color:var(--muted);
  line-height:1.6;
}
.founder-spotlight-list li{margin:7px 0}
html[dir="rtl"] .founder-spotlight-list{padding:0 18px 0 0}

.btn-row{display:flex; gap:12px; flex-wrap:wrap; align-items:center}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:46px;
  height:auto;
  padding:0 18px;
  border-radius:999px;
  border:1px solid var(--border-2);
  background:rgba(255,255,255,.02);
  color:var(--text);
  font-weight:650;
  letter-spacing:.01em;
  transition:transform .15s ease, border-color .15s ease, background .15s ease;
  cursor:pointer;
  user-select:none;
  touch-action:manipulation;
}

/* ===== About: Video background (Video_04) ===== */
body[data-page="about"] .section-storytelling.has-about-bg-video{
  position:relative;
  overflow:hidden;
}
body[data-page="about"] .section-storytelling.has-about-bg-video .container{position:relative; z-index:2}
body[data-page="about"] .about-bg-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 50%;
  z-index:0;
  opacity:1;
}
body[data-page="about"] .section-storytelling.has-about-bg-video::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    radial-gradient(70% 55% at 55% 35%, rgba(0,0,0,.18), rgba(0,0,0,.72)),
    linear-gradient(rgba(11,15,20,.55), rgba(11,15,20,.72));
  pointer-events:none;
}
.btn:hover{transform:translateY(-1px); border-color:rgba(168,255,240,.55)}
.btn:active{transform:translateY(0)}
.btn-primary{
  background:linear-gradient(90deg, rgba(168,255,240,.95), rgba(141,214,255,.92));
  color:#071018;
  border-color:transparent;
}
.btn-primary:hover{background:linear-gradient(90deg, rgba(168,255,240,1), rgba(141,214,255,1))}
.btn-secondary{background:rgba(255,255,255,.02)}
.btn:focus-visible{outline:none; box-shadow:0 0 0 4px var(--focus)}
.btn-mini{
  height:34px;
  padding:0 14px;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-weight:750;
}
.btn-soft{
  background:rgba(168,255,240,.10);
  border-color:rgba(168,255,240,.28);
}

/* Hero CTA pills: slightly larger + premium gradient border for the secondary CTA */
.hero .btn-row .btn{
  min-height:52px;
  padding:0 24px;
  font-size: 15px;
  font-weight: 720;
}
.btn.btn-secondary[data-i18n="home.hero.secondary"],
.btn.btn-secondary[data-i18n="cta.exploreMemberships"]{
  min-height:56px;
  padding:0 28px;
  font-size:16px;
  font-weight:760;
}
.hero .btn.btn-secondary:not(.whatsapp-inline){
  border: 1px solid transparent;
  color: rgba(246,247,251,.92);
  text-shadow: 0 2px 18px rgba(0,0,0,.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  background:
    linear-gradient(rgba(7,9,13,.34), rgba(7,9,13,.28)) padding-box,
    linear-gradient(90deg, rgba(42,167,255,.98), rgba(141,214,255,.98)) border-box;
}
.hero .btn.btn-secondary:not(.whatsapp-inline):hover{
  color: rgba(246,247,251,.98);
  text-shadow: 0 2px 22px rgba(0,0,0,.55);
  background:
    linear-gradient(rgba(7,9,13,.26), rgba(7,9,13,.20)) padding-box,
    linear-gradient(90deg, rgba(42,167,255,1), rgba(141,214,255,1)) border-box;
}

/* Explore Programs (outside hero): match premium blue border + readable fill */
.btn.btn-secondary[data-i18n="cta.exploreMemberships"]{
  border: 1px solid transparent;
  color: rgba(246,247,251,.92);
  text-shadow: 0 2px 18px rgba(0,0,0,.55);
  background:
    linear-gradient(rgba(7,9,13,.34), rgba(7,9,13,.28)) padding-box,
    linear-gradient(90deg, rgba(42,167,255,.98), rgba(141,214,255,.98)) border-box;
}
.btn.btn-secondary[data-i18n="cta.exploreMemberships"]:hover{
  color: rgba(246,247,251,.98);
  background:
    linear-gradient(rgba(7,9,13,.26), rgba(7,9,13,.20)) padding-box,
    linear-gradient(90deg, rgba(42,167,255,1), rgba(141,214,255,1)) border-box;
}

.header{
  position:fixed;
  inset:0 0 auto 0;
  z-index:100;
  border-bottom:1px solid rgba(255,255,255,.06);
  background:rgba(7,9,13,.62);
  backdrop-filter:blur(18px);
  padding-top: var(--safe-top);
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .btn, .card, .nav a{transition:none}
  .btn:hover{transform:none}
}

/* Performance: reduce expensive blur/filters on mobile */
@media (max-width: 980px){
  .header{backdrop-filter:none; background:rgba(7,9,13,.92)}
  .eyebrow{backdrop-filter:none}
  .amenity-item{backdrop-filter:none}
  .rls-timeline-card{backdrop-filter:none}
  .hero::after{filter:none}
  .mayo-bgvideo{filter:none}
}
.header-inner{
  min-height:calc(var(--header-h) + var(--safe-top));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-top: var(--safe-top);
  padding-bottom: 0;
}
.header-lower{
  border-top:1px solid rgba(255,255,255,.05);
}
.header-lower-inner{
  height:14px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.hosting-logo{
  height:12px;
  width:auto;
  opacity:.65;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.35));
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:190px;
}
.logo-img{
  width:auto;
  height:26px;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.45));
}
.mark{
  width:12px;
  height:28px;
  border-radius:2px;
  background:linear-gradient(180deg, var(--brand), var(--brand-2));
}
.brand span{
  font-weight:800;
  letter-spacing:.24em;
  font-size:16px;
  line-height:1.05;
  white-space:nowrap;
}
.nav{
  display:flex;
  align-items:center;
  gap:16px;
  flex: 1 1 auto;
  min-width: 0;
  justify-content: flex-start;
  padding-inline: 12px;
  scroll-padding-inline: 12px;
  overflow: visible;
}
.nav > a, .nav > .nav-item{ flex: 0 0 auto; }
.nav-item{position:relative; display:flex; align-items:center}
.nav-top{display:inline-flex; align-items:center; gap:6px}
.nav-caret{opacity:.7; font-size:12px; transform:translateY(-1px)}
.nav-sub{
  position:absolute;
  top:100%;
  left:-12px;
  min-width:240px;
  padding:10px 10px;
  border-radius:14px;
  border:1px solid var(--border);
  background:rgba(7,9,13,.96);
  box-shadow:0 20px 70px rgba(0,0,0,.55);
  opacity:0;
  transform:translateY(10px);
  pointer-events:none;
  transition:opacity .15s ease, transform .15s ease;
  z-index:50;
}
.nav-item--dropdown:hover .nav-sub,
.nav-item--dropdown:focus-within .nav-sub{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.nav-item--dropdown:hover .nav-top,
.nav-item--dropdown:focus-within .nav-top{
  color:var(--brand);
  text-shadow:0 0 18px rgba(168,255,240,.28);
}
.nav-item--dropdown:hover .nav-top::after,
.nav-item--dropdown:focus-within .nav-top::after{
  opacity:1;
  transform:scaleX(1);
  filter:drop-shadow(0 0 14px rgba(168,255,240,.22));
}
.nav-item--dropdown.is-open .nav-sub{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.nav-item--dropdown.is-open .nav-top{
  color: var(--brand);
  text-shadow:0 0 18px rgba(168,255,240,.28);
}
.nav-item--dropdown.is-open .nav-top::after{
  opacity:1;
  transform:scaleX(1);
  filter:drop-shadow(0 0 14px rgba(168,255,240,.22));
}
.nav-item--dropdown.is-open .nav-caret{ opacity: 1; }
.nav-sub-link{
  display:block;
  padding:10px 10px;
  border-radius:10px;
  font-size:13px;
  letter-spacing:.02em;
  text-transform:none;
  color:var(--text);
}
.nav-sub-link:hover,
.nav-sub-link:focus-visible{
  background:rgba(255,255,255,.04);
  color:var(--brand);
}
.nav a{
  font-size:12px;
  color:var(--muted);
  letter-spacing:.03em;
  text-transform:uppercase;
  font-weight:650;
  position:relative;
  padding:6px 0;
  white-space: nowrap;
  transition:color .15s ease, text-shadow .15s ease, opacity .15s ease;
}
.nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-6px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--brand), var(--brand-2));
  opacity:0;
  transform:scaleX(.7);
  transform-origin:center;
  transition:opacity .15s ease, transform .15s ease, filter .15s ease;
}
.nav a:hover,
.nav a:focus-visible{
  color:var(--brand);
  text-shadow:0 0 18px rgba(168,255,240,.28);
}
.nav a:hover::after,
.nav a:focus-visible::after{
  opacity:1;
  transform:scaleX(1);
  filter:drop-shadow(0 0 14px rgba(168,255,240,.22));
}
.nav a[aria-current="page"]{
  color:var(--text);
  text-shadow:0 0 18px rgba(168,255,240,.18);
}
.nav a[aria-current="page"]::after{
  opacity:.7;
  transform:scaleX(1);
}
.header-actions{display:flex; align-items:center; gap:10px}
.lang-wrap{display:flex; align-items:center}
.lang-switch{
  height:40px;
  border-radius:999px;
  border:1px solid var(--border);
  padding:0 8px;
  min-width:78px;
  background:rgba(255,255,255,.02);
  color:var(--muted);
  font-weight:650;
  letter-spacing:0;
  font-size:13px;
  text-align:left;
}
.lang-switch:focus{outline:none; box-shadow:0 0 0 4px var(--focus); border-color:rgba(168,255,240,.45)}
[dir="rtl"] .lang-switch{text-align:right}
.lang-wrap-mobile{margin-top:10px}
.footer-lang{margin-top:10px}
.menu-btn{display:none}
.menu-btn{
  min-width:46px;
  padding:0 14px;
}
.menu-btn-icon{
  width:16px;
  display:grid;
  gap:4px;
}
.menu-btn-icon span{
  display:block;
  width:100%;
  height:2px;
  border-radius:999px;
  background:currentColor;
  transition:transform .18s ease, opacity .18s ease;
}
.menu-btn[aria-expanded="true"] .menu-btn-icon span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-btn[aria-expanded="true"] .menu-btn-icon span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] .menu-btn-icon span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media (max-width: 920px){
  .nav{display:none}
  .menu-btn{display:inline-flex}
  /* Keep language switcher usable on mobile:
     - hide the header inline switcher to save space
     - show the switcher inside the mobile drawer + footer */
  .header-actions .lang-wrap{display:none}
  .mobile-drawer .lang-wrap{display:flex}
  .footer .lang-wrap{display:flex}
}

/* Desktop fallback: if nav overflows (zoom / narrow), switch to menu (no clipped labels). */
.header[data-nav-overflow="1"] .nav{
  position:absolute;
  left:-9999px;
  top:-9999px;
  width:max-content;
  opacity:0;
  pointer-events:none;
}
.header[data-nav-overflow="1"] .menu-btn{display:inline-flex}
.header[data-nav-overflow="1"] .header-actions .lang-wrap{display:none}
.header[data-nav-overflow="1"] .mobile-drawer .lang-wrap{display:flex}

/* Desktop/narrow: reduce spacing so nav never overflows the header */
@media (max-width: 1180px){
  .header-inner{gap:12px}
  .brand{min-width:160px}
  .logo-img{height:24px}
  .brand span{font-size:15px; letter-spacing:.20em}
  .nav{
    gap:14px;
    justify-content: center;
  }
  .nav a{font-size:11.5px; letter-spacing:.02em}
}

/* Desktop tighter: keep labels readable without clipping (multi-language) */
@media (max-width: 1040px){
  .nav{gap:12px}
  .nav a{font-size:11px; letter-spacing:.02em}
  .header-actions{gap:8px}
  .btn.btn-primary{padding:10px 12px}
  .header-actions .btn.btn-primary{white-space:nowrap}
}

.mobile-drawer{
  display:none;
  border-top:1px solid rgba(255,255,255,.06);
  background:rgba(7,9,13,.86);
}
.mobile-drawer-head{
  display:grid;
  gap:8px;
  padding:14px 20px 0 20px;
}
.mobile-drawer-lang-label{
  margin:0;
  color:var(--muted);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:700;
}
body.nav-drawer-open{
  overflow:hidden;
}
.mobile-drawer.open{display:block}
.mobile-links{
  display:grid;
  padding:12px 20px 18px 20px;
  gap:12px;
}
.mobile-drawer .lang-wrap-mobile{margin-top:0}
.mobile-drawer .lang-switch{
  width:100%;
  min-width:0;
  min-height:44px;
  color:var(--text);
}
.mobile-links a{
  min-height:44px;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:14px;
  color:var(--muted);
  font-size:14px;
  transition:color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.mobile-links a:hover,
.mobile-links a:focus-visible{
  color:var(--brand);
  border-color:rgba(168,255,240,.35);
  box-shadow:0 0 0 4px rgba(168,255,240,.12);
}

/* Mobile nav accordion groups */
.mobile-group{display:grid; gap:10px}
.mobile-group-btn{
  min-height:44px;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:14px;
  background:transparent;
  color:var(--muted);
  font-size:14px;
  font-weight:650;
  letter-spacing:.05em;
  text-transform:uppercase;
  cursor:pointer;
  transition:color .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.mobile-group-btn[aria-expanded="true"]{
  color:var(--brand);
  border-color:rgba(168,255,240,.35);
  box-shadow:0 0 0 4px rgba(168,255,240,.12);
}
.mobile-group-caret{opacity:.75; transition:transform .15s ease}
.mobile-group-btn[aria-expanded="true"] .mobile-group-caret{transform:rotate(180deg)}
.mobile-group-panel{
  display:grid;
  gap:10px;
  padding-left:14px;
  border-left:1px solid rgba(255,255,255,.10);
}
.mobile-group-panel a{font-size:14px}
.mobile-group-toplink{
  border-color:rgba(255,255,255,.12);
  background:rgba(255,255,255,.02);
}
@media (max-width: 460px){
  .menu-btn-label{display:none}
  .menu-btn{padding:0 12px}
}

[dir="rtl"] body{direction:rtl}
[dir="rtl"] .header-inner{flex-direction:row-reverse}
[dir="rtl"] .header-lower-inner{justify-content:flex-start}

/* ===== Relysian Timeline (Premium / Minimal) ===== */
.rls-timeline-header{margin-bottom:40px}
.rls-timeline-subtitle{max-width:860px; margin:0; color:var(--muted); line-height:1.65}

.rls-timeline{position:relative; padding:10px 0 20px}
.rls-timeline-line{
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:2px;
  transform:translateX(-50%);
  background:rgba(255,255,255,.12);
}

.rls-timeline-item{
  position:relative;
  display:grid;
  grid-template-columns:1fr 40px 1fr;
  gap:18px;
  margin:18px 0;
}
.rls-left{grid-template-areas:"card dot empty"}
.rls-right{grid-template-areas:"empty dot card"}
.rls-center{grid-template-areas:"empty dot card"}

.rls-left .rls-timeline-card{grid-area:card; justify-self:end}
.rls-right .rls-timeline-card{grid-area:card; justify-self:start}
.rls-center .rls-timeline-card{grid-area:card; justify-self:center; max-width:760px}

.rls-dot{
  grid-area:dot;
  width:14px;
  height:14px;
  border-radius:999px;
  background:rgba(246,247,251,.92);
  align-self:start;
  margin-top:18px;
  box-shadow:0 0 0 6px rgba(246,247,251,.10);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.rls-timeline-card{
  width:min(460px, 100%);
  padding:18px 18px 16px;
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset;
  backdrop-filter:blur(10px);
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.rls-timeline-date{
  display:inline-block;
  font-weight:650;
  letter-spacing:.02em;
  color:var(--subtle);
  margin-bottom:8px;
  text-transform:uppercase;
}
.rls-timeline-title{
  margin:0 0 10px;
  font-size:clamp(18px, 1.6vw, 20px);
  line-height:1.32;
  color:rgba(246,247,251,.95);
}
.rls-timeline-text{margin:0; color:var(--muted); line-height:1.7}
.rls-motto{text-align:center}

.rls-steps ul,
ul.rls-steps{
  margin:12px 0 0;
  padding:0 0 0 18px;
  color:var(--muted);
  line-height:1.55;
}
.rls-steps li,
ul.rls-steps li{margin:6px 0}

.rls-timeline-media{
  margin:12px 0 0;
  position:relative;
  overflow:hidden; /* prevents Ken Burns from covering text */
  border-radius:14px;
}
.rls-timeline-media img{
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
  object-position:50% 50%;
  border-radius:0;
  border:none;
  box-shadow:none;
  opacity:.95;
}
.rls-timeline-media:not(.rls-media-carousel){
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 12px 30px rgba(0,0,0,.30);
}
.rls-timeline-media--foreground img{
  aspect-ratio:4/5;
  object-position:50% 18%;
}

/* ===== About: Timeline photo auto-scroll (subtle, premium) ===== */
@keyframes rls-kenburns-soft{
  from{transform:scale(1) translate3d(0,0,0)}
  to{transform:scale(1.05) translate3d(0,-2%,0)}
}

body[data-page="about"] .rls-timeline-media img{
  will-change: transform;
}

@media (prefers-reduced-motion: no-preference){
  body[data-page="about"] .rls-timeline-media:not(.rls-media-carousel) img{
    animation: rls-kenburns-soft 16s ease-in-out infinite alternate;
  }
  body[data-page="about"] .rls-timeline-media:hover img,
  body[data-page="about"] .rls-timeline-media:focus-within img{
    animation-play-state: paused;
  }
}

/* Multi-image carousel inside timeline cards */
body[data-page="about"] .rls-media-carousel{
  position:relative;
  overflow:hidden;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 12px 30px rgba(0,0,0,.30);
  background: rgba(0,0,0,.22);
}
body[data-page="about"] .rls-timeline-media.rls-media-carousel{ aspect-ratio:16/9; }
body[data-page="about"] .rls-timeline-media--foreground.rls-media-carousel{ aspect-ratio:4/5; }

body[data-page="about"] .rls-media-carousel > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 50%;
  opacity:0;
  transition: opacity 520ms ease;
  border:none;
  border-radius:0;
  box-shadow:none;
}
body[data-page="about"] .rls-media-carousel > img.is-active{ opacity:1; }
body[data-page="about"] .rls-timeline-media--foreground.rls-media-carousel > img{ object-position:50% 18%; }

@media (prefers-reduced-motion: no-preference){
  body[data-page="about"] .rls-media-carousel > img.is-active{
    animation: rls-kenburns-soft 14s ease-in-out infinite alternate;
  }
  body[data-page="about"] .rls-media-carousel:hover > img.is-active,
  body[data-page="about"] .rls-media-carousel:focus-within > img.is-active{
    animation-play-state: paused;
  }
}
.rls-motto-media{
  max-width:360px;
  margin:14px auto 0;
}
.rls-timeline-caption{
  margin-top:8px;
  color:var(--subtle);
  font-size:12px;
  line-height:1.45;
  letter-spacing:.02em;
}

.rls-reveal{opacity:0; transform:translateY(18px); transition:opacity 600ms ease, transform 600ms ease}
.rls-reveal.is-visible{opacity:1; transform:translateY(0)}
.rls-reveal.is-active .rls-timeline-card{
  border-color:rgba(168,255,240,.28);
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset, 0 18px 60px rgba(0,0,0,.45);
  transform:translateY(-2px);
}
.rls-reveal.is-active .rls-dot{
  background:var(--brand);
  transform:scale(1.08);
  box-shadow:0 0 0 8px rgba(168,255,240,.14), 0 0 28px rgba(168,255,240,.22);
}

@media (max-width: 820px){
  .rls-timeline-line{left:18px; transform:none}
  .rls-timeline-item{grid-template-columns:18px 1fr; grid-template-areas:"dot card"}
  .rls-left .rls-timeline-card,
  .rls-right .rls-timeline-card,
  .rls-center .rls-timeline-card{justify-self:stretch; width:100%}
  .rls-dot{margin-top:22px}
}

[dir="rtl"] .rls-left{grid-template-areas:"empty dot card"}
[dir="rtl"] .rls-right{grid-template-areas:"card dot empty"}

/* ===== About: Credentials ===== */
.rls-credentials-header{margin-bottom:22px}
.rls-credentials-subtitle{max-width:920px; margin:0; color:var(--muted); line-height:1.65}
.rls-credentials-list ul{
  margin:12px 0 0;
  padding:0 0 0 18px;
  color:var(--muted);
  line-height:1.6;
}
.rls-credentials-list li{margin:6px 0}
.rls-credentials-seo{max-width:980px; color:var(--muted); line-height:1.7}
[dir="rtl"] .rls-credentials-list ul{padding:0 18px 0 0}

.section-credentials .credentials-location{
  margin-top:16px;
  padding-top:12px;
  border-top:1px solid var(--border);
  color:var(--subtle);
  font-size:13px;
  line-height:1.55;
}

.section-education h3{margin-top:22px}
.section-education h4{
  margin:18px 0 10px;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--subtle);
}
.section-education ul{
  margin:10px 0 0;
  padding:0 0 0 18px;
  color:var(--muted);
  line-height:1.6;
}
.section-education li{margin:10px 0}
[data-i18n-html="pages.about.recap.academicList"] li.has-edu-flag{
  display:flex;
  gap:10px;
  align-items:flex-start;
}
[data-i18n-html="pages.about.recap.certsList"] li.has-edu-flag{
  display:flex;
  gap:10px;
  align-items:flex-start;
}
[data-i18n-html="pages.about.recap.academicList"] .edu-flag{
  width:22px;
  height:22px;
  min-width:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.18);
  font-size:14px;
  line-height:1;
  margin-top:2px;
}
[data-i18n-html="pages.about.recap.certsList"] .edu-flag{
  width:22px;
  height:22px;
  min-width:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.18);
  font-size:14px;
  line-height:1;
  margin-top:2px;
}
[data-i18n-html="pages.about.recap.academicList"] .edu-body{display:block}
[data-i18n-html="pages.about.recap.certsList"] .edu-body{display:block}
[dir="rtl"] [data-i18n-html="pages.about.recap.academicList"] li.has-edu-flag{flex-direction:row-reverse}
[dir="rtl"] [data-i18n-html="pages.about.recap.certsList"] li.has-edu-flag{flex-direction:row-reverse}
[dir="rtl"] .section-education ul{padding:0 18px 0 0}

/* ===== From Abroad: Executive Journey Estimator ===== */
.rly-estimator{max-width:980px; margin:0 auto}
.rly-card{
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border-radius:var(--radius);
  padding:22px;
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset, var(--shadow);
}
.rly-header h2{margin:0 0 8px 0; font-size:22px; letter-spacing:-0.01em}
.rly-sub{margin:0 0 18px 0; color:var(--muted); line-height:1.55}
.rly-grid{display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px}
@media (max-width: 860px){ .rly-grid{grid-template-columns:1fr} }

.rly-field label{display:block; font-size:14px; color:var(--subtle); margin-bottom:8px; font-weight:650}
.rly-field input,
.rly-field select{
  width:100%;
  background:rgba(0,0,0,.18);
  color:var(--text);
  border:1px solid var(--border);
  border-radius:14px;
  padding:12px 12px;
  outline:none;
}
.rly-field input:focus,
.rly-field select:focus{border-color:rgba(168,255,240,.35); box-shadow:0 0 0 4px rgba(168,255,240,.10)}
.rly-field input::placeholder{color:rgba(246,247,251,.45)}
.rly-field small{display:block; margin-top:8px; font-size:13px; color:var(--subtle); line-height:1.45}
.rly-field input[type="range"]{padding:10px 0; background:transparent; border:none}
.rly-inline{display:flex; align-items:center; justify-content:space-between; margin-top:8px}
.rly-chip{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(0,0,0,.16);
  font-size:12px;
  color:var(--muted);
}
.rly-muted{font-size:12px; color:var(--subtle)}

.rly-presets{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.rly-presets .btn{
  height:32px;
  padding:0 12px;
  border-radius:999px;
}

.rly-actions{display:flex; gap:10px; align-items:flex-end}
.rly-btn{
  width:100%;
  border-radius:14px;
  border:1px solid var(--border-2);
  background:rgba(255,255,255,.02);
  color:var(--text);
  height:46px;
  font-weight:700;
  letter-spacing:.01em;
  cursor:pointer;
  transition:transform .15s ease, border-color .15s ease, background .15s ease;
}
.rly-btn:hover{transform:translateY(-1px); border-color:rgba(168,255,240,.45); background:rgba(255,255,255,.04)}
.rly-btn:active{transform:translateY(0)}
.rly-btn:focus-visible{outline:none; box-shadow:0 0 0 4px var(--focus)}
.rly-btn-ghost{background:transparent}
.rly-btn[data-estimate-btn]{
  background:linear-gradient(90deg, rgba(168,255,240,.95), rgba(141,214,255,.92));
  color:#071018;
  border-color:transparent;
}
.rly-btn[data-estimate-btn]:hover{
  background:linear-gradient(90deg, rgba(168,255,240,1), rgba(141,214,255,1));
}

.rly-result{
  margin-top:18px;
  padding:16px;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:rgba(0,0,0,.14);
  line-height:1.6;
}
.rly-summary{display:grid; gap:6px; color:var(--muted); font-size:13px}
.rly-error{
  border:1px solid rgba(255,80,80,.35);
  background:rgba(255,80,80,.08);
  padding:12px 12px;
  border-radius:14px;
  color:rgba(246,247,251,.88);
}

.rly-kpi{display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px; margin-top:14px}
@media (max-width: 980px){ .rly-kpi{grid-template-columns:1fr} }
.rly-pill{
  padding:12px;
  border-radius:14px;
  border:1px solid var(--border);
  background:rgba(0,0,0,.16);
}
.rly-pill b{display:block; font-size:12px; color:var(--subtle); margin-bottom:4px; font-weight:750}
.rly-pill span{font-size:16px; font-weight:820; color:var(--text)}
.rly-note{margin-top:14px; color:var(--subtle); font-size:12px; line-height:1.55}

.rly-route{
  margin-top:14px;
  border-radius:14px;
  border:1px solid var(--border);
  background:rgba(0,0,0,.16);
  overflow:hidden;
}
.rly-route svg{display:block; width:100%; height:auto}
.rly-route iframe{display:block; width:100%; height:420px; border:0}
@media (max-width: 860px){
  .rly-route iframe{height:360px}
}

/* ===== Executive Journey: Jet Estimator (EN only for now) ===== */
.jet-estimator .jet-form{margin:0}
.jet-estimator .jet-results{margin-top:18px}
.jet-estimator .jet-top{
  display:grid;
  grid-template-columns:minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap:16px;
  align-items: start;
}
.jet-estimator .jet-map{
  width:100%;
  min-height:360px;
  border:0;
  background:rgba(255,255,255,.03);
}
.jet-estimator .jet-summary{
  border-radius:14px;
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.08));
  padding:14px;
  display:grid;
  gap:4px;
  position:sticky;
  top:10px;
}
.jet-estimator .jet-metric{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.jet-estimator .jet-metric:last-child{border-bottom:none}
.jet-estimator .jet-metric-label{font-size:12px; color:var(--subtle); font-weight:700; letter-spacing:.02em}
.jet-estimator .jet-metric-value{font-size:14px; color:var(--text); font-weight:850}
.jet-estimator .jet-metric-total .jet-metric-value{font-size:16px}
.jet-estimator .jet-result-copy{
  margin:2px 0 0;
  font-size:11.5px;
  color:rgba(246,247,251,.62);
  line-height:1.4;
}
.jet-estimator .jet-summary .rly-cta-row{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
.jet-estimator .jet-util-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-top:10px;
}
.jet-estimator .jet-util-btn{
  border:1px solid var(--border);
  background:rgba(255,255,255,.02);
  color:var(--text);
  text-decoration:none;
  border-radius:999px;
  padding:6px 11px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.02em;
  cursor:pointer;
  transition:border-color .14s ease, background .14s ease, transform .14s ease;
}
.jet-estimator .jet-util-btn:hover{
  border-color:rgba(168,255,240,.38);
  background:rgba(255,255,255,.06);
  transform:translateY(-1px);
}
.jet-estimator .jet-util-btn:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px var(--focus);
}
.jet-estimator .jet-util-status{
  font-size:11px;
  color:rgba(168,255,240,.88);
  min-height:14px;
}
.jet-estimator .jet-breakdown{
  margin-top: 14px;
  display:grid;
  gap: 8px;
}
.jet-estimator .jet-break-row{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  font-size:12.8px;
  color:rgba(255,255,255,.85);
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.02);
  flex-wrap:wrap;
}
.jet-estimator .jet-break-note{
  font-size:11.5px;
  color:rgba(255,255,255,.55);
  margin-top:8px;
  line-height:1.35;
}
@media (max-width: 980px){
  .jet-estimator .jet-top{grid-template-columns:1fr}
  .jet-estimator .jet-summary{position:static}
  .jet-estimator .jet-map{min-height:300px}
  .jet-estimator .jet-util-row{
    align-items:flex-start;
  }
  .jet-estimator .jet-break-row{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
  }
}

/* ===== Executive Journey: Concierge (collapsible) ===== */
.rly-concierge{
  position:relative;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  /* Keep panel above the backdrop so CTA links are clickable */
  z-index: 60;
}
.rly-concierge-pill{
  appearance:none;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.06);
  color: var(--text);
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 800;
  letter-spacing: .02em;
  cursor:pointer;
  transition: transform .14s ease, background .14s ease, border-color .14s ease, box-shadow .14s ease;
}
.rly-concierge-pill:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.26);
}
.rly-concierge-pill:focus-visible{outline:none; box-shadow:0 0 0 4px var(--focus)}

.rly-concierge-panel{
  position:absolute;
  right:0;
  bottom: calc(100% + 10px);
  width: min(420px, 92vw);
  z-index: 61;
  border-radius: 16px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.58);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 22px 70px rgba(0,0,0,.55);
  overflow:hidden;
  opacity: 0;
  transform: translateY(6px);
  pointer-events:none;
  transition: opacity .16s ease, transform .16s ease;
}
.rly-concierge-panel .rly-cta-row{
  display:grid;
  grid-template-columns: 1fr;
  gap: 10px;
  padding: 12px;
  margin: 0;
}
.rly-concierge.is-open .rly-concierge-panel{
  opacity: 1;
  transform: translateY(0);
  pointer-events:auto;
}
.rly-concierge-backdrop{
  position: fixed;
  inset: 0;
  background: transparent;
  z-index: 50;
}
.rly-map-bg{fill:rgba(0,0,0,.18)}
.rly-map-world path{
  fill:rgba(255,255,255,.10);
  stroke:rgba(255,255,255,.14);
  stroke-width:1;
}
.rly-map-world .rly-world-dot{fill:rgba(255,255,255,.09)}
.rly-map-grid line{stroke:rgba(255,255,255,.08); stroke-width:1}
.rly-map-arc{
  fill:none;
  stroke:rgba(168,255,240,.95);
  stroke-width:3;
  stroke-linecap:round;
  filter:drop-shadow(0 0 8px rgba(168,255,240,.25));
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  animation:rlyArcDraw 1.1s ease forwards;
}
.rly-map-dot{
  fill:rgba(255,255,255,.92);
  stroke:rgba(0,0,0,.25);
  stroke-width:2;
}
.rly-map-dot--dest{fill:rgba(168,255,240,.95)}
.rly-map-label{
  font-size:12px;
  fill:rgba(246,247,251,.85);
  font-weight:750;
  letter-spacing:.02em;
}
@keyframes rlyArcDraw{to{stroke-dashoffset:0}}

.rly-footer{margin-top:14px; display:flex; flex-direction:column; gap:12px}
.rly-disclaimer{margin:0; font-size:12px; color:var(--subtle); line-height:1.55}
.rly-cta-row{display:flex; gap:10px; flex-wrap:wrap}
.rly-cta{
  flex:1 1 240px;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  padding:12px 14px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(168,255,240,.95), rgba(141,214,255,.92));
  color:#071018;
  text-decoration:none;
  font-weight:850;
  transition:transform .15s ease, opacity .15s ease;
}
.rly-cta:hover{transform:translateY(-1px); opacity:.96}
.rly-cta:active{transform:translateY(0)}
.rly-cta-ghost{
  background:transparent;
  color:var(--text);
  border:1px solid var(--border-2);
}
.rly-cta-ghost:hover{
  background:rgba(255,255,255,.05);
  opacity:1;
}

/* From Abroad (EN): process cards with dedicated imagery */
body[data-page="fatLoss"] .from-abroad-cardbg .card{
  isolation:isolate;
}
body[data-page="fatLoss"] .from-abroad-cardbg .card > *{
  position:relative;
  z-index:1;
}
body[data-page="fatLoss"] .from-abroad-cardbg .card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  z-index:0;
}
body[data-page="fatLoss"] .from-abroad-cardbg .card[data-journey-bg="pre-arrival"]::before{
  background-image:
    linear-gradient(180deg, rgba(6,9,14,.26), rgba(6,9,14,.68)),
    url("/assets/media/foto-aggiunte-nuove/Pre-arrival%20intake.png");
}
body[data-page="fatLoss"] .from-abroad-cardbg .card[data-journey-bg="on-site"]::before{
  background-image:
    linear-gradient(180deg, rgba(6,9,14,.24), rgba(6,9,14,.66)),
    url("/assets/media/foto-aggiunte-nuove/On-site%20assessment.png");
}
body[data-page="fatLoss"] .from-abroad-cardbg .card[data-journey-bg="execution"]::before{
  background-image:
    linear-gradient(180deg, rgba(6,9,14,.24), rgba(6,9,14,.68)),
    url("/assets/media/foto-aggiunte-nuove/Execution%20%26%20follow-up.png");
}

.rly-estimator #rly_jet_profile_wrap{display:none}

html[dir="rtl"] .rly-inline{flex-direction:row-reverse}
html[dir="rtl"] .rly-actions{flex-direction:row-reverse}

/* ===== Home: Precision PT card background ===== */
.service-card--ptbg{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(180deg, rgba(0,0,0,.52), rgba(0,0,0,.18)),
    url("/assets/media/foto-aggiunte-nuove/PT.jpg");
  background-size:cover;
  background-position:center;
}
.service-card--ptbg::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(70% 60% at 50% 30%, rgba(168,255,240,.10), transparent 60%),
    linear-gradient(180deg, rgba(5,7,12,.08), rgba(5,7,12,.48));
  z-index:0;
}
.service-card--ptbg > *{position:relative; z-index:1}

.service-card--fatbg{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(180deg, rgba(0,0,0,.52), rgba(0,0,0,.18)),
    url("/assets/media/foto-aggiunte-nuove/fatloss.jpg");
  background-size:cover;
  background-position:center;
}
.service-card--fatbg::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(70% 60% at 50% 30%, rgba(255,255,255,.08), transparent 60%),
    linear-gradient(180deg, rgba(5,7,12,.08), rgba(5,7,12,.48));
  z-index:0;
}
.service-card--fatbg > *{position:relative; z-index:1}

/* ===== Home: Recovery card background (Percussion) ===== */
.service-card--percussionbg{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(180deg, rgba(0,0,0,.52), rgba(0,0,0,.18)),
    url("/assets/media/foto-aggiunte-nuove/percussion.jpg");
  background-size:cover;
  background-position:center;
}
.service-card--percussionbg::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(80% 60% at 50% 30%, rgba(168,255,240,.08), transparent 60%),
    linear-gradient(180deg, rgba(5,7,12,.08), rgba(5,7,12,.48));
  z-index:0;
}
.service-card--percussionbg > *{position:relative; z-index:1}

/* Recovery page: Compression Therapy background override (requested) */
.service-card--compressiontherapybg{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(180deg, rgba(0,0,0,.52), rgba(0,0,0,.18)),
    url("/assets/media/pagina-home/3ACB0067-8500-49EA-A113-C33B68F8874A.png");
  background-size:cover;
  background-position:center;
}
.service-card--compressiontherapybg::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(80% 60% at 50% 30%, rgba(168,255,240,.08), transparent 60%),
    linear-gradient(180deg, rgba(5,7,12,.08), rgba(5,7,12,.48));
  z-index:0;
}
.service-card--compressiontherapybg > *{position:relative; z-index:1}

/* ===== Home: Longevity-Oriented Coaching card background ===== */
.service-card--longevitybg{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(180deg, rgba(0,0,0,.52), rgba(0,0,0,.18)),
    url("/assets/media/foto-aggiunte-nuove/longevity%20coaching.jpg");
  background-size:cover;
  background-position:center;
}
.service-card--longevitybg::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(80% 60% at 50% 30%, rgba(168,255,240,.08), transparent 60%),
    linear-gradient(180deg, rgba(5,7,12,.08), rgba(5,7,12,.48));
  z-index:0;
}
.service-card--longevitybg > *{position:relative; z-index:1}

/* ===== Home: What We Do card background (Biomarkers & Lab Partnerships) ===== */
.service-card--biomarkersbg{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(180deg, rgba(0,0,0,.52), rgba(0,0,0,.18)),
    url("/assets/media/foto-aggiunte-nuove/biomarkers.jpg");
  background-size:cover;
  background-position:center;
}
.service-card--biomarkersbg::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(80% 60% at 50% 30%, rgba(168,255,240,.08), transparent 60%),
    linear-gradient(180deg, rgba(5,7,12,.08), rgba(5,7,12,.48));
  z-index:0;
}
.service-card--biomarkersbg > *{position:relative; z-index:1}

/* ===== Home: What We Do card background (Wearable Trends / Ring) ===== */
.service-card--wearablebg{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(180deg, rgba(0,0,0,.52), rgba(0,0,0,.18)),
    url("/assets/running-club-bg/vo2max-card.jpg");
  background-size:cover;
  background-position:center 22%;
}
.service-card--wearablebg::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(80% 60% at 50% 30%, rgba(168,255,240,.08), transparent 60%),
    linear-gradient(180deg, rgba(5,7,12,.08), rgba(5,7,12,.48));
  z-index:0;
}
.service-card--wearablebg > *{position:relative; z-index:1}

/* ===== Home: What We Do card background (Genetics & Advanced Testing) ===== */
.service-card--geneticsbg{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(180deg, rgba(0,0,0,.52), rgba(0,0,0,.18)),
    url("/assets/media/foto-aggiunte-nuove/genetic.PNG");
  background-size:cover;
  background-position:center;
}
.service-card--geneticsbg::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(80% 60% at 50% 30%, rgba(168,255,240,.08), transparent 60%),
    linear-gradient(180deg, rgba(5,7,12,.08), rgba(5,7,12,.48));
  z-index:0;
}
.service-card--geneticsbg > *{position:relative; z-index:1}

/* ===== Home: Recovery card background (Red Light & NIR) ===== */
.service-card--redlightbg{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(180deg, rgba(0,0,0,.52), rgba(0,0,0,.18)),
    url("/assets/media/foto-aggiunte-nuove/red%20light.jpg");
  background-size:cover;
  background-position:center;
}
.service-card--redlightbg::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(80% 60% at 50% 30%, rgba(168,255,240,.08), transparent 60%),
    linear-gradient(180deg, rgba(5,7,12,.08), rgba(5,7,12,.48));
  z-index:0;
}
.service-card--redlightbg > *{position:relative; z-index:1}

/* ===== Home: Recovery card background (Compression Therapy) ===== */
.service-card--compressionbg{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(180deg, rgba(0,0,0,.52), rgba(0,0,0,.18)),
    url("/assets/media/foto-aggiunte-nuove/compression.jpg");
  background-size:cover;
  background-position:center;
}
.service-card--compressionbg::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(80% 60% at 50% 30%, rgba(168,255,240,.08), transparent 60%),
    linear-gradient(180deg, rgba(5,7,12,.08), rgba(5,7,12,.48));
  z-index:0;
}
.service-card--compressionbg > *{position:relative; z-index:1}

/* ===== Home: Recovery card background (Peptide‑Infused Massage) ===== */
.service-card--peptidebg{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(180deg, rgba(0,0,0,.52), rgba(0,0,0,.18)),
    url("/assets/media/foto-aggiunte-nuove/masage.jpg");
  background-size:cover;
  background-position:center;
}
.service-card--peptidebg::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(80% 60% at 50% 30%, rgba(168,255,240,.08), transparent 60%),
    linear-gradient(180deg, rgba(5,7,12,.08), rgba(5,7,12,.48));
  z-index:0;
}
.service-card--peptidebg > *{position:relative; z-index:1}

/* Ensure background overlays clip perfectly to rounded card corners */
.service-card--ptbg,
.service-card--fatbg,
.service-card--percussionbg,
.service-card--compressiontherapybg,
.service-card--longevitybg,
.service-card--biomarkersbg,
.service-card--wearablebg,
.service-card--geneticsbg,
.service-card--redlightbg,
.service-card--compressionbg,
.service-card--peptidebg{
  background-clip: padding-box;
}
.service-card--ptbg::after,
.service-card--fatbg::after,
.service-card--percussionbg::after,
.service-card--compressiontherapybg::after,
.service-card--longevitybg::after,
.service-card--biomarkersbg::after,
.service-card--wearablebg::after,
.service-card--geneticsbg::after,
.service-card--redlightbg::after,
.service-card--compressionbg::after,
.service-card--peptidebg::after{
  border-radius: inherit;
}
.projection-form .field{display:block}
.projection-form{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-radius: var(--radius);
  background-clip: padding-box;
  background:
    radial-gradient(900px 420px at 18% 0%, rgba(168,255,240,.10), transparent 55%),
    radial-gradient(900px 520px at 92% 70%, rgba(141,214,255,.07), transparent 60%),
    linear-gradient(180deg, rgba(10,12,16,.92), rgba(6,8,12,.72));
}
.projection-form::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:44px 44px, 44px 44px;
  opacity:.10;
  pointer-events:none;
  mix-blend-mode:screen;
}
.projection-form::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  pointer-events:none;
}
.projection-form > *{position:relative; z-index:1}
.projection-form .label{display:block; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--subtle); margin-bottom:6px}
.projection-form input,
.projection-form select{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.02);
  color:var(--text);
}
.projection-form input:focus,
.projection-form select:focus{
  outline:none;
  box-shadow:0 0 0 4px var(--focus);
  border-color:rgba(168,255,240,.45);
}
.projection-form .hint{display:block; margin-top:6px; font-size:13px; color:var(--subtle)}
.projection-results .projection-kpis{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap:10px;
  margin:12px 0 12px;
}
.section-projection .projection-kpis{display:none !important;}
@media (max-width: 520px){
  .projection-results .projection-kpis{grid-template-columns:1fr; gap:8px}
}
.projection-results .kpi{
  border:1px solid var(--border);
  border-radius:16px;
  padding:12px 12px;
  background:rgba(255,255,255,.02);
}
.projection-results .kpi-label{font-size:12px; color:var(--subtle); letter-spacing:.08em; text-transform:uppercase}
.projection-results .kpi-value{margin-top:8px; font-size:18px; font-weight:700}
.projection-chart{margin-top:12px}
.chart-row{display:grid; grid-template-columns: 90px 1fr; gap:12px; align-items:center; margin:10px 0}
.chart-label{font-size:12px; color:var(--subtle); letter-spacing:.08em; text-transform:uppercase}
.bar{
  height:12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  overflow:hidden;
}
.bar span{
  display:block;
  height:100%;
  width:40%;
  border-radius:999px;
  background:rgba(255,255,255,.7);
  box-shadow:0 8px 18px rgba(0,0,0,.35);
}
.projection-blur{filter:none; opacity:1}
.projection-curve-wrap.is-preview .projection-curve-labels{display:none}
.projection-locked{position:relative; margin-top:12px}
.projection-lock-overlay{
  position:absolute;
  inset:0;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(7,9,13,.18), rgba(7,9,13,.38));
  pointer-events:none;
}
.projection-gate{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--border);
}
.projection-gate h4{margin:0 0 8px; font-size:16px}
.projection-empty{min-height:120px; display:flex; align-items:center}
.projection-details h4{margin:0 0 8px}

[dir="rtl"] .chart-row{grid-template-columns: 1fr 90px}
[dir="rtl"] .chart-label{text-align:end}

/* RPP: make results feel premium & “big” */
.section-projection .kpi-value{font-size:clamp(18px, 2.6vw, 26px); letter-spacing:-.02em}
.section-projection .kpi-label{font-size:11px; letter-spacing:.14em}

.rpp-adv .meta{margin:6px 0 0; opacity:.82}
.rpp-adv-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}
.rpp-adv-item{
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  padding:12px 12px;
  background:rgba(255,255,255,.02);
}
.rpp-adv-k{
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--subtle);
}
.rpp-adv-v{
  margin-top:6px;
  font-size:clamp(18px, 2.3vw, 26px);
  font-weight:780;
  letter-spacing:-.02em;
  color:rgba(212,255,247,.92);
  text-shadow:0 0 28px rgba(168,255,240,.12);
}
@media (max-width: 860px){
  .rpp-adv-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
}
@media (max-width: 520px){
  .rpp-adv-grid{grid-template-columns:1fr}
}

.projection-curve-wrap{margin-top:12px}
.projection-curve-head{display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:10px}
.projection-curve-title{font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--subtle)}
.projection-legend{display:flex; gap:12px; align-items:center; flex-wrap:wrap}
.legend-item{display:inline-flex; align-items:center; gap:8px; font-size:12px; color:var(--subtle)}
.legend-item i{display:inline-block; width:22px; height:3px; border-radius:999px; background:rgba(255,255,255,.35)}
.legend-relysian i{
  background:linear-gradient(90deg, var(--brand), var(--brand-2));
  box-shadow:0 0 12px rgba(168,255,240,.18);
}
.projection-curve{
  width:100%;
  height:auto;
  border-radius:16px;
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
}
.projection-curve .curve-line{stroke-dasharray:1; stroke-dashoffset:0}
.projection-curve-wrap.is-preview .projection-curve:not(.is-mini) .curve-line{stroke-dashoffset:1; animation:curve-draw 1100ms cubic-bezier(.2,.9,.2,1) forwards}
.projection-curve-wrap.is-preview .projection-curve:not(.is-mini) .curve-line-relysian{animation-delay:120ms}
.projection-curve-wrap.is-preview .projection-curve:not(.is-mini) .curve-line-diy{animation-delay:260ms}
.projection-curve-wrap.is-preview .projection-curve:not(.is-mini) .curve-fill{opacity:0; animation:curve-fade 700ms ease forwards; animation-delay:420ms}
.projection-curve-wrap.is-preview .projection-curve:not(.is-mini) .curve-fill-relysian{animation-delay:360ms}
.projection-curve-wrap.is-preview .projection-curve:not(.is-mini) .curve-fill-diy{animation-delay:440ms}

@keyframes curve-draw{to{stroke-dashoffset:0}}
@keyframes curve-fade{to{opacity:1}}
@media (prefers-reduced-motion: reduce){
  .projection-curve-wrap.is-preview .projection-curve:not(.is-mini) .curve-line,
  .projection-curve-wrap.is-preview .projection-curve:not(.is-mini) .curve-fill{animation:none; stroke-dashoffset:0; opacity:1}
}
.projection-curve-axis{margin-top:8px; font-size:12px; color:var(--subtle); text-align:center}
.projection-curve-note{margin-top:10px}
.rpp-unified{margin-top:14px}
.rpp-u-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.rpp-u-title{font-weight:750; letter-spacing:.02em; font-size:12px; text-transform:uppercase; opacity:.88}
.rpp-u-frame{
  position:relative;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  overflow:hidden;
  box-shadow:0 10px 34px rgba(0,0,0,.26);
  background:
    radial-gradient(1000px 420px at 15% 20%, rgba(168,255,240,.08), transparent 55%),
    radial-gradient(900px 520px at 80% 70%, rgba(255,255,255,.05), transparent 55%),
    linear-gradient(180deg, rgba(0,0,0,.40), rgba(0,0,0,.22));
}
.rpp-u-frame--content{margin-top:10px}
.rpp-u-frame::before{
  content:"";
  position:absolute;
  inset:-40px;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,.18) 0 1px, transparent 2px),
    radial-gradient(circle at 55% 40%, rgba(255,255,255,.14) 0 1px, transparent 2px),
    radial-gradient(circle at 80% 25%, rgba(255,255,255,.12) 0 1px, transparent 2px),
    radial-gradient(circle at 35% 78%, rgba(255,255,255,.16) 0 1px, transparent 2px),
    radial-gradient(circle at 72% 70%, rgba(255,255,255,.12) 0 1px, transparent 2px);
  opacity:.22;
  pointer-events:none;
}
.rpp-u-frame::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:44px 44px, 44px 44px;
  opacity:.08;
  pointer-events:none;
  mix-blend-mode:screen;
}
.rpp-u-svg{
  position:relative;
  width:100%;
  height:auto;
  display:block;
  background:transparent;
}
.rpp-u-scan{
  position:absolute;
  top:-40%;
  bottom:-40%;
  width:30%;
  left:-45%;
  background:linear-gradient(90deg, transparent, rgba(168,255,240,.10), rgba(168,255,240,.22), rgba(168,255,240,.10), transparent);
  transform:skewX(-18deg);
  opacity:.42;
  pointer-events:none;
  animation:rpp-scan 2400ms linear infinite;
}
@keyframes rpp-scan{to{left:120%}}
.rpp-u-grid line{stroke:rgba(255,255,255,.08); stroke-width:1}
.rpp-u-grid text{fill:rgba(255,255,255,.42); font-size:11px; font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}
.rpp-u-plotbg{fill:rgba(255,255,255,.03); stroke:rgba(255,255,255,.08); stroke-width:1}
.rpp-u-label{fill:rgba(246,247,251,.86); font-size:13px; font-weight:650; font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}
.rpp-u-baseline{stroke:rgba(255,255,255,.06); stroke-width:1}
.rpp-u-line{fill:none; stroke-linecap:round}
.rpp-u-line-diy{stroke:rgba(255,255,255,.28); stroke-width:2.6}
.rpp-u-line-rls{stroke-width:3.2}
.rpp-u-dot-diy{fill:rgba(255,255,255,.45)}
.rpp-u-dot-rls{fill:rgba(255,255,255,.92)}
.rpp-u-end{font-size:11px; font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}
.rpp-u-end-diy{fill:rgba(255,255,255,.55)}
.rpp-u-end-rls{fill:rgba(255,255,255,.92)}

.rpp-u-runner{
  fill:rgba(212,255,247,.95);
  stroke:rgba(0,0,0,.35);
  stroke-width:1.2;
  filter:drop-shadow(0 0 12px rgba(168,255,240,.24));
  opacity:.95;
}
.rpp-unified.is-preview .rpp-u-runner{animation:rpp-pulse 900ms ease-in-out infinite}
@keyframes rpp-pulse{
  0%,100%{transform:scale(1); opacity:.9}
  50%{transform:scale(1.12); opacity:1}
}
@media (prefers-reduced-motion: reduce){
  .rpp-unified.is-preview .rpp-u-runner{animation:none}
}

.rpp-unified.is-preview .rpp-u-svg{filter:none; opacity:.88}
.rpp-unified.is-preview .projection-curve-note{opacity:.7}

/* RPP weekly trajectories + table */
.rpp-weekly{margin-top:14px}
.rpp-weekly-top{display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:10px}
.rpp-weekly-top-title{
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--subtle);
}
.rpp-weekly-top-note{font-size:12px; color:var(--subtle); line-height:1.5; max-width:520px}
.rpp-weekly-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}
@media (max-width: 920px){
  .rpp-weekly-grid{grid-template-columns:1fr}
  .rpp-weekly-top{flex-direction:column}
}
.rpp-weekly-item{
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  padding:14px;
  background:rgba(0,0,0,.14);
  overflow:hidden;
}
.rpp-weekly-head{display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:10px}
.rpp-weekly-title{font-weight:740; letter-spacing:.01em}
.rpp-weekly-legend{display:flex; gap:8px; flex-wrap:wrap; align-items:center}
.rpp-weekly-pill{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  font-size:12px;
  color:var(--subtle);
  background:rgba(255,255,255,.03);
}
.rpp-weekly-pill-rls{
  color:rgba(246,247,251,.92);
  border-color:rgba(168,255,240,.18);
  background:linear-gradient(90deg, rgba(168,255,240,.10), rgba(141,214,255,.06));
}
.rpp-weekly-spark svg{width:100%; height:auto; display:block}
.rpp-weekly-bg{fill:rgba(255,255,255,.03); stroke:rgba(255,255,255,.08); stroke-width:1}
.rpp-weekly-gridline{stroke:rgba(255,255,255,.06); stroke-width:1}
.rpp-weekly-line{fill:none; stroke-linecap:round; stroke-width:3.0}
.rpp-weekly-line-diy{stroke:rgba(255,255,255,.26)}
.rpp-weekly-line-rls{stroke-width:3.3; filter:drop-shadow(0 0 10px rgba(168,255,240,.14))}

.rpp-weekly-table-wrap{
  margin-top:10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(255,255,255,.02);
  overflow:auto;
  -webkit-overflow-scrolling: touch;
}
.rpp-weekly-table{width:100%; border-collapse:collapse; min-width:680px}
.rpp-weekly-table th,
.rpp-weekly-table td{
  padding:10px 10px;
  border-bottom:1px solid rgba(255,255,255,.06);
  text-align:center;
  font-size:12px;
  color:rgba(246,247,251,.82);
}
.rpp-weekly-table thead th{
  font-size:11px;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--subtle);
  background:rgba(0,0,0,.12);
}
.rpp-weekly-rowhead{
  text-align:left;
  color:rgba(246,247,251,.86);
  font-weight:700;
  white-space:nowrap;
}
.rpp-weekly-corner{ text-align:left }
.rpp-weekly-week{ white-space:nowrap }
.rpp-weekly-tr.is-rls .rpp-weekly-rowhead{color:rgba(212,255,247,.92)}
.rpp-weekly-tr.is-rls .rpp-weekly-val{color:rgba(246,247,251,.92)}
.rpp-weekly-tr.is-rls td{background:rgba(168,255,240,.04)}
.rpp-weekly-table tr:last-child td,
.rpp-weekly-table tr:last-child th{border-bottom:none}

.rpp-weekly-table-wrap.is-preview .rpp-weekly-val{
  filter:blur(4px);
  opacity:.75;
  user-select:none;
}

[dir="rtl"] .rpp-weekly-top{flex-direction:row-reverse}
[dir="rtl"] .rpp-weekly-head{flex-direction:row-reverse}
[dir="rtl"] .rpp-weekly-rowhead{text-align:right}

/* Unified chart animation */
.rpp-u-line{stroke-dasharray:900; stroke-dashoffset:900}
.rpp-unified.is-preview .rpp-u-line,
.rpp-unified.is-full .rpp-u-line{animation:rpp-draw 1200ms cubic-bezier(.2,.9,.2,1) forwards}
.rpp-unified.is-preview .rpp-u-line-rls,
.rpp-unified.is-full .rpp-u-line-rls{animation-delay:140ms}
.rpp-unified.is-preview .rpp-u-line-diy,
.rpp-unified.is-full .rpp-u-line-diy{animation-delay:260ms}
@keyframes rpp-draw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion: reduce){
  .rpp-u-line{animation:none; stroke-dashoffset:0}
  .rpp-u-scan{animation:none; display:none}
}

/* Unified chart hover focus (discreet) */
.rpp-u-row:hover .rpp-u-plotbg{stroke:rgba(168,255,240,.26)}
.rpp-u-row:hover .rpp-u-line-rls{stroke-width:3.8}
.rpp-u-row:hover .rpp-u-dot-rls{fill:rgba(168,255,240,.92)}
.rpp-u-row:hover .rpp-u-label{fill:rgba(168,255,240,.92)}
.rpp-u-row:hover .rpp-u-end-rls{fill:rgba(168,255,240,.92)}

/* Before → After (full results only) */
.rpp-proof{
  margin:0 0 12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  padding:14px;
  background:rgba(0,0,0,.18);
}
.rpp-proof-head{display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:10px}
.rpp-proof-title{font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--subtle)}
.rpp-proof-note{font-size:13px; opacity:.8; max-width:720px; line-height:1.45}
.rpp-proof-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.rpp-proof-card{
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  padding:12px;
  background:rgba(255,255,255,.02);
  display:grid;
  justify-items:center;
  align-content:start;
  min-height:160px;
}
.rpp-proof-card-strong{background:rgba(168,255,240,.06); border-color:rgba(168,255,240,.18)}
.rpp-proof-label{font-size:12px; color:var(--subtle); margin-bottom:8px; width:100%; text-align:center}
.rpp-silhouette{width:108px; height:108px; display:block}
.rpp-figure3d{
  width: 140px;
  height: 140px;
  display: grid;
  place-items: center;
  transform: perspective(780px) rotateY(-10deg) scaleX(var(--body-scale, 1));
  transform-origin: center;
}
.rpp-figure3d-after{
  transform: perspective(780px) rotateY(10deg) scaleX(var(--body-scale, 0.9));
}
.rpp-body3d{width:140px; height:140px; display:block}
.rpp-body3d-after{filter: drop-shadow(0 0 12px rgba(127,231,213,.14))}
.rpp-proof-badges{display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; justify-content:center}
.rpp-badge{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.22);
}
.rpp-badge-up{border-color:rgba(168,255,240,.22); color:rgba(212,255,247,.92)}
.rpp-badge-down{border-color:rgba(255,255,255,.12); color:rgba(246,247,251,.92)}
@media (max-width: 720px){
  .rpp-proof-grid{grid-template-columns:1fr}
  .rpp-proof-head{flex-direction:column}
  .rpp-figure3d{width:132px; height:132px}
  .rpp-body3d{width:132px; height:132px}
}

[dir="rtl"] .projection-curve-head{flex-direction:row-reverse}

.trajectory-grid{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:12px;
}
.trajectory-mini{
  border:1px solid var(--border);
  border-radius:18px;
  padding:12px;
  background:rgba(255,255,255,.02);
}
.trajectory-mini-title{
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--subtle);
  margin:0 0 10px;
}
.trajectory-mini .projection-curve{
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01));
}

@media (max-width: 520px){
  .trajectory-grid{grid-template-columns:1fr}
  .trajectory-mini{padding:10px}
}

.metric-chart{
  margin-top:14px;
  border:1px solid var(--border);
  border-radius:18px;
  padding:14px;
  background:rgba(255,255,255,.02);
}
.metric-chart-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:10px;
}
.metric-chart-title{
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--subtle);
}
.metric-chart-subtitle{margin-top:6px; font-size:13px; color:var(--muted); line-height:1.5}
.metric-chart-legend{display:flex; gap:8px; flex-wrap:wrap; align-items:center}
.legend-pill{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  font-size:12px;
  color:var(--subtle);
}
.legend-pill-relysian{
  color:rgba(255,255,255,.92);
  border-color:rgba(255,255,255,.22);
  background:rgba(255,255,255,.04);
}
.metric-row{
  display:grid;
  grid-template-columns: 220px 160px 1fr;
  gap:12px;
  align-items:center;
  padding:10px 0;
  border-top:1px solid rgba(255,255,255,.06);
}
.metric-row:first-of-type{border-top:none}
.metric-name{
  font-size:12px;
  color:var(--subtle);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.metric-bars{display:grid; gap:10px}
.metric-spark-wrap{display:flex; justify-content:flex-start}
.metric-spark{
  width:160px;
  height:auto;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.02);
}
.metric-bar{
  position:relative;
  height:28px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  overflow:hidden;
}
.metric-bar-fill{
  position:absolute;
  inset:0 auto 0 0;
  width:30%;
  background:rgba(255,255,255,.24);
}
.metric-bar-relysian .metric-bar-fill{
  background:rgba(255,255,255,.72);
  box-shadow:0 12px 28px rgba(0,0,0,.35);
}
.metric-bar-value{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  height:100%;
  padding:0 12px;
  font-weight:700;
  font-size:13px;
  color:rgba(255,255,255,.9);
  mix-blend-mode:screen;
}
.metric-bar-diy .metric-bar-value{color:rgba(255,255,255,.72); font-weight:600}
@media (max-width: 720px){
  .metric-row{grid-template-columns:1fr; gap:8px}
  .metric-spark{width:100%}
}
[dir="rtl"] .metric-chart-head{flex-direction:row-reverse}

.ceo-recap-header{
  display:grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap:24px;
  align-items:end;
}
.ceo-recap-figure{
  margin:0;
  justify-self:end;
}
.ceo-portrait-primary{
  width:320px;
  height:400px;
  object-fit:cover;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 40px rgba(0,0,0,.45);
  background:rgba(255,255,255,.03);
  display:block;
}
.ceo-caption{
  margin-top:10px;
  color:var(--subtle);
  font-size:12px;
  line-height:1.4;
  letter-spacing:.02em;
}
.ceo-carousel{
  position:relative;
  width:320px;
  height:400px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 40px rgba(0,0,0,.45);
  overflow:hidden;
  background:rgba(255,255,255,.03);
}
.ceo-carousel-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transition:opacity 600ms ease;
  filter:contrast(1.02) saturate(.98);
}
.ceo-carousel-img.is-active{opacity:1}
.ceo-carousel-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:36px;
  height:36px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.35);
  color:rgba(255,255,255,.92);
  display:grid;
  place-items:center;
  cursor:pointer;
  opacity:0;
  transition:opacity 200ms ease, transform 200ms ease, background 200ms ease;
  z-index:3;
}
.ceo-carousel-btn span{font-size:18px; line-height:1}
.ceo-carousel-prev{left:10px}
.ceo-carousel-next{right:10px}
.ceo-carousel:hover .ceo-carousel-btn,
.ceo-carousel:focus-within .ceo-carousel-btn{opacity:1}
.ceo-carousel-btn:hover{background:rgba(0,0,0,.5); transform:translateY(-50%) translateY(-1px)}
.ceo-carousel-btn:focus-visible{outline:2px solid rgba(255,255,255,.55); outline-offset:2px}
.ceo-carousel-dots{
  position:absolute;
  left:14px;
  bottom:12px;
  display:flex;
  gap:6px;
  z-index:3;
}
.ceo-dot{
  width:6px;
  height:6px;
  border-radius:999px;
  background:rgba(255,255,255,.35);
}
.ceo-dot.is-active{background:rgba(255,255,255,.9)}
.ceo-inline-figure{
  margin:18px 0 2px;
  display:flex;
  justify-content:flex-start;
}
.ceo-portrait-secondary{
  width:340px;
  height:430px;
  object-fit:cover;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 14px 34px rgba(0,0,0,.42);
  opacity:.9;
}
@media (max-width: 900px){
  .ceo-recap-header{grid-template-columns: minmax(0, 1fr) 280px}
  .ceo-carousel{width:280px; height:350px}
  .ceo-portrait-primary{width:280px; height:350px}
  .ceo-portrait-secondary{width:300px; height:380px}
}
@media (max-width: 720px){
  .ceo-recap-header{grid-template-columns: 1fr; align-items:start}
  .ceo-recap-figure{justify-self:start}
  .ceo-carousel{width:min(320px, 100%); height:auto; aspect-ratio:4/5}
  .ceo-portrait-primary{width:min(320px, 100%); height:auto; aspect-ratio:4/5}
  .ceo-portrait-secondary{width:min(340px, 100%); height:auto; aspect-ratio:4/5}
  .ceo-carousel-btn{opacity:1}
}
[dir="rtl"] .ceo-recap-header{grid-template-columns: 320px minmax(0, 1fr)}
[dir="rtl"] .ceo-recap-figure{justify-self:start}
[dir="rtl"] .ceo-inline-figure{justify-content:flex-end}
[dir="rtl"] .ceo-carousel-prev{right:10px; left:auto}
[dir="rtl"] .ceo-carousel-next{left:10px; right:auto}

.timeline-carousel{
  margin:18px 0 26px;
  display:flex;
  justify-content:center;
}
.ceo-carousel--timeline{
  width:min(980px, 100%);
  height:auto;
  aspect-ratio: 16 / 9;
  border-radius:24px;
}
.ceo-carousel--timeline .ceo-carousel-btn{opacity:1}
@media (max-width: 720px){
  .ceo-carousel--timeline{aspect-ratio: 4 / 5}
}

/* ===== Credentials Slider ===== */
.section-credentials-slider .section-header{margin-bottom:16px}
.logo-slider{
  position:relative;
  overflow:hidden;
  border-radius:var(--radius);
  border:1px solid rgba(0,0,0,.10);
  background:#ffffff;
  box-shadow: 0 18px 60px rgba(0,0,0,.26);
  direction:ltr;
}
.logo-slider::before,
.logo-slider::after{
  content:"";
  position:absolute;
  top:0; bottom:0;
  width:72px;
  z-index:2;
  pointer-events:none;
}
.logo-slider::before{
  left:0;
  background:linear-gradient(90deg, rgba(255,255,255,1), rgba(255,255,255,0));
}
.logo-slider::after{
  right:0;
  background:linear-gradient(270deg, rgba(255,255,255,1), rgba(255,255,255,0));
}
.logo-track{
  display:flex;
  align-items:center;
  gap:34px;
  padding:18px 22px;
  width:max-content;
  animation:rls-marquee 42s linear infinite;
}
.logo-slider:hover .logo-track{animation-play-state:paused}
.logo-track img{
  height:44px;
  width:auto;
  opacity:1;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.10)) drop-shadow(0 10px 18px rgba(0,0,0,.08));
  transform:translateZ(0);
}
.logo-track img:hover{
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.10)) drop-shadow(0 18px 26px rgba(0,0,0,.12));
}
@media (max-width: 720px){
  .logo-track{gap:22px; padding:14px 16px; animation-duration:38s}
  .logo-track img{height:38px}
  .logo-slider::before,.logo-slider::after{width:44px}
}
@media (prefers-reduced-motion: reduce){
  .logo-track{animation:none}
}
@keyframes rls-marquee{
  from{transform:translateX(0)}
  to{transform:translateX(var(--marquee-shift, -50%))}
}
[dir="rtl"] .brand{flex-direction:row-reverse}
[dir="rtl"] .header-actions{flex-direction:row-reverse}
[dir="rtl"] .mobile-links{direction:rtl}
[dir="rtl"] .footer-top{direction:rtl}
[dir="rtl"] .footer-bottom{direction:rtl}
[dir="rtl"] .exec-layout{grid-template-columns:360px minmax(0, 1fr)}

.page{
  padding-top:calc(var(--header-real-h) + var(--safe-top));
}

.founder-page{
  position:relative;
  overflow:hidden;
}
.founder-bg{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
}
.founder-bg::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(900px 600px at 20% 20%, rgba(168,255,240,.10), transparent 60%),
             radial-gradient(800px 540px at 86% 10%, rgba(141,214,255,.10), transparent 55%),
             radial-gradient(900px 600px at 60% 90%, rgba(255,255,255,.04), transparent 60%);
  opacity:.9;
}
.founder-bg img{
  position:absolute;
  width:min(9vw, 100px);
  height:auto;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.08);
  opacity:.045;
  filter:saturate(.9) contrast(1.05) blur(1px);
  transform:translateZ(0);
}
.founder-bg .i1{top:14%; right:6%; transform:rotate(6deg)}
@media (max-width: 900px){
  .founder-bg img{width:min(23vw, 100px); opacity:.04}
}
.founder-content{
  position:relative;
  z-index:1;
}

.portrait-rows{
  display:grid;
  gap:18px;
}
.portrait-row{
  display:grid;
  grid-template-columns:minmax(110px, 140px) minmax(0, 1fr);
  gap:16px;
  align-items:center;
}
.portrait-row--reverse{
  grid-template-columns:minmax(0, 1fr) minmax(110px, 140px);
}
.portrait-media{
  border-radius:var(--radius);
  border:1px solid var(--border);
  overflow:hidden;
  background:rgba(255,255,255,.02);
  aspect-ratio:3/4;
  max-width:100px;
}
.portrait-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.92;
}
.portrait-text .meta{margin-bottom:6px}
.portrait-text ul{margin:0; padding-left:18px; color:var(--muted); line-height:1.65}
.portrait-text li{margin:6px 0}
@media (max-width: 820px){
  .portrait-row,
  .portrait-row--reverse{grid-template-columns:1fr}
  .portrait-media{max-width:130px}
}

.hero{
  position:relative;
  min-height:calc(100vh - var(--header-real-h));
  min-height:calc(100svh - var(--header-real-h));
  display:flex;
  align-items:flex-end;
  padding:32px 0 54px 0;
  overflow:hidden;
  background: var(--bg);
}
/* Remove the perceived “gap” under the fixed header for hero pages */
.page > .hero:first-child{
  margin-top:calc(-1 * (var(--header-real-h) + var(--safe-top)));
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  /* Slightly brighter overlay to keep the premium look while improving readability */
  background:linear-gradient(180deg, rgba(7,9,13,.44) 0%, rgba(7,9,13,.84) 72%, rgba(7,9,13,.96) 100%);
  pointer-events:none;
  z-index:1;
}
.hero::after{
  content:"";
  position:absolute;
  inset:-40% -10% auto -10%;
  height:70%;
  background:radial-gradient(closest-side, rgba(168,255,240,.12), transparent 60%);
  filter:blur(2px);
  z-index:1;
  pointer-events:none;
}
.hero-media{
  position:absolute;
  inset:0;
  z-index:0;
  opacity:1;
  transform:none;
  background: #000;
  isolation:isolate;
  contain: paint;
}
.hero-media::after{
  /* Bottom fade to avoid a hard cut into the next section */
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:clamp(140px, 22vh, 320px);
  background:linear-gradient(
    to bottom,
    rgba(11,15,20,0) 0%,
    rgba(11,15,20,.18) 35%,
    rgba(11,15,20,.46) 65%,
    rgba(11,15,20,.78) 85%,
    var(--bg) 100%
  );
  pointer-events:none;
  z-index:2;
}
.hero-media > svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.hero-media video{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:none;
  opacity:1;
  transform:none;
  will-change:auto;
  display:block;
}
[data-autoplay-managed="1"]{
  opacity:0;
  transition: opacity .18s ease;
}
[data-autoplay-managed="1"].is-playing{
  opacity:1;
}
.hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  -webkit-mask-image: radial-gradient(closest-corner, rgba(0,0,0,1) 78%, rgba(0,0,0,0) 100%);
  mask-image: radial-gradient(closest-corner, rgba(0,0,0,1) 78%, rgba(0,0,0,0) 100%);
}
@media (prefers-reduced-motion: reduce){
  .hero-media video{opacity:0}
}
.section.has-bg-video{
  position:relative;
  overflow:hidden;
  background: var(--bg);
  --bg-video-h: clamp(220px, 56.25vw, 460px);
  padding-top: var(--bg-video-h);
}
.section.has-bg-video .section-media{
  position:absolute;
  top:0;
  left:0;
  right:0;
  height: var(--bg-video-h);
  z-index:0;
  opacity:1;
  transform:none;
  overflow:hidden;
  background:#000;
  isolation:isolate;
  contain: paint;
}
.section.has-bg-video .section-media::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(closest-corner, rgba(7,9,13,0) 60%, rgba(7,9,13,.64) 100%),
    linear-gradient(180deg, rgba(7,9,13,.28) 0%, rgba(7,9,13,.78) 100%);
  z-index:1;
}
.section.has-bg-video .section-media::before{
  /* Bottom fade to blend the video into the section surface */
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:clamp(110px, 16vh, 240px);
  background:linear-gradient(
    to bottom,
    rgba(11,15,20,0) 0%,
    rgba(11,15,20,.18) 40%,
    rgba(11,15,20,.46) 70%,
    rgba(11,15,20,.78) 88%,
    var(--bg) 100%
  );
  pointer-events:none;
  z-index:2;
}
.section.has-bg-video .section-media video{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:none;
  opacity:1;
  transform:none;
  will-change:auto;
  display:block;
}

/* Image background stability (no implicit parallax / no compositing drift on scroll) */
body[data-page="femme"] .femme-cardbg .card::before,
body[data-page="runningClub"] .running-cardbg .card::before,
body[data-page="fatLoss"] .from-abroad-cardbg .card::before,
[class^="service-card--"],
[class*=" service-card--"]{
  background-attachment:scroll;
  transform:none;
  will-change:auto;
}
.section.has-bg-video .section-media video{position:relative; z-index:0}
.section.has-bg-video .container{
  position:relative;
  z-index:2;
}
.hero-content{
  position:relative;
  z-index:2;
  padding-top:72px;
}
.hero h1{max-width:18ch}
.hero p{max-width:66ch; font-size:clamp(16px, 1.2vw, 19px); line-height:1.7}
.hero-split{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:22px;
  align-items:end;
}
@media (max-width: 960px){
  .hero{min-height:auto; padding:32px 0 44px 0}
  .hero-split{grid-template-columns:1fr}
}
.hero-panel{
  padding:18px;
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:rgba(12,16,23,.55);
  backdrop-filter:blur(18px);
}
@media (max-width: 960px), (prefers-reduced-motion: reduce){
  .hero-panel{backdrop-filter:none; background:rgba(12,16,23,.78)}
}
.list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.list li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:var(--muted);
}
.check{
  width:18px;
  height:18px;
  border-radius:6px;
  border:1px solid rgba(168,255,240,.45);
  background:rgba(168,255,240,.10);
  flex:none;
  margin-top:2px;
}

.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  align-items:start;
}
@media (max-width: 900px){ .split{grid-template-columns:1fr} }

.consultation-price{
  margin-top: 14px;
  padding: 14px 16px;
}
.consultation-price__kicker{
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .78;
}
.consultation-price__row{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-top: 8px;
}
.consultation-price__label{
  font-weight: 750;
  color: rgba(246,247,251,.92);
}
.consultation-price__value{
  font-weight: 900;
  letter-spacing: -0.01em;
  font-size: clamp(18px, 2.2vw, 26px);
  color: var(--brand);
}
html[dir="rtl"] .consultation-price__row{ flex-direction: row-reverse; }

.pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  border:1px solid var(--border);
  padding:10px 12px;
  border-radius:999px;
  color:var(--muted);
  font-size:13px;
}
.divider{
  height:1px;
  background:rgba(255,255,255,.06);
  margin:18px 0;
}

.footer{
  border-top:1px solid rgba(255,255,255,.06);
  background:linear-gradient(180deg, rgba(12,16,23,.55), rgba(7,9,13,1));
  padding:34px 0;
}

/* Footer subscribe (Fountain-style) */
.footer-subscribe{
  border:1px solid rgba(255,255,255,.08);
  border-radius: 24px;
  padding: 22px 20px;
  background:
    radial-gradient(820px 260px at 40% -20%, rgba(168,255,240,.16), transparent 65%),
    radial-gradient(900px 260px at 80% 120%, rgba(255,255,255,.06), transparent 65%),
    rgba(0,0,0,.18);
  box-shadow: 0 18px 60px rgba(0,0,0,.30);
  margin-bottom: 18px;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.footer-subscribe:hover{
  border-color: rgba(168,255,240,.24);
  box-shadow: 0 22px 70px rgba(0,0,0,.38);
  transform: translateY(-1px);
}
.footer-subscribe-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 18px;
}
.footer-subscribe-title{
  margin: 0;
  font-size: clamp(22px, 2.4vw, 40px);
  letter-spacing: -0.02em;
  line-height: 1.1;
}
.footer-subscribe-sub{
  margin: 6px 0 0;
  max-width: 54ch;
  opacity: .82;
  line-height: 1.5;
  font-size: 13px;
}
.footer-subscribe-form{
  margin-top: 18px;
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr auto;
  gap: 18px;
  align-items:end;
}
.footer-subscribe-field{
  display:flex;
  flex-direction:column;
  gap: 8px;
}
.footer-subscribe-label{
  font-size: 13px;
  color: rgba(246,247,251,.78);
}
.footer-subscribe-field input{
  width: 100%;
  background: transparent;
  border: none;
  padding: 6px 0 8px;
  color: rgba(246,247,251,.94);
  font-size: 15px;
  outline: none;
}
.footer-subscribe-line{
  height: 2px;
  width: 100%;
  background: rgba(255,255,255,.18);
  border-radius: 999px;
  transition: background .16s ease, box-shadow .16s ease, opacity .16s ease;
}
.footer-subscribe-field:focus-within .footer-subscribe-line{
  background: linear-gradient(90deg, var(--brand), var(--brand-2));
  box-shadow: 0 0 18px rgba(168,255,240,.25);
}
.footer-subscribe-field:hover .footer-subscribe-line{
  background: rgba(255,255,255,.28);
}
/* Clicking email subtly primes first/last name fields */
.footer-subscribe.is-email-focus .footer-subscribe-field--first .footer-subscribe-line,
.footer-subscribe.is-email-focus .footer-subscribe-field--last .footer-subscribe-line{
  background: linear-gradient(90deg, rgba(168,255,240,.55), rgba(168,255,240,.18));
  box-shadow: 0 0 14px rgba(168,255,240,.18);
}
.footer-subscribe-btn{
  appearance:none;
  border:1px solid rgba(255,255,255,.18);
  background: transparent;
  color: rgba(246,247,251,.94);
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 800;
  letter-spacing: .01em;
  cursor:pointer;
  transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
  min-width: 132px;
}
.footer-subscribe-btn:hover{
  border-color: rgba(168,255,240,.26);
  background: rgba(168,255,240,.10);
  box-shadow: 0 16px 40px rgba(0,0,0,.35);
  transform: translateY(-1px);
}
.footer-subscribe-note{
  margin: 10px 0 0;
  font-size: 12px;
  color: rgba(246,247,251,.62);
}
.footer-subscribe-status{
  margin: 8px 0 0;
  font-size: 12px;
  color: rgba(246,247,251,.74);
}
@media (max-width: 980px){
  .footer-subscribe-head{flex-direction:column}
  .footer-subscribe-form{grid-template-columns:1fr; gap:14px}
  .footer-subscribe-btn{width:100%}
}
[dir="rtl"] .footer-subscribe-head{flex-direction:row-reverse}
[dir="rtl"] .footer-subscribe-form{direction:rtl}
.footer-top{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:18px;
}
@media (max-width: 900px){ .footer-top{grid-template-columns:1fr} }
.footer a{color:var(--muted); transition:color .15s ease, text-shadow .15s ease, opacity .15s ease}
.footer a:not(.icon-btn):not(.btn):hover,
.footer a:not(.icon-btn):not(.btn):focus-visible{
  color:var(--brand);
  text-shadow:0 0 18px rgba(168,255,240,.28);
}
.footer a:not(.icon-btn):not(.btn):focus-visible{outline:none}
.footer small{color:var(--subtle)}
.footer .footer-reg{display:block; margin-top:6px}
.footer-cert-logos{
  margin-top: 10px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
[dir="rtl"] .footer-cert-logos{ justify-content:flex-end; }
.footer-cert-logo{
  height: 136px;
  width: auto;
  max-width: 100%;
  padding: 14px 18px;
  border-radius: 12px;
  background: rgba(255,255,255,.95);
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 14px 34px rgba(0,0,0,.35);
}
.footer-cert-logo--sqc{ height: 144px; }
.footer-cert-logo--hosting{ height: 112px; padding: 16px 20px; }

/* Mobile: keep logos readable without overpowering the footer */
@media (max-width: 560px){
  .footer-cert-logo{ height: 84px; padding: 10px 14px; }
  .footer-cert-logo--sqc{ height: 92px; }
  .footer-cert-logo--hosting{ height: 72px; padding: 12px 16px; }
}
.footer-hosting-inline{margin-top:10px}
.hosting-logo-inline{
  height:14px;
  width:auto;
  opacity:.75;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.35));
}
[dir="rtl"] .footer-hosting-inline{display:flex; justify-content:flex-end}
.link-with-icon{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.link-with-icon svg{
  width:14px;
  height:14px;
  opacity:.9;
}
[dir="rtl"] .link-with-icon{flex-direction:row-reverse}
.footer-reviews{
  margin-top:18px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.015);
  border-radius:var(--radius);
  padding:12px;
  overflow:hidden;
}

.section-legal h2{font-size:18px; letter-spacing:-.01em}
.section-legal h1{font-size:22px; letter-spacing:-.02em; margin-bottom:10px}
.section-legal h3{font-size:15px; margin-top:16px}
.section-legal p,.section-legal li{color:rgba(246,247,251,.80)}
.section-legal ul{margin:10px 0 0 18px}
.section-legal li{margin:6px 0}

.section-faq .section-header{padding:0}
.studio-standards{margin:0 0 18px}
.studio-standards-head h3{margin:0 0 6px; font-size:14px; letter-spacing:.02em; text-transform:uppercase; opacity:.88}
.studio-standards-head .meta{margin:0; max-width: 820px}

.studio-standards.rls-amenities,
.rls-amenities--bg{
  position:relative;
  padding:22px 18px;
  border-radius:var(--radius);
  overflow:hidden;
  background-color: var(--bg);
  background-image:var(--amenities-bg, linear-gradient(180deg, rgba(11,15,20,.96), rgba(11,15,20,.82)));
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.studio-standards.rls-amenities::before,
.rls-amenities--bg::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(5,7,12,.82);
  pointer-events:none;
}
.studio-standards.rls-amenities > *,
.rls-amenities--bg > *{
  position:relative;
  z-index:1;
}

.rls-amenities__header h3{margin:0 0 6px; font-size:14px; letter-spacing:.02em; text-transform:uppercase; opacity:.88}
.rls-amenities__header .meta{margin:0; max-width:820px}

.studio-standards-grid{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
.rls-amenities__grid{margin-top:12px; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px}
.studio-std{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:12px 12px;
  border:1px solid var(--border);
  border-radius:16px;
  background:rgba(255,255,255,.02);
  cursor:pointer;
  transition:border-color .15s ease, background .15s ease, transform .15s ease;
}
.amenity-item{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:12px 12px;
  border:1px solid var(--border);
  border-radius:16px;
  background:rgba(0,0,0,.45);
  cursor:pointer;
  transition:border-color .15s ease, background .15s ease, transform .15s ease;
  backdrop-filter:blur(6px);
}
.amenity-item:hover{border-color:rgba(168,255,240,.24); background:rgba(168,255,240,.04); transform:translateY(-1px)}
.amenity-item:active{transform:translateY(0)}
.amenity-item.is-active{border-color:rgba(168,255,240,.45); background:rgba(168,255,240,.06)}
.amenity-item.is-active .amenity-title{color:var(--brand)}
.studio-std:hover{border-color:rgba(168,255,240,.24); background:rgba(168,255,240,.04); transform:translateY(-1px)}
.studio-std:active{transform:translateY(0)}
.studio-std:focus-visible{outline:none; box-shadow:0 0 0 4px var(--focus); border-radius:16px}
.studio-std.is-active{border-color:rgba(168,255,240,.45); background:rgba(168,255,240,.06)}
.studio-std.is-active .studio-std-label{color:var(--brand)}
.rls-amenities .amenity-icon{
  width:22px !important;
  height:22px !important;
  border-radius:11px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.10);
  color:rgba(246,247,251,.88);
  flex:none;
  margin-top:1px;
  transition:border-color .15s ease, background .15s ease, color .15s ease;
}
.rls-amenities .amenity-icon svg,
.rls-amenities .amenity-icon img{
  width:14px !important;
  height:14px !important;
  max-width:14px !important;
  max-height:14px !important;
  display:block !important;
}
.rls-amenities .studio-std:hover .amenity-icon{border-color:rgba(168,255,240,.35); background:rgba(168,255,240,.06)}
.rls-amenities .studio-std.is-active .amenity-icon{border-color:rgba(168,255,240,.55); background:rgba(168,255,240,.10)}
.rls-amenities .amenity-item:hover .amenity-icon{border-color:rgba(168,255,240,.35); background:rgba(168,255,240,.06)}
.rls-amenities .amenity-item.is-active .amenity-icon{border-color:rgba(168,255,240,.55); background:rgba(168,255,240,.10)}
.studio-std-label{font-weight:650; line-height:1.25}
.studio-std-micro{margin-top:4px; font-size:13px; color:var(--muted); line-height:1.55}
.amenity-title{margin:0; font-weight:650; line-height:1.25}
.amenity-desc{margin:4px 0 0; font-size:13px; color:var(--muted); line-height:1.55}

.studio-payments{margin-top:14px; padding-top:14px; border-top:1px solid rgba(255,255,255,.08)}
.studio-payments h4{margin:0 0 8px; font-size:13px; letter-spacing:.02em; text-transform:uppercase; opacity:.88}
.studio-payments-list{
  margin:10px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}
.studio-payments-list li{color:var(--muted); font-size:13px; line-height:1.55}
.pay-item{display:flex; align-items:center; gap:10px}
.pay-text{min-width:0}
.pay-logos{display:inline-flex; align-items:center; gap:6px; flex:none}
.pay-badge{
  height:18px;
  padding:0 7px;
  border-radius:6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:10px;
  font-weight:850;
  letter-spacing:.06em;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.05);
  color:rgba(246,247,251,.92);
  user-select:none;
  flex:none;
}
.pay-badge svg{
  width:12px !important;
  height:12px !important;
  display:block !important;
}
.pay-badge--visa{background:#1a1f71; border-color:rgba(26,31,113,.55); color:#fff}
.pay-badge--amex{background:#0077c8; border-color:rgba(0,119,200,.55); color:#fff}
.pay-badge--apple{background:rgba(11,13,18,.95); border-color:rgba(255,255,255,.16); color:#fff}
.pay-badge--google{
  background:linear-gradient(90deg, rgba(255,255,255,.92), rgba(255,255,255,.72));
  border-color:rgba(255,255,255,.22);
  color:#071018;
}
.pay-badge--cash{background:rgba(34,197,94,.20); border-color:rgba(34,197,94,.35); color:rgba(246,247,251,.95)}
.pay-badge--contactless{width:28px; padding:0; background:rgba(168,255,240,.10); border-color:rgba(168,255,240,.22); color:var(--brand)}
.pay-badge--bank{width:28px; padding:0; background:rgba(141,214,255,.10); border-color:rgba(141,214,255,.22); color:rgba(141,214,255,.92)}
.pay-badge--mc{
  width:28px;
  padding:0;
  position:relative;
  background:rgba(255,255,255,.03);
  border-color:rgba(255,255,255,.14);
  color:transparent;
  overflow:hidden;
  box-shadow:0 0 0 1px rgba(0,0,0,.18) inset;
}
.pay-badge--mc::before,
.pay-badge--mc::after{
  content:"";
  position:absolute;
  top:50%;
  width:12px;
  height:12px;
  border-radius:999px;
  transform:translateY(-50%);
  opacity:.95;
}
.pay-badge--mc::before{left:7px; background:#eb001b}
.pay-badge--mc::after{left:11px; background:#f79e1b}
.studio-payments-footnote{margin-top:10px; opacity:.7}
html[dir="rtl"] .pay-item{flex-direction:row-reverse}
html[dir="rtl"] .pay-logos{flex-direction:row-reverse}

@media (max-width: 860px){
  .studio-standards.rls-amenities,
  .rls-amenities--bg{padding:18px 14px}
  .studio-standards-grid,
  .rls-amenities__grid{grid-template-columns:1fr}
}

.rls-jet .rls-jet-grid{
  margin-top:14px;
  display:grid;
  grid-template-columns: 1fr 260px;
  gap:12px;
}
.rls-jet .rls-jet-banner{
  width:100%;
  height: clamp(140px, 22vw, 220px);
  object-fit:cover;
  display:block;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  margin-bottom:14px;
  opacity:.92;
  -webkit-mask-image: radial-gradient(closest-corner, rgba(0,0,0,1) 78%, rgba(0,0,0,0) 100%);
  mask-image: radial-gradient(closest-corner, rgba(0,0,0,1) 78%, rgba(0,0,0,0) 100%);
}
.rls-jet input,
.rls-jet select{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.18);
  color:inherit;
  outline:none;
  appearance:none;
}
.rls-jet select{cursor:pointer}
.rls-jet input::placeholder{color:rgba(246,247,251,.55)}
.rls-jet .rls-jet-error{margin-top:12px; color:rgba(255,180,180,.92)}

@media (max-width: 860px){
  .rls-jet .rls-jet-grid{grid-template-columns:1fr}
}

/* ===== AI-SCAN Technical Specifications Table ===== */
.rls-specs-table-wrap{margin-top:14px}
.rls-specs-table-wrap{
  position:relative;
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(7,9,13,.78), rgba(7,9,13,.86)),
    url("/assets/media/pagina-longevity/a5-camera2x.png");
  background-size:cover;
  background-position:center;
}
.rls-specs-table-wrap::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), inset 0 0 72px rgba(7,9,13,.86);
}
.rls-specs-table-wrap > *{position:relative; z-index:1}
.rls-specs-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.02);
  border-radius:16px;
  overflow:hidden;
}
.rls-specs-table td{
  padding:12px 14px;
  vertical-align:top;
  color:rgba(246,247,251,.90);
  border-top:1px solid rgba(255,255,255,.06);
  width:50%;
}
.rls-specs-table .spec-cell{
  display:flex;
  align-items:center;
  gap:10px;
  line-height:1.25;
}
.rls-specs-table .spec-icon{
  width:22px;
  height:22px;
  min-width:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  color:rgba(168,255,240,.90);
  box-shadow:0 0 0 1px rgba(0,0,0,.16) inset;
}
.rls-specs-table .spec-icon svg{
  width:14px !important;
  height:14px !important;
  display:block !important;
}
html[dir="rtl"] .rls-specs-table .spec-cell{flex-direction:row-reverse; text-align:end}
.rls-specs-table tr:first-child td{border-top:none}
.rls-specs-table td + td{border-left:1px solid rgba(255,255,255,.06)}
@media (max-width: 720px){
  .rls-specs-table,
  .rls-specs-table tbody,
  .rls-specs-table tr,
  .rls-specs-table td{display:block; width:100%}
  .rls-specs-table td + td{border-left:none; border-top:1px solid rgba(255,255,255,.06)}
}

@media (min-width: 900px){
  .studio-standards-grid{grid-template-columns:repeat(4, minmax(0, 1fr))}
}
.faq-list{
  display:grid;
  gap:10px;
  margin-top:16px;
}
.faq-list details{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.02);
  border-radius:16px;
  padding:12px 14px;
}
.faq-list summary{
  cursor:pointer;
  list-style:none;
  font-weight:750;
  color:rgba(246,247,251,.92);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.faq-list summary .summary-left{
  display:flex;
  align-items:center;
  gap:10px;
}
.faq-list summary .summary-left svg{
  width:18px;
  height:18px;
  color:rgba(246,247,251,.78);
}
.faq-list summary .faq-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  color:rgba(168,255,240,.80);
  flex:0 0 auto;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{
  content:"+";
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.02);
  color:rgba(246,247,251,.75);
  flex:0 0 auto;
}
.faq-list details[open] summary::after{content:"–"}
.faq-list details p{
  margin-top:10px;
  color:rgba(246,247,251,.78);
  line-height:1.65;
}
.faq-list details a{color:var(--text); text-decoration:underline; text-decoration-color:rgba(255,255,255,.18)}
.faq-list details a:hover{text-decoration-color:rgba(168,255,240,.55)}
.faq-list summary:focus-visible{outline:none; box-shadow:0 0 0 4px var(--focus); border-radius:12px}
[dir="rtl"] .faq-list summary{direction:rtl}
[dir="rtl"] .faq-list summary .summary-left{flex-direction:row-reverse}
.reviews-widget{
  display:flex;
  justify-content:center;
  min-height:210px;
}
.reviews-widget .elfsight-app-07e61f6b-eb71-47ed-a7ad-fe9d5c7274c0{
  zoom:.5;
}
@supports not (zoom: 1){
  .reviews-widget{overflow:hidden}
  .reviews-widget .elfsight-app-07e61f6b-eb71-47ed-a7ad-fe9d5c7274c0{
    transform:scale(.5);
    transform-origin:top center;
  }
}

.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.footer-hosting{display:flex; align-items:center; justify-content:center}
.hosting-logo-footer{
  height:14px;
  width:auto;
  opacity:.75;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.35));
}
[dir="rtl"] .footer-bottom{flex-direction:row-reverse}
.footer-social{
  display:flex;
  gap:10px;
}
@media (max-width: 720px){
  .footer-bottom{justify-content:center; text-align:center}
}

.banner{
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:18px;
  background:linear-gradient(90deg, rgba(168,255,240,.10), rgba(141,214,255,.06));
}
.banner h3{margin-bottom:8px}

.compare{
  padding:0;
  overflow:hidden;
}
.compare-scroll{
  overflow:auto;
}
.compare-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  min-width:840px;
}
.compare-table th,
.compare-table td{
  padding:14px 16px;
  border-top:1px solid rgba(255,255,255,.08);
  vertical-align:middle;
}
.compare-table thead th{
  border-top:none;
  background:rgba(255,255,255,.02);
}
.compare-table thead th:first-child{
  width:52%;
}
.compare-table th{
  text-align:left;
  font-weight:750;
}
.compare-table .col-head{
  text-align:center;
}
.compare-table .col-head .head-title{
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:13px;
}
.compare-table .col-head .head-cta{
  margin-top:10px;
  display:flex;
  justify-content:center;
}
.compare-group th{
  padding:12px 16px;
  background:rgba(255,255,255,.03);
  color:rgba(246,247,251,.50);
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:800;
}
.compare-table td.status-cell{
  text-align:center;
}
.status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
}
.status--on{
  border-color:rgba(168,255,240,.35);
  background:rgba(168,255,240,.16);
}
.status--off{
  border-color:rgba(255,255,255,.08);
  background:rgba(255,255,255,.02);
}
.status svg{
  width:14px;
  height:14px;
  color:rgba(7,16,24,.92);
}
.status--off .dot-off{
  width:10px;
  height:10px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
}
.compare-table tfoot td{
  background:rgba(255,255,255,.02);
}
.compare-actions{
  display:flex;
  gap:12px;
  justify-content:center;
  flex-wrap:wrap;
  padding:8px 0;
}

.exec-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 360px;
  gap:22px;
  align-items:start;
}
.section-header{
  grid-column:1 / -1;
  padding:0;
}
.section-content{
  max-width:78ch;
}
.exec-aside{
  position:sticky;
  top:96px;
}
.exec-aside-title{
  font-size:14px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(246,247,251,.72);
  margin:0 0 10px 0;
}
.exec-bullets{
  margin:0;
  padding-left:18px;
  color:var(--muted);
  line-height:1.65;
}
.exec-bullets li{margin:6px 0}
.bio-location{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.08);
  color:var(--muted);
}
.bio-location a{color:var(--text)}
.bio-location a:hover{color:var(--brand)}
@media (max-width: 980px){
  .exec-layout{grid-template-columns:1fr}
  .exec-aside{position:static}
}

.section-footer{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.08);
  color:var(--muted);
}
.section-footer a{color:var(--text)}
.section-footer a:hover{color:var(--brand)}

.form{
  display:grid;
  gap:12px;
}
.field{
  display:grid;
  gap:8px;
}
label{font-size:14px; color:var(--subtle); font-weight:650; letter-spacing:.02em}
input, select, textarea{
  width:100%;
  border-radius:14px;
  border:1px solid var(--border);
  padding:12px 12px;
  background:rgba(255,255,255,.02);
  color:var(--text);
  font-size:15px;
}
textarea{min-height:120px; resize:vertical}
input:focus, select:focus, textarea:focus{outline:none; box-shadow:0 0 0 4px var(--focus); border-color:rgba(168,255,240,.45)}

.consent-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding-top:2px;
}
.consent-row input[type="checkbox"]{
  width:18px;
  height:18px;
  margin-top:2px;
}
.consent-label{
  font-size:13px;
  color:rgba(246,247,251,.74);
  line-height:1.45;
}
.consent-label a{color:var(--text); text-decoration:underline; text-decoration-color:rgba(255,255,255,.18)}
.consent-label a:hover{text-decoration-color:rgba(168,255,240,.55)}
[dir="rtl"] .consent-row{flex-direction:row-reverse}
.form-error{
  font-size:13px;
  color:rgba(255,170,170,.92);
  margin-top:-4px;
}
.sticky-cta{
  position:fixed;
  inset:auto 14px calc(14px + var(--safe-bottom)) 14px;
  z-index:120;
  display:none;
}
.sticky-cta .btn{width:100%}
@media (max-width: 720px){
  .sticky-cta{display:block}
  body{padding-bottom:calc(72px + var(--safe-bottom))}
}

.icon-btn{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.02);
  color:rgba(246,247,251,.80);
  transition:transform .15s ease, border-color .15s ease, background .15s ease, color .15s ease;
}
.icon-btn:hover{
  transform:translateY(-1px);
  border-color:rgba(168,255,240,.45);
  color:var(--brand);
}
.icon-btn:focus-visible{outline:none; box-shadow:0 0 0 4px var(--focus)}
.icon-btn svg{width:18px; height:18px}
.icon-btn--sm{
  width:36px;
  height:36px;
}
.icon-btn--sm svg{width:16px; height:16px}
.footer-links-inline{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:10px;
}

.whatsapp-float{
  position:fixed;
  /* Force bottom-right placement across all pages/browsers (incl. iOS Safari). */
  inset: auto 14px calc(14px + var(--safe-bottom)) auto;
  right:14px !important;
  left:auto !important;
  width:56px;
  height:56px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#25D366;
  border:1px solid rgba(0,0,0,.10);
  box-shadow:0 18px 48px rgba(0,0,0,.45), 0 0 0 1px rgba(37,211,102,.18) inset;
  color:#ffffff;
  z-index:130;
  transition:transform .15s ease, border-color .15s ease, background .15s ease;
}
.whatsapp-float:hover{
  transform:translateY(-2px);
  border-color:rgba(0,0,0,.18);
  background:#1EBE5D;
}
.whatsapp-float:active{transform:translateY(0)}
.whatsapp-float:focus-visible{outline:none; box-shadow:0 0 0 4px var(--focus), 0 18px 48px rgba(0,0,0,.55)}
.whatsapp-float svg{width:22px; height:22px}

/* Keep WhatsApp above mobile sticky CTA (consistent across pages) */
@media (max-width: 720px){
  .whatsapp-float{
    inset: auto 14px calc(86px + var(--safe-bottom)) auto;
    right:14px !important;
    left:auto !important;
  }
}

/* ===== AI Chat (discreet concierge bot) ===== */
.ai-chat-float,
.ai-chat-overlay,
.ai-chat-panel{display:none !important;}

/* (Styles kept below for possible future reuse, but widget is disabled in JS.) */
.ai-chat-float{
  position: fixed;
  right: 14px;
  bottom: 86px; /* above WhatsApp */
  z-index: 129;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  background: rgba(12, 16, 22, 0.92);
  border: 1px solid rgba(255,255,255,0.16);
  color: rgba(255,255,255,0.92);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 18px 48px rgba(0,0,0,.55);
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.ai-chat-float:hover{
  transform: translateY(-2px);
  background: rgba(18, 24, 34, 0.96);
  border-color: rgba(255,255,255,0.22);
}
.ai-chat-float:active{transform: translateY(0)}
.ai-chat-float:focus-visible{outline:none; box-shadow:0 0 0 4px var(--focus), 0 18px 48px rgba(0,0,0,.55)}
.ai-chat-float svg{width:22px; height:22px; display:block}

.ai-chat-overlay{
  position: fixed;
  inset: 0;
  z-index: 9998;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.ai-chat-panel{
  position: fixed;
  right: 14px;
  bottom: 152px;
  z-index: 9999;
  width: min(420px, calc(100vw - 28px));
  max-height: min(640px, calc(100vh - 140px));
  display: grid;
  grid-template-rows: auto 1fr auto;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(10,12,16,0.92);
  box-shadow: 0 26px 80px rgba(0,0,0,.62);
  overflow: hidden;
}
.ai-chat-head{
  position: relative;
  padding: 14px 14px 12px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
  background:
    radial-gradient(900px 260px at 20% 0%, rgba(168,255,240,.10), transparent 50%),
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
}
.ai-chat-title{margin:0; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.84)}
.ai-chat-sub{margin:6px 0 0; font-size: 13px; color: rgba(255,255,255,.70); line-height:1.35}
.ai-chat-close{
  position: absolute;
  top: 10px;
  right: 10px;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  color: rgba(255,255,255,0.9);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.ai-chat-close:hover{background: rgba(255,255,255,0.06)}

.ai-chat-body{
  padding: 12px;
  overflow: auto;
}
.ai-chat-msgs{display:flex; flex-direction: column; gap:10px}
.ai-msg{
  max-width: 92%;
  border-radius: 14px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.85);
  font-size: 14px;
  line-height: 1.45;
  white-space: pre-wrap;
}
.ai-msg.ai-user{
  margin-left: auto;
  border-color: rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
}
.ai-msg.ai-assistant{
  margin-right: auto;
  border-color: rgba(168,255,240,0.18);
  background: rgba(168,255,240,0.06);
}
.ai-msg.ai-status{
  opacity: .75;
  font-style: italic;
}

.ai-chat-foot{
  padding: 12px;
  border-top: 1px solid rgba(255,255,255,0.10);
  background: rgba(0,0,0,0.16);
}
.ai-chat-form{display:grid; grid-template-columns: 1fr auto; gap: 10px; align-items: end}
.ai-chat-input{
  resize: none;
  min-height: 44px;
  max-height: 120px;
  width: 100%;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.92);
  outline: none;
}
.ai-chat-input:focus{border-color: rgba(168,255,240,0.38); box-shadow: 0 0 0 3px rgba(168,255,240,0.10)}
.ai-chat-send{
  height: 44px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.90);
  color: rgba(0,0,0,0.92);
  font-weight: 750;
  cursor: pointer;
}
.ai-chat-send:hover{opacity: .95}
.ai-chat-note{margin: 10px 0 0; font-size: 12px; color: rgba(255,255,255,0.62); line-height:1.35}
.ai-chat-note a{color: rgba(255,255,255,0.82)}

.insight-article .insight-header{max-width:920px}
.insight-kicker{margin-bottom:10px}
.insight-intro{max-width:860px; color:var(--muted); line-height:1.7}
.insight-grid{display:grid; grid-template-columns: 1.65fr .85fr; gap:24px; align-items:start; margin-top:20px}
.insight-main{min-width:0}
.insight-aside{position:sticky; top:92px}
.insight-featured{margin-top:14px}
.insight-featured-figure{margin:0; border-radius:16px; overflow:hidden; border:1px solid var(--border); background:rgba(0,0,0,.18)}
.insight-featured-figure img{width:100%; height:auto; aspect-ratio: 16 / 9; object-fit:cover}
.insight-featured-caption{padding:12px 16px}
.insight-featured-caption p{margin:8px 0 0; color:var(--subtle); line-height:1.6}
.insight-summary{margin:18px 0; padding:16px 18px; border-radius:16px; border:1px solid var(--border); background:rgba(12,16,23,.62)}
.insight-summary ul{margin:10px 0 0; padding-left:18px; color:var(--muted); line-height:1.6}
.insight-toc{margin:18px 0; padding:16px 18px; border-radius:16px; border:1px solid var(--border); background:rgba(0,0,0,.18)}
.insight-toc-title{margin:0 0 10px; font-size:16px}
.insight-toc ol{margin:0; padding-left:18px; color:var(--muted); line-height:1.7}
.insight-toc a{color:var(--text)}
.insight-toc a:hover{text-decoration:underline}
.insight-block{padding:18px 0; border-top:1px solid var(--border)}
.insight-block h2{margin:0 0 10px; font-size:20px}
.insight-block p{margin:0; color:var(--muted); line-height:1.75}
.insight-what{margin-top:18px; padding:16px 18px; border-radius:16px; border:1px solid var(--border); background:rgba(0,0,0,.18)}
.insight-links{display:flex; flex-wrap:wrap; gap:10px; margin-top:10px}
.insight-cta{margin-top:18px; padding:16px 18px; border-radius:16px; border:1px solid rgba(168,255,240,.16); background:linear-gradient(180deg, rgba(168,255,240,.06), rgba(0,0,0,.18))}
.insight-faq{margin-top:18px}
.insight-faq details{border:1px solid var(--border); border-radius:14px; padding:10px 12px; background:rgba(0,0,0,.16)}
.insight-faq details + details{margin-top:10px}
.insight-faq summary{cursor:pointer; font-weight:600}
.insight-faq p{margin:10px 0 0; color:var(--muted); line-height:1.7}
.insight-footer{margin-top:18px; padding-top:14px; border-top:1px solid var(--border)}

.insight-cat-head{display:flex; gap:10px; align-items:center}
.insight-cat-pagehead{display:flex; gap:12px; align-items:center}
.insight-cat-pagehead h1{margin:0}
.insight-cat-icon{width:26px; height:26px; color:rgba(168,255,240,.92); flex:none}
.insight-cat-card .insight-cat-icon{width:22px; height:22px; color:rgba(141,214,255,.92)}
.insight-cat-card h3{margin:0}
.insight-featured-translated{margin:8px 0 2px}
.insight-featured-translated .divider{margin:18px 0 12px}
.insight-featured-title{margin:0 0 8px}
.insight-featured-grid{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.insight-featured-link h3{margin:0 0 4px; font-size:15px}
.insight-featured-link .meta{margin:0}
.insight-related-media-grid{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.insight-related-media-card{
  margin:0;
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
  background:rgba(0,0,0,.16);
}
.insight-related-media-card img{
  display:block;
  width:100%;
  height:260px;
  object-fit:cover;
}
@media (max-width:960px){
  .insight-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .insight-related-media-card img{height:220px}
}
@media (max-width:640px){
  .insight-featured-grid{grid-template-columns:1fr}
  .insight-related-media-grid{grid-template-columns:1fr}
  .insight-related-media-card img{height:210px}
}

@media (max-width: 960px){
  .insight-grid{grid-template-columns:1fr}
  .insight-aside{position:static}
}

.specs-layout{
  display:grid;
  grid-template-columns: 1fr 1.25fr;
  gap:22px;
  align-items:start;
  margin-top:16px;
}
.specs-layout--single{grid-template-columns:1fr}
.section-specs .specs-subtitle{
  margin:8px 0 0;
  font-size:14px;
  font-weight:600;
  letter-spacing:.02em;
  color:rgba(246,247,251,.86);
  opacity:.78;
}
.specs-media{display:grid; gap:12px}
.specs-figure{
  margin:0;
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid var(--border);
  background:rgba(0,0,0,.18);
  box-shadow:var(--shadow);
}
.specs-figure img{
  width:100%;
  height:auto;
  aspect-ratio: 4 / 3;
  object-fit:cover;
}
.specs-fullbleed{margin-top:18px}
.specs-bleed{
  margin:12px 0 0;
  width:100vw;
  margin-left:calc(50% - 50vw);
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
  background:rgba(0,0,0,.22);
  position:relative;
  overflow:hidden;
}

/* Contact page: full-bleed studio image at the very top (no gap under header) */
body[data-page="contact"] .contact-hero{
  margin-top:0;
  border-top:0;
  background: rgba(0,0,0,.22);
  height: calc(100vh - var(--header-real-h, 72px));
  min-height: 520px;
}
body[data-page="contact"] .contact-hero img{
  height: 100%;
  object-position:center 38%;
  /* Full-bleed hero (fills the viewport). */
  object-fit: cover;
  background: transparent;
}
/* Stronger bottom fade so the hero image can be taller without a hard edge */
body[data-page="contact"] .contact-hero::after{
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.04),
    inset 0 -140px 120px rgba(7,9,13,.92),
    inset 0 0 72px rgba(7,9,13,.65);
}

/* Longevity: remove gap between hero video and first full-bleed image */
body[data-page="longevity"] .hero{padding-bottom:0}
body[data-page="longevity"] .hero + .specs-bleed{
  margin-top:0;
  border-top:0;
}
.specs-bleed img{
  position:relative;
  z-index:0;
  width:100%;
  height:clamp(260px, 62vh, 720px);
  object-fit:cover;
  display:block;
}
.specs-bleed video{
  position:relative;
  z-index:0;
  width:100%;
  height:clamp(260px, 62vh, 720px);
  object-fit:cover;
  display:block;
  filter: saturate(1.18) contrast(1.06) brightness(1.02);
}

/* Personal Training: remove gap between hero video and continuity strip */
body[data-page="personalTraining"] .hero{padding-bottom:0}
body[data-page="personalTraining"] .hero + .specs-bleed{
  margin-top:0;
  border-top:0;
}

/* Personal Training: full-page background video (continuous while scrolling) */
body[data-page="personalTraining"]{ position:relative; }
body[data-page="personalTraining"] .page-bg-video{
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  overflow:hidden;
  background: #07090d;
}
body[data-page="personalTraining"] .page-bg-video video{
  width:100%;
  height:100%;
  object-fit:cover;
  filter: saturate(1.55) contrast(1.16) brightness(1.10);
  transform: none;
}

/* Reduce background-video load on mobile / iOS */
@media (max-width: 720px), (prefers-reduced-motion: reduce){
  body[data-page="personalTraining"] .page-bg-video{ display:none !important; }
  body[data-page="longevity"] .page-bg-video{ display:none !important; }
}
body[data-page="personalTraining"] .page-bg-video::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(70% 60% at 50% 28%, rgba(0,0,0,.14), rgba(0,0,0,.62)),
    linear-gradient(180deg, rgba(7,9,13,.16), rgba(7,9,13,.54));
}
body[data-page="personalTraining"] > :not(.page-bg-video){
  position:relative;
  /* Do not set z-index here: it would create stacking contexts and can hide the fixed header. */
}

/* Personal Training: strengthen header contrast over the video background */
body[data-page="personalTraining"] .header{
  background: rgba(7,9,13,.90);
  border-bottom-color: rgba(255,255,255,.10);
  z-index: 9999;
}
body[data-page="personalTraining"] .header::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
}

@media (prefers-reduced-motion: reduce){
  body[data-page="personalTraining"] .page-bg-video{ display:none; }
}

/* Memberships: full-page background video (continuous while scrolling) */
body[data-page="memberships"]{ position:relative; }
body[data-page="memberships"] .page-bg-video{
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  overflow:hidden;
  background: #07090d;
}
body[data-page="memberships"] .page-bg-video video{
  width:100%;
  height:100%;
  object-fit:cover;
  filter: saturate(1.55) contrast(1.16) brightness(1.10);
  transform: none;
}
body[data-page="memberships"] .page-bg-video.page-bg-video--apex video{
  filter: saturate(1.8) contrast(1.14) brightness(1.24);
}
body[data-page="memberships"] .page-bg-video::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(70% 60% at 50% 28%, rgba(0,0,0,.14), rgba(0,0,0,.62)),
    linear-gradient(180deg, rgba(7,9,13,.16), rgba(7,9,13,.54));
}
body[data-page="memberships"] .page-bg-video.page-bg-video--apex::after{
  background:
    radial-gradient(70% 60% at 50% 28%, rgba(0,0,0,.04), rgba(0,0,0,.34)),
    linear-gradient(180deg, rgba(7,9,13,.06), rgba(7,9,13,.30));
}
body[data-page="memberships"] > :not(.page-bg-video){
  position:relative;
}
body[data-page="memberships"] .header{
  background: rgba(7,9,13,.90);
  border-bottom-color: rgba(255,255,255,.10);
  z-index: 9999;
}
body[data-page="memberships"] .header::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
}
@media (prefers-reduced-motion: reduce){
  body[data-page="memberships"] .page-bg-video{ display:none; }
}

/* Longevity: full-page background video (continuous while scrolling) */
body[data-page="longevity"]{ position:relative; }
body[data-page="longevity"] .page-bg-video{
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  overflow:hidden;
  background: #07090d;
}
body[data-page="longevity"] .page-bg-video video{
  width:100%;
  height:100%;
  object-fit:cover;
  filter: saturate(1.55) contrast(1.16) brightness(1.10);
  transform: none;
}
body[data-page="longevity"] .page-bg-video::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(70% 60% at 50% 28%, rgba(0,0,0,.14), rgba(0,0,0,.62)),
    linear-gradient(180deg, rgba(7,9,13,.16), rgba(7,9,13,.54));
}
body[data-page="longevity"] .header{
  background: rgba(7,9,13,.90);
  border-bottom-color: rgba(255,255,255,.10);
}
body[data-page="longevity"] .header::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
}
@media (prefers-reduced-motion: reduce){
  body[data-page="longevity"] .page-bg-video{ display:none; }
}

.specs-bleed::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  /* Uniform edge fade (all sides) */
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.04),
    inset 0 0 72px rgba(7,9,13,.78);
}
.specs-bleed-caption{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:clamp(16px, 4vw, 42px);
  pointer-events:none;
}
.specs-bleed-caption::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(7,9,13,.72) 0%, rgba(7,9,13,.18) 44%, rgba(7,9,13,0) 70%);
}
.specs-bleed-headline{
  position:relative;
  z-index:1;
  max-width:min(520px, 70%);
  font-size:clamp(18px, 3.2vw, 34px);
  line-height:1.15;
  letter-spacing:.01em;
  font-weight:650;
  color:rgba(246,247,251,.98);
  text-shadow:0 10px 30px rgba(0,0,0,.55);
}
.specs-chart{
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius);
  overflow:hidden;
  background:rgba(255,255,255,.02);
}
.specs-tap-hint{margin-top:10px}
.specs-row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:0;
  border-top:1px solid rgba(255,255,255,.06);
}
.specs-row:first-child{border-top:none}
.specs-cell{
  padding:0;
  color:rgba(246,247,251,.86);
  line-height:1.35;
}
.specs-cell + .specs-cell{
  border-left:1px solid rgba(255,255,255,.06);
  color:rgba(246,247,251,.78);
}
.specs-row--single{grid-template-columns:1fr}
.specs-row--single .specs-cell{border-left:none}

.specs-toggle{
  width:100%;
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px 14px;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.specs-toggle:hover,
.specs-toggle:focus-visible{
  background:rgba(255,255,255,.03);
}
.specs-symbol{
  width:18px;
  height:18px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  border:1px solid rgba(168,255,240,.40);
  background:rgba(168,255,240,.10);
  color:rgba(168,255,240,.92);
  flex:none;
  margin-top:1px;
  font-size:13px;
  line-height:1;
}
.specs-label{flex:1; min-width:0}
.specs-chevron{
  flex:none;
  width:18px;
  height:18px;
  opacity:.75;
  margin-top:1px;
  transition:transform 180ms ease;
}
.specs-toggle[aria-expanded="true"] .specs-chevron{transform:rotate(180deg)}
.specs-detail{
  padding:0 14px 12px 46px;
  color:rgba(246,247,251,.72);
  font-size:13px;
  line-height:1.6;
}
html[dir="rtl"] .specs-toggle{flex-direction:row-reverse; text-align:right}
html[dir="rtl"] .specs-detail{padding:0 46px 12px 14px; text-align:right}

.rls-dx{display:grid; gap:14px}
.rls-dx__controls{display:grid; grid-template-columns:1fr 260px; gap:12px}
.rls-dx__search input,
.rls-dx__filters select{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(0,0,0,0.18);
  color:inherit;
  outline:none;
}
.rls-dx__search input::placeholder{opacity:.72}
.rls-dx__filters select{cursor:pointer}
.rls-dx__hint{margin:0; opacity:.72}
.rls-dx__list{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.rls-dx__card{
  border-radius:16px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(0,0,0,0.18);
  overflow:hidden;
}
.rls-dx__btn{
  width:100%;
  text-align:left;
  padding:14px 14px;
  background:transparent;
  border:none;
  color:inherit;
  cursor:pointer;
  display:grid;
  grid-template-columns:34px 1fr 18px;
  gap:10px;
  align-items:start;
}
.rls-dx__btn:hover,
.rls-dx__btn:focus-visible{background:rgba(255,255,255,.03)}
.rls-dx__icon{
  width:28px;
  height:28px;
  min-width:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  margin-top:2px;
  color:rgba(168,255,240,.92);
}
.rls-dx__icon svg{width:16px; height:16px}
.rls-dx__name{font-weight:650; line-height:1.25}
.rls-dx__meta{font-size:12px; opacity:.7; margin-top:4px}
.rls-dx__chev{opacity:.7; transition:transform .18s ease; margin-top:4px}
.rls-dx__panel{padding:0 14px 14px; opacity:.92; line-height:1.6}
.rls-dx__desc{margin:0}
.rls-dx__tagrow{display:flex; flex-wrap:wrap; gap:6px; margin-top:10px}
.rls-tag{
  font-size:12px;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.10);
  background:rgba(255,255,255,0.04);
  opacity:.9;
}
.rls-dx__card[aria-expanded="true"] .rls-dx__chev{transform:rotate(180deg)}
html[dir="rtl"] .rls-dx__btn{text-align:right}
html[dir="rtl"] .rls-dx__controls{grid-template-columns:260px 1fr}

@media (max-width: 860px){
  .rls-dx__controls{grid-template-columns:1fr}
  .rls-dx__list{grid-template-columns:1fr}
}

@media (max-width: 980px){
  .specs-layout{grid-template-columns:1fr}
  .specs-bleed img{height:clamp(220px, 52vh, 560px)}
}

/* ===== Memberships (R12 / X12 / Ω12 + Ω∞) ===== */
.ry-memberships{
  --ry-bg: transparent;
  background: var(--ry-bg);
}
.ry-memberships .wrap{
  max-width: 1100px;
  margin: 0 auto;
}
.ry-memberships .lead{
  margin: 0 0 18px 0;
  max-width: 74ch;
  color: rgba(246,247,251,.74);
}
.ry-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}
@media (max-width: 960px){
  .ry-grid{ grid-template-columns: 1fr; }
}
.ry-card{
  position: relative;
  border-radius: 18px;
  padding: 18px 18px 16px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  box-shadow: 0 18px 60px rgba(0,0,0,.32);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.ry-card:hover{
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.18);
  box-shadow: 0 28px 80px rgba(0,0,0,.38);
}
.ry-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height: 2px;
  background: var(--ry-accent, var(--accent, #7fe7d5));
  opacity: 0.95;
}
.ry-card::after{
  content:"";
  position:absolute;
  top:-44px;
  right:-44px;
  width: 160px;
  height: 160px;
  background: radial-gradient(circle at center, rgba(127,231,213,.22), transparent 65%);
  opacity: 0.95;
  pointer-events:none;
  mix-blend-mode: screen;
}
.tier-r12{ --ry-accent: #60A898; }
.tier-x12{ --ry-accent: #70C8F0; }
.tier-o12{ --ry-accent: #C09898; }
.tier-x12::after{ background: radial-gradient(circle at center, rgba(112,200,240,.22), transparent 65%); }
.tier-r12::after{ background: radial-gradient(circle at center, rgba(96,168,152,.22), transparent 65%); }
.tier-o12::after{ background: radial-gradient(circle at center, rgba(192,152,152,.22), transparent 65%); }

/* Marketing emphasis: make X12 visually dominant */
.tier-x12{
  border-color: rgba(138,184,223,.58);
  transform: translateY(-6px) scale(1.018);
  box-shadow:
    0 28px 90px rgba(0,0,0,.46),
    0 0 0 1px rgba(138,184,223,.34),
    0 0 36px rgba(138,184,223,.24);
}
.tier-x12:hover{
  transform: translateY(-8px) scale(1.024);
  border-color: rgba(138,184,223,.78);
  box-shadow:
    0 32px 100px rgba(0,0,0,.52),
    0 0 0 1px rgba(138,184,223,.48),
    0 0 44px rgba(138,184,223,.32);
}
.tier-x12 .ry-tier{
  color: #dff2ff;
  text-shadow: 0 0 26px rgba(138,184,223,.36);
}
@media (max-width: 960px){
  .tier-x12,
  .tier-x12:hover{
    transform: none;
  }
}

.ry-card-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(246,247,251,.70);
}
.ry-tier{
  margin: 10px 0 6px 0;
  font-size: 26px;
  font-weight: 760;
  letter-spacing: -0.02em;
  color: rgba(246,247,251,.94);
}
.ry-price{
  margin: 0 0 12px 0;
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: baseline;
}
.ry-price .ry-amount{
  font-size: 18px;
  font-weight: 760;
  color: rgba(246,247,251,.94);
}
.ry-price .meta{
  margin: 0;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(246,247,251,.60);
}
.ry-card .list li{
  color: rgba(246,247,251,.78);
}
.ry-card .check{
  border-color: color-mix(in srgb, var(--ry-accent, var(--accent, #7fe7d5)) 55%, rgba(255,255,255,.18));
  background: color-mix(in srgb, var(--ry-accent, var(--accent, #7fe7d5)) 16%, rgba(255,255,255,.02));
}
.ry-card .btn-row{
  margin-top: 12px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.ry-memberships .btn{
  border-radius: 14px;
  min-height: 48px;
  height: auto;
}
.ry-card .btn-row .btn{
  width: 100%;
  font-weight: 760;
  letter-spacing: .015em;
}
.ry-memberships .ry-card .btn.btn-primary{
  color: #071018;
  background:
    linear-gradient(90deg,
      color-mix(in srgb, var(--ry-accent, var(--accent, #7fe7d5)) 94%, #dffff8),
      color-mix(in srgb, var(--ry-accent, var(--accent, #7fe7d5)) 74%, #9ee3ff));
  border-color: transparent;
  box-shadow: 0 14px 30px color-mix(in srgb, var(--ry-accent, var(--accent, #7fe7d5)) 42%, transparent);
}
.ry-memberships .ry-card .btn.btn-primary:hover{
  transform: translateY(-1px);
  box-shadow: 0 18px 34px color-mix(in srgb, var(--ry-accent, var(--accent, #7fe7d5)) 56%, transparent);
}
.ry-memberships .ry-card .btn.btn-secondary{
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.28);
  color: rgba(246,247,251,.96);
}
.ry-memberships .ry-card .btn.btn-secondary:hover{
  background: rgba(255,255,255,.13);
  border-color: rgba(255,255,255,.42);
}

/* Extra CTA clarity on the highlighted X12 card */
.tier-x12 .btn.btn-primary{
  background:
    linear-gradient(90deg,
      rgba(182,230,255,1),
      rgba(126,207,255,1));
  box-shadow:
    0 18px 36px rgba(98,168,214,.42),
    0 0 0 1px rgba(187,226,255,.32);
}

.membership-card-elite::before{
  content:"";
  position:absolute;
  inset:-1px;
  background:radial-gradient(600px 240px at 20% 0%, rgba(168,255,240,.18), transparent 60%);
  pointer-events:none;
}
.membership-card-elite > *{position:relative}
.membership-elite-tag{
  position:absolute;
  top:16px;
  right:16px;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(168,255,240,.28);
  background:rgba(168,255,240,.08);
  color:rgba(246,247,251,.88);
}

.memberships-compare{padding:0}
.memberships-compare-scroll{overflow:auto}
.memberships-compare{
  --tier-r12: #73AA9A;
  --tier-x12: #8AB8DF;
  --tier-o12: #B79896;
}
.memberships-compare-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.14);
  flex-wrap:wrap;
}
.memberships-compare-head-left{ display:flex; align-items:baseline; gap:10px; }
.memberships-compare-legend{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap: 12px;
  flex-wrap:wrap;
  color: rgba(246,247,251,.78);
  font-size: 12px;
}
.mc-legend-item{ display:inline-flex; align-items:center; gap:8px; }
.memberships-compare-head .mc-tick,
.memberships-compare-head .mc-dot{ width:16px; height:16px; }
.memberships-compare-head .mc-tick::after{ width:7px; height:4px; }
.memberships-compare-head .mc-dot::before,
.memberships-compare-head .mc-dot::after{
  content:"";
  position:absolute;
  width: 9px;
  height: 2px;
  background: rgba(255, 86, 86, .92);
  border-radius: 999px;
  box-shadow: 0 0 12px rgba(255, 86, 86, .18);
}
.memberships-compare-head .mc-dot::before{ transform: rotate(45deg); }
.memberships-compare-head .mc-dot::after{ transform: rotate(-45deg); }
.memberships-compare-title{
  margin:0;
  font-weight:650;
  letter-spacing:-0.02em;
  font-size: clamp(16px, 1.6vw, 20px);
}

/* Memberships: training formats note */
.memberships-formats{ margin-top: 14px; }
.memberships-formats .formats-list{ margin-top: 12px; }
.memberships-formats .formats-list li{
  display:flex;
  align-items:flex-start;
  gap: 12px;
}
.memberships-formats .formats-list li > span:last-child{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  flex: 1;
}
.memberships-formats .fmt-icon{
  opacity: .65;
}
.memberships-formats .fmt-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.06);
  color: rgba(246,247,251,.92);
  font-weight: 780;
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
}
.memberships-formats .fmt-pill--one{
  border-color: rgba(127,231,213,.38);
  background: linear-gradient(180deg, rgba(127,231,213,.20), rgba(127,231,213,.10));
}
.memberships-formats .fmt-pill--req{
  border-color: rgba(255,255,255,.20);
  background: rgba(0,0,0,.18);
}
.memberships-formats .fmt-pill--cap{
  border-color: rgba(138,184,223,.34);
  background: linear-gradient(180deg, rgba(138,184,223,.18), rgba(138,184,223,.10));
}

@media (max-width: 520px){
  .memberships-formats .formats-list li > span:last-child{
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .memberships-formats .fmt-pill{
    font-size: 12px;
  }
}

/* Memberships: Visitor Pass */
.memberships-visitor{
  margin-top: 14px;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(180deg, rgba(0,0,0,.48), rgba(0,0,0,.18)),
    url("/assets/media/foto-aggiunte-nuove/IMG_5064.jpeg");
  background-size: cover;
  background-position: center 18%;
  background-clip: padding-box;
  transform: none;
}
.memberships-visitor::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(70% 60% at 45% 25%, rgba(168,255,240,.10), transparent 60%),
    linear-gradient(180deg, rgba(5,7,12,.10), rgba(5,7,12,.54));
  z-index:0;
  border-radius: inherit;
}
.memberships-visitor > *{
  position: relative;
  z-index: 1;
}
.memberships-visitor .meta{
  max-width: 80ch;
}
.memberships-visitor .visitor-bullets{
  margin-top: 12px;
}
.memberships-visitor .visitor-bullets li{
  display:flex;
  align-items:flex-start;
  gap: 12px;
}
.memberships-visitor .visitor-bullets li > span:last-child{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  flex: 1;
}
.memberships-visitor .visitor-cta{
  margin-top: 14px;
}
@media (max-width: 520px){
  .memberships-visitor .visitor-bullets li > span:last-child{
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}
.memberships-tier-switch{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.memberships-tier-btn{
  appearance:none;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.04);
  color:rgba(246,247,251,.92);
  border-radius:999px;
  padding:9px 12px;
  font-weight:700;
  font-size:13px;
  cursor:pointer;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.memberships-tier-btn:hover{
  background:rgba(255,255,255,.07);
  box-shadow:0 12px 30px rgba(0,0,0,.32);
}
.memberships-tier-btn.is-active{
  transform: translateY(-1px);
  background:rgba(255,255,255,.10);
  box-shadow:0 14px 34px rgba(0,0,0,.40);
}
.memberships-tier-btn[data-tier="r12"].is-active{ border-color: rgba(115,170,154,.75); }
.memberships-tier-btn[data-tier="x12"].is-active{ border-color: rgba(138,184,223,.75); }
.memberships-tier-btn[data-tier="o12"].is-active{ border-color: rgba(183,152,150,.75); }
.memberships-compare-grid{
  min-width:860px;
  display:grid;
  grid-template-columns: 1.35fr 0.55fr 0.55fr 0.55fr;
  position: relative;
}
.memberships-compare-grid > div{
  padding:14px 16px;
  border-bottom:1px solid rgba(255,255,255,.06);
  position: relative;
  z-index: 1;
}

/* Column highlight (R12 / X12 / Ω12) */
.memberships-compare-grid [data-tier]{
  transition: opacity .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.memberships-compare-grid [data-tier].is-dim{ opacity: .33; }
.memberships-compare-grid [data-tier].is-active{
  opacity: 1;
  background: linear-gradient(to bottom, rgba(255,255,255,.08), rgba(255,255,255,.05));
  box-shadow:
    inset 1px 0 0 rgba(255,255,255,.10),
    inset -1px 0 0 rgba(255,255,255,.10);
  transform: translateY(-1px);
}
.memberships-compare-grid [data-tier="r12"].is-active{ box-shadow: inset 2px 0 0 var(--tier-r12), inset 1px 0 0 rgba(255,255,255,.10), inset -1px 0 0 rgba(255,255,255,.10); }
.memberships-compare-grid [data-tier="x12"].is-active{ box-shadow: inset 2px 0 0 var(--tier-x12), inset 1px 0 0 rgba(255,255,255,.10), inset -1px 0 0 rgba(255,255,255,.10); }
.memberships-compare-grid [data-tier="o12"].is-active{ box-shadow: inset 2px 0 0 var(--tier-o12), inset 1px 0 0 rgba(255,255,255,.10), inset -1px 0 0 rgba(255,255,255,.10); }

/* Full-column highlight overlay (Epic/Apex/Core reference style) */
.memberships-compare-grid .mc-col-highlight{
  position:absolute;
  top: 0;
  bottom: 0;
  border-radius: 22px;
  pointer-events:none;
  z-index: 0;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
}
.memberships-compare[data-visual-tier="r12"] .mc-col-highlight{
  background: linear-gradient(180deg, rgba(115,170,154,.14), rgba(255,255,255,.04));
  border-color: rgba(115,170,154,.48);
}
.memberships-compare[data-visual-tier="x12"] .mc-col-highlight{
  background: linear-gradient(180deg, rgba(138,184,223,.14), rgba(255,255,255,.04));
  border-color: rgba(138,184,223,.50);
}
.memberships-compare[data-visual-tier="o12"] .mc-col-highlight{
  background: linear-gradient(180deg, rgba(183,152,150,.14), rgba(255,255,255,.04));
  border-color: rgba(183,152,150,.50);
}

/* Column accent variables (used for dots/ticks inside active column) */
.memberships-compare[data-visual-tier="r12"]{ --tier-accent: var(--tier-r12); --tier-accent-soft: rgba(115,170,154,.14); }
.memberships-compare[data-visual-tier="x12"]{ --tier-accent: var(--tier-x12); --tier-accent-soft: rgba(138,184,223,.14); }
.memberships-compare[data-visual-tier="o12"]{ --tier-accent: var(--tier-o12); --tier-accent-soft: rgba(183,152,150,.14); }

.memberships-compare-grid [data-tier].is-active .mc-dot{
  border-color: color-mix(in srgb, var(--tier-accent, rgba(168,255,240,1)) 60%, rgba(255,255,255,.18)) !important;
  background: var(--tier-accent-soft, rgba(168,255,240,.10)) !important;
  box-shadow:
    inset 0 0 0 2px rgba(0,0,0,.20),
    0 0 0 5px rgba(0,0,0,.08),
    0 0 18px rgba(0,0,0,.18) !important;
}
.memberships-compare-grid [data-tier].is-active .mc-tick{
  border-color: color-mix(in srgb, var(--tier-accent, #7fe7d5) 70%, rgba(255,255,255,.18)) !important;
  background: var(--tier-accent-soft, rgba(168,255,240,.12)) !important;
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--tier-accent, #7fe7d5) 30%, transparent) !important;
}
.memberships-compare-grid [data-tier].is-active .mc-tick::after{
  border-left-color: var(--tier-accent, #7fe7d5) !important;
  border-bottom-color: var(--tier-accent, #7fe7d5) !important;
}
.memberships-compare-grid .mc-head{
  position: sticky;
  top: 0;
  z-index: 2;
  background:rgba(0,0,0,.16);
  border-bottom:1px solid rgba(255,255,255,.08);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.memberships-compare-grid .mc-head[data-tier].is-active{
  background:
    linear-gradient(to bottom, rgba(255,255,255,.10), rgba(255,255,255,.06)),
    rgba(0,0,0,.16);
}
.memberships-compare-grid .mc-colname{
  font-weight:820;
  letter-spacing:.04em;
  display:flex;
  align-items:baseline;
  gap:10px;
  flex-wrap:wrap;
}
.memberships-compare-grid .mc-colprice{
  font-size:12px;
  font-weight:750;
  letter-spacing:.02em;
  opacity:.72;
  white-space:nowrap;
}
.memberships-compare-grid .mc-left{color:rgba(246,247,251,.92)}
.memberships-compare-grid .mc-center{display:flex; align-items:center; justify-content:center}

@media (max-width: 980px){
  /* Keep the left labels visible when horizontally scrolling on mobile/tablet */
  .memberships-compare-grid .mc-left{
    position: sticky;
    left: 0;
    z-index: 1;
    background: rgba(0,0,0,.38);
    backdrop-filter: none;
  }
  .memberships-compare-grid .mc-head.mc-left{
    z-index: 3;
    background: rgba(0,0,0,.30);
  }
}

/* Mobile/tablet: keep all tiers visible (R12 / X12 / Ω12) with horizontal swipe */
@media (max-width: 980px){
  .memberships-compare-scroll{
    overflow:auto;
    -webkit-overflow-scrolling: touch;
    position:relative;
  }

  /* Hint that the table scrolls horizontally */
  .memberships-compare-scroll::after{
    content:"";
    position:absolute;
    top:0;
    right:0;
    width: 48px;
    height: 100%;
    pointer-events:none;
    background: linear-gradient(to left, rgba(5,7,12,.92), rgba(5,7,12,0));
  }

  .memberships-compare-grid{
    min-width: 860px;
  }

  .memberships-compare-grid > div{
    padding: 12px 14px;
  }

  /* Keep feature labels visible while scrolling */
  .memberships-compare-grid .mc-left{
    position: sticky;
    left: 0;
    z-index: 2;
    background: rgba(0,0,0,.38);
  }
  .memberships-compare-grid .mc-head.mc-left{
    z-index: 4;
    background: rgba(0,0,0,.30);
  }

  /* Hide mini buttons + prices in column headers on small screens */
  .memberships-compare-grid .mc-head .btn-mini{ display:none; }
  .memberships-compare-grid .mc-colprice{ display:none; }
}
.memberships-compare-grid .mc-signature{
  position:relative;
  border:1px solid rgba(127,231,213,.22);
  border-radius:16px;
  background:
    radial-gradient(700px 260px at 10% 0%, rgba(127,231,213,.16), transparent 58%),
    radial-gradient(520px 220px at 92% 110%, rgba(127,231,213,.10), transparent 55%),
    rgba(0,0,0,.22);
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
}
.memberships-compare-grid .mc-signature::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:16px;
  background:
    linear-gradient(90deg, rgba(127,231,213,.20), rgba(127,231,213,0) 45%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0) 40%);
  opacity:0.55;
  pointer-events:none;
}
.memberships-compare-grid .mc-signature > *{ position:relative; }
.memberships-compare-grid .mc-signature .meta{ opacity:0.82; }
.memberships-compare-grid .mc-signature .btn-mini.btn-secondary{
  border-color: rgba(127,231,213,.28);
  background: rgba(127,231,213,.10);
}
.memberships-compare-grid .mc-signature .btn-mini.btn-secondary:hover{
  box-shadow: 0 10px 26px rgba(127,231,213,.16);
}

.memberships-compare-grid .mc-signature--wide{
  grid-column: 1 / -1;
  padding: 18px 18px !important;
}
.mc-signature--wide .signature-program{
  max-width: 980px;
  margin: 0 auto;
}
.signature-program .sig-header{ text-align:center; }
.signature-program .sig-elite-strip{
  display:inline-flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
  margin: 10px auto 0;
}
.signature-program .sig-elite-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.20);
  font-size:12px;
  color:rgba(246,247,251,.88);
  letter-spacing:.06em;
  text-transform:uppercase;
  max-width: 100%;
  text-align: center;
  white-space: normal;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.signature-program .sig-elite-pill svg{
  width:14px;
  height:14px;
  color:rgba(212,255,247,.92);
}
.signature-program .sig-elite-note{
  margin: 10px auto 0;
  max-width: 920px;
  font-size: 13px;
  line-height: 1.55;
  color: rgba(246,247,251,.78);
}
[dir="rtl"] .signature-program .sig-elite-note{ text-align:center; }
.signature-program .sig-title{
  margin: 0;
  font-size: clamp(18px, 2.2vw, 28px);
  line-height: 1.2;
  letter-spacing: .01em;
}
.signature-program .sig-title-logo-block{
  display:flex;
  align-items:center;
  justify-content:center;
  margin: 0 auto 12px;
  width: fit-content;
  max-width: min(620px, 92vw);
  padding: 14px 18px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 14px 44px rgba(0,0,0,.32);
}
.signature-program .sig-title-logo-block img{
  height: 64px;
  width: auto;
  max-width: 100%;
  display: block;
  object-fit: contain;
}
@media (max-width: 520px){
  .signature-program .sig-title-logo-block{ padding: 10px 12px; border-radius: 14px; margin-bottom: 10px; }
  .signature-program .sig-title-logo-block img{ height: 44px; }
}
.signature-program .sig-lead{
  margin: 10px auto 0;
  max-width: 920px;
  opacity: .92;
  line-height: 1.6;
}
.signature-program .sig-trust{
  margin-top: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.22);
  padding: 14px 14px;
}
.signature-program .sig-mayo-badge{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  background: #ffffff;
  color: #0b0f14;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 12px 36px rgba(0,0,0,.22);
}
.signature-program .sig-mayo-badge img{
  height: 40px;
  width: auto;
  display: block;
}
.signature-program .sig-mayo-note{
  margin: 10px 0 0;
  opacity: .82;
  line-height: 1.6;
}
.signature-program .sig-fineprint{
  margin: 10px 0 0;
  font-size: 12px;
  opacity: .70;
  line-height: 1.55;
}
.signature-program .sig-divider{ margin: 18px 0; height: 1px; background: rgba(255,255,255,.08); }
.signature-program .sig-h2{ margin: 0 0 10px; font-size: 18px; letter-spacing: .01em; }
.signature-program .sig-grid{ display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.signature-program .sig-card{ border-radius: 16px; border: 1px solid rgba(255,255,255,.10); background: rgba(0,0,0,.18); padding: 14px 14px; }
.signature-program .sig-card{
  overflow: hidden;
  background-clip: padding-box;
}
.signature-program .sig-card h3{ margin: 0 0 10px; font-size: 14px; letter-spacing: .12em; text-transform: uppercase; opacity: .86; }
.signature-program .sig-card-head{ display:flex; align-items:center; justify-content:space-between; gap: 10px; }
.signature-program .sig-card-head h3{ margin: 0; }

.signature-program .sig-toggle{
  width: 30px;
  height: 30px;
  min-width: 30px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.18);
  color: var(--accent, #7fe7d5);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.signature-program .sig-toggle:hover{
  transform: translateY(-1px);
  border-color: rgba(127,231,213,.60);
  background: rgba(127,231,213,.10);
  box-shadow: 0 0 0 4px rgba(127,231,213,.10);
}
.signature-program .sig-toggle:focus-visible{
  outline: none;
  border-color: rgba(127,231,213,.80);
  box-shadow: 0 0 0 4px rgba(127,231,213,.18);
}
.signature-program .sig-toggle-icon{ font-size: 18px; line-height: 1; font-weight: 650; transform: translateY(-1px); }

.signature-program .sig-card[data-collapsible="true"] .sig-card-body{
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin-top: 0;
  transition: max-height .36s ease, opacity .22s ease, margin-top .36s ease;
}
.signature-program .sig-card[data-collapsible="true"].is-open .sig-card-body{
  max-height: 420px;
  opacity: 1;
  margin-top: 10px;
}
.signature-program .sig-card ul{ margin: 0; padding-left: 18px; opacity: .92; line-height: 1.65; }

/* Signature program: contextual backgrounds for the 3 delivery cards */
.signature-program .sig-grid > .sig-card{
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.signature-program .sig-grid > .sig-card:nth-child(1){
  background-image:
    linear-gradient(180deg, rgba(0,0,0,.54), rgba(0,0,0,.34)),
    url("/assets/media/edificio-relysian/IMG_5994.JPG");
}
.signature-program .sig-grid > .sig-card:nth-child(2){
  background-image:
    linear-gradient(180deg, rgba(0,0,0,.54), rgba(0,0,0,.34)),
    url("/assets/media/pagina-personal-training-e-membership/online-personal-training.jpg");
}
.signature-program .sig-grid > .sig-card:nth-child(3){
  background-image:
    linear-gradient(180deg, rgba(0,0,0,.54), rgba(0,0,0,.34)),
    url("/assets/media/pagina-personal-training-e-membership/12-mesi.jpg");
}

.signature-program .sig-mini-table{
  margin-top: 14px;
  margin-bottom: 10px;
}
.signature-program .sig-mini-table th{
  font-size: 11px;
  letter-spacing: .14em;
}
.signature-program .sig-mini-table td{
  font-size: 13px;
}

.signature-program .sig-analyses{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}
.signature-program .sig-analysis{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
  padding: 12px 12px;
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  align-items: start;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.signature-program .sig-ico{
  width: 28px;
  height: 28px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: rgba(168,255,240,.92);
}
.signature-program .sig-ico svg{ width: 16px; height: 16px; }
.signature-program .sig-analysis strong{ display:block; font-size: 13px; line-height: 1.25; }
.signature-program .sig-analysis span{ display:block; margin-top: 4px; font-size: 12px; opacity: .74; line-height: 1.45; }
.signature-program .sig-analysis:hover,
.signature-program .sig-analysis:focus-within{
  transform: translateY(-2px);
  border-color: rgba(127,231,213,.28);
  box-shadow: 0 18px 50px rgba(0,0,0,.32);
}
.signature-program .sig-analysis:hover .sig-ico,
.signature-program .sig-analysis:focus-within .sig-ico{
  border-color: rgba(127,231,213,.30);
  box-shadow: 0 10px 24px rgba(127,231,213,.18);
}

.signature-program .sig-analyses--photos{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.signature-program .sig-analyses--photos .sig-analysis{
  position: relative;
  grid-template-columns: 1fr;
  min-height: 140px;
  padding: 14px 14px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-clip: padding-box;
  overflow: hidden;
}
.signature-program .sig-analyses--photos .sig-analysis::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.72) 70%, rgba(0,0,0,.82) 100%);
  z-index:0;
}
.signature-program .sig-analyses--photos .sig-analysis > *{ position:relative; z-index:1; }
.signature-program .sig-analyses--photos .sig-analysis strong{ font-size: 14px; }
.signature-program .sig-analyses--photos .sig-analysis span{ opacity: .78; }

.signature-program .sig-analyses--photos .sig-analysis[data-diag="ai-scan"]{ background-image: url("/assets/diagnostics/ai-scan.jpg"); }
.signature-program .sig-analyses--photos .sig-analysis[data-diag="biomarkers"]{ background-image: url("/assets/diagnostics/provetta.jpg"); }
.signature-program .sig-analyses--photos .sig-analysis[data-diag="wgs"]{ background-image: url("/assets/diagnostics/wgs.jpg"); }
.signature-program .sig-analyses--photos .sig-analysis[data-diag="gut-test"]{ background-image: url("/assets/diagnostics/gut-test.jpg"); }
.signature-program .sig-analyses--photos .sig-analysis[data-diag="ring"]{ background-image: url("/assets/diagnostics/ring.jpg"); }
.signature-program .sig-analyses--photos .sig-analysis[data-diag="supplements"]{ background-image: url("/assets/diagnostics/provetta.jpg"); }

.signature-program .sig-cta{
  margin-top: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
  padding: 14px 14px;
  text-align: center;
}
.signature-program .sig-cta .btn-row{ justify-content: center; }
.signature-program .sig-cta .btn-row .btn{
  flex: 1 1 240px;
  max-width: 100%;
  height: auto;
  min-height: 46px;
  padding: 12px 18px;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.25;
}

@media (max-width: 980px){
  .signature-program .sig-grid{ grid-template-columns: 1fr; }
  .signature-program .sig-analyses{ grid-template-columns: 1fr; }
  .signature-program .sig-analyses--photos{ grid-template-columns: 1fr; }
  .signature-program .sig-mayo-badge img{ height: 36px; }
}

/* ===== Signature program (inside memberships): white executive sheet ===== */
.mc-signature-hero{
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%) !important;
  color:#0b0f14;
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 22px;
  box-shadow: 0 22px 70px rgba(2, 6, 23, .10);
  padding: 28px 26px;
}
.mc-signature-hero .signature-program{
  color: inherit;
  letter-spacing: normal;
}
.mc-signature-hero .signature-program .sig-lead{
  opacity: 1;
  color: rgba(11,15,20,.82);
}
.mc-signature-hero .signature-program .sig-title{
  font-size: clamp(22px, 2.6vw, 34px);
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.15;
  font-weight: 760;
}
.mc-signature-hero .signature-program .sig-title-logo-block{
  width: fit-content;
  margin: 0 0 14px;
  padding: 10px 14px;
  border-radius: 16px;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 14px 45px rgba(2,6,23,.10);
}
.mc-signature-hero .signature-program .sig-mayo-note,
.mc-signature-hero .signature-program .sig-fineprint,
.mc-signature-hero .signature-program .meta{
  opacity: 1;
  color: rgba(11,15,20,.72);
}
.mc-signature-hero .signature-program .sig-divider{
  background: rgba(0,0,0,.08);
}
.mc-signature-hero .signature-program .sig-trust{
  background: rgba(255,255,255,.80);
  border-color: rgba(15,23,42,.08);
  box-shadow: 0 16px 50px rgba(2,6,23,.08);
}
.mc-signature-hero .signature-program .sig-h2{
  color: #0b0f14;
}

/* Personal training page: keep the Mayo block minimal (teaser) */
.signature-program--teaser .sig-title{ margin: 0; }
.signature-program--teaser .sig-lead{ margin: 10px auto 0; max-width: 78ch; }
.signature-program--teaser .sig-fineprint{ margin: 10px auto 0; max-width: 78ch; }
.signature-program--teaser .btn-row{ flex-wrap: wrap; }
.signature-program--teaser.sig-teaser{
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  padding: 24px 18px;
  border: 1px solid rgba(168,255,240,.18);
  background:
    radial-gradient(1000px 440px at 18% 0%, rgba(168,255,240,.10), transparent 55%),
    radial-gradient(900px 520px at 90% 70%, rgba(141,214,255,.08), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.08));
  box-shadow: 0 24px 80px rgba(0,0,0,.42);
}
.signature-program--teaser.sig-teaser::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 56px 56px, 56px 56px;
  opacity: .08;
  pointer-events:none;
  mix-blend-mode: screen;
}
.signature-program--teaser.sig-teaser > *{ position: relative; z-index: 1; }
.signature-program--teaser.sig-teaser .sig-title{
  font-size: clamp(18px, 2.1vw, 30px);
  font-weight: 780;
  letter-spacing: -0.01em;
}
.signature-program--teaser.sig-teaser .sig-title-logo-block{
  margin: 0 auto 12px;
  padding: 14px 18px;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 18px 55px rgba(0,0,0,.32);
}
.signature-program--teaser.sig-teaser .sig-title-logo-block img{ height: 64px; }
@media (max-width: 720px){
  .signature-program--teaser .btn-row{ justify-content: stretch !important; }
  .signature-program--teaser .btn-row .btn{ width: 100%; }
  .signature-program--teaser.sig-teaser{ padding: 20px 14px; }
  .signature-program--teaser.sig-teaser .sig-title-logo-block img{ height: 52px; }
}

/* Fountainlife-like delivery cards (light overlay on imagery) */
.mc-signature-hero .signature-program .sig-grid > .sig-card{
  color: rgba(11,15,20,.92);
  border-color: rgba(15,23,42,.10);
  background: rgba(255,255,255,.78);
  box-shadow: 0 18px 55px rgba(2,6,23,.10);
}
.mc-signature-hero .signature-program .sig-grid > .sig-card ul{
  opacity: 1;
  color: rgba(11,15,20,.86);
}
.mc-signature-hero .signature-program .sig-grid > .sig-card:nth-child(1){
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.78)),
    url("/assets/media/edificio-relysian/IMG_5994.JPG");
}
.mc-signature-hero .signature-program .sig-grid > .sig-card:nth-child(2){
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.78)),
    url("/assets/media/pagina-personal-training-e-membership/online-personal-training.jpg");
}
.mc-signature-hero .signature-program .sig-grid > .sig-card:nth-child(3){
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.78)),
    url("/assets/media/pagina-personal-training-e-membership/12-mesi.jpg");
}

.mc-signature-hero .signature-program .sig-toggle{
  border-color: rgba(15,23,42,.14);
  background: rgba(255,255,255,.85);
  color: var(--accent, #7fe7d5);
}
.mc-signature-hero .signature-program .sig-toggle:hover{
  background: rgba(127,231,213,.12);
  border-color: rgba(127,231,213,.55);
  box-shadow: 0 0 0 4px rgba(127,231,213,.16);
}

/* Tables (light) */
.mc-signature-hero .omega-table{
  border-color: rgba(0,0,0,.10);
  background: #ffffff;
  border-radius: 18px;
  overflow: hidden;
}
.mc-signature-hero .omega-table th,
.mc-signature-hero .omega-table td{
  border-bottom-color: rgba(0,0,0,.06);
}
.mc-signature-hero .omega-table th{
  color: rgba(11,15,20,.72);
  background: #f6f7fb;
}
.mc-signature-hero .omega-table td{
  color: rgba(11,15,20,.86);
}
.mc-signature-hero .omega-pill{
  color: #0b0f14;
  border-color: rgba(0,0,0,.12);
  background: rgba(127,231,213,.24);
}
.mc-signature-hero .mc-pill-onrequest{
  color: #0b0f14;
  border-color: rgba(0,0,0,.12);
  background: rgba(127,231,213,.24);
}
.mc-signature-hero .omega-muted{
  opacity: 1;
  color: rgba(11,15,20,.70);
}

/* Buttons inside this white sheet */
.mc-signature-hero .btn.btn-secondary{
  border-color: rgba(11,15,20,.18);
  color: #0b0f14;
}
.mc-signature-hero .btn.btn-secondary:hover{
  background: rgba(11,15,20,.04);
}

/* Diagnostics photo cards: light overlay + dark text */
.mc-signature-hero .signature-program .sig-analyses--photos .sig-analysis{
  color: rgba(11,15,20,.92);
  border-color: rgba(15,23,42,.10);
  box-shadow: 0 16px 50px rgba(2,6,23,.10);
}
.mc-signature-hero .signature-program .sig-analyses--photos .sig-analysis::before{
  background: linear-gradient(180deg, rgba(255,255,255,.78) 0%, rgba(255,255,255,.64) 70%, rgba(255,255,255,.60) 100%);
}
.mc-signature-hero .signature-program .sig-analyses--photos .sig-analysis strong{
  color: rgba(11,15,20,.92);
}
.mc-signature-hero .signature-program .sig-analyses--photos .sig-analysis span{
  opacity: 1;
  color: rgba(11,15,20,.72);
}

/* ===== Mayo Clinic page: background video hero ===== */
body[data-page="mayo"] main{ padding-top: var(--header-real-h); }

.mayo-hero{
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  background: var(--bg);
  /* Full-bleed background video behind the entire Mayo program block */
  min-height: calc(100svh - var(--header-real-h) - 36px);
  isolation: isolate;
  contain: paint;
}
.mayo-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(900px 380px at 10% 0%, rgba(0,0,0,.35), transparent 60%),
    rgba(0,0,0,.55);
  z-index: 0;
}
.mayo-hero > *{ position: relative; z-index: 1; }
.mayo-bgvideo{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: none;
  filter: saturate(0.9) contrast(1.06) brightness(0.62);
  z-index: 0;
  will-change: auto;
}
@media (prefers-reduced-motion: reduce){
  .mayo-bgvideo{ display:none; }
}

.mayo-hero-inner{
  padding: 34px 26px;
}
@media (max-width: 720px){
  .mayo-hero-inner{ padding: 22px 16px; }
}

/* ===== Mayo page minimal layout ===== */
body.mayo-minimal main .section{padding-top:18px}
body.mayo-minimal .mayo-hero{border-radius:24px; box-shadow: 0 22px 80px rgba(0,0,0,.35)}
body.mayo-minimal #omega-infinity-signature{max-width: 980px; margin: 0 auto}
body.mayo-minimal #omega-infinity-signature .grid{gap:14px}
body.mayo-minimal #omega-infinity-signature .cta{margin-top:16px}
body.mayo-minimal #omega-infinity-signature .sig-title{ font-size: clamp(28px, 3.2vw, 44px); }
body.mayo-minimal #omega-infinity-signature .sig-lead{ font-size: 16px; line-height: 1.7; }
body.mayo-minimal #omega-infinity-signature .sig-title-logo-block{ margin: 0 auto 14px; }
body.mayo-minimal #omega-infinity-signature .omega-table td,
body.mayo-minimal #omega-infinity-signature .omega-table th{ padding: 14px 14px; }

/* ===== Longevity page: conversion block ===== */
.longevity-conv .section-header-content p.meta{max-width:80ch}
.longevity-conv .card p{color:rgba(246,247,251,.74)}
.longevity-conv .card-strong{
  border-color: rgba(168,255,240,.16);
  background: linear-gradient(180deg, rgba(168,255,240,.06), rgba(255,255,255,.02));
}
.longevity-conv ol.rls-steps li{margin:10px 0; color:rgba(246,247,251,.78); line-height:1.6}

.mayo-details{
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background: rgba(0,0,0,.22);
  overflow: hidden;
}
body.mayo-exclusive .mayo-details{
  border-color: rgba(168,255,240,.16);
  background:
    radial-gradient(900px 420px at 18% 0%, rgba(168,255,240,.06), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.24), rgba(0,0,0,.14));
  box-shadow: 0 20px 70px rgba(0,0,0,.28);
}
.mayo-details + .mayo-details{margin-top:12px}
.mayo-details > summary{
  list-style:none;
  cursor:pointer;
  padding: 14px 16px;
  font-weight: 750;
  letter-spacing: .01em;
  color: rgba(246,247,251,.92);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
body.mayo-exclusive .mayo-details > summary{
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
}
body.mayo-exclusive .mayo-details > summary:hover{
  background: linear-gradient(180deg, rgba(168,255,240,.07), rgba(255,255,255,.01));
}
body.mayo-exclusive .mayo-details[open] > summary{
  background: linear-gradient(180deg, rgba(168,255,240,.10), rgba(255,255,255,.01));
}
.mayo-details > summary .mayo-sum-ico{
  width: 26px;
  height: 26px;
  min-width: 26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: rgba(212,255,247,.92);
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
}
.mayo-details > summary .mayo-sum-ico svg{ width: 16px; height: 16px; }
.mayo-details > summary::after{ margin-left: auto; }
[dir="rtl"] .mayo-details > summary::after{ margin-left: 0; margin-right: auto; }
.mayo-details > summary::-webkit-details-marker{display:none}
.mayo-details > summary::after{
  content:"⌄";
  opacity:.75;
  transform: rotate(0deg);
  transition: transform .18s ease;
}
.mayo-details[open] > summary::after{transform: rotate(180deg)}
.mayo-details-panel{padding: 0 16px 16px}
body.mayo-minimal .mayo-details-panel .sig-trust{margin-top:12px}

@media (max-width: 720px){
  body.mayo-minimal .mayo-hero{border-radius:18px}
  .mayo-details > summary{padding: 12px 14px}
  .mayo-details-panel{padding: 0 14px 14px}
}

/* ===== Ω∞ Signature table (Mayo page) ===== */
.omega-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  margin-top:14px;
  overflow:hidden;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
}
.omega-table th,
.omega-table td{
  text-align:left;
  vertical-align:top;
  padding:12px 12px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.omega-table th{
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color: rgba(246,247,251,.72);
  background: rgba(0,0,0,.18);
}
.omega-table tr:last-child td{ border-bottom:none; }

/* Mayo page: interactive “explain on click” rows + icons */
body.mayo-exclusive .omega-table--interactive th:nth-child(3),
body.mayo-exclusive .omega-table--interactive td:nth-child(3){
  display:none;
}
body.mayo-exclusive .omega-table--interactive tbody tr{
  transition: background .18s ease;
}
body.mayo-exclusive .omega-table--interactive tbody tr:hover{
  background: linear-gradient(90deg, rgba(168,255,240,.06), rgba(141,214,255,.03));
}
body.mayo-exclusive .omega-table--interactive tbody tr.is-open{
  background: linear-gradient(90deg, rgba(168,255,240,.10), rgba(141,214,255,.05));
}
body.mayo-exclusive .omega-table--interactive td.omega-module-cell{ width: 64%; }
body.mayo-exclusive .omega-row-toggle{
  width:100%;
  padding: 0;
  border: none;
  background: transparent;
  color: inherit;
  cursor: pointer;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 12px;
}
body.mayo-exclusive .omega-row-toggle.is-disabled{ cursor: default; }
body.mayo-exclusive .omega-row-toggle .omega-ico{
  width: 22px;
  height: 22px;
  min-width: 22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: rgba(212,255,247,.92);
  margin-top: 2px;
}
body.mayo-exclusive .omega-row-toggle .omega-ico svg{ width: 14px; height: 14px; }
body.mayo-exclusive .omega-row-toggle .omega-label{
  flex: 1 1 auto;
  text-align:left;
}
body.mayo-exclusive .omega-row-toggle .omega-plus{
  width: 28px;
  height: 28px;
  min-width: 28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.16);
  color: rgba(212,255,247,.92);
  font-weight: 850;
  line-height: 1;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
body.mayo-exclusive .omega-table--interactive tbody tr.is-open .omega-plus{
  background: rgba(168,255,240,.10);
  border-color: rgba(168,255,240,.34);
}
body.mayo-exclusive .omega-row-toggle:hover .omega-plus{
  transform: translateY(-1px);
  border-color: rgba(168,255,240,.40);
}
body.mayo-exclusive .omega-row-detail{
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.55;
  color: rgba(246,247,251,.78);
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height .36s ease, opacity .22s ease;
}
body.mayo-exclusive .omega-table--interactive tbody tr.is-open .omega-row-detail{
  opacity: 1;
  max-height: 140px;
}
[dir="rtl"] body.mayo-exclusive .omega-row-toggle .omega-label{ text-align:right; }
.omega-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:8px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(168,255,240,.40);
  background: linear-gradient(180deg, rgba(168,255,240,.18), rgba(168,255,240,.10));
  font-weight:750;
  font-size:13px;
  color: rgba(246,247,251,.96);
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.25;
}
.omega-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background: var(--accent, #7fe7d5);
  box-shadow: 0 0 0 6px rgba(127,231,213,.14);
  flex: none;
}
.omega-muted{ opacity:.78; }

/* Keep "Included / On request" pills visually centered and readable across locales */
.omega-table th:nth-child(2),
.omega-table td:nth-child(2){
  text-align: center;
}
.omega-table td:nth-child(2) .omega-pill{
  margin-inline: auto;
}

@media (max-width: 520px){
  .omega-pill{
    font-size: 14px;
    padding: 8px 12px;
    gap: 6px;
  }
  .omega-dot{
    width: 11px;
    height: 11px;
    box-shadow: 0 0 0 7px rgba(127,231,213,.14);
  }
}

@media (max-width: 360px){
  .omega-pill{ font-size: 13px; }
}

@media (max-width: 420px){
  .omega-pill{
    white-space: normal;
  }
}

@media (max-width: 720px){
  /* Ensure table stays readable on mobile (Safari-safe). */
  .omega-table{
    display: block;
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }
  .omega-table th,
  .omega-table td{
    min-width: 160px;
  }
}
.memberships-compare-grid .signature-mayo{
  display:inline-flex;
  align-items:center;
  gap:8px;
  opacity:0.9;
  line-height:1.35;
}
.memberships-compare-grid .signature-mayo img{
  height:36px;
  width:auto;
  max-width:240px;
  object-fit:contain;
  display:block;
  background:#fff;
  padding:4px 6px;
  border-radius:10px;
  box-shadow: 0 8px 20px rgba(0,0,0,.35);
}
.memberships-compare-grid .signature-mayo span{
  font-size:12px;
  opacity:0.78;
}
.memberships-compare-grid .mc-section{
  background:rgba(0,0,0,.12);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(246,247,251,.72);
}

/* Desktop: keep full comparison visible (Feature + R12 + X12 + Ω12) */
@media (min-width: 981px){
  .memberships-compare-scroll{ overflow:auto; }
  .memberships-compare-grid{ min-width: 0; }
}

.mc-tick, .mc-dot{
  width:18px;
  height:18px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.mc-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(168,255,240,.35);
  background: rgba(168,255,240,.12);
  color: rgba(246,247,251,.92);
  font-size:13px;
  font-weight:720;
  letter-spacing:.01em;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height:1.15;
}
.mc-pill-onrequest{
  border-color: rgba(127,231,213,.38);
  background: linear-gradient(180deg, rgba(127,231,213,.22), rgba(127,231,213,.14));
  color: rgba(246,247,251,.94);
}
.mc-tick{
  border:1px solid rgba(127,231,213,.38);
  background:rgba(127,231,213,.12);
  position:relative;
  box-shadow: 0 0 0 5px rgba(127,231,213,.10);
}
.mc-tick::after{
  content:"";
  width:8px;
  height:4px;
  border-left:2px solid var(--accent, #7fe7d5);
  border-bottom:2px solid var(--accent, #7fe7d5);
  transform: rotate(-45deg);
  margin-top:-1px;
}
.mc-dot{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  box-shadow: inset 0 0 0 2px rgba(0,0,0,.18);
  position: relative;
}

/* Membership table: "not included" marker = red X inside the dot */
.memberships-compare-grid .mc-dot::before,
.memberships-compare-grid .mc-dot::after{
  content:"";
  position:absolute;
  width: 10px;
  height: 2px;
  background: rgba(255, 86, 86, .92);
  border-radius: 999px;
  box-shadow: 0 0 12px rgba(255, 86, 86, .18);
}
.memberships-compare-grid .mc-dot::before{ transform: rotate(45deg); }
.memberships-compare-grid .mc-dot::after{ transform: rotate(-45deg); }

/* Keep omega-dot consistent across all sections */

@media (max-width: 860px){
  .memberships-cta .btn{width:100%}
}

@media (max-width: 420px){
  .mc-pill{ white-space: normal; }
}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.sr-only:focus,
.sr-only:focus-visible{
  width:auto;
  height:auto;
  margin:10px;
  padding:10px 14px;
  clip:auto;
  white-space:normal;
  z-index:9999;
  border:1px solid var(--border-2);
  border-radius:10px;
  background:rgba(7,9,13,.96);
  color:var(--text);
  box-shadow:0 0 0 4px var(--focus);
}

/* =========================
   Running Club — Route Maps
========================= */
.route-grid .route-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
}
.route-grid .route-top h3 {
  margin: 0 0 6px;
}
.route-grid .route-top .meta {
  margin: 0;
}
.route-grid .route-map {
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: radial-gradient(120% 120% at 70% 20%, rgba(127, 231, 213, 0.12), rgba(0, 0, 0, 0) 52%),
    rgba(255, 255, 255, 0.04);
  overflow: hidden;
}
.route-grid .route-map svg {
  display: block;
  width: 100%;
  height: auto;
  color: var(--accent, #7fe7d5);
}
.route-grid .route-gmaps{
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background: rgba(255, 255, 255, 0.02);
  overflow: hidden;
}
.route-grid .route-gmaps-frame{
  display:block;
  width:100%;
  aspect-ratio: 16 / 10;
  border:0;
  background: rgba(0,0,0,0.2);
}
.route-grid .route-lake {
  fill: none;
  stroke: rgba(255, 255, 255, 0.10);
  stroke-width: 10;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0.9;
}
.route-grid .route-line {
  fill: none;
  stroke-width: 6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.route-grid .route-dot {
  fill: rgba(255, 255, 255, 0.22);
  stroke: rgba(255, 255, 255, 0.18);
  stroke-width: 1.5;
}
.route-grid .route-dot--start {
  fill: rgba(127, 231, 213, 0.85);
  stroke: rgba(127, 231, 213, 0.35);
}
.route-grid .route-dot--target {
  fill: rgba(127, 231, 213, 0.65);
  stroke: rgba(127, 231, 213, 0.28);
}
.route-grid .route-label {
  fill: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  letter-spacing: 0.02em;
}
.route-note {
  margin-top: 12px;
  opacity: 0.72;
}

@media (max-width: 860px) {
  .route-grid .route-card {
    padding: 14px;
  }
  .route-grid .route-label {
    font-size: 11px;
  }
}

/* =========================
   About — Studio Scroll
========================= */
.studio-scroll {
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background: rgba(255, 255, 255, 0.02);
  overflow: hidden;
}
.studio-scroll-header{
  margin-bottom: 12px;
}
.studio-scroll-header .meta{
  margin: 6px 0 0;
  max-width: 82ch;
}
.studio-scroll-track {
  display: flex;
  gap: 12px;
  padding: 12px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.studio-scroll-track:focus {
  outline: 2px solid rgba(127, 231, 213, 0.35);
  outline-offset: 2px;
}
.studio-scroll-item {
  flex: 0 0 auto;
  width: min(420px, 78vw);
  aspect-ratio: 16 / 10;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background: rgba(0, 0, 0, 0.18);
  scroll-snap-align: start;
}
.studio-scroll-item img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.studio-scroll-track::-webkit-scrollbar {
  height: 10px;
}
.studio-scroll-track::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.12);
  border-radius: 999px;
}
.studio-scroll-track::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.04);
}
