/* Beauty Bar by Akhlas — shared styles */
:root{
    --ivory:#F8F2E8; --sand:#EFE5D5; --ink:#322A22; --ink-soft:#7A6C5D;
    --rose:#B5828B; --rose-d:#996B73; --rose-text:#8A5560; --gold:#C49A57;
    --dark:#2B2420; --dark2:#332B25;
    --line:#E7DCC9; --line-d:#D6C7B0;
    --maxw:1120px;
    --disp:"Cormorant Garamond",Georgia,serif;
    --sans:"Hanken Grotesk",system-ui,-apple-system,sans-serif;
    --sh:0 16px 38px -22px rgba(120,82,72,.30),0 3px 10px -6px rgba(43,36,32,.16);
    --sh-lg:0 40px 84px -38px rgba(120,82,72,.36),0 10px 26px -16px rgba(43,36,32,.20);
    --ease:cubic-bezier(.22,.68,.16,1);
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{background:var(--ivory);color:var(--ink);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
  /* editorial-luxury film grain: fixed, non-interactive, subtle physical texture */
  body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9990;opacity:.04;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px;}
  p{text-wrap:pretty;}
  .pnow,.pwas,.pper{font-variant-numeric:tabular-nums;}
  h1,h2,h3,.disp{font-family:var(--disp);font-weight:500;line-height:1.08;letter-spacing:0;}
  em.acc{font-style:italic;color:var(--rose-text);}
  a{color:inherit;text-decoration:none;} img{max-width:100%;display:block;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
  section{padding:124px 0;position:relative;}
  ::selection{background:var(--rose);color:#fff;}

  .kicker{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--rose-text);display:inline-flex;align-items:center;gap:8px;margin-bottom:20px;padding:6px 14px 6px 12px;border-radius:999px;background:rgba(181,130,139,.10);border:1px solid rgba(181,130,139,.24);}
  .kicker::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--rose);flex:0 0 auto;}
  h2.title{font-size:clamp(34px,4.7vw,56px);font-weight:500;line-height:1.04;letter-spacing:-.012em;text-wrap:balance;}
  .lead{font-size:18px;color:var(--ink-soft);line-height:1.7;}
  .stars{color:var(--gold);letter-spacing:1px;}

  .btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-weight:600;font-size:14.5px;cursor:pointer;border:none;padding:15px 28px;border-radius:999px;transition:transform .18s var(--ease),background .18s,color .18s,border-color .18s;white-space:nowrap;min-height:50px;}
  .btn svg{width:16px;height:16px;transition:transform .25s var(--ease);}
  .btn:hover svg{transform:translateX(2px);}
  .btn:active{transform:scale(.985);}
  .btn-rose{background:var(--rose-d);color:#fff;box-shadow:var(--sh);}
  .btn-rose:hover{background:#7C4E57;transform:translateY(-2px);}
  .btn-outline{background:transparent;color:var(--ink);border:1.5px solid rgba(50,42,34,.26);}
  .btn-outline:hover{background:var(--ink);color:var(--ivory);border-color:var(--ink);}
  .btn-ivory{background:var(--ivory);color:var(--ink);} .btn-ivory:hover{background:#fff;transform:translateY(-2px);}
  a:focus-visible,button:focus-visible{outline:2.5px solid var(--rose);outline-offset:3px;border-radius:6px;}

  .announce{background:var(--dark);color:#E7DBCB;text-align:center;font-size:12.5px;font-weight:500;padding:9px 16px;letter-spacing:.03em;}
  .announce a{color:#fff;font-weight:600;border-bottom:1px solid rgba(255,255,255,.35);}
  .announce .sep{opacity:.4;margin:0 10px;}

  header.nav{position:sticky;top:0;z-index:100;background:rgba(248,242,232,0);transition:background .3s,box-shadow .3s,border-color .3s;border-bottom:1px solid transparent;}
  header.nav.scrolled{background:rgba(248,242,232,.95);backdrop-filter:blur(10px);border-color:var(--line);box-shadow:0 8px 26px -22px rgba(43,36,32,.5);}
  .nav-in{display:flex;align-items:center;justify-content:space-between;height:80px;}
  .brand{display:flex;align-items:center;gap:12px;}
  .brand .lotus{width:28px;height:25px;color:var(--rose);flex:0 0 auto;}
  .brand .wm{line-height:1.05;}
  .brand .wm .n{font-family:var(--disp);font-weight:600;font-size:23px;letter-spacing:.01em;color:var(--ink);display:block;}
  .brand .wm .s{font-family:var(--disp);font-style:italic;font-size:14px;color:var(--rose);}
  nav.links{display:flex;align-items:center;gap:4px;}
  nav.links a{font-weight:500;font-size:14.5px;color:var(--ink-soft);padding:11px 15px;border-radius:8px;transition:color .2s,background .2s;}
  nav.links a:hover,nav.links a:focus-visible{color:var(--ink);background:var(--sand);}
  .nav-cta{display:flex;align-items:center;gap:12px;}
  .burger{display:none;background:none;border:1.5px solid var(--line-d);border-radius:10px;width:48px;height:46px;cursor:pointer;flex-direction:column;gap:5px;align-items:center;justify-content:center;}
  .burger span{width:20px;height:2px;background:var(--ink);border-radius:2px;}
  .drawer{position:fixed;inset:0 0 0 auto;width:min(82vw,320px);background:var(--ivory);z-index:140;transform:translateX(105%);visibility:hidden;transition:transform .36s var(--ease),visibility .36s;box-shadow:-30px 0 60px -24px rgba(43,36,32,.45);padding:94px 28px 40px;display:flex;flex-direction:column;gap:2px;}
  .drawer.open{transform:translateX(0);visibility:visible;}
  .drawer a{font-family:var(--disp);font-size:25px;font-weight:500;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink);}
  .scrim{position:fixed;inset:0;background:rgba(43,36,32,.4);opacity:0;visibility:hidden;transition:.32s;z-index:130;}
  .scrim.open{opacity:1;visibility:visible;}

  /* hero */
  .hero-wrap{max-width:var(--maxw);margin:0 auto;padding:70px 28px 84px;display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;}
  .hero-copy{max-width:520px;}
  .hero h1{font-family:var(--disp);font-size:clamp(46px,6vw,82px);font-weight:500;line-height:1.0;letter-spacing:-.018em;text-wrap:balance;margin:6px 0 0;}
  .hero .lead{margin:26px 0 0;max-width:440px;}
  .hero-cta{display:flex;gap:13px;flex-wrap:wrap;margin-top:34px;}
  .hero-trust{display:flex;align-items:center;gap:10px;margin-top:30px;font-size:14.5px;color:var(--ink-soft);font-weight:500;}
  .hero-trust .stars{font-size:15px;}
  .hero-photo .frame{border-radius:16px;overflow:hidden;box-shadow:var(--sh-lg);aspect-ratio:4/4.6;}
  .hero-photo img{width:100%;height:100%;object-fit:cover;}

  /* about */
  .about{background:var(--sand);}
  .about-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:60px;align-items:center;}
  .about-photo{border-radius:16px;overflow:hidden;box-shadow:var(--sh-lg);aspect-ratio:5/5.6;}
  .about-photo img{width:100%;height:100%;object-fit:cover;}
  .about-copy .q{font-family:var(--disp);font-style:italic;font-size:clamp(26px,3vw,34px);line-height:1.32;color:var(--ink);}
  .about-copy p{font-size:16.5px;color:var(--ink-soft);line-height:1.75;margin-top:22px;max-width:520px;}
  .about-copy .sig{margin-top:26px;font-family:var(--disp);font-size:21px;color:var(--ink);}
  .about-copy .sig span{display:block;font-family:var(--sans);font-size:13px;font-weight:500;color:var(--rose);letter-spacing:.02em;margin-top:2px;}

  /* pricing */
  .price-head{max-width:560px;margin:0 auto 16px;text-align:center;}
  .price-types{text-align:center;font-family:var(--disp);font-style:italic;font-size:18px;color:var(--ink-soft);margin:0 auto 42px;max-width:640px;}
  .ptabs{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;border-bottom:1px solid var(--line);margin-bottom:14px;}
  .ptab{font-family:var(--disp);font-weight:500;font-size:21px;color:var(--ink-soft);background:none;border:none;cursor:pointer;padding:13px 20px;position:relative;transition:color .2s;min-height:48px;}
  .ptab:hover{color:var(--ink);} .ptab.on{color:var(--rose);}
  .ptab-pkg{color:var(--rose-text);}
  .tab-badge{display:inline-block;margin-left:8px;vertical-align:6px;font-family:var(--sans);font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#fff;background:var(--gold);padding:3px 7px;border-radius:999px;line-height:1;}
  .ptab.on::after{content:"";position:absolute;left:20px;right:20px;bottom:-1px;height:2px;background:var(--rose);}
  .ppanel{display:none;padding-top:30px;}
  .ppanel.on{display:block;}
  .plist{display:grid;grid-template-columns:1fr 1fr;gap:0 70px;max-width:900px;margin:0 auto;}
  @media(max-width:780px){.plist{grid-template-columns:1fr;}}
  .pi{display:flex;align-items:baseline;padding:15px 0;border-bottom:1px solid var(--line);}
  .pi .nm{font-family:var(--disp);font-weight:500;font-size:20px;color:var(--ink);}
  .pi .dots{flex:1;border-bottom:1px dotted var(--line-d);margin:0 14px;transform:translateY(-5px);min-width:18px;}
  .pi .pr{font-family:var(--sans);font-weight:600;font-size:15px;color:var(--rose-text);font-variant-numeric:tabular-nums;white-space:nowrap;}
  .price-note{text-align:center;margin-top:36px;font-size:14.5px;color:var(--ink-soft);}
  .price-note b{color:var(--ink);font-weight:600;}
  /* pricing card: gives the list a finished container + a forward CTA into packages/booking */
  .pcard{max-width:920px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--sh-lg);padding:16px 40px 0;}
  .pcard .ptabs{margin-bottom:0;}
  .pcard .ppanel{padding:26px 0 4px;}
  .pcard .plist{max-width:none;}
  .pcard-foot{display:flex;align-items:center;justify-content:space-between;gap:14px 24px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:8px;padding:20px 2px 22px;}
  .pcard-note{font-size:14px;color:var(--ink-soft);margin:0;max-width:46ch;}
  .pcard-note b{color:var(--ink);font-weight:600;}
  .pcard-cta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
  .pcard-link{font-size:13.5px;font-weight:600;color:var(--rose-text);text-decoration:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;background:none;border:0;cursor:pointer;font-family:inherit;}
  .pkg-intro{text-align:center;color:var(--ink-soft);font-size:15px;max-width:520px;margin:2px auto 22px;}
  .pkg-note{text-align:center;margin-top:22px;font-size:13px;color:var(--ink-soft);}
  .pcard-link svg{width:15px;height:15px;}
  .pcard-link:hover{text-decoration:underline;}
  .btn-sm{padding:11px 22px;font-size:13.5px;min-height:0;}
  @media(max-width:560px){.pcard{padding:12px 22px 0;}.pcard-foot{flex-direction:column;align-items:flex-start;}.pcard-cta{width:100%;}.pcard-cta .btn-sm{width:100%;justify-content:center;}}

  /* treatment cards */
  .tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:42px 0 0;}
  @media(max-width:880px){.tgrid{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.tgrid{grid-template-columns:1fr;}}
  .tcard{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--sh);transition:transform .4s var(--ease),box-shadow .4s var(--ease);}
  .tcard:hover{transform:translateY(-6px);box-shadow:var(--sh-lg);}
  .tcard .ph{height:190px;overflow:hidden;}
  .tcard .ph img{width:100%;height:100%;object-fit:cover;}
  .tcard .body{padding:22px 24px 24px;}
  .tcard h3{font-family:var(--disp);font-size:23px;font-weight:600;margin-bottom:6px;}
  .tcard p{font-size:13.5px;color:var(--ink-soft);line-height:1.5;}
  .tcard .from{margin-top:13px;font-size:12.5px;font-weight:600;color:var(--rose-text);letter-spacing:.02em;}

  /* booking calendar */
  .book{background:var(--sand);}
  .book-head{text-align:center;max-width:560px;margin:0 auto 46px;}
  .cal-wrap{display:grid;grid-template-columns:1.5fr 1fr;gap:28px;align-items:start;max-width:980px;margin:0 auto;}
  @media(max-width:840px){.cal-wrap{grid-template-columns:1fr;}}
  .cal{background:var(--ivory);border:1px solid var(--line);border-radius:20px;padding:28px 30px 30px;box-shadow:var(--sh);}
  .cal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;}
  .cal-top .m{font-family:var(--disp);font-size:27px;font-weight:600;}
  .cal-nav{display:flex;gap:9px;}
  .cal-nav button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line-d);background:none;cursor:pointer;color:var(--ink);display:grid;place-items:center;transition:.2s;}
  .cal-nav button:hover:not(:disabled){background:var(--rose);border-color:var(--rose);color:#fff;}
  .cal-nav button:disabled{opacity:.3;cursor:default;}
  .cal-nav svg{width:16px;height:16px;}
  .cal-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-bottom:8px;}
  .cal-dow span{text-align:center;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);}
  .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;}
  .cal-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:11px;font-size:16px;font-weight:500;font-variant-numeric:tabular-nums;}
  .cal-cell.empty{visibility:hidden;}
  .cal-cell.off{color:#A88F66;}
  .cal-cell.avail{cursor:pointer;color:var(--ink);background:var(--sand);transition:background .16s,color .16s;}
  .cal-cell.avail:hover{background:var(--rose);color:#fff;}
  .cal-cell .dot{width:5px;height:5px;border-radius:50%;background:var(--rose);margin-top:4px;}
  .cal-cell.avail:hover .dot,.cal-cell.sel .dot{background:#fff;}
  .cal-cell.today{box-shadow:inset 0 0 0 1.5px var(--rose);}
  .cal-cell.sel{background:var(--rose);color:#fff;}
  .cal-legend{display:flex;gap:20px;margin-top:20px;font-size:12.5px;color:var(--ink-soft);}
  .cal-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;vertical-align:1px;}
  .cal-side{background:var(--ivory);border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:var(--sh);}
  .cal-side .k{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--rose);}
  .cal-side .d{font-family:var(--disp);font-size:29px;font-weight:600;margin:12px 0 6px;line-height:1.1;}
  .cal-side .hrs{font-size:15.5px;color:var(--ink-soft);}
  .cal-side .hrs b{color:var(--ink);font-weight:600;}
  .cal-side .empty-note{font-family:var(--disp);font-style:italic;font-size:21px;color:var(--ink-soft);line-height:1.4;margin:12px 0 0;}
  .cal-side .small{font-size:13px;color:var(--ink-soft);margin-top:16px;line-height:1.5;}

  /* reviews */
  .rev-top{text-align:center;max-width:560px;margin:0 auto 44px;}
  .rev-top .rating{margin-top:14px;font-size:15px;color:var(--ink-soft);font-weight:500;}
  .rev-top .rating .stars{font-size:16px;}
  .quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .quote{text-align:center;padding:0 14px;}
  .quote .stars{font-size:14px;letter-spacing:1.5px;}
  .quote blockquote{font-family:var(--disp);font-size:22px;line-height:1.4;color:var(--ink);margin:14px 0 16px;}
  .quote .who{font-weight:600;font-size:14px;color:var(--ink);}
  .quote .src{font-size:12.5px;color:var(--ink-soft);}
  .quote+.quote{border-left:1px solid var(--line);}
  @media(max-width:880px){.quote+.quote{border-left:none;border-top:1px solid var(--line);padding-top:30px;margin-top:4px;}}
  /* reviews — floating marquee ribbon */
  .rev-marquee{margin-top:46px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
  .rev-track{display:flex;width:max-content;padding:12px 0;will-change:transform;}
  .rev-track.rev-anim{animation:revscroll 40s linear infinite;}
  .rev-marquee:hover .rev-track,.rev-marquee:focus-within .rev-track{animation-play-state:paused;}
  @keyframes revscroll{to{transform:translateX(-50%);}}
  .rev-card{flex:0 0 360px;box-sizing:border-box;display:flex;flex-direction:column;gap:13px;margin:0 24px 0 0;text-align:left;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 28px 24px;box-shadow:0 18px 40px -26px rgba(60,30,20,.28),0 2px 8px rgba(60,30,20,.05);}
  .rev-card .stars{font-size:14px;letter-spacing:1.5px;}
  .rev-card blockquote{font-family:var(--disp);font-size:19px;line-height:1.45;color:var(--ink);margin:0;}
  .rev-card figcaption{margin-top:auto;padding-top:4px;}
  .rev-card .who{display:block;font-weight:600;font-size:14px;color:var(--ink);}
  .rev-card .src{display:block;font-size:12.5px;color:var(--ink-soft);margin-top:2px;}
  @media(max-width:560px){.rev-card{flex-basis:80vw;}}
  @media(prefers-reduced-motion:reduce){.rev-marquee{-webkit-mask-image:none;mask-image:none;overflow-x:auto;}.rev-track{animation:none;}}

  /* visit */
  .visit{background:var(--sand);}
  .visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
  .visit-photo{border-radius:16px;overflow:hidden;box-shadow:var(--sh-lg);aspect-ratio:5/4;}
  .visit-photo img{width:100%;height:100%;object-fit:cover;}
  .vrow{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);align-items:flex-start;}
  .vrow:first-of-type{padding-top:0;}
  .vrow .vi{width:19px;height:19px;color:var(--rose);flex:0 0 19px;margin-top:4px;}
  .vrow .vt{font-size:15.5px;color:var(--ink-soft);line-height:1.55;}
  .vrow .vt b{color:var(--ink);font-weight:600;font-family:var(--disp);font-size:19px;display:block;margin-bottom:2px;}
  .vrow .vt a{color:var(--rose);font-weight:600;}
  .vhours{display:flex;flex-direction:column;gap:5px;margin-top:8px;width:100%;}
  .vhours .hr{display:flex;justify-content:space-between;gap:16px;font-size:14.5px;}
  .vhours .hr .d{color:var(--ink-soft);} .vhours .hr.today .d{color:var(--ink);font-weight:700;}
  .vhours .hr .t{font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink);}
  .vhours .hr.closed .t{color:var(--ink-soft);font-weight:500;}
  .vhours .hr .d{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;}
  .vhours .hr .t{white-space:nowrap;}
  .vhours .hr .now{font-size:9px;font-weight:700;color:#fff;background:var(--rose);padding:2px 8px;border-radius:5px;letter-spacing:.05em;line-height:1.5;white-space:nowrap;}
  .visit-btns{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap;}

  /* cta */
  .cta{background:var(--dark);color:var(--ivory);text-align:center;}
  .cta .lotus{width:38px;height:34px;color:var(--rose);margin:0 auto 20px;}
  .cta h2{font-family:var(--disp);font-size:clamp(36px,5vw,60px);color:#fff;font-weight:500;line-height:1.06;}
  .cta h2 em{font-style:italic;color:#E3C6BE;}
  .cta p{font-size:18px;color:#CBBBAE;margin:18px auto 0;max-width:440px;}
  .cta-btns{display:flex;gap:13px;justify-content:center;margin-top:34px;flex-wrap:wrap;}

  footer{background:var(--dark2);color:#B6A593;padding:64px 0 30px;}
  .foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:42px;}
  .foot-brand .brand .n{color:#fff;} .foot-brand .brand .s{color:#D2A9AE;} .foot-brand .brand .lotus{color:#D2A9AE;}
  .foot-brand p{font-size:14.5px;color:#9C8B79;margin-top:16px;max-width:300px;line-height:1.65;}
  .foot-soc{display:flex;gap:11px;margin-top:20px;}
  .foot-soc a{width:44px;height:44px;border-radius:10px;border:1px solid rgba(248,242,232,.16);display:grid;place-items:center;color:#B6A593;transition:.22s;}
  .foot-soc a:hover{background:var(--rose);border-color:var(--rose);color:#fff;}
  .foot-soc svg{width:18px;height:18px;}
  .foot-col h3{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#D2A9AE;margin-bottom:15px;font-weight:700;}
  .foot-col a,.foot-col p{display:block;color:#B6A593;font-size:14.5px;margin-bottom:10px;transition:color .2s;}
  .foot-col a:hover{color:#fff;}
  .foot-bot{border-top:1px solid rgba(248,242,232,.12);margin-top:44px;padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px;color:#88775F;}
  .foot-bot a{color:#D2A9AE;font-weight:600;}

  .mobar{position:fixed;left:0;right:0;bottom:0;z-index:110;background:rgba(248,242,232,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));display:none;gap:10px;}
  .mobar .btn{flex:1;justify-content:center;}

  /* trust strip */
  .trust{background:var(--ivory);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .trust-in{max-width:var(--maxw);margin:0 auto;padding:26px 28px;display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
  .trust-item{display:flex;align-items:center;gap:13px;}
  .trust-item svg{width:25px;height:25px;color:var(--rose);flex:0 0 25px;}
  .trust-item .tx{font-size:13.5px;line-height:1.32;color:var(--ink-soft);font-weight:500;}
  .trust-item .tx b{display:block;font-family:var(--disp);font-size:18px;font-weight:600;color:var(--ink);}
  @media(max-width:860px){.trust-in{grid-template-columns:1fr 1fr;gap:22px 20px;}}
  @media(max-width:430px){.trust-in{grid-template-columns:1fr;}}
  /* embedded map (visit) */
  .visit-photo{position:relative;background:#E9E3D7;}
  .vmap{width:100%;height:100%;border:0;display:block;}
  .map-open{position:absolute;top:14px;right:14px;z-index:2;display:inline-flex;align-items:center;gap:7px;background:rgba(248,242,232,.95);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:999px;padding:9px 15px;font-size:12.5px;font-weight:600;color:var(--ink);box-shadow:var(--sh);transition:transform .18s var(--ease),background .18s;}
  .map-open:hover{transform:translateY(-1px);background:#fff;}
  .map-open svg{width:14px;height:14px;color:var(--rose);}

  /* hero video */
  .hero-photo .frame video{width:100%;height:100%;object-fit:cover;display:block;background:var(--sand);}
  .hero-photo .frame{position:relative;}
  .vtag{position:absolute;left:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;gap:7px;background:rgba(43,36,32,.62);backdrop-filter:blur(6px);color:#fff;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:7px 12px;border-radius:999px;}
  .vtag .pulse{width:7px;height:7px;border-radius:50%;background:var(--rose);box-shadow:0 0 0 4px rgba(181,130,139,.35);}
  /* real logo in nav/footer */
  .brand img.logo{height:52px;width:auto;display:block;}

  /* technology */
  .tech-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:46px;}
  @media(max-width:820px){.tech-grid{grid-template-columns:1fr;max-width:440px;margin-left:auto;margin-right:auto;}}
  .tech-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;text-align:center;padding-bottom:26px;box-shadow:var(--sh);transition:transform .4s var(--ease),box-shadow .4s var(--ease);}
  .tech-card:hover{transform:translateY(-6px);box-shadow:var(--sh-lg);}
  .tech-card .dimg{height:210px;display:grid;place-items:center;background:#fff;padding:22px;border-bottom:1px solid var(--line);}
  .tech-card .dimg img{max-height:166px;max-width:100%;width:auto;object-fit:contain;}
  .tech-card .brandtag{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--rose-text);font-weight:600;margin-top:20px;}
  .tech-card h3{font-family:var(--disp);font-size:24px;font-weight:600;margin:5px 0 6px;}
  .tech-card p{font-size:14px;color:var(--ink-soft);padding:0 26px;line-height:1.55;}

  /* full service menu */
  .smenu{margin-top:42px;display:grid;grid-template-columns:repeat(3,1fr);gap:30px 48px;}
  @media(max-width:880px){.smenu{grid-template-columns:1fr 1fr;gap:28px 36px;}}
  @media(max-width:520px){.smenu{grid-template-columns:1fr;}}
  .scol h3{font-family:var(--disp);font-size:23px;font-weight:600;color:var(--ink);padding-bottom:11px;border-bottom:2px solid var(--rose);margin-bottom:4px;}
  .sitem{padding:13px 0;border-bottom:1px solid var(--line);}
  .sitem .sn{font-family:var(--disp);font-size:18px;font-weight:600;color:var(--ink);}
  .sitem .sd{font-size:13px;color:var(--ink-soft);line-height:1.5;margin-top:1px;}

  /* package deals */
  .pkgs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px;}
  @media(max-width:880px){.pkgs{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.pkgs{grid-template-columns:1fr;}}
  .pkg{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px 22px 22px;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--sh);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;}
  .pkg:hover{transform:translateY(-4px);box-shadow:var(--sh);border-color:var(--line-d);}
  .pkg .pcat{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--rose-text);font-weight:700;}
  .pkg .pname{font-family:var(--disp);font-size:19px;font-weight:600;margin:10px 0 18px;line-height:1.3;flex:1;color:var(--ink);}
  .pkg .prow{display:flex;align-items:baseline;gap:10px;}
  .pkg .pnow{font-family:var(--disp);font-size:27px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;}
  .pkg .pwas{font-size:14px;color:var(--ink-soft);text-decoration:line-through;}
  .pkg .pper{font-size:11px;color:var(--ink-soft);margin-top:4px;letter-spacing:.04em;text-transform:uppercase;}
  .pkg .save{position:absolute;top:0;right:0;background:var(--rose);color:#fff;font-size:11px;font-weight:700;letter-spacing:.02em;padding:6px 12px;border-bottom-left-radius:13px;}
  .pkg.feat{background:var(--dark);border-color:var(--dark);}
  .pkg.feat .pname,.pkg.feat .pnow{color:#fff;} .pkg.feat .pwas,.pkg.feat .pper{color:#CBBBAE;} .pkg.feat .pcat{color:#E3C6BE;}
  .pkg.feat .save{background:var(--gold);color:#2B2420;}
  .pkg.wide{flex-direction:row;align-items:center;gap:24px 40px;flex-wrap:wrap;padding:30px 32px;}
  .pkg.wide .pname{margin:6px 0 0;font-size:22px;flex:1 1 320px;}
  .pkg.wide .pricebox{text-align:right;flex:0 0 auto;}
  @media(max-width:560px){.pkg.wide .pricebox{text-align:left;}}
  /* Packages panel structure */
  .pkg-lead{text-align:center;margin-bottom:2px;}
  .pkg-eyebrow{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--rose-text);}
  .pkg-eyebrow.gold{color:#A9802E;}
  .pkg-lead p{margin:9px auto 0;color:var(--ink-soft);font-size:15px;max-width:440px;line-height:1.55;}
  /* Packages — tidy deck that fans open: rest = neat stack (top card readable),
     hover the deck = fan into a spread, hover a single card = pop it forward */
  .pkg-fan{position:relative;height:330px;margin-top:14px;}
  .pkg-fan .pkg{position:absolute;left:50%;top:48px;width:222px;height:210px;margin-left:-111px;
    transform:translateX(var(--rx)) translateY(var(--ry)) scale(var(--rs));
    box-shadow:0 18px 36px -22px rgba(60,30,20,.32),0 2px 8px rgba(60,30,20,.06);
    transition:transform .6s var(--ease),box-shadow .45s var(--ease),opacity .4s var(--ease);
    cursor:pointer;will-change:transform;}
  /* rest = stack (front = the resurfacing card), open = spread (--ox/--oy/--or); z = child index */
  .pkg-fan .pkg:nth-child(1){--rx:36px;--ry:42px;--rs:.91;--ox:-264px;--oy:36px;--or:-6.9deg;z-index:1;opacity:.89;}
  .pkg-fan .pkg:nth-child(2){--rx:30px;--ry:35px;--rs:.925;--ox:-176px;--oy:16px;--or:-4.6deg;z-index:2;opacity:.91;}
  .pkg-fan .pkg:nth-child(3){--rx:24px;--ry:28px;--rs:.94;--ox:-88px;--oy:4px;--or:-2.3deg;z-index:3;opacity:.93;}
  .pkg-fan .pkg:nth-child(4){--rx:18px;--ry:21px;--rs:.955;--ox:0px;--oy:0px;--or:0deg;z-index:4;opacity:.95;}
  .pkg-fan .pkg:nth-child(5){--rx:12px;--ry:14px;--rs:.97;--ox:88px;--oy:4px;--or:2.3deg;z-index:5;opacity:.97;}
  .pkg-fan .pkg:nth-child(6){--rx:6px;--ry:7px;--rs:.985;--ox:176px;--oy:16px;--or:4.6deg;z-index:6;opacity:.99;}
  .pkg-fan .pkg:nth-child(7){--rx:0px;--ry:0px;--rs:1;--ox:264px;--oy:36px;--or:6.9deg;z-index:7;}
  /* the resurfacing card folded into the deck — premium, champagne-gold inside */
  .pkg-fan .pkg.pkg-prem{border-color:rgba(196,154,87,.7);
    background:radial-gradient(135% 95% at 100% 0%, rgba(214,172,92,.34), rgba(214,172,92,0) 56%), linear-gradient(157deg,#FCF6EA 0%,#F2E2C2 100%);
    box-shadow:0 20px 42px -20px rgba(150,110,40,.5),0 2px 8px rgba(60,30,20,.07);}
  .pkg-fan .pkg.pkg-prem .save{background:var(--gold);color:#2B2420;}
  .pkg-fan .pkg.pkg-prem .pcat{color:#8a6716;}
  .pkg-fan .pkg.pkg-prem .pname,.pkg-fan .pkg.pkg-prem .pnow{color:#3a2c15;}
  .pkg-fan .pkg.pkg-prem .pwas,.pkg-fan .pkg.pkg-prem .pper{color:#9a8358;}
  /* fan the deck open on hover / keyboard focus anywhere inside it */
  .pkg-fan:hover .pkg,.pkg-fan:focus-within .pkg{
    transform:translateX(var(--ox)) translateY(var(--oy)) rotate(var(--or));opacity:1;}
  /* pop a single card fully forward (must follow the open rule to win the tie) */
  .pkg-fan .pkg:hover,.pkg-fan .pkg:focus-visible{
    transform:translateX(var(--ox)) translateY(calc(var(--oy) - 40px)) rotate(0deg) scale(1.13);
    box-shadow:0 44px 88px -26px rgba(60,30,20,.44),0 6px 18px rgba(60,30,20,.12);
    z-index:40;opacity:1;outline:none;}
  .pkg-fan .pkg:focus-visible{box-shadow:0 44px 88px -26px rgba(60,30,20,.44),0 0 0 2px var(--rose);}
  .pkg-hint{text-align:center;font-size:11.5px;letter-spacing:.06em;color:var(--ink-soft);margin:0;opacity:.62;transition:opacity .35s;}
  .pkg-fan:hover + .pkg-hint{opacity:.3;}
  @media(hover:none),(max-width:900px){
    .pkg-fan{position:static;height:auto;display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;}
    .pkg-fan .pkg{position:static;left:auto;top:auto;width:auto;margin:0;transform:none!important;opacity:1!important;box-shadow:var(--sh);}
    .pkg-hint{display:none;}
  }
  @media(max-width:520px){.pkg-fan{grid-template-columns:1fr;}}
  @media(prefers-reduced-motion:reduce){.pkg-fan .pkg{transition-duration:.001ms;}}

  /* faq */
  .faq-list{max-width:780px;margin:44px auto 0;}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{width:100%;background:none;border:none;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 4px;font-family:var(--disp);font-size:20px;font-weight:600;color:var(--ink);min-height:48px;}
  .faq-q .ic{flex:0 0 auto;width:22px;height:22px;position:relative;transition:transform .3s var(--ease);}
  .faq-q .ic::before,.faq-q .ic::after{content:"";position:absolute;background:var(--rose);border-radius:2px;}
  .faq-q .ic::before{left:0;right:0;top:10px;height:2px;}
  .faq-q .ic::after{top:0;bottom:0;left:10px;width:2px;transition:opacity .3s;}
  .faq-q[aria-expanded=true] .ic::after{opacity:0;}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .35s var(--ease);}
  .faq-a .inner{padding:0 4px 24px;font-size:15.5px;color:var(--ink-soft);line-height:1.72;max-width:680px;}

  .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
  .reveal.in{opacity:1;transform:none;}
  /* GSAP-driven motion (home experiment): JS controls reveals; gap-free image micro-interactions + scroll progress */
  html.bb-gsap .reveal{transition:none;}
  .tcard .ph img{transition:transform .6s var(--ease);}
  .tcard:hover .ph img{transform:scale(1.05);}
  #bbProgress{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,var(--rose),var(--gold));z-index:120;pointer-events:none;}
  @media (min-width:880px){html.bb-gsap .about-photo img{will-change:transform;}}
  @media (prefers-reduced-motion: reduce){#bbProgress{display:none;}}

  @media(max-width:960px){
    .hero-wrap{grid-template-columns:1fr;gap:40px;padding-top:48px;}
    .hero-photo{order:-1;max-width:390px;margin-left:auto;margin-right:auto;}
    .about-grid,.visit-grid,.foot-grid{grid-template-columns:1fr;}
    .about-photo{order:-1;max-width:360px;margin-left:auto;margin-right:auto;}
    .visit-photo{order:-1;}
    .quotes{grid-template-columns:1fr;}
  }
  @media(max-width:640px){
    section{padding:76px 0;}
    nav.links,.nav-cta .btn{display:none;} .burger{display:flex;}
    .mobar{display:flex;} body{padding-bottom:74px;}
  }
  @media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important;}.reveal{opacity:1!important;visibility:visible!important;transform:none!important;transition:none;}.btn{transition:none;}}

/* ===== services dropdown (desktop) ===== */
nav.links{position:relative;}
nav.links .has-drop{position:static;}
.drop-toggle{display:inline-flex;align-items:center;gap:6px;font-family:var(--sans);font-weight:500;font-size:14.5px;color:var(--ink-soft);padding:11px 15px;border-radius:8px;background:none;border:none;cursor:pointer;}
.has-drop:hover .drop-toggle,.drop-toggle[aria-expanded=true]{color:var(--ink);background:var(--sand);}
.drop-toggle .chev{width:13px;height:13px;transition:transform .2s;}
.has-drop:hover .drop-toggle .chev,.drop-toggle[aria-expanded=true] .chev{transform:rotate(180deg);}
.dropdown{position:absolute;top:calc(100% + 6px);right:0;background:var(--ivory);border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh-lg);padding:20px 22px;width:min(640px,88vw);display:grid;grid-template-columns:repeat(3,1fr);gap:2px 20px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility .2s;z-index:120;}
.has-drop:hover .dropdown,.dropdown.open{opacity:1;visibility:visible;transform:translateY(0);}
.drop-col h4{font-family:var(--sans);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--rose-text);margin:10px 8px 3px;font-weight:700;}
.dropdown a{display:block;padding:7px 9px;border-radius:8px;font-size:14px;color:var(--ink-soft);font-weight:500;}
.dropdown a:hover{background:var(--sand);color:var(--ink);}
.dropdown .all{grid-column:1/-1;margin-top:10px;border-top:1px solid var(--line);padding-top:10px;}
.dropdown .all a{font-weight:600;color:var(--rose-text);}

/* drawer collapsible services */
.drawer details summary{font-family:var(--disp);font-size:25px;font-weight:500;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.drawer details summary::-webkit-details-marker{display:none;}
.drawer details summary::after{content:"+";color:var(--rose-text);font-family:var(--sans);font-weight:600;}
.drawer details[open] summary::after{content:"\2013";}
.drawer .drawer-sub{display:flex;flex-direction:column;padding:4px 0 6px;}
.drawer .drawer-sub a{font-family:var(--sans);font-size:15.5px;font-weight:500;padding:9px 0 9px 4px;border-bottom:1px solid var(--line);color:var(--ink-soft);}

/* ===== service page ===== */
.crumb{font-size:13px;color:var(--ink-soft);}
.crumb a{color:var(--rose-text);font-weight:600;} .crumb .sep{margin:0 8px;opacity:.5;}
.svc-hero{display:grid;grid-template-columns:1.04fr .96fr;gap:50px;align-items:center;padding:30px 0 64px;}
@media(max-width:880px){.svc-hero{grid-template-columns:1fr;gap:32px;}}
.svc-hero h1{font-family:var(--disp);font-size:clamp(38px,5vw,60px);font-weight:500;line-height:1.05;margin:10px 0 0;}
.svc-hero .lead{margin-top:20px;max-width:46ch;}
.svc-hero .hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;}
.svc-shot{border-radius:16px;overflow:hidden;box-shadow:var(--sh-lg);aspect-ratio:4/3;background:var(--sand);}
.svc-shot img{width:100%;height:100%;object-fit:cover;}
/* per-image framing: several hero banners place the subject off to one side, so the default centered 4:3 cover-crop lands on empty background. Nudge object-position per image (audited 2026-06-23). */
.svc-shot img[src$="svc-cellulite.jpg"]{object-position:100% 50%;}
.svc-shot img[src$="svc-electrolysis.jpg"]{object-position:75% 30%;}
.svc-shot img[src$="svc-laser-hair-removal.jpg"]{object-position:70% 60%;}
.svc-shot img[src$="svc-laser-skin-resurfacing.jpg"]{object-position:100% 30%;}
.svc-shot img[src$="svc-laser-tattoo-removal.jpg"]{object-position:80% 50%;}
.svc-shot img[src$="svc-melasma.jpg"]{object-position:70% 30%;}
.svc-shot img[src$="svc-microneedling.jpg"]{object-position:85% 30%;}
.svc-shot img[src$="svc-photo-rejuvenation.jpg"]{object-position:75% 30%;}
.svc-shot img[src$="svc-skin-tightening.jpg"]{object-position:70% 30%;}
.svc-shot img[src$="svc-skin-toning.jpg"]{object-position:85% 30%;}
.svc-shot img[src$="svc-vascular-lesions.jpg"]{object-position:60% 40%;}
.svc-shot img[src$="svc-wrinkle-treatments.jpg"]{object-position:70% 30%;}
.svc-body{display:grid;grid-template-columns:1.5fr .5fr;gap:54px;align-items:start;padding:0 0 30px;}
@media(max-width:880px){.svc-body{grid-template-columns:1fr;gap:30px;}}
.svc-main h2{font-family:var(--disp);font-size:27px;font-weight:500;margin:36px 0 10px;}
.svc-main h2:first-child{margin-top:0;}
.svc-main p{font-size:16.5px;color:var(--ink-soft);line-height:1.75;margin-bottom:14px;}
.svc-main ul{list-style:none;margin:4px 0 14px;}
.svc-main li{position:relative;padding:8px 0 8px 26px;font-size:16px;color:var(--ink-soft);border-bottom:1px solid var(--line);}
.svc-main li::before{content:"";position:absolute;left:2px;top:16px;width:9px;height:9px;border-radius:50%;background:var(--rose);}
.svc-aside{background:var(--sand);border:1px solid var(--line);border-radius:18px;padding:26px;position:sticky;top:96px;}
@media(max-width:880px){.svc-aside{position:static;}}
.svc-aside .k{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--rose-text);}
.svc-aside .price{font-family:var(--disp);font-size:30px;font-weight:600;margin:8px 0 2px;line-height:1.1;}
.svc-aside .note{font-size:13.5px;color:var(--ink-soft);line-height:1.6;}
.svc-aside .meta{margin-top:20px;display:flex;flex-direction:column;gap:13px;border-top:1px solid var(--line-d);padding-top:18px;}
.svc-aside .meta .row .l{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);}
.svc-aside .meta .row b{display:block;color:var(--ink);font-family:var(--disp);font-size:16px;font-weight:600;margin-top:1px;}
.svc-aside .btn{width:100%;justify-content:center;margin-top:20px;}

/* related + home overview cards */
.rel-grid,.soverview{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px;}
@media(max-width:880px){.rel-grid,.soverview{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.rel-grid,.soverview{grid-template-columns:1fr;}}
.scard2{display:block;background:var(--ivory);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s;}
.scard2:hover{transform:translateY(-5px);box-shadow:var(--sh-lg);}
.scard2 .ph{height:140px;overflow:hidden;} .scard2 .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.scard2:hover .ph img{transform:scale(1.05);}
.scard2 .b{padding:15px 17px 17px;}
.scard2 .b h3{font-family:var(--disp);font-size:18.5px;font-weight:600;color:var(--ink);}
.scard2 .b p{font-size:12.5px;color:var(--ink-soft);margin-top:4px;line-height:1.45;}
.scard2 .b .go{display:inline-block;margin-top:10px;font-size:12px;font-weight:600;color:var(--rose-text);}
.soverview .scard2 .ph{height:120px;}
@media(max-width:640px){.drop-toggle{display:none;}}

/* linked treatment cards + compact menu items */
a.tcard{display:block;color:inherit;}
a.sitem{display:block;color:inherit;transition:padding-left .15s;}
a.sitem:hover{padding-left:6px;}
a.sitem:hover .sn{color:var(--rose-text);}

/* live booking: official Vagaro "Website" widget mounts here; interim treatment-picker flow until her token is pasted */
.vagaro-shell{max-width:860px;margin:0 auto;}
.vagaro-mount .vagaro{max-width:820px;margin:0 auto;}            /* frame the real widget when present */
.vagaro-mount .vagaro a{font-size:11.5px;color:var(--ink-soft);text-decoration:none;}
.vagaro-mount iframe{width:100%;border:0;display:block;border-radius:18px;background:#fff;}
/* interim booking flow: on-page treatment picker that routes into Akhlas's live Vagaro calendar */
.vbook-flow{position:relative;display:grid;grid-template-columns:.82fr 1fr;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--sh-lg);}
.vbf-aside{position:relative;overflow:hidden;padding:44px 38px;background:linear-gradient(165deg,#fbf4f3,#f3e6e5);border-right:1px solid var(--line);display:flex;flex-direction:column;border-radius:24px 0 0 24px;}
.vbf-aside::before{content:"";position:absolute;inset:auto -34% -42% auto;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(181,130,139,.22),transparent 70%);pointer-events:none;}
.vbf-logo{width:84px;height:auto;margin-bottom:18px;position:relative;}
.vbf-aside h3{font-family:var(--disp);font-size:29px;font-weight:600;color:var(--ink);line-height:1.1;position:relative;}
.vbf-aside p{font-size:14.5px;color:var(--ink-soft);line-height:1.6;margin:10px 0 22px;position:relative;}
.vbf-points{list-style:none;display:flex;flex-direction:column;gap:11px;margin:0 0 24px;position:relative;}
.vbf-points li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--rose-text);font-weight:600;}
.vbf-points svg{width:18px;height:18px;color:var(--rose);flex:0 0 18px;}
.vbf-contact{margin-top:auto;display:flex;flex-direction:column;gap:9px;position:relative;}
.vbf-contact a,.vbf-contact span{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--ink-soft);text-decoration:none;line-height:1.4;}
.vbf-contact a{color:var(--rose-text);font-weight:600;}
.vbf-contact a:hover{text-decoration:underline;}
.vbf-contact svg{width:16px;height:16px;flex:0 0 16px;color:var(--rose);}
.vbf-form{padding:44px 40px;display:flex;flex-direction:column;}
.vbf-step{display:flex;align-items:center;gap:10px;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);}
.vbf-field + .vbf-step{margin-top:26px;}
.vbf-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--rose);color:#fff;font-size:12px;font-weight:700;letter-spacing:0;flex:0 0 22px;}
.vbf-field{margin-top:14px;}
.vbf-label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-soft);margin-bottom:7px;}
.vbf-select{position:relative;}
.vbf-select select{appearance:none;-webkit-appearance:none;width:100%;min-height:54px;padding:0 46px 0 16px;border:1px solid var(--line-d);border-radius:14px;background:#fff;font-family:inherit;font-size:15.5px;color:var(--ink);cursor:pointer;transition:border-color .2s var(--ease),box-shadow .2s var(--ease);}
.vbf-select select:hover{border-color:var(--rose);}
.vbf-select select:focus-visible{outline:none;border-color:var(--rose);box-shadow:0 0 0 3px rgba(181,130,139,.22);}
.vbf-chev{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--rose);pointer-events:none;}
.vbf-detail{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:12px;padding:12px 16px;border-radius:12px;background:#fbf4f3;border:1px solid var(--line);}
.vbf-detail[hidden]{display:none;}
.vbf-detail-name{font-weight:600;color:var(--ink);font-size:14.5px;}
.vbf-detail-price{color:var(--rose-text);font-weight:700;font-size:13.5px;white-space:nowrap;}
/* custom on-brand dropdown (treatment picker) - native <select> stays hidden for value + no-JS fallback */
.vbf-select.is-enhanced > select{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.vbf-select.is-enhanced > .vbf-chev{display:none;}
.vbf-dd{position:relative;}
.vbf-dd-btn{width:100%;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;border:1px solid var(--line-d);border-radius:14px;background:#fff;font-family:inherit;font-size:15.5px;color:var(--ink);cursor:pointer;text-align:left;transition:border-color .2s var(--ease),box-shadow .2s var(--ease);}
.vbf-dd-btn:hover,.vbf-dd-btn[aria-expanded="true"]{border-color:var(--rose);}
.vbf-dd-btn:focus-visible{outline:none;border-color:var(--rose);box-shadow:0 0 0 3px rgba(181,130,139,.22);}
.vbf-dd-btn .lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.vbf-dd-btn .lbl.is-placeholder{color:var(--ink-soft);}
.vbf-dd-btn .cv{width:18px;height:18px;flex:0 0 18px;color:var(--rose);transition:transform .25s var(--ease);}
.vbf-dd-btn[aria-expanded="true"] .cv{transform:rotate(180deg);}
.vbf-menu{position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:60;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh-lg);display:flex;max-height:min(288px,52vh);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-6px);transform-origin:top center;transition:opacity .18s var(--ease),transform .18s var(--ease),visibility .18s;}
.vbf-menu.open{opacity:1;visibility:visible;transform:none;}
.vbf-cats{flex:0 0 158px;display:flex;flex-direction:column;gap:2px;padding:8px;background:#FBF6EF;border-right:1px solid var(--line);overflow-y:auto;overscroll-behavior:contain;}
.vbf-cat{appearance:none;border:0;background:none;font-family:inherit;text-align:left;display:flex;align-items:center;gap:8px;padding:11px 12px;border-radius:10px;font-size:13.5px;line-height:1.3;color:var(--ink-soft);cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease);}
.vbf-cat:hover{color:var(--ink);background:rgba(120,80,60,.06);}
.vbf-cat.on{background:#fff;color:var(--rose-text);font-weight:600;box-shadow:0 1px 7px rgba(60,30,20,.09);}
.vbf-cat.on::after{content:"\203A";margin-left:auto;color:var(--rose);font-size:16px;line-height:1;}
.vbf-list{flex:1 1 auto;overflow-y:auto;padding:8px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.vbf-cat-list{display:none;}
.vbf-cat-list.on{display:block;}
.vbf-list-head{font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--rose-text);padding:6px 12px 9px;}
.vbf-opt{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:7px 12px;border-radius:10px;cursor:pointer;font-size:14px;color:var(--ink);scroll-margin:8px;}
.vbf-opt .op-name{line-height:1.2;}
.vbf-opt .op-price{font-size:11.5px;color:var(--ink-soft);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;}
.vbf-opt:hover,.vbf-opt.active{background:var(--sand);}
.vbf-opt[aria-selected="true"]{color:var(--rose-text);font-weight:600;}
.vbf-opt[aria-selected="true"] .op-price{color:var(--rose-text);}
@media(max-width:600px){
  .vbf-menu{flex-direction:column;max-height:66vh;}
  .vbf-cats{flex:0 0 auto;flex-direction:row;border-right:0;border-bottom:1px solid var(--line);overflow-x:auto;overflow-y:hidden;gap:6px;}
  .vbf-cat{white-space:nowrap;}
  .vbf-cat.on::after{display:none;}
}
@media (prefers-reduced-motion: reduce){.vbf-menu{transition:opacity .12s;transform:none;}.vbf-dd-btn .cv{transition:none;}}
.vbf-go{margin-top:16px;width:100%;justify-content:center;font-size:15px;}
.vbf-note{margin-top:13px;font-size:12px;color:var(--ink-soft);line-height:1.55;}
@media(max-width:760px){
  .vbook-flow{grid-template-columns:1fr;}
  .vbf-aside{border-right:0;border-bottom:1px solid var(--line);padding:38px 28px 32px;border-radius:24px 24px 0 0;}
  .vbf-contact{margin-top:20px;}
  .vbf-form{padding:34px 28px 38px;}
}
