/* Generated from the approved Figma build (services.html). */
:root{
  --u:min(1.2px,0.0694444vw);   /* the design canvas grows with the screen up to 1728px (operator 10-24: 1440 felt boxed) */
  --ink:#000;--cream:#f3eeeb;--teal:#3a4b53;--light:#eee9dd;--rose:#9a6869;--text2:#2b2b2d;
  --script:'Pinyon Script',cursive;--serif:'Playfair Display',Georgia,serif;--sans:'Poppins',Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--cream);color:var(--ink);font-family:var(--sans);overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;text-align:left}
.vmcp-page{position:relative;max-width:calc(1440*var(--u));margin:0 auto;overflow:hidden;isolation:isolate}

/* ===================== DESKTOP (Figma 206:735, 1440) ===================== */
.hero{position:relative;height:calc(580*var(--u))}
.waves{position:absolute;left:0;top:calc(-454*var(--u));width:calc(1440*var(--u));height:calc(974*var(--u));background:url(../img/svc-hero-waves.webp) center/cover no-repeat;opacity:.6;mix-blend-mode:multiply;pointer-events:none}

.nav{position:absolute;top:calc(57*var(--u));left:50%;transform:translateX(-50%);width:calc(1336*var(--u));display:flex;align-items:center;justify-content:space-between;z-index:5;color:var(--text2)}
.nav-links{display:flex;gap:calc(32*var(--u));align-items:flex-start;font-weight:500;font-size:calc(16*var(--u));text-transform:uppercase;white-space:nowrap}
.nav-links .on{display:flex;flex-direction:column;gap:calc(2*var(--u))}
.nav-links .on img{width:calc(75*var(--u));height:1px}
.nav-right{display:flex;gap:calc(24*var(--u));align-items:center;justify-content:flex-end;width:calc(296*var(--u))}
.social{display:flex;gap:calc(11*var(--u));align-items:center}
.social a{position:relative;display:block;width:calc(32*var(--u));height:calc(32*var(--u))}
.social .ig img{position:absolute;left:6.38%;top:6.38%;width:84.12%;height:84.12%}
.social .tt img{width:100%;height:100%}
.pill{display:inline-flex;align-items:center;justify-content:center;height:calc(50*var(--u));width:calc(166*var(--u));border:1px solid var(--text2);border-radius:calc(57*var(--u));font-size:calc(16*var(--u));text-transform:uppercase;white-space:nowrap;color:var(--text2);transition:background .2s,color .2s}
.pill:hover{background:var(--text2);color:var(--cream)}
.logo{position:absolute;inset:0 auto auto 0;z-index:5}
.logo img{position:absolute;max-width:none}
.logo .ring{left:calc(669.63*var(--u));top:calc(31*var(--u));width:calc(99.087*var(--u));height:calc(102.835*var(--u))}
.logo .ringword{left:calc(682*var(--u));top:calc(72.93*var(--u));width:calc(71*var(--u));height:calc(22.903*var(--u))}
.logo .word{left:calc(635*var(--u));top:calc(45.23*var(--u));width:calc(169.798*var(--u));height:calc(54.772*var(--u))}
.logo .mobile{display:none}
.burger{display:none}

.crumb{position:absolute;left:calc(51*var(--u));top:calc(299*var(--u));transform:translateY(-50%);font-weight:500;font-size:calc(20*var(--u));white-space:pre;line-height:normal}
.crumb a:hover{text-decoration:underline}
.title{font-weight:500}
.title span{position:absolute;transform:translateY(-50%);line-height:normal;white-space:nowrap}
.title .our{left:calc(56*var(--u));top:calc(424.5*var(--u));font-family:var(--serif);font-size:calc(73*var(--u))}
.title .our i{font-style:normal;font-family:var(--script);font-weight:400;font-size:calc(153*var(--u))}
.title .svc{left:calc(231*var(--u));top:calc(425*var(--u));font-family:var(--serif);font-size:calc(78*var(--u))}

.stack{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:calc(128*var(--u))}
.intro{width:calc(710*var(--u));font-size:calc(20*var(--u));text-align:center;line-height:normal}

h2.sec{font-family:var(--serif);font-weight:400;font-size:calc(48*var(--u));line-height:normal}
.head{display:flex;flex-direction:column;gap:calc(16*var(--u));width:100%}
.head p{font-size:calc(16*var(--u));line-height:normal}
.head.center{align-items:center;text-align:center}
.head.center p{width:calc(848*var(--u))}
.head.left p{width:calc(1228*var(--u))}
.pill-teal{display:inline-flex;align-items:center;justify-content:center;height:calc(50*var(--u));width:calc(251*var(--u));border-radius:calc(57*var(--u));background:var(--teal);color:var(--cream);font-size:calc(16*var(--u));text-transform:uppercase;white-space:nowrap;transition:opacity .2s}
.pill-teal:hover{opacity:.88}

.rm{display:flex;gap:calc(8*var(--u));align-items:center;justify-content:flex-end;height:calc(30*var(--u));width:100%;font-weight:500;font-size:calc(16*var(--u));text-transform:uppercase;white-space:nowrap}
.rm img{width:calc(33*var(--u));height:calc(32*var(--u));transition:transform .2s}
a:hover .rm img,.rm:hover img{transform:translateX(3px)}

/* outline cards (Medical Services, Signature Packages) */
.med{width:calc(1339*var(--u));display:flex;flex-direction:column;gap:calc(64*var(--u));align-items:center}
.ocards{display:flex;gap:calc(32*var(--u));height:calc(242*var(--u));width:100%;justify-content:center}
.ocard{flex:1 0 0;min-width:1px;border:1px solid #000;border-radius:calc(24*var(--u));padding:calc(16*var(--u));display:flex;flex-direction:column;justify-content:space-between;transition:background .2s}
.ocard:hover{background:rgba(223,202,175,.35)}
.ocard h3{font-weight:400;font-size:calc(20*var(--u));line-height:normal}

/* photo cards (Integrative Wellness, Body Contouring) */
.well,.body{width:calc(1338*var(--u));display:flex;flex-direction:column;gap:calc(64*var(--u))}
.pcards{display:flex;gap:calc(48*var(--u));align-items:stretch;width:100%}
.pcard{flex:1 0 0;min-width:1px;display:flex;flex-direction:column;gap:calc(23*var(--u));align-items:center;color:var(--text2)}
.pimg{width:100%;border-radius:calc(24*var(--u));overflow:hidden}
.pimg img{width:100%;height:100%;object-fit:cover}
.pcard h3{width:calc(405*var(--u));height:calc(20*var(--u));font-weight:600;font-size:calc(20*var(--u));line-height:normal}
.pcard p{width:calc(405*var(--u));min-height:calc(95*var(--u));font-size:calc(16*var(--u));line-height:normal}
.pcard .rm{color:#000}
.well .c1 .pimg{aspect-ratio:432/370}
.well .c2 .pimg{height:calc(359*var(--u))}
.well .c3 .pimg{height:calc(361*var(--u));width:calc(411*var(--u))}
.body .pimg{aspect-ratio:414/355}

/* treatments band: row list (tabs) + panel */
.treat{width:100%;background:rgba(223,202,175,.4);padding:calc(64*var(--u)) calc(51*var(--u));display:flex;justify-content:center}
.treat-row{width:100%;height:calc(728*var(--u));display:flex;align-items:center;justify-content:space-between}
.treat-left{width:calc(555*var(--u));height:calc(726*var(--u));display:flex;flex-direction:column;gap:calc(64*var(--u))}
.treat-left .head{gap:calc(32*var(--u))}
.rows{display:flex;flex-direction:column;width:100%}
.row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:calc(16*var(--u)) calc(24*var(--u));border-bottom:1px solid #000;font-size:calc(24*var(--u));line-height:normal;white-space:nowrap;transition:background .2s}
.row img{width:calc(33*var(--u));height:calc(32*var(--u));flex:none}
.row:hover{background:rgba(223,202,175,.3)}
.trow[aria-selected="true"]{background:rgba(223,202,175,.49);height:calc(72*var(--u))}
.trow .mu,.trow .md{display:none}
.addons{display:inline-flex;align-self:flex-start;gap:calc(16*var(--u));align-items:center;padding:calc(12*var(--u)) calc(16*var(--u));border-radius:calc(71*var(--u));font-size:calc(24*var(--u));white-space:nowrap;transition:background .2s}
.addons img{width:calc(32*var(--u));height:calc(32*var(--u))}
.addons:hover{background:rgba(223,202,175,.45)}
.tpanel{width:calc(730*var(--u));display:flex;flex-direction:column;gap:calc(16*var(--u))}
.tpanel .timg{width:100%;aspect-ratio:730/474;border-radius:calc(24*var(--u));overflow:hidden}
.tpanel .timg img{width:100%;height:100%;object-fit:cover}
.tpanel h3{height:calc(38*var(--u));display:flex;align-items:center;font-weight:500;font-size:calc(32*var(--u))}
.tpanel p{min-height:calc(78*var(--u));font-size:calc(16*var(--u));line-height:1.6}
.tp-chips{list-style:none;display:flex;flex-wrap:wrap;gap:calc(8*var(--u))}
.tp-chips a{display:inline-block;padding:calc(8*var(--u)) calc(14*var(--u));border:1px solid rgba(62,47,44,.35);border-radius:999px;font-size:calc(13*var(--u));transition:background .2s,color .2s}
.tp-chips a:hover{background:#3e2f2c;color:#f3eeeb}
.explore{display:flex;gap:calc(16*var(--u));align-items:center;justify-content:flex-end;height:calc(62*var(--u));padding:0 calc(24*var(--u));font-weight:500;font-size:calc(20*var(--u));text-transform:uppercase}
.explore img{width:calc(60*var(--u));height:calc(60*var(--u));transition:transform .2s}
.explore img.m{display:none}
.explore:hover img{transform:translateX(4px)}

/* laser */
.laser{width:100%;padding:0 calc(51*var(--u))}
.laser-row{display:flex;gap:calc(50*var(--u));align-items:center;justify-content:center}
.laser-img{width:calc(630*var(--u));height:calc(630*var(--u));border-radius:calc(24*var(--u));overflow:hidden;flex:none}
.laser-img img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.laser-right{width:calc(555*var(--u));display:flex;flex-direction:column;gap:calc(27*var(--u))}
.laser-right>p{font-size:calc(16*var(--u));line-height:normal}

/* consult cta */
.consult{position:relative;width:calc(1335*var(--u));height:calc(364*var(--u));border-radius:calc(24*var(--u));overflow:hidden;isolation:isolate;background:var(--rose);color:var(--light);display:flex;flex-direction:column;gap:calc(32*var(--u));align-items:center;justify-content:center;padding:calc(10*var(--u));text-align:center}
.consult::before{content:"";position:absolute;inset:0;background:url(../img/cta-waves.webp) center/cover;mix-blend-mode:overlay;opacity:.2;z-index:-1}
.consult h2{width:calc(961*var(--u));height:calc(97*var(--u));font-family:var(--serif);font-weight:400;font-size:calc(48*var(--u));line-height:normal}
.consult h2 i{font-style:normal;font-family:var(--script);font-size:calc(100*var(--u));line-height:0}
.consult p{width:calc(542*var(--u));font-size:calc(16*var(--u))}
.consult .pill{width:auto;border-color:var(--light);color:var(--light);border-radius:calc(63*var(--u));padding:0 calc(10*var(--u))}
.consult .pill span{display:block;width:calc(250*var(--u))}
.consult .pill:hover{background:var(--light);color:var(--rose)}

.pkg{width:calc(1339*var(--u));display:flex;flex-direction:column;gap:calc(64*var(--u));align-items:center}
.pkg h2.sec{font-weight:500}
.pk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(32*var(--u));width:100%}
.pk{display:flex;flex-direction:column;gap:calc(12*var(--u));min-height:calc(250*var(--u));padding:calc(28*var(--u)) calc(26*var(--u)) calc(20*var(--u));border:1px solid #000;border-radius:calc(24*var(--u));transition:background .3s}
.pk:hover{background:rgba(223,202,175,.32)}
.pk-n{font-family:var(--serif);font-style:italic;font-size:calc(15*var(--u));color:#9a6869;letter-spacing:.08em}
.pk h3{font-family:var(--serif);font-weight:400;font-size:calc(26*var(--u));line-height:1.2}
.pk p{flex:1;font-size:calc(15*var(--u));line-height:1.6;color:var(--text2)}
.menu{width:calc(1339*var(--u));display:flex;flex-direction:column;gap:calc(56*var(--u));align-items:center}
.menu .head p{width:calc(760*var(--u))}
.menu-cols{width:100%;display:grid;grid-template-columns:1fr 1fr;column-gap:calc(72*var(--u));align-items:start}
.menu-col{border-bottom:1px solid rgba(0,0,0,.8)}
.mcat{border-top:1px solid rgba(0,0,0,.8)}
.mcat summary{list-style:none;display:flex;align-items:center;gap:calc(16*var(--u));padding:calc(22*var(--u)) calc(4*var(--u));cursor:pointer}
.mcat summary::-webkit-details-marker{display:none}
.mc-name{flex:1;font-family:var(--serif);font-size:calc(28*var(--u));line-height:1.2}
.mc-count{font-size:calc(11.5*var(--u));letter-spacing:.22em;text-transform:uppercase;color:#9a6869;white-space:nowrap}
.mc-icon{position:relative;flex:none;width:calc(30*var(--u));height:calc(30*var(--u));border:1px solid rgba(0,0,0,.5);border-radius:50%;transition:background .3s}
.mc-icon::before,.mc-icon::after{content:"";position:absolute;left:50%;top:50%;width:calc(11*var(--u));height:1px;background:#000;transform:translate(-50%,-50%)}
.mc-icon::after{transform:translate(-50%,-50%) rotate(90deg);transition:opacity .3s}
.mcat[open] .mc-icon::after{opacity:0}
.mcat summary:hover .mc-icon{background:rgba(223,202,175,.45)}
.mc-intro{padding:0 calc(4*var(--u)) calc(14*var(--u));font-size:calc(15*var(--u));line-height:1.6;color:var(--text2)}
.mc-list{list-style:none;padding:0 0 calc(20*var(--u))}
.mc-item{display:grid;grid-template-columns:1fr auto;column-gap:calc(16*var(--u));row-gap:calc(2*var(--u));padding:calc(13*var(--u)) calc(4*var(--u));border-top:1px solid rgba(0,0,0,.09)}
a.mc-item:hover .mi-name{color:#9a6869}
.mi-name{font-weight:500;font-size:calc(16*var(--u));transition:color .2s}
.mi-go{grid-row:1/3;grid-column:2;align-self:center;width:calc(20*var(--u));height:calc(20*var(--u));opacity:.55}
.mi-text{font-size:calc(14*var(--u));line-height:1.55;color:#5b504c}
.menu-note{font-size:calc(15*var(--u));color:var(--text2);text-align:center}
.menu-note a{text-decoration:underline;text-underline-offset:3px}

/* footer (same build as index.html) */
.footer{width:100%;background:var(--teal);color:var(--light);border-radius:calc(24*var(--u)) calc(24*var(--u)) 0 0;padding:calc(64*var(--u)) 0;display:flex;flex-direction:column;align-items:center;gap:calc(32*var(--u));height:calc(681*var(--u))}
.foot-row{width:calc(1334*var(--u));display:flex;gap:calc(173*var(--u));align-items:flex-start}
.foot-logo{position:relative;width:calc(271.809*var(--u));height:calc(282.097*var(--u));flex:none}
.foot-logo .ring{position:absolute;inset:0;width:100%;height:100%}
.foot-logo .word{position:absolute;left:calc(33.92*var(--u));top:calc(115.03*var(--u));width:calc(194.76*var(--u));height:calc(62.824*var(--u))}
.foot-cols{display:contents}
.fcol{display:flex;flex-direction:column;gap:calc(24*var(--u))}
.fcol h4{font-family:var(--serif);font-weight:400;font-size:calc(24*var(--u));white-space:nowrap}
.fcol ul{list-style:none;display:flex;flex-direction:column;gap:calc(24*var(--u));font-weight:500;font-size:calc(16*var(--u))}
.fcol.f1{width:calc(150*var(--u))}.fcol.f2{width:calc(130*var(--u))}.fcol.f3{width:calc(155*var(--u))}
.fcol.f1 li{width:calc(186*var(--u))}.fcol.f2 li{width:calc(161*var(--u))}
.fcol.f3 ul{font-weight:300}
.fcol.f3 li{white-space:nowrap}
.fcol a:hover{text-decoration:underline}
.hours{display:grid;grid-template-columns:calc(45*var(--u)) auto;column-gap:calc(12*var(--u));row-gap:calc(8*var(--u))}
.foot-bottom{width:calc(1334*var(--u));display:flex;align-items:center;justify-content:space-between;font-size:calc(16*var(--u))}
.foot-bottom .copy{font-weight:300;width:calc(462*var(--u));text-align:center}
.foot-legal{display:flex;gap:calc(24*var(--u));align-items:center;font-weight:500}
.foot-legal span{display:inline-flex;align-items:center;gap:calc(5*var(--u))}
.foot-legal img{width:calc(24*var(--u));height:calc(24*var(--u))}

/* ===================== MOBILE (Figma 213:253, 390) ===================== */
@media (max-width:1099px){
  :root{--u:min(1.3px,0.25641vw)}
  .vmcp-page{max-width:none}
  .hero{height:calc(703*var(--u))}
  .waves{left:calc(-555*var(--u));top:calc(-342*var(--u))}
  .nav{display:none}
  .logo .ring,.logo .ringword,.logo .word{display:none}
  .logo .mobile{display:block;left:calc(20*var(--u));top:calc(30*var(--u));width:calc(107.798*var(--u));height:calc(35.047*var(--u))}
  .burger{display:block;position:absolute;right:calc(22*var(--u));top:calc(25*var(--u));width:calc(46*var(--u));height:calc(45*var(--u));z-index:6}
  .burger img{width:100%;height:100%}
  .crumb{left:calc(20*var(--u));top:calc(229*var(--u))}
  .title .our{left:calc(29*var(--u));top:calc(323*var(--u));font-weight:600;font-size:calc(47*var(--u))}
  .title .our i{font-size:calc(127*var(--u))}
  .title .svc{left:calc(161*var(--u));top:calc(331.5*var(--u));font-weight:600;font-size:calc(52*var(--u))}
  .intro{width:calc(350*var(--u));font-size:calc(14*var(--u))}

  h2.sec{font-weight:500;font-size:calc(24*var(--u))}
  .head.center p,.head.left p{width:100%}
  .med,.well,.body,.pkg,.menu{width:calc(350*var(--u))}
  .pk-grid{grid-template-columns:1fr;gap:calc(16*var(--u))}
  .pk{min-height:0;padding:calc(22*var(--u)) calc(20*var(--u)) calc(16*var(--u))}
  .pk h3{font-size:calc(22*var(--u))}
  .menu{gap:calc(32*var(--u))}
  .menu .head p{width:100%}
  .menu-cols{grid-template-columns:1fr}
  .menu-col:first-child{border-bottom:0}
  .mc-name{font-size:calc(22*var(--u))}
  .mc-count{display:none}
  .ocards{flex-direction:column;height:auto;gap:calc(16*var(--u))}
  .ocard{flex:none;width:100%;height:calc(70*var(--u));flex-direction:row;align-items:center}
  .ocard .rm{width:auto}
  .ocard .rm span{display:none}
  .pcards{flex-direction:column;gap:calc(48*var(--u))}
  .pcard{flex:none;width:100%}
  .pcard h3,.pcard p{width:100%}
  .well .c3 .pimg{height:calc(305*var(--u));width:calc(348*var(--u))}

  .treat{background:#e8dbcb;padding:calc(64*var(--u)) calc(20*var(--u))}
  .treat-row{width:calc(350*var(--u));height:auto;flex-direction:column}
  .treat-left{width:100%;height:auto;gap:calc(48*var(--u))}
  .treat-left .head{width:calc(319*var(--u));gap:calc(16*var(--u))}
  .treat-left h2.sec{font-weight:400}
  .trow[aria-selected="true"]{background:#dfcfb9;border-bottom:0}
  .trow .d{display:none}
  .trow .mu{display:block}
  .trow[aria-selected="true"] .mu{display:none}
  .trow[aria-selected="true"] .md{display:block}
  .rows .tpanel{width:100%;padding:0 0 calc(16*var(--u))}
  .rows .tpanel+.trow{border-top:1px solid #000;height:calc(68*var(--u))}
  .tpanel p{min-height:0;line-height:1.5}
  .explore{height:calc(38*var(--u))}
  .explore img{display:none}
  .explore img.m{display:block;width:calc(33*var(--u));height:calc(32*var(--u))}
  .addons{align-self:stretch;justify-content:center;gap:calc(8*var(--u));font-size:calc(14*var(--u))}

  .laser{width:calc(350*var(--u));padding:0}
  .laser-row{flex-direction:column;align-items:stretch;gap:calc(27*var(--u))}
  .laser-right{display:contents}
  .laser-right h2{order:1}.laser-right>p{order:2}.laser-img{order:3}.laser-right .rows{order:4}
  .laser-img{width:100%;height:auto;aspect-ratio:1}
  .laser .row{padding:calc(16*var(--u)) 0;font-size:calc(20*var(--u))}
  .laser-right h2.sec{font-weight:400}

  .consult{width:calc(350*var(--u));height:auto;padding:calc(48*var(--u)) calc(16*var(--u))}
  .consult h2{width:calc(350*var(--u));height:auto;font-size:calc(36*var(--u))}
  .consult h2 i{font-size:calc(88*var(--u))}
  .consult p{width:100%}
  .consult .pill{color:#fff}

  .footer{height:auto;padding:calc(32*var(--u)) 0}
  .foot-row{width:calc(310*var(--u));gap:calc(32*var(--u))}
  .foot-logo{width:calc(75.465*var(--u));height:calc(76.999*var(--u))}
  .foot-logo .word{left:calc(9.42*var(--u));top:calc(31.4*var(--u));width:calc(54.073*var(--u));height:calc(17.148*var(--u))}
  .foot-cols{display:flex;flex-direction:column;gap:calc(32*var(--u))}
  .fcol h4{font-size:calc(20*var(--u))}
  .fcol ul{gap:calc(16*var(--u));font-size:calc(14*var(--u))}
  .fcol.f3 ul{gap:calc(8*var(--u));font-size:calc(16*var(--u))}
  .foot-bottom{width:calc(350*var(--u));flex-direction:column-reverse;gap:calc(32*var(--u))}
  .foot-bottom .copy{width:100%}
  .foot-legal{width:100%;justify-content:space-between}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* WordPress: wordmark only in the header (the stacked ring read as a double logo) */
.logo .ring,.logo .ringword{display:none}

/* WordPress 10-24: hero waves and footer bleed to the screen edges (see index.html note) */
.vmcp-page{overflow:visible}
/* nothing may widen the page: the canvas clips at the screen edges (the bleeds end exactly there) */
html,body{overflow-x:clip}
@supports not (overflow-x:clip){html,body{overflow-x:hidden}}
.vmcp-page{clip-path:inset(0 calc(50% - 50vw))}
.waves{left:50%;transform:translateX(-50%);width:100vw}
.footer{position:relative;isolation:isolate;background:transparent}
.footer::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:var(--teal);border-radius:inherit;z-index:-1}
@media (max-width:1099px){.vmcp-page{overflow:hidden;clip-path:none}.waves{transform:none;width:calc(1440*var(--u))}}
