/* Medspa Theme — Related Treatments layouts 1–20. */
.msvc-related-section{
  --rl-fg:var(--body,var(--body));
  --rl-fg2:var(--ink,var(--ink));
  --rl-fg3:var(--muted,var(--muted));
  --rl-accent:var(--coral-ink,var(--coral-ink));
  --rl-line:var(--line,var(--line));
  --rl-card:#fff;
  color:var(--rl-fg);
  padding-block:var(--gap,clamp(56px,7vw,104px));
  overflow:hidden;
}
.msvc-related-section.t-white{background:#fff}
.msvc-related-section.t-cream{background:var(--cream,var(--cream))}
.msvc-related-section.t-sand{background:var(--sand,var(--sand))}
.msvc-related-section.t-blush{
  background:var(--blush,var(--blush));
  --rl-accent:var(--coral-dk,var(--coral-dk));
  --rl-fg3:var(--body,var(--body));
}
.msvc-related-section.t-ink,.msvc-related-section.rl-5{
  background:var(--ink,var(--ink));
  --rl-fg:rgba(255,255,255,.78);
  --rl-fg2:#fff;
  --rl-fg3:rgba(255,255,255,.68);
  --rl-accent:var(--coral,var(--coral));
  --rl-line:rgba(255,255,255,.16);
  --rl-card:var(--dark);
}
.msvc-related-section h2,.msvc-related-section h3{color:var(--rl-fg2)}
.msvc-related-section .ita{color:var(--rl-accent)}
.rl-head{max-width:780px;margin-bottom:34px}
.rl-head.is-center{text-align:center;margin-inline:auto}
.rl-head h2{font-family:var(--fd,var(--fd));font-size:clamp(2rem,3.8vw,3rem);font-weight:400;line-height:1.1;margin:12px 0 0;color:var(--rl-fg2)}
.rl-head .ita{font-family:var(--fs,var(--fs));font-style:italic}
.rl-eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--rl-accent);display:inline-flex;align-items:center;gap:10px}
.rl-eyebrow::before{content:"";width:28px;height:2px;background:currentColor;flex:none}
.rl-eyebrow.c{justify-content:center}
.rl-eyebrow.lt{color:var(--nude,var(--nude))}
.rl-eyebrow.no-rule::before{display:none}
.rl-intro{font-size:.95rem;line-height:1.8;color:var(--rl-fg);margin:16px 0 24px;max-width:58ch}
.rl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.rl-card{display:flex;flex-direction:column;background:var(--rl-card);border:1px solid var(--rl-line);border-radius:var(--rl,16px);overflow:hidden;transition:border-color .25s,transform .25s,box-shadow .25s;height:100%;text-decoration:none;color:inherit;min-width:0}
.rl-card:hover{border-color:var(--nude,var(--nude));transform:translateY(-3px);box-shadow:var(--sh,0 24px 64px -30px rgba(20,18,20,.35))}
.rl-media{aspect-ratio:4/3;overflow:hidden;background:var(--sand,var(--sand))}
.rl-media img{width:100%;height:100%;object-fit:cover}
.rl-placeholder{display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#efe7e1,#e4d8d0 60%,#dcc9bf)}
.rl-placeholder span{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#6b5248;text-align:center}
.rl-card-body{padding:24px;display:flex;flex-direction:column;flex:1}
.rl-card h3{font-family:var(--fs,var(--fs));font-size:1.08rem;margin:0;color:var(--rl-fg2)}
.rl-for{display:block;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rl-accent);margin-top:8px}
.rl-card p{font-size:.85rem;line-height:1.65;margin:6px 0 0;color:var(--rl-fg);flex:1}
.rl-link{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rl-accent);margin-top:16px}
.rl-card:hover .rl-link{filter:brightness(.85)}
.rl-price{font-family:var(--fd,var(--fd));font-size:1.35rem;color:var(--rl-fg2);line-height:1.1;margin-top:14px}
.rl-price small{display:block;font-family:var(--fb,'DM Sans',sans-serif);font-size:.7rem;color:var(--rl-fg3);font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.rl-price span{display:block;font-family:var(--fb,'DM Sans',sans-serif);font-size:.72rem;color:var(--rl-fg3);margin-top:4px}
.msvc-related-section .btn.out{color:var(--rl-fg2);border-color:var(--rl-fg2)}
.t-ink .btn.out,.rl-5 .btn.out{color:#fff;border-color:rgba(255,255,255,.6)}

/* 1 — image cards with graceful title fallback. */
.rl-1 .rl-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

/* 2 — best-for cards. */
.rl-2 .rl-card,.rl-13 .rl-card{background:#fff}

/* 3 — related cards plus full CTA. */
.rl-3 .rl-grid{margin-bottom:34px}
.rl-cta{border-radius:var(--rl,16px);padding:clamp(30px,4vw,48px);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr);gap:34px;align-items:center}
.rl-cta.is-dark,.rl-cta.is-full-dark{
  background:var(--ink,var(--ink));
  --rl-fg:rgba(255,255,255,.78);
  --rl-fg2:#fff;
  --rl-fg3:rgba(255,255,255,.68);
  --rl-accent:var(--coral,var(--coral));
}
.rl-cta.is-light{
  background:var(--cream,var(--cream));
  --rl-fg:var(--body,var(--body));
  --rl-fg2:var(--ink,var(--ink));
  --rl-fg3:var(--muted,var(--muted));
  --rl-accent:var(--coral-ink,var(--coral-ink));
  text-align:center;
  grid-template-columns:1fr;
  max-width:850px;
  margin:0 auto 38px;
}
.rl-cta .rl-eyebrow{color:var(--nude,var(--nude))}
.rl-cta.is-light .rl-eyebrow{color:var(--coral-ink,var(--coral-ink));justify-content:center}
.rl-cta h2{font-family:var(--fd,var(--fd));font-weight:400;font-size:clamp(1.8rem,3.4vw,2.7rem);line-height:1.1;color:var(--rl-fg2);margin:10px 0 0}
.rl-cta p{color:var(--rl-fg);font-size:.94rem;line-height:1.8;margin:14px 0 0;max-width:56ch}
.rl-cta.is-light p{margin-inline:auto}
.rl-cta-meta{font-size:.8rem;line-height:1.8;color:var(--rl-fg3);margin-top:15px}
.rl-cta-meta a{color:var(--rl-fg2);font-weight:600}
.rl-cta-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.rl-cta.is-light .rl-cta-actions{justify-content:center}
.rl-cta.is-dark .btn.out,.rl-cta.is-full-dark .btn.out{color:#fff;border-color:rgba(255,255,255,.6)}

/* 4 — editorial list. */
.rl-editorial{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:clamp(30px,5vw,66px);align-items:start}
.rl-editorial-list{border-top:1px solid var(--rl-line)}
.rl-editorial-list a{display:block;padding:22px 0;border-bottom:1px solid var(--rl-line);position:relative;text-decoration:none;color:inherit}
.rl-editorial-list h3{font-family:var(--fs,var(--fs));font-style:italic;font-weight:600;font-size:1.25rem;margin:0;transition:color .2s}
.rl-editorial-list p{font-size:.86rem;line-height:1.65;margin:5px 0 0;color:var(--rl-fg)}
.rl-editorial-list .rl-arrow{float:right;color:var(--rl-accent);font-size:1.1rem}
.rl-editorial-list a:hover h3{color:var(--rl-accent)}

/* 5 — dark premium. */
.rl-5 .rl-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

/* 6 — decision led. */
.rl-decision-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.rl-decision-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--rl-line);border-radius:var(--rl,16px);padding:26px;text-decoration:none;color:inherit;transition:.25s}
.rl-decision-card:hover{transform:translateY(-3px);border-color:var(--nude,var(--nude))}
.rl-decision-label{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rl-accent)}
.rl-decision-card h3{font-family:var(--fs,var(--fs));font-style:italic;font-size:1.12rem;line-height:1.45;margin:10px 0 0;color:var(--ink,var(--ink))}
.rl-decision-card p{font-size:.84rem;line-height:1.65;color:var(--body,var(--body));margin:12px 0 0;flex:1}
.rl-decision-card p strong{color:var(--ink,var(--ink))}

/* 7 — minimal rows. */
.rl-hairlines{max-width:900px;border-top:1px solid var(--rl-line)}
.rl-hairlines a{display:grid;grid-template-columns:minmax(150px,.3fr) minmax(0,.7fr);gap:24px;padding:18px 0;border-bottom:1px solid var(--rl-line);align-items:baseline;text-decoration:none;color:inherit}
.rl-name{font-family:var(--fs,var(--fs));font-weight:600;color:var(--rl-fg2);transition:color .2s}
.rl-hairlines a>span:last-child{font-size:.85rem;color:var(--rl-fg)}
.rl-hairlines a:hover .rl-name{color:var(--rl-accent)}

/* 8 — notched frame. */
.rl-notch{background:#fff;border:1px solid var(--ink,var(--ink));padding:clamp(26px,4vw,46px);position:relative;clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% 100%,30px 100%,0 calc(100% - 30px));--rl-fg:var(--body,var(--body));--rl-fg2:var(--ink,var(--ink));--rl-fg3:var(--muted,var(--muted));--rl-accent:var(--coral-ink,var(--coral-ink));--rl-line:var(--line,var(--line))}
.rl-notch::before{content:"";position:absolute;inset:8px;border:1px solid var(--line,var(--line));pointer-events:none;clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,24px 100%,0 calc(100% - 24px))}
.rl-notch-inner{position:relative}
.rl-8 .rl-card{border:0;background:transparent}
.rl-8 .rl-card-body{padding:0}

/* 9 — cards plus booking tile. */
.rl-commercial{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.rl-book-tile{background:var(--blush,var(--blush));--rl-fg:var(--body,var(--body));--rl-fg2:var(--ink,var(--ink));--rl-fg3:var(--body,var(--body));--rl-accent:var(--coral-dk,var(--coral-dk));border-radius:var(--rl,16px);padding:28px;display:flex;flex-direction:column;justify-content:center}
.rl-book-tile h3{font-family:var(--fd,var(--fd));font-weight:400;font-size:1.5rem;line-height:1.15;color:var(--ink,var(--ink));margin:0}
.rl-book-tile p{font-size:.85rem;line-height:1.65;margin:10px 0 18px;color:var(--body,var(--body))}
.rl-book-tile .btn{align-self:flex-start}

/* 10 — full-width ink header and cream cards. */
.msvc-related-section.rl-10{padding:0}
.rl-full-top{background:var(--ink,var(--ink));padding:clamp(34px,4.5vw,58px) 0;--rl-fg:rgba(255,255,255,.78);--rl-fg2:#fff;--rl-fg3:rgba(255,255,255,.68);--rl-accent:var(--coral,var(--coral));--rl-line:rgba(255,255,255,.16)}
.rl-full-top-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,54px);align-items:center}
.rl-full-top .rl-head{margin-bottom:0}
.rl-full-top .rl-eyebrow{color:var(--nude,var(--nude))}
.rl-full-bottom{background:var(--cream,var(--cream));padding:clamp(30px,4vw,52px) 0;--rl-fg:var(--body,var(--body));--rl-fg2:var(--ink,var(--ink));--rl-fg3:var(--muted,var(--muted));--rl-accent:var(--coral-ink,var(--coral-ink));--rl-line:var(--line,var(--line));--rl-card:#fff}

/* 11 — scroll-snap carousel. */
.rl-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 12px;overscroll-behavior-inline:contain}
.rl-track::-webkit-scrollbar{height:6px}
.rl-track::-webkit-scrollbar-thumb{background:var(--rl-line);border-radius:100px}
.rl-track-item{flex:0 0 min(360px,84%);scroll-snap-align:start;display:flex}
.rl-track-item .rl-card{width:100%}
.rl-hint{font-size:.74rem;color:var(--rl-fg3);margin:10px 0 0;text-align:center}

/* 12 — photo led. */
.rl-12 .rl-media{aspect-ratio:3/2}

/* 13 — text-only tiles. */
.rl-13 .rl-card{background:var(--cream,var(--cream))}
.t-cream.rl-13 .rl-card{background:#fff}

/* 14 — comparison link. */
.rl-comparison-link{background:#fff;border:1px solid var(--rl-line);border-radius:var(--rl,16px);padding:22px 26px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;--rl-fg:var(--body,var(--body));--rl-fg2:var(--ink,var(--ink))}
.rl-comparison-link p{margin:0;font-size:.9rem;line-height:1.7;color:var(--body,var(--body));max-width:72ch}
.rl-comparison-link .btn.out{color:var(--ink,var(--ink));border-color:var(--ink,var(--ink))}

/* 15 — pairs vs alternatives. */
.rl-relation-group{margin-bottom:36px}
.rl-relation-group:last-child{margin-bottom:0}
.rl-group-label{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rl-accent);padding-bottom:10px;border-bottom:2px solid var(--coral-btn,var(--coral-btn));display:inline-block;margin-bottom:20px}
.rl-group-label.is-alt{color:#186246;border-color:#186246}
.rl-relation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.rl-combo{background:var(--blush,var(--blush));--rl-fg:var(--body,var(--body));--rl-fg2:var(--ink,var(--ink));--rl-fg3:var(--body,var(--body));--rl-accent:var(--coral-dk,var(--coral-dk));border-radius:var(--rl,16px);padding:24px;display:flex;flex-direction:column;justify-content:center}
.rl-combo strong{font-family:var(--fd,var(--fd));font-size:1.9rem;color:var(--ink,var(--ink));line-height:1}
.rl-combo span{font-family:var(--fs,var(--fs));font-weight:600;color:var(--ink,var(--ink));margin-top:8px}
.rl-combo p{font-size:.82rem;line-height:1.6;color:var(--body,var(--body));margin:8px 0 0}

/* 16 — CTA first, compact links second. */
.rl-compact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rl-compact-grid .rl-card-body{padding:18px}
.rl-compact-grid .rl-card h3{font-size:.96rem}
.rl-compact-grid .rl-card p{font-size:.8rem}

/* 17 — numbered. */
.rl-numbered{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.rl-numbered-item{position:relative;padding-top:42px}
.rl-number{position:absolute;top:0;left:0;font-family:var(--fd,var(--fd));font-size:2rem;color:var(--rl-accent);line-height:1}

/* 18 — display-type links. */
.rl-display-links{border-top:1px solid var(--rl-line)}
.rl-display-links a{display:block;padding:26px 58px 26px 0;border-bottom:1px solid var(--rl-line);position:relative;text-decoration:none;color:inherit}
.rl-display-name{display:block;font-family:var(--fd,var(--fd));font-size:clamp(1.7rem,3.6vw,2.7rem);color:var(--rl-fg2);line-height:1.05;transition:color .2s}
.rl-display-for{display:block;font-size:.78rem;color:var(--rl-fg3);margin-top:7px}
.rl-display-arrow{position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.6rem;color:var(--rl-accent)}
.rl-display-links a:hover .rl-display-name{color:var(--rl-accent)}

/* 19 — prices. */
.rl-19 .rl-card{min-height:100%}

/* 20 — the complete close. */
.msvc-related-section.rl-20{padding:0}
.rl-close-related{background:var(--cream,var(--cream));padding:clamp(34px,4.5vw,58px) 0;--rl-fg:var(--body,var(--body));--rl-fg2:var(--ink,var(--ink));--rl-fg3:var(--muted,var(--muted));--rl-accent:var(--coral-ink,var(--coral-ink));--rl-line:var(--line,var(--line));--rl-card:#fff}
.rl-close-cta{background:var(--ink,var(--ink));padding:clamp(38px,5vw,68px) 0;--rl-fg:rgba(255,255,255,.78);--rl-fg2:#fff;--rl-fg3:rgba(255,255,255,.68);--rl-accent:var(--coral,var(--coral));--rl-line:rgba(255,255,255,.16)}
.rl-close-cta .rl-cta{padding:0;background:transparent;text-align:center;grid-template-columns:1fr;max-width:820px;margin-inline:auto}
.rl-close-cta .rl-cta-copy{max-width:720px;margin-inline:auto}
.rl-close-cta .rl-eyebrow{justify-content:center}
.rl-close-cta .rl-cta p{margin-inline:auto}
.rl-close-cta .rl-cta-actions{justify-content:center}

@media(max-width:960px){
  .rl-grid,.rl-5 .rl-grid,.rl-decision-grid,.rl-compact-grid,.rl-numbered{grid-template-columns:1fr 1fr}
  .rl-cta{grid-template-columns:1fr}
  .rl-cta-actions{justify-content:flex-start}
  .rl-cta.is-light .rl-cta-actions{justify-content:center}
  .rl-editorial,.rl-full-top-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .rl-grid,.rl-5 .rl-grid,.rl-decision-grid,.rl-compact-grid,.rl-numbered{grid-template-columns:1fr}
  .rl-hairlines a{grid-template-columns:1fr;gap:4px}
  .rl-card-body{padding:20px}
  .rl-cta{padding:28px 22px}
  .rl-comparison-link{align-items:flex-start}
}
