/* Body to Body Massage Amsterdam page */
body.rvs-site .btb-page{width:100vw;max-width:none;margin:0 calc(50% - 50vw);overflow:hidden;background:#070304;color:var(--text)}
.btb-page *{box-sizing:border-box}.btb-page p{margin:0}.btb-grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.025;background-image:radial-gradient(rgba(255,255,255,.55) 1px,transparent 1px);background-size:4px 4px;mix-blend-mode:screen}.btb-hero,.btb-section,.btb-cta{position:relative;width:100vw;margin:0 calc(50% - 50vw);padding-left:var(--edge);padding-right:var(--edge);isolation:isolate}.btb-hero{min-height:clamp(560px,86vh,900px);display:grid;align-items:center;overflow:hidden;background:radial-gradient(circle at 72% 30%,rgba(242,207,135,.18),transparent 34%),radial-gradient(circle at 10% 80%,rgba(158,23,50,.42),transparent 42%),linear-gradient(145deg,#050203,#17070b 52%,#080304)}.btb-waves{position:absolute;inset:0;overflow:hidden;pointer-events:none}.btb-waves span{position:absolute;left:-50%;bottom:calc(-180px + var(--i,0px));width:200%;height:330px;border:1px solid rgba(242,207,135,.075);border-radius:50%;animation:btbWave 13s ease-in-out infinite}.btb-waves span:nth-child(2){bottom:-110px;height:240px;animation-delay:2s}.btb-waves span:nth-child(3){bottom:-60px;height:180px;animation-delay:4s}@keyframes btbWave{0%,100%{transform:scaleX(1) translateY(0);opacity:.25}50%{transform:scaleX(1.08) translateY(-24px);opacity:.75}}.btb-orb{position:absolute;right:-7vw;top:50%;width:clamp(340px,50vw,760px);aspect-ratio:1;border-radius:999px;background:radial-gradient(circle,rgba(242,207,135,.2),rgba(158,23,50,.12) 45%,transparent 72%);filter:blur(60px);animation:btbOrb 8s ease-in-out infinite}@keyframes btbOrb{50%{transform:scale(1.08);opacity:.8}}.btb-hero-grid,.btb-grid,.btb-benefits-grid,.btb-steps,.btb-who-grid,.btb-cta-inner{position:relative;z-index:2;width:100%;max-width:none;margin:0}.btb-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);gap:clamp(22px,4vw,64px);align-items:center;padding:clamp(36px,6vw,78px) 0}.btb-copy{display:grid;gap:18px}.btb-eyebrow,.btb-small{display:inline-flex;align-items:center;gap:12px;color:var(--gold-2);font-size:12px;font-weight:900;letter-spacing:.28em;text-transform:uppercase}.btb-eyebrow:before{content:"";width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-2))}.btb-hero h1,.btb-text h2,.btb-center h2,.btb-cta h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.065em;line-height:1;color:var(--cream);margin:0}.btb-hero h1{font-size:clamp(48px,7vw,104px);max-width:980px;background:linear-gradient(135deg,var(--cream),var(--gold-2) 60%,#fff);-webkit-background-clip:text;background-clip:text;color:transparent}.btb-italic{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:clamp(17px,1.5vw,24px);color:rgba(242,207,135,.78)}.btb-lead,.btb-text p,.btb-lead-center,.btb-cta p{color:rgba(255,248,236,.72);font-size:clamp(15px,1.1vw,18px);line-height:1.78;max-width:760px}.btb-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}.btb-actions-center{justify-content:center}.btb-visual{position:relative;justify-self:end}.btb-frame{position:relative;overflow:hidden;border-radius:34px;border:1px solid var(--gold-line);box-shadow:var(--shadow);background:linear-gradient(145deg,#2a0710,#080304)}.btb-frame img,.btb-image-fallback{width:min(520px,38vw);aspect-ratio:3/4;object-fit:cover;object-position:center top;display:grid;place-items:center}.btb-image-fallback span{display:grid;place-items:center;width:120px;height:120px;border-radius:999px;border:1px solid var(--gold-line);color:var(--gold-2);font-size:56px}.btb-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(7,3,4,.82));pointer-events:none}.btb-depth,.btb-floating-tag{position:absolute;z-index:3;left:-18px;bottom:-18px;min-width:120px;padding:14px 18px;border-radius:18px;background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#130608;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.42);animation:btbFloat 5.5s ease-in-out infinite}.btb-depth strong,.btb-floating-tag strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:30px;line-height:1}.btb-depth span,.btb-floating-tag span{display:block;margin-top:3px;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}@keyframes btbFloat{50%{transform:translateY(-10px)}}.btb-section{padding-top:clamp(30px,4vw,64px);padding-bottom:clamp(30px,4vw,64px);border-top:1px solid rgba(255,248,236,.08)}.btb-section-mid{background:radial-gradient(circle at 80% 0,rgba(242,207,135,.08),transparent 36%),linear-gradient(180deg,#10060a,#070304)}.btb-section-dark{background:radial-gradient(circle at 10% 30%,rgba(158,23,50,.22),transparent 40%),linear-gradient(135deg,#070304,#16070b)}.btb-section-alt{background:linear-gradient(180deg,#0b0406,#13060b)}.btb-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,4vw,58px);align-items:center}.btb-grid-media-text{grid-template-columns:.9fr 1.1fr}.btb-text{display:grid;gap:13px}.btb-text h2,.btb-center h2,.btb-cta h2{font-size:clamp(34px,4.5vw,68px);background:linear-gradient(135deg,var(--cream),var(--gold-2));-webkit-background-clip:text;background-clip:text;color:transparent}.btb-flow-list,.btb-feature-list,.btb-why-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:10px}.btb-flow-list li,.btb-feature-list li,.btb-why-list li{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;border:1px solid rgba(255,248,236,.1);border-radius:16px;background:rgba(255,255,255,.045);color:rgba(255,248,236,.76);line-height:1.62}.btb-flow-list li:before,.btb-feature-list li:before,.btb-why-list li:before{content:"≈";color:var(--gold-2);font-weight:900}.btb-media-card{position:relative;min-height:clamp(280px,28vw,440px);border:1px solid var(--gold-line);border-radius:30px;overflow:hidden;background:radial-gradient(circle at 50% 20%,rgba(242,207,135,.24),transparent 36%),linear-gradient(145deg,#2a0710,#080304);box-shadow:0 30px 90px rgba(0,0,0,.32)}.btb-media-fallback{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,rgba(158,23,50,.45),rgba(7,3,4,.1))}.btb-media-fallback span{padding:10px 16px;border:1px solid var(--gold-line);border-radius:999px;color:var(--gold-2);font-size:12px;font-weight:900;letter-spacing:.22em;text-transform:uppercase}.btb-media-fallback-alt{background:radial-gradient(circle at 30% 20%,rgba(242,207,135,.15),transparent 40%),linear-gradient(135deg,rgba(7,3,4,.18),rgba(158,23,50,.36))}.btb-floating-tag{left:auto;right:-14px;top:-14px;bottom:auto}.btb-center{text-align:center;display:grid;justify-items:center;gap:10px}.btb-lead-center{max-width:860px}.btb-benefits-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.5vw,22px);margin-top:clamp(20px,2.5vw,36px)}.btb-card,.btb-step,.btb-who,.btb-stat-grid div{position:relative;overflow:hidden;border:1px solid rgba(255,248,236,.1);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));padding:clamp(18px,2vw,28px);box-shadow:0 24px 70px rgba(0,0,0,.18)}.btb-card span{font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,5vw,76px);line-height:1;color:rgba(242,207,135,.28)}.btb-card h3,.btb-step h3,.btb-who h3{margin:8px 0 8px;color:var(--cream);font-family:Georgia,"Times New Roman",serif;font-size:clamp(22px,1.8vw,30px);font-weight:400;letter-spacing:-.04em}.btb-card p,.btb-step p,.btb-who p{color:rgba(255,248,236,.68);font-size:14px;line-height:1.65}.btb-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.5vw,22px);margin-top:clamp(20px,2.5vw,36px)}.btb-step{text-align:center}.btb-step div{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 12px;border-radius:999px;border:1px solid var(--gold-line);color:var(--gold-2);font-weight:900}.btb-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.btb-stat-grid div{text-align:center}.btb-stat-grid strong{display:block;color:var(--gold-2);font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,4vw,58px);line-height:1}.btb-stat-grid span{display:block;margin-top:8px;color:rgba(255,248,236,.66);font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.btb-who-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.5vw,22px);margin-top:clamp(20px,2.5vw,36px)}.btb-who{text-align:center}.btb-who>span{display:block;color:var(--gold-2);font-size:34px;margin-bottom:8px}.btb-cta{overflow:hidden;text-align:center;padding-top:clamp(46px,6vw,90px);padding-bottom:clamp(46px,6vw,90px);background:radial-gradient(circle at 50% 0,rgba(242,207,135,.16),transparent 44%),linear-gradient(180deg,#15070b,#070304);border-top:1px solid rgba(255,248,236,.08)}.btb-cta-ring{position:absolute;left:50%;top:50%;width:520px;height:520px;border:1px solid rgba(242,207,135,.09);border-radius:999px;transform:translate(-50%,-50%);animation:btbRing 8s ease-in-out infinite}.btb-cta-ring:nth-child(2){width:820px;height:820px;animation-delay:3s}@keyframes btbRing{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}40%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.25)}}.btb-cta-inner{display:grid;justify-items:center;gap:14px}.btb-cta p{max-width:760px}.btb-reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s ease}.btb-reveal.in{opacity:1;transform:none}.btb-delay-1{transition-delay:.1s}.btb-delay-2{transition-delay:.2s}.btb-delay-3{transition-delay:.3s}.btb-delay-4{transition-delay:.4s}@media(max-width:1100px){.btb-benefits-grid,.btb-steps,.btb-who-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.btb-hero-grid,.btb-grid,.btb-grid-media-text{grid-template-columns:1fr}.btb-visual{justify-self:start}.btb-frame img,.btb-image-fallback{width:min(100%,560px)}}@media(max-width:640px){.btb-benefits-grid,.btb-steps,.btb-who-grid,.btb-stat-grid{grid-template-columns:1fr}.btb-hero h1{font-size:clamp(42px,13vw,68px)}.btb-actions .button{width:100%}.btb-section{padding-top:26px;padding-bottom:26px}.btb-depth{left:14px;bottom:14px}}


/* =========================================================
   TRUE EDGE-TO-EDGE SERVICE DETAIL OVERRIDE v1.1.7
   Matches the main index page behavior: one full-width page,
   no nested 100vw section offsets, no centered page body.
   ========================================================= */
body.rvs-site .btb-page{
  display:block !important;
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:0 !important;
  overflow:hidden !important;
}
body.rvs-site .btb-page .btb-hero,
body.rvs-site .btb-page .btb-section,
body.rvs-site .btb-page .btb-cta{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding-left:var(--edge) !important;
  padding-right:var(--edge) !important;
  box-sizing:border-box !important;
}
body.rvs-site .btb-page .btb-hero-grid,
body.rvs-site .btb-page .btb-grid,
body.rvs-site .btb-page .btb-benefits-grid,
body.rvs-site .btb-page .btb-steps,
body.rvs-site .btb-page .btb-who-grid,
body.rvs-site .btb-page .btb-cta-inner{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
body.rvs-site .btb-page section + section,
body.rvs-site .btb-page .btb-section + .btb-section,
body.rvs-site .btb-page .btb-hero + .btb-section{
  margin-top:0 !important;
}
body.rvs-site .btb-page .btb-section{
  padding-top:clamp(26px,3vw,46px) !important;
  padding-bottom:clamp(26px,3vw,46px) !important;
}
body.rvs-site .btb-page .btb-hero{
  min-height:clamp(520px,78vh,860px) !important;
}
/* Editable service detail images */
.btb-media-card > img,
.btb-media-card > .wp-post-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
}
.btb-media-card:has(> img)::after,
.btb-media-card:has(> .wp-post-image)::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(7,3,4,.08),rgba(7,3,4,.62));
}
