

:root{
  --bg:#fcfaf9;
  --bg-soft:#ffffff;
  --bg-alt:#f6f1f3;
  --text:#151515;
  --text-2:#4f5560;
  --border:#e9dfe4;
  --brand-1:#fd9248;
  --brand-2:#fa1768;
  --brand-3:#f001ff;
  --brand-gradient:linear-gradient(90deg,var(--brand-1),var(--brand-2),var(--brand-3));
  --container:1200px;
  --radius:28px;
  --shadow:0 14px 44px rgba(32,18,26,.06);
  --header-h:88px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(253,146,72,.08), transparent 24%),
    radial-gradient(circle at top right, rgba(240,1,255,.05), transparent 24%),
    linear-gradient(180deg,#fff 0%,var(--bg) 100%);
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button,input,textarea{font:inherit}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.container{width:min(var(--container),calc(100% - 32px));margin:0 auto}
.page-shell{min-height:100dvh;display:flex;flex-direction:column}
main{flex:1}

.site-header{
  position:sticky;top:0;z-index:1010;
  overflow:visible;
  backdrop-filter:blur(12px);
  background:rgba(255,255,255,.88);
  border-bottom:1px solid rgba(233,223,228,.86);
}
.header-inner{
  min-height:var(--header-h);
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:18px;
}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand img{height:52px;width:auto;object-fit:contain}
.site-nav{display:flex;justify-content:center;gap:26px;align-items:center}
.site-nav a{font-size:15px;font-weight:600;color:var(--text-2)}
.site-nav a:hover{color:var(--text)}
.header-actions{display:flex;align-items:center;gap:12px}
.lang-switch{
  display:inline-flex;gap:6px;padding:4px;background:#fff;border:1px solid var(--border);border-radius:999px;
}
.lang-switch button{
  border:0;background:transparent;color:var(--text-2);padding:10px 14px;border-radius:999px;cursor:pointer;font-weight:700;font-size:13px;
}
.lang-switch button.active{background:var(--brand-gradient);color:#fff}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:56px;padding:14px 24px;border-radius:999px;font-weight:700;font-size:16px;
  border:1px solid transparent;transition:all .2s ease
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:#151515;color:#fff;box-shadow:var(--shadow)}
.btn-primary:hover{background:#050505}
.btn-secondary{background:#fff;color:var(--text);border-color:var(--border);box-shadow:var(--shadow)}
.btn-secondary:hover{border-color:#d4c6cd}
.btn-brand{background:var(--brand-gradient);color:#fff;box-shadow:var(--shadow)}

.burger{
  display:none;
  border:1px solid var(--border);
  background:#fff;
  width:48px;height:48px;border-radius:16px;
  align-items:center;justify-content:center;cursor:pointer;
  position:relative;z-index:1010;
}
.burger span,.burger span:before,.burger span:after{
  content:"";display:block;width:20px;height:2px;background:#151515;position:relative;border-radius:4px;
  transition:transform .22s ease, opacity .22s ease, top .22s ease;
}
.burger span:before{position:absolute;top:-6px}
.burger span:after{position:absolute;top:6px}
.burger.is-active span{background:transparent}
.burger.is-active span:before{top:0;transform:rotate(45deg)}
.burger.is-active span:after{top:0;transform:rotate(-45deg)}

.mobile-panel{
  display:block;
  position:fixed;
  inset:0;
  z-index:1000;
  background:rgba(17,17,20,.26);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .25s ease, visibility .25s ease;
}
.mobile-panel.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.mobile-nav{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:min(88vw,250px);
  background:#fff;
  border-left:1px solid var(--border);
  box-shadow:-18px 0 42px rgba(18,18,22,.16);
  padding:calc(var(--header-h) + 18px) 16px 24px;
  display:flex;
  flex-direction:column;
  gap:12px;
  transform:translateX(100%);
  transition:transform .28s ease;
  overflow:auto;
}
.mobile-panel.open .mobile-nav{transform:translateX(0)}
.mobile-nav a{
  padding:16px 18px;
  border:1px solid var(--border);
  border-radius:20px;
  background:#fff;
  font-weight:700;
  display:flex;align-items:center;justify-content:center;
}
.mobile-nav a.btn.btn-primary{
  background:#151515;color:#fff;border-color:#151515;
}


.hero{
  padding:42px 0 18px;
}
.hero-card{
  border:1px solid rgba(233,223,228,.9);
  border-radius:36px;
  background:
    radial-gradient(circle at 15% 20%, rgba(253,146,72,.11), transparent 22%),
    radial-gradient(circle at 85% 18%, rgba(240,1,255,.07), transparent 24%),
    linear-gradient(180deg,#fff 0%,#fcfaf9 100%);
  box-shadow:var(--shadow);
  padding:56px 28px 34px;
  text-align:center;
}
.hero-title{
  margin:0;
  font-size:72px;
  line-height:1.02;
  letter-spacing:-.04em;
  font-weight:700;
}
.hero-title .line{display:block}
.hero-sub{
  margin:18px auto 0;
  max-width:760px;
  font-size:34px;
  line-height:1.1;
  font-weight:600;
  color:var(--text-2);
}
.hero-actions{
  margin-top:26px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;
}
.section{padding:18px 0}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.card{
  background:#fff;border:1px solid var(--border);border-radius:28px;padding:24px;box-shadow:var(--shadow)
}
.card h2,.card h3{margin:0;font-size:28px;line-height:1.08;letter-spacing:-.03em;font-weight:700}
.card p{margin:10px 0 0;color:var(--text-2);font-size:16px;line-height:1.5}
.choice-card{min-height:260px;display:flex;flex-direction:column;justify-content:space-between}
.choice-list{margin-top:14px;display:grid;gap:8px}
.choice-item{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:42px;padding:10px 14px;border-radius:999px;background:var(--bg-alt);font-size:14px;font-weight:600;color:var(--text-2)
}
.section-title{
  margin:0 0 14px;
  font-size:38px;line-height:1.08;letter-spacing:-.03em;font-weight:700;text-align:center;
}
.why-card{
  min-height:176px;text-align:center;display:flex;flex-direction:column;justify-content:center
}
.why-card h3{font-size:22px}
.why-card p{font-size:15px}
.service-card{min-height:168px;text-align:center;display:flex;flex-direction:column;justify-content:center}
.service-card h3{font-size:22px}
.trust-card,.location-card,.final-card{text-align:center}
.trust-card h2,.location-card h2,.final-card h2{font-size:40px}
.footer{
  margin-top:24px;padding:26px 0 34px;border-top:1px solid rgba(233,223,228,.95)
}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.footer-note{color:var(--text-2);font-size:14px}
.footer-pills{display:flex;gap:10px;flex-wrap:wrap}
.footer-pills a{
  display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;font-weight:700;font-size:14px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow)
}
.footer-pills a.instagram{background:var(--brand-gradient);color:#fff;border-color:transparent}

/* inner pages */
.small-hero{padding:28px 0 10px}
.small-hero-title{
  margin:0;
  font-size:52px;line-height:1.06;letter-spacing:-.04em;font-weight:700;text-align:center
}
.small-hero-copy{
  margin:12px auto 0;max-width:760px;text-align:center;color:var(--text-2);font-size:18px;line-height:1.5
}
.stack{display:grid;gap:14px}
.booking-page{padding:18px 0 40px}
.booking-shell{
  position:relative;overflow:hidden;
  border:1px solid var(--border);border-radius:36px;background:#fff;box-shadow:var(--shadow)
}
.booking-stage{
  min-height:760px;padding:22px;overflow-anchor:none;
}
#vagaroMount{min-height:700px}
.booking-loader{
  position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(252,250,249,.98));
}
.booking-loader.hidden{display:none}
.booking-loader-box{text-align:center;padding:24px}
.booking-loader-title{margin:0;font-size:18px;font-weight:700;color:var(--text-2)}
.loader-dots{display:inline-flex;gap:8px;align-items:center;margin-left:8px}
.loader-dots span{
  width:8px;height:8px;border-radius:50%;display:inline-block;background:linear-gradient(180deg,var(--brand-1),var(--brand-3));
  animation:dotPulse 1.2s infinite ease-in-out;
}
.loader-dots span:nth-child(2){animation-delay:.15s}
.loader-dots span:nth-child(3){animation-delay:.3s}
@keyframes dotPulse{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}
.booking-loader-copy{margin-top:10px;color:var(--text-2);font-size:14px}
.booking-fallback{display:none;text-align:center;padding:16px 24px 26px;color:var(--text-2)}
.booking-fallback a{text-decoration:underline}
.form-card{max-width:820px;margin:0 auto;text-align:center}

@media (max-width: 1024px){
  .hero-title{font-size:64px}
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 768px){
  :root{--header-h:82px}
  .site-nav{display:none}
  .burger{display:inline-flex}
  .header-inner{grid-template-columns:auto 1fr auto}
  .header-actions .btn-primary{padding:12px 16px;min-height:48px}
  .hero-card{padding:38px 18px 28px}
  .hero-title{font-size:52px}
  .hero-sub{font-size:30px;max-width:250px}
  .hero-actions .btn{width:100%}
  .grid-2,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trust-card h2,.location-card h2,.final-card h2,.section-title{font-size:32px}
  .small-hero-title{font-size:40px}
}
@media (max-width: 480px){
  .container{width:min(var(--container),calc(100% - 20px))}
  .brand img{height:42px}
  .lang-switch button{padding:9px 11px}
  .header-actions{gap:8px}
  .header-actions .btn-primary{font-size:14px}
  .hero{padding-top:24px}
  .hero-title{font-size:44px;line-height:1.05}
  .hero-sub{font-size:28px;line-height:1.12}
  .grid-2,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .choice-card,.why-card,.service-card{min-height:auto}
  .card{padding:18px}
  .choice-item{font-size:13px;min-height:38px}
  .booking-stage{min-height:680px;padding:14px}
  .small-hero-title{font-size:34px}
  .small-hero-copy{font-size:16px}
  .footer-inner{flex-direction:column;align-items:flex-start}
}

body.menu-open{overflow:hidden;touch-action:none}


/* v8.8.7 hero text language-specific wrapping */
.hero-sub.lang-ru{
  font-size:27px;
  max-width:980px;
}
.hero-sub .line{
  display:block;
}
@media (min-width: 769px){
  .hero-sub .line{display:inline}
}
@media (max-width: 480px){
  .hero-title .line.keep-one-line{
    white-space:nowrap;
    display:block;
  }
  .hero-sub{
    font-size:26px;
    line-height:1.12;
  }
  .hero-sub.lang-ru{
    font-size:24px;
    line-height:1.14;
  }
}


/* v8.8.8 mobile hero fit fix */
.hero-title.lang-ru{
  letter-spacing:-0.055em;
}
@media (max-width: 480px){
  .hero-title{
    font-size:38px;
    line-height:1.04;
    letter-spacing:-0.05em;
  }
  .hero-title.lang-ru{
    font-size:30px;
    line-height:1.06;
  }
  .hero-title .line.keep-one-line{
    white-space:nowrap;
    display:block;
    font-size:.86em;
  }
  .hero-title.lang-ru .line.keep-one-line{
    font-size:.82em;
  }
  .hero-sub{
    font-size:22px;
    line-height:1.16;
    max-width:320px;
    margin-top:16px;
  }
  .hero-sub.lang-ru{
    font-size:20px;
    line-height:1.18;
    max-width:330px;
  }
}


/* v8.8.11 gradient phrase restore */
.hero-sub .gradient-phrase{
  background:var(--brand-gradient);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
@media (prefers-reduced-motion: no-preference){
  .hero-sub .gradient-phrase{
    background-size:200% 200%;
    animation:gradientShift 6s ease-in-out infinite;
  }
}
@keyframes gradientShift{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}

/* v8.8.13 ru mobile line fix */
@media (max-width:480px){
  .hero-sub.lang-ru .line{
    display:block !important;
  }
}


/* v8.8.14 mobile hero subtitle line control */
.hero-sub .line{display:block}
@media (min-width: 769px){
  .hero-sub .line{display:inline}
}
@media (max-width: 480px){
  .hero-sub{
    font-size:24px !important;
    line-height:1.14 !important;
    max-width:250px !important;
    margin-left:auto;
    margin-right:auto;
  }
  .hero-sub.lang-ru{
    font-size:21px !important;
    line-height:1.16 !important;
    max-width:250px !important;
  }
  .hero-sub .line{
    display:block !important;
  }
}


/* v8.8.18 correct center for choice-card buttons */
.choice-card > div:last-child{
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  margin-top:20px;
}

/* mobile adjustment */
@media (max-width:480px){
  .choice-card > div:last-child .btn{
    margin-left:auto;
    margin-right:auto;
    display:inline-flex;
  }
  .choice-card > div:last-child .btn[data-i18n-ru]{
    font-size:14px;
    padding:12px 14px;
  }
}


/* v8.8.18_test micro-animations */
@media (prefers-reduced-motion: no-preference){
  .btn,
  .footer-pills a,
  .choice-card,
  .feature-card,
  .service-card,
  .trust-card,
  .location-card,
  .final-card,
  .mobile-nav a{
    transition:
      transform .22s ease,
      box-shadow .22s ease,
      border-color .22s ease,
      background-color .22s ease,
      color .22s ease,
      opacity .22s ease;
  }

  .btn:hover,
  .footer-pills a:hover,
  .mobile-nav a:hover{
    transform: translateY(-1px);
  }

  .choice-card:hover,
  .feature-card:hover,
  .service-card:hover,
  .trust-card:hover,
  .location-card:hover,
  .final-card:hover{
    transform: translateY(-2px);
    box-shadow: 0 18px 52px rgba(32,18,26,.10);
    border-color: #dfd2d9;
  }

  .btn-primary:hover{
    box-shadow: 0 18px 52px rgba(21,21,21,.18);
  }

  .btn-secondary:hover{
    background:#fff;
    border-color:#cfc3ca;
  }

  .footer-pills a.instagram:hover{
    box-shadow: 0 18px 52px rgba(250,23,104,.20);
  }

  .reveal-on-scroll{
    opacity: 0;
    transform: translateY(16px);
    will-change: opacity, transform;
  }

  .reveal-on-scroll.is-visible{
    opacity: 1;
    transform: translateY(0);
    transition: opacity .55s ease, transform .55s ease;
  }

  .booking-loader{
    transition: opacity .28s ease, visibility .28s ease;
  }

  .booking-loader.hidden{
    opacity: 0;
    visibility: hidden;
    pointer-events:none;
  }
}





/* v8.8.21 mobile menu floating drawer */
.mobile-panel{
  display:block !important;
  position:fixed;
  inset:0;
  z-index:1000;
  background:rgba(17,17,20,.18);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s ease, visibility .28s ease !important;
}
.mobile-panel.open{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}
.mobile-nav{
  position:absolute;
  top:calc(var(--header-h) + 8px);
  right:12px;
  width:min(86vw, 250px);
  max-height:calc(100dvh - var(--header-h) - 20px);
  overflow:auto;
  background:#fff;
  border:1px solid var(--border);
  border-radius:28px;
  box-shadow:-8px 14px 36px rgba(18,18,22,.14);
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:10px;
  transform:translateX(24px);
  opacity:0;
  transition:
    transform .30s cubic-bezier(.22,.61,.36,1),
    opacity .22s ease,
    box-shadow .30s ease !important;
}
.mobile-panel.open .mobile-nav{
  transform:translateX(0) !important;
  opacity:1 !important;
}
.mobile-nav a{
  min-height:56px;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:18px;
  background:#fff;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
}
.mobile-nav a.btn.btn-primary,
.mobile-nav a.mobile-cta{
  background:#151515;
  color:#fff;
  border-color:#151515;
}
.burger{
  position:relative;
  z-index:1010;
  transition:background-color .24s ease, border-color .24s ease, transform .24s ease !important;
}
.burger span,
.burger span:before,
.burger span:after{
  transition:
    transform .28s cubic-bezier(.22,.61,.36,1),
    top .28s cubic-bezier(.22,.61,.36,1),
    opacity .18s ease,
    background-color .24s ease !important;
}
.burger.is-active span{
  background:transparent !important;
}
.burger.is-active span:before{
  top:0 !important;
  transform:rotate(45deg) !important;
}
.burger.is-active span:after{
  top:0 !important;
  transform:rotate(-45deg) !important;
}



/* v8.8.25 smart loader text */
.loader-text{
  transition:opacity .35s ease, transform .35s ease;
}
.loader-text.fade-out{
  opacity:0;
  transform:translateY(4px);
}
.loader-text.fade-in{
  opacity:1;
  transform:translateY(0);
}


/* v8.8.26 compact loader + running dots */
.booking-shell{
  transition:min-height .32s ease, max-height .32s ease;
}
.booking-shell.is-loading{
  min-height:180px !important;
}
.booking-shell.is-loaded{
  min-height:760px !important;
}
.booking-stage{
  transition:min-height .32s ease, padding .32s ease;
}
.booking-shell.is-loading .booking-stage{
  min-height:180px !important;
  padding:0 !important;
}
.booking-shell.is-loaded .booking-stage{
  min-height:760px !important;
}
.booking-loader{
  position:absolute;
  inset:0;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
}
.booking-loader-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}
.booking-loader-dots{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.booking-loader-dots span{
  width:7px;
  height:7px;
  border-radius:50%;
  display:inline-block;
  background:linear-gradient(180deg,var(--brand-1),var(--brand-3));
  animation:snbDotPulse 1.2s infinite ease-in-out;
}
.booking-loader-dots span:nth-child(2){animation-delay:.15s}
.booking-loader-dots span:nth-child(3){animation-delay:.3s}
@keyframes snbDotPulse{
  0%,80%,100%{opacity:.25;transform:translateY(0)}
  40%{opacity:1;transform:translateY(-2px)}
}


/* v8.8.27 booking intro wait state */
.booking-intro-wait{
  margin:0;
  color:var(--text-2);
  font-size:18px;
  line-height:1.5;
  min-height:32px;
}
.booking-shell.is-hidden-until-ready{
  display:none;
}


/* v8.8.29 center loader text + spacing */
.booking-intro-wait{
  text-align:center !important;
  margin-top:12px !important;
}


/* v8.8.31 booking wait text hard-center */
.booking-intro-wait{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  text-align:center !important;
  margin-top:12px !important;
  gap:8px;
}
.booking-intro-wait .booking-loader-dots{
  flex:0 0 auto;
}


/* v8.8.32 booking wait center + hide fix */
.small-hero .container{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.booking-intro-wait{
  display:inline-flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:auto !important;
  max-width:100% !important;
  margin:12px auto 0 !important;
  text-align:center !important;
  gap:8px !important;
}
.booking-intro-wait.is-hidden{
  display:none !important;
}
.booking-intro-wait .loader-label{
  display:inline-block;
}





/* v8.8.34 booking wait center fix */
.booking-page .small-hero .container{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.booking-intro-wait{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:fit-content !important;
  max-width:100% !important;
  margin:12px auto 0 !important;
  text-align:center !important;
  gap:8px !important;
  left:auto !important;
  transform:none !important;
}
.booking-intro-wait.is-hidden{
  display:none !important;
}
.booking-page.is-ready .small-hero{
  padding-bottom:0 !important;
}
.booking-page.is-ready .small-hero-copy{
  display:none !important;
}
.booking-page.is-ready .container + .container{
  margin-top:0 !important;
}


/* v8.8.35 tighter spacing after load */
.booking-page.is-ready .small-hero{
  padding-bottom:6px !important;
}
.booking-page.is-ready .container + .container{
  margin-top:6px !important;
}


/* v8.8.36 dynamic spacing desktop/mobile */
.booking-page.is-ready .small-hero{
  padding-bottom:10px !important;
}
.booking-page.is-ready .container + .container{
  margin-top:10px !important;
}

@media (max-width: 768px){
  .booking-page.is-ready .small-hero{
    padding-bottom:6px !important;
  }
  .booking-page.is-ready .container + .container{
    margin-top:6px !important;
  }
}


/* v8.8.37 booking widget reveal */
#vagaroMount{
  opacity:0;
  transform:translateY(12px);
  transition:opacity .36s ease, transform .36s ease;
}
.booking-shell.is-loaded #vagaroMount{
  opacity:1;
  transform:translateY(0);
}


/* v8.8.38 booking reveal + tighter top spacing */
.booking-shell.is-hidden-until-ready{
  display:none;
}
.booking-shell.is-appearing{
  display:block;
  animation:snbBookingReveal .38s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes snbBookingReveal{
  from{
    opacity:0;
    transform:translateY(12px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* reveal should happen on shell, not just inner mount */
#vagaroMount{
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
}

/* reduce inner top whitespace before widget content */
.booking-stage{
  padding:10px 22px 22px !important;
}
.booking-shell.is-loaded .booking-stage{
  padding-top:8px !important;
}


@media (max-width:768px){
  .contact-page-map iframe,
  .card iframe[src*="google.com/maps"]{
    height:250px !important;
    min-height:250px !important;
    max-height:250px !important;
  }
}

}

  .booking-shell.is-loaded .booking-stage{
    padding-top:6px !important;
  }
}


/* v8.8.39 smoother booking reveal + tighter spacing */
.booking-shell.is-appearing{
  display:block;
  animation:snbBookingRevealSmooth .72s cubic-bezier(.16,.84,.24,1) both;
}
@keyframes snbBookingRevealSmooth{
  0%{
    opacity:0;
    transform:translateY(18px) scale(.985);
  }
  60%{
    opacity:.92;
    transform:translateY(4px) scale(.997);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

/* pull the white block closer to the heading after load */
.booking-page.is-ready .small-hero{
  padding-bottom:2px !important;
}
.booking-page.is-ready .container + .container{
  margin-top:0 !important;
}
.booking-page.is-ready .booking-shell{
  margin-top:0 !important;
}

/* reduce inner whitespace at the top of the widget shell */
.booking-stage{
  padding:4px 18px 18px !important;
  min-height:740px !important;
}
.booking-shell.is-loaded .booking-stage{
  padding-top:2px !important;
}
#vagaroMount{
  min-height:680px !important;
}

@media (max-width:768px){
  .booking-page.is-ready .small-hero{
    padding-bottom:0 !important;
  }
  .booking-stage{
    padding:4px 10px 12px !important;
    min-height:720px !important;
  }
  .booking-shell.is-loaded .booking-stage{
    padding-top:2px !important;
  }
}


/* v8.8.40 restore outer spacing + reduce inner gap */

/* вернуть внешний отступ (между Book appointment и блоком) */
.booking-page.is-ready .small-hero{
  padding-bottom:10px !important;
}
.booking-page.is-ready .container + .container{
  margin-top:10px !important;
}

@media (max-width:768px){
  .booking-page.is-ready .small-hero{
    padding-bottom:6px !important;
  }
  .booking-page.is-ready .container + .container{
    margin-top:6px !important;
  }
}

/* убрать лишнюю "дырку" ВНУТРИ белого блока */
.booking-stage{
  padding-top:2px !important;
}
.booking-shell.is-loaded .booking-stage{
  padding-top:0px !important;
}

/* иногда Vagaro сам добавляет отступ — поджимаем контейнер */
#vagaroMount{
  margin-top:-4px !important;
}


/* v8.8.59 contact page header + map tightening */
.contact-page-map iframe,
.card iframe[src*="google.com/maps"]{
  height: 220px !important;
}
@media (max-width: 768px){
  .contact-page-map iframe,
  .card iframe[src*="google.com/maps"]{
    height: 220px !important;
  }
}


/* v8.8.60 contact map shorter */
.contact-page-map iframe,
.card iframe[src*="google.com/maps"]{
  height:230px !important;
  min-height:230px !important;
  max-height:230px !important;
}
@media (max-width:768px){
  .contact-page-map iframe,
  .card iframe[src*="google.com/maps"]{
    height:230px !important;
    min-height:230px !important;
    max-height:230px !important;
  }
}


/* v8.8.61 contact page button/map alignment */
.contact-page-map iframe,
.card iframe[src*="google.com/maps"]{
  height:250px !important;
  min-height:250px !important;
  max-height:250px !important;
}
@media (max-width:768px){
  .contact-page-map iframe,
  .card iframe[src*="google.com/maps"]{
    height:320px !important;
    min-height:320px !important;
    max-height:320px !important;
  }

  .btn-row{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
    align-items:stretch !important;
  }
  .btn-row .btn{
    width:100% !important;
    max-width:none !important;
    justify-content:center !important;
  }
}


/* v8.8.62 align left card with map */
.grid-2 > .card:first-child{
  padding-bottom:12px !important;
}
.grid-2 > .card:first-child .btn-row{
  margin-bottom:0 !important;
}

/* mobile: force full width buttons */
@media (max-width:768px){
  .btn-row{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
  }
  .btn-row .btn{
    width:100% !important;
    max-width:none !important;
    display:flex !important;
    justify-content:center !important;
  }

  .contact-page-map iframe,
  .card iframe[src*="google.com/maps"]{
    height:260px !important;
    min-height:260px !important;
  }
}


/* v8.8.63 contact map/button alignment tuning */
.grid-2 > .card:first-child{
  padding-bottom:8px !important;
}

.contact-page-map iframe,
.card iframe[src*="google.com/maps"]{
  height:272px !important;
  min-height:272px !important;
  max-height:272px !important;
}

@media (max-width:768px){
  .btn-row{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
    align-items:stretch !important;
  }
  .btn-row .btn{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    justify-content:center !important;
  }

  .contact-page-map iframe,
  .card iframe[src*="google.com/maps"]{
    height:250px !important;
    min-height:250px !important;
    max-height:250px !important;
  }
}


/* v8.8.64 hard fix for contact page alignment */
.contact-left-card{
  padding-bottom: 6px !important;
}

.contact-contact-buttons{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:12px !important;
}

.contact-page-map iframe,
.card iframe[src*="google.com/maps"]{
  height:272px !important;
  min-height:272px !important;
  max-height:272px !important;
}

@media (max-width:768px){
  .contact-contact-buttons{
    flex-direction:column !important;
    align-items:stretch !important;
  }

  .contact-contact-buttons .btn{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    display:flex !important;
    justify-content:center !important;
  }

  .contact-page-map iframe,
  .card iframe[src*="google.com/maps"]{
    height:250px !important;
    min-height:250px !important;
    max-height:250px !important;
  }
}

/* v8.8.69 merged buttons: desktop from 8.8.66, mobile from 8.8.67 */
.contact-top-grid{align-items:stretch;}
.contact-left-card{padding-bottom:8px !important;}
.contact-map-card{display:flex;flex-direction:column;}
.contact-page-map{margin-top:16px;border-radius:20px;overflow:hidden;}
.contact-actions-strip{margin-top:20px;padding:20px 24px !important;}
.contact-actions-strip-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.contact-actions-strip-grid .btn{
  width:100%;
  justify-content:center;
}
@media (max-width:768px){
  .contact-page-map iframe,
  .card iframe[src*="google.com/maps"]{
    height:250px !important;
    min-height:250px !important;
    max-height:250px !important;
  }
  .contact-actions-strip{padding:16px !important;}
  .contact-actions-strip-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
  }
  .contact-actions-strip-grid .btn{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:58px;
    padding-left:10px;
    padding-right:10px;
    text-align:center;
    line-height:1.15;
    white-space:normal;
  }
}


/* v8.8.70 desktop buttons back inside left card, mobile strip only */
.contact-contact-buttons{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:12px !important;
}
.contact-contact-buttons .btn{
  width:auto !important;
}

.contact-actions-strip{
  display:none !important;
}

@media (max-width:768px){
  .contact-contact-buttons{
    display:none !important;
  }
  .contact-actions-strip{
    display:block !important;
  }
}


/* v8.8.71 contact desktop/mobile cleanup */
@media (min-width:769px){
  .contact-actions-strip{
    display:none !important;
  }
}

@media (max-width:768px){
  .contact-page-map iframe,
  .card iframe[src*="google.com/maps"]{
    height:250px !important;
    min-height:250px !important;
    max-height:250px !important;
  }
}

/* v8.8.72 mobile-only strip, desktop no extra block */
@media (min-width: 769px){
  .contact-actions-strip{
    display:none !important;
  }
}

@media (max-width: 768px){
  .contact-page-map iframe,
  .card iframe[src*="google.com/maps"]{
    height:250px !important;
    min-height:250px !important;
    max-height:250px !important;
  }

  .contact-actions-strip{
    display:block !important;
    margin-top:20px;
    padding:16px !important;
  }

  .contact-actions-strip-grid{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:10px !important;
  }

  .contact-actions-strip-grid .btn{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:58px !important;
    padding-left:10px !important;
    padding-right:10px !important;
    text-align:center !important;
    line-height:1.15 !important;
    white-space:normal !important;
    justify-content:center !important;
  }
}

/* v8.8.73 desktop map reduced */
@media (min-width:769px){
  .contact-page-map iframe,
  .card iframe[src*="google.com/maps"]{
    height:230px !important;
    min-height:230px !important;
    max-height:230px !important;
  }
}


/* v8.8.75 mobile map aligned to left text block */
@media (max-width:768px){
  .contact-page-map iframe,
  .card iframe[src*="google.com/maps"]{
    height:250px !important;
    min-height:250px !important;
    max-height:250px !important;
  }
}


/* v8.8.80 fix RU mobile title overflow in sterility */
@media (max-width:768px){
  h2[data-i18n-ru="Одноразовые материалы"]{
    font-size:26px !important;
    line-height:1.15 !important;
    word-break:break-word;
    hyphens:auto;
  }
}


/* v8.8.81 fluid typography test for RU mobile sterility title */
@media (max-width:768px){
  h2[data-i18n-ru="Одноразовые материалы"]{
    font-size: clamp(20px, 4.8vw, 26px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.02em;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    hyphens: auto !important;
    max-width: 100%;
  }
}



}



}


/* v8.8.85 RU title behavior desktop vs mobile */
@media (min-width:769px){
  h2.sterility-singleuse-title br{
    display:none !important;
  }
}

@media (max-width:768px){
  h2.sterility-singleuse-title{
    font-size: 0.98em !important;
  }
}




/* v8.8.87 exact title sizing/alignment */
@media (max-width:768px){
  /* EN mobile: match Process size */
  html[lang="en"] .sterility-singleuse-title{
    font-size: 30px !important;
    line-height: 1.08 !important;
    letter-spacing: -0.02em !important;
  }

  /* RU mobile: keep two lines and increase by +1 */
  html[lang="ru"] .sterility-singleuse-title{
    font-size: 25px !important;
    line-height: 1.06 !important;
    letter-spacing: -0.03em !important;
    white-space: normal !important;
  }
  html[lang="ru"] .sterility-singleuse-title br{
    display:block !important;
  }
}

@media (min-width:769px){
  /* RU desktop: one line with proper space */
  html[lang="ru"] .sterility-singleuse-title br{
    display:none !important;
  }
}


/* v8.8.93 careers production */
.careers-intro-card,
.careers-apply-card{
  margin-bottom:20px;
}
.careers-pills{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.careers-pills span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  background:var(--bg-alt);
  border:1px solid var(--border);
  font-size:14px;
}
.careers-grid{
  align-items:start;
}
.careers-card h2{
  margin-top:8px;
}
.careers-card h3{
  margin-top:18px;
  margin-bottom:10px;
  font-size:20px;
}
.careers-label{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--border);
  background:var(--bg-alt);
  color:var(--text-2);
  font-size:12px;
  font-weight:700;
}
.careers-list{
  padding-left:18px;
  margin:0;
}
.careers-list li{
  margin:0 0 10px 0;
}
.careers-apply-actions{
  display:flex;
  gap:12px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:18px;
}
@media (max-width:768px){
  .careers-pills{
    gap:8px;
  }
  .careers-pills span{
    font-size:13px;
  }
  .careers-apply-actions{
    flex-direction:column;
  }
  .careers-apply-actions .btn{
    width:100%;
  }
}


/* v8.8.94 careers conversion upgrade */
.careers-offer-card{
  margin-bottom:20px;
}
.careers-offer-pills span{
  background:#fff;
}
.careers-label-gradient{
  background:var(--brand-gradient) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 10px 24px rgba(240,1,255,.12);
}
.careers-grid{
  align-items:stretch;
}
.careers-card{
  height:100%;
}


/* v8.8.96 careers vacancy apply buttons */
.careers-job-actions{
  margin-top:18px;
}
.careers-job-actions .btn{
  width:100%;
  justify-content:center;
}


/* v8.8.97 careers equal section blocks */
.careers-grid{
  align-items:stretch;
}
.careers-card-sections{
  display:grid;
  grid-template-rows:auto repeat(4, 1fr);
  gap:0;
  height:100%;
}
.career-section{
  padding:18px 0;
  border-top:1px solid rgba(17,17,17,0.12);
  display:flex;
  flex-direction:column;
}
.career-section:first-of-type{
  margin-top:14px;
}
.career-section h2,
.career-section h3{
  margin-top:0;
}
.career-section p,
.career-section ul{
  margin-bottom:0;
}
.careers-job-actions{
  margin-top:auto;
  padding-top:12px;
}
@media (max-width:768px){
  .careers-card-sections{
    grid-template-rows:auto repeat(4, auto);
  }
}


/* v8.8.99 careers nailed equal 5-section grid */
.careers-card-sections{
  display:grid;
  grid-template-rows:auto repeat(5, minmax(0, 1fr));
  gap:0;
  height:100%;
}
.careers-card-sections > .career-section{
  padding:18px 0;
  border-top:1px solid rgba(17,17,17,0.12);
  min-height:0 !important;
  display:flex;
  flex-direction:column;
}
.careers-card-sections > .career-section:first-of-type{
  margin-top:14px;
}
.careers-card-sections > .career-section h2,
.careers-card-sections > .career-section h3{
  margin-top:0;
}
.careers-card-sections > .career-section p,
.careers-card-sections > .career-section ul{
  margin-bottom:0;
}
.careers-card-sections > .career-section ul{
  padding-left:18px;
}
.careers-card-sections > .career-section li{
  margin-bottom:6px;
}
.career-section-action{
  align-items:stretch;
  justify-content:flex-end;
}
.careers-job-actions{
  margin-top:auto;
  display:flex;
  align-items:flex-end;
}
.careers-job-actions .btn{
  width:100%;
  justify-content:center;
}
@media (max-width:768px){
  .careers-card-sections{
    grid-template-rows:auto repeat(5, auto);
  }
}


/* v8.9.01 careers precise 2-column row alignment from v8.8.99 */
.careers-grid{
  align-items:stretch !important;
}

.careers-card.careers-card-sections{
  display:grid !important;
  grid-template-rows:auto repeat(5, minmax(0, 1fr)) !important;
  gap:0 !important;
  height:100% !important;
  align-self:stretch !important;
}

.careers-card.careers-card-sections > .career-section{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  min-height:0 !important;
  padding:18px 0 !important;
  margin:0 !important;
  border-top:1px solid rgba(17,17,17,0.12) !important;
  box-sizing:border-box !important;
}

.careers-card.careers-card-sections > .career-section:first-of-type{
  margin-top:14px !important;
}

.careers-card.careers-card-sections > .career-section h2,
.careers-card.careers-card-sections > .career-section h3{
  margin:0 0 10px 0 !important;
  line-height:1.12 !important;
}

.careers-card.careers-card-sections > .career-section p{
  margin:0 !important;
  line-height:1.5 !important;
}

.careers-card.careers-card-sections > .career-section ul{
  margin:0 !important;
  padding-left:18px !important;
}

.careers-card.careers-card-sections > .career-section li{
  margin:0 0 6px 0 !important;
  line-height:1.45 !important;
}

.career-section-action{
  justify-content:flex-end !important;
}

.careers-job-actions{
  margin-top:auto !important;
  padding-top:12px !important;
  display:flex !important;
  align-items:flex-end !important;
}

.careers-job-actions .btn{
  width:100% !important;
  justify-content:center !important;
}

/* keep desktop cards side-by-side, only stack on mobile */
@media (min-width:769px){
  .careers-grid{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:18px !important;
  }
}

@media (max-width:768px){
  .careers-card.careers-card-sections{
    grid-template-rows:auto repeat(5, auto) !important;
  }
}






/* v8.9.04 careers robust desktop sync */
.careers-card.careers-card-sections{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}
.careers-card.careers-card-sections > .career-section{
  overflow:visible !important;
}
.career-section-action{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
}
.careers-job-actions{
  margin-top:auto !important;
}
@media (min-width:769px){
  .careers-grid{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:18px !important;
    align-items:stretch !important;
  }
}


/* v8.9.05 careers micro polish */
@media (min-width:769px){
  html[lang="ru"] .careers-card.careers-card-sections:first-child .career-section h2 br{
    display:block !important;
  }
}
@media (max-width:768px){
  html[lang="ru"] .careers-card.careers-card-sections:first-child .career-section h2 br{
    display:none !important;
  }
}

/* remove line right after vacancy pill */
.careers-card.careers-card-sections > .career-section:first-of-type{
  border-top:none !important;
}

/* faster gradient */
.careers-label-gradient{
  animation-duration: gradientShift 0.075s linear infinite !important;
}

/* gradient apply buttons */
.careers-job-actions .btn.btn-primary{
  background: var(--brand-gradient) !important;
  color:#fff !important;
  border-color: transparent !important;
  box-shadow:0 10px 24px rgba(240,1,255,.14);
}


/* v8.9.06 remove top divider under vacancy pill (both cards) */
.careers-card.careers-card-sections > .career-section:first-of-type{
  border-top: none !important;
}




/* v8.9.10 remove only first divider, restore second */
.careers-card.careers-card-sections > .career-section.career-section-intro{
  border-top: none !important;
}
.careers-card.careers-card-sections > .career-section:nth-of-type(2){
  border-top: 1px solid rgba(17,17,17,0.12) !important;
}













/* v8.9.31 careers bubbles only: right-to-left, slower */
@keyframes careersBubbleFlow {
  0% { transform: translateX(0); }
  100% { transform: translateX(50%); }
}

.careers-card .careers-label-gradient{
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: transparent !important;
  border-color: transparent !important;
  color: #fff !important;
}

.careers-card .careers-label-gradient::before{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  width: 200% !important;
  height: 100% !important;
  left: -100% !important;
  top: 0 !important;
  border-radius: inherit !important;
  background: linear-gradient(
    90deg,
    #fd9248 0%,
    #fa1768 16.666%,
    #f001ff 33.333%,
    #fd9248 50%,
    #fa1768 66.666%,
    #f001ff 83.333%,
    #fd9248 100%
  ) !important;
  animation: careersBubbleFlow 8s linear infinite !important;
  z-index: -1 !important;
  will-change: transform !important;
}

.careers-card .careers-label-gradient{
  box-shadow: 0 8px 22px rgba(250,23,104,.10) !important;
}


/* v8.9.32 apply same gradient to apply buttons */
.careers-card .careers-job-actions .btn.btn-primary{
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: transparent !important;
  border-color: transparent !important;
  color: #fff !important;
}

.careers-card .careers-job-actions .btn.btn-primary::before{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  width: 200% !important;
  height: 100% !important;
  left: -100% !important;
  top: 0 !important;
  border-radius: inherit !important;
  background: linear-gradient(
    90deg,
    #fd9248 0%,
    #fa1768 16.666%,
    #f001ff 33.333%,
    #fd9248 50%,
    #fa1768 66.666%,
    #f001ff 83.333%,
    #fd9248 100%
  ) !important;
  animation: careersBubbleFlow 8s linear infinite !important;
  z-index: -1 !important;
  will-change: transform !important;
}

/* v8.9.33 hide SEO helper text */
.seo-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  clip-path: inset(50%) !important;
  white-space:nowrap !important;
  border:0 !important;
}




/* v8.9.35 static global side gradients */
body{
  position: relative;
  overflow-x: hidden;
  background:
    radial-gradient(ellipse at left center,
      rgba(253,146,72,0.16) 0%,
      rgba(250,23,104,0.10) 24%,
      rgba(240,1,255,0.07) 40%,
      rgba(255,255,255,0) 68%),
    radial-gradient(ellipse at right center,
      rgba(240,1,255,0.13) 0%,
      rgba(250,23,104,0.10) 24%,
      rgba(253,146,72,0.08) 40%,
      rgba(255,255,255,0) 68%),
    linear-gradient(180deg,#fff 0%,var(--bg) 100%);
  background-repeat: no-repeat;
  background-size: 44vw 100%, 44vw 100%, 100% 100%;
  background-position: left center, right center, center center;
}


/* v8.9.38 footer version for testing */
.footer-version{
  text-align:center;
  font-size:14px;
  line-height:1.3;
  color:var(--text-2);
  margin:10px 0 6px;
}









/* v8.9.49 careers ru desktop line break */
@media (min-width: 769px){
  html[lang="ru"] .careers-card.careers-card-sections:nth-of-type(2) h2 br{
    display:block !important;
  }
}
@media (max-width: 768px){
  html[lang="ru"] .careers-card.careers-card-sections:nth-of-type(2) h2 br{
    display:none !important;
  }
}



/* v8.9.53 careers accordion desktop revert + mobile persistence */
@media (min-width: 769px){
  .careers-page .careers-accordion-trigger{
    display:none !important;
  }
  .careers-page .careers-card.careers-card-sections .careers-label{
    display:inline-flex !important;
  }
  .careers-page .careers-card.careers-card-sections > .career-section{
    display:flex !important;
  }
}


/* v8.9.54 footer aligned to content width */
.site-footer{
  margin-top: 24px;
  border-top: 1px solid var(--border);
  padding: 0;
}

.site-footer .footer-inner{
  min-height: var(--header-h);
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 0;
}

.footer-left{
  min-width: 0;
  font-size: 14px;
  line-height: 1.3;
  color: var(--text-2);
  overflow-wrap: anywhere;
}

.site-footer .footer-pills{
  min-width: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.site-footer .footer-pills a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid var(--border);
  background:#fff;
  color:var(--text);
  font-size:14px;
  line-height:1;
}

.site-footer .footer-pills a.instagram{
  background:var(--brand-gradient);
  color:#fff;
  border-color:transparent;
}

@media (max-width: 768px){
  .site-footer{
    margin-top: 20px;
  }

  .site-footer .footer-inner{
    min-height: auto;
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    gap: 12px;
    padding: 14px 0 18px;
  }

  .footer-left{
    text-align: center;
  }

  .site-footer .footer-pills{
    justify-content: center;
  }
}

/* v8.9.55 careers mobile accordion restore */
@media (max-width: 768px){
  .careers-page .grid-2.careers-grid{
    display:flex !important;
    flex-direction:column !important;
    gap:16px !important;
  }

  .careers-page .careers-card.careers-card-sections{
    display:block !important;
    height:auto !important;
  }

  .careers-page .careers-card.careers-card-sections .careers-label{
    display:none !important;
  }

  .careers-page .careers-accordion-trigger{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    width:100% !important;
    min-height:56px !important;
    padding:14px 18px !important;
    border-radius:999px !important;
    border:1px solid var(--border) !important;
    background:var(--bg-alt) !important;
    color:var(--text) !important;
    font-size:18px !important;
    font-weight:700 !important;
    line-height:1.15 !important;
    cursor:pointer !important;
    appearance:none !important;
    -webkit-appearance:none !important;
    box-shadow:none !important;
    margin-bottom:12px !important;
  }

  .careers-page .careers-accordion-icon{
    display:inline-flex !important;
    width:18px !important;
    flex:0 0 18px !important;
    justify-content:center !important;
    font-size:24px !important;
    line-height:1 !important;
  }

  .careers-page .careers-accordion-trigger-text{
    flex:1 1 auto !important;
    text-align:left !important;
  }

  .careers-page .careers-card.careers-card-sections > .career-section{
    display:none !important;
    min-height:auto !important;
    height:auto !important;
  }

  .careers-page .careers-card.careers-card-sections.is-open > .career-section{
    display:flex !important;
  }

  .careers-page .careers-card.careers-card-sections > .career-section h2{
    font-size:28px !important;
    line-height:1.08 !important;
    letter-spacing:-0.03em !important;
    overflow-wrap:anywhere !important;
  }

  html[lang="ru"] .careers-page .careers-card.careers-card-sections > .career-section h2{
    font-size:26px !important;
  }

  .careers-page .careers-card.careers-card-sections > .career-section h3{
    font-size:24px !important;
    line-height:1.08 !important;
  }

  .careers-page .careers-card.careers-card-sections > .career-section p,
  .careers-page .careers-card.careers-card-sections > .career-section li{
    font-size:16px !important;
    line-height:1.45 !important;
  }

  .careers-page .careers-card.careers-card-sections .careers-job-actions .btn{
    width:100% !important;
    min-height:64px !important;
    border-radius:999px !important;
    font-size:20px !important;
    line-height:1.15 !important;
  }
}

@media (min-width: 769px){
  .careers-page .careers-accordion-trigger{
    display:none !important;
  }
  .careers-page .careers-card.careers-card-sections .careers-label{
    display:inline-flex !important;
  }
  .careers-page .careers-card.careers-card-sections > .career-section{
    display:flex !important;
  }
}




/* v8.9.60 mobile careers accordion title gradient fix */
@keyframes snbTextGradientFlow{
  0%{ background-position: 0% 50%; }
  100%{ background-position: 100% 50%; }
}

@media (max-width: 768px){
  .careers-page .careers-accordion-trigger-text{
    display:inline-block !important;
    background-image: linear-gradient(90deg, #fd9248 0%, #fa1768 35%, #f001ff 70%, #fd9248 100%) !important;
    background-size: 200% 100% !important;
    background-position: 0% 50% !important;
    background-repeat: repeat !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    animation: snbTextGradientFlow 6s linear infinite !important;
  }
}



/* v8.9.63 FAQ accordion */
.faq-accordion{
  display:grid;
  gap:14px;
}
.faq-item{
  border:1px solid var(--border);
  border-radius:24px;
  background:#fff;
  overflow:hidden;
}
.faq-question{
  width:100%;
  display:flex;
  align-items:center;
  gap:14px;
  text-align:left;
  padding:18px 22px;
  border:0;
  background:#fff;
  font-weight:700;
  font-size:22px;
  line-height:1.2;
  color:var(--text);
  cursor:pointer;
}
.faq-question-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  flex:0 0 28px;
  font-size:46px;
  line-height:1;
  color:var(--text-2);
  transform:translateY(-2px);
}
.faq-item.open .faq-question-icon{
  font-size:34px;
  transform:translateY(-1px);
}
.faq-question-text{
  flex:1 1 auto;
}
.faq-answer{
  display:none;
  padding:0 22px 22px 64px;
}
.faq-answer p{
  margin:0 0 14px;
  line-height:1.6;
  color:var(--text-2);
}
.faq-answer p:last-child{
  margin-bottom:0;
}
.faq-item.open .faq-answer{
  display:block;
}

/* v8.9.63 gradient highlight text */
.gradient-text{
  background:linear-gradient(90deg,#fd9248,#fa1768,#f001ff,#fd9248);
  background-size:200% 100%;
  background-position:0% 50%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  animation:gradientShift 6s linear infinite;
}

@media (max-width:768px){
  .faq-question{
    font-size:18px;
    padding:16px 18px;
    gap:12px;
  }
  .faq-question-icon{
    width:22px;
    flex:0 0 22px;
    font-size:38px;
  }
  .faq-item.open .faq-question-icon{
    font-size:28px;
  }
  .faq-answer{
    padding:0 18px 18px 52px;
  }
}

/* v8.9.67 blog */
.blog-intro-card{
  display:grid;
  gap:20px;
}
.blog-intro-card p{
  margin:0;
  color:var(--text-2);
  line-height:1.7;
}
.blog-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.blog-card{
  border:1px solid var(--border);
  border-radius:28px;
  background:#fff;
  overflow:hidden;
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
}
.blog-card img{
  width:100%;
  aspect-ratio: 16 / 10;
  object-fit:cover;
}
.blog-card-body{
  padding:18px 18px 20px;
  display:flex;
  flex-direction:column;
  gap:14px;
  height:100%;
}
.blog-card-date{
  font-size:14px;
  color:var(--text-2);
}
.blog-card h2{
  margin:0;
  font-size:32px;
  line-height:1.08;
  letter-spacing:-.03em;
}
.blog-card p{
  margin:0;
  color:var(--text-2);
  line-height:1.6;
}
.blog-read-more{
  margin-top:auto;
  align-self:flex-start;
}
.blog-article-card{
  display:grid;
  gap:20px;
}
.blog-article-hero{
  width:100%;
  border-radius:24px;
  border:1px solid var(--border);
  object-fit:cover;
}
.blog-article-card h2{
  margin:0;
  font-size:34px;
  line-height:1.1;
  letter-spacing:-.03em;
}
.blog-article-card p{
  margin:0;
  color:var(--text-2);
  line-height:1.75;
}
.blog-article-actions{
  padding-top:8px;
}
.scroll-top-btn{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:1005;
  width:52px;
  height:52px;
  border-radius:999px;
  border:1px solid var(--border);
  background:#151515;
  color:#fff;
  font-size:24px;
  line-height:1;
  cursor:pointer;
  box-shadow:var(--shadow);
  display:none;
}
.scroll-top-btn.is-visible{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
@media (max-width: 980px){
  .blog-grid{
    grid-template-columns:1fr;
  }
}


/* v8.9.69 smaller hero image for blog-smart-pedicure on desktop */
@media (min-width: 769px){
  .blog-article-card .blog-article-hero{
    width: 50%;
    margin-left: auto;
    margin-right: auto;
  }
}

/* v8.9.72 visual procedure steps */
.procedure-steps{
  display:grid;
  gap:14px;
  margin-top:16px;
}
.step{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid var(--border);
  background:#fff;
}
.step-num{
  width:36px;
  height:36px;
  border-radius:50%;
  background:var(--brand-gradient);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
}
.step-text{
  font-size:15px;
  line-height:1.4;
  color:var(--text-2);
}





/* v8.9.80 rebuilt FAQ spacing */
.faq-accordion{
  display:grid !important;
  gap:20px !important;
}
.faq-accordion > .faq-item{
  margin:0 !important;
}


/* v8.9.81 faq pedicure blog CTA */
.faq-blog-cta{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid var(--border);
}
.faq-blog-cta p{
  margin:0 0 12px !important;
}
.faq-blog-link{
  min-height:48px;
}


/* v8.9.83 blog action buttons spacing */
.blog-article-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
}


/* v8.9.85 fix procedure step circles + CTA visibility */
.procedure-steps .step-num{
  width:36px;
  height:36px;
  min-width:36px;
  min-height:36px;
  flex:0 0 36px;
  border-radius:999px;
}

.faq-blog-link{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
}

@media (max-width:768px){
  .procedure-steps .step{
    align-items:flex-start;
  }
  .procedure-steps .step-num{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    flex:0 0 40px !important;
    border-radius:999px !important;
  }
}


/* v8.9.88 services redesign */
.services-page{
  padding-top: 8px;
}
.services-intro-card{
  display:grid;
  gap:18px;
  padding:24px;
}
.services-intro-card h2{
  margin:0;
  font-size:clamp(32px,4vw,54px);
  line-height:1.02;
  letter-spacing:-0.04em;
}
.services-intro-card p{
  margin:0;
  color:var(--text-2);
  line-height:1.7;
}
.services-pills,
.service-points{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.services-pills span,
.service-points span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid var(--border);
  background:#fff;
  font-size:14px;
  line-height:1.2;
}
.services-inline-cta{
  padding-top:8px;
  color:var(--text);
  font-weight:600;
}
.services-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  margin-top:22px;
}
.service-card{
  display:grid;
  gap:16px;
  padding:24px;
}
.service-card h3{
  margin:0;
  font-size:clamp(28px,3vw,40px);
  line-height:1.05;
  letter-spacing:-0.04em;
}
.service-card p{
  margin:0;
  color:var(--text-2);
  line-height:1.7;
}
.service-card-wide{
  grid-column:1 / -1;
}
@media (max-width: 900px){
  .services-grid{
    grid-template-columns:1fr;
  }
  .service-card-wide{
    grid-column:auto;
  }
}

.apex-images img{width:100%;border-radius:16px;margin-bottom:20px;}
.apex-ru{display:none;}
html[lang="ru"] .apex-en{display:none;}
html[lang="ru"] .apex-ru{display:block;}



/* v8.9.94 apex image resize */
@media (min-width: 769px){
  .apex-images img{
    width:50%;
    margin-left:auto;
    margin-right:auto;
    display:block;
  }
}


/* v8.9.95 align blog buttons */
.blog-article-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}


/* v9.0.02 apex language switch */
.apex-images{
  margin:20px 0;
}
.apex-images img{
  width:100%;
  border-radius:16px;
  border:1px solid var(--border);
  margin-bottom:20px;
}
.apex-ru{
  display:none !important;
}
html[lang="ru"] .apex-en{
  display:none !important;
}
html[lang="ru"] .apex-ru{
  display:block !important;
}


/* v9.0.04 apex resize scoped */
@media (min-width: 769px){
  .blog-apex-page .apex-images img{
    width:50% !important;
    margin-left:auto;
    margin-right:auto;
    display:block;
  }
}
}


/* v9.0.05 blog card alignment */
.blog-grid{
  align-items:stretch;
}
.blog-card{
  display:flex;
  flex-direction:column;
  height:100%;
}
.blog-card-image,
.blog-card .apex-images{
  height:340px;
  flex:0 0 340px;
  display:block;
  overflow:hidden;
  border-bottom:1px solid var(--border);
}
.blog-card-image img,
.blog-card .apex-images img{
  width:100%;
  height:100%;
  object-fit:cover;
  margin:0 !important;
  border-radius:0 !important;
  border:0 !important;
}
.blog-card .apex-images .apex-ru{
  display:none !important;
}
.blog-card-body{
  display:grid;
  grid-template-rows:auto auto 1fr auto;
  gap:14px;
  height:100%;
}
.blog-card-title,
.blog-card h2{
  min-height:2.2em;
}
.blog-card-date{
  min-height:1.4em;
}
@media (max-width: 980px){
  .blog-card-image,
  .blog-card .apex-images{
    height:auto;
    flex:0 0 auto;
  }
}


/* v9.0.06 strict blog card structure */
@media (min-width: 981px){
  .blog-grid{
    align-items:stretch !important;
  }

  .blog-card{
    display:grid !important;
    grid-template-rows:340px 1fr !important;
    height:100% !important;
  }

  .blog-card > img,
  .blog-card > .apex-images{
    width:100% !important;
    height:340px !important;
    min-height:340px !important;
    max-height:340px !important;
    margin:0 !important;
    overflow:hidden !important;
    border-bottom:1px solid var(--border) !important;
    background:#fff !important;
  }

  .blog-card > img{
    object-fit:cover !important;
    display:block !important;
  }

  .blog-card > .apex-images{
    display:block !important;
  }

  .blog-card > .apex-images img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    display:block !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:#fff !important;
  }

  .blog-card-body{
    display:grid !important;
    grid-template-rows:24px 3.4em 9.9em auto !important;
    gap:14px !important;
    align-content:start !important;
    height:100% !important;
  }

  .blog-card-date{
    min-height:24px !important;
    max-height:24px !important;
    line-height:24px !important;
    overflow:hidden !important;
    white-space:nowrap !important;
  }

  .blog-card h2{
    margin:0 !important;
    min-height:3.4em !important;
    max-height:3.4em !important;
    overflow:hidden !important;
    display:-webkit-box !important;
    -webkit-line-clamp:3 !important;
    -webkit-box-orient:vertical !important;
  }

  .blog-card p{
    margin:0 !important;
    min-height:9.9em !important;
    max-height:9.9em !important;
    overflow:hidden !important;
    display:-webkit-box !important;
    -webkit-line-clamp:6 !important;
    -webkit-box-orient:vertical !important;
  }

  .blog-read-more{
    margin-top:0 !important;
    align-self:start !important;
  }
}


/* v9.0.07 fix blog card title/description overlap */
@media (min-width: 981px){
  .blog-card-body{
    grid-template-rows:24px 170px 170px auto !important;
  }

  .blog-card h2{
    display:block !important;
    height:170px !important;
    min-height:170px !important;
    max-height:170px !important;
    overflow:hidden !important;
    line-height:1.08 !important;
    margin:0 !important;
  }

  .blog-card p{
    display:block !important;
    height:170px !important;
    min-height:170px !important;
    max-height:170px !important;
    overflow:hidden !important;
    line-height:1.6 !important;
    margin:0 !important;
  }
}


/* v9.0.08 tighten blog card spacing */
@media (min-width: 981px){
  .blog-card-body{
    gap:8px !important;
    grid-template-rows:24px 170px 130px auto !important;
  }

  .blog-card h2{
    height:170px !important;
    min-height:170px !important;
    max-height:170px !important;
    margin:0 !important;
  }

  .blog-card p{
    height:130px !important;
    min-height:130px !important;
    max-height:130px !important;
    margin:0 !important;
  }

  .blog-read-more{
    margin-top:0 !important;
  }
}


/* v9.0.15 blog clickable titles/images + tighter title-description spacing */
.blog-card-image-link,
.blog-card-title-link{
  display:block;
  color:inherit;
  text-decoration:none;
}
.blog-card-title-link h2{
  color:inherit;
}
.blog-card-body{
  gap:8px;
}
.blog-card-title-link + p{
  margin-top:0;
}


/* v9.0.16 fix blog card image row + RU apex visibility */
@media (min-width: 981px){
  .blog-card{
    display:grid !important;
    grid-template-rows:340px 1fr !important;
    align-content:start !important;
  }

  .blog-card > .blog-card-image-link{
    display:block !important;
    width:100% !important;
    height:340px !important;
    min-height:340px !important;
    max-height:340px !important;
    overflow:hidden !important;
    border-bottom:1px solid var(--border) !important;
    background:#fff !important;
  }

  .blog-card > .blog-card-image-link > img,
  .blog-card > .blog-card-image-link > .apex-images{
    width:100% !important;
    height:100% !important;
    display:block !important;
    margin:0 !important;
  }

  .blog-card > .blog-card-image-link > img{
    object-fit:cover !important;
  }

  .blog-card > .blog-card-image-link > .apex-images{
    overflow:hidden !important;
    background:#fff !important;
    margin:0 !important;
  }

  .blog-card > .blog-card-image-link > .apex-images img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    display:block !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:#fff !important;
  }

  .blog-card-body{
    gap:4px !important;
    grid-template-rows:24px 170px 130px auto !important;
    padding-top:14px !important;
  }
}

/* keep only the correct apex image visible in blog card by language */
.blog-card .apex-ru{
  display:none !important;
}
html[lang="ru"] .blog-card .apex-en{
  display:none !important;
}
html[lang="ru"] .blog-card .apex-ru{
  display:block !important;
}


/* v9.0.17 footer brand + dynamic year */
.footer-note{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  font-size:16px;
}
.footer-brand{
  font-weight:800;
  font-size:inherit;
  line-height:1;
}
.footer-year-range{
  font-size:inherit;
  line-height:1;
}
.footer-pills a,
.footer-note{
  font-size:16px;
}


/* v9.0.18 footer html fix */
.footer-note{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  font-size:16px;
}
.footer-brand{
  font-weight:800;
  font-size:inherit;
  line-height:1;
}
.footer-year-range{
  font-size:inherit;
  line-height:1;
}
.footer-pills a,
.footer-note{
  font-size:16px;
}


/* v9.0.20 mobile footer center */
@media (max-width: 768px){
  .footer-inner{
    flex-direction:column;
    align-items:center !important;
    text-align:center;
    gap:12px;
  }

  .footer-note{
    justify-content:center;
    text-align:center;
  }

  .footer-pills{
    justify-content:center !important;
    flex-wrap:wrap;
    gap:10px;
  }
}


/* v9.0.24 reduce desktop blog card title air */
@media (min-width: 981px){
  .blog-card-body{
    grid-template-rows:24px auto 130px auto !important;
    gap:4px !important;
  }

  .blog-card h2,
  .blog-card-title-link,
  .blog-card-title-link h2{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }

  .blog-card-title-link{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
  }

  .blog-card h2{
    margin:0 !important;
    line-height:1.08 !important;
    display:block !important;
    overflow:visible !important;
  }

  .blog-card p{
    margin-top:0 !important;
  }
}


/* v9.0.25 fixed title height for blog cards */
@media (min-width: 981px){
  .blog-card h2{
    height:110px !important;
    min-height:110px !important;
    max-height:110px !important;
    overflow:hidden;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
  }
}


/* v9.0.27 site banner */
.site-banner-open{
  overflow:hidden;
}
.site-banner-overlay{
  position:fixed;
  inset:0;
  z-index:5000;
  background:rgba(10,10,10,.62);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.site-banner-modal{
  position:relative;
  width:min(92vw, 980px);
  max-height:min(88vh, 1100px);
  background:#fff;
  border:1px solid var(--border);
  border-radius:28px;
  box-shadow:0 24px 90px rgba(0,0,0,.28);
  overflow:hidden;
}
.site-banner-image{
  display:block;
  width:100%;
  height:auto;
  max-height:min(88vh, 1100px);
  object-fit:contain;
  background:#fff;
}
.site-banner-close{
  position:absolute;
  top:14px;
  right:14px;
  width:48px;
  height:48px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
  background:rgba(255,255,255,.94);
  color:#111;
  font-size:30px;
  line-height:1;
  cursor:pointer;
  z-index:2;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}
.site-banner-close:hover{
  background:#fff;
}
@media (max-width: 768px){
  .site-banner-overlay{ padding:14px; }
  .site-banner-modal{
    width:min(96vw, 560px);
    border-radius:22px;
    max-height:88vh;
  }
  .site-banner-close{
    top:10px;
    right:10px;
    width:42px;
    height:42px;
    font-size:28px;
  }
}


/* v9.0.28 blog article nav */
.blog-article-actions{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.blog-article-actions .btn{
  justify-content:center;
}
.blog-article-nav-btn{
  min-width:140px;
  max-width:170px;
  min-height:54px;
  padding:10px 14px;
  line-height:1.15;
}
.blog-article-nav-label{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  font-size:13px;
  font-weight:700;
  text-align:center;
}
@media (max-width: 768px){
  .blog-article-actions{
    gap:10px;
  }
  .blog-article-nav-btn{
    min-width:128px;
    max-width:160px;
    min-height:52px;
    padding:8px 12px;
  }
  .blog-article-nav-label{
    font-size:12px;
  }
}


/* v9.0.30 article nav left-center-right */
.blog-article-actions{
  display:grid !important;
  grid-template-columns:1fr auto 1fr !important;
  align-items:center !important;
  gap:16px !important;
}
.blog-article-nav-side{
  display:flex;
  min-width:0;
}
.blog-article-nav-side-left{
  justify-content:flex-start;
}
.blog-article-nav-side-right{
  justify-content:flex-end;
}
.blog-article-nav-center{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.blog-article-nav-btn{
  min-width:250px;
  max-width:250px;
  min-height:54px;
  padding:10px 14px;
  line-height:1.1;
  white-space:normal;
  text-align:center;
}
.blog-article-nav-prefix{
  font-weight:800;
}
.blog-article-nav-title{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  font-size:13px;
  font-weight:700;
  text-align:center;
}
@media (max-width: 768px){
  .blog-article-actions{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .blog-article-nav-side,
  .blog-article-nav-side-left,
  .blog-article-nav-side-right,
  .blog-article-nav-center{
    justify-content:center !important;
  }
  .blog-article-nav-btn{
    min-width:250px;
    max-width:250px;
    min-height:52px;
    padding:8px 12px;
  }
  .blog-article-nav-title{
    font-size:12px;
  }
}


/* v9.0.32 center article title inside nav buttons */
.blog-article-nav-btn{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}

.blog-article-nav-prefix{
  margin-bottom:2px;
}

.blog-article-nav-title{
  display:flex !important;
  align-items:center;
  justify-content:center;
  text-align:center;
  height:100%;
}


/* v9.0.33 smooth hover for article nav buttons */
.blog-article-nav-btn{
  transition: all 0.25s ease;
  transform: translateY(0);
}

.blog-article-nav-btn:hover{
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.15);
}

.blog-article-nav-btn:hover .gradient-text{
  filter: brightness(1.2);
}

.blog-article-nav-btn:active{
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(0,0,0,0.12);
}


/* v9.0.34 fix nav button text layout */
.blog-article-nav-btn{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}

.blog-article-nav-prefix{
  display:flex;
  align-items:center;
  justify-content:center;
  height:20px;
  margin-bottom:4px;
}

.blog-article-nav-title{
  display:flex !important;
  align-items:center;
  justify-content:center;
  text-align:center;
  flex-direction:column;
  line-height:1.2;
}


/* v9.0.35 fix nav button layout left/right */
.blog-article-nav-btn{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.blog-article-nav-prefix{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  text-align:center;
}

.blog-article-nav-title{
  display:flex !important;
  align-items:center;
  justify-content:center;
  text-align:center;
  flex:1;
  line-height:1.2;
}


/* v9.0.36 article nav arrows */
.blog-article-nav-prefix-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  flex:0 0 auto;
  text-align:center;
}
.blog-article-nav-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  line-height:1;
  font-weight:700;
  color:var(--text);
  transition:transform .25s ease;
}
.blog-article-nav-btn-prev:hover .blog-article-nav-arrow{
  transform:translateX(-3px);
}
.blog-article-nav-btn-next:hover .blog-article-nav-arrow{
  transform:translateX(3px);
}


/* v9.0.37 services premium rebuild */
.services-hero-copy-secondary{
  opacity:.86;
}
.services-page-premium{
  padding-top:10px;
}
.services-grid-premium{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.service-card-premium{
  display:grid;
  gap:18px;
  padding:24px;
}
.service-card-premium h2{
  margin:0;
  font-size:clamp(30px,3vw,42px);
  line-height:1.04;
  letter-spacing:-.04em;
}
.service-card-premium p{
  margin:0;
  color:var(--text-2);
  line-height:1.7;
}
.service-card-difference,
.service-card-maintenance{
  grid-column:1 / -1;
}
.service-card-maintenance .services-inline-cta{
  padding-top:6px;
  font-weight:600;
}
@media (max-width: 1100px){
  .services-grid-premium{
    grid-template-columns:1fr;
  }
  .service-card-difference,
  .service-card-maintenance{
    grid-column:auto;
  }
}


/* v9.0.38 equal bubbles */
.service-points{
  display:grid !important;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
.service-points span{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:44px;
  padding:8px 10px;
}


/* v9.0.39 services SEO landing structure */
.services-hero-copy-secondary .gradient-text,
.services-hero-copy-secondary{
  display:block;
}
.service-points-equal{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.service-points-equal span,
.service-points-wide span{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:48px;
  padding:10px 12px;
}
.service-points-wide{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.service-card-locations{
  gap:18px;
}
.landing-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.btn-landing{
  min-height:52px;
  text-align:center;
}
.seo-hidden{
  position:absolute;
  left:-9999px;
  opacity:0;
  pointer-events:none;
}
@media (max-width: 900px){
  .service-points-wide{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .landing-links{
    grid-template-columns:1fr;
  }
}
@media (max-width: 640px){
  .service-points-equal,
  .service-points-wide{
    grid-template-columns:1fr;
  }
}


/* v9.0.40 internal seo links */
.seo-links-card{
  display:grid;
  gap:16px;
  padding:24px;
}
.seo-links-card h2{
  margin:0;
  font-size:clamp(28px,3vw,40px);
  line-height:1.06;
  letter-spacing:-.03em;
}
.seo-links-card p{
  margin:0;
  color:var(--text-2);
  line-height:1.7;
}


/* v9.0.41 inline booking bubble */
.services-inline-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  text-align:center;
}
.btn-inline-book{
  min-height:40px;
  padding:8px 16px;
  font-size:14px;
  font-weight:800;
  box-shadow:var(--shadow);
}


/* v9.0.42 animated gradient for btn-brand */
@keyframes snbGradientShift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

.btn-brand{
  background-size: 200% 200%;
  animation: snbGradientShift 6s linear infinite;
}

/* respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .btn-brand{
    animation: none;
  }
}


/* v9.0.43 salon premium rebuild */
.salon-page-premium{
  padding-top:10px;
}
.salon-grid-premium{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
@media (max-width:1100px){
  .salon-grid-premium{
    grid-template-columns:1fr;
  }
}

/* v10.1.0 conversion / product layer */
body.has-sticky-conversion-bar{padding-bottom:0;transition:none}
body.has-sticky-conversion-bar.sticky-conversion-bar-visible{padding-bottom:120px}

.sticky-conversion-bar{
  position:fixed;
  left:50%;
  bottom:18px;
  transform-origin:center bottom;
  transform:translate(-50%, calc(100% + 28px)) scale(.985);
  width:min(1080px, calc(100% - 24px));
  z-index:1090;
  opacity:0;
  filter:blur(10px);
  visibility:hidden;
  pointer-events:none;
  will-change:transform, opacity, filter;
  transition:
    transform .42s cubic-bezier(.22,1,.36,1),
    opacity .38s ease,
    filter .42s ease,
    visibility 0s linear .42s;
}
.sticky-conversion-bar.is-visible{
  transform:translate(-50%, 0) scale(1);
  opacity:1;
  filter:blur(0);
  visibility:visible;
  pointer-events:auto;
  transition:
    transform .46s cubic-bezier(.22,1,.36,1),
    opacity .38s ease,
    filter .46s ease,
    visibility 0s linear 0s;
}
.sticky-conversion-bar__eyebrow,
.sticky-conversion-bar__content{
  transform:translateY(10px);
  opacity:0;
  transition:
    transform .42s cubic-bezier(.22,1,.36,1),
    opacity .34s ease;
}
.sticky-conversion-bar.is-visible .sticky-conversion-bar__eyebrow,
.sticky-conversion-bar.is-visible .sticky-conversion-bar__content{
  transform:translateY(0);
  opacity:1;
}
.sticky-conversion-bar.is-visible .sticky-conversion-bar__eyebrow{transition-delay:.03s}
.sticky-conversion-bar.is-visible .sticky-conversion-bar__content{transition-delay:.06s}
.sticky-conversion-bar__eyebrow{
  display:inline-flex;
  margin:0 0 8px 14px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(233,223,228,.95);
  box-shadow:var(--shadow);
  font-size:12px;
  font-weight:700;
  color:var(--text-2);
}
.sticky-conversion-bar__content{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 18px 18px 20px;
  border-radius:28px;
  border:1px solid rgba(233,223,228,.95);
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(16px);
  box-shadow:0 22px 56px rgba(18,18,22,.12);
}
.sticky-conversion-bar__text{display:grid;gap:6px;min-width:0}
.sticky-conversion-bar__title{font-size:18px;line-height:1.2;letter-spacing:-.02em}
.sticky-conversion-bar__copy{font-size:14px;color:var(--text-2);line-height:1.45}
.sticky-conversion-bar__actions{display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap}
.sticky-conversion-bar__actions .btn{min-height:50px;padding:12px 20px}

.related-articles__head,
.internal-link-engine__head{
  max-width:780px;
  margin:0 auto 18px;
  text-align:center;
}
.related-articles__eyebrow,
.internal-link-engine__eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 14px;
  margin-bottom:12px;
  border-radius:999px;
  background:var(--bg-alt);
  border:1px solid var(--border);
  color:var(--text-2);
  font-size:12px;
  font-weight:700;
}
.related-articles__subtitle,
.internal-link-engine__subtitle{
  margin:0;
  color:var(--text-2);
  font-size:16px;
  line-height:1.55;
}
.related-articles__grid,
.internal-link-engine__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
}
.related-articles__grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
.related-articles__card,
.internal-link-engine__card{
  min-height:100%;
  display:flex;
  flex-direction:column;
}
.related-articles__card{
  background:linear-gradient(180deg,#fff 0%, #fdfbfd 100%);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.related-articles__card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 42px rgba(18,18,22,.10);
  border-color:rgba(233,223,228,1);
}
.related-articles__image-link{
  display:block;
  position:relative;
  width:100%;
  height:220px;
  min-height:220px;
  border-radius:22px;
  overflow:hidden;
  margin-bottom:16px;
  background:linear-gradient(180deg,#fff 0%, #f7eef3 100%);
  border:1px solid rgba(233,223,228,.95);
  isolation:isolate;
}
.related-articles__image-link::after{
  content:'';
  position:absolute;
  inset:auto 0 0;
  height:56%;
  background:linear-gradient(180deg, rgba(17,17,17,0) 0%, rgba(17,17,17,.12) 100%);
  z-index:1;
  pointer-events:none;
}
.related-articles__image-link:focus-visible,
.related-articles__title-link:focus-visible{outline:2px solid var(--accent-2);outline-offset:4px}
.related-articles__image{
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  background:linear-gradient(180deg,#fff 0%, #f7eef3 100%);
  transition:transform .25s ease, filter .25s ease;
}
.related-articles__card:hover .related-articles__image{transform:scale(1.02);filter:saturate(1.03)}
.related-articles__card-body{
  display:flex;
  flex:1 1 auto;
  min-height:0;
  flex-direction:column;
  gap:12px;
}
.related-articles__badge,
.internal-link-engine__badge{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  min-height:30px;
  padding:6px 12px;
  border-radius:999px;
  background:var(--bg-alt);
  border:1px solid rgba(233,223,228,.95);
  color:var(--text-2);
  font-size:12px;
  font-weight:700;
  letter-spacing:.01em;
}
.related-articles__card p{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.related-articles__link{
  min-height:48px;
}
.internal-link-engine__card{
  gap:12px;
}
.internal-link-engine__link{
  min-height:48px;
}
.internal-link-engine__card p{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.related-articles__card h3,
.internal-link-engine__card h3{font-size:24px}
.related-articles__title-link{color:inherit;text-decoration:none}
.related-articles__title-link:hover{text-decoration:underline}
.related-articles__card p,
.internal-link-engine__card p{margin:0;color:var(--text-2)}
.related-articles__link,
.internal-link-engine__link{margin-top:auto;align-self:flex-start}
.internal-link-engine{
  padding-top:10px;
}
.internal-link-engine__card{
  background:
    radial-gradient(circle at top right, rgba(240,1,255,.05), transparent 28%),
    linear-gradient(180deg,#fff 0%, #fcfaf9 100%);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.internal-link-engine__card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 42px rgba(18,18,22,.08);
  border-color:rgba(233,223,228,1);
}

@media (max-width: 960px){
  .sticky-conversion-bar__content{flex-direction:column;align-items:stretch}
  .sticky-conversion-bar__actions{width:100%}
  .sticky-conversion-bar__actions .btn{flex:1}
  .internal-link-engine__grid,
  .related-articles__grid{grid-template-columns:1fr}
  .related-articles__image-link{height:240px;min-height:240px}
}

@media (max-width: 640px){
  body.has-sticky-conversion-bar{padding-bottom:0}
  body.has-sticky-conversion-bar.sticky-conversion-bar-visible{padding-bottom:148px}
  .sticky-conversion-bar{width:calc(100% - 14px);bottom:10px}
  .sticky-conversion-bar__eyebrow{margin-left:8px}
  .sticky-conversion-bar__content{padding:14px 14px 16px;border-radius:24px;gap:12px}
  .sticky-conversion-bar__title{font-size:16px}
  .sticky-conversion-bar__copy{font-size:13px}
  .sticky-conversion-bar__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .sticky-conversion-bar__actions .btn{min-height:48px;padding:10px 14px;font-size:14px}
  .related-articles__card h3,
  .internal-link-engine__card h3{font-size:22px}
}


/* v10.1.1.1 footer compact UI pass */
.footer{
  margin-top: 18px;
  padding: 14px 0 18px;
  border-top: 1px solid rgba(233,223,228,.95);
}

.footer-inner{
  gap: 12px;
}

.footer-note{
  font-size: 13px;
}

.footer-pills{
  gap: 8px;
}

.footer-pills a{
  min-height: 34px;
  padding: 8px 14px;
  font-size: 13px;
  box-shadow: none;
}

@media (max-width: 768px){
  .footer{
    margin-top: 16px;
    padding: 12px 0 16px;
  }

  .footer-inner{
    gap: 10px;
  }

  .footer-pills{
    gap: 8px;
  }

  .footer-pills a{
    min-height: 32px;
    padding: 7px 12px;
    font-size: 12px;
  }
}


/* v10.2.2 local SEO cluster links */
.service-area-clusters{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.service-area-cluster-group{
  display:grid;
  gap:12px;
}
.service-area-cluster-group h3{
  margin:0;
  font-size:0.95rem;
  letter-spacing:0.02em;
}
.service-area-chip-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.service-area-chip-list a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,0.08);
  background:rgba(255,255,255,0.92);
  color:var(--ink);
  text-decoration:none;
  font-size:0.92rem;
  line-height:1.2;
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.service-area-chip-list a:hover,
.service-area-chip-list a:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(250,23,104,0.26);
  box-shadow:0 10px 24px rgba(15,23,42,0.08);
}
@media (max-width: 900px){
  .service-area-clusters{
    grid-template-columns:1fr;
  }
}


/* v10.2.5.6 services work showcase 6-photo desktop wall + right video */
.service-card-workshow{
  grid-column:1 / -1;
  gap:16px;
  text-align:left;
  justify-content:flex-start;
  align-content:start;
  overflow:visible;
  isolation:isolate;
}
.service-card-workshow-copy{
  width:100%;
  max-width:none;
}
.service-card-difference{
  position:relative;
  z-index:1;
}

.work-showcase-grid{
  width:100%;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-auto-rows:104px;
  grid-auto-flow:dense;
  gap:12px;
  align-items:stretch;
}
.work-showcase-grid.work-showcase-grid--desktop{
  width:100%;
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-auto-rows:124px;
}
.work-showcase-tile{
  position:relative;
  margin:0;
  min-height:0;
  overflow:hidden;
  border-radius:26px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(17,17,17,.06);
  box-shadow:0 18px 45px rgba(18,20,29,.07);
  isolation:isolate;
}
.work-showcase-tile .work-showcase-media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(.9) contrast(.98) brightness(.98);
  transform:scale(1.01);
  transition:
    opacity .76s steps(24,end),
    filter .76s ease,
    transform .76s ease;
  background:#f7f4ef;
  backface-visibility:hidden;
  will-change:opacity, filter, transform;
}
.work-showcase-tile::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 48%, rgba(16,18,28,.14) 100%);
  pointer-events:none;
}
.work-showcase-tile:hover .work-showcase-media{
  filter:saturate(.97) contrast(1) brightness(1);
  transform:scale(1.02);
}
.work-showcase-tile figcaption{
  position:absolute;
  left:12px;
  bottom:12px;
  z-index:2;
}
.work-showcase-badge{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.55);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  color:#151821;
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.work-showcase-tile.work-showcase-tile-interactive{cursor:zoom-in;}
.work-showcase-tile.is-entering .work-showcase-media{
  opacity:0;
}
.work-showcase-tile .work-showcase-media--next{
  opacity:0;
}
.work-showcase-tile .work-showcase-media--next.is-swap-in{
  opacity:1;
}
.work-showcase-tile .work-showcase-media--current.is-swap-out{
  opacity:0;
}
.work-showcase-grid--desktop .work-showcase-slot-1{grid-column:1 / span 2;grid-row:1 / span 2;}
.work-showcase-grid--desktop .work-showcase-slot-2{grid-column:3 / span 1;grid-row:1 / span 2;}
.work-showcase-grid--desktop .work-showcase-slot-3{grid-column:4 / span 1;grid-row:1 / span 2;}
.work-showcase-grid--desktop .work-showcase-slot-4{grid-column:1 / span 2;grid-row:3 / span 1;}
.work-showcase-grid--desktop .work-showcase-slot-5{grid-column:3 / span 2;grid-row:3 / span 2;}
.work-showcase-grid--desktop .work-showcase-slot-6{grid-column:1 / span 2;grid-row:4 / span 1;}
.work-showcase-grid--desktop .work-showcase-slot-7{grid-column:5 / span 2;grid-row:1 / span 4;}
@media (max-width: 1200px){
  .work-showcase-grid,
  .work-showcase-grid.work-showcase-grid--desktop{
    grid-auto-rows:112px;
  }
}
@media (max-width: 900px){
  .service-card-workshow{margin-bottom:0;}
  .work-showcase-grid,
  .work-showcase-grid.work-showcase-grid--desktop{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:auto;
    gap:12px;
  }
  .work-showcase-tile .work-showcase-media{
    transition:
      opacity .76s ease,
      filter .76s ease,
      transform .76s ease;
  }
  .work-showcase-tile,
  .work-showcase-grid--desktop .work-showcase-slot-1,
  .work-showcase-grid--desktop .work-showcase-slot-2,
  .work-showcase-grid--desktop .work-showcase-slot-3,
  .work-showcase-grid--desktop .work-showcase-slot-4,
  .work-showcase-grid--desktop .work-showcase-slot-5,
  .work-showcase-grid--desktop .work-showcase-slot-6,
  .work-showcase-grid--desktop .work-showcase-slot-7,
  .work-showcase-grid--desktop .work-showcase-slot-8{
    grid-column:auto;
    grid-row:auto;
    aspect-ratio:4 / 5;
  }
}
@media (max-width: 760px){
  .work-showcase-tile{border-radius:22px;}
}

.work-showcase-modal{
  position:fixed;
  inset:0;
  z-index:2005;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px 24px;
  opacity:0;
  visibility:hidden;
  overflow:auto;
  transition:opacity .24s ease, visibility .24s ease;
}
.work-showcase-modal.is-open{
  opacity:1;
  visibility:visible;
}
.work-showcase-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(10,12,20,.48);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.work-showcase-modal__dialog{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  width:min(82vw,920px);
  max-height:calc(100vh - 64px);
  margin:auto;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(17,17,17,.08);
  border-radius:28px;
  box-shadow:0 30px 80px rgba(17,20,33,.22);
  overflow:hidden;
}
.work-showcase-modal__media{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:0;
  padding:22px 22px 0;
  overflow:hidden;
  background:#f6f3ee;
}
.work-showcase-modal__media img,
.work-showcase-modal__media video{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:min(60vh, calc(100vh - 280px));
  object-fit:contain;
  margin:0 auto;
  background:#f6f3ee;
}
.work-showcase-modal__close{
  position:absolute;
  top:14px;
  right:14px;
  z-index:2;
  width:42px;
  height:42px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  color:#10141d;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(17,20,33,.16);
}
@media (max-width: 760px){
  .work-showcase-modal{
    padding:18px 14px;
  }
  .work-showcase-modal__dialog{
    width:min(100%, 640px);
    max-height:calc(100vh - 36px);
    border-radius:24px;
  }
  .work-showcase-modal__media{
    padding:18px 18px 0;
  }
  .work-showcase-modal__media img,
  .work-showcase-modal__media video{
    max-height:calc(100vh - 250px);
  }
}
body.work-showcase-modal-open{
  overflow:hidden;
}


.work-showcase-modal__content{
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  gap:0;
  max-height:calc(100vh - 64px);
  min-height:0;
}
.work-showcase-modal__copy{
  display:grid;
  gap:10px;
  flex:0 0 auto;
  max-height:min(28vh,260px);
  overflow:auto;
  padding:18px 20px 22px;
  background:rgba(255,255,255,.94);
}
.work-showcase-modal__eyebrow{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(250,23,104,.08);
  color:#c2185b;
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.work-showcase-modal__title{
  margin:0;
  color:#151821;
  font-size:22px;
  line-height:1.2;
}
.work-showcase-modal__description{
  margin:0;
  color:#454b57;
  font-size:14px;
  line-height:1.6;
}
@media (max-width: 760px){
  .work-showcase-modal__content{
    max-height:calc(100vh - 36px);
  }
  .work-showcase-modal__copy{
    max-height:min(34vh,240px);
    padding:16px 16px 20px;
  }
  .work-showcase-modal__title{
    font-size:18px;
  }
  .work-showcase-modal__description{
    font-size:13px;
    line-height:1.55;
  }
}


/* v10.2.5.17 targeted blog/services/careers refinement */
.careers-pills{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px;
  margin-top:18px;
}
.careers-pills span{
  width:100%;
  min-height:48px;
  padding:10px 14px;
  text-align:center;
}
.service-area-cluster-group{
  display:grid;
  gap:12px;
  padding:16px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:24px;
  background:rgba(255,255,255,0.58);
}
.service-area-cluster-group h3{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  min-height:40px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,0.9);
  border:1px solid rgba(0,0,0,0.08);
  box-shadow:0 10px 24px rgba(15,23,42,0.05);
}
.service-area-chip-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:14px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:20px;
  background:rgba(255,255,255,0.35);
}
.service-card-maintenance p a{
  color:var(--accent-2);
  font-weight:700;
  text-decoration:none;
}
.service-card-maintenance p a:hover,
.service-card-maintenance p a:focus-visible{
  text-decoration:underline;
}
@media (max-width:768px){
  .careers-pills{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:520px){
  .careers-pills{
    grid-template-columns:1fr;
  }
}


/* Mobile language switch click-stability hotfix */
.header-actions,
.lang-switch{
  position:relative;
  z-index:1020;
}
.lang-switch button{
  touch-action:manipulation;
}

/* mobile services work showcase visibility hotfix */
@media (max-width: 900px){
  .service-card-workshow .work-showcase-grid:not(.work-showcase-grid--desktop){
    display:grid !important;
    width:100% !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-auto-rows:clamp(136px, 44vw, 210px) !important;
    gap:12px !important;
    align-items:stretch !important;
  }
  .service-card-workshow .work-showcase-grid:not(.work-showcase-grid--desktop) .work-showcase-tile{
    display:block !important;
    min-height:clamp(136px, 44vw, 210px) !important;
    aspect-ratio:auto !important;
    grid-column:auto !important;
    grid-row:auto !important;
  }
  .service-card-workshow .work-showcase-grid:not(.work-showcase-grid--desktop) .work-showcase-slot-1{grid-column:1;grid-row:1;}
  .service-card-workshow .work-showcase-grid:not(.work-showcase-grid--desktop) .work-showcase-slot-2{grid-column:2;grid-row:1;}
  .service-card-workshow .work-showcase-grid:not(.work-showcase-grid--desktop) .work-showcase-slot-3{grid-column:1;grid-row:2;}
  .service-card-workshow .work-showcase-grid:not(.work-showcase-grid--desktop) .work-showcase-slot-4{grid-column:2;grid-row:2;}
  .service-card-workshow .work-showcase-grid:not(.work-showcase-grid--desktop) .work-showcase-media{
    visibility:visible;
    transition:
      opacity 1.1s ease-in-out,
      filter 1.1s ease-in-out,
      transform 1.1s ease-in-out;
  }
  .service-card-workshow .work-showcase-grid:not(.work-showcase-grid--desktop) .work-showcase-media--next{
    opacity:0;
  }
  .service-card-workshow .work-showcase-grid:not(.work-showcase-grid--desktop) .work-showcase-media--next.is-swap-in{
    opacity:1;
  }
  .service-card-workshow .work-showcase-grid:not(.work-showcase-grid--desktop) .work-showcase-media--current.is-swap-out{
    opacity:0;
  }
}


/* v10.2.5.22 conversion clarity pass */
.booking-confidence-container{margin:-2px auto 18px;}
.booking-confidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.booking-confidence-card{padding:20px;min-height:100%;}
.booking-confidence-card h2{font-size:22px;}
.booking-confidence-card p{font-size:15px;margin-top:8px;}
.contact-contact-buttons{align-items:center;}
@media (max-width: 960px){
  .booking-confidence-grid{grid-template-columns:1fr;}
}
@media (max-width: 640px){
  .booking-confidence-container{margin:4px auto 14px;}
  .booking-confidence-card{padding:16px;}
  .booking-confidence-card h2{font-size:20px;}
  .booking-confidence-card p{font-size:14px;}
}

.not-found-section{padding-top:34px}
.not-found-hero{margin-bottom:16px}
.not-found-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width: 900px){.not-found-grid{grid-template-columns:1fr}}

/* v10.2.5.29 copy/button polish correction pass */
body[data-page="home"] .home-choice-grid{
  align-items:stretch;
}
body[data-page="home"] .home-choice-grid .choice-card{
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
body[data-page="home"] .home-choice-grid .choice-card > div:first-child{
  flex:1 1 auto;
}
body[data-page="home"] .home-choice-grid .choice-card > div:last-child{
  margin-top:auto;
  display:flex;
  align-items:flex-end;
  min-height:56px;
}
body[data-page="home"] .home-choice-grid .choice-card > div:last-child .btn{
  height:56px;
  min-height:56px;
  white-space:nowrap;
}
html[lang="ru"] body[data-page="home"] .hero-sub-home .line{
  display:block !important;
}
html[lang="ru"] body[data-page="home"] .hero-sub-home{
  max-width:980px;
}
.services-hero-title .services-ru-title,
.services-hero-title .services-title-line,
.service-title-split .service-title-line{
  display:block;
}
.services-hero-title .services-ru-title--mobile{
  display:none;
}
.services-hero-title .services-ru-title--desktop{
  display:block;
}
@media (max-width: 768px){
  body[data-page="home"] .home-choice-grid .choice-card > div:last-child{
    min-height:50px;
  }
  body[data-page="home"] .home-choice-grid .choice-card > div:last-child .btn{
    height:50px;
    min-height:50px;
    padding-left:10px;
    padding-right:10px;
    font-size:13px;
  }
  .services-hero-title .services-ru-title--desktop{
    display:none;
  }
  .services-hero-title .services-ru-title--mobile{
    display:block;
  }
}
@media (min-width: 961px){
  body[data-page="salon"] .internal-link-engine__head{
    max-width:980px;
  }
  body[data-page="salon"] .internal-link-engine__title{
    white-space:nowrap;
  }
  body[data-page="services"] .service-area-cluster-group h3{
    justify-self:start;
    align-self:start;
    width:fit-content;
    min-width:0;
  }
  body[data-page="services"] .services-hero-copy-secondary{
    max-width:none;
    white-space:nowrap;
  }
}


/* v10.2.5.30 precise correction for Home CTA spacing and RU line styling */
body[data-page="home"] .home-choice-grid .choice-card{
  justify-content:space-between !important;
}
body[data-page="home"] .home-choice-grid .choice-card > div:first-child{
  flex:0 0 auto !important;
}
body[data-page="home"] .home-choice-grid .choice-card > div:last-child{
  margin-top:24px !important;
  padding-top:0 !important;
  align-items:center !important;
  justify-content:center !important;
}
html[lang="ru"] body[data-page="home"] .hero-sub-home .line .gradient-phrase{
  display:inline-block;
}
@media (max-width: 768px){
  body[data-page="home"] .home-choice-grid .choice-card > div:last-child{
    margin-top:20px !important;
  }
}
@media (min-width: 769px){
  body[data-page="services"] .service-title-split .service-title-line:nth-child(2){
    white-space:nowrap;
    word-break:keep-all;
    overflow-wrap:normal;
  }
}


/* v10.2.5.31 precise Home card alignment + RU mobile hero + Services structure title split */
body[data-page="home"] .home-choice-grid{
  align-items:stretch;
}
body[data-page="home"] .home-choice-grid .choice-card:nth-child(1){
  min-height:260px;
  height:100%;
  display:grid;
  grid-template-rows:minmax(0,1fr) 56px;
  align-items:stretch;
  justify-content:initial !important;
}
body[data-page="home"] .home-choice-grid .choice-card:nth-child(2){
  min-height:260px;
  height:100%;
  display:grid;
  grid-template-rows:minmax(0,1fr) 56px;
  align-items:stretch;
  justify-content:initial !important;
}
body[data-page="home"] .home-choice-grid .choice-card:nth-child(1) > div:first-child{
  align-self:start;
  flex:initial !important;
}
body[data-page="home"] .home-choice-grid .choice-card:nth-child(2) > div:first-child{
  align-self:start;
  flex:initial !important;
}
body[data-page="home"] .home-choice-grid .choice-card:nth-child(1) > div:last-child{
  align-self:end;
  display:flex;
  align-items:center !important;
  justify-content:center !important;
  width:100%;
  min-height:56px;
  margin-top:0 !important;
  padding-top:0 !important;
}
body[data-page="home"] .home-choice-grid .choice-card:nth-child(2) > div:last-child{
  align-self:end;
  display:flex;
  align-items:center !important;
  justify-content:center !important;
  width:100%;
  min-height:56px;
  margin-top:0 !important;
  padding-top:0 !important;
}
body[data-page="home"] .home-choice-grid .choice-card:nth-child(1) > div:last-child .btn{
  height:56px;
  min-height:56px;
  white-space:nowrap;
}
body[data-page="home"] .home-choice-grid .choice-card:nth-child(2) > div:last-child .btn{
  height:56px;
  min-height:56px;
  white-space:nowrap;
}
html[lang="ru"] body[data-page="home"] .hero-sub-home .line{
  display:block !important;
  white-space:nowrap;
}
html[lang="ru"] body[data-page="home"] .hero-sub-home .line .gradient-phrase{
  display:inline-block;
}
html[lang="ru"] body[data-page="home"] .hero-sub-home{
  max-width:100%;
}
.service-title-structure-split .service-title-line{
  display:block;
}
@media (max-width: 768px){
  body[data-page="home"] .home-choice-grid .choice-card:nth-child(1){
    min-height:214px;
    grid-template-rows:minmax(0,1fr) 50px;
  }
  body[data-page="home"] .home-choice-grid .choice-card:nth-child(2){
    min-height:214px;
    grid-template-rows:minmax(0,1fr) 50px;
  }
  body[data-page="home"] .home-choice-grid .choice-card:nth-child(1) > div:last-child,
  body[data-page="home"] .home-choice-grid .choice-card:nth-child(2) > div:last-child{
    min-height:50px;
  }
  body[data-page="home"] .home-choice-grid .choice-card:nth-child(1) > div:last-child .btn,
  body[data-page="home"] .home-choice-grid .choice-card:nth-child(2) > div:last-child .btn{
    height:50px;
    min-height:50px;
    padding-left:10px;
    padding-right:10px;
    font-size:13px;
  }
  html[lang="ru"] body[data-page="home"] .hero-sub-home{
    font-size:clamp(19px, 5.55vw, 25px);
    line-height:1.16;
    max-width:100%;
  }
}
@media (max-width: 360px){
  html[lang="ru"] body[data-page="home"] .hero-sub-home{
    font-size:18px;
  }
}

/* v10.2.5.32 final Home card/button alignment + mobile hero language fixes */
body[data-page="home"] .home-choice-grid{
  align-items:stretch !important;
  grid-auto-rows:1fr;
}
body[data-page="home"] .home-choice-grid .choice-card:nth-child(1),
body[data-page="home"] .home-choice-grid .choice-card:nth-child(2){
  position:relative;
  box-sizing:border-box;
  min-height:278px !important;
  height:278px !important;
  display:block !important;
  padding-bottom:104px !important;
}
body[data-page="home"] .home-choice-grid .choice-card:nth-child(1) > div:first-child,
body[data-page="home"] .home-choice-grid .choice-card:nth-child(2) > div:first-child{
  display:block !important;
}
body[data-page="home"] .home-choice-grid .choice-card:nth-child(1) > div:last-child,
body[data-page="home"] .home-choice-grid .choice-card:nth-child(2) > div:last-child{
  position:absolute !important;
  left:24px !important;
  right:24px !important;
  bottom:24px !important;
  height:56px !important;
  min-height:56px !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
body[data-page="home"] .home-choice-grid .choice-card:nth-child(1) > div:last-child .btn,
body[data-page="home"] .home-choice-grid .choice-card:nth-child(2) > div:last-child .btn{
  height:56px !important;
  min-height:56px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  white-space:nowrap !important;
}
@media (max-width: 768px){
  body[data-page="home"] .home-choice-grid .choice-card:nth-child(1),
  body[data-page="home"] .home-choice-grid .choice-card:nth-child(2){
    min-height:232px !important;
    height:232px !important;
    padding-bottom:88px !important;
  }
  body[data-page="home"] .home-choice-grid .choice-card:nth-child(1) > div:last-child,
  body[data-page="home"] .home-choice-grid .choice-card:nth-child(2) > div:last-child{
    left:18px !important;
    right:18px !important;
    bottom:18px !important;
    height:50px !important;
    min-height:50px !important;
  }
  body[data-page="home"] .home-choice-grid .choice-card:nth-child(1) > div:last-child .btn,
  body[data-page="home"] .home-choice-grid .choice-card:nth-child(2) > div:last-child .btn{
    height:50px !important;
    min-height:50px !important;
    padding-left:10px !important;
    padding-right:10px !important;
    font-size:13px !important;
  }
  body[data-page="home"] .hero-sub-home{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }
  body[data-page="home"] .hero-sub-home .line{
    display:block !important;
    text-align:center !important;
  }
  html[lang="en"] body[data-page="home"] .hero-sub-home{
    font-size:clamp(22px, 6.2vw, 26px) !important;
    line-height:1.14 !important;
  }
  html[lang="en"] body[data-page="home"] .hero-sub-home .line:first-child{
    white-space:nowrap !important;
  }
  html[lang="ru"] body[data-page="home"] .hero-sub-home{
    font-size:clamp(17px, 5.05vw, 21px) !important;
    line-height:1.16 !important;
  }
  html[lang="ru"] body[data-page="home"] .hero-sub-home .line{
    white-space:nowrap !important;
  }
  html[lang="ru"] body[data-page="home"] .hero-sub-home .gradient-phrase{
    display:inline-block !important;
  }
}
@media (max-width: 360px){
  html[lang="en"] body[data-page="home"] .hero-sub-home{
    font-size:21px !important;
  }
  html[lang="ru"] body[data-page="home"] .hero-sub-home{
    font-size:16px !important;
  }
}
@media (min-width: 769px){
  body[data-page="services"] .service-title-structure-split .service-title-line{
    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
  }
}

/* v10.2.5.32 locked per-card Home CTA rails: explicit first and second card rules */
body[data-page="home"] .home-choice-grid .choice-card:nth-child(1){
  position:relative !important;
  height:318px !important;
  min-height:318px !important;
  display:block !important;
  padding-bottom:104px !important;
}
body[data-page="home"] .home-choice-grid .choice-card:nth-child(2){
  position:relative !important;
  height:318px !important;
  min-height:318px !important;
  display:block !important;
  padding-bottom:104px !important;
}
body[data-page="home"] .home-choice-grid .choice-card:nth-child(1) > div:last-child{
  position:absolute !important;
  left:24px !important;
  right:24px !important;
  bottom:24px !important;
  height:56px !important;
  min-height:56px !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
body[data-page="home"] .home-choice-grid .choice-card:nth-child(2) > div:last-child{
  position:absolute !important;
  left:24px !important;
  right:24px !important;
  bottom:24px !important;
  height:56px !important;
  min-height:56px !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
@media (max-width: 768px){
  body[data-page="home"] .home-choice-grid .choice-card:nth-child(1){
    height:300px !important;
    min-height:300px !important;
    padding-bottom:88px !important;
  }
  body[data-page="home"] .home-choice-grid .choice-card:nth-child(2){
    height:300px !important;
    min-height:300px !important;
    padding-bottom:88px !important;
  }
  body[data-page="home"] .home-choice-grid .choice-card:nth-child(1) > div:last-child{
    left:18px !important;
    right:18px !important;
    bottom:18px !important;
    height:50px !important;
    min-height:50px !important;
  }
  body[data-page="home"] .home-choice-grid .choice-card:nth-child(2) > div:last-child{
    left:18px !important;
    right:18px !important;
    bottom:18px !important;
    height:50px !important;
    min-height:50px !important;
  }
}


/* v10.2.5.33 Home CTA horizontal centering + EN Dry Pedicure title split */
body[data-page="home"] .home-choice-grid .choice-card:nth-child(1) > div:last-child,
body[data-page="home"] .home-choice-grid .choice-card:nth-child(2) > div:last-child{
  left:0 !important;
  right:0 !important;
  width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
  justify-content:center !important;
  text-align:center !important;
}
body[data-page="home"] .home-choice-grid .choice-card:nth-child(1) > div:last-child .btn,
body[data-page="home"] .home-choice-grid .choice-card:nth-child(2) > div:last-child .btn{
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}
body[data-page="services"] .service-title-split .service-title-line:nth-child(2){
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
}


/* v10.2.5.34 Services hero title gradient + desktop line control */
body[data-page="services"] .services-hero-title .gradient-phrase{
  background:var(--brand-gradient);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  display:inline-block;
}
@media (prefers-reduced-motion: no-preference){
  body[data-page="services"] .services-hero-title .gradient-phrase{
    background-size:200% 200%;
    animation:gradientShift 6s ease-in-out infinite;
  }
}
body[data-page="services"] .services-hero-title .services-en-title,
body[data-page="services"] .services-hero-title .services-ru-title,
body[data-page="services"] .services-hero-title .services-title-line{
  display:block;
}
body[data-page="services"] .services-hero-title .services-en-title--mobile,
body[data-page="services"] .services-hero-title .services-ru-title--mobile{
  display:none;
}
body[data-page="services"] .services-hero-title .services-en-title--desktop,
body[data-page="services"] .services-hero-title .services-ru-title--desktop{
  display:block;
}
@media (min-width: 769px){
  body[data-page="services"] .services-hero-copy{
    max-width:none !important;
    white-space:nowrap !important;
  }
  body[data-page="services"] .services-hero-copy-secondary{
    max-width:none !important;
    white-space:nowrap !important;
  }
}
@media (max-width: 768px){
  body[data-page="services"] .services-hero-title .services-en-title--desktop,
  body[data-page="services"] .services-hero-title .services-ru-title--desktop{
    display:none;
  }
  body[data-page="services"] .services-hero-title .services-en-title--mobile,
  body[data-page="services"] .services-hero-title .services-ru-title--mobile{
    display:block;
  }
}


/* v10.2.5.35 Services hero subtitle nowrap + EN mobile 5-line title split */
@media (min-width: 769px){
  body[data-page="services"] .small-hero.services-hero .container{
    width:min(1500px, calc(100% - 32px)) !important;
    max-width:none !important;
  }
  body[data-page="services"] .services-hero-copy-primary{
    display:block !important;
    width:max-content !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    white-space:nowrap !important;
    overflow-wrap:normal !important;
    word-break:keep-all !important;
    font-size:clamp(15px, 1.28vw, 18px) !important;
    line-height:1.45 !important;
  }
}
@media (max-width: 768px){
  html[lang="en"] body[data-page="services"] .services-hero-title .services-en-title--mobile .services-title-line{
    display:block !important;
    white-space:nowrap !important;
  }
}

/* v10.2.5.36 Header active navigation pill */
.site-nav a.is-current{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:9px 16px;
  border-radius:999px;
  color:#fff;
  background:var(--brand-gradient);
  box-shadow:0 10px 26px rgba(250,23,104,.18);
}
.site-nav a.is-current:hover{
  color:#fff;
  transform:translateY(-1px);
}
.header-actions > .btn.is-current{
  background:var(--brand-gradient);
  color:#fff;
  border-color:transparent;
  box-shadow:0 10px 26px rgba(250,23,104,.18);
}
.mobile-nav a.is-current{
  color:#fff;
  background:var(--brand-gradient);
  border-color:transparent;
  box-shadow:0 10px 26px rgba(250,23,104,.18);
}
.mobile-nav a.is-current:hover,
.mobile-nav a.is-current:focus-visible{
  color:#fff;
}


/* v10.2.5.37 Header active navigation soft motion */
.site-header{
  animation:header-soft-mount .18s ease-out both;
  transition:background-color .24s ease, border-color .24s ease, box-shadow .24s ease, backdrop-filter .24s ease;
}
.site-nav a,
.mobile-nav a,
.header-actions > .btn{
  transition:color .22s ease, background-color .26s ease, border-color .26s ease, box-shadow .26s ease, transform .2s ease, opacity .18s ease;
}
.site-nav a.is-current,
.mobile-nav a.is-current,
.header-actions > .btn.is-current{
  animation:active-nav-pill-soft-in .22s cubic-bezier(.2,.8,.2,1) both;
  will-change:transform, opacity;
}
@keyframes header-soft-mount{
  from{opacity:.965;transform:translateY(-1px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes active-nav-pill-soft-in{
  from{opacity:.82;transform:translateY(2px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media (prefers-reduced-motion: reduce){
  .site-header,
  .site-nav a.is-current,
  .mobile-nav a.is-current,
  .header-actions > .btn.is-current{
    animation:none !important;
  }
}

/* v10.2.5.39 Clickable oval gradient border correction
   Border is painted by layered backgrounds on the button border box.
   No pseudo-element disk, no transform rotation, no spinner effect. */
@property --snb-oval-border-angle{
  syntax:"<angle>";
  inherits:false;
  initial-value:0deg;
}
@keyframes snbClickableOvalBorderFlow{
  to{--snb-oval-border-angle:360deg}
}

.btn:not(.btn-brand):not(.is-current):not(.btn-no-gradient-border),
.footer-pills a:not(.instagram),
.mobile-nav a:not(.is-current):not(.btn-brand){
  --snb-oval-surface:#fff;
  --snb-oval-border-size:1.5px;
  position:relative;
  isolation:isolate;
  border:var(--snb-oval-border-size) solid transparent !important;
  background:
    linear-gradient(var(--snb-oval-surface),var(--snb-oval-surface)) padding-box,
    conic-gradient(
      from var(--snb-oval-border-angle),
      rgba(253,146,72,.35),
      var(--brand-1),
      var(--brand-2),
      var(--brand-3),
      var(--brand-1),
      rgba(253,146,72,.35)
    ) border-box;
  background-clip:padding-box,border-box;
  animation:snbClickableOvalBorderFlow 5.8s linear infinite;
}

.btn-primary:not(.btn-brand):not(.is-current):not(.btn-no-gradient-border),
.mobile-nav a.btn.btn-primary:not(.is-current):not(.btn-brand){
  --snb-oval-surface:#151515;
}
.btn-primary:not(.btn-brand):not(.is-current):not(.btn-no-gradient-border):hover,
.mobile-nav a.btn.btn-primary:not(.is-current):not(.btn-brand):hover{
  --snb-oval-surface:#050505;
}
.btn-secondary:not(.is-current):not(.btn-no-gradient-border):hover,
.footer-pills a:not(.instagram):hover,
.mobile-nav a:not(.is-current):not(.btn-brand):not(.btn-primary):hover{
  --snb-oval-surface:#fff;
}

.btn.btn-brand::after,
.btn.is-current::after,
.header-actions > .btn.is-current::after,
.site-nav a.is-current::after,
.mobile-nav a.is-current::after,
.lang-switch button.active::after,
.careers-card .careers-job-actions .btn.btn-primary::after{
  content:none !important;
}

@media (prefers-reduced-motion: reduce){
  .btn:not(.btn-brand):not(.is-current):not(.btn-no-gradient-border),
  .footer-pills a:not(.instagram),
  .mobile-nav a:not(.is-current):not(.btn-brand){
    animation:none !important;
  }
}

/* v10.2.5.45 Home why-card 4-color glow
   Applies the approved home-page service-card glow to the home-page why-card blocks too.
   Four brand-color notes radiate from the center while the outer area fades earlier into a wider soft-white veil. */
body[data-page="home"] .card.service-card,
body[data-page="home"] .card.why-card{
  position:relative;
  overflow:hidden;
  background:#fff;
}
body[data-page="home"] .card.service-card::before,
body[data-page="home"] .card.why-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(
      ellipse 130% 120% at 50% 50%,
      rgba(253,146,72,.150) 0%,
      rgba(250,23,104,.126) 18%,
      rgba(240,1,255,.100) 36%,
      rgba(253,146,72,.064) 50%,
      rgba(255,255,255,.900) 66%,
      rgba(255,255,255,.975) 84%,
      rgba(255,255,255,1) 100%
    );
}
body[data-page="home"] .card.service-card > *,
body[data-page="home"] .card.why-card > *{
  position:relative;
  z-index:1;
}


/* v10.2.5.46 Home solid card color test
   Test design scoped to the Home page only: removes the page background gradient,
   disables the previous Home service-card/why-card glow, paints selected Why us cards
   in solid brand colors, and paints the Home location card in solid pink. */
body[data-page="home"]{
  background:#fcfaf9 !important;
  background-image:none !important;
  background-repeat:no-repeat !important;
  background-size:auto !important;
  background-position:initial !important;
}
body[data-page="home"] .card.service-card::before,
body[data-page="home"] .card.why-card::before{
  content:none !important;
  background:none !important;
}
body[data-page="home"] .card.service-card,
body[data-page="home"] .card.why-card{
  background:#fff !important;
}
body[data-page="home"] .card.why-card:nth-of-type(1),
body[data-page="home"] .card.why-card:nth-of-type(3){
  background:#fd9248 !important;
  border-color:#fd9248 !important;
  color:#fff !important;
}
body[data-page="home"] .card.why-card:nth-of-type(1) h3,
body[data-page="home"] .card.why-card:nth-of-type(1) p,
body[data-page="home"] .card.why-card:nth-of-type(3) h3,
body[data-page="home"] .card.why-card:nth-of-type(3) p{
  color:#fff !important;
}
body[data-page="home"] .card.location-card{
  background:#fa1768 !important;
  border-color:#fa1768 !important;
  color:#fff !important;
}
body[data-page="home"] .card.location-card h2,
body[data-page="home"] .card.location-card p{
  color:#fff !important;
}

/* v10.2.5.47 Home mobile-only Why us card color test
   Mobile-only override: keeps desktop exactly as inherited from v10.2.5.46,
   switches the Home Why us mobile color treatment so Dry technique and Premium products
   are solid brand orange while Sterilization and Men’s manicure & pedicure remain clean white. */
@media (max-width: 768px){
  body[data-page="home"] .card.why-card:nth-of-type(3){
    background:#fff !important;
    border-color:var(--border) !important;
    color:var(--text) !important;
  }
  body[data-page="home"] .card.why-card:nth-of-type(3) h3{
    color:var(--text) !important;
  }
  body[data-page="home"] .card.why-card:nth-of-type(3) p{
    color:var(--text-2) !important;
  }
  body[data-page="home"] .card.why-card:nth-of-type(4){
    background:#fd9248 !important;
    border-color:#fd9248 !important;
    color:#fff !important;
  }
  body[data-page="home"] .card.why-card:nth-of-type(4) h3,
  body[data-page="home"] .card.why-card:nth-of-type(4) p{
    color:#fff !important;
  }
}


/* v10.2.5.48 multi-page page-card color and sterility gradient pass
   Salon: Client experience + Location solid orange with white text.
   Services: Russian Manicure + Nail Structure & Extensions + What makes our work different + Service areas solid orange with white text.
   Service areas nested cluster blocks are one tone lighter.
   Sterility: Process / Step X / Single-use materials / Why this matters / Final note use animated gradient text.
   Careers: remove duplicated fifth pill in What we offer.
   Contact: Parking card solid orange with white text. */
body[data-page="salon"] .salon-card-client-experience,
body[data-page="salon"] .salon-card-location,
body[data-page="services"] .services-card-russian-manicure,
body[data-page="services"] .services-card-structure,
body[data-page="services"] .service-card-difference,
body[data-page="services"] .service-card-locations,
body[data-page="contact"] .contact-parking-card {
  background:#fd9248 !important;
  border-color:#fd9248 !important;
  color:#ffffff !important;
}
body[data-page="salon"] .salon-card-client-experience h2,
body[data-page="salon"] .salon-card-client-experience p,
body[data-page="salon"] .salon-card-location h2,
body[data-page="salon"] .salon-card-location p,
body[data-page="services"] .services-card-russian-manicure h2,
body[data-page="services"] .services-card-russian-manicure p,
body[data-page="services"] .services-card-structure h2,
body[data-page="services"] .services-card-structure p,
body[data-page="services"] .service-card-difference h2,
body[data-page="services"] .service-card-difference p,
body[data-page="services"] .service-card-locations h2,
body[data-page="services"] .service-card-locations p,
body[data-page="contact"] .contact-parking-card h2,
body[data-page="contact"] .contact-parking-card p,
body[data-page="contact"] .contact-parking-card strong,
body[data-page="contact"] .contact-parking-card span {
  color:#ffffff !important;
}
body[data-page="salon"] .salon-card-client-experience .service-points span,
body[data-page="salon"] .salon-card-location .service-points span,
body[data-page="services"] .services-card-russian-manicure .service-points span,
body[data-page="services"] .services-card-structure .service-points span,
body[data-page="services"] .service-card-difference .service-points span {
  background:rgba(255,255,255,.16) !important;
  border-color:rgba(255,255,255,.26) !important;
  color:#ffffff !important;
  box-shadow:none !important;
}
body[data-page="services"] .service-card-locations .service-area-cluster-group {
  background:#fdb05f !important;
  border-color:#fdb05f !important;
  color:#ffffff !important;
}
body[data-page="services"] .service-card-locations .service-area-cluster-group h3,
body[data-page="services"] .service-card-locations .service-area-cluster-group p,
body[data-page="services"] .service-card-locations .service-area-cluster-group span {
  color:#ffffff !important;
}
body[data-page="services"] .service-card-locations .service-area-cluster-group h3 {
  background:rgba(255,255,255,.18) !important;
  border-color:rgba(255,255,255,.26) !important;
  box-shadow:none !important;
}
body[data-page="services"] .service-card-locations .service-area-chip-list {
  background:rgba(255,255,255,.10) !important;
  border-color:rgba(255,255,255,.18) !important;
}
body[data-page="services"] .service-card-locations .service-area-chip-list a {
  background:rgba(255,255,255,.16) !important;
  border-color:rgba(255,255,255,.26) !important;
  color:#ffffff !important;
  box-shadow:none !important;
}
body[data-page="services"] .service-card-locations .service-area-chip-list a:hover,
body[data-page="services"] .service-card-locations .service-area-chip-list a:focus-visible {
  border-color:rgba(255,255,255,.38) !important;
  box-shadow:none !important;
}
body[data-page="sterility"] .sterility-grid h2,
body[data-page="sterility"] .sterility-grid p > strong {
  background:var(--brand-gradient);
  background-size:200% 200%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
  animation:snbGradientShift 6s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  body[data-page="sterility"] .sterility-grid h2,
  body[data-page="sterility"] .sterility-grid p > strong {
    animation:none;
  }
}


/* v10.2.5.49 restore missing Home service preview split color pass
   Desktop Home: SMART Pedicure and Repair are solid #fd9248 with white text.
   Mobile Home: Russian Manicure and Repair are solid #fd9248 with white text.
   Home trust-card heading uses animated brand-gradient text. */
body[data-page="home"] .trust-card h2{
  background:var(--brand-gradient);
  background-size:200% 200%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
  animation:snbGradientShift 6s linear infinite;
}
body[data-page="home"] .card.service-card:nth-of-type(2),
body[data-page="home"] .card.service-card:nth-of-type(4){
  background:#fd9248 !important;
  border-color:#fd9248 !important;
  color:#ffffff !important;
}
body[data-page="home"] .card.service-card:nth-of-type(2) h3,
body[data-page="home"] .card.service-card:nth-of-type(2) p,
body[data-page="home"] .card.service-card:nth-of-type(4) h3,
body[data-page="home"] .card.service-card:nth-of-type(4) p{
  color:#ffffff !important;
}
@media (max-width: 768px){
  body[data-page="home"] .card.service-card:nth-of-type(2){
    background:#ffffff !important;
    border-color:var(--border) !important;
    color:var(--text) !important;
  }
  body[data-page="home"] .card.service-card:nth-of-type(2) h3{
    color:var(--text) !important;
  }
  body[data-page="home"] .card.service-card:nth-of-type(2) p{
    color:var(--text-2) !important;
  }
  body[data-page="home"] .card.service-card:nth-of-type(1),
  body[data-page="home"] .card.service-card:nth-of-type(4){
    background:#fd9248 !important;
    border-color:#fd9248 !important;
    color:#ffffff !important;
  }
  body[data-page="home"] .card.service-card:nth-of-type(1) h3,
  body[data-page="home"] .card.service-card:nth-of-type(1) p,
  body[data-page="home"] .card.service-card:nth-of-type(4) h3,
  body[data-page="home"] .card.service-card:nth-of-type(4) p{
    color:#ffffff !important;
  }
}
@media (prefers-reduced-motion: reduce){
  body[data-page="home"] .trust-card h2{
    animation:none;
  }
}

/* v10.2.5.63 brand-safe accessibility contrast polish
   Keeps selected Home Why cards premium/brand-orange with white typography,
   improves readability with a deeper orange gradient and targeted white-card text contrast.
   This intentionally rolls back the v10.2.5.62 black-text override on orange cards. */
body[data-page="home"] .card.why-card:nth-of-type(1),
body[data-page="home"] .card.why-card:nth-of-type(3){
  background:linear-gradient(135deg,#d75f1f 0%,#fd9248 58%,#f47a35 100%) !important;
  border-color:#de6c28 !important;
  color:#fff !important;
}
body[data-page="home"] .card.why-card:nth-of-type(1) h3,
body[data-page="home"] .card.why-card:nth-of-type(1) p,
body[data-page="home"] .card.why-card:nth-of-type(3) h3,
body[data-page="home"] .card.why-card:nth-of-type(3) p{
  color:#fff !important;
  text-shadow:0 1px 2px rgba(65,22,5,.28);
}
body[data-page="home"] .card.why-card:nth-of-type(1) p,
body[data-page="home"] .card.why-card:nth-of-type(3) p{
  font-weight:600;
}
body[data-page="home"] .card.why-card:nth-of-type(2) h3,
body[data-page="home"] .card.why-card:nth-of-type(4) h3{
  color:#151515 !important;
}
body[data-page="home"] .card.why-card:nth-of-type(2) p,
body[data-page="home"] .card.why-card:nth-of-type(4) p{
  color:#3a4048 !important;
  font-weight:500;
}

@media (max-width:768px){
  body[data-page="home"] .card.why-card:nth-of-type(1),
  body[data-page="home"] .card.why-card:nth-of-type(4){
    background:linear-gradient(135deg,#d75f1f 0%,#fd9248 58%,#f47a35 100%) !important;
    border-color:#de6c28 !important;
    color:#fff !important;
  }
  body[data-page="home"] .card.why-card:nth-of-type(1) h3,
  body[data-page="home"] .card.why-card:nth-of-type(1) p,
  body[data-page="home"] .card.why-card:nth-of-type(4) h3,
  body[data-page="home"] .card.why-card:nth-of-type(4) p{
    color:#fff !important;
    text-shadow:0 1px 2px rgba(65,22,5,.28);
  }
  body[data-page="home"] .card.why-card:nth-of-type(1) p,
  body[data-page="home"] .card.why-card:nth-of-type(4) p{
    font-weight:600;
  }
  body[data-page="home"] .card.why-card:nth-of-type(2) h3,
  body[data-page="home"] .card.why-card:nth-of-type(3) h3{
    color:#151515 !important;
    text-shadow:none !important;
  }
  body[data-page="home"] .card.why-card:nth-of-type(2) p,
  body[data-page="home"] .card.why-card:nth-of-type(3) p{
    color:#3a4048 !important;
    font-weight:500;
    text-shadow:none !important;
  }
}

/* v10.2.5.64 brand-safe orange-card typography repair
   Restores premium white typography on orange Home Why cards across desktop/mobile.
   Uses child-based selectors instead of nth-of-type to avoid selector drift and adds soft brand shadow for readability. */
body[data-page="home"] .grid-4 > .card.why-card:nth-child(1),
body[data-page="home"] .grid-4 > .card.why-card:nth-child(3){
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.14), transparent 30%),
    linear-gradient(135deg,#d76520 0%,#fd9248 52%,#fa1768 100%) !important;
  border-color:rgba(250,23,104,.28) !important;
  color:#ffffff !important;
}
body[data-page="home"] .grid-4 > .card.why-card:nth-child(1) h2,
body[data-page="home"] .grid-4 > .card.why-card:nth-child(1) h3,
body[data-page="home"] .grid-4 > .card.why-card:nth-child(1) p,
body[data-page="home"] .grid-4 > .card.why-card:nth-child(3) h2,
body[data-page="home"] .grid-4 > .card.why-card:nth-child(3) h3,
body[data-page="home"] .grid-4 > .card.why-card:nth-child(3) p{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-shadow:
    0 1px 1px rgba(80,26,4,.34),
    0 2px 10px rgba(250,23,104,.18),
    0 0 14px rgba(240,1,255,.10) !important;
}
body[data-page="home"] .grid-4 > .card.why-card:nth-child(1) p,
body[data-page="home"] .grid-4 > .card.why-card:nth-child(3) p{
  font-weight:600 !important;
}
body[data-page="home"] .grid-4 > .card.why-card:nth-child(2),
body[data-page="home"] .grid-4 > .card.why-card:nth-child(4){
  background:#ffffff !important;
  border-color:var(--border) !important;
}
body[data-page="home"] .grid-4 > .card.why-card:nth-child(2) h2,
body[data-page="home"] .grid-4 > .card.why-card:nth-child(2) h3,
body[data-page="home"] .grid-4 > .card.why-card:nth-child(4) h2,
body[data-page="home"] .grid-4 > .card.why-card:nth-child(4) h3{
  color:#151515 !important;
  -webkit-text-fill-color:#151515 !important;
  text-shadow:none !important;
}
body[data-page="home"] .grid-4 > .card.why-card:nth-child(2) p,
body[data-page="home"] .grid-4 > .card.why-card:nth-child(4) p{
  color:#2f343b !important;
  -webkit-text-fill-color:#2f343b !important;
  font-weight:500 !important;
  text-shadow:none !important;
}
@media (max-width:768px){
  body[data-page="home"] .grid-4 > .card.why-card:nth-child(1),
  body[data-page="home"] .grid-4 > .card.why-card:nth-child(4){
    background:
      radial-gradient(circle at 18% 18%, rgba(255,255,255,.14), transparent 30%),
      linear-gradient(135deg,#d76520 0%,#fd9248 52%,#fa1768 100%) !important;
    border-color:rgba(250,23,104,.28) !important;
    color:#ffffff !important;
  }
  body[data-page="home"] .grid-4 > .card.why-card:nth-child(1) h2,
  body[data-page="home"] .grid-4 > .card.why-card:nth-child(1) h3,
  body[data-page="home"] .grid-4 > .card.why-card:nth-child(1) p,
  body[data-page="home"] .grid-4 > .card.why-card:nth-child(4) h2,
  body[data-page="home"] .grid-4 > .card.why-card:nth-child(4) h3,
  body[data-page="home"] .grid-4 > .card.why-card:nth-child(4) p{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    text-shadow:
      0 1px 1px rgba(80,26,4,.34),
      0 2px 10px rgba(250,23,104,.18),
      0 0 14px rgba(240,1,255,.10) !important;
  }
  body[data-page="home"] .grid-4 > .card.why-card:nth-child(1) p,
  body[data-page="home"] .grid-4 > .card.why-card:nth-child(4) p{
    font-weight:600 !important;
  }
  body[data-page="home"] .grid-4 > .card.why-card:nth-child(2),
  body[data-page="home"] .grid-4 > .card.why-card:nth-child(3){
    background:#ffffff !important;
    border-color:var(--border) !important;
  }
  body[data-page="home"] .grid-4 > .card.why-card:nth-child(2) h2,
  body[data-page="home"] .grid-4 > .card.why-card:nth-child(2) h3,
  body[data-page="home"] .grid-4 > .card.why-card:nth-child(3) h2,
  body[data-page="home"] .grid-4 > .card.why-card:nth-child(3) h3{
    color:#151515 !important;
    -webkit-text-fill-color:#151515 !important;
    text-shadow:none !important;
  }
  body[data-page="home"] .grid-4 > .card.why-card:nth-child(2) p,
  body[data-page="home"] .grid-4 > .card.why-card:nth-child(3) p{
    color:#2f343b !important;
    -webkit-text-fill-color:#2f343b !important;
    font-weight:500 !important;
    text-shadow:none !important;
  }
}

/* v10.2.5.65 premium brand-orange gradient expansion
   Applies the approved premium orange/pink gradient treatment from Home Why cards
   to every existing solid brand-orange card/fill across the site while preserving
   white typography and adding a soft brand-color text shadow for readability. */
:root{
  --snb-premium-orange-card-bg:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.14), transparent 30%),
    linear-gradient(135deg,#d76520 0%,#fd9248 52%,#fa1768 100%);
  --snb-premium-orange-card-bg-soft:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.16), transparent 32%),
    linear-gradient(135deg,#e2762b 0%,#fd9248 56%,#fa1768 100%);
  --snb-premium-orange-border:rgba(250,23,104,.28);
  --snb-premium-orange-text-shadow:
    0 1px 1px rgba(80,26,4,.34),
    0 2px 10px rgba(250,23,104,.18),
    0 0 14px rgba(240,1,255,.10);
}

/* Home: Why us approved gradient cards */
body[data-page="home"] .grid-4 > .card.why-card:nth-child(1),
body[data-page="home"] .grid-4 > .card.why-card:nth-child(3),
body[data-page="home"] .card.why-card:nth-of-type(1),
body[data-page="home"] .card.why-card:nth-of-type(3){
  background:var(--snb-premium-orange-card-bg) !important;
  border-color:var(--snb-premium-orange-border) !important;
  color:#ffffff !important;
}

/* Home: Services preview orange cards on desktop */
body[data-page="home"] .card.service-card:nth-of-type(2),
body[data-page="home"] .card.service-card:nth-of-type(4){
  background:var(--snb-premium-orange-card-bg) !important;
  border-color:var(--snb-premium-orange-border) !important;
  color:#ffffff !important;
}

/* Other pages: all existing solid-orange card treatments */
body[data-page="salon"] .salon-card-client-experience,
body[data-page="salon"] .salon-card-location,
body[data-page="services"] .services-card-russian-manicure,
body[data-page="services"] .services-card-structure,
body[data-page="services"] .service-card-difference,
body[data-page="services"] .service-card-locations,
body[data-page="contact"] .contact-parking-card{
  background:var(--snb-premium-orange-card-bg) !important;
  border-color:var(--snb-premium-orange-border) !important;
  color:#ffffff !important;
}

/* Nested Service Areas cards: premium but slightly softer so the hierarchy still reads */
body[data-page="services"] .service-card-locations .service-area-cluster-group{
  background:var(--snb-premium-orange-card-bg-soft) !important;
  border-color:rgba(255,255,255,.22) !important;
  color:#ffffff !important;
}

/* White typography + premium brand shadow on orange fills */
body[data-page="home"] .grid-4 > .card.why-card:nth-child(1) :is(h1,h2,h3,h4,p,li,span,strong),
body[data-page="home"] .grid-4 > .card.why-card:nth-child(3) :is(h1,h2,h3,h4,p,li,span,strong),
body[data-page="home"] .card.why-card:nth-of-type(1) :is(h1,h2,h3,h4,p,li,span,strong),
body[data-page="home"] .card.why-card:nth-of-type(3) :is(h1,h2,h3,h4,p,li,span,strong),
body[data-page="home"] .card.service-card:nth-of-type(2) :is(h1,h2,h3,h4,p,li,span,strong),
body[data-page="home"] .card.service-card:nth-of-type(4) :is(h1,h2,h3,h4,p,li,span,strong),
body[data-page="salon"] .salon-card-client-experience :is(h1,h2,h3,h4,p,li,span,strong),
body[data-page="salon"] .salon-card-location :is(h1,h2,h3,h4,p,li,span,strong),
body[data-page="services"] .services-card-russian-manicure :is(h1,h2,h3,h4,p,li,span,strong),
body[data-page="services"] .services-card-structure :is(h1,h2,h3,h4,p,li,span,strong),
body[data-page="services"] .service-card-difference :is(h1,h2,h3,h4,p,li,span,strong),
body[data-page="services"] .service-card-locations :is(h1,h2,h3,h4,p,li,span,strong),
body[data-page="contact"] .contact-parking-card :is(h1,h2,h3,h4,p,li,span,strong){
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-shadow:var(--snb-premium-orange-text-shadow) !important;
}

/* Keep copy readable on orange cards */
body[data-page="home"] .grid-4 > .card.why-card:nth-child(1) p,
body[data-page="home"] .grid-4 > .card.why-card:nth-child(3) p,
body[data-page="home"] .card.service-card:nth-of-type(2) p,
body[data-page="home"] .card.service-card:nth-of-type(4) p,
body[data-page="salon"] .salon-card-client-experience p,
body[data-page="salon"] .salon-card-location p,
body[data-page="services"] .services-card-russian-manicure p,
body[data-page="services"] .services-card-structure p,
body[data-page="services"] .service-card-difference p,
body[data-page="services"] .service-card-locations p,
body[data-page="contact"] .contact-parking-card p{
  font-weight:600 !important;
}

/* Orange-card pills/chips: translucent glass instead of flat orange blocks */
body[data-page="salon"] .salon-card-client-experience .service-points span,
body[data-page="salon"] .salon-card-location .service-points span,
body[data-page="services"] .services-card-russian-manicure .service-points span,
body[data-page="services"] .services-card-structure .service-points span,
body[data-page="services"] .service-card-difference .service-points span,
body[data-page="services"] .service-card-locations .service-area-chip-list a,
body[data-page="services"] .service-card-locations .service-area-cluster-group h3{
  background:rgba(255,255,255,.16) !important;
  border-color:rgba(255,255,255,.28) !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-shadow:var(--snb-premium-orange-text-shadow) !important;
  box-shadow:none !important;
}
body[data-page="services"] .service-card-locations .service-area-chip-list{
  background:rgba(255,255,255,.10) !important;
  border-color:rgba(255,255,255,.18) !important;
}

@media (max-width:768px){
  /* Home: mobile orange cards are Russian Manicure + Repair in Services preview,
     and Dry technique + Premium products in Why us. */
  body[data-page="home"] .grid-4 > .card.why-card:nth-child(1),
  body[data-page="home"] .grid-4 > .card.why-card:nth-child(4),
  body[data-page="home"] .card.why-card:nth-of-type(1),
  body[data-page="home"] .card.why-card:nth-of-type(4),
  body[data-page="home"] .card.service-card:nth-of-type(1),
  body[data-page="home"] .card.service-card:nth-of-type(4){
    background:var(--snb-premium-orange-card-bg) !important;
    border-color:var(--snb-premium-orange-border) !important;
    color:#ffffff !important;
  }

  body[data-page="home"] .grid-4 > .card.why-card:nth-child(1) :is(h1,h2,h3,h4,p,li,span,strong),
  body[data-page="home"] .grid-4 > .card.why-card:nth-child(4) :is(h1,h2,h3,h4,p,li,span,strong),
  body[data-page="home"] .card.why-card:nth-of-type(1) :is(h1,h2,h3,h4,p,li,span,strong),
  body[data-page="home"] .card.why-card:nth-of-type(4) :is(h1,h2,h3,h4,p,li,span,strong),
  body[data-page="home"] .card.service-card:nth-of-type(1) :is(h1,h2,h3,h4,p,li,span,strong),
  body[data-page="home"] .card.service-card:nth-of-type(4) :is(h1,h2,h3,h4,p,li,span,strong){
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    text-shadow:var(--snb-premium-orange-text-shadow) !important;
  }

  body[data-page="home"] .grid-4 > .card.why-card:nth-child(1) p,
  body[data-page="home"] .grid-4 > .card.why-card:nth-child(4) p,
  body[data-page="home"] .card.service-card:nth-of-type(1) p,
  body[data-page="home"] .card.service-card:nth-of-type(4) p{
    font-weight:600 !important;
  }
}



/* v10.2.5.66 home gradient mapping correction + book page orange-card extension
   Fixes the Home desktop/mobile card mapping so gradient cards stay exactly where approved,
   and extends the premium orange gradient treatment to the selected Book page help cards. */

/* Book: apply approved premium orange/pink gradient only to
   1) Need help choosing?
   3) Questions first? */
body[data-page="book"] .booking-confidence-card:nth-of-type(1),
body[data-page="book"] .booking-confidence-card:nth-of-type(3){
  background:var(--snb-premium-orange-card-bg) !important;
  border-color:var(--snb-premium-orange-border) !important;
  color:#ffffff !important;
}
body[data-page="book"] .booking-confidence-card:nth-of-type(1) :is(h1,h2,h3,h4,p,li,span,strong,a),
body[data-page="book"] .booking-confidence-card:nth-of-type(3) :is(h1,h2,h3,h4,p,li,span,strong,a){
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-shadow:var(--snb-premium-orange-text-shadow) !important;
}
body[data-page="book"] .booking-confidence-card:nth-of-type(1) p,
body[data-page="book"] .booking-confidence-card:nth-of-type(3) p{
  font-weight:600 !important;
}

@media (max-width:768px){
  /* Home mobile mapping must remain exactly as approved:
     Why us: 1 Dry technique + 4 Premium products
     Services preview: 1 Russian Manicure + 4 Repair */
  body[data-page="home"] .card.why-card:nth-of-type(3),
  body[data-page="home"] .grid-4 > .card.why-card:nth-child(3){
    background:#ffffff !important;
    border-color:var(--border) !important;
    color:var(--text) !important;
  }
  body[data-page="home"] .card.why-card:nth-of-type(3) h3,
  body[data-page="home"] .grid-4 > .card.why-card:nth-child(3) h3{
    color:var(--text) !important;
    -webkit-text-fill-color:var(--text) !important;
    text-shadow:none !important;
  }
  body[data-page="home"] .card.why-card:nth-of-type(3) p,
  body[data-page="home"] .grid-4 > .card.why-card:nth-child(3) p{
    color:var(--text-2) !important;
    -webkit-text-fill-color:var(--text-2) !important;
    text-shadow:none !important;
    font-weight:500 !important;
  }

  body[data-page="home"] .card.service-card:nth-of-type(2),
  body[data-page="home"] .grid-4 > .card.service-card:nth-child(2){
    background:#ffffff !important;
    border-color:var(--border) !important;
    color:var(--text) !important;
  }
  body[data-page="home"] .card.service-card:nth-of-type(2) h3,
  body[data-page="home"] .grid-4 > .card.service-card:nth-child(2) h3{
    color:var(--text) !important;
    -webkit-text-fill-color:var(--text) !important;
    text-shadow:none !important;
  }
  body[data-page="home"] .card.service-card:nth-of-type(2) p,
  body[data-page="home"] .grid-4 > .card.service-card:nth-child(2) p{
    color:var(--text-2) !important;
    -webkit-text-fill-color:var(--text-2) !important;
    text-shadow:none !important;
    font-weight:500 !important;
  }
}


/* v10.2.5.84 static Vagaro alternative booking link/card
   Static-only: does not touch booking.js, observers, iframe height, or loader behavior. */
.booking-alt-card{
  margin:18px 0 0;
  padding:20px;
  border-radius:26px;
  background:
    radial-gradient(circle at 16% 12%, rgba(253,146,72,.18), transparent 32%),
    radial-gradient(circle at 88% 16%, rgba(240,1,255,.10), transparent 30%),
    #ffffff;
  border:1px solid rgba(253,146,72,.18);
  box-shadow:0 16px 42px rgba(32,18,26,.07);
  text-align:center;
}
.booking-alt-card__copy{
  margin:0 auto 14px;
  max-width:620px;
  color:var(--text-2);
  font-size:15px;
  line-height:1.55;
}
.booking-alt-card__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:58px;
  padding:12px 18px;
  border-radius:999px;
  background:#ffffff;
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  font-weight:800;
  color:var(--text);
}
.booking-alt-card__logo-wrap{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  background:#fff8f7;
  border:1px solid rgba(204,71,68,.12);
}
.booking-alt-card__logo-wrap img{
  width:90px;
  height:auto;
  display:block;
}
.booking-alt-card__button-text{
  display:inline-flex;
  align-items:center;
  color:var(--text);
}
.booking-alt-card__link:hover{
  transform:translateY(-1px);
  border-color:rgba(250,23,104,.26);
}
.booking-alt-card__link:focus-visible{
  outline:3px solid rgba(250,23,104,.24);
  outline-offset:3px;
}
@media (max-width:768px){
  .booking-alt-card{
    margin:16px 0 0;
    padding:20px 16px;
    border-radius:26px;
    background:
      radial-gradient(circle at 16% 12%, rgba(253,146,72,.18), transparent 32%),
      radial-gradient(circle at 88% 16%, rgba(240,1,255,.10), transparent 30%),
      #ffffff;
    border:1px solid rgba(253,146,72,.18);
    box-shadow:0 16px 42px rgba(32,18,26,.07);
    text-align:center;
  }
  .booking-alt-card__copy{
    margin:0 auto 14px;
    max-width:30ch;
    color:var(--text-2) !important;
    -webkit-text-fill-color:currentColor;
    font-size:15px;
    line-height:1.55;
    font-weight:500;
    text-shadow:none;
    text-align:center;
  }
  .booking-alt-card__link{
    display:inline-flex;
    flex-direction:row;
    align-items:center;
    justify-content:center;
    gap:12px;
    width:auto;
    min-height:58px;
    margin:0 auto;
    padding:12px 18px;
    border-radius:999px;
    background:#ffffff;
    border:1px solid var(--border);
    box-shadow:var(--shadow);
    color:var(--text);
  }
  .booking-alt-card__logo-wrap{
    background:#fff8f7;
    border:1px solid rgba(204,71,68,.12);
  }
  .booking-alt-card__button-text{
    color:var(--text);
  }
}


/* v10.2.5.87 mobile Book stage/mount doubled min-height test
   CSS-only experiment: doubles the mobile booking viewport area from v10.2.5.86 without touching booking.js,
   observers, iframe attributes, or desktop behavior. */
@media (max-width:768px){
  body[data-page="book"] .booking-shell.is-loaded{
    min-height:980px !important;
  }
  body[data-page="book"] .booking-stage,
  body[data-page="book"] .booking-shell.is-loaded .booking-stage{
    min-height:1840px !important;
    padding:6px 10px 14px !important;
    overflow-anchor:none !important;
  }
  body[data-page="book"] #vagaroMount{
    min-height:1800px !important;
  }
  body[data-page="book"] #vagaroMount iframe{
    min-height:1800px !important;
  }
}

@media (max-width:480px){
  body[data-page="book"] .booking-stage,
  body[data-page="book"] .booking-shell.is-loaded .booking-stage{
    min-height:1840px !important;
    padding:6px 8px 12px !important;
  }
  body[data-page="book"] #vagaroMount{
    min-height:1800px !important;
  }
  body[data-page="book"] #vagaroMount iframe{
    min-height:1800px !important;
  }
}

/* v10.2.5.89 mobile Book iframe unclamp + iOS standalone safe mount
   Bugfix: do not hard-lock the third-party Vagaro iframe height. Let Vagaro's own injected
   iframe height win when it is larger, keep only a mobile min-height safety floor, and keep
   the hidden pre-load shell measurable for iOS Home Screen/standalone mode. */
@media (max-width:768px){
  body[data-page="book"] .booking-shell.is-loading.is-hidden-until-ready{
    display:block !important;
    visibility:hidden !important;
    opacity:0 !important;
    min-height:1px !important;
    max-height:1px !important;
    overflow:hidden !important;
    pointer-events:none !important;
  }

  body[data-page="book"] .booking-shell.is-loaded{
    visibility:visible !important;
    opacity:1 !important;
    min-height:1880px !important;
    max-height:none !important;
    overflow:visible !important;
    pointer-events:auto !important;
  }

  body[data-page="book"] .booking-stage,
  body[data-page="book"] .booking-shell.is-loaded .booking-stage{
    min-height:1840px !important;
    height:auto !important;
    max-height:none !important;
    padding:6px 10px 14px !important;
    overflow:visible !important;
    overflow-anchor:none !important;
  }

  body[data-page="book"] #vagaroMount,
  body[data-page="book"] #vagaroMount .vagaro{
    width:100% !important;
    max-width:100% !important;
    min-height:1800px !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }

  body[data-page="book"] #vagaroMount iframe{
    width:100% !important;
    max-width:100% !important;
    min-height:1800px !important;
    max-height:none !important;
    display:block !important;
    overflow:visible !important;
    -webkit-overflow-scrolling:touch;
  }
}

@media (max-width:480px){
  body[data-page="book"] .booking-shell.is-loaded{
    min-height:1880px !important;
  }

  body[data-page="book"] .booking-stage,
  body[data-page="book"] .booking-shell.is-loaded .booking-stage{
    min-height:1840px !important;
    padding:6px 8px 12px !important;
  }

  body[data-page="book"] #vagaroMount,
  body[data-page="book"] #vagaroMount .vagaro{
    min-height:1800px !important;
  }

  body[data-page="book"] #vagaroMount iframe{
    min-height:1800px !important;
    max-height:none !important;
  }
}


/* v10.2.5.90 iOS Home Screen Book fallback
   Only for the class added by booking.js in iOS standalone mode. It prevents the hidden
   Vagaro mount area from reserving the large mobile iframe height when the third-party
   widget is bypassed and the direct Vagaro booking fallback is shown. */
body[data-page="book"] .booking-shell.is-standalone-fallback{
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}
body[data-page="book"] .booking-shell.is-standalone-fallback .booking-stage{
  display:none !important;
  min-height:0 !important;
  height:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}
body[data-page="book"] .booking-shell.is-standalone-fallback #vagaroMount{
  display:none !important;
  min-height:0 !important;
  height:0 !important;
}
body[data-page="book"] .booking-shell.is-standalone-fallback .booking-fallback{
  display:block !important;
  padding:20px 18px 10px !important;
}

/* v10.2.5.92 mobile Book loader placeholder, loaded auto-scroll target support, and progressive top arrow
   Mobile-only UX layer. Keeps the v10.2.5.89-v10.2.5.91 height envelope untouched. */
@media (max-width:768px){
  body[data-page="book"] .booking-shell.is-loading.is-hidden-until-ready{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    min-height:188px !important;
    max-height:220px !important;
    overflow:hidden !important;
    pointer-events:auto !important;
  }

  body[data-page="book"] .booking-shell.is-loading .booking-stage,
  body[data-page="book"] .booking-shell.is-loading .booking-fallback,
  body[data-page="book"] .booking-shell.is-loading .booking-alt-card{
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  body[data-page="book"] .booking-shell.is-loading .booking-loader,
  body[data-page="book"] .booking-shell.is-loading .booking-loader.hidden{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:188px !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:none !important;
  }

  body[data-page="book"] .booking-loader-box--mobile-placeholder{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:86px;
    min-height:54px;
    padding:14px 20px;
    border-radius:999px;
    background:
      radial-gradient(circle at 18% 16%, rgba(253,146,72,.16), transparent 38%),
      radial-gradient(circle at 86% 18%, rgba(240,1,255,.10), transparent 36%),
      rgba(255,255,255,.94);
    border:1px solid rgba(253,146,72,.18);
    box-shadow:0 14px 38px rgba(32,18,26,.08);
  }

  body[data-page="book"] .booking-loader-dots--standalone{
    gap:8px;
  }

  body[data-page="book"] .booking-loader-dots--standalone span{
    width:9px;
    height:9px;
  }

  body[data-page="book"] .booking-shell.is-loaded .booking-loader,
  body[data-page="book"] .booking-shell.is-fallback .booking-loader{
    display:none !important;
  }

  body[data-page="book"] .booking-scroll-top-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    pointer-events:none;
    transform:translateY(10px) scale(.92);
    background:
      linear-gradient(135deg, rgba(253,146,72,.96), rgba(250,23,104,.96) 58%, rgba(240,1,255,.92));
    border:1px solid rgba(255,255,255,.66);
    color:#fff;
    box-shadow:
      0 10px calc(18px + (18px * var(--scroll-top-intensity, 0))) rgba(250,23,104,calc(.12 + (.18 * var(--scroll-top-intensity, 0)))),
      0 8px 24px rgba(17,17,20,.12);
    transition:opacity .28s ease, transform .28s ease, box-shadow .28s ease, filter .28s ease;
    filter:saturate(calc(.88 + (.28 * var(--scroll-top-intensity, 0)))) brightness(calc(.92 + (.12 * var(--scroll-top-intensity, 0))));
  }

  body[data-page="book"] .booking-scroll-top-btn.is-visible{
    opacity:var(--scroll-top-opacity, .28);
    pointer-events:auto;
    transform:translateY(0) scale(calc(.94 + (.06 * var(--scroll-top-intensity, 0))));
  }
}

@media (min-width:769px){
  body[data-page="book"] .booking-scroll-top-btn{
    display:none !important;
  }
}


/* v10.2.5.93 Book placeholder parity + desktop progressive arrow
   Keeps the v10.2.5.89-v10.2.5.92 Vagaro height envelope untouched.
   Adds the same loading dots shell to desktop, enables the progressive Back to Top arrow on desktop,
   and lifts the mobile arrow by approximately one button height. */
body[data-page="book"] .booking-loader-box--mobile-placeholder{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:86px;
  min-height:54px;
  padding:14px 20px;
  border-radius:999px;
  background:
    radial-gradient(circle at 18% 16%, rgba(253,146,72,.16), transparent 38%),
    radial-gradient(circle at 86% 18%, rgba(240,1,255,.10), transparent 36%),
    rgba(255,255,255,.94);
  border:1px solid rgba(253,146,72,.18);
  box-shadow:0 14px 38px rgba(32,18,26,.08);
}

body[data-page="book"] .booking-loader-dots--standalone{
  gap:8px;
}

body[data-page="book"] .booking-loader-dots--standalone span{
  width:9px;
  height:9px;
}

body[data-page="book"] .booking-shell.is-loaded .booking-loader,
body[data-page="book"] .booking-shell.is-fallback .booking-loader{
  display:none !important;
}

body[data-page="book"] .booking-scroll-top-btn{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  right:22px;
  bottom:28px;
  opacity:0;
  pointer-events:none;
  transform:translateY(10px) scale(.92);
  background:
    linear-gradient(135deg, rgba(253,146,72,.96), rgba(250,23,104,.96) 58%, rgba(240,1,255,.92));
  border:1px solid rgba(255,255,255,.66);
  color:#fff;
  box-shadow:
    0 10px calc(18px + (18px * var(--scroll-top-intensity, 0))) rgba(250,23,104,calc(.12 + (.18 * var(--scroll-top-intensity, 0)))),
    0 8px 24px rgba(17,17,20,.12);
  transition:opacity .28s ease, transform .28s ease, box-shadow .28s ease, filter .28s ease;
  filter:saturate(calc(.88 + (.28 * var(--scroll-top-intensity, 0)))) brightness(calc(.92 + (.12 * var(--scroll-top-intensity, 0))));
}

body[data-page="book"] .booking-scroll-top-btn.is-visible{
  opacity:var(--scroll-top-opacity, .28);
  pointer-events:auto;
  transform:translateY(0) scale(calc(.94 + (.06 * var(--scroll-top-intensity, 0))));
}

@media (min-width:769px){
  body[data-page="book"] .booking-shell.is-loading.is-hidden-until-ready{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    min-height:220px !important;
    max-height:260px !important;
    overflow:hidden !important;
    pointer-events:auto !important;
  }

  body[data-page="book"] .booking-shell.is-loading .booking-stage,
  body[data-page="book"] .booking-shell.is-loading .booking-fallback,
  body[data-page="book"] .booking-shell.is-loading .booking-alt-card{
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  body[data-page="book"] .booking-shell.is-loading .booking-loader,
  body[data-page="book"] .booking-shell.is-loading .booking-loader.hidden{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:220px !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:none !important;
  }
}

@media (max-width:768px){
  body[data-page="book"] .booking-scroll-top-btn{
    right:18px !important;
    bottom:70px !important;
  }
}

/* v10.2.5.99 mobile Book heading lift
   Mobile-only: halves the visual top gap between sticky header and Book page heading. */
@media (max-width:768px){
  body[data-page="book"] .booking-page{
    padding-top:9px !important;
  }

  body[data-page="book"] .small-hero{
    padding-top:14px !important;
  }
}


/* v10.2.5.100 Book persistent page gradient + animated loader gif
   Keeps the premium Book page background visible across the full page height after Vagaro redraw/resize,
   and replaces the secondary loading dots shell with the provided Shine Nail Bar animation. */
body[data-page="book"]{
  background:
    radial-gradient(circle at 10% 0%, rgba(253,146,72,.10), transparent 34%),
    radial-gradient(circle at 92% 4%, rgba(240,1,255,.08), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #fcfaf9 38%, #f8f0f5 100%) !important;
  background-repeat:no-repeat,no-repeat,no-repeat;
}

body[data-page="book"] .page-shell{
  min-height:100dvh;
  background:
    radial-gradient(circle at 10% 0%, rgba(253,146,72,.10), transparent 34%),
    radial-gradient(circle at 92% 4%, rgba(240,1,255,.08), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #fcfaf9 38%, #f8f0f5 100%);
  background-repeat:no-repeat,no-repeat,no-repeat;
}

body[data-page="book"] .booking-page,
body[data-page="book"] .footer{
  background:transparent !important;
}

body[data-page="book"] .booking-loader{
  background:transparent !important;
}

body[data-page="book"] .booking-loader-box--mobile-placeholder{
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

body[data-page="book"] .booking-loader-gif{
  display:block;
  width:min(229px, 54vw);
  height:auto;
  filter:drop-shadow(0 12px 28px rgba(250,23,104,.08));
}

@media (max-width:768px){
  body[data-page="book"] .booking-loader{
    padding-block:6px !important;
  }

  body[data-page="book"] .booking-loader-gif{
    width:min(208px, 62vw);
  }
}


/* v10.2.5.101 Book loader video replacement
   Replaces the edited GIF loader with a lightweight looping video pair (WebM + MP4 fallback)
   for cleaner rendering and better performance across desktop, Android, and iPhone Safari/PWA. */
body[data-page="book"] .booking-loader-video{
  display:block;
  width:min(229px, 54vw);
  height:auto;
  border:0;
  background:transparent;
  object-fit:contain;
  pointer-events:none;
  filter:drop-shadow(0 12px 28px rgba(250,23,104,.08));
}

@media (max-width:768px){
  body[data-page="book"] .booking-loader-video{
    width:min(208px, 62vw);
  }
}


/* v10.2.5.102 Book loader video full-block fit
   Expands the loader video to visually occupy the full loader block so there is no awkward visible border
   between the video area and the surrounding loader surface, while keeping the logo safely inside bounds. */
body[data-page="book"] .booking-loader{
  align-items:stretch !important;
  justify-content:stretch !important;
}

body[data-page="book"] .booking-loader-box--mobile-placeholder{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-width:100% !important;
  height:100% !important;
  min-height:100% !important;
  padding:0 !important;
  background:#ffffff !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

body[data-page="book"] .booking-loader-video{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#ffffff !important;
  filter:none !important;
}

@media (max-width:768px){
  body[data-page="book"] .booking-loader,
  body[data-page="book"] .booking-shell.is-loading .booking-loader,
  body[data-page="book"] .booking-shell.is-loading .booking-loader.hidden{
    min-height:188px !important;
    max-height:188px !important;
  }
}

@media (min-width:769px){
  body[data-page="book"] .booking-loader,
  body[data-page="book"] .booking-shell.is-loading .booking-loader,
  body[data-page="book"] .booking-shell.is-loading .booking-loader.hidden{
    min-height:220px !important;
    max-height:220px !important;
  }
}


/* v10.2.5.105 iOS PWA Book loader video reliability
   Uses the MP4 source first, adds a poster/background fallback, and nudges the muted inline video to play in iOS standalone mode. */
body[data-page="book"] .booking-loader-video{
  background:#ffffff url("/assets/video/book/shine-loader-poster.jpg") center center / contain no-repeat !important;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
}

/* v10.2.5.114 booking confirmation page
   Adds a lightweight confirmation/thank-you page for Vagaro post-booking redirects and GA4 booking confirmation tracking. */
.confirmation-page{
  padding:18px 0 46px;
}
.confirmation-hero .eyebrow{
  margin:0 0 12px;
  color:var(--brand-2);
  font-size:13px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-align:center;
}
.confirmation-card{
  max-width:820px;
  margin:0 auto;
  padding:30px;
  background:
    radial-gradient(circle at 18% 12%, rgba(253,146,72,.12), transparent 36%),
    radial-gradient(circle at 92% 12%, rgba(240,1,255,.08), transparent 34%),
    #ffffff;
}
.confirmation-card h2{
  margin:0 0 14px;
  font-size:28px;
  line-height:1.15;
}
.check-list{
  display:grid;
  gap:10px;
  margin:0 0 22px;
  padding:0;
  list-style:none;
  color:var(--text-2);
}
.check-list li{
  position:relative;
  padding-left:28px;
  line-height:1.55;
}
.check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--brand-2);
  font-weight:900;
}
@media (max-width:768px){
  .confirmation-page{padding-top:10px;}
  .confirmation-card{padding:24px 18px;border-radius:26px;}
  .confirmation-card h2{font-size:24px;}
}


/* v10.2.5.117 confirmation action buttons
   Keeps booking confirmation actions readable after splitting Call/SMS/WhatsApp/Contacts. */
.confirmation-actions{
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.confirmation-actions .btn{
  min-height:48px;
  padding:12px 18px;
}
@media (max-width:640px){
  .confirmation-actions{
    align-items:stretch;
  }
  .confirmation-actions .btn{
    width:100%;
  }
}
