/* =====================================================================
   GOLD SYLONE — MAIN STYLESHEET
   Premium unisex salon & beauty academy. Gold / deep charcoal palette.
   Mobile-first, no framework dependency, fast-loading.
   ===================================================================== */

:root {
  --gold: #b8934a;
  --gold-light: #d9b876;
  --gold-dark: #8f6d34;
  --charcoal: #171310;
  --charcoal-soft: #241f1a;
  --cream: #faf6ef;
  --white: #ffffff;
  --rose: #b56b6b;
  --text-dark: #2a2420;
  --text-muted: #6b6259;
  --border-soft: #e8e0d2;
  --radius: 14px;
  --radius-sm: 8px;
  --shadow: 0 10px 30px rgba(23, 19, 16, 0.08);
  --shadow-strong: 0 20px 45px rgba(23, 19, 16, 0.18);
  --font-heading: 'Playfair Display', Georgia, serif;
  --font-body: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
  --max-width: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-body);
  color: var(--text-dark);
  background: var(--white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  position: relative;
  width: 100%;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, h4 { font-family: var(--font-heading); font-weight: 600; line-height: 1.2; margin: 0 0 .5em; color: var(--charcoal); }
p { margin: 0 0 1em; color: var(--text-muted); }
.container { max-width: var(--max-width); margin: 0 auto; padding: 0 20px; }

.skip-link {
  position: absolute; left: -999px; top: 0; background: var(--gold); color: #fff;
  padding: 10px 16px; z-index: 999; border-radius: 0 0 8px 0;
}
.skip-link:focus { left: 0; }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 13px 28px; border-radius: 100px; font-weight: 600; font-size: 15px;
  border: 2px solid transparent; cursor: pointer; transition: all .25s ease;
  white-space: nowrap;
}
.btn-primary { background: linear-gradient(135deg, var(--gold-light), var(--gold)); color: #211a10; }
.btn-primary:hover { filter: brightness(1.07); transform: translateY(-1px); }
.btn-outline { border-color: var(--gold); color: var(--gold-dark); background: transparent; }
.btn-outline:hover { background: var(--gold); color: #fff; }
.btn-outline-light { border-color: rgba(255,255,255,.6); color: #fff; background: transparent; }
.btn-outline-light:hover { background: rgba(255,255,255,.12); }
.btn-dark { background: var(--charcoal); color: #fff; }
.btn-dark:hover { background: #000; }
.btn-sm { padding: 9px 18px; font-size: 13px; }
.btn-block { width: 100%; }

/* ---------- Header ---------- */
.site-header {
  position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.96);
  backdrop-filter: blur(8px); border-bottom: 1px solid var(--border-soft);
}
.header-inner { display: flex; align-items: center; justify-content: space-between; padding: 12px 20px; gap: 16px; }
.brand { display: flex; align-items: center; gap: 10px; }
.brand-mark {
  width: 42px; height: 42px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--gold-light), var(--gold-dark)); color: #fff; font-family: var(--font-heading);
  font-weight: 700; font-size: 16px; flex-shrink: 0;
}
.brand-text { display: flex; flex-direction: column; line-height: 1.1; }
.brand-name { font-family: var(--font-heading); font-weight: 700; font-size: 19px; color: var(--charcoal); }
.brand-tag { font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--gold-dark); }

.main-nav ul { display: flex; gap: 26px; }
.main-nav a { font-size: 14.5px; font-weight: 500; color: var(--text-dark); position: relative; padding: 6px 0; }
.main-nav a.active, .main-nav a:hover { color: var(--gold-dark); }
.main-nav a.active::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: var(--gold);
}

.header-actions { display: flex; align-items: center; gap: 10px; }
.icon-btn {
  width: 38px; height: 38px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: var(--cream); font-size: 16px;
}
.hamburger {
  display: none; flex-direction: column; justify-content: center; gap: 5px; width: 40px; height: 40px;
  background: none; border: none; cursor: pointer; padding: 0;
}
.hamburger span { display: block; width: 22px; height: 2px; background: var(--charcoal); margin: 0 auto; transition: .25s; }
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------- Hero ---------- */
.hero {
  background: linear-gradient(160deg, var(--charcoal) 0%, var(--charcoal-soft) 55%, #2c2417 100%);
  color: #fff; padding: 72px 0 90px; position: relative; overflow: hidden;
}
.hero::before {
  content: ''; position: absolute; width: 480px; height: 480px; border-radius: 50%;
  background: radial-gradient(circle, rgba(184,147,74,.35), transparent 70%);
  top: -180px; right: -140px;
}
.hero-inner { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; position: relative; }
.hero-eyebrow { color: var(--gold-light); letter-spacing: .12em; text-transform: uppercase; font-size: 12.5px; font-weight: 600; margin-bottom: 14px; display: inline-block; }
.hero h1 { color: #fff; font-size: clamp(32px, 4.4vw, 54px); margin-bottom: 18px; }
.hero p.lead { color: rgba(255,255,255,.8); font-size: 17px; max-width: 480px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
.hero-stats { display: flex; gap: 30px; margin-top: 40px; flex-wrap: wrap; }
.hero-stats div strong { display: block; font-family: var(--font-heading); font-size: 26px; color: var(--gold-light); }
.hero-stats div span { font-size: 12.5px; color: rgba(255,255,255,.65); }
.hero-visual {
  aspect-ratio: 4/5; border-radius: var(--radius); background: linear-gradient(135deg, rgba(184,147,74,.35), rgba(255,255,255,.06));
  display: flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.14); overflow: hidden;
}
.hero-visual img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- Sections ---------- */
.section { padding: 70px 0; }
.section-tight { padding: 50px 0; }
.section-alt { background: var(--cream); }
.section-dark { background: var(--charcoal); color: #fff; }
.section-dark h2, .section-dark h3 { color: #fff; }
.section-header { text-align: center; max-width: 640px; margin: 0 auto 46px; }
.eyebrow { color: var(--gold-dark); text-transform: uppercase; letter-spacing: .1em; font-size: 12.5px; font-weight: 700; }
.section-header h2 { font-size: clamp(26px, 3.4vw, 38px); margin-top: 8px; }

/* ---------- Grids / Cards ---------- */
.grid { display: grid; gap: 24px; }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }

.card {
  background: #fff; border: 1px solid var(--border-soft); border-radius: var(--radius);
  padding: 28px; box-shadow: var(--shadow); transition: transform .25s ease, box-shadow .25s ease;
}
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow-strong); }
.card-icon {
  width: 52px; height: 52px; border-radius: 50%; background: linear-gradient(135deg, var(--gold-light), var(--gold));
  color: #fff; display: flex; align-items: center; justify-content: center; font-size: 22px; margin-bottom: 16px;
}

.service-card { display: flex; flex-direction: column; height: 100%; }
.service-card .badge { align-self: flex-start; background: var(--rose); color: #fff; font-size: 11px; padding: 4px 10px; border-radius: 100px; margin-bottom: 10px; font-weight: 600; }
.service-card .price-row { display: flex; align-items: baseline; gap: 10px; margin-top: auto; padding-top: 14px; border-top: 1px dashed var(--border-soft); }
.price-old { text-decoration: line-through; color: var(--text-muted); font-size: 14px; }
.price-new { font-family: var(--font-heading); font-size: 22px; color: var(--gold-dark); font-weight: 700; }
.service-meta { font-size: 12.5px; color: var(--text-muted); margin-bottom: 6px; }

.offer-card {
  border-radius: var(--radius); padding: 30px; color: #fff; position: relative; overflow: hidden;
  background: linear-gradient(135deg, var(--charcoal), #3a2f1e);
}
.offer-card.theme-rose { background: linear-gradient(135deg, #4a2a2a, var(--rose)); }
.offer-card h3 { color: var(--gold-light); }
.offer-card.theme-rose h3 { color: #ffd9d9; }
.offer-card p { color: rgba(255,255,255,.82); }

.course-card { display: flex; flex-direction: column; }
.course-meta-list { display: flex; flex-wrap: wrap; gap: 10px 18px; font-size: 13px; color: var(--text-muted); margin: 14px 0; }
.course-meta-list strong { color: var(--text-dark); }
.seats-bar { height: 6px; border-radius: 4px; background: var(--border-soft); overflow: hidden; margin-top: 6px; }
.seats-bar-fill { height: 100%; background: linear-gradient(90deg, var(--gold-light), var(--gold)); }

.testimonial-card { background: var(--cream); border: none; }
.testimonial-stars { color: var(--gold); font-size: 15px; margin-bottom: 10px; }
.testimonial-name { font-weight: 600; color: var(--text-dark); margin-top: 14px; }
.testimonial-role { font-size: 12.5px; color: var(--text-muted); }

.why-item { display: flex; gap: 14px; align-items: flex-start; }
.why-item .num { font-family: var(--font-heading); font-size: 22px; color: var(--gold); font-weight: 700; flex-shrink: 0; }

/* ---------- Membership ---------- */
.membership-card {
  background: linear-gradient(160deg, var(--charcoal), #2c2417); color: #fff; border-radius: var(--radius);
  padding: 40px; box-shadow: var(--shadow-strong); max-width: 560px; margin: 0 auto;
}
.membership-card h3 { color: var(--gold-light); font-size: 28px; }
.membership-price { font-family: var(--font-heading); font-size: 40px; color: #fff; margin: 10px 0; }
.membership-price span { font-size: 15px; color: rgba(255,255,255,.6); font-family: var(--font-body); }
.membership-benefits { margin: 22px 0; }
.membership-benefits li { padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,.1); display: flex; gap: 10px; }
.membership-benefits li::before { content: '✓'; color: var(--gold-light); font-weight: 700; }

/* ---------- Gallery ---------- */
.gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.gallery-grid .gitem { border-radius: var(--radius-sm); overflow: hidden; aspect-ratio: 1; background: var(--cream); }
.gallery-grid .gitem img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.gallery-grid .gitem:hover img { transform: scale(1.06); }

/* ---------- Forms ---------- */
.form-card { background: #fff; border: 1px solid var(--border-soft); border-radius: var(--radius); padding: 36px; box-shadow: var(--shadow); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.form-group { margin-bottom: 18px; }
.form-group label { display: block; font-size: 13.5px; font-weight: 600; color: var(--text-dark); margin-bottom: 7px; }
.form-group .req { color: var(--rose); }
.form-control {
  width: 100%; padding: 12px 14px; border: 1.5px solid var(--border-soft); border-radius: var(--radius-sm);
  font-family: var(--font-body); font-size: 14.5px; background: #fff; color: var(--text-dark); transition: border-color .2s;
}
.form-control:focus { outline: none; border-color: var(--gold); }
textarea.form-control { resize: vertical; min-height: 110px; }
.form-hint { font-size: 12px; color: var(--text-muted); margin-top: 5px; }
.form-error { font-size: 12.5px; color: #b23b3b; margin-top: 5px; display: block; }
.alert { padding: 14px 18px; border-radius: var(--radius-sm); margin-bottom: 22px; font-size: 14.5px; }
.alert-success { background: #e7f5ec; color: #22633c; border: 1px solid #bfe6cd; }
.alert-error { background: #fbe9e9; color: #a13a3a; border: 1px solid #f2c4c4; }

/* ---------- CTA Strip ---------- */
.cta-strip { background: linear-gradient(135deg, var(--gold-dark), var(--gold)); padding: 40px 0; color: #241a08; }
.cta-strip-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.cta-strip h2 { color: #241a08; font-size: 24px; margin-bottom: 4px; }
.cta-strip p { color: rgba(36,26,8,.75); margin: 0; }
.cta-strip-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.cta-strip .btn-primary { background: var(--charcoal); color: #fff; }
.cta-strip .btn-outline-light { border-color: rgba(36,26,8,.4); color: #241a08; }

/* ---------- Footer ---------- */
.site-footer { background: var(--charcoal); color: rgba(255,255,255,.75); padding: 60px 0 0; }
.footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: 36px; padding-bottom: 40px; }
.footer-col h3 { color: #fff; font-size: 15px; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 16px; }
.footer-col ul li { margin-bottom: 10px; }
.footer-col a:hover { color: var(--gold-light); }
.footer-brand p { color: rgba(255,255,255,.6); font-size: 14px; margin-top: 14px; }
.footer-social { display: flex; gap: 14px; margin-top: 16px; }
.footer-social a { font-size: 13px; border: 1px solid rgba(255,255,255,.2); padding: 6px 14px; border-radius: 100px; }
address { font-style: normal; color: rgba(255,255,255,.65); font-size: 14px; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.1); padding: 18px 0; font-size: 13px; color: rgba(255,255,255,.5); text-align: center; }

/* ---------- WhatsApp float ---------- */
.whatsapp-float {
  position: fixed; bottom: 22px; right: 22px; width: 56px; height: 56px; border-radius: 50%;
  background: #25D366; color: #fff; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 22px rgba(37,211,102,.45); z-index: 90;
}

/* ---------- Breadcrumb / page header ---------- */
.page-header { background: var(--cream); padding: 44px 0; text-align: center; border-bottom: 1px solid var(--border-soft); }
.page-header h1 { margin-bottom: 6px; }
.page-header p { max-width: 560px; margin: 0 auto; }

/* ---------- Utility ---------- */
.text-center { text-align: center; }
.mt-0 { margin-top: 0; }
.small-note { font-size: 13px; color: var(--text-muted); }

/* ---------- Legal pages ---------- */
.legal-content h2 { margin-top: 34px; font-size: 20px; }
.legal-content p, .legal-content li { color: var(--text-muted); font-size: 15px; }
.legal-content ul { list-style: disc; padding-left: 22px; }
.legal-content ul li { margin-bottom: 8px; }

/* =====================================================================
   RESPONSIVE — mobile treated as first-class, not scaled desktop
   ===================================================================== */
@media (max-width: 980px) {
  .hero-inner { grid-template-columns: 1fr; }
  .hero-visual { max-width: 420px; margin: 0 auto; }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  .main-nav {
    position: fixed; top: 68px; left: 0; width: 100%; height: calc(100% - 68px); background: #fff; padding: 24px 20px;
    transform: translateX(100%); transition: transform .3s ease; overflow-y: auto; z-index: 99; box-sizing: border-box;
  }
  .main-nav.open { transform: translateX(0); }
  .main-nav ul { flex-direction: column; gap: 4px; }
  .main-nav a { display: block; padding: 14px 4px; font-size: 16px; border-bottom: 1px solid var(--border-soft); }
  .hamburger { display: flex; }
  .header-actions .btn-sm.btn-primary { display: none; }
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; text-align: left; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .cta-strip-inner { flex-direction: column; text-align: center; }
  .membership-card { padding: 26px; }
  .hero { padding: 48px 0 60px; }
  .section { padding: 48px 0; }
}

@media (max-width: 420px) {
  .hero-stats { gap: 18px; }
  .form-card { padding: 22px; }
}


/* =====================================================================
   2026-09-22 MOBILE UI HARDENING
   Keeps the public site full-width on small screens and prevents stale
   desktop/grid rules from producing a half-page layout.
   ===================================================================== */
html, body { width: 100%; max-width: 100%; }
main, .site-header, .hero, .section, .section-alt, .section-dark, .cta-strip, .site-footer {
  width: 100%; max-width: 100%;
}
.container { width: 100%; min-width: 0; }
.grid > *, .hero-inner > * { min-width: 0; }
.hero-visual .hero-fallback-logo {
  object-fit: contain;
  padding: 42px;
  background: radial-gradient(circle at 50% 45%, rgba(217,184,118,.16), rgba(23,19,16,.82) 65%);
}

@media (max-width: 760px) {
  body { overflow-x: clip; }
  .container { max-width: none; padding-left: 18px; padding-right: 18px; }

  .site-header { width: 100vw; }
  .header-inner { width: 100%; padding: 9px 16px; gap: 10px; }
  .brand { min-width: 0; gap: 8px; }
  .brand-mark { width: 38px; height: 38px; font-size: 14px; }
  .brand-name { font-size: 17px; }
  .brand-tag { font-size: 8.5px; letter-spacing: .07em; }
  .header-actions { margin-left: auto; gap: 4px; flex-shrink: 0; }
  .icon-btn, .hamburger { width: 38px; height: 38px; }

  .hero {
    width: 100vw;
    min-height: auto;
    padding: 42px 0 40px;
    background: linear-gradient(155deg, #171310 0%, #211b15 63%, #342817 100%);
  }
  .hero::before {
    width: 330px; height: 330px; top: -135px; right: -145px;
    background: radial-gradient(circle, rgba(217,184,118,.28), transparent 68%);
  }
  .hero-inner { display: block !important; width: 100% !important; max-width: none !important; }
  .hero-copy { width: 100% !important; max-width: none !important; }
  .hero-visual { display: none !important; }
  .hero-eyebrow { font-size: 10.5px; line-height: 1.55; margin-bottom: 10px; letter-spacing: .11em; }
  .hero h1 { font-size: clamp(34px, 10vw, 43px); line-height: 1.08; margin-bottom: 15px; max-width: 340px; }
  .hero p.lead { font-size: 14.5px; line-height: 1.7; max-width: 355px; }
  .hero-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    width: 100%;
    margin-top: 24px;
  }
  .hero-actions .btn { width: 100%; min-width: 0; padding: 12px 12px; font-size: 13.5px; }
  .hero-actions .btn:first-child { grid-column: 1 / -1; }
  .hero-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin-top: 31px;
    padding-top: 21px;
    border-top: 1px solid rgba(255,255,255,.12);
  }
  .hero-stats div { padding-right: 10px; min-width: 0; }
  .hero-stats div + div { padding-left: 12px; border-left: 1px solid rgba(255,255,255,.12); }
  .hero-stats div strong { font-size: 23px; line-height: 1.15; }
  .hero-stats div span { display: block; margin-top: 4px; font-size: 10px; line-height: 1.35; }

  .section { width: 100vw; padding: 44px 0; }
  .section-tight { padding: 38px 0; }
  .section-header { margin-bottom: 28px; text-align: left; }
  .section-header h2 { font-size: 28px; }
  .grid, .grid-2, .grid-3, .grid-4 { width: 100%; }
  .card { width: 100%; padding: 22px; }
  .membership-card { width: 100%; max-width: none; }
  .cta-strip, .site-footer { width: 100vw; }
  .whatsapp-float { right: 16px; bottom: 18px; }
}

@media (max-width: 360px) {
  .header-inner { padding-left: 12px; padding-right: 12px; }
  .brand-tag { display: none; }
  .hero-actions { grid-template-columns: 1fr; }
  .hero-actions .btn:first-child { grid-column: auto; }
  .hero-stats { grid-template-columns: 1fr 1fr; row-gap: 18px; }
  .hero-stats div:nth-child(3) { grid-column: 1 / -1; border-left: 0; padding-left: 0; }
}

/* =====================================================================
   GOLD SYLONE PUBLIC APP UI V3 — 22 Sep 2026
   Mobile-first website shell + branch chooser. Avoids 100vw so phone browser
   chrome / scrollbar math can never create a clipped half-width page.
   ===================================================================== */
:root {
  --app-bg: #f7f5f0;
  --app-surface: #ffffff;
  --app-ink: #191612;
  --app-muted: #756c61;
  --app-gold: #c49a45;
  --app-gold-soft: #f5ead1;
  --app-dark: #15120f;
  --app-line: #e9e3d9;
  --app-shadow: 0 12px 34px rgba(35, 28, 19, .08);
}
html, body { min-width: 100%; width: 100%; max-width: none; overflow-x: hidden; }
body.public-app { background: var(--app-bg); }
body.overlay-open { overflow: hidden !important; touch-action: none; }
body.public-app main { display: block; min-width: 100%; width: 100%; max-width: none; }
body.public-app .container { width: min(1180px, calc(100% - 40px)); max-width: 1180px; margin-inline: auto; padding-inline: 0; }

/* App header */
body.public-app .site-header {
  width: 100%; max-width: none; background: rgba(255,255,255,.95); border: 0; border-bottom: 1px solid rgba(35,28,19,.07);
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); transition: box-shadow .2s ease;
}
body.public-app .site-header.scrolled { box-shadow: 0 8px 25px rgba(24,18,13,.07); }
body.public-app .header-inner { width: min(1240px, calc(100% - 32px)); margin: 0 auto; min-height: 76px; padding: 10px 0; display: flex; align-items: center; gap: 16px; }
body.public-app .brand { flex: 0 0 auto; min-width: 190px; gap: 10px; }
.brand-logo { width: 48px; height: 48px; flex: 0 0 48px; border-radius: 50%; overflow: hidden; background: #050505; box-shadow: 0 6px 16px rgba(0,0,0,.14); }
.brand-logo img { width: 100%; height: 100%; object-fit: cover; }
body.public-app .brand-name { font-size: 20px; }
body.public-app .brand-tag { font-size: 9px; }
.desktop-nav { display: flex; align-items: center; justify-content: center; gap: 22px; margin-left: auto; }
.desktop-nav a { font-size: 13.5px; font-weight: 500; color: #514a42; padding: 9px 0; position: relative; }
.desktop-nav a.active, .desktop-nav a:hover { color: #8b692e; }
.desktop-nav a.active::after { content:""; position:absolute; left:0; right:0; bottom:2px; height:2px; border-radius:2px; background:var(--app-gold); }
.branch-chip { border: 1px solid var(--app-line); background: #fbfaf7; border-radius: 14px; min-width: 160px; max-width: 220px; height: 48px; padding: 6px 10px; display: flex; align-items: center; gap: 8px; cursor: pointer; color: var(--app-ink); }
.branch-chip > svg:first-child { width: 19px; height: 19px; fill: var(--gold-dark); flex: 0 0 19px; }
.branch-chip span { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; line-height: 1.15; }
.branch-chip small { font-size: 8.5px; color: var(--app-muted); text-transform: uppercase; letter-spacing: .08em; }
.branch-chip strong { max-width: 130px; font-size: 11.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.branch-chip .chevron { width: 16px; height: 16px; margin-left: auto; fill: none; stroke: #8b8175; stroke-width: 2; }
.header-icon-btn { width: 42px; height: 42px; display: grid; place-items: center; border:1px solid var(--app-line); border-radius: 13px; background:#fff; }
.header-icon-btn svg { width:20px; height:20px; fill:none; stroke:#332d26; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
body.public-app .hamburger { width: 42px; height: 42px; border-radius: 13px; background:#f8f5ef; }

/* Mobile drawer */
.mobile-nav { position: fixed; inset: 0; z-index: 999; pointer-events: none; visibility: hidden; }
.mobile-nav.open { pointer-events: auto; visibility: visible; }
.mobile-nav-backdrop { position:absolute; inset:0; background:rgba(15,12,10,.52); opacity:0; transition:.24s ease; }
.mobile-nav.open .mobile-nav-backdrop { opacity:1; }
.mobile-nav-panel { position:absolute; top:0; right:0; width:min(390px, 92%); height:100%; background:#fff; transform:translateX(104%); transition:transform .28s ease; padding: max(18px, env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom)); overflow:auto; box-shadow:-20px 0 60px rgba(0,0,0,.2); }
.mobile-nav.open .mobile-nav-panel { transform:translateX(0); }
.mobile-nav-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:16px; border-bottom:1px solid var(--app-line); }
.mobile-nav-brand { display:flex; align-items:center; gap:10px; min-width:0; }
.mobile-nav-brand img { width:48px; height:48px; border-radius:50%; background:#050505; }
.mobile-nav-brand span { display:flex; flex-direction:column; min-width:0; }
.mobile-nav-brand strong { font-family:var(--font-heading); font-size:18px; }
.mobile-nav-brand small { color:var(--app-muted); font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:210px; }
.sheet-close { width:38px; height:38px; border-radius:12px; border:1px solid var(--app-line); background:#f8f6f2; color:#342e28; font-size:26px; line-height:1; cursor:pointer; }
.mobile-location-card { width:100%; margin:16px 0 10px; border:1px solid #eadfca; background:linear-gradient(135deg,#fffaf0,#f8f0df); border-radius:18px; padding:13px; display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:10px; align-items:center; text-align:left; cursor:pointer; }
.location-pin { width:38px; height:38px; border-radius:12px; display:grid; place-items:center; background:#17130f; color:#e6bd66; font-size:20px; }
.mobile-location-card span:nth-child(2) { min-width:0; display:flex; flex-direction:column; }
.mobile-location-card small { color:#8b7960; font-size:9px; text-transform:uppercase; letter-spacing:.07em; }
.mobile-location-card strong { font-size:12.5px; margin:1px 0; }
.mobile-location-card em { color:#7a7066; font-size:9.5px; font-style:normal; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mobile-location-card b { color:#8b692e; font-size:10px; }
.mobile-nav-links { display:grid; gap:4px; padding:8px 0 18px; }
.mobile-nav-links a { display:grid; grid-template-columns:38px 1fr; gap:9px; align-items:center; padding:9px 8px; border-radius:12px; font-size:13px; font-weight:500; }
.mobile-nav-links a:hover { background:#f7f3eb; }
.mobile-nav-links span { width:36px; height:36px; border-radius:11px; display:grid; place-items:center; background:#f4f0e8; color:#8a692f; font-weight:700; }
.mobile-nav-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.mobile-nav-actions .btn { padding:11px 10px; font-size:11.5px; }

/* Branch picker bottom sheet */
.branch-picker { position:fixed; inset:0; z-index:1100; pointer-events:none; visibility:hidden; }
.branch-picker.open { pointer-events:auto; visibility:visible; }
.branch-picker-backdrop { position:absolute; inset:0; background:rgba(12,10,8,.58); opacity:0; transition:.24s ease; backdrop-filter:blur(3px); }
.branch-picker.open .branch-picker-backdrop { opacity:1; }
.branch-picker-sheet { position:absolute; left:50%; bottom:0; width:min(680px, calc(100% - 24px)); max-height:min(760px, 90dvh); overflow:auto; transform:translate(-50%, 104%); transition:transform .3s cubic-bezier(.2,.8,.2,1); background:#fff; border-radius:28px 28px 0 0; padding:12px 22px calc(28px + env(safe-area-inset-bottom)); box-shadow:0 -25px 80px rgba(0,0,0,.24); }
.branch-picker.open .branch-picker-sheet { transform:translate(-50%, 0); }
.branch-sheet-grab { width:44px; height:5px; border-radius:5px; background:#dcd5ca; margin:0 auto 15px; }
.branch-picker-head { display:grid; grid-template-columns:1fr auto; gap:14px; align-items:start; }
.branch-picker-head h2 { font-size:29px; margin:4px 0 7px; }
.branch-picker-head p { font-size:12.5px; line-height:1.6; margin:0; max-width:520px; }
.branch-kicker { font-size:9.5px; color:#9a732c; text-transform:uppercase; letter-spacing:.12em; font-weight:700; }
.detect-location-btn { width:100%; border:0; margin:20px 0 8px; padding:13px; border-radius:18px; background:#17130f; color:#fff; display:grid; grid-template-columns:44px 1fr auto; gap:12px; align-items:center; text-align:left; cursor:pointer; }
.detect-location-btn:disabled { opacity:.62; cursor:wait; }
.detect-icon { width:44px; height:44px; border-radius:14px; display:grid; place-items:center; background:linear-gradient(135deg,#e6c477,#b88935); }
.detect-icon svg { width:22px; height:22px; fill:#17130f; }
.detect-location-btn span:nth-child(2) { display:flex; flex-direction:column; gap:2px; }
.detect-location-btn strong { font-size:12.5px; }
.detect-location-btn small { color:rgba(255,255,255,.66); font-size:10px; }
.detect-location-btn b { font-size:25px; color:#e7c678; }
.branch-location-status { display:none; padding:10px 12px; border-radius:12px; background:#f6f3ed; color:#5f574e; font-size:10.5px; margin:8px 0; }
.branch-location-status.visible { display:block; }
.branch-location-status.success { background:#e9f6ee; color:#27653f; }
.branch-location-status.warning { background:#fff5df; color:#80611c; }
.branch-location-status.error { background:#fcecec; color:#943c3c; }
.branch-list { display:grid; gap:9px; margin-top:12px; }
.branch-option { width:100%; border:1px solid var(--app-line); background:#fff; padding:12px; border-radius:18px; display:grid; grid-template-columns:52px minmax(0,1fr) 30px; gap:11px; align-items:center; text-align:left; cursor:pointer; transition:.18s ease; }
.branch-option:hover, .branch-option.nearest { border-color:#d2ad62; box-shadow:0 8px 24px rgba(165,125,51,.12); }
.branch-option.selected { background:#fffaf0; border-color:#d5b46e; }
.branch-option-logo { width:52px; height:52px; border-radius:50%; overflow:hidden; background:#050505; }
.branch-option-logo img { width:100%; height:100%; object-fit:cover; }
.branch-option-info { min-width:0; display:flex; flex-direction:column; }
.branch-option-info strong { font-size:12.5px; }
.branch-option-info small { color:#776e64; font-size:9.5px; line-height:1.45; margin-top:2px; }
.branch-option-info em { color:#9a732c; font-size:9.5px; font-style:normal; font-weight:600; margin-top:3px; }
.branch-option-check { width:26px; height:26px; border-radius:50%; display:grid; place-items:center; background:#eee9df; color:#fff; font-size:12px; }
.branch-option.selected .branch-option-check, .branch-option.nearest .branch-option-check { background:#b88b39; }
.branch-privacy-note { margin:13px 2px 0; font-size:9px; color:#8d847a; line-height:1.5; }
.branch-empty { padding:22px; text-align:center; color:var(--app-muted); font-size:12px; }

/* Refined hero and cards */
body.public-app .hero { width:auto; max-width:none; margin:16px; border-radius:30px; padding:74px 0 78px; background:linear-gradient(145deg,#13110f 0%,#201a14 62%,#3a2e19 100%); box-shadow:0 25px 60px rgba(25,19,13,.17); }
body.public-app .hero::before { width:520px; height:520px; top:-250px; right:-120px; background:radial-gradient(circle,rgba(222,183,98,.32),transparent 68%); }
body.public-app .hero::after { content:""; position:absolute; width:260px; height:260px; right:7%; bottom:-52px; background:url('/assets/images/academy/logo.png') center/contain no-repeat; opacity:.075; pointer-events:none; }
body.public-app .hero-inner { z-index:1; }
body.public-app .hero-copy { position:relative; z-index:2; }
body.public-app .hero h1 { font-size:clamp(40px,5vw,66px); max-width:650px; }
body.public-app .hero-eyebrow { display:inline-flex; align-items:center; padding:7px 10px; border:1px solid rgba(225,190,112,.2); border-radius:100px; background:rgba(255,255,255,.035); }
body.public-app .hero-stats { gap:0; border-top:1px solid rgba(255,255,255,.11); padding-top:22px; }
body.public-app .hero-stats div { min-width:135px; padding-right:22px; }
body.public-app .hero-stats div + div { padding-left:22px; border-left:1px solid rgba(255,255,255,.11); }
body.public-app .card { border-radius:22px; border:1px solid #ebe6dd; box-shadow:0 10px 30px rgba(34,26,18,.055); }
body.public-app .section-alt { background:#f0ede7; }
body.public-app .section-header h2 { letter-spacing:-.015em; }
.selected-branch-card { display:flex; align-items:center; gap:9px; padding:12px 14px; border:1px solid #e9dfca; border-radius:16px; background:#fffaf0; margin-bottom:14px; font-size:11px; }
.selected-branch-card span { color:#8c7b63; }
.selected-branch-card strong { margin-right:auto; }
.branch-inline-change { border:0; background:#17130f; color:#e9c36d; border-radius:10px; padding:8px 10px; font:600 10px var(--font-body); cursor:pointer; }

/* Footer */
.footer-logo-row { display:flex; align-items:center; gap:11px; }
.footer-logo { width:54px; height:54px; border-radius:50%; overflow:hidden; background:#050505; }
.footer-logo img { width:100%; height:100%; object-fit:cover; }
.footer-logo-row div { display:flex; flex-direction:column; }
.footer-logo-row strong { color:#fff; font-family:var(--font-heading); font-size:19px; }
.footer-logo-row small { color:#d2af67; font-size:9px; text-transform:uppercase; letter-spacing:.07em; }
.footer-branch-button { border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.04); color:#e9c77d; border-radius:12px; padding:10px 12px; font:500 11px var(--font-body); cursor:pointer; text-align:left; }
.mobile-bottom-nav { display:none; }

@media (max-width: 1080px) {
  .desktop-nav { display:none; }
  body.public-app .hamburger { display:flex; }
  .desktop-book { display:none; }
  .branch-chip { margin-left:auto; }
}

@media (max-width: 760px) {
  body.public-app { padding-bottom:76px; }
  body.public-app .container { width:calc(100% - 32px); max-width:none; }
  body.public-app .site-header { position:sticky; top:0; }
  body.public-app .header-inner { width:100%; min-height:66px; padding:8px 14px; gap:7px; }
  body.public-app .brand { min-width:0; max-width:172px; gap:8px; }
  .brand-logo { width:42px; height:42px; flex-basis:42px; }
  body.public-app .brand-name { font-size:16px; white-space:nowrap; }
  body.public-app .brand-tag { display:none; }
  .branch-chip { min-width:0; max-width:130px; height:42px; padding:5px 7px; border-radius:12px; margin-left:auto; }
  .branch-chip > svg:first-child { width:16px; height:16px; flex-basis:16px; }
  .branch-chip small { display:none; }
  .branch-chip strong { max-width:75px; font-size:10px; }
  .branch-chip .chevron { width:13px; height:13px; }
  .header-icon-btn { display:none; }
  body.public-app .hamburger { display:flex; flex:0 0 40px; width:40px; height:40px; }

  body.public-app .hero { margin:10px 10px 0; width:auto !important; padding:40px 0 34px; border-radius:24px; min-height:0; }
  body.public-app .hero::after { width:200px; height:200px; right:-36px; bottom:-30px; opacity:.08; }
  body.public-app .hero::before { width:330px; height:330px; top:-160px; right:-160px; }
  body.public-app .hero .container { width:calc(100% - 32px); }
  body.public-app .hero-inner { display:block !important; width:100% !important; }
  body.public-app .hero-visual { display:none !important; }
  body.public-app .hero-eyebrow { font-size:8.8px; line-height:1.4; margin-bottom:13px; }
  body.public-app .hero h1 { font-size:clamp(34px,10vw,45px); line-height:1.05; max-width:330px; margin-bottom:14px; }
  body.public-app .hero p.lead { max-width:335px; font-size:13px; line-height:1.65; }
  body.public-app .hero-actions { display:grid; grid-template-columns:1fr 1fr; width:100%; gap:9px; margin-top:21px; }
  body.public-app .hero-actions .btn { width:100%; padding:11px 9px; min-width:0; font-size:11px; border-width:1px; }
  body.public-app .hero-actions .btn:first-child { grid-column:1 / -1; height:48px; font-size:12.5px; }
  body.public-app .hero-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:28px; padding-top:18px; }
  body.public-app .hero-stats div { min-width:0; padding:0 9px 0 0; }
  body.public-app .hero-stats div + div { padding-left:9px; }
  body.public-app .hero-stats div strong { font-size:21px; }
  body.public-app .hero-stats div span { font-size:8.5px; line-height:1.35; }

  body.public-app .section, body.public-app .section-alt, body.public-app .section-dark { width:100% !important; max-width:none !important; padding:38px 0; }
  body.public-app .section-header { text-align:left; margin-bottom:22px; }
  body.public-app .section-header h2 { font-size:27px; }
  body.public-app .eyebrow { font-size:9px; }
  body.public-app .grid, body.public-app .grid-2, body.public-app .grid-3, body.public-app .grid-4 { grid-template-columns:1fr !important; width:100%; gap:12px !important; }
  body.public-app .card { width:100%; padding:18px; border-radius:18px; box-shadow:0 8px 22px rgba(34,26,18,.05); }
  body.public-app .card:hover { transform:none; }
  .card-icon { width:38px !important; height:38px !important; margin-bottom:12px; }
  .form-card { border-radius:20px; }
  .page-header { padding:28px 0; text-align:left; }
  .page-header h1 { font-size:30px; }
  .page-header p { margin:0; font-size:12px; }

  .cta-strip { width:100% !important; padding:34px 0 28px; }
  .cta-strip-inner { align-items:flex-start; text-align:left; }
  .cta-strip-actions { width:100%; display:grid; grid-template-columns:1fr 1fr; }
  .cta-strip-actions .btn { padding:11px 8px; font-size:10.5px; }
  .site-footer { width:100% !important; padding-bottom:80px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:24px 18px; }
  .footer-brand { grid-column:1 / -1; }
  .footer-col:last-child { grid-column:1 / -1; }

  .mobile-bottom-nav { position:fixed; left:8px; right:8px; bottom:max(8px, env(safe-area-inset-bottom)); height:64px; z-index:850; display:grid; grid-template-columns:repeat(5,1fr); align-items:end; border:1px solid rgba(226,218,206,.9); border-radius:21px; background:rgba(255,255,255,.96); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); box-shadow:0 12px 36px rgba(31,24,16,.16); padding:5px 6px; }
  .mobile-bottom-nav a, .mobile-bottom-nav button { min-width:0; border:0; background:transparent; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; color:#81786f; font:500 9px var(--font-body); cursor:pointer; height:52px; }
  .mobile-bottom-nav span { font-size:18px; line-height:1; }
  .mobile-bottom-nav small { font-size:8px; }
  .mobile-bottom-nav .active { color:#8e692b; }
  .mobile-bottom-nav .bottom-book { width:54px; height:54px; justify-self:center; align-self:start; margin-top:-15px; border-radius:18px; color:#17130f; background:linear-gradient(135deg,#e0bd6e,#b98b39); box-shadow:0 9px 22px rgba(177,133,54,.3); }
  .mobile-bottom-nav .bottom-book span { font-size:23px; }
  .mobile-bottom-nav .bottom-book small { color:#2a2115; font-weight:700; }
  .whatsapp-float { bottom:84px; right:15px; width:48px; height:48px; }

  .branch-picker-sheet { width:100%; max-height:88dvh; border-radius:26px 26px 0 0; padding:11px 16px calc(24px + env(safe-area-inset-bottom)); }
  .branch-picker-head h2 { font-size:27px; }
  .branch-picker-head p { font-size:11px; }
  .branch-picker-head .sheet-close { width:36px; height:36px; }
  .detect-location-btn { margin-top:16px; }
  .branch-option { grid-template-columns:46px minmax(0,1fr) 26px; padding:10px; border-radius:16px; }
  .branch-option-logo { width:46px; height:46px; }
}

@media (max-width: 390px) {
  .branch-chip { max-width:112px; }
  .branch-chip strong { max-width:60px; }
  body.public-app .brand-name { font-size:15px; }
  .brand-logo { width:40px; height:40px; flex-basis:40px; }
  body.public-app .hero { margin-inline:8px; }
  body.public-app .hero h1 { font-size:35px; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-brand, .footer-col:last-child { grid-column:auto; }
}
.home-branch-strip { padding:0 0 6px; }
.home-branch-card { width:100%; margin-top:4px; display:grid; grid-template-columns:46px minmax(0,1fr) auto; gap:12px; align-items:center; border:1px solid #e8dfcf; border-radius:20px; background:#fff; box-shadow:0 9px 25px rgba(35,28,19,.06); padding:13px 15px; text-align:left; cursor:pointer; }
.home-branch-icon { width:46px; height:46px; display:grid; place-items:center; border-radius:14px; background:#17130f; color:#e5bd67; font-size:23px; }
.home-branch-card span:nth-child(2) { min-width:0; display:flex; flex-direction:column; }
.home-branch-card small { color:#8c806f; font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.home-branch-card strong { font-size:13px; }
.home-branch-card em { font-style:normal; color:#776f65; font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.home-branch-card b { color:#8d692b; font-size:10.5px; }
@media(max-width:760px){.home-branch-strip{padding:10px 0 0}.home-branch-card{grid-template-columns:40px minmax(0,1fr) auto;padding:10px 12px;border-radius:17px}.home-branch-icon{width:40px;height:40px;border-radius:12px;font-size:20px}.home-branch-card strong{font-size:11.5px}.home-branch-card em{font-size:9px}.home-branch-card b{font-size:9px}}

/* =====================================================================
   GOLD SYLONE V4 — APP-LIKE PUBLIC EXPERIENCE
   Homepage, service browser and multi-service booking flow.
   ===================================================================== */
:root {
  --app-bg:#f6f3ee;
  --app-card:#ffffff;
  --app-ink:#18130f;
  --app-muted:#786f65;
  --app-gold:#c99f4d;
  --app-gold-light:#e4c778;
  --app-dark:#15110e;
  --app-line:#e8e0d4;
  --app-shadow:0 16px 42px rgba(44,33,20,.09);
}
body.public-app { background:var(--app-bg); }
body.public-app main { min-height:60vh; }
body.public-app .section { padding:58px 0; }
body.public-app .section-soft { background:#eee9e1; }
body.public-app .section-dark-v4 { background:linear-gradient(145deg,#120f0d,#2d241a); color:#fff; }
body.public-app .section-dark-v4 h1,
body.public-app .section-dark-v4 h2,
body.public-app .section-dark-v4 h3 { color:#fff; }
.eyebrow-light { color:#e7c776 !important; }
.btn-glass { color:#fff; border:1px solid rgba(255,255,255,.35); background:rgba(255,255,255,.08); backdrop-filter:blur(12px); }
.btn-glass:hover { background:rgba(255,255,255,.14); }
.text-link { font-size:13px; font-weight:700; color:#8b682f; white-space:nowrap; }
.section-heading-row { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.section-heading-row h2 { font-size:clamp(30px,4vw,44px); margin:5px 0 0; letter-spacing:-.02em; }
.section-heading-row p { margin:6px 0 0; }

/* Homepage hero */
.home-hero-v4 { padding:18px 16px 0; }
.home-hero-shell { max-width:1240px; min-height:590px; margin:0 auto; position:relative; overflow:hidden; display:grid; grid-template-columns:1.03fr .97fr; align-items:center; border-radius:34px; background:
  radial-gradient(circle at 75% 25%,rgba(222,184,99,.23),transparent 34%),
  linear-gradient(140deg,#100d0b 0%,#211a14 56%,#352a1a 100%); box-shadow:0 30px 70px rgba(32,24,16,.22); }
.home-hero-shell::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.18),transparent 58%); pointer-events:none; }
.home-hero-shell::after { content:""; position:absolute; inset:-12%; background:radial-gradient(circle at 12% 25%,rgba(226,187,94,.18),transparent 26%),radial-gradient(circle at 78% 14%,rgba(255,255,255,.08),transparent 18%),radial-gradient(circle at 82% 78%,rgba(215,168,70,.16),transparent 24%); animation:gsHeroFloat 16s ease-in-out infinite alternate; pointer-events:none; }
@keyframes gsHeroFloat{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(-12px,10px,0) scale(1.04)}}
.home-hero-copy { position:relative; z-index:3; padding:76px 0 76px 68px; max-width:650px; }
.home-hero-kicker { display:inline-flex; padding:8px 12px; border-radius:999px; border:1px solid rgba(233,202,130,.25); background:rgba(255,255,255,.055); color:#e5c478; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.home-hero-copy h1 { margin:18px 0 14px; color:#fff; font-size:clamp(48px,5.7vw,78px); line-height:.98; letter-spacing:-.035em; }
.home-hero-copy > p { max-width:530px; color:rgba(255,255,255,.74); font-size:16px; line-height:1.7; }
.home-hero-actions { display:flex; flex-wrap:wrap; gap:11px; margin-top:28px; }
.home-hero-actions .btn { min-height:50px; }
.home-hero-trust { display:flex; align-items:center; gap:0; margin-top:40px; border-top:1px solid rgba(255,255,255,.12); padding-top:20px; }
.home-hero-trust span { display:flex; flex-direction:column; min-width:140px; color:rgba(255,255,255,.55); font-size:10px; padding-right:20px; }
.home-hero-trust span + span { border-left:1px solid rgba(255,255,255,.12); padding-left:20px; }
.home-hero-trust strong { color:#e5c478; font-family:var(--font-heading); font-size:22px; line-height:1.2; }
.home-hero-model { align-self:stretch; position:relative; z-index:2; min-height:590px; display:flex; align-items:flex-end; justify-content:center; }
.home-hero-model::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(180deg,rgba(16,12,9,0),rgba(16,12,9,.88));z-index:2;pointer-events:none;}
.home-hero-model img { position:relative; z-index:1; width:100%; height:100%; max-height:590px; object-fit:cover; object-position:center top; filter:drop-shadow(0 20px 32px rgba(0,0,0,.25)); }
.home-hero-model img.fallback-brand-art { object-fit:contain; width:60%; height:70%; margin:auto; opacity:.45; }
.hero-model-glow { position:absolute; width:440px; height:440px; border-radius:50%; background:radial-gradient(circle,rgba(216,171,76,.35),transparent 70%); top:85px; right:5%; }
.home-hero-badge { position:absolute; z-index:4; right:28px; bottom:24px; display:grid; grid-template-columns:1fr auto; gap:0 14px; min-width:250px; padding:13px 15px; border:1px solid rgba(255,255,255,.16); border-radius:18px; color:#fff; background:rgba(18,14,11,.7); backdrop-filter:blur(15px); }
.home-hero-badge span { grid-column:1/-1; color:#c6b9a7; font-size:9px; text-transform:uppercase; letter-spacing:.09em; }
.home-hero-badge strong { font-size:12px; }
.home-hero-badge button { border:0; background:transparent; color:#e6c475; font:700 10px var(--font-body); cursor:pointer; }

.home-quick-actions { padding:22px 0 8px; }
.quick-action-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.quick-action-card { min-width:0; display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:12px; align-items:center; padding:14px; border:1px solid var(--app-line); border-radius:20px; background:#fff; box-shadow:0 8px 24px rgba(50,39,26,.05); }
.quick-action-card .qa-icon { width:48px; height:48px; border-radius:15px; display:grid; place-items:center; background:#17130f; color:#e2bd68; font-family:var(--font-heading); font-size:22px; }
.quick-action-card span:nth-child(2) { min-width:0; display:flex; flex-direction:column; }
.quick-action-card strong { font-size:13px; }
.quick-action-card small { color:#897f72; font-size:9.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.quick-action-card b { color:#9a7735; font-size:18px; }

.home-category-scroll { display:flex; gap:10px; overflow:auto; padding:2px 2px 8px; scrollbar-width:none; }
.home-category-scroll::-webkit-scrollbar { display:none; }
.home-category-pill { flex:0 0 auto; min-width:145px; display:flex; align-items:center; gap:10px; padding:12px 14px; border:1px solid var(--app-line); border-radius:18px; background:#fff; box-shadow:0 7px 18px rgba(45,34,21,.04); }
.home-category-pill span { width:34px; height:34px; border-radius:11px; display:grid; place-items:center; background:#f4ead4; color:#8c6420; font:700 17px var(--font-heading); }
.home-category-pill strong { font-size:11px; }

.service-card-grid-v4 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.service-card-v4 { min-width:0; display:flex; flex-direction:column; padding:20px; border:1px solid #e6ded1; border-radius:22px; background:#fff; box-shadow:0 9px 24px rgba(44,34,22,.05); }
.service-card-topline { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:12px; }
.service-card-topline span { color:#937a50; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.service-card-topline b { padding:4px 8px; border-radius:999px; background:#f4e4e4; color:#a74d4d; font-size:8px; }
.service-card-v4 h3 { font-size:21px; margin-bottom:8px; }
.service-card-v4 p { font-size:11.5px; line-height:1.65; }
.service-card-footer { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-top:auto; padding-top:15px; border-top:1px solid #eee7dc; }
.service-price-stack { display:flex; flex-direction:column; }
.service-price-stack del { color:#a29a91; font-size:10px; }
.service-price-stack strong { color:#7c5920; font-family:var(--font-heading); font-size:21px; }
.service-book-mini { padding:8px 13px; border-radius:12px; background:#18130f; color:#e5c474; font-size:10px; font-weight:700; }

.home-story-card, .home-academy-card { overflow:hidden; display:grid; grid-template-columns:.88fr 1.12fr; align-items:stretch; min-height:440px; border:1px solid var(--app-line); border-radius:30px; background:#fff; box-shadow:var(--app-shadow); }
.home-story-image, .home-academy-image { position:relative; overflow:hidden; background:linear-gradient(145deg,#e9dcc2,#cba75d); }
.home-story-image img, .home-academy-image img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.home-story-copy, .home-academy-copy { padding:54px; align-self:center; }
.home-story-copy h2, .home-academy-copy h2 { font-size:clamp(30px,4vw,45px); }
.mini-benefit-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px 16px; margin:20px 0 26px; }
.mini-benefit-grid span { font-size:11px; color:#6f655b; }

.membership-showcase-v4 { display:grid; grid-template-columns:1.15fr .85fr; min-height:430px; align-items:stretch; overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius:30px; background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(202,157,69,.12)); }
.membership-showcase-copy { padding:55px; align-self:center; }
.membership-showcase-copy h2 { font-size:clamp(35px,5vw,58px); margin:8px 0 14px; }
.membership-showcase-copy p { color:rgba(255,255,255,.7); }
.membership-highlight-row { display:flex; align-items:baseline; gap:10px; margin:24px 0; }
.membership-highlight-row strong { color:#e3c06d; font:700 32px var(--font-heading); }
.membership-highlight-row span { color:#baaea0; font-size:11px; }
.membership-model { min-height:430px; position:relative; display:flex; align-items:flex-end; justify-content:center; background:radial-gradient(circle at 50% 45%,rgba(218,174,80,.3),transparent 52%); }
.membership-model img { max-height:430px; width:100%; height:100%; object-fit:contain; object-position:center bottom; }

.offer-grid-v4 { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.offer-card-v4 { min-height:220px; display:flex; flex-direction:column; padding:24px; border-radius:24px; background:linear-gradient(145deg,#191410,#342819); color:#fff; }
.offer-label { color:#e1bd6a; font-size:9px; text-transform:uppercase; letter-spacing:.1em; }
.offer-card-v4 h3 { color:#fff; font-size:24px; margin:14px 0 8px; }
.offer-card-v4 p { color:rgba(255,255,255,.68); font-size:11.5px; }
.offer-card-v4 a { margin-top:auto; color:#e8c877; font-size:11px; font-weight:700; }

.home-academy-card { grid-template-columns:1.12fr .88fr; background:#fffdf9; }
.home-academy-image { order:2; }
.academy-course-mini-list { display:flex; flex-direction:column; margin:20px 0 26px; border-top:1px solid var(--app-line); }
.academy-course-mini-list a { display:flex; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid var(--app-line); font-size:11px; }
.academy-course-mini-list b { color:#8a6629; white-space:nowrap; }
.home-branch-section { padding-top:18px !important; }
.home-branch-card-v4 { width:100%; display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:13px; align-items:center; border:1px solid var(--app-line); border-radius:22px; background:#fff; padding:14px 16px; box-shadow:0 10px 28px rgba(45,34,21,.06); text-align:left; cursor:pointer; }
.branch-pin-v4 { width:48px; height:48px; display:grid; place-items:center; border-radius:15px; background:#17130f; color:#e4bd68; font-size:23px; }
.home-branch-card-v4 span:nth-child(2) { min-width:0; display:flex; flex-direction:column; }
.home-branch-card-v4 small { color:#8d8172; font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.home-branch-card-v4 strong { font-size:13px; }
.home-branch-card-v4 em { color:#82786d; font-style:normal; font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.home-branch-card-v4 b { color:#8e692e; font-size:11px; }

/* Service browser */
.services-hero-v4 { margin:14px 16px 0; overflow:hidden; border-radius:30px; background:linear-gradient(140deg,#15110e,#382b1c); color:#fff; }
.services-hero-inner-v4 { min-height:310px; display:grid; grid-template-columns:1.2fr .8fr; align-items:center; position:relative; }
.services-hero-copy-v4 { padding:52px 0; position:relative; z-index:2; }
.services-hero-copy-v4 h1 { color:#fff; font-size:clamp(40px,5vw,62px); margin:8px 0 10px; }
.services-hero-copy-v4 p { max-width:600px; color:rgba(255,255,255,.7); }
.services-hero-image-v4 { height:310px; display:flex; justify-content:center; align-items:flex-end; position:relative; }
.services-hero-image-v4::before { content:""; position:absolute; width:300px; height:300px; border-radius:50%; background:radial-gradient(circle,rgba(218,176,82,.36),transparent 70%); }
.services-hero-image-v4 img { position:relative; z-index:1; height:100%; max-width:100%; object-fit:contain; object-position:center bottom; }
.service-browser-v4 { padding:28px 0 58px; }
.service-filter-panel-v4 { padding:20px; border:1px solid var(--app-line); border-radius:25px; background:#fff; box-shadow:0 9px 28px rgba(44,34,21,.055); }
.service-filter-label-v4 { display:flex; align-items:center; gap:10px; margin-bottom:13px; }
.service-filter-label-v4 > span { width:28px; height:28px; display:grid; place-items:center; border-radius:9px; background:#18130f; color:#e2bd68; font-size:10px; font-weight:700; }
.service-filter-label-v4 div { display:flex; flex-direction:column; }
.service-filter-label-v4 strong { font-size:12px; }
.service-filter-label-v4 small { color:#968a7c; font-size:9px; }
.category-label-v4 { margin-top:22px; }
.gender-switch-v4 { display:grid; grid-template-columns:1fr 1fr; gap:10px; max-width:560px; }
.gender-tab-v4 { display:grid; grid-template-columns:42px 1fr; grid-template-rows:auto auto; column-gap:10px; align-items:center; padding:12px; border:1px solid var(--app-line); border-radius:17px; background:#faf8f5; color:#41382f; text-align:left; cursor:pointer; font-family:var(--font-body); }
.gender-tab-v4 > span { grid-row:1/3; width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:#efe9df; color:#8e692e; font:700 21px var(--font-heading); }
.gender-tab-v4 strong { font-size:12px; }
.gender-tab-v4 small { color:#91867a; font-size:9px; }
.gender-tab-v4.active { border-color:#bd9247; background:#fff7e7; box-shadow:inset 0 0 0 1px rgba(190,146,71,.18); }
.gender-tab-v4.active > span { background:#17130f; color:#e4bd68; }
.category-chip-scroll-v4, .booking-category-scroll-v4 { display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; padding-bottom:2px; }
.category-chip-scroll-v4::-webkit-scrollbar, .booking-category-scroll-v4::-webkit-scrollbar { display:none; }
.category-chip-v4, .booking-category-scroll-v4 button { flex:0 0 auto; border:1px solid var(--app-line); border-radius:999px; background:#fff; color:#62594f; padding:9px 14px; font:600 10px var(--font-body); cursor:pointer; }
.category-chip-v4.active, .booking-category-scroll-v4 button.active { border-color:#18130f; background:#18130f; color:#e6c572; }
.service-results-head-v4 { display:flex; justify-content:space-between; align-items:flex-end; gap:18px; margin:36px 0 16px; }
.service-results-head-v4 h2 { margin:4px 0 0; font-size:31px; }
.service-result-count-v4 { color:#8d8174; font-size:10px; }
.service-list-v4 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.service-item-v4 { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; min-height:210px; padding:22px; border:1px solid var(--app-line); border-radius:23px; background:#fff; box-shadow:0 8px 25px rgba(44,34,22,.045); }
.service-item-v4[hidden] { display:none !important; }
.service-item-main-v4 { min-width:0; display:flex; flex-direction:column; }
.service-item-labels-v4 { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.service-item-labels-v4 span, .service-item-labels-v4 em, .service-item-labels-v4 b { border-radius:999px; padding:4px 7px; background:#f4efe7; color:#8a6a36; font-style:normal; font-size:7.5px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.service-item-labels-v4 em { color:#6a6259; }
.service-item-labels-v4 b { background:#f5e3e3; color:#a74e4e; }
.service-item-v4 h3 { font-size:22px; margin-bottom:7px; }
.service-item-v4 p { font-size:10.5px; line-height:1.65; }
.service-item-meta-v4 { display:flex; flex-wrap:wrap; gap:9px; margin-top:auto; color:#85796b; font-size:8.5px; }
.service-item-action-v4 { display:flex; flex-direction:column; align-items:flex-end; justify-content:space-between; min-width:100px; }
.service-price-v4 { display:flex; flex-direction:column; align-items:flex-end; }
.service-price-v4 del { color:#a49a8f; font-size:9px; }
.service-price-v4 strong { color:#805c25; font:700 22px var(--font-heading); }
.btn-service-book-v4 { padding:9px 18px; font-size:10px; }
.empty-state-v4 { padding:34px; border:1px dashed #d9cdbc; border-radius:22px; background:#fff; text-align:center; }
.empty-state-v4 strong { display:block; font-family:var(--font-heading); font-size:22px; }
.empty-state-v4 p { margin:6px 0 0; font-size:11px; }
.other-categories-v4 { margin-top:38px; }
.other-categories-v4 h3 { font-size:25px; margin:4px 0 14px; }
.other-category-grid-v4 { display:grid; grid-template-columns:repeat(5,1fr); gap:9px; }
.other-category-grid-v4 button { min-width:0; display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:8px; padding:10px; border:1px solid var(--app-line); border-radius:15px; background:#fff; text-align:left; cursor:pointer; }
.other-category-grid-v4 button span { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:#f2eadb; color:#8f6829; font:700 16px var(--font-heading); }
.other-category-grid-v4 button strong { font-size:9px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.other-category-grid-v4 button b { color:#9a7738; }
.service-help-inner-v4 { display:flex; justify-content:space-between; align-items:center; gap:28px; }
.service-help-inner-v4 h2 { max-width:700px; font-size:38px; }
.service-help-inner-v4 p { color:rgba(255,255,255,.65); }
.service-help-actions-v4 { display:flex; gap:10px; }

/* Booking */
.booking-hero-v4 { margin:14px 16px 0; border-radius:28px; background:linear-gradient(140deg,#15110e,#322719); color:#fff; }
.booking-hero-inner-v4 { min-height:220px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.booking-hero-v4 h1 { color:#fff; font-size:clamp(38px,5vw,56px); margin:6px 0; }
.booking-hero-v4 p { color:rgba(255,255,255,.67); }
.booking-branch-chip-v4 { min-width:230px; display:grid; grid-template-columns:42px 1fr auto; gap:10px; align-items:center; padding:11px; border:1px solid rgba(255,255,255,.14); border-radius:17px; background:rgba(255,255,255,.07); color:#fff; text-align:left; cursor:pointer; }
.booking-branch-chip-v4 > span { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:#e1bd6d; color:#18130f; font-size:20px; }
.booking-branch-chip-v4 div { display:flex; flex-direction:column; }
.booking-branch-chip-v4 small { color:#bfb2a3; font-size:8px; text-transform:uppercase; }
.booking-branch-chip-v4 strong { font-size:11px; }
.booking-branch-chip-v4 b { color:#e5c374; font-size:9px; }
.booking-layout-v4 { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:20px; align-items:start; }
.booking-main-v4 { min-width:0; }
.booking-step-card-v4 { margin-bottom:14px; padding:22px; border:1px solid var(--app-line); border-radius:24px; background:#fff; box-shadow:0 8px 26px rgba(45,34,21,.045); }
.booking-step-head-v4 { display:grid; grid-template-columns:34px minmax(0,1fr) auto; gap:11px; align-items:center; margin-bottom:18px; }
.booking-step-head-v4 > span { width:34px; height:34px; display:grid; place-items:center; border-radius:11px; background:#18130f; color:#e4bd68; font-size:11px; font-weight:700; }
.booking-step-head-v4 div { display:flex; flex-direction:column; }
.booking-step-head-v4 strong { font-size:13px; }
.booking-step-head-v4 small { color:#948779; font-size:9px; }
.booking-step-head-v4 > b { padding:5px 9px; border-radius:999px; background:#f4ebd7; color:#866226; font-size:8px; }
.booking-category-scroll-v4 { margin-bottom:12px; }
.booking-service-list-v4 { display:grid; grid-template-columns:1fr 1fr; gap:9px; max-height:410px; overflow:auto; padding-right:2px; }
.booking-service-option-v4 { position:relative; display:grid; grid-template-columns:28px minmax(0,1fr) auto; gap:10px; align-items:center; min-height:65px; padding:9px 10px; border:1px solid var(--app-line); border-radius:15px; background:#fbfaf8; cursor:pointer; }
.booking-service-option-v4[hidden] { display:none !important; }
.booking-service-option-v4 input { position:absolute; opacity:0; pointer-events:none; }
.booking-check-v4 { width:28px; height:28px; display:grid; place-items:center; border:1px solid #d8cec0; border-radius:9px; color:transparent; background:#fff; font-size:10px; }
.booking-service-option-v4:has(input:checked) { border-color:#bf9449; background:#fff8e9; }
.booking-service-option-v4 input:checked + .booking-check-v4 { border-color:#18130f; background:#18130f; color:#e5c374; }
.booking-service-info-v4 { min-width:0; display:flex; flex-direction:column; }
.booking-service-info-v4 strong { font-size:10.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.booking-service-info-v4 small { color:#8f8478; font-size:8px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.booking-service-price-v4 { color:#805d25; font:700 14px var(--font-heading); white-space:nowrap; }
.booking-service-error-v4 { margin-top:9px; }
.booking-form-row-v4 { gap:12px; }
.booking-step-card-v4 .form-group { margin-bottom:12px; }
.booking-step-card-v4 .form-control { min-height:46px; border-radius:13px; background:#fcfbf9; }
.booking-submit-bar-v4 { position:sticky; bottom:85px; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:10px; padding:13px; border:1px solid #e0d6c7; border-radius:20px; background:rgba(255,255,255,.96); box-shadow:0 16px 35px rgba(45,34,21,.13); backdrop-filter:blur(15px); }
.booking-submit-bar-v4 div { min-width:0; display:flex; flex-direction:column; }
.booking-submit-bar-v4 small { color:#8c8174; font-size:8px; text-transform:uppercase; }
.booking-submit-bar-v4 strong { font-size:11px; }
.booking-submit-bar-v4 .btn { padding:11px 18px; font-size:10px; }
.booking-summary-v4 { position:sticky; top:100px; padding:20px; border:1px solid var(--app-line); border-radius:23px; background:#18130f; color:#fff; box-shadow:0 14px 34px rgba(35,27,18,.14); }
.booking-summary-v4 h3 { color:#fff; font-size:22px; margin:5px 0 15px; }
.booking-summary-v4 > p { color:#a99e91; font-size:9px; line-height:1.6; margin:14px 0 0; }
.selected-services-summary-v4 { display:flex; flex-direction:column; gap:8px; }
.selected-summary-row-v4 { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 0; border-bottom:1px solid rgba(255,255,255,.09); }
.selected-summary-row-v4 span { min-width:0; display:flex; flex-direction:column; }
.selected-summary-row-v4 strong { font-size:9.5px; color:#fff; }
.selected-summary-row-v4 small { color:#d9b965; font-size:8px; }
.selected-summary-row-v4 button { width:26px; height:26px; border:1px solid rgba(255,255,255,.15); border-radius:8px; background:rgba(255,255,255,.05); color:#fff; cursor:pointer; }
.selected-summary-empty-v4 { color:#a99e91 !important; font-size:9px; }
.booking-summary-total-v4 { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:14px; padding-top:14px; border-top:1px solid rgba(255,255,255,.14); }
.booking-summary-total-v4 span { color:#b5aa9d; font-size:8px; }
.booking-summary-total-v4 strong { color:#e5c16d; font:700 20px var(--font-heading); }

/* Bring the older public pages into the same app-like visual system. */
body.public-app .page-header { margin:14px 16px 0; padding:44px 0; border-radius:28px; background:linear-gradient(135deg,#f0e3c9,#faf8f3 58%,#e7d3aa); text-align:left; overflow:hidden; }
body.public-app .page-header .container { position:relative; }
body.public-app .page-header h1 { font-size:clamp(36px,5vw,54px); letter-spacing:-.02em; }
body.public-app .page-header p { max-width:650px; font-size:13px; }
body.public-app .form-card { border-radius:24px; border-color:var(--app-line); box-shadow:0 10px 30px rgba(44,34,21,.06); }
body.public-app .membership-card { border-radius:26px; }
body.public-app .offer-card { border-radius:23px; }
body.public-app .legal-content { padding:28px; border:1px solid var(--app-line); border-radius:24px; background:#fff; box-shadow:0 10px 30px rgba(44,34,21,.04); }
body.public-app .legal-content h2 { margin-top:28px; font-size:24px; }
body.public-app .legal-content li { list-style:disc; margin-left:20px; color:#6f665d; font-size:13px; }

@media (max-width: 980px) {
  .home-hero-shell { grid-template-columns:1fr 1fr; min-height:540px; }
  .home-hero-copy { padding-left:42px; }
  .home-hero-copy h1 { font-size:52px; }
  .home-hero-model { min-height:540px; }
  .quick-action-grid { grid-template-columns:1fr 1fr; }
  .service-card-grid-v4 { grid-template-columns:1fr 1fr; }
  .other-category-grid-v4 { grid-template-columns:repeat(3,1fr); }
  .booking-layout-v4 { grid-template-columns:1fr; }
  .booking-summary-v4 { position:relative; top:auto; order:-1; }
}

@media (max-width: 760px) {
  body.public-app .section { padding:38px 0; }
  .section-heading-row { align-items:center; margin-bottom:19px; }
  .section-heading-row h2 { font-size:29px; }
  .section-heading-row p { font-size:10.5px; }
  .text-link { font-size:9.5px; }

  .home-hero-v4 { padding:8px 8px 0; }
  .home-hero-shell { min-height:0; display:flex; flex-direction:column; border-radius:26px; overflow:hidden; }
  .home-hero-model { order:1; width:100%; min-height:0; height:310px; background:radial-gradient(circle at 65% 45%,rgba(225,185,95,.36),transparent 45%); }
  .home-hero-model img { height:310px; max-height:none; width:100%; object-fit:cover; object-position:center 18%; filter:none; }
  .home-hero-model img.fallback-brand-art { width:55%; height:230px; margin:auto; object-fit:contain; }
  .hero-model-glow { width:260px; height:260px; top:35px; right:3%; }
  .home-hero-copy { order:2; width:100%; max-width:none; padding:23px 18px 24px; background:linear-gradient(180deg,#1a1511,#120f0d); }
  .home-hero-kicker { padding:6px 9px; font-size:8px; }
  .home-hero-copy h1 { max-width:340px; margin:12px 0 10px; font-size:39px; line-height:1.02; }
  .home-hero-copy > p { max-width:335px; font-size:11.5px; line-height:1.62; }
  .home-hero-actions { display:grid; grid-template-columns:1fr 1fr; margin-top:18px; gap:8px; }
  .home-hero-actions .btn { padding:11px 9px; min-height:44px; font-size:9.5px; }
  .home-hero-trust { margin-top:20px; padding-top:15px; }
  .home-hero-trust span { min-width:0; flex:1; padding-right:9px; font-size:7.5px; }
  .home-hero-trust span + span { padding-left:9px; }
  .home-hero-trust strong { font-size:18px; }
  .home-hero-badge { display:none; }
  .home-hero-model{overflow:hidden;border-radius:26px 26px 0 0;}
  .home-hero-model img{object-fit:cover;object-position:center top;}
  .home-hero-model::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,9,7,.1),rgba(12,9,7,.55) 70%,rgba(12,9,7,.85));z-index:1;}

  .home-quick-actions { padding:14px 0 0; }
  .quick-action-grid { grid-template-columns:1fr 1fr; gap:8px; }
  .quick-action-card { grid-template-columns:38px minmax(0,1fr); padding:10px; gap:8px; border-radius:16px; }
  .quick-action-card .qa-icon { width:38px; height:38px; border-radius:12px; font-size:18px; }
  .quick-action-card strong { font-size:10px; }
  .quick-action-card small { font-size:7.5px; }
  .quick-action-card b { display:none; }
  .home-category-section { padding-top:28px !important; }
  .home-category-pill { min-width:126px; padding:9px 10px; border-radius:15px; }
  .home-category-pill span { width:31px; height:31px; }
  .home-category-pill strong { font-size:9px; }
  .service-card-grid-v4 { display:flex; overflow:auto; gap:10px; scroll-snap-type:x mandatory; padding:1px 1px 9px; scrollbar-width:none; }
  .service-card-grid-v4::-webkit-scrollbar { display:none; }
  .service-card-v4 { flex:0 0 78%; min-height:220px; scroll-snap-align:start; padding:17px; border-radius:19px; }
  .service-card-v4 h3 { font-size:19px; }
  .service-card-v4 p { font-size:10px; }

  .home-story-card, .home-academy-card { display:flex; flex-direction:column; min-height:0; border-radius:24px; }
  .home-story-image, .home-academy-image { order:1; height:290px; }
  .home-story-image img, .home-academy-image img { object-position:center 18%; }
  .home-story-copy, .home-academy-copy { order:2; padding:24px 18px 26px; }
  .home-story-copy h2, .home-academy-copy h2 { font-size:30px; }
  .home-story-copy p, .home-academy-copy p { font-size:10.5px; }
  .mini-benefit-grid { gap:7px 10px; }
  .mini-benefit-grid span { font-size:8.5px; }
  .home-story-copy .btn, .home-academy-copy .btn { width:100%; }

  .membership-showcase-v4 { display:flex; flex-direction:column; min-height:0; border-radius:24px; }
  .membership-model { order:1; min-height:0; height:280px; }
  .membership-model img { height:280px; max-height:none; object-fit:cover; object-position:center 15%; }
  .membership-showcase-copy { order:2; padding:25px 18px; }
  .membership-showcase-copy h2 { font-size:34px; }
  .membership-showcase-copy p { font-size:10.5px; }
  .membership-showcase-copy .btn { width:100%; }
  .membership-highlight-row strong { font-size:26px; }
  .offer-grid-v4 { display:flex; overflow:auto; gap:10px; scrollbar-width:none; }
  .offer-grid-v4::-webkit-scrollbar { display:none; }
  .offer-card-v4 { flex:0 0 82%; min-height:200px; padding:20px; }
  .offer-card-v4 h3 { font-size:22px; }
  .home-branch-card-v4 { grid-template-columns:40px minmax(0,1fr) auto; padding:10px 12px; border-radius:17px; }
  .branch-pin-v4 { width:40px; height:40px; border-radius:12px; }
  .home-branch-card-v4 strong { font-size:10.5px; }
  .home-branch-card-v4 em { font-size:8px; }
  .home-branch-card-v4 b { font-size:8.5px; }

  .services-hero-v4 { margin:8px 8px 0; border-radius:25px; }
  .services-hero-inner-v4 { min-height:260px; grid-template-columns:1fr .62fr; width:calc(100% - 24px) !important; padding:0 !important; }
  .services-hero-copy-v4 { padding:28px 0 28px 8px; z-index:2; }
  .services-hero-copy-v4 h1 { font-size:36px; line-height:1.02; margin:7px 0 10px; }
  .services-hero-copy-v4 p { max-width:220px; font-size:9.5px; line-height:1.55; }
  .services-hero-image-v4 { height:260px; align-self:end; overflow:hidden; }
  .services-hero-image-v4 img { height:260px; width:150%; max-width:none; object-fit:cover; object-position:46% 20%; opacity:.9; }
  .service-browser-v4 { padding:16px 0 38px; }
  .service-filter-panel-v4 { padding:14px; border-radius:20px; }
  .gender-switch-v4 { gap:8px; max-width:none; }
  .gender-tab-v4 { grid-template-columns:35px 1fr; padding:9px; border-radius:14px; }
  .gender-tab-v4 > span { width:35px; height:35px; border-radius:10px; font-size:18px; }
  .gender-tab-v4 strong { font-size:10px; }
  .gender-tab-v4 small { font-size:7.5px; }
  .category-chip-v4 { padding:8px 12px; font-size:8.5px; }
  .service-results-head-v4 { margin:25px 0 11px; }
  .service-results-head-v4 h2 { font-size:27px; }
  .service-result-count-v4 { font-size:8px; }
  .service-list-v4 { grid-template-columns:1fr; gap:9px; }
  .service-item-v4 { min-height:0; grid-template-columns:minmax(0,1fr) 78px; gap:10px; padding:15px; border-radius:18px; }
  .service-item-v4 h3 { font-size:18px; }
  .service-item-v4 p { font-size:9.2px; margin-bottom:10px; }
  .service-item-meta-v4 { font-size:7.5px; }
  .service-item-action-v4 { min-width:70px; }
  .service-price-v4 strong { font-size:18px; }
  .btn-service-book-v4 { width:100%; padding:8px 7px; font-size:8.5px; }
  .other-categories-v4 { margin-top:28px; }
  .other-categories-v4 h3 { font-size:22px; }
  .other-category-grid-v4 { grid-template-columns:1fr 1fr; }
  .other-category-grid-v4 button { grid-template-columns:30px minmax(0,1fr) auto; padding:8px; }
  .other-category-grid-v4 button span { width:30px; height:30px; }
  .service-help-inner-v4 { flex-direction:column; align-items:flex-start; }
  .service-help-inner-v4 h2 { font-size:29px; }
  .service-help-inner-v4 p { font-size:10px; }
  .service-help-actions-v4 { width:100%; display:grid; grid-template-columns:1fr 1fr; }
  .service-help-actions-v4 .btn { padding:10px 7px; font-size:9px; }

  .booking-hero-v4 { margin:8px 8px 0; border-radius:24px; }
  .booking-hero-inner-v4 { min-height:190px; width:calc(100% - 28px) !important; padding:25px 0 !important; display:block; }
  .booking-hero-v4 h1 { font-size:37px; }
  .booking-hero-v4 p { font-size:10px; }
  .booking-branch-chip-v4 { width:100%; min-width:0; margin-top:16px; }
  .booking-section-v4 { padding-top:16px !important; }
  .booking-layout-v4 { gap:12px; }
  .booking-summary-v4 { display:none; }
  .booking-step-card-v4 { padding:14px; border-radius:19px; margin-bottom:10px; }
  .booking-step-head-v4 { grid-template-columns:30px minmax(0,1fr) auto; gap:8px; margin-bottom:13px; }
  .booking-step-head-v4 > span { width:30px; height:30px; border-radius:9px; }
  .booking-step-head-v4 strong { font-size:11px; }
  .booking-step-head-v4 small { font-size:7.5px; }
  .booking-service-list-v4 { grid-template-columns:1fr; max-height:360px; gap:7px; }
  .booking-service-option-v4 { min-height:58px; grid-template-columns:26px minmax(0,1fr) auto; padding:8px; border-radius:13px; }
  .booking-check-v4 { width:26px; height:26px; }
  .booking-service-info-v4 strong { font-size:9.5px; }
  .booking-service-info-v4 small { font-size:7.5px; }
  .booking-service-price-v4 { font-size:13px; }
  .booking-form-row-v4 { grid-template-columns:1fr 1fr !important; gap:8px !important; }
  .booking-step-card-v4 .form-group label { font-size:10px; }
  .booking-step-card-v4 .form-control { min-height:43px; padding:10px; font-size:11px; }
  .booking-submit-bar-v4 { bottom:79px; padding:10px; border-radius:16px; }
  .booking-submit-bar-v4 strong { font-size:9px; }
  .booking-submit-bar-v4 .btn { padding:10px 12px; font-size:8.5px; }

  body.public-app .page-header { margin:8px 8px 0; padding:30px 0; border-radius:24px; }
  body.public-app .page-header h1 { font-size:34px; }
  body.public-app .page-header p { font-size:10px; }
  body.public-app .legal-content { padding:18px; border-radius:19px; }
  body.public-app .legal-content h2 { font-size:21px; }
}

@media (max-width: 390px) {
  .home-hero-model, .home-hero-model img { height:285px; }
  .home-hero-copy h1 { font-size:36px; }
  .quick-action-card small { display:none; }
  .service-card-v4 { flex-basis:84%; }
  .services-hero-copy-v4 h1 { font-size:33px; }
  .booking-form-row-v4 { grid-template-columns:1fr !important; }
}

/* V4 supporting public pages */
.public-split-v4 { align-items:center; gap:48px; }
.public-model-visual-v4 { min-height:430px; overflow:hidden; border:1px solid var(--app-line); border-radius:28px; background:linear-gradient(145deg,#eadfc8,#cba45a); box-shadow:var(--app-shadow); }
.public-model-visual-v4 img { width:100%; height:100%; min-height:430px; object-fit:cover; object-position:center 18%; }
.academy-model-visual-v4 { background:linear-gradient(145deg,#17130f,#b88c3c); }

.membership-page-hero-v4 { margin:14px 16px 0; overflow:hidden; border-radius:30px; background:linear-gradient(140deg,#14110e,#3a2c1a); color:#fff; }
.membership-page-hero-inner-v4 { min-height:430px; display:grid; grid-template-columns:1.12fr .88fr; align-items:center; }
.membership-page-copy-v4 { padding:50px 0; }
.membership-page-copy-v4 h1 { color:#fff; font-size:clamp(44px,6vw,68px); margin:8px 0 14px; }
.membership-page-copy-v4 p { max-width:590px; color:rgba(255,255,255,.7); }
.membership-page-model-v4 { align-self:stretch; display:flex; align-items:flex-end; justify-content:center; background:radial-gradient(circle at 50% 45%,rgba(220,178,81,.34),transparent 55%); }
.membership-page-model-v4 img { width:100%; height:430px; object-fit:contain; object-position:center bottom; }
.membership-plan-grid-v4 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; align-items:start; }
.membership-plan-v4 { position:relative; padding:24px; border:1px solid var(--app-line); border-radius:24px; background:#fff; box-shadow:0 9px 28px rgba(44,34,21,.05); }
.membership-plan-v4.featured { border-color:#bf9449; background:linear-gradient(180deg,#fff9ec,#fff); }
.membership-popular-v4 { position:absolute; right:16px; top:15px; padding:5px 8px; border-radius:999px; background:#18130f; color:#e5c270; font-size:7px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.membership-plan-head-v4 { display:flex; justify-content:space-between; gap:10px; margin-bottom:12px; color:#8f7e67; font-size:8px; text-transform:uppercase; letter-spacing:.06em; }
.membership-plan-head-v4 strong { color:#8a652a; }
.membership-plan-v4 h3 { padding-right:60px; font-size:23px; }
.membership-plan-price-v4 { color:#805c24; font:700 30px var(--font-heading); }
.membership-plan-price-v4 small { color:#9b9185; font:400 8px var(--font-body); }
.membership-eligibility-v4 { margin:8px 0 14px; font-size:9px; }
.membership-plan-v4 ul { margin:17px 0; }
.membership-plan-v4 li { position:relative; padding:8px 0 8px 20px; border-bottom:1px solid #eee8df; color:#6f665c; font-size:9.5px; }
.membership-plan-v4 li::before { content:"✓"; position:absolute; left:0; color:#9a742f; font-weight:700; }
.membership-terms-v4 { margin-top:12px; }
.membership-terms-v4 summary { color:#8a7760; font-size:8.5px; cursor:pointer; }
.membership-terms-v4 p { margin:8px 0 0; font-size:8px; line-height:1.55; }
.benefit-row-v4 { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.benefit-row-v4 > div { display:grid; grid-template-columns:42px 1fr; gap:0 12px; align-items:center; padding:15px; border:1px solid var(--app-line); border-radius:18px; background:#fff; }
.benefit-row-v4 > div > span { grid-row:1/3; width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:#18130f; color:#e3bd69; font:700 18px var(--font-heading); }
.benefit-row-v4 strong { font-size:10px; }
.benefit-row-v4 small { color:#8c8175; font-size:8px; }
.offer-page-grid-v4 { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.offer-page-card-v4 { min-height:285px; display:flex; flex-direction:column; padding:25px; border-radius:25px; background:linear-gradient(145deg,#17130f,#3a2c1b); color:#fff; box-shadow:0 18px 40px rgba(37,28,18,.12); }
.offer-page-top-v4 { display:flex; justify-content:space-between; gap:10px; color:#ddbd75; font-size:8px; text-transform:uppercase; letter-spacing:.07em; }
.offer-page-top-v4 b { color:#c5b7a7; }
.offer-page-card-v4 h2 { color:#fff; font-size:30px; margin:24px 0 10px; }
.offer-page-card-v4 p { color:rgba(255,255,255,.7); font-size:10.5px; }
.offer-page-card-v4 .btn { align-self:flex-start; margin-top:auto; }

@media(max-width:980px){
  .membership-plan-grid-v4{grid-template-columns:1fr 1fr}
  .offer-page-grid-v4{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .public-split-v4{gap:18px!important}.public-model-visual-v4{min-height:300px;order:-1;border-radius:22px}.public-model-visual-v4 img{min-height:300px;height:300px}
  .membership-page-hero-v4{margin:8px 8px 0;border-radius:25px}.membership-page-hero-inner-v4{min-height:0;display:flex;flex-direction:column;width:calc(100% - 24px)!important;padding:0!important}.membership-page-model-v4{order:1;width:100%;height:300px}.membership-page-model-v4 img{height:300px;object-fit:cover;object-position:center 16%}.membership-page-copy-v4{order:2;padding:24px 8px 28px}.membership-page-copy-v4 h1{font-size:38px}.membership-page-copy-v4 p{font-size:10.5px}.membership-page-copy-v4 .btn{width:100%}
  .membership-plan-grid-v4,.offer-page-grid-v4{grid-template-columns:1fr}.membership-plan-v4{padding:19px;border-radius:20px}.membership-plan-v4 h3{font-size:21px}.membership-plan-price-v4{font-size:27px}.benefit-row-v4{grid-template-columns:1fr}.offer-page-card-v4{min-height:230px;padding:20px}.offer-page-card-v4 h2{font-size:26px;margin-top:18px}.offer-page-card-v4 .btn{width:100%}
}

/* =====================================================================
   V5 PUBLIC UI POLISH — mobile-safe typography, service picker, spacing
   ===================================================================== */
body.public-app main { padding-bottom: 10px; }
.service-picker-trigger-v5 {
  width:100%; display:grid; grid-template-columns:46px minmax(0,1fr) auto; gap:12px; align-items:center;
  border:1px solid #dfd7ca; border-radius:18px; background:linear-gradient(135deg,#fff,#fbf7ef); padding:14px;
  color:#1b1713; text-align:left; cursor:pointer; box-shadow:0 8px 24px rgba(43,34,23,.05);
}
.service-picker-trigger-icon-v5 { width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#17130f;color:#e4bf6e;font-size:20px; }
.service-picker-trigger-v5 > span:nth-child(2){display:flex;flex-direction:column;min-width:0}.service-picker-trigger-v5 strong{font-size:14px}.service-picker-trigger-v5 small{font-size:10px;color:#8f8376;margin-top:2px}.service-picker-trigger-v5>b{color:#8b672a;font-size:11px}
.service-picker-inline-summary-v5{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.service-picker-inline-summary-v5 .service-pill-v5{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#f5ecd9;color:#735827;font-size:9px;font-weight:600}.service-picker-inline-summary-v5 .service-pill-v5 button{border:0;background:transparent;color:#7d6847;cursor:pointer;font-size:13px;padding:0;line-height:1}
.service-picker-sheet-v5{position:fixed;inset:0;z-index:1400;display:none}.service-picker-sheet-v5.open{display:block}.service-picker-backdrop-v5{position:absolute;inset:0;border:0;background:rgba(12,10,8,.55);backdrop-filter:blur(3px);width:100%;height:100%}.service-picker-panel-v5{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(760px,calc(100% - 30px));max-height:min(82vh,760px);display:flex;flex-direction:column;background:#fff;border-radius:26px;box-shadow:0 30px 90px rgba(0,0,0,.3);overflow:hidden}.service-picker-head-v5{display:flex;justify-content:space-between;gap:14px;padding:20px 20px 12px;border-bottom:1px solid #eee8df}.service-picker-head-v5 h3{font-size:25px;margin:2px 0 4px}.service-picker-head-v5 p{font-size:10px;margin:0}.service-picker-close-v5{width:40px;height:40px;border-radius:50%;border:0;background:#f3f0eb;font-size:24px;cursor:pointer;flex:0 0 auto}.service-picker-categories-v5{padding:12px 18px 8px;margin:0;border-bottom:1px solid #f0ebe4}.service-picker-list-v5{padding:12px 18px;max-height:none;overflow-y:auto;flex:1}.service-picker-footer-v5{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px 16px;border-top:1px solid #eee8df;background:#fff}.service-picker-footer-v5>div{display:flex;flex-direction:column}.service-picker-footer-v5 small{font-size:8px;text-transform:uppercase;color:#978a7c}.service-picker-footer-v5 strong{font-size:12px}.service-picker-footer-v5 .btn{min-width:150px}
.contact-grid-v5{align-items:flex-start;gap:48px}.contact-details-v5{min-width:0}.contact-details-v5 h2{font-size:30px}.contact-details-v5 p{overflow-wrap:anywhere}.contact-details-v5 iframe{display:block}
.academy-copy-v5 h2{font-size:clamp(29px,3.4vw,43px);line-height:1.08}.academy-copy-v5>p{font-size:15px;line-height:1.75;max-width:660px}.academy-copy-v5 .why-item p{font-size:14px;line-height:1.55}

@media (max-width:760px){
  body.public-app main{padding-bottom:88px}
  body.public-app .section{padding:34px 0}
  body.public-app .section>.container{width:calc(100% - 28px);margin-inline:auto}
  body.public-app .section h2{max-width:100%;overflow-wrap:anywhere}
  body.public-app .section p{overflow-wrap:anywhere}
  body.public-app .card,body.public-app .form-card{border-radius:20px}
  .booking-hero-v4{margin-inline:8px}.booking-hero-v4 h1{font-size:34px;line-height:1.03}.booking-hero-v4 p{font-size:11px;line-height:1.6}
  .booking-service-step-v5{padding:15px}.service-picker-trigger-v5{grid-template-columns:42px minmax(0,1fr) auto;padding:12px;border-radius:16px}.service-picker-trigger-icon-v5{width:42px;height:42px;border-radius:12px}.service-picker-trigger-v5 strong{font-size:12px}.service-picker-trigger-v5 small{font-size:8.5px}.service-picker-trigger-v5>b{font-size:9px}
  .service-picker-panel-v5{left:0;right:0;bottom:0;top:auto;transform:none;width:100%;max-height:88vh;border-radius:24px 24px 0 0}.service-picker-head-v5{padding:17px 16px 10px}.service-picker-head-v5 h3{font-size:23px}.service-picker-head-v5 p{font-size:9px}.service-picker-categories-v5{padding:10px 14px 8px}.service-picker-list-v5{padding:10px 14px;display:grid;grid-template-columns:1fr;gap:7px}.service-picker-footer-v5{padding:10px 14px calc(12px + env(safe-area-inset-bottom))}.service-picker-footer-v5 .btn{min-width:125px;padding:12px 18px;font-size:12px}
  .booking-submit-bar-v4{position:relative;bottom:auto;display:block;padding:13px;margin:14px 0 4px;border-radius:18px}.booking-submit-bar-v4>div{margin-bottom:10px}.booking-submit-bar-v4 small{font-size:9px}.booking-submit-bar-v4 strong{font-size:11px}.booking-submit-bar-v4 .btn{width:100%;min-height:52px;padding:14px 18px;font-size:14px;font-weight:700}
  .contact-section-v5{padding-top:18px!important}.contact-grid-v5{display:grid!important;grid-template-columns:1fr!important;gap:22px!important}.contact-grid-v5>.form-card,.contact-details-v5{width:100%;min-width:0}.contact-details-v5{padding:18px;border:1px solid var(--app-line);background:#fff;border-radius:20px;box-shadow:0 8px 28px rgba(35,28,19,.05)}.contact-details-v5 h2{font-size:25px}.contact-details-v5 p{font-size:12px;line-height:1.65}.contact-details-v5 .btn{width:100%}.contact-details-v5>div:last-child{margin-bottom:4px!important}
  .public-split-v4{display:flex!important;flex-direction:column!important;gap:18px!important;align-items:stretch!important}.public-model-visual-v4{width:100%;min-height:0!important;height:auto!important;order:-1}.public-model-visual-v4 img{width:100%;height:auto!important;min-height:0!important;max-height:420px;aspect-ratio:4/5;object-fit:cover;object-position:center 18%}.academy-copy-v5{width:100%;padding:2px 2px 0}.academy-copy-v5 .eyebrow{font-size:10px}.academy-copy-v5 h2{font-size:30px!important;line-height:1.08!important;margin:8px 0 12px!important}.academy-copy-v5>p{font-size:13px!important;line-height:1.65!important;margin-bottom:14px}.academy-copy-v5 ul{margin:14px 0!important}.academy-copy-v5 .why-item{gap:11px;align-items:flex-start}.academy-copy-v5 .why-item .num{font-size:20px;line-height:1.2;min-width:35px}.academy-copy-v5 .why-item p{font-size:12.5px!important;line-height:1.45!important}.academy-copy-v5 .btn{width:100%;margin-top:4px}
  body.public-app .page-header{margin:8px 8px 0;padding:25px 0}.page-header h1,body.public-app .page-header h1{font-size:30px!important;line-height:1.05}.page-header p,body.public-app .page-header p{font-size:11px!important;line-height:1.55}
  .course-card h3{font-size:18px!important}.course-card p,.course-card span,.course-meta-list{font-size:11px!important;line-height:1.5}
  .whatsapp-float{bottom:86px;right:14px;width:52px;height:52px}
}
@media(max-width:380px){.academy-copy-v5 h2{font-size:27px!important}.service-picker-footer-v5 .btn{min-width:110px}.booking-step-head-v4> b{display:none}}
/* V6 WhatsApp consent */
.booking-consent-v6{display:grid;gap:10px;margin-top:14px}.booking-consent-v6 label{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid rgba(157,122,55,.18);border-radius:14px;background:#fff}.booking-consent-v6 input{margin-top:3px;width:18px;height:18px;accent-color:#b88a34}.booking-consent-v6 span{display:grid;gap:2px}.booking-consent-v6 strong{font-size:13px}.booking-consent-v6 small{color:#777;font-size:11px;line-height:1.45}

/* =============================================================
   V9 — branch-aware public UX, simple appointment, branch/team UI
   ============================================================= */
.appointment-simple-hero-v9 .appointment-branch-line-v9{margin-top:16px;display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(90,68,35,.18);background:#fff;padding:10px 14px;border-radius:999px;color:#2a2117;cursor:pointer}.appointment-branch-line-v9 span{color:#a4772d}.appointment-branch-line-v9 strong{font-size:12px}.appointment-branch-line-v9 small{font-size:10px;color:#8b7f72}.appointment-simple-wrap-v9{max-width:760px}.appointment-simple-card-v9{position:relative;padding:28px}.appointment-field-v9>label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.appointment-simple-grid-v9{grid-template-columns:1fr 1fr}.appointment-select-services-v9{width:100%;margin:0}.appointment-sms-consent-v9{display:flex;gap:10px;align-items:flex-start;margin:4px 0 18px;padding:12px 14px;border:1px solid #e9e1d5;background:#fbf7ef;border-radius:14px}.appointment-sms-consent-v9 input{margin-top:3px}.appointment-sms-consent-v9 span{display:flex;flex-direction:column}.appointment-sms-consent-v9 strong{font-size:12px}.appointment-sms-consent-v9 small{font-size:10px;color:#7d7267;margin-top:2px;line-height:1.5}.appointment-request-btn-v9{width:100%;min-height:54px;font-size:14px}.appointment-footnote-v9{text-align:center;margin:10px 0 0;font-size:10px;color:#8d8174}.service-promo-name-v9{display:block;margin-top:3px;font-size:9px;font-weight:700;color:#9d742d;text-align:right}

.branch-public-grid-v9{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.branch-public-card-v9{overflow:hidden;background:#fff;border:1px solid #e9e2d8;border-radius:26px;box-shadow:0 12px 36px rgba(45,34,20,.06)}.branch-public-card-v9.selected{border-color:#c99a42;box-shadow:0 14px 40px rgba(165,120,45,.12)}.branch-public-cover-v9{height:220px;background:#17130f;display:grid;place-items:center;overflow:hidden}.branch-public-cover-v9 img{width:100%;height:100%;object-fit:cover}.branch-public-cover-v9 img[src*="academy/logo"]{width:130px;height:130px;object-fit:contain}.branch-public-body-v9{padding:22px}.branch-public-top-v9{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.branch-public-top-v9 h2{font-size:25px;margin:4px 0 8px}.branch-selected-badge-v9{padding:6px 10px;border-radius:999px;background:#f1e2bf;color:#78591f;font-size:9px;font-weight:700;text-transform:uppercase}.branch-public-body-v9>p{font-size:12px;line-height:1.6;color:#766d63}.branch-director-mini-v9{display:flex;align-items:center;gap:10px;margin:16px 0}.branch-director-mini-v9 img{width:48px;height:48px;border-radius:50%;object-fit:cover}.branch-director-mini-v9 span{display:flex;flex-direction:column}.branch-director-mini-v9 small{font-size:8px;text-transform:uppercase;color:#9b8e7d}.branch-director-mini-v9 strong{font-size:12px}.branch-director-mini-v9 em{font-size:9px;font-style:normal;color:#8a7c69}.branch-public-actions-v9{display:flex;gap:8px;flex-wrap:wrap}.branch-about-head-v9{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:24px}.branch-about-head-v9>div{max-width:680px}.branch-detail-grid-v9{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.branch-detail-card-v9{background:#fff;border:1px solid #e8e0d5;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:5px}.branch-detail-card-v9 span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#9c8e7b}.branch-detail-card-v9 strong{font-size:11px;line-height:1.5}.branch-director-card-v9{display:grid;grid-template-columns:220px 1fr;gap:28px;align-items:center;background:#18130f;color:#fff;border-radius:28px;padding:26px;margin-top:28px}.branch-director-photo-v9{aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:#2a231d}.branch-director-photo-v9 img{width:100%;height:100%;object-fit:cover}.branch-director-card-v9 h3{color:#fff;font-size:34px;margin:6px 0}.branch-director-card-v9 p{color:#d8d0c6;font-size:12px;line-height:1.7}.branch-director-title-v9{display:block;color:#d5ad57;font-size:11px;margin-bottom:10px}.branch-person-placeholder-v9{width:100%;height:100%;display:grid;place-items:center;font-family:'Playfair Display',serif;font-size:48px;background:linear-gradient(145deg,#b98b3e,#e5c783);color:#1b1510}.branch-team-title-v9{margin-top:36px}.branch-team-grid-v9{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.branch-team-card-v9{background:#fff;border:1px solid #e8e0d5;border-radius:20px;padding:12px}.branch-team-photo-v9{aspect-ratio:1/1;border-radius:15px;overflow:hidden;background:#eee6db}.branch-team-photo-v9 img{width:100%;height:100%;object-fit:cover}.branch-team-card-v9 h3{font-size:16px;margin:11px 0 2px}.branch-team-card-v9>strong{font-size:9px;color:#9a722e;text-transform:uppercase}.branch-team-card-v9 p{font-size:10px;line-height:1.6;margin-top:7px;color:#746b61}

/* Global mobile hardening for public pages */
@media(max-width:768px){
  body.public-app{overflow-x:hidden}.container{max-width:100%}.appointment-simple-card-v9{padding:18px}.appointment-simple-grid-v9{grid-template-columns:1fr}.appointment-request-btn-v9{min-height:58px;font-size:15px}.branch-public-grid-v9{grid-template-columns:1fr;gap:14px}.branch-public-cover-v9{height:190px}.branch-public-body-v9{padding:17px}.branch-about-head-v9{display:block}.branch-about-head-v9 .btn{margin-top:12px;width:100%}.branch-detail-grid-v9{grid-template-columns:1fr 1fr}.branch-director-card-v9{grid-template-columns:110px 1fr;gap:16px;padding:16px;border-radius:22px}.branch-director-card-v9 h3{font-size:24px}.branch-team-grid-v9{grid-template-columns:1fr 1fr;gap:10px}.branch-team-card-v9{padding:9px}.branch-team-card-v9 h3{font-size:13px}.contact-grid-v5{grid-template-columns:1fr!important;gap:18px!important}.contact-details-v5{width:100%;padding:18px!important;border-radius:20px;overflow:hidden}.contact-details-v5 iframe{max-width:100%}.academy-copy-v5 h2{font-size:clamp(26px,8vw,32px)!important;overflow-wrap:anywhere}.academy-copy-v5 p,.academy-copy-v5 .why-item p{font-size:12.5px!important}.academy-model-visual-v4 img{max-height:440px!important}.service-item-v4{grid-template-columns:1fr!important;gap:12px}.service-item-action-v4{display:flex!important;align-items:flex-end;justify-content:space-between;width:100%}.btn-service-book-v4{min-width:110px}.page-header .container,.section .container{width:calc(100% - 28px)!important}.form-card{width:100%!important;max-width:100%!important}.form-row{grid-template-columns:1fr!important}.form-control,.btn{max-width:100%}.service-filter-panel-v4{padding:14px!important}.gender-switch-v4{grid-template-columns:1fr 1fr!important}.service-results-head-v4{align-items:flex-end!important;gap:10px}.service-results-head-v4 h2{font-size:25px!important}.branch-chip{max-width:150px}
}
@media(max-width:420px){.branch-detail-grid-v9{grid-template-columns:1fr}.branch-director-card-v9{grid-template-columns:1fr}.branch-director-photo-v9{max-height:320px}.branch-team-grid-v9{grid-template-columns:1fr 1fr}.branch-public-actions-v9 .btn{flex:1}.appointment-simple-hero-v9 h1{font-size:30px!important}}

/* V10 service clarity + polish */
.service-filter-panel-v4{position:relative;overflow:hidden}.service-filter-panel-v4:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(204,161,81,.12),transparent 68%);right:-70px;top:-80px;pointer-events:none}.service-item-v4{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.service-item-v4:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(34,25,18,.08);border-color:#dfc99f}.service-item-action-v10{min-width:150px}.service-price-v10{gap:2px}.service-price-label-v10{font:600 9px/1.2 var(--font-body)!important;text-transform:uppercase;letter-spacing:.08em;color:#9b8d7c!important;margin-bottom:2px}.service-saving-v10{display:inline-flex;align-self:flex-end;background:#edf8ef;color:#2e7740;border-radius:999px;padding:3px 7px;font-size:8px;font-weight:700;margin-top:3px}.service-item-labels-v4 b{box-shadow:none}.btn-service-book-v4{min-width:126px;text-align:center}.service-results-head-v4 h2{font-size:clamp(24px,4vw,36px)}@media(max-width:680px){.service-item-v4{align-items:stretch}.service-item-action-v10{display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px;min-width:0}.service-price-v10{align-items:flex-start}.service-saving-v10{align-self:flex-start}.btn-service-book-v4{min-width:118px;padding-left:14px;padding-right:14px}.service-item-v4 h3{font-size:19px}.service-item-v4 p{font-size:12px;line-height:1.55}}

/* V11 polished service pricing */
.service-price-v10{align-items:flex-end!important;gap:4px!important;min-width:132px;padding:10px 12px;border:1px solid #eadfcf;border-radius:16px;background:linear-gradient(180deg,#fffdf9,#faf5eb)}.service-price-label-v10{font-size:8px!important;letter-spacing:.12em!important;color:#877b6b!important}.service-price-v10 strong{font:700 27px/1 var(--font-heading)!important;color:#7a5722!important}.service-price-v10 del{font-size:10px!important;color:#a3998c!important}.service-saving-v10{align-self:flex-end!important;background:#e9f7ed!important;color:#28713d!important;border:1px solid #d5ecdc;padding:4px 8px!important;font-size:8px!important}.service-promo-name-v9{max-width:150px;text-align:right;color:#9c742e!important;font-size:8px!important;font-weight:700}.brand-name sup,.tm-mark{font-size:.45em;vertical-align:super;line-height:0;margin-left:1px}.service-item-v4:hover .service-price-v10{border-color:#d7bd8b;box-shadow:0 8px 18px rgba(156,116,46,.08)}
@media(max-width:680px){.service-price-v10{align-items:flex-start!important;min-width:0;padding:9px 10px}.service-saving-v10{align-self:flex-start!important}.service-promo-name-v9{text-align:left}.service-price-v10 strong{font-size:24px!important}}

/* =====================================================================
   V21 BRANCH EXPERIENCE — public salon staff + gallery + branch details
   ===================================================================== */
.home-branch-experience-v21{padding-bottom:20px}.home-branch-info-v21{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.home-branch-info-v21>div{min-height:92px;padding:18px;border:1px solid var(--app-line);border-radius:20px;background:#fff;box-shadow:0 8px 26px rgba(49,37,20,.045);display:flex;flex-direction:column;justify-content:center}.home-branch-info-v21 small{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#9c8060;margin-bottom:6px}.home-branch-info-v21 strong{font-size:12px;line-height:1.45;color:#201a14}.public-staff-grid-v21{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.public-staff-card-v21{display:block;overflow:hidden;border:1px solid var(--app-line);border-radius:24px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 10px 30px rgba(44,34,21,.055);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.public-staff-card-v21:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(44,34,21,.1);border-color:#d4b16d}.public-staff-photo-v21{height:240px;background:linear-gradient(145deg,#f2eadc,#d6b875);overflow:hidden;display:grid;place-items:center}.public-staff-photo-v21 img{width:100%;height:100%;object-fit:cover;object-position:center 18%}.public-staff-photo-v21>span{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:#17130f;color:#e3bd69;font:700 38px var(--font-heading)}.public-staff-copy-v21{padding:17px}.public-staff-copy-v21 small{display:block;color:#9b762f;text-transform:uppercase;letter-spacing:.07em;font-size:8px;font-weight:700}.public-staff-copy-v21 h3{margin:5px 0 7px;font-size:21px}.public-staff-copy-v21 p{min-height:32px;margin:0 0 12px;color:#776e63;font-size:10px;line-height:1.55}.public-staff-copy-v21 b{color:#8f6826;font-size:9px}.branch-staff-link-v21{text-decoration:none;color:inherit;position:relative}.branch-staff-link-v21 small{display:block;margin-top:6px;color:#956c25;font-size:8px;font-weight:700}.branch-staff-link-v21:hover{border-color:#c49a4b!important;box-shadow:0 10px 25px rgba(52,41,24,.07)}.public-staff-profile-section-v21{padding-top:28px}.public-staff-profile-v21{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:45px;margin-top:18px;align-items:center;padding:28px;border:1px solid var(--app-line);border-radius:30px;background:#fff;box-shadow:var(--app-shadow)}.public-staff-profile-photo-v21{height:520px;border-radius:24px;overflow:hidden;background:linear-gradient(145deg,#f3eadb,#d8b468);display:grid;place-items:center}.public-staff-profile-photo-v21 img{width:100%;height:100%;object-fit:cover;object-position:center top}.public-staff-profile-photo-v21>span{width:130px;height:130px;border-radius:50%;display:grid;place-items:center;background:#18130f;color:#e4bd68;font:700 55px var(--font-heading)}.public-staff-profile-v21 h1{font-size:clamp(38px,5vw,62px);margin:6px 0}.public-staff-profile-v21 h3{color:#9a7129;margin:0 0 20px}.public-speciality-v21,.public-staff-contact-note-v21{padding:14px 16px;border-radius:16px;background:#faf6ee;border:1px solid #eadfc9;margin:16px 0}.public-speciality-v21 strong,.public-staff-contact-note-v21 strong{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#8e6929}.public-speciality-v21 p,.public-staff-contact-note-v21 p{margin:5px 0 0;font-size:11px;line-height:1.6}.branch-gallery-grid-v21{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:250px;gap:13px}.branch-gallery-grid-v21 figure{position:relative;margin:0;border-radius:22px;overflow:hidden;background:#ece5da;box-shadow:0 9px 25px rgba(42,32,20,.06)}.branch-gallery-grid-v21 figure:first-child{grid-column:span 2;grid-row:span 2}.branch-gallery-grid-v21 img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.branch-gallery-grid-v21 figure:hover img{transform:scale(1.025)}.branch-gallery-grid-v21 figcaption{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px);padding:7px 10px;border-radius:999px;background:rgba(20,16,12,.75);backdrop-filter:blur(7px);color:#fff;font-size:9px}.home-gallery-v21{background:linear-gradient(180deg,#fff,#faf6ef)}
@media(max-width:1050px){.public-staff-grid-v21{grid-template-columns:repeat(2,1fr)}.home-branch-info-v21{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.home-branch-info-v21{grid-template-columns:1fr 1fr;gap:9px}.home-branch-info-v21>div{min-height:78px;padding:13px;border-radius:16px}.home-branch-info-v21 strong{font-size:10px}.public-staff-grid-v21{grid-template-columns:1fr 1fr;gap:10px}.public-staff-card-v21{border-radius:18px}.public-staff-photo-v21{height:190px}.public-staff-copy-v21{padding:12px}.public-staff-copy-v21 h3{font-size:17px}.public-staff-copy-v21 p{font-size:9px}.public-staff-profile-v21{grid-template-columns:1fr;padding:14px;gap:20px;border-radius:23px}.public-staff-profile-photo-v21{height:380px;border-radius:18px}.public-staff-profile-v21 h1{font-size:38px}.branch-gallery-grid-v21{grid-template-columns:1fr 1fr;grid-auto-rows:180px;gap:8px}.branch-gallery-grid-v21 figure{border-radius:16px}.branch-gallery-grid-v21 figure:first-child{grid-column:span 2;grid-row:span 1}}
@media(max-width:430px){.public-staff-grid-v21{grid-template-columns:1fr}.public-staff-photo-v21{height:260px}.branch-gallery-grid-v21{grid-template-columns:1fr;grid-auto-rows:220px}.branch-gallery-grid-v21 figure:first-child{grid-column:auto}.home-branch-info-v21{grid-template-columns:1fr}}
.home-experience-features-v21{padding-top:24px}.home-feature-grid-v21{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.home-feature-grid-v21>div{position:relative;min-height:150px;padding:21px;border:1px solid var(--app-line);border-radius:21px;background:#fff;box-shadow:0 8px 28px rgba(44,34,21,.045)}.home-feature-grid-v21 span{display:inline-grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#18130f;color:#e2bd6b;font-size:9px;font-weight:800}.home-feature-grid-v21 strong{display:block;margin:15px 0 6px;font-size:13px}.home-feature-grid-v21 p{margin:0;color:#7f756a;font-size:10px;line-height:1.6}@media(max-width:850px){.home-feature-grid-v21{grid-template-columns:1fr 1fr}}@media(max-width:520px){.home-feature-grid-v21{grid-template-columns:1fr}.home-feature-grid-v21>div{min-height:0}}

/* =====================================================================
   V22 — APP-LIKE HOME OFFER CAROUSEL + RESILIENT MEDIA UI
   ===================================================================== */
.home-offer-slider-v22{padding:30px 0 10px;background:var(--app-bg)}
.home-offer-slider-head-v22{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}
.home-offer-slider-head-v22 h2{margin:5px 0 0;font-size:clamp(25px,3vw,38px)}
.offer-carousel-v22{position:relative;overflow:hidden;border-radius:30px;background:#18130f;box-shadow:0 18px 50px rgba(38,27,16,.13);isolation:isolate}
.offer-track-v22{display:flex;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform}
.offer-slide-v22{position:relative;min-width:100%;aspect-ratio:16/7;overflow:hidden}
.offer-slide-link-v22{position:absolute;inset:0;display:block;color:#fff}
.offer-slide-v22 picture,.offer-slide-v22 img{display:block;width:100%;height:100%}
.offer-slide-v22 img{object-fit:cover;object-position:center;transform:scale(1.001)}
.offer-shade-v22{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,8,6,.88) 0%,rgba(20,14,9,.65) 34%,rgba(20,14,9,.16) 72%,rgba(20,14,9,.08) 100%)}
.offer-content-v22{position:absolute;z-index:2;left:clamp(28px,5vw,70px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:flex-start;max-width:min(560px,52%)}
.offer-content-v22 small{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(213,171,83,.16);border:1px solid rgba(235,203,129,.35);color:#f0ce80;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;backdrop-filter:blur(6px)}
.offer-content-v22 strong{margin-top:13px;color:#fff;font-family:var(--font-heading);font-size:clamp(33px,4.3vw,62px);line-height:1.02;letter-spacing:-.02em}
.offer-content-v22 em{margin-top:13px;color:rgba(255,255,255,.78);font-style:normal;font-size:clamp(12px,1.2vw,16px);line-height:1.65;max-width:510px}
.offer-content-v22 b{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:12px 16px;border-radius:13px;background:#d3a84e;color:#1c150b;font-size:11px;box-shadow:0 8px 22px rgba(0,0,0,.18)}
.offer-content-v22 b span{font-size:17px;line-height:1}
.offer-arrow-v22{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:42px;height:42px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(12,9,7,.52);color:#fff;font-size:26px;line-height:1;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(10px);transition:.2s ease}
.offer-arrow-v22:hover{background:#d3a84e;color:#19120a}
.offer-arrow-v22.prev{left:16px}.offer-arrow-v22.next{right:16px}
.offer-dots-v22{position:absolute;z-index:4;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:6px;padding:7px 9px;border-radius:999px;background:rgba(14,10,8,.42);backdrop-filter:blur(9px)}
.offer-dots-v22 button{width:7px;height:7px;padding:0;border:0;border-radius:99px;background:rgba(255,255,255,.45);cursor:pointer;transition:.25s ease}
.offer-dots-v22 button.active{width:23px;background:#e5bd67}

/* home polish: app-like cards and smoother content density */
body.public-app .quick-action-card,body.public-app .service-card-v4,body.public-app .public-staff-card-v21{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
@media (hover:hover){body.public-app .quick-action-card:hover,body.public-app .service-card-v4:hover,body.public-app .public-staff-card-v21:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(45,34,21,.09);border-color:#ddc38d}}
body.public-app img{max-width:100%}

@media(max-width:760px){
  .home-offer-slider-v22{padding:20px 0 6px}
  .home-offer-slider-head-v22{align-items:center;margin-bottom:11px}
  .home-offer-slider-head-v22 h2{font-size:23px;line-height:1.12}
  .home-offer-slider-head-v22 .eyebrow{font-size:8px}
  .home-offer-slider-head-v22 .text-link{font-size:9px;white-space:nowrap}
  .offer-carousel-v22{border-radius:24px}
  .offer-slide-v22{aspect-ratio:4/5}
  .offer-shade-v22{background:linear-gradient(180deg,rgba(10,7,5,.76) 0%,rgba(12,9,7,.35) 45%,rgba(12,9,7,.72) 100%)}
  .offer-content-v22{left:22px;right:22px;top:auto;bottom:54px;transform:none;max-width:none}
  .offer-content-v22 small{font-size:8px;padding:6px 9px}
  .offer-content-v22 strong{font-size:34px;max-width:90%}
  .offer-content-v22 em{font-size:11px;line-height:1.55;max-width:92%}
  .offer-content-v22 b{margin-top:16px;padding:10px 13px;font-size:10px}
  .offer-arrow-v22{width:34px;height:34px;font-size:21px;top:42%}
  .offer-arrow-v22.prev{left:10px}.offer-arrow-v22.next{right:10px}
  .offer-dots-v22{bottom:13px}
}
@media(prefers-reduced-motion:reduce){.offer-track-v22{transition:none!important}.offer-slide-v22 img{transform:none!important}}

/* =====================================================================
   V23 — image-only offer carousel, staff-login hub, app-home polish
   ===================================================================== */
.offer-slide-link-v22{display:block;position:relative;width:100%;height:100%;background:#17120f}
.offer-shade-v22,.offer-content-v22{display:none!important}
.offer-image-click-hint-v23{position:absolute;right:18px;top:18px;z-index:3;padding:7px 10px;border-radius:999px;background:rgba(17,13,10,.5);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(9px);color:#fff;font-size:9px;font-weight:700;letter-spacing:.04em;opacity:0;transition:.2s}
.offer-slide-link-v22:hover .offer-image-click-hint-v23{opacity:1}
.offer-slide-v22 img{object-fit:cover!important;object-position:center!important}
.home-offer-slider-v22 .home-offer-slider-head-v22 p{max-width:650px}
.quick-action-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.login-hub-v23{padding-bottom:34px}.login-hub-shell-v23{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:22px;align-items:start}.login-branch-panel-v23,.login-workspace-panel-v23{background:#fff;border:1px solid var(--app-line);border-radius:26px;padding:22px;box-shadow:var(--app-shadow)}.login-branch-panel-v23 h2,.login-workspace-panel-v23 h2{margin:0 0 15px;font-size:22px}.login-branch-grid-v23{display:grid;gap:10px}.login-branch-card-v23{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:11px;text-decoration:none;color:inherit;border:1px solid var(--app-line);border-radius:17px;padding:12px;background:#fbf8f3}.login-branch-card-v23.active{border-color:#c89c43;box-shadow:0 0 0 3px rgba(200,156,67,.1)}.login-branch-card-v23 .brand-logo{width:45px;height:45px}.login-branch-card-v23 span:nth-child(2){display:grid;gap:3px}.login-branch-card-v23 small{color:#887b6e;font-size:10px}.login-workspace-grid-v23{display:grid;grid-template-columns:1fr 1fr;gap:14px}.login-workspace-card-v23{display:flex;gap:15px;min-height:210px;padding:20px;border-radius:22px;border:1px solid var(--app-line);background:linear-gradient(145deg,#fff,#faf5ea);text-decoration:none;color:inherit;transition:.2s}.login-workspace-card-v23:hover{transform:translateY(-3px);border-color:#c89c43;box-shadow:0 18px 45px rgba(45,32,18,.09)}.login-workspace-icon-v23{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:15px;background:#1b1612;color:#d9b361;font-size:22px}.login-workspace-card-v23 small{color:#a1782d;font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.login-workspace-card-v23 h3{font-size:25px;margin:5px 0 8px}.login-workspace-card-v23 p{font-size:11px;line-height:1.65;color:#766d64}.login-workspace-card-v23 b{font-size:10px;color:#8d6723}.login-privacy-note-v23{margin-top:15px;padding:14px 16px;border:1px solid #ead9b9;border-radius:16px;background:#fffaf0}.login-privacy-note-v23 strong{font-size:11px}.login-privacy-note-v23 p{margin:5px 0 0;color:#776c61;font-size:10px;line-height:1.6}
/* stronger app-home rhythm */
.home-quick-actions{position:relative;z-index:3}.quick-action-card{min-height:84px}.home-feature-grid-v21>div{min-height:145px}.home-branch-info-v21>div{transition:transform .2s ease,border-color .2s ease}.home-branch-info-v21>div:hover{transform:translateY(-2px);border-color:#d7b772}
@media(max-width:1050px){.quick-action-grid{grid-template-columns:repeat(3,1fr)}.login-hub-shell-v23{grid-template-columns:1fr}.login-workspace-grid-v23{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.offer-image-click-hint-v23{display:none}.quick-action-grid{grid-template-columns:1fr 1fr}.login-workspace-grid-v23{grid-template-columns:1fr}.login-branch-panel-v23,.login-workspace-panel-v23{padding:15px;border-radius:20px}.login-workspace-card-v23{min-height:auto}.desktop-nav a[href="/login.php"]{display:none}}

/* =====================================================================
   V27 — single-line Staff Login nav + simple branch/workspace login form
   ===================================================================== */
.desktop-nav a[href="/login.php"]{white-space:nowrap!important;min-width:max-content}
.v27-login-form-shell{display:grid;grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr);gap:26px;align-items:stretch;max-width:1080px;margin:0 auto}.v27-login-copy{border-radius:26px;padding:34px;background:linear-gradient(145deg,#17130f,#2b2117);color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:430px}.v27-login-copy h2{font-family:var(--font-heading);font-size:42px;line-height:1.05;margin:10px 0 14px}.v27-login-copy p{color:rgba(255,255,255,.72);line-height:1.75;font-size:13px}.v27-login-points{display:grid;gap:9px;margin-top:18px;color:#e5c77d;font-size:12px;font-weight:600}.v27-login-form{background:#fff;border:1px solid var(--app-line);border-radius:26px;padding:28px;box-shadow:var(--app-shadow);display:flex;flex-direction:column;justify-content:center;gap:16px}.v27-login-step{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:start}.v27-login-step>b{width:34px;height:34px;border-radius:11px;background:#19140f;color:#d5ad56;display:grid;place-items:center}.v27-login-step label{display:block;font-size:11px;font-weight:700;margin-bottom:7px;color:#4c4339}.v27-login-step select{width:100%;min-height:48px;border:1px solid #ddd2c1;border-radius:13px;background:#fff;padding:0 13px;font:inherit;color:#241c15}.v27-workspace-help{padding:14px 16px;border-radius:15px;background:#fbf6eb;border:1px solid #ead9b9;display:grid;gap:4px}.v27-workspace-help strong{font-size:13px}.v27-workspace-help span{font-size:11px;line-height:1.55;color:#766b60}.v27-login-submit{width:100%;min-height:48px}.v27-login-note{text-align:center;color:#8a7d70;font-size:9.5px;line-height:1.5}@media(max-width:860px){.v27-login-form-shell{grid-template-columns:1fr}.v27-login-copy{min-height:auto;padding:25px}.v27-login-copy h2{font-size:32px}}@media(max-width:700px){.desktop-nav a[href="/login.php"]{display:none!important}}

/* =====================================================================
   V31 — branch Before / After transformation showcase
   ===================================================================== */
.home-before-after-v31{background:linear-gradient(180deg,#fff,#faf5ec)}.ba-grid-v31{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.ba-card-v31{background:#fff;border:1px solid var(--app-line);border-radius:26px;overflow:hidden;box-shadow:var(--app-shadow)}.ba-compare-v31{position:relative;aspect-ratio:4/3;overflow:hidden;background:#18130f;--ba-pos:50%;touch-action:pan-y}.ba-compare-v31 picture,.ba-compare-v31 img{display:block;width:100%;height:100%}.ba-compare-v31 img{object-fit:cover}.ba-after-v31{position:absolute;inset:0}.ba-before-v31{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--ba-pos)) 0 0);border-right:0}.ba-before-v31 picture,.ba-before-v31 img{width:100%;height:100%}.ba-before-v31 img{object-fit:cover}.ba-label-v31{position:absolute;top:16px;z-index:4;padding:7px 10px;border-radius:999px;background:rgba(16,12,9,.62);backdrop-filter:blur(8px);color:#fff;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.ba-label-v31.before{left:16px}.ba-label-v31.after{right:16px}.ba-divider-v31{position:absolute;z-index:4;left:var(--ba-pos);top:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#9a681a;box-shadow:0 8px 25px rgba(0,0,0,.24);pointer-events:none}.ba-divider-v31 i{font-style:normal;font-size:17px}.ba-compare-v31 input[type=range]{position:absolute;inset:0;z-index:5;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}.ba-copy-v31{padding:18px 19px 20px}.ba-copy-v31 h3{margin:0;font-size:20px}.ba-copy-v31 p{margin:6px 0 0;color:#7b7066;font-size:11px;line-height:1.55}.ba-copy-v31 span{display:block;margin-top:9px;color:#a17127;font-size:8.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}@media(max-width:760px){.ba-grid-v31{grid-template-columns:1fr;gap:15px}.ba-card-v31{border-radius:21px}.ba-compare-v31{aspect-ratio:4/5}.ba-label-v31{top:12px;font-size:8px}.ba-label-v31.before{left:12px}.ba-label-v31.after{right:12px}.ba-divider-v31{width:38px;height:38px}.ba-copy-v31{padding:15px}.ba-copy-v31 h3{font-size:18px}}

/* V41 customer-first navigation refinements */
.mobile-nav-panel,.mobile-nav-panel *{box-sizing:border-box}.mobile-nav-panel{overflow-x:hidden}.mobile-nav-links a{min-width:0}.mobile-nav-actions{min-width:0}.mobile-customer-card{box-sizing:border-box;width:100%;max-width:100%}

.mobile-customer-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;margin:14px 0 6px;padding:12px;border-radius:17px;background:linear-gradient(135deg,#17110d,#3a2918);color:#fff}.mobile-customer-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#fff5df;color:#9b6d23;font-size:20px}.mobile-customer-card small,.mobile-customer-card strong,.mobile-customer-card em{display:block}.mobile-customer-card small{font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:#e2c27b}.mobile-customer-card strong{font-size:12px;margin-top:1px}.mobile-customer-card em{font-size:9px;font-style:normal;color:rgba(255,255,255,.65);margin-top:2px}.mobile-customer-card>a{padding:8px 10px;border-radius:10px;background:#ddb45c;color:#17120d;font-size:9px;font-weight:700}.mobile-customer-card.is-logged{background:linear-gradient(135deg,#18130f,#2e2419)}

/* V42 verified customer appointment/profile helpers */
.appointment-account-note-v42{display:block;margin-top:6px;color:#81766c;font-size:9.5px;line-height:1.45}.appointment-account-note-v42 a{color:#9b6c20;font-weight:700}.appointment-simple-card-v9 input[readonly]{background:#f8f5ef;color:#5c544c}@media(max-width:760px){.appointment-simple-wrap-v9,.appointment-simple-card-v9,.appointment-simple-card-v9 .form-row,.appointment-simple-card-v9 .form-group,.appointment-simple-card-v9 input,.appointment-simple-card-v9 textarea,.appointment-simple-card-v9 button{max-width:100%;min-width:0;box-sizing:border-box}.appointment-simple-card-v9{overflow:hidden}.service-picker-panel-v5{max-width:calc(100vw - 12px)!important}.mobile-nav-panel{max-width:calc(100vw - 14px)!important}}


/* Gold Sylone V43 mobile stability */
html,body{max-width:100%;overflow-x:hidden}.mobile-nav-panel{width:min(390px,calc(100vw - 18px));max-width:calc(100vw - 18px);overflow-x:hidden}.mobile-nav-panel>*{max-width:100%}.mobile-nav-links a{min-width:0}.mobile-nav-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-nav-actions .btn{min-width:0;width:100%}.mobile-customer-card-v43{box-sizing:border-box;width:100%;max-width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;margin:12px 0 8px;padding:12px;border-radius:18px;background:linear-gradient(135deg,#17110d,#382817);color:#fff;overflow:hidden}.mobile-customer-icon-v43{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#fff5df;color:#9b6d23;font-size:20px}.mobile-customer-copy-v43{min-width:0}.mobile-customer-copy-v43 small,.mobile-customer-copy-v43 strong,.mobile-customer-copy-v43 em{display:block}.mobile-customer-copy-v43 small{font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:#e2c27b}.mobile-customer-copy-v43 strong{font-size:13px;line-height:1.3;margin-top:2px;color:#fff}.mobile-customer-copy-v43 em{font-size:9.5px;line-height:1.4;font-style:normal;color:rgba(255,255,255,.7);margin-top:3px}.mobile-customer-action-v43{display:inline-flex;align-items:center;justify-content:center;padding:9px 11px;border-radius:11px;background:#ddb45c;color:#17120d;font-size:9px;font-weight:700;white-space:nowrap}.mobile-customer-card-v43.is-logged{background:linear-gradient(135deg,#17130f,#2f251a)}
@media(max-width:760px){.site-header,.header-inner,.public-app main,.section,.container{max-width:100%}.bottom-nav{max-width:calc(100vw - 10px)}.mobile-nav-panel{padding-left:14px;padding-right:14px}.mobile-location-card{grid-template-columns:38px minmax(0,1fr) auto}.mobile-location-card>*{min-width:0}}
@media(max-width:430px){.mobile-nav-actions{grid-template-columns:1fr}.mobile-customer-card-v43{grid-template-columns:40px minmax(0,1fr) auto;padding:10px;gap:8px}.mobile-customer-icon-v43{width:40px;height:40px}.mobile-customer-copy-v43 strong{font-size:12px}.mobile-customer-action-v43{padding:8px 9px}}


/* =====================================================================
   GOLD SYLONE APP MOBILE POLISH — 11 Oct 2026
   - Keep the full “Gold Sylone™” brand visible on narrow phone screens.
   - Remove the duplicate blank reserve below the footer while keeping
     enough room inside the footer for the fixed mobile bottom navigation.
   ===================================================================== */
@media (max-width:760px){
  body.public-app{padding-bottom:0!important;}
  body.public-app .header-inner{display:flex!important;align-items:center!important;width:100%!important;padding:8px 12px!important;gap:7px!important;}
  body.public-app .brand{flex:0 0 auto!important;min-width:0!important;max-width:none!important;gap:7px!important;overflow:visible!important;}
  body.public-app .brand-logo{width:38px!important;height:38px!important;flex:0 0 38px!important;}
  body.public-app .brand-text{flex:0 0 auto!important;min-width:max-content!important;max-width:none!important;overflow:visible!important;}
  body.public-app .brand-name{display:block!important;font-size:15.5px!important;line-height:1.05!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;}
  body.public-app .brand-tag{display:none!important;}
  body.public-app .branch-chip{flex:1 1 auto!important;min-width:0!important;max-width:112px!important;margin-left:auto!important;padding:5px 7px!important;gap:6px!important;}
  body.public-app .branch-chip strong{max-width:62px!important;}
  body.public-app .hamburger{flex:0 0 40px!important;width:40px!important;height:40px!important;}
  body.public-app .site-footer{padding-bottom:calc(76px + max(8px, env(safe-area-inset-bottom)))!important;}
}
@media (max-width:360px){
  body.public-app .header-inner{padding-left:10px!important;padding-right:10px!important;gap:6px!important;}
  body.public-app .brand-logo{width:36px!important;height:36px!important;flex-basis:36px!important;}
  body.public-app .brand-name{font-size:14.5px!important;}
  body.public-app .branch-chip{max-width:82px!important;gap:4px!important;padding-left:6px!important;padding-right:6px!important;}
  body.public-app .branch-chip>svg:first-child{display:none!important;}
  body.public-app .branch-chip strong{max-width:54px!important;font-size:9.5px!important;}
}
