html{scroll-behavior:smooth}body,button,input,select,textarea{font-family:"Open Sans",system-ui,sans-serif}.site-header{margin:14px auto 18px;padding:12px 16px 12px 20px;background:rgba(255,255,255,.96);border:1px solid #ece6e8;border-radius:28px;box-shadow:0 18px 55px rgba(54,37,48,.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.language-switcher{display:inline-flex;align-items:center;gap:3px;padding:4px;border:1px solid #e9e2e6;border-radius:13px;background:#f8f5f7;white-space:nowrap}.language-switcher button{min-width:29px;height:29px;border:0;border-radius:9px;background:transparent;color:#8b8188;font:800 9px "Open Sans",system-ui;cursor:pointer;transition:background .16s,color .16s,box-shadow .16s}.language-switcher button:hover{color:#171518}.language-switcher button.active{background:#fff;color:#171518;box-shadow:0 4px 12px rgba(43,31,38,.09)}.desktop-language-switcher{flex:0 0 auto}.mobile-language-switcher{display:none;margin:0 0 12px;width:max-content}
.button,.nav-booking{border-radius:16px}.button-dark{border:0;background:linear-gradient(105deg,#ff574d,#ec277b 55%,#9e39df);box-shadow:0 12px 28px rgba(218,45,120,.16)}
.button-dark:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(218,45,120,.22)}
.salon-card,.price-card,.promise-grid article,.feature-card,.step-card{border-color:#eee4e8;box-shadow:0 18px 50px rgba(81,45,61,.06)}
@media(max-width:760px){.site-header{left:auto;right:auto;top:auto;width:calc(100% - 24px);height:82px;margin:10px auto 12px;padding:7px 10px 7px 14px;border-radius:23px}.mobile-menu{border-radius:0 0 28px 28px}.button{min-height:50px}}
@media(max-width:1600px) and (min-width:901px){.site-wordmark{width:190px;height:64px}.desktop-nav{gap:12px;font-size:11px}.desktop-nav .nav-admin{padding-left:12px}.desktop-language-switcher{gap:2px;padding:3px}.desktop-language-switcher button{min-width:25px;width:25px;height:29px;font-size:8.5px}.desktop-nav .button-small{padding-left:15px;padding-right:15px}}
@media(max-width:900px){.desktop-language-switcher{display:none}.mobile-menu{z-index:46;justify-content:flex-start!important;gap:15px!important;padding:112px 24px 30px;overflow-y:auto;font-size:20px!important}.mobile-language-switcher{display:inline-flex;flex:none;margin:0 0 6px}.mobile-menu .button{width:min(300px,100%)}.mobile-menu a{flex:none}}

/* One shared outer grid: every major site block follows the header edges. */
:root{--site-shell:min(1320px,calc(100% - 48px))}
.site-header,
.hero,
.category-strip,
.section,
.site-footer,
.booking-page,
.pro-hero,
.pro-proof,
.pro-features,
.master-cta,
.professionals-section,
.platform-section,
.present-hero,
.present-metrics,
.present-open-slot,
.present-language,
.present-final,
.pricing-hero,
.pricing-section,
.pricing-compare,
.pricing-faq{
  width:var(--site-shell);
  max-width:1320px;
  margin-left:auto;
  margin-right:auto;
}
.pro-features,.professionals-section,.platform-section,.pricing-hero,.pricing-section,.pricing-compare,.pricing-faq{overflow:hidden;border-radius:36px}
.pro-features-inner{max-width:none}
.pricing-hero,.pricing-section,.pricing-compare,.pricing-faq{margin-bottom:24px}
.pricing-grid,.studio-later{width:100%;max-width:none}

/* Calm vertical rhythm between the large visual blocks. */
.site-header{margin-top:18px;margin-bottom:26px}
.hero{margin-bottom:42px}
.restored-hero{margin-bottom:36px}
.restored-hero+.pro-hero{padding-top:88px;padding-bottom:82px}
.pro-proof{margin-top:30px;margin-bottom:86px}
.pro-features{margin-top:48px;margin-bottom:0}
.integration-ribbon{margin-top:56px;margin-bottom:56px}
.master-cta{margin-top:56px;margin-bottom:30px}
.site-footer{margin-top:0;margin-bottom:30px}

/* Light premium redesign of the feature system block. */
.pro-features{
  color:#181719;
  background:
    radial-gradient(circle at 12% 8%,rgba(255,181,199,.3),transparent 28%),
    radial-gradient(circle at 92% 14%,rgba(181,157,255,.27),transparent 30%),
    linear-gradient(135deg,#fff8f5 0%,#f8f2f7 50%,#f3efff 100%);
  border:1px solid #eee4ea;
  box-shadow:0 28px 80px rgba(66,43,58,.08);
  padding:96px 56px;
}
.pro-features .section-heading-light .eyebrow{color:#df3479}
.pro-features .section-heading-light h2{color:#181719}
.pro-feature-grid{gap:16px;margin-top:50px}
.pro-feature-card{
  min-height:275px;
  color:#181719;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(255,255,255,.96);
  box-shadow:0 16px 42px rgba(76,48,65,.065);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:transform .25s ease,box-shadow .25s ease;
}
.pro-feature-card:before{content:"";position:absolute;left:28px;right:28px;top:0;height:3px;border-radius:0 0 99px 99px;background:linear-gradient(90deg,#ff574d,#ec277b 55%,#8c43e6)}
.pro-feature-card:hover{transform:translateY(-4px);box-shadow:0 24px 55px rgba(76,48,65,.11)}
.pro-feature-card>span{color:#eadfe7}
.pro-feature-card small{color:#df3479}
.pro-feature-card h3{color:#181719}
.pro-feature-card p{color:#756e76}

@media(max-width:760px){
  :root{--site-shell:calc(100% - 24px)}
  .site-header,
  .hero,
  .category-strip,
  .section,
  .site-footer,
  .booking-page,
  .pro-proof,
  .pro-features,
  .master-cta,
  .professionals-section,
  .platform-section,
  .present-hero,
  .present-metrics,
  .present-open-slot,
  .present-language,
  .present-final,
  .pricing-hero,
  .pricing-section,
  .pricing-compare,
  .pricing-faq{width:var(--site-shell);max-width:none;margin-left:auto;margin-right:auto}
  .pro-hero{width:var(--site-shell)!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important}
  .pro-features,.professionals-section,.platform-section,.pricing-hero,.pricing-section,.pricing-compare,.pricing-faq{border-radius:26px}
  .site-header{margin-top:10px;margin-bottom:16px}
  .hero,.restored-hero{margin-bottom:26px}
  .restored-hero+.pro-hero{padding-top:58px;padding-bottom:58px}
  .pro-proof{margin-top:22px;margin-bottom:58px}
  .pro-features{margin-top:32px;padding:68px 20px}
  .integration-ribbon{margin-top:36px;margin-bottom:36px}
  .master-cta{margin-top:36px;margin-bottom:22px}
  .site-footer{margin-bottom:20px}
  .pro-feature-grid{margin-top:38px}
}

/* Compact, extensible language dropdown used by the site and master pages. */
.language-dropdown{
  position:relative;
  display:inline-block;
  flex:0 0 auto;
  width:70px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  white-space:normal;
}
.language-dropdown .language-select-trigger{
  width:70px;
  min-width:70px;
  height:40px;
  padding:0 9px 0 12px;
  border:1px solid #e8e0e5;
  border-radius:13px;
  background:linear-gradient(145deg,#fff,#f8f4f7);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:7px;
  color:#171518;
  font:900 10px "Open Sans",system-ui,sans-serif;
  cursor:pointer;
  box-shadow:0 7px 18px rgba(44,31,39,.055);
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
.language-dropdown .language-select-trigger:hover,
.language-dropdown .language-select-trigger[aria-expanded="true"]{border-color:#ec277b;box-shadow:0 8px 22px rgba(236,39,123,.12)}
.language-dropdown .language-select-trigger:active{transform:scale(.97)}
.language-dropdown .language-select-trigger:focus-visible,
.language-dropdown .language-select-option:focus-visible{outline:3px solid rgba(236,39,123,.18);outline-offset:2px}
.language-dropdown .language-select-trigger i{
  width:20px;
  height:20px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fff;
  color:#81777e;
  font-size:11px;
  font-style:normal;
  transition:transform .18s;
}
.language-dropdown .language-select-trigger[aria-expanded="true"] i{transform:rotate(180deg)}
.language-dropdown .language-select-trigger i .ui-icon{width:12px;height:12px;display:block}
.language-dropdown .language-select-menu{
  position:absolute;
  z-index:180;
  top:calc(100% + 8px);
  right:0;
  width:184px;
  padding:7px;
  border:1px solid #e8e0e5;
  border-radius:17px;
  background:rgba(255,255,255,.98);
  box-shadow:0 22px 55px rgba(42,29,37,.18);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.language-dropdown .language-select-menu[hidden]{display:none!important}
.language-dropdown .language-select-option{
  width:100%;
  min-width:0;
  height:43px;
  padding:5px 8px;
  border:0;
  border-radius:11px;
  background:transparent;
  display:grid;
  grid-template-columns:32px minmax(0,1fr) 20px;
  align-items:center;
  gap:8px;
  color:#312b2f;
  text-align:left;
  cursor:pointer;
}
.language-dropdown .language-select-option:hover{background:#fff4f8;color:#bd1f60}
.language-dropdown .language-select-option.active{background:linear-gradient(135deg,#fff2ec,#f7efff);color:#171518}
.language-dropdown .language-select-option b{font-size:9px;letter-spacing:.08em}
.language-dropdown .language-select-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700}
.language-dropdown .language-select-option i{color:#e62473;text-align:center;font-size:11px;font-style:normal}
.language-dropdown .language-select-option i .ui-icon{width:15px;height:15px;display:block;margin:auto}

@media(max-width:1380px) and (min-width:901px){
  .site-wordmark{width:172px;height:60px}
  .desktop-nav{gap:9px;font-size:10.5px}
  .desktop-nav .nav-admin{padding-left:9px}
  .desktop-nav .button-small{padding-left:13px;padding-right:13px}
}
@media(max-width:900px){
  .mobile-language-switcher.language-dropdown{display:inline-block;width:92px;margin:0 0 8px}
  .mobile-language-switcher .language-select-trigger{width:92px;min-width:92px;height:44px;font-size:11px}
  .mobile-language-switcher .language-select-menu{right:auto;left:0;width:210px}
}

/* Public-site arrows share one optical size and alignment. */
.hero-actions a,.pro-hero-actions a,.master-cta .button{align-items:center;gap:9px}
.hero-actions .ui-icon,.pro-hero-actions .ui-icon,.master-cta .ui-icon{font-size:15px}
.text-link .ui-icon{transition:transform .18s}
.text-link:hover .ui-icon{transform:translateX(3px)}
.story-arrow .ui-icon{width:25px;height:25px;display:block}

/* Cyrillic copy is longer and visually wider: keep major home headings balanced. */
html:is(:lang(uk),:lang(ru)) .landing-hero h1{
  max-width:790px;
  font-size:clamp(45px,4.65vw,69px);
  line-height:1.015;
  letter-spacing:-.045em;
}
html:is(:lang(uk),:lang(ru)) .pro-hero-copy h1{
  max-width:820px;
  font-size:clamp(48px,4.85vw,77px);
  line-height:1.015;
  letter-spacing:-.048em;
}
html:is(:lang(uk),:lang(ru)) .wide-heading h2{
  font-size:clamp(40px,4.25vw,65px);
  line-height:1.06;
  letter-spacing:-.045em;
}
html:is(:lang(uk),:lang(ru)) .master-cta h2{font-size:clamp(40px,4.25vw,66px);line-height:1.04}

@media(max-width:760px){
  html:is(:lang(uk),:lang(ru)) .landing-hero h1{font-size:42px;line-height:1.04}
  html:is(:lang(uk),:lang(ru)) .pro-hero-copy h1{font-size:38px;line-height:1.06;overflow-wrap:normal;word-break:normal;hyphens:auto}
  html:is(:lang(uk),:lang(ru)) .wide-heading h2,
  html:is(:lang(uk),:lang(ru)) .master-cta h2{font-size:36px;line-height:1.08}
}
