:root{
  color-scheme: light;
  --primary:#5A0E24;
  --secondary:#76153C;
  --bg:#ffffff;
  --soft:#fbf6f8;
  --text:#1b1b1b;
  --muted:#6b6b6b;
  --border:rgba(90,14,36,.14);
  --shadow:0 18px 45px rgba(0,0,0,.08);
  --radius:18px;
  --container:1180px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Raleway', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, 'Segoe UI Emoji', 'Apple Color Emoji', 'Noto Color Emoji', sans-serif;
  color:var(--text);
  background:var(--bg);
}

html{
  color-scheme: light;
}

@supports (color-scheme: only light){
  :root,
  html{
    color-scheme: only light;
  }
}

.container{max-width:var(--container); margin:0 auto; padding:0 18px;}

.muted{color:var(--muted);}

.topbar{
  background:linear-gradient(90deg, var(--primary), var(--secondary));
  color:#fff;
  font-size:13px;
}
.topbar__inner{display:flex;justify-content:space-between;align-items:center;padding:10px 0;}
.topbar__link{color:#fff;text-decoration:none;opacity:.9}
.topbar__link:hover{opacity:1}
.dot{opacity:.7;margin:0 10px}

.nav{
  position:sticky; top:0; z-index:50;
  background:#fff;
  border-bottom:1px solid var(--border);
}
.nav__inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:14px;}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);}
.brand__mark{
  width:38px;height:38px;border-radius:12px;
  background:linear-gradient(135deg, var(--primary), var(--secondary));
  display:grid;place-items:center;color:#fff;font-weight:800;
}
.brand__text{font-weight:700;font-size:20px;letter-spacing:.2px}

.menu{display:flex;gap:18px;align-items:center}
.menu a{color:var(--text);text-decoration:none;font-weight:500;font-size:14px;opacity:.86}
.menu a:hover{opacity:1}

.nav__cta{display:flex;gap:10px;align-items:center}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:11px 14px;border-radius:14px;
  text-decoration:none;font-weight:600;font-size:14px;
  border:1px solid transparent;
  transition:.2s ease;
}
.btn:disabled,
.btn[disabled]{
  opacity:.55;
  cursor:not-allowed;
  box-shadow:none;
}
.btn--primary{
  background:linear-gradient(135deg, var(--primary), var(--secondary));
  color:#fff; box-shadow:var(--shadow);
}
.btn--primary:not(:disabled):hover{transform:translateY(-1px)}
.btn--ghost{
  background:#fff;color:var(--primary);
  border-color:var(--border);
}
.btn--ghost:not(:disabled):hover{border-color:rgba(90,14,36,.28)}

.hero{
  padding:54px 0 28px;
  background:
    radial-gradient(900px 400px at 10% 10%, rgba(118,21,60,.10), transparent 60%),
    radial-gradient(700px 350px at 90% 20%, rgba(90,14,36,.10), transparent 55%),
    #fff;
}
.hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:center}
@media (max-width: 980px){.hero__grid{grid-template-columns:1fr}}

.badge{
  display:inline-flex;gap:8px;align-items:center;
  padding:8px 12px;border-radius:999px;
  background:rgba(90,14,36,.07);
  border:1px solid var(--border);
  color:var(--primary);
  font-weight:600;font-size:13px;
}
.hero__title{
  font-weight:700;
  font-size:46px;
  line-height:1.08;
  margin:14px 0 10px;
}
@media (max-width: 540px){.hero__title{font-size:36px}}
.script{
  font-weight:400;
  color:var(--secondary);
  font-size:1.08em;
}
.hero__subtitle{font-size:15px;line-height:1.7;color:var(--muted);max-width:620px}
.hero__cta{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 18px}

.hero__stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px}
.stat{
  background:#fff;border:1px solid var(--border);
  border-radius:16px;padding:12px 14px;min-width:160px;
}
.stat__num{font-weight:800;color:var(--primary);font-size:18px}
.stat__label{font-size:12px;color:var(--muted);margin-top:3px}

.hero__card .card{
  background:#fff;border:1px solid var(--border);
  border-radius:var(--radius); padding:18px;
  box-shadow:var(--shadow);
}
.card__title{font-weight:800;color:var(--primary);margin-bottom:12px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.tab{
  border:1px solid var(--border);
  background:#fff;border-radius:999px;
  padding:7px 10px; font-weight:600;font-size:13px;
  color:var(--primary);
}
.tab.is-active{
  background:rgba(90,14,36,.08);
  border-color:rgba(90,14,36,.25);
}

.list{display:flex;flex-direction:column;gap:10px}
.list__item{
  display:flex;justify-content:space-between;gap:12px;align-items:center;
  border:1px solid var(--border);
  border-radius:16px;padding:12px 12px;
}
.list__name{font-weight:800}
.price{font-weight:800;color:var(--secondary)}
.card__note{margin-top:10px;font-size:12px;color:var(--muted)}

.section{padding:52px 0}
.section--soft{background:var(--soft);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.section__head{max-width:720px;margin-bottom:18px}
.section__head--center{ margin-left:auto; margin-right:auto; text-align:center; }
.section__head--center .section__subtitle{ margin-left:auto; margin-right:auto; }
.section__title{font-size:34px;margin:0 0 8px}
.section__subtitle{margin:0;color:var(--muted);line-height:1.6}

.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width: 980px){.grid4{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:1fr}}
.service{
  background:#fff;border:1px solid var(--border);
  border-radius:var(--radius);padding:16px;
}
.service__icon{font-size:28px}
.service__name{font-weight:800;margin-top:8px;color:var(--primary)}

.step{
  background:#fff;border:1px solid var(--border);
  border-radius:var(--radius);padding:16px;
}
.step__num{
  width:34px;height:34px;border-radius:12px;
  display:grid;place-items:center;
  background:linear-gradient(135deg, var(--primary), var(--secondary));
  color:#fff;font-weight:900;
}
.step__title{font-weight:900;margin:10px 0 6px}

.callout{
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  background:linear-gradient(135deg, rgba(90,14,36,.08), rgba(118,21,60,.08));
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:18px;
}
@media (max-width: 720px){.callout{flex-direction:column;align-items:flex-start}}

.quote{
  background:#fff;border:1px solid var(--border);
  border-radius:var(--radius);padding:16px;
}
.quote__text{font-weight:600;line-height:1.7}
.quote__by{margin-top:10px;color:var(--muted);font-size:13px}

.download{
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:18px;
  background:#fff;
}
@media (max-width: 720px){.download{flex-direction:column;align-items:flex-start}}
.download__buttons{display:flex;gap:10px;flex-wrap:wrap}

.footer{
  background:#f3f3f4;
  color:var(--text);
  padding:50px 0 24px;
  border-top:1px solid rgba(0,0,0,.08);
}
.footer__top{
  display:grid;
  grid-template-columns: 1.05fr 1fr 1fr 1fr;
  gap:34px;
  align-items:start;
}
@media (max-width: 980px){ .footer__top{ grid-template-columns:1fr 1fr; } }
@media (max-width: 600px){
  .footer__top{ grid-template-columns:1fr; }
}

.footer__brandBlock{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-width:0;
  margin-left:-14px;
}
.footer__brandName{
  display:none;
  font-size:26px;
  font-weight:900;
  letter-spacing:-.02em;
  line-height:1.1;
  color:var(--text);
}
@media (max-width: 600px){
  .footer .container{
    padding-left:22px;
    padding-right:22px;
  }
  .footer__top{
    text-align:center;
    gap:24px;
  }
  .footer__brandBlock{
    margin-left:0;
    align-items:center;
    text-align:center;
  }
  .footer__logo{ display:none; }
  .footer__brandName{ display:block; }
  .footer__apps{ justify-items:center; }
  .footerAppGroup{ justify-items:center; }
  .footerStoreBtns{ justify-content:center; }
  .footer__col{ text-align:center; }
  .footer__bottom{ justify-content:center; }
  .footer__social{
    width:100%;
    justify-content:center;
  }
  .footer__legal{
    justify-content:center;
    text-align:center;
  }
  .footer__legalLinks{ justify-content:center; }
}
.footer__logo{
  display:block;
  max-height:42px;
  max-width:100%;
  width:auto;
  height:auto;
  object-fit:contain;
}
.footerLangBtn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 13px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
  color:var(--text);
  font-weight:700;
  font-size:13px;
  width:max-content;
  cursor:pointer;
}
.footerLangBtn svg{ width:18px; height:18px; opacity:.7; }
.footerLangBtn__chev{ opacity:.55; margin-left:2px; }

.footer__title{
  font-weight:700;
  margin:0 0 12px;
  font-size:20px;
  letter-spacing:-.02em;
  line-height:1.1;
}
.footerLink{
  color:var(--text);
  text-decoration:none;
  opacity:.86;
  display:block;
  margin:12px 0;
  font-size:15px;
}
.footerLink:hover{
  opacity:1;
  text-decoration:underline;
  text-underline-offset:3px;
}
.footerLink.is-muted{
  opacity:.45;
  cursor:default;
  pointer-events:none;
  text-decoration:none;
}

.footer__bottom{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  margin-top:34px;
  padding-top:22px;
  border-top:1px solid rgba(0,0,0,.08);
}
.footer__social{ display:flex; align-items:center; gap:10px; }
.socialBtn{
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  display:grid;
  place-items:center;
  background:#fff;
  color:var(--text);
  text-decoration:none;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.socialBtn:hover{
  transform: translateY(-1px);
  border-color: rgba(90,14,36,.25);
  box-shadow:0 12px 26px rgba(0,0,0,.08);
}
.socialBtn__icon{
  width:21px;
  height:21px;
  display:block;
}

.footer__apps{
  display:grid;
  gap:14px;
  width:100%;
  margin-top:8px;
}
.footerAppGroup{
  display:grid;
  gap:8px;
}
.footerAppLabel{
  font-size:13px;
  font-weight:700;
  color:rgba(27,27,27,.82);
  letter-spacing:.01em;
}
.footerStoreBtns{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-start;
  align-items:center;
}
.footerStoreBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:74px;
  height:74px;
  padding:0;
  border-radius:12px;
  border:0;
  background:transparent;
  text-decoration:none;
}
.footerStoreBtn img{
  width:66px;
  height:66px;
  object-fit:contain;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.2));
}
.footerStoreBtn:hover{
  transform:translateY(-1px);
}
@media (max-width: 600px){
  .footerStoreBtn{
    width:64px;
    height:64px;
  }
  .footerStoreBtn img{
    width:56px;
    height:56px;
  }
}

.footer__legal{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid rgba(0,0,0,.06);
}
.footer__legalLinks{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.footerLegalLink{
  color:#5e5e5e;
  text-decoration:none;
  font-size:12px;
}
.footerLegalLink:hover{
  color:var(--text);
  text-decoration:underline;
  text-underline-offset:3px;
}

.footerLangBtn:focus-visible,
.footerLink:focus-visible,
.socialBtn:focus-visible,
.footerStoreBtn:focus-visible,
.footerLegalLink:focus-visible{
  outline:3px solid rgba(118,21,60,.25);
  outline-offset:3px;
}
/* AUTH */
.auth{display:flex;justify-content:center}
.auth__card{
  width:100%; max-width:520px;
  background:#fff; border:1px solid var(--border);
  border-radius:var(--radius);
  padding:18px; box-shadow:var(--shadow);
}
.authHeader{ margin-bottom:10px; }
.authTitle{ margin:0 0 6px; font-weight:900; font-size:28px; letter-spacing:-.01em; }

.authModeTabs{
  display:flex;
  gap:10px;
  margin:12px 0 10px;
}
.authModeTab{
  flex:1;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  border-radius:999px;
  padding:10px 12px;
  font-weight:900;
  font-size:13px;
  cursor:pointer;
}
.authModeTab.is-active{
  background:rgba(0,0,0,.06);
  border-color:rgba(0,0,0,.16);
}

.authTabs{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:10px 0 4px;
}
.authTab{
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  border-radius:999px;
  padding:9px 12px;
  font-weight:900;
  font-size:13px;
  cursor:pointer;
  white-space:nowrap;
}
.authTab.is-active{
  background:rgba(0,0,0,.06);
  border-color:rgba(0,0,0,.16);
}
.authTab__hint{ font-weight:700; font-size:12px; opacity:.75; }

.authPane{ margin-top:6px; }
.phoneRow{
  display:grid;
  grid-template-columns: 180px 1fr;
  gap:10px;
}
@media (max-width: 520px){ .phoneRow{ grid-template-columns:1fr; } }
.input--select{
  appearance:none;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(0,0,0,.55) 50%),
    linear-gradient(135deg, rgba(0,0,0,.55) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 18px,
    calc(100% - 12px) 18px;
  background-size:6px 6px, 6px 6px;
  background-repeat:no-repeat;
  padding-right:34px;
}

.authRole{ margin-top:8px; }
.roleRow{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:8px;
}
.roleOpt{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--border);
  background:#fff;
  padding:10px 12px;
  border-radius:14px;
  cursor:pointer;
  user-select:none;
}
.roleOpt input{ accent-color: var(--primary); }
.label{display:block;font-weight:700;margin:12px 0 6px}
.input{
  width:100%; padding:12px 12px;
  border-radius:14px; border:1px solid var(--border);
  outline:none; font-size:14px;
}
.input:focus{border-color:rgba(90,14,36,.35)}
.wfull{width:100%; margin-top:12px}
.err{color:#b00020;font-size:13px;margin-top:6px}
.small{font-size:12px}
.notice{
  background:rgba(90,14,36,.08);
  border:1px solid rgba(90,14,36,.18);
  padding:10px 12px; border-radius:14px;
  margin:10px 0;
}

.flash{
  border:1px solid var(--border);
  border-radius:14px;
  padding:10px 12px;
  margin:10px 0;
  font-size:13px;
}
.flash--error{
  background:rgba(176,0,32,.08);
  border-color:rgba(176,0,32,.18);
  color:#b00020;
}
.flash--success{
  background:rgba(16,185,129,.10);
  border-color:rgba(16,185,129,.22);
  color:#065f46;
}

/* HOME */
.homehead{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}
.locbar{
  display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;
  border:1px solid var(--border); border-radius:var(--radius);
  padding:12px 14px; background:#fff;
}

.svc{
  display:block; text-decoration:none; color:inherit;
  background:#fff; border:1px solid var(--border);
  border-radius:var(--radius); overflow:hidden;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
  transition:.2s ease;
}
.svc:hover{transform:translateY(-2px)}
.svc__img{
  height:170px; background:#f3eef1;
  background-size:cover; background-position:center;
  position:relative;
}
.svc__imgph{height:100%;display:grid;place-items:center;color:var(--primary);font-weight:900}
.svc__badge{
  position:absolute; left:12px; top:12px;
  background:rgba(255,255,255,.92);
  border:1px solid var(--border);
  padding:6px 10px; border-radius:999px;
  font-weight:700; font-size:12px; color:var(--primary);
}
.svc__body{padding:14px}
.svc__title{font-weight:900;color:var(--primary);margin-bottom:6px}
.svc__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}

/* MODAL */
.modal{
  position:fixed; inset:0; background:rgba(0,0,0,.45);
  display:none; align-items:center; justify-content:center;
  padding:18px; z-index:100;
}
.modal.is-open{display:flex}
.modal__card{
  width:100%; max-width:520px;
  background:#fff; border-radius:var(--radius);
  padding:18px; box-shadow:var(--shadow);
  border:1px solid var(--border);
}
.modal__title{font-weight:900;color:var(--primary);font-size:18px;margin-bottom:8px}
.modal__actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:12px}
/* ===== Glamo Home V2 ===== */
.topbar.topbar--v2{ position:sticky; top:0; z-index:60; background:rgba(255,255,255,.9); backdrop-filter: blur(10px); border-bottom:1px solid rgba(0,0,0,.06); }
.topbar.topbar--v2 .topbar__inner{ display:flex; align-items:center; justify-content:space-between; padding:12px 0; gap:12px; }
.topbar__brand{ display:flex; align-items:center; gap:10px; }
.logoDot{ width:14px; height:14px; border-radius:999px; background: linear-gradient(135deg, #111, #666); }
.topbar__actions{ display:flex; align-items:center; gap:10px; }
.btn--sm{ padding:10px 12px; font-size:.92rem; }

.chip{ display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; background: rgba(0,0,0,.06); font-weight:700; }

/* Hero V2 */
.heroV2{ padding:26px 0 12px; }
.heroV2__grid{ display:grid; grid-template-columns: 1.2fr .8fr; gap:20px; align-items:start; }
@media (max-width: 980px){ .heroV2__grid{ grid-template-columns: 1fr; } }

.heroV2__title{ font-size: clamp(28px, 3.3vw, 44px); line-height:1.08; margin:12px 0; }
.heroV2__subtitle{ max-width: 62ch; }
.heroV2__cta{ display:flex; gap:12px; flex-wrap:wrap; margin-top:14px; }

.heroV2__mini{ display:grid; grid-template-columns: repeat(3, 1fr); gap:10px; margin-top:16px; }
@media (max-width: 720px){ .heroV2__mini{ grid-template-columns: 1fr; } }

.miniCard{ background: rgba(0,0,0,.03); border:1px solid rgba(0,0,0,.06); border-radius:18px; padding:12px; }
.miniCard__t{ font-weight:800; }

/* Right panel cards */
.heroV2__panel{ display:flex; flex-direction:column; gap:12px; }
.locGateCard, .panelCard{
  background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:22px; padding:14px;
  box-shadow: 0 10px 25px rgba(0,0,0,.05);
}
.locGateCard__row{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.locGateCard__title{ font-weight:900; font-size:1.05rem; }
.locGateCard__actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:10px; }
.locGateCard__note{ margin-top:10px; }

.panelCard__title{ font-weight:900; margin-bottom:10px; }
.panelList{ display:flex; flex-direction:column; gap:10px; }
.panelItem{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:10px; border-radius:16px; background: rgba(0,0,0,.03); border:1px solid rgba(0,0,0,.06); }
.panelItem__name{ font-weight:900; }
.panelItem__meta{ white-space:nowrap; }

/* Filter Bar */
.filterBarWrap{ padding:10px 0 4px; }
.filterBar{
  background: rgba(0,0,0,.03);
  border:1px solid rgba(0,0,0,.06);
  border-radius:22px;
  padding:12px;
}
.filterBar__form{ display:flex; justify-content:center; gap:12px; flex-wrap:wrap; align-items:end; }
.filterBar__item{ display:flex; flex-direction:column; gap:6px; min-width: 170px; }
.filterBar__btns{ flex-direction:row; gap:10px; }
.filterLabel{ font-weight:800; font-size:.92rem; }
.filterSelect{
  height:44px; border-radius:14px; border:1px solid rgba(0,0,0,.12);
  padding:0 12px; background:#fff;
}
.filterBar__hint{ margin-top:10px; }

/* Services grid */
.svcGrid{ display:grid; grid-template-columns: repeat(4, 1fr); gap:14px; }
@media (max-width: 1100px){ .svcGrid{ grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 820px){ .svcGrid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px){ .svcGrid{ grid-template-columns: 1fr; } }

.svcCard{
  display:block; overflow:hidden; border-radius:22px;
  background:#fff; border:1px solid rgba(0,0,0,.06);
  text-decoration:none; color:inherit;
  box-shadow: 0 10px 25px rgba(0,0,0,.05);
  transition: transform .15s ease, box-shadow .15s ease;
}
.svcCard:hover{ transform: translateY(-2px); box-shadow: 0 14px 30px rgba(0,0,0,.08); }
.svcCard__img img{ width:100%; height:170px; object-fit:cover; display:block; }
.svcCard__body{ padding:14px; }
.svcCard__top{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.svcCard__name{ font-weight:950; line-height:1.1; }
.metaLine{ display:inline-flex; align-items:center; gap:8px; }
.svcCard__meta{ display:flex; align-items:center; justify-content:space-between; margin-top:10px; }

/* Service card slider (landing) */
.svcCard--slider .svcCard__media{
  position:relative;
  height:190px;
  overflow:hidden;
  background:rgba(0,0,0,.04);
}
.svcCard--slider .svcCard__slides{ position:absolute; inset:0; }
.svcCard--slider .svcCard__slide{
  position:absolute; inset:0;
  background-size:cover;
  background-position:center;
  opacity:0;
  transform:scale(1.04);
  transition: opacity .6s ease, transform .6s ease;
}
.svcCard--slider .svcCard__slide.is-active{ opacity:1; transform:scale(1); }
.svcCard--slider .svcCard__mediaOverlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,.55));
  pointer-events:none;
}
.svcCard--slider .svcCard__chips{
  position:absolute;
  left:12px;
  bottom:12px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  pointer-events:none;
}
.svcCard--slider .svcChip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#161616;
  font-weight:800;
  font-size:12px;
}
.svcCard--slider .svcChip--soft{
  background:rgba(255,255,255,.72);
  font-weight:700;
}
.svcCard--slider .svcCard__desc{ margin-top:6px; }
.svcCard--slider .svcCard__footer{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-top:12px;
}
.svcCard--slider .svcPeople{ display:flex; align-items:center; gap:10px; min-width:0; }
.svcCard--slider .svcAvatars{ display:flex; align-items:center; }
.svcCard--slider .svcAvatar{
  width:26px;
  height:26px;
  border-radius:999px;
  border:2px solid #fff;
  box-shadow:0 8px 18px rgba(0,0,0,.14);
  margin-left:-8px;
  background:linear-gradient(135deg, rgba(90,14,36,.25), rgba(118,21,60,.25));
}
.svcCard--slider .svcAvatar:first-child{ margin-left:0; }
.svcCard--slider .svcAvatar:nth-child(1){ background:linear-gradient(135deg, #ffcfdf, #ff6b9a); }
.svcCard--slider .svcAvatar:nth-child(2){ background:linear-gradient(135deg, #d6f6ff, #61b8ff); }
.svcCard--slider .svcAvatar:nth-child(3){ background:linear-gradient(135deg, #e8ddff, #a17bff); }
.svcCard--slider .svcAvatar:nth-child(4){ background:linear-gradient(135deg, #fff0c9, #ffc14d); }
.svcCard--slider .svcPeople__count{ font-weight:950; color:var(--primary); line-height:1.1; }
.svcCard--slider .svcCard__cta{ white-space:nowrap; }

@media (max-width: 520px){
  .svcCard--slider .svcCard__media{ height:200px; }
}

.pill{ padding:7px 10px; border-radius:999px; background: rgba(0,0,0,.06); font-weight:900; font-size:.88rem; }
.pill--soft{ background: rgba(0,0,0,.04); }

/* Landing helpers */
.filterInput{
  height:44px; border-radius:14px; border:1px solid rgba(0,0,0,.12);
  padding:0 12px; background:#fff;
  outline:none; font-size:14px;
}
.filterInput:focus{
  border-color:rgba(90,14,36,.35);
  box-shadow:0 0 0 4px rgba(118,21,60,.10);
}

/* Make .service usable as a button */
.service{ cursor:pointer; text-align:left; width:100%; }
.service:focus-visible{
  outline:3px solid rgba(118,21,60,.25);
  outline-offset:2px;
}

/* FAQ */
.faq{ max-width: 860px; }
.faq__item{
  background:#fff; border:1px solid var(--border);
  border-radius:var(--radius);
  padding:14px 16px; margin:12px 0;
}
.faq__q{
  list-style:none;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  font-weight:900; color:var(--primary);
  cursor:pointer;
}
.faq__q::-webkit-details-marker{ display:none; }
.faq__q::after{
  content:'+';
  width:28px; height:28px; border-radius:10px;
  display:grid; place-items:center;
  background:rgba(90,14,36,.08);
  border:1px solid rgba(90,14,36,.18);
  color:var(--primary);
  font-weight:900;
}
details[open] .faq__q::after{ content:'-'; }
.faq__a{ margin-top:10px; line-height:1.7; }

/* Bolt-ish hero */
.hero.hero--bolt{
  padding:54px 0 24px;
  background:#fff;
}
.heroBolt{
  max-width: 760px;
  margin: 0 auto;
  text-align:center;
}
.heroBolt__title{
  font-size:clamp(18px, 2.2vw, 20px);
  font-weight:400;
  margin:0 0 10px;
}
.heroBolt__subtitle{
  margin:0;
  font-size:14px;
  font-weight:400;
  line-height:1.7;
  color:var(--muted);
}
.heroBolt__cta{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:18px;
}
.heroBolt__media{
  margin-top:26px;
  border-radius:22px;
  overflow:hidden;
  background:#eef1f3;
  border:1px solid rgba(0,0,0,.06);
}
.heroBolt__media img{
  width:100%;
  height:340px;
  object-fit:cover;
  display:block;
}
@media (max-width: 720px){
  .heroBolt__media img{ height:220px; }
}

/* Hero slider */
.hero.hero--slider{
  position:relative;
  min-height:78vh;
  padding:84px 0 64px;
  display:flex;
  align-items:center;
  background:#111;
  overflow:hidden;
}
.hero.hero--plain{
  position:relative;
  min-height:72vh;
  padding:84px 0 64px;
  display:flex;
  align-items:center;
  background:#fff;
  overflow:hidden;
}
.hero.hero--plain .heroSlider__content{ color:var(--text); }
.hero.hero--plain .heroSlider__subtitle{ color:var(--muted); opacity:1; }
.heroSlides{
  position:absolute;
  inset:0;
}
.heroSlide{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  opacity:0;
  transform:scale(1.05);
  transition:opacity 1.1s ease;
  will-change:opacity, transform;
}
.heroSlide.is-active{
  opacity:1;
  transform:scale(1.12);
  transition:opacity 1.1s ease, transform 9s ease;
}
.heroOverlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.62), rgba(0,0,0,.28) 45%, rgba(0,0,0,.62)),
    radial-gradient(900px 420px at 50% 10%, rgba(118,21,60,.25), transparent 60%);
}
.heroSlider__inner{ position:relative; z-index:2; width:100%; }
.heroSlider__content{
  max-width: 880px;
  margin: 0 auto;
  text-align:center;
  color:#fff;
}
.heroSlider__title{
  font-size:clamp(44px, 6.2vw, 76px);
  line-height:1.04;
  margin:0 0 14px;
  font-weight:900;
  letter-spacing:-.02em;
}
.heroSlider__subtitle{
  margin:0 auto;
  max-width: 62ch;
  font-size:clamp(18px, 2.2vw, 22px);
  line-height:1.7;
  opacity:.95;
}
.heroSlider__cta{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:22px;
}
.btn--hero{
  padding:14px 20px;
  font-size:16px;
  border-radius:16px;
}
.hero.hero--slider .btn--ghost{
  background:rgba(255,255,255,.12);
  color:#fff;
  border-color:rgba(255,255,255,.25);
}
.hero.hero--slider .btn--ghost:hover{
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.35);
}
@media (max-width: 720px){
  .hero.hero--slider{ padding:72px 0 54px; }
  .btn--hero{ width:100%; max-width: 320px; }
}

/* Bolt-ish header */
.siteHeader{
  position:sticky;
  top:0;
  z-index:80;
  background:#f3f3f4;
  border-bottom:1px solid rgba(0,0,0,.06);
}
.siteHeader__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 0;
  gap:12px;
}
.siteBrand{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:var(--text);
}
.siteBrand__logoWrap{
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border-radius:14px;
  background:linear-gradient(135deg, var(--primary), var(--secondary));
  box-shadow:0 10px 25px rgba(0,0,0,.08);
}
.siteBrand__logo{
  height:22px;
  width:auto;
  display:block;
}
.siteBrand__mark{
  width:38px;
  height:38px;
  border-radius:12px;
  background:#111;
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:800;
}
.siteBrand__text{
  font-weight:700;
  font-size:18px;
  letter-spacing:.2px;
}
.siteHeader__actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.siteHeader__link{
  color:var(--text);
  text-decoration:none;
  font-weight:500;
  font-size:14px;
  opacity:.86;
}
.siteHeader__link:hover{ opacity:1; }
.siteHeader__lang{
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  border-radius:999px;
  padding:8px 10px;
  font-weight:700;
  font-size:13px;
  cursor:pointer;
}
.menuBtn{
  width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  cursor:pointer;
  display:grid;
  place-items:center;
}
.menuBtn:hover{ border-color:rgba(0,0,0,.18); }
.menuBtn__icon{
  width:20px;
  height:2.5px;
  border-radius:2px;
  background:var(--text);
  position:relative;
  transition:background .15s ease;
}
.menuBtn__icon::before,
.menuBtn__icon::after{
  content:'';
  position:absolute;
  left:0;
  width:20px;
  height:2.5px;
  border-radius:2px;
  background:var(--text);
  transition:transform .15s ease, top .15s ease;
}
.menuBtn__icon::before{ top:-6.5px; }
.menuBtn__icon::after{ top:6.5px; }
.menuBtn.is-open .menuBtn__icon{ background:transparent; }
.menuBtn.is-open .menuBtn__icon::before{ top:0; transform:rotate(45deg); }
.menuBtn.is-open .menuBtn__icon::after{ top:0; transform:rotate(-45deg); }

.sr-only{
  position:absolute !important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}

body.no-scroll{ overflow:hidden; }

/* Mega menu */
.megaMenu{
  position:fixed;
  inset:0;
  display:none;
  z-index:120;
}
.megaMenu.is-open{ display:block; }
.megaMenu__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.06);
}
.megaMenu__panel{
  position:relative;
  max-width:var(--container);
  margin:86px auto 0;
  background:#f4f5f6;
  border:1px solid rgba(0,0,0,.08);
  border-radius:22px;
  padding:16px;
  box-shadow:0 22px 70px rgba(0,0,0,.16);
}
@media (max-width: 1240px){
  .megaMenu__panel{ margin:86px 18px 0; }
}
.megaMenu__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.megaMenu__title{
  font-weight:800;
  font-size:16px;
}
.megaMenu__close{
  width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  cursor:pointer;
  display:grid;
  place-items:center;
  font-size:22px;
  line-height:1;
}
.megaMenu__tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
}
.megaTab{
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  border-radius:999px;
  padding:8px 12px;
  font-weight:700;
  font-size:13px;
  cursor:pointer;
}
.megaTab.is-active{
  background:rgba(0,0,0,.06);
  border-color:rgba(0,0,0,.14);
}
.megaMenu__grid{
  display:grid;
  grid-template-columns:1fr 320px;
  gap:16px;
  margin-top:14px;
}
@media (max-width: 980px){
  .megaMenu__grid{ grid-template-columns:1fr; }
}
.megaCols{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:16px;
}
@media (max-width: 980px){
  .megaCols{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 540px){
  .megaCols{ grid-template-columns:1fr; }
}
.megaCol__title{
  font-size:13px;
  font-weight:800;
  margin-bottom:10px;
  color:#111;
}
.megaLink{
  display:block;
  padding:6px 0;
  font-size:13px;
  color:#111;
  text-decoration:none;
  opacity:.86;
}
.megaLink:hover{ opacity:1; }
.megaLink.is-muted{ opacity:.55; cursor:default; }
.megaLink--btn{
  width:100%;
  text-align:left;
  background:none;
  border:0;
  font:inherit;
  padding:6px 0;
  color:#111;
  opacity:.86;
  cursor:pointer;
}
.megaLink--btn:hover{ opacity:1; }

.megaMenu__side{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:18px;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.megaCard{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  text-decoration:none;
  color:#111;
  background:rgba(0,0,0,.03);
  border:1px solid rgba(0,0,0,.06);
  border-radius:16px;
  padding:12px;
}
.megaCard:hover{ background:rgba(0,0,0,.05); }
.megaCard__title{ font-weight:900; font-size:14px; }
.megaCard__desc{
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
  line-height:1.4;
}
.megaCard__chev{
  font-size:20px;
  line-height:1;
  opacity:.9;
  padding-top:2px;
}

/* Services tabs + featured cards */
.svcShowcase{ margin: 6px 0 18px; }
.svcShowcase__bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.svcTabBar{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
@media (max-width: 720px){
  .svcTabBar{
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding-bottom:6px;
    max-width:100%;
  }
}
.svcTab{
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  border-radius:999px;
  padding:10px 12px;
  font-weight:800;
  font-size:13px;
  cursor:pointer;
  white-space:nowrap;
}
.svcTab.is-active{
  background:rgba(0,0,0,.06);
  border-color:rgba(0,0,0,.16);
}
.svcPanels{ margin-top:14px; }
.svcPreviewRow{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:14px;
}
@media (max-width: 1100px){
  .svcPreviewRow{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 720px){
  .svcPreviewRow{
    display:flex;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    padding-bottom:10px;
  }
  .svcFeature{
    flex:0 0 82%;
    scroll-snap-align:start;
    min-height: 240px;
  }
}
.svcFeature{
  position:relative;
  display:block;
  min-height: 220px;
  border-radius:22px;
  overflow:hidden;
  background-size:cover;
  background-position:center;
  border:1px solid rgba(0,0,0,.06);
  text-decoration:none;
  color:#fff;
  box-shadow: 0 10px 25px rgba(0,0,0,.06);
  transition: transform .15s ease, box-shadow .15s ease;
}
.svcFeature:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 35px rgba(0,0,0,.10);
}
.svcFeature__overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.70));
}
.svcFeature__body{
  position:absolute;
  inset:auto 0 0 0;
  padding:16px;
}
.svcFeature__title{
  font-weight:900;
  font-size:18px;
  line-height:1.1;
}
.svcFeature__desc{
  margin-top:8px;
  font-size:13px;
  line-height:1.5;
  opacity:.92;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.svcFeature__actions{
  margin-top:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.svcFeature__price{
  font-weight:900;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  padding:8px 10px;
  border-radius:999px;
  font-size:13px;
}
.svcFeature__cta{
  font-weight:900;
  background:#fff;
  color:#111;
  padding:8px 12px;
  border-radius:999px;
  font-size:13px;
}
.svcEmpty{
  padding:18px;
  border-radius:22px;
  border:1px dashed rgba(0,0,0,.12);
  background:rgba(0,0,0,.02);
}

/* Register (provider/client) */
.joinStack{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.joinSplit{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  grid-template-areas: "media content";
  gap:0;
  border-radius:22px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  box-shadow: 0 10px 25px rgba(0,0,0,.06);
}
.joinSplit--reverse{
  grid-template-columns: .9fr 1.1fr;
  grid-template-areas: "content media";
}
.joinSplit__media{ grid-area:media; background:#eef1f3; }
.joinSplit__media img{
  width:100%;
  height:100%;
  min-height:320px;
  object-fit:cover;
  display:block;
}
.joinSplit__content{
  grid-area:content;
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.joinSplit__kicker{
  font-weight:800;
  font-size:13px;
  color:var(--muted);
  margin-bottom:10px;
}
.joinSplit__title{
  margin:0 0 12px;
  font-size: clamp(22px, 2.6vw, 34px);
  line-height:1.1;
}
.joinSplit__subtitle{
  margin:0 0 18px;
  color:var(--muted);
  line-height:1.7;
  font-size:15px;
  max-width: 62ch;
}
@media (max-width: 980px){
  .joinSplit,
  .joinSplit--reverse{
    grid-template-columns:1fr;
    grid-template-areas:
      "media"
      "content";
  }
  .joinSplit__media img{ min-height: 240px; }
}

/* Support page */
.supportFeatured{ padding-top:24px; padding-bottom:10px; }
.supportViewAll{ margin-bottom:16px; }
.supportFeatured__grid{
  display:grid;
  grid-template-columns: 1.7fr 1fr;
  gap:18px;
  align-items:stretch;
}
@media (max-width: 980px){ .supportFeatured__grid{ grid-template-columns:1fr; } }

.supportFeatureCard{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:0;
  border:1px solid rgba(0,0,0,.08);
  border-radius:22px;
  overflow:hidden;
  background:#fff;
  text-decoration:none;
  color:inherit;
  box-shadow: 0 10px 25px rgba(0,0,0,.05);
}
.supportFeatureCard:hover{ box-shadow: 0 14px 30px rgba(0,0,0,.08); transform: translateY(-1px); }
.supportFeatureCard__media img{
  width:100%;
  height:100%;
  min-height:240px;
  object-fit:cover;
  display:block;
}
.supportFeatureCard__body{ padding:18px; display:flex; flex-direction:column; justify-content:center; }
.supportFeatureCard__title{
  font-weight:950;
  font-size:22px;
  line-height:1.15;
  margin:6px 0 10px;
}
.supportFeatureCard__excerpt{ margin:0; line-height:1.7; }
@media (max-width: 720px){
  .supportFeatureCard{ grid-template-columns:1fr; }
  .supportFeatureCard__media img{ min-height:200px; }
}

.supportFeatured__side{ display:flex; flex-direction:column; gap:12px; }
.supportMiniCard{
  display:flex;
  gap:12px;
  align-items:center;
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  overflow:hidden;
  padding:12px;
  background:#fff;
  text-decoration:none;
  color:inherit;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.supportMiniCard:hover{
  transform: translateY(-1px);
  border-color: rgba(90,14,36,.18);
  box-shadow:0 12px 26px rgba(0,0,0,.06);
}
.supportMiniCard__thumb{
  width:76px;
  height:56px;
  border-radius:14px;
  overflow:hidden;
  background:rgba(0,0,0,.05);
  flex:0 0 auto;
}
.supportMiniCard__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.supportMiniCard__title{ font-weight:900; line-height:1.2; margin-bottom:6px; }

.supportHero{ padding:44px 0 24px; }
.supportHero__inner{ text-align:center; }
.supportHero__title{
  font-size: clamp(38px, 5.6vw, 64px);
  line-height:1.05;
  margin:0 0 18px;
  font-weight:950;
  letter-spacing:-.02em;
}
.supportSearch{
  max-width: 900px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px 16px;
  border-radius:16px;
  background: rgba(0,0,0,.03);
  border:1px solid rgba(0,0,0,.06);
}
.supportSearch__icon{
  width:22px;
  height:22px;
  opacity:.85;
  color:var(--text);
}
.supportSearch__icon svg{ width:22px; height:22px; display:block; }
.supportSearch__input{
  border:none;
  outline:none;
  background:transparent;
  width:100%;
  font-size:15px;
}

.supportTopics{
  margin-top:22px;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:16px;
}
@media (max-width: 980px){ .supportTopics{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width: 600px){ .supportTopics{ grid-template-columns:1fr; } }

.supportTopicCard{
  text-decoration:none;
  color:inherit;
  background: rgba(0,0,0,.03);
  border:1px solid rgba(0,0,0,.06);
  border-radius:22px;
  padding:18px;
  min-height:116px;
  display:flex;
  flex-direction:column;
  gap:10px;
  justify-content:flex-start;
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.supportTopicCard:hover{
  transform: translateY(-1px);
  background: rgba(0,0,0,.02);
  border-color: rgba(90,14,36,.18);
  box-shadow:0 12px 26px rgba(0,0,0,.06);
}
.supportTopicCard__title{ font-weight:950; font-size:20px; }
.supportTopicCard__meta{ line-height:1.55; }
.supportResults{ margin-top:10px; }

.supportFaq{
  max-width: 980px;
  margin: 0 auto;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.supportFaqGroup{
  border:1px solid rgba(0,0,0,.08);
  border-radius:22px;
  background:#fff;
  overflow:hidden;
}
.supportFaqGroup__head{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:12px;
  padding:16px 18px;
  border-bottom:1px solid rgba(0,0,0,.06);
  background: rgba(0,0,0,.015);
}
.supportFaqGroup__title{ font-weight:950; }
.supportFaqGroup__list{ padding:10px 12px 14px; }
.supportFaqItem{
  border-radius:16px;
  border:1px solid rgba(0,0,0,.06);
  background:#fff;
  margin:10px 6px;
  overflow:hidden;
}
.supportFaqItem__q{
  list-style:none;
  cursor:pointer;
  padding:14px 14px;
  font-weight:800;
}
.supportFaqItem__q::-webkit-details-marker{ display:none; }
.supportFaqItem__a{ padding:0 14px 14px; line-height:1.7; }

.supportContact{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  border:1px solid rgba(0,0,0,.08);
  border-radius:22px;
  padding:18px;
  background:#fff;
}
.supportContact__title{ font-weight:950; font-size:20px; margin-bottom:6px; }
.supportContact__actions{ display:flex; gap:10px; flex-wrap:wrap; }

/* About page */
.aboutHero{
  padding-top:30px;
  background:
    radial-gradient(860px 360px at 14% 0%, rgba(90,14,36,.12), transparent 64%),
    radial-gradient(700px 300px at 90% 8%, rgba(118,21,60,.10), transparent 68%),
    #fff;
}
.aboutHero__grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:16px;
  align-items:start;
}
.aboutHero__content,
.aboutJoinCard{
  border:1px solid rgba(0,0,0,.08);
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 30px rgba(0,0,0,.08);
  padding:18px;
}
.aboutBadge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  border:1px solid rgba(90,14,36,.2);
  background:rgba(90,14,36,.08);
  color:var(--primary);
  padding:7px 12px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.aboutHero__title{
  margin:12px 0 8px;
  font-size:clamp(30px, 4.1vw, 50px);
  line-height:1.08;
}
.aboutHero__subtitle{
  margin:0 0 10px;
  color:var(--muted);
  line-height:1.7;
}
.aboutHero__actions{
  margin-top:12px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.aboutJoinCard h2{
  margin:0 0 8px;
  font-size:28px;
  line-height:1.1;
}
.aboutJoinCard p{
  margin:0 0 12px;
  color:var(--muted);
  line-height:1.6;
}
.aboutJoinMsg{
  border:1px solid rgba(90,14,36,.18);
  border-radius:12px;
  background:rgba(90,14,36,.07);
  color:#4b2031;
  padding:10px 12px;
  font-weight:700;
}
.aboutJoinMsg--ok{
  border-color:rgba(16,99,72,.25);
  background:rgba(16,99,72,.09);
  color:#0d5f46;
}
.aboutJoinHint{
  margin-top:8px;
  color:var(--muted);
  font-size:13px;
}
@media (max-width: 980px){
  .aboutHero__grid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 640px){
  .aboutHero__content,
  .aboutJoinCard{
    border-radius:16px;
  }
  .aboutHero__title{
    font-size:30px;
  }
  .aboutJoinCard h2{
    font-size:24px;
  }
}

/* Safari page */
.safariHero{
  padding-top:34px;
  background:
    radial-gradient(860px 360px at 14% 0%, rgba(90,14,36,.12), transparent 64%),
    radial-gradient(720px 300px at 88% 4%, rgba(118,21,60,.10), transparent 66%),
    #fff;
}
.safariHero__grid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:20px;
  align-items:stretch;
}
@media (max-width: 980px){
  .safariHero__grid{ grid-template-columns:1fr; }
}
.safariBadge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:8px 13px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--primary);
  background:rgba(90,14,36,.08);
  border:1px solid rgba(90,14,36,.16);
}
.safariHero__title{
  margin:14px 0 10px;
  font-size: clamp(30px, 4.2vw, 52px);
  line-height:1.06;
  letter-spacing:-.02em;
}
.safariHero__subtitle{
  margin:0;
  color:var(--muted);
  line-height:1.75;
  max-width: 66ch;
}
.safariHero__actions{
  margin-top:16px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.safariHero__stats{
  margin-top:16px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:10px;
}
@media (max-width: 860px){
  .safariHero__stats{ grid-template-columns:1fr; }
}
.safariStat{
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  background:#fff;
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.safariStat strong{
  color:var(--primary);
  font-size:14px;
}
.safariStat span{
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}
.safariHero__media{
  margin:0;
  display:grid;
  border:1px solid rgba(0,0,0,.08);
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 16px 34px rgba(0,0,0,.08);
}
.safariHero__media img{
  width:100%;
  height:100%;
  min-height:440px;
  object-fit:cover;
  display:block;
}
.safariHero__media img.safariHero__img--contain{
  object-fit:contain;
  background:#f4f1f3;
}
.safariHero__media figcaption{
  padding:12px 14px;
  border-top:1px solid rgba(0,0,0,.06);
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}
@media (max-width: 700px){
  .safariHero__media img{ min-height:260px; }
}

.safariFlow__grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:12px;
}
@media (max-width: 1200px){
  .safariFlow__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px){
  .safariFlow__grid{ grid-template-columns:1fr; }
}
.safariStep{
  border:1px solid rgba(0,0,0,.08);
  border-radius:20px;
  background:#fff;
  padding:18px;
}
.safariStep__num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:32px;
  border-radius:999px;
  background:rgba(90,14,36,.09);
  color:var(--primary);
  font-size:12px;
  font-weight:800;
  letter-spacing:.05em;
}
.safariStep h3{
  margin:12px 0 8px;
  font-size:22px;
  line-height:1.12;
}
.safariStep p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}

.safariBenefits__grid{
  display:grid;
  grid-template-columns: 1.35fr .65fr;
  gap:18px;
  align-items:start;
}
@media (max-width: 980px){
  .safariBenefits__grid{ grid-template-columns:1fr; }
}
.safariBenefits__content h2{
  margin:0 0 10px;
  font-size: clamp(28px, 3.2vw, 40px);
  line-height:1.08;
}
.safariBenefits__content p{
  margin:0;
  color:var(--muted);
  line-height:1.75;
  max-width:68ch;
}
.safariChecklist{
  margin:16px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.safariChecklist li{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  background:#fff;
  padding:12px;
  line-height:1.6;
}

.safariInfoCard{
  border:1px solid rgba(0,0,0,.08);
  border-radius:22px;
  padding:18px;
  background:#fff;
  box-shadow:0 14px 28px rgba(0,0,0,.06);
}
.safariInfoCard__kicker{
  color:var(--primary);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.safariInfoCard h3{
  margin:8px 0 10px;
  font-size:26px;
  line-height:1.08;
}
.safariInfoCard p{
  margin:0 0 14px;
  color:var(--muted);
  line-height:1.7;
}

/* Salon page */
.salonHero{
  padding-top:30px;
  background:
    radial-gradient(860px 360px at 14% 0%, rgba(90,14,36,.12), transparent 64%),
    radial-gradient(700px 300px at 90% 8%, rgba(118,21,60,.10), transparent 68%),
    #fff;
}
.salonHero__grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px;
  align-items:center;
}
.salonHero__content{
  border:1px solid rgba(0,0,0,.08);
  border-radius:24px;
  background:#fff;
  padding:20px;
}
.salonBadge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  border:1px solid rgba(90,14,36,.2);
  background:rgba(90,14,36,.08);
  color:var(--primary);
  padding:8px 12px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.salonHero__title{
  margin:12px 0 8px;
  font-size:clamp(30px, 4.2vw, 52px);
  line-height:1.06;
}
.salonHero__subtitle{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}
.salonHero__note{
  margin:8px 0 0;
  color:var(--primary);
  font-weight:700;
}
.salonHero__actions{
  margin-top:14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.salonHero__media{
  margin:0;
  border:1px solid rgba(0,0,0,.08);
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 16px 34px rgba(0,0,0,.08);
}
.salonHero__media img{
  width:100%;
  height:100%;
  min-height:430px;
  object-fit:cover;
  display:block;
}

.salonRoadmap{
  padding-top:16px;
}
.salonRoadmap__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}
.salonStop{
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  background:#fff;
  padding:14px;
}
.salonStop span{
  width:34px;
  height:34px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:rgba(90,14,36,.1);
  color:var(--primary);
  font-size:13px;
  font-weight:800;
}
.salonStop h3{
  margin:10px 0 6px;
  font-size:22px;
  line-height:1.1;
}
.salonStop p{
  margin:0;
  color:var(--muted);
}
.salonStop--primary{
  border-color:rgba(90,14,36,.2);
  background:rgba(90,14,36,.05);
}

@media (max-width: 1080px){
  .salonHero__grid{
    grid-template-columns:1fr;
  }
  .salonRoadmap__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px){
  .salonHero__content,
  .salonHero__media{
    border-radius:18px;
  }
  .salonHero__media img{
    min-height:260px;
  }
  .salonRoadmap__grid{
    grid-template-columns:1fr;
  }
}

/* Payment page */
.paymentHero{
  padding-top:30px;
  background:
    radial-gradient(860px 360px at 14% 0%, rgba(90,14,36,.12), transparent 64%),
    radial-gradient(700px 300px at 90% 8%, rgba(118,21,60,.10), transparent 68%),
    #fff;
}
.paymentHero__grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:16px;
  align-items:stretch;
}
.paymentHero__content,
.paymentHero__card{
  border:1px solid rgba(0,0,0,.08);
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 30px rgba(0,0,0,.08);
  padding:18px;
}
.paymentBadge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  border:1px solid rgba(90,14,36,.2);
  background:rgba(90,14,36,.08);
  color:var(--primary);
  padding:7px 12px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.paymentHero__title{
  margin:12px 0 8px;
  font-size:clamp(30px, 4.1vw, 50px);
  line-height:1.06;
}
.paymentHero__subtitle{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}
.paymentHero__note{
  margin:8px 0 0;
  color:var(--primary);
  font-weight:700;
}
.paymentHero__actions{
  margin-top:14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.paymentHero__card h2{
  margin:0 0 10px;
  font-size:26px;
  line-height:1.1;
}
.paymentList{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}
.paymentList li{
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  background:#fff;
  padding:10px 11px;
  color:#4f4650;
}
@media (max-width: 980px){
  .paymentHero__grid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 640px){
  .paymentHero__content,
  .paymentHero__card{
    border-radius:16px;
  }
  .paymentHero__title{
    font-size:30px;
  }
  .paymentHero__card h2{
    font-size:22px;
  }
}

/* Cities page */
.citiesHero{
  padding-top:30px;
  background:
    radial-gradient(860px 360px at 14% 0%, rgba(90,14,36,.12), transparent 64%),
    radial-gradient(700px 300px at 90% 8%, rgba(118,21,60,.10), transparent 68%),
    #fff;
}
.citiesHero__grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:16px;
  align-items:stretch;
}
.citiesHero__content,
.citiesHero__card{
  border:1px solid rgba(0,0,0,.08);
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 30px rgba(0,0,0,.08);
  padding:18px;
}
.citiesBadge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  border:1px solid rgba(90,14,36,.2);
  background:rgba(90,14,36,.08);
  color:var(--primary);
  padding:7px 12px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.citiesHero__title{
  margin:12px 0 8px;
  font-size:clamp(30px, 4vw, 48px);
  line-height:1.08;
}
.citiesHero__subtitle{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}
.citiesHero__actions{
  margin-top:14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.citiesHero__card h2{
  margin:0 0 10px;
  font-size:26px;
  line-height:1.1;
}
.citiesList{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}
.citiesList li{
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  background:#fff;
  padding:10px 11px;
  color:#4f4650;
}
@media (max-width: 980px){
  .citiesHero__grid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 640px){
  .citiesHero__content,
  .citiesHero__card{
    border-radius:16px;
  }
  .citiesHero__title{
    font-size:30px;
  }
  .citiesHero__card h2{
    font-size:22px;
  }
}

/* Ambassador page */
.ambassadorHero{
  padding-top:30px;
  background:
    radial-gradient(860px 360px at 14% 0%, rgba(90,14,36,.12), transparent 64%),
    radial-gradient(700px 300px at 90% 8%, rgba(118,21,60,.10), transparent 68%),
    #fff;
}
.ambassadorHero__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  align-items:start;
}
.ambassadorHero__content,
.ambassadorHero__card{
  border:1px solid rgba(0,0,0,.08);
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 30px rgba(0,0,0,.08);
  padding:18px;
}
.ambassadorBadge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  border:1px solid rgba(90,14,36,.2);
  background:rgba(90,14,36,.08);
  color:var(--primary);
  padding:7px 12px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.ambassadorHero__title{
  margin:12px 0 8px;
  font-size:clamp(30px, 4vw, 48px);
  line-height:1.08;
}
.ambassadorHero__subtitle{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}
.ambassadorForm{
  display:grid;
  gap:10px;
}
.ambassadorField{
  display:grid;
  gap:5px;
}
.ambassadorField label{
  font-size:13px;
  font-weight:700;
  color:#352b35;
}
.ambassadorField input,
.ambassadorField textarea{
  width:100%;
  border:1px solid rgba(0,0,0,.13);
  border-radius:12px;
  background:#fff;
  color:#1f1720;
  font:inherit;
  font-size:14px;
  padding:10px 12px;
  outline:none;
}
.ambassadorField input:focus,
.ambassadorField textarea:focus{
  border-color:rgba(90,14,36,.45);
  box-shadow:0 0 0 4px rgba(90,14,36,.11);
}
.ambassadorField textarea{
  resize:vertical;
  min-height:88px;
}
.ambassadorErr{
  color:#b42318;
  font-size:12px;
  font-weight:600;
}
@media (max-width: 980px){
  .ambassadorHero__grid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 640px){
  .ambassadorHero__content,
  .ambassadorHero__card{
    border-radius:16px;
  }
  .ambassadorHero__title{
    font-size:30px;
  }
}

/* Careers page */
.careersHero{
  padding-top:30px;
  background:
    radial-gradient(860px 360px at 14% 0%, rgba(90,14,36,.12), transparent 64%),
    radial-gradient(700px 300px at 90% 8%, rgba(118,21,60,.10), transparent 68%),
    #fff;
}
.careersHero__grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:16px;
  align-items:stretch;
}
.careersHero__content,
.careersHero__card{
  border:1px solid rgba(0,0,0,.08);
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 30px rgba(0,0,0,.08);
  padding:18px;
}
.careersBadge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  border:1px solid rgba(90,14,36,.2);
  background:rgba(90,14,36,.08);
  color:var(--primary);
  padding:7px 12px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.careersHero__title{
  margin:12px 0 8px;
  font-size:clamp(30px, 4vw, 48px);
  line-height:1.08;
}
.careersHero__subtitle{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}
.careersHero__actions{
  margin-top:14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.careersHero__card h2{
  margin:0 0 10px;
  font-size:26px;
  line-height:1.1;
}
.careersList{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}
.careersList li{
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  background:#fff;
  padding:10px 11px;
  color:#4f4650;
}
.careersJobs{
  display:grid;
  gap:12px;
}
.careersFormErrors{
  margin:0 0 12px;
  border:1px solid rgba(176,0,32,.2);
  border-radius:12px;
  background:rgba(176,0,32,.07);
  color:#8e1026;
  padding:10px 12px;
  font-size:13px;
  font-weight:700;
}
.careerJobCard{
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  background:#fff;
  padding:14px;
  box-shadow:0 10px 24px rgba(0,0,0,.05);
}
.careerJobCard__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.careerJobCard__top h3{
  margin:0;
  font-size:24px;
  line-height:1.14;
}
.careerPill{
  display:inline-flex;
  align-items:center;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(90,14,36,.09);
  color:var(--primary);
  border:1px solid rgba(90,14,36,.18);
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
.careerJobCard__summary{
  margin:10px 0 0;
  color:var(--muted);
  line-height:1.7;
}
.careerMeta{
  margin-top:11px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.careerMeta span{
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  border-radius:10px;
  padding:6px 9px;
  color:#4f4650;
  font-size:12px;
}
.careerJobCard__foot{
  margin-top:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.careerApplyForm{
  width:100%;
  display:grid;
  gap:9px;
}
.careerApplyForm__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
}
.careerApplyField{
  display:grid;
  gap:5px;
}
.careerApplyField span{
  font-size:12px;
  color:#4a4147;
  font-weight:700;
}
.careerApplyInput,
.careerApplyTextarea{
  width:100%;
  border:1px solid rgba(0,0,0,.13);
  border-radius:10px;
  background:#fff;
  color:#1f1720;
  font:inherit;
  font-size:13px;
  padding:8px 10px;
  outline:none;
}
.careerApplyInput:focus,
.careerApplyTextarea:focus{
  border-color:rgba(90,14,36,.45);
  box-shadow:0 0 0 4px rgba(90,14,36,.11);
}
.careerApplyTextarea{
  resize:vertical;
  min-height:72px;
}
.careerApplyField--full{
  grid-column:1 / -1;
}
.careerApplyState{
  border:1px solid rgba(90,14,36,.18);
  border-radius:10px;
  background:rgba(90,14,36,.08);
  color:#4b2031;
  padding:7px 10px;
  font-size:12px;
  font-weight:700;
}
.careerApplyState--ok{
  border-color:rgba(16,99,72,.25);
  background:rgba(16,99,72,.09);
  color:#0d5f46;
}
.careerApplyState--warn{
  border-color:rgba(146,64,14,.25);
  background:rgba(146,64,14,.08);
  color:#8a4b10;
}
.careersEmpty{
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 26px rgba(0,0,0,.06);
  padding:18px;
  text-align:center;
}
.careersEmpty h3{
  margin:0 0 8px;
  font-size:24px;
}
.careersEmpty p{
  margin:0;
  color:var(--muted);
}
@media (max-width: 980px){
  .careersHero__grid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 640px){
  .careersHero__content,
  .careersHero__card{
    border-radius:16px;
  }
  .careersHero__title{
    font-size:30px;
  }
  .careersHero__card h2{
    font-size:22px;
  }
  .careerApplyForm__grid{
    grid-template-columns:1fr;
  }
  .careerJobCard__top h3{
    font-size:20px;
  }
}

/* Policy pages */
.policyHero{
  padding-top:30px;
  background:
    radial-gradient(860px 360px at 14% 0%, rgba(90,14,36,.12), transparent 64%),
    radial-gradient(700px 300px at 90% 8%, rgba(118,21,60,.10), transparent 68%),
    #fff;
}
.policyHero__grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:16px;
  align-items:stretch;
}
.policyHero__content,
.policyHero__card{
  border:1px solid rgba(0,0,0,.08);
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 30px rgba(0,0,0,.08);
  padding:18px;
}
.policyBadge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  border:1px solid rgba(90,14,36,.2);
  background:rgba(90,14,36,.08);
  color:var(--primary);
  padding:7px 12px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.policyHero__title{
  margin:12px 0 8px;
  font-size:clamp(30px, 4vw, 48px);
  line-height:1.08;
}
.policyHero__subtitle{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}
.policyHero__card h2{
  margin:0 0 10px;
  font-size:24px;
  line-height:1.1;
}
.policyList{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}
.policyList li{
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  background:#fff;
  padding:10px 11px;
  color:#4f4650;
}
.policyBody{
  display:grid;
  gap:12px;
}
.policyBlock{
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  background:#fff;
  padding:14px;
}
.policyBlock h3{
  margin:0 0 8px;
  font-size:20px;
  line-height:1.15;
}
.policyBlock p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}
@media (max-width: 980px){
  .policyHero__grid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 640px){
  .policyHero__content,
  .policyHero__card{
    border-radius:16px;
  }
  .policyHero__title{
    font-size:30px;
  }
  .policyHero__card h2{
    font-size:22px;
  }
}

@media (max-width: 600px){
  .safariHero{
    padding-top:24px;
  }
  .safariHero__title{
    font-size:30px;
  }
  .safariStep h3{
    font-size:19px;
  }
  .safariInfoCard h3{
    font-size:22px;
  }
}

/* Reduce boldness across the site */
b, strong{ font-weight:500; }
h1, h2, h3, h4, h5, h6{ font-weight:500; }
.btn,
.badge,
.tab,
.brand__mark,
.brand__text,
.megaMenu__title,
.megaTab,
.megaCol__title,
.megaCard__title,
.hero__title,
.heroSlider__title,
.stat__num,
.card__title,
.list__name,
.price,
.service__name,
.step__num,
.step__title,
.authTitle,
.authModeTab,
.authTab,
.label,
.pill,
.svcChip,
.svcPeople__count,
.svc__imgph,
.svc__badge,
.svc__title,
.modal__title,
.chip,
.miniCard__t,
.locGateCard__title,
.panelCard__title,
.panelItem__name,
.filterLabel,
.svcCard__name,
.svcFeature__title,
.faq__q,
.supportMiniCard__title,
.supportTopicCard__title,
.supportFaqGroup__title,
.supportFaqItem__q,
.supportContact__title{
  font-weight:500;
}

.faq__q::after{ font-weight:500; }

/* Service details page */
.backLink{
  display:inline-flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  color:var(--primary);
  font-weight:500;
  margin-bottom:14px;
}
.backLink:hover{ text-decoration:underline; }

.svcShow__head{ margin-bottom:16px; }
.svcShow__titleRow{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  flex-wrap:wrap;
}
.svcShow__title{ margin:6px 0 0; font-size:30px; line-height:1.16; }
.svcShow__subtitle{ margin:10px 0 0; line-height:1.65; max-width:72ch; }
.svcShow__pills{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.svcShow__quick{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}
.svcShow__quickItem{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:10px;
  display:flex;
  flex-direction:column;
  gap:4px;
  background:#fff;
}
.svcShow__quickItem strong{
  font-size:15px;
  color:var(--text);
}

.svcShow__grid{
  display:grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
  grid-template-areas:
    "gallery right"
    "content right";
  gap:18px;
  align-items:start;
}
@media (max-width: 980px){
  .svcShow__grid{
    grid-template-columns:1fr;
    grid-template-areas:
      "gallery"
      "content"
      "right";
  }
  .svcShow__quick{ grid-template-columns:1fr; }
  .svcShow__title{ font-size:24px; }
}
.svcShow__gallery{ grid-area:gallery; }
.svcShow__content{ grid-area:content; }
.svcShow__related{ grid-column:1; min-width:0; }
.svcShow__right{
  grid-area:right;
  position:sticky;
  top:92px;
}
@media (max-width: 980px){
  .svcShow__right{ position:static; }
}

.card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.card--soft{
  box-shadow:none;
  background:rgba(255,255,255,.9);
}

.svcGallery{ padding:14px; }
.svcGallery__main{
  position:relative;
  width:100%;
  max-width:460px;
  margin-inline:auto;
  border-radius:20px;
  overflow:hidden;
  background:rgba(0,0,0,.04);
}
.svcGallery__slides{
  position:relative;
  width:100%;
  aspect-ratio:3 / 4;
}
@media (max-width: 540px){
  .svcGallery__main{ max-width:100%; }
}

.svcGallery__slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform:scale(1.01);
  transition:opacity .2s ease, transform .2s ease;
}
.svcGallery__slide.is-active{
  opacity:1;
  transform:scale(1);
}
.svcGallery__slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.iconBtn{
  position:absolute;
  top:14px;
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.6);
  background:rgba(0,0,0,.25);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  z-index:3;
}
.iconBtn:hover{ background:rgba(0,0,0,.35); }
.iconBtn:active{ transform:translateY(1px); }
.iconBtn[data-gallery-prev]{ left:14px; }
.iconBtn[data-gallery-next]{ right:14px; }

.svcGallery__thumbs{
  display:flex;
  gap:10px;
  overflow:auto;
  padding-top:12px;
}
.svcGallery__thumb{
  flex:0 0 auto;
  width:62px;
  height:86px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.08);
  overflow:hidden;
  background:#fff;
  padding:0;
  cursor:pointer;
  opacity:.8;
}
.svcGallery__thumb.is-active{
  opacity:1;
  border-color:rgba(90,14,36,.35);
  box-shadow:0 10px 25px rgba(0,0,0,.08);
}
.svcGallery__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }

.svcSection{ margin-top:18px; }
.svcSection__head{ display:flex; justify-content:space-between; align-items:flex-end; gap:12px; flex-wrap:wrap; margin-bottom:12px; }
.svcSection__title{ margin:0; font-size:22px; }

.notice{
  border:1px solid rgba(90,14,36,.16);
  background:rgba(90,14,36,.04);
  border-radius:18px;
  padding:14px;
  margin-top:10px;
}
.notice__title{ font-size:14px; margin-bottom:4px; }
.notice__actions{ margin-top:10px; }

.emptyBlock{
  border:1px dashed rgba(0,0,0,.12);
  background:rgba(0,0,0,.02);
  border-radius:18px;
  padding:16px;
}
.emptyBlock__title{ font-size:15px; margin-bottom:6px; }

.provGrid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
  margin-top:12px;
}
@media (max-width: 640px){ .provGrid{ grid-template-columns:1fr; } }

.provCard{
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  border-radius:22px;
  overflow:hidden;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.provCard:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 38px rgba(0,0,0,.08);
}
.provCard.is-selected{
  border-color:rgba(90,14,36,.35);
  box-shadow:0 18px 38px rgba(90,14,36,.10);
}
.provCard__media{
  height:150px;
  background-size:cover;
  background-position:center;
  background-color:rgba(0,0,0,.04);
}
.provCard__body{ padding:12px; }
.provCard__row{ display:flex; align-items:center; gap:12px; }
.provCard__avatar{
  width:52px;
  height:52px;
  border-radius:999px;
  object-fit:cover;
  flex:0 0 auto;
  border:1px solid rgba(0,0,0,.08);
  background:rgba(0,0,0,.04);
}
.provCard__main{ flex:1; min-width:0; }
.provCard__top{ display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.provCard__name{ font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.provCard__jobs{
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
  border:1px solid rgba(90,14,36,.16);
  background:linear-gradient(135deg, rgba(90,14,36,.10), rgba(118,21,60,.08));
  border-radius:999px;
  padding:5px 10px;
}
.provCard__jobsLabel{
  color:#5f1f33;
  font-size:11px;
  line-height:1;
  font-weight:700;
  letter-spacing:.01em;
}
.provCard__jobsNum{
  color:var(--primary);
  font-size:13px;
  line-height:1;
  font-weight:800;
}
.provCard__meta{ margin-top:6px; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.provStars{ color:#f59e0b; letter-spacing:1px; }
.provCard__price{ margin-top:10px; display:flex; justify-content:space-between; align-items:baseline; gap:10px; }
.provCard__priceNum{ font-size:18px; color:var(--primary); }
.provCard__actions{ margin-top:12px; }

.relGrid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:12px;
}
@media (max-width: 980px){ .relGrid{ grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px){ .relGrid{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.relCard{
  display:block;
  text-decoration:none;
  color:inherit;
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  transition:transform .12s ease, box-shadow .12s ease;
}
.relCard:hover{ transform:translateY(-1px); box-shadow:0 16px 34px rgba(0,0,0,.08); }
.relCard__img{ height:180px; background-size:cover; background-position:center; background-color:rgba(0,0,0,.04); }
@media (max-width: 640px){ .relCard__img{ height:160px; } }
.relCard__body{ padding:10px; }
.relCard__name{ font-size:14px; margin-bottom:4px; }

.priceCard{ padding:14px; }
.priceCard__head{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.priceCard__title{ font-size:16px; margin:0; }

.priceRows{ margin-top:12px; display:flex; flex-direction:column; gap:10px; }
.priceRow{ display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.priceRow__label{ color:var(--muted); font-size:13px; line-height:1.4; }
.priceRow__val{ font-size:13px; }

.priceTotal{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(0,0,0,.08);
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:10px;
}
.priceTotal__label{ color:var(--muted); font-size:13px; }
.priceTotal__val{ font-size:22px; color:var(--primary); }
.priceCard__actions{ margin-top:12px; }

/* Price breakdown bottom-sheet (mobile) */
.priceCard--sheet{ padding:0; }
.priceSheet__toggle{
  display:none;
  width:100%;
  border:0;
  background:transparent;
  cursor:pointer;
}
.priceSheet__handle{
  display:inline-block;
  width:46px;
  height:4px;
  border-radius:999px;
  background:rgba(0,0,0,.18);
}
.priceSheet__chev{ margin-left:10px; color:var(--muted); font-size:12px; }
.priceSheet__body{ padding:14px; }
.priceSheet__footer{
  padding:14px;
  border-top:1px solid rgba(0,0,0,.08);
  background:#fff;
}
.priceCard--sheet.is-collapsed .priceSheet__body{ display:block; }

.priceExtras{
  margin-top:12px;
  padding-top:12px;
  border-top:1px dashed rgba(0,0,0,.14);
}
.priceExtras__title{ font-size:14px; margin:0; }
.extrasHead{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:6px; }
.extrasBody{ margin-top:10px; }
.extrasRecs{ margin-top:10px; display:flex; flex-direction:column; gap:12px; }

.recGroup{ margin-top:8px; }
.recGroup__title{ font-size:13px; color:var(--muted); margin-bottom:8px; }
.recGrid{ display:flex; flex-direction:column; gap:10px; }
.recCard{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 10px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  background:rgba(0,0,0,.02);
}
.recCard__thumb{
  width:44px;
  height:44px;
  border-radius:14px;
  overflow:hidden;
  border:0;
  background:rgba(0,0,0,.04);
  padding:0;
  cursor:pointer;
  flex:0 0 auto;
}
.recCard__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.recCard__main{ flex:1; min-width:0; }
.recCard__name{
  border:0;
  background:transparent;
  padding:0;
  text-align:left;
  cursor:pointer;
  color:var(--text);
  font-size:13px;
  width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.recCard__name:hover{ text-decoration:underline; }
.recCard.is-selected{ border-color:rgba(90,14,36,.35); background:rgba(90,14,36,.06); }

/* Service pick modal */
.modal__card--wide{ max-width:720px; }
.modalHead{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.allSvcList{
  margin-top:12px;
  display:flex;
  flex-direction:column;
  gap:10px;
  max-height:52vh;
  overflow:auto;
  padding-right:4px;
}
.allSvcItem{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  background:rgba(0,0,0,.02);
}
.allSvcItem__check{ width:18px; height:18px; flex:0 0 auto; }
.allSvcItem__thumb{
  width:46px;
  height:46px;
  border-radius:14px;
  overflow:hidden;
  border:0;
  background:rgba(0,0,0,.04);
  padding:0;
  cursor:pointer;
  flex:0 0 auto;
}
.allSvcItem__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.allSvcItem__main{ flex:1; min-width:0; }
.allSvcItem__name{ font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* Service preview modal */
.svcPrev{ position:relative; height:320px; border-radius:18px; overflow:hidden; background:rgba(0,0,0,.04); }
.svcPrev__img{ width:100%; height:100%; object-fit:cover; display:block; }
.svcPrev__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background:rgba(255,255,255,.92);
  cursor:pointer;
}
.svcPrev__nav--prev{ left:12px; }
.svcPrev__nav--next{ right:12px; }
.svcPrevThumbs{ margin-top:10px; display:flex; gap:8px; overflow:auto; padding-bottom:4px; }
.svcPrevThumb{
  width:56px;
  height:40px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.10);
  background:rgba(0,0,0,.04);
  padding:0;
  cursor:pointer;
  flex:0 0 auto;
}
.svcPrevThumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.svcPrevThumb.is-active{ border-color:rgba(90,14,36,.35); box-shadow:0 12px 26px rgba(90,14,36,.16); }
@media (max-width: 540px){ .svcPrev{ height:240px; } }

@media (max-width: 980px){
  .svcShow{ padding-bottom:0; }
  .svcShow__right{
    position:static;
    left:auto;
    right:auto;
    bottom:auto;
    z-index:1;
  }
  .priceCard--sheet{
    border-radius:18px;
    overflow:visible;
    box-shadow:none;
  }
  .priceSheet__toggle{ display:none; }
  .priceCard--sheet.is-collapsed .priceSheet__body{ display:block; }
  .priceCard--sheet.is-expanded{ max-height:none; }
  .priceCard--sheet.is-expanded .priceSheet__body{
    display:block;
    overflow:visible;
    max-height:none;
  }
  .priceTotal__val{ font-size:18px; }
}

@media (max-width: 640px){
  .svcShow__grid{ gap:12px; }
  .backLink{ margin-bottom:10px; font-size:13px; }
  .svcShow__head{ margin-bottom:10px; }
  .svcShow__title{ font-size:21px; line-height:1.2; }
  .svcShow__subtitle{ margin-top:6px; font-size:13px; line-height:1.45; }
  .svcShow__quick{ margin-top:10px; gap:8px; }
  .svcShow__quickItem{ padding:8px 10px; border-radius:12px; }
  .svcShow__quickItem strong{ font-size:13px; }

  .svcShow .small{ font-size:11px; }
  .svcShow .pill{ font-size:11px; padding:5px 9px; }
  .svcShow .btn{ font-size:13px; }
  .svcShow .btn--sm{ padding:8px 10px; font-size:12px; }
  .svcShow .input{ font-size:13px; }

  .svcGallery{ padding:10px; }
  .svcGallery__main{ border-radius:16px; }
  .svcGallery__thumbs{ gap:8px; padding-top:10px; }
  .svcGallery__thumb{
    width:52px;
    height:74px;
    border-radius:10px;
  }
  .iconBtn{
    width:36px;
    height:36px;
    top:10px;
  }
  .iconBtn[data-gallery-prev]{ left:10px; }
  .iconBtn[data-gallery-next]{ right:10px; }

  .svcSection{ margin-top:12px; }
  .svcSection__head{ margin-bottom:8px; gap:8px; }
  .svcSection__title{ font-size:17px; }
  .notice,
  .emptyBlock{ padding:12px; border-radius:14px; }

  .provGrid{ gap:10px; margin-top:10px; }
  .provCard{ border-radius:16px; }
  .provCard__body{ padding:10px; }
  .provCard__row{ gap:10px; }
  .provCard__avatar{
    width:44px;
    height:44px;
  }
  .provCard__name{ font-size:14px; }
  .provCard__jobs{
    gap:6px;
    padding:4px 8px;
  }
  .provCard__jobsLabel{ font-size:10px; }
  .provCard__jobsNum{ font-size:12px; }
  .provCard__meta{ gap:6px; margin-top:4px; }
  .provCard__price{ margin-top:8px; }
  .provCard__priceNum{ font-size:16px; }
  .provCard__actions{ margin-top:10px; }

  .relGrid{ gap:10px; }
  .relCard{ border-radius:14px; }
  .relCard__img{ height:148px; }
  .relCard__body{ padding:8px; }
  .relCard__name{ font-size:13px; }

  .priceCard{ padding:12px; border-radius:16px; }
  .priceSheet__body,
  .priceSheet__footer{ padding:12px; }
  .priceCard__title{ font-size:14px; }
  .priceRows{ margin-top:10px; gap:8px; }
  .priceRow__label,
  .priceRow__val{ font-size:12px; }
  .priceExtras{ margin-top:10px; padding-top:10px; }
  .priceExtras__title{ font-size:13px; }
  .priceTotal{
    margin-top:10px;
    padding-top:10px;
  }
  .priceTotal__label{ font-size:12px; }
  .priceTotal__val{ font-size:17px; }
}

.orderBox{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
  border:1px solid rgba(0,0,0,.08);
  background:rgba(0,0,0,.02);
  border-radius:18px;
  padding:14px;
}
@media (max-width: 640px){ .orderBox{ grid-template-columns:1fr; } }
.orderBox__row{ display:flex; justify-content:space-between; align-items:baseline; gap:10px; }
.orderBox__val{ color:var(--text); }

/* ORDER TRACKING */
.track{ display:flex; gap:10px; margin:10px 0 14px; }
.trackStep{ flex:1; position:relative; text-align:center; padding-top:18px; }
.trackStep:not(:last-child)::after{
  content:"";
  position:absolute;
  top:6px;
  left:50%;
  right:-50%;
  height:2px;
  background:rgba(0,0,0,.10);
}
.trackStep.is-done:not(:last-child)::after{ background:rgba(90,14,36,.35); }
.trackDot{
  width:12px; height:12px;
  border-radius:999px;
  border:2px solid rgba(0,0,0,.18);
  background:#fff;
  margin:0 auto 6px;
  position:relative;
  z-index:1;
}
.trackStep.is-done .trackDot{ border-color:rgba(90,14,36,.45); background:rgba(90,14,36,.92); }
.trackLabel{ font-size:11px; color:var(--muted); }
.trackStep.is-done .trackLabel{ color:var(--text); }
@media (max-width: 640px){
  .track{ flex-direction:column; gap:10px; }
  .trackStep{ padding-top:0; text-align:left; display:flex; align-items:center; gap:10px; }
  .trackDot{ margin:0; }
  .trackStep::after{ display:none; }
}

/* CHECKOUT */
.checkoutFlow{
  padding-top:28px;
}
.checkoutFlow__layout{
  display:grid;
  grid-template-columns:minmax(0, 1.12fr) minmax(290px, .88fr);
  gap:14px;
  align-items:start;
}
.checkoutFlow__main{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.checkoutFlow__aside{
  min-width:0;
  position:sticky;
  top:92px;
}
.checkoutFlow__header{
  border:1px solid var(--border);
  border-radius:18px;
  background:#fff;
  padding:14px;
}
.checkoutFlow__step{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  border:1px solid rgba(90,14,36,.2);
  background:rgba(90,14,36,.06);
  color:var(--primary);
  font-size:11px;
  padding:4px 10px;
}
.checkoutFlow__title{
  margin:10px 0 6px;
  font-size:27px;
  line-height:1.15;
}
.checkoutFlow__subtitle{
  margin:0;
  color:var(--muted);
  line-height:1.6;
}
.checkoutFlow__block{
  padding:14px;
}
.checkoutFlow__blockHead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.checkoutFlow__blockHead h2{
  margin:0;
  font-size:16px;
}
.checkoutFlow__blockHead span{
  color:var(--muted);
  font-size:12px;
}
.checkoutList{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.checkoutList__item{
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  padding:10px;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  background:#fff;
}
.checkoutList__main{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.checkoutList__main strong{
  font-size:14px;
  color:var(--text);
}
.checkoutList__main span{
  font-size:12px;
  color:var(--muted);
}
.checkoutList__value{
  font-size:14px;
  color:var(--text);
  white-space:nowrap;
}
.svcMini{ display:flex; align-items:center; gap:12px; }
.svcMini__img{
  width:72px; height:72px;
  border-radius:18px;
  background-size:cover;
  background-position:center;
  background-color:rgba(0,0,0,.04);
  border:1px solid rgba(0,0,0,.08);
  flex:0 0 auto;
}
.svcMini__main{ min-width:0; }
.svcMini__name{ font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.provMini{ display:flex; align-items:center; gap:12px; }
.provMini__avatar{
  width:52px; height:52px; border-radius:999px;
  object-fit:cover; flex:0 0 auto;
  border:1px solid rgba(0,0,0,.08);
  background:rgba(0,0,0,.04);
}
.provMini__main{ min-width:0; }
.provMini__name{ font-size:15px; }

.checkoutFlow__summary{
  padding:14px;
  border-radius:18px;
}
.checkoutFlow__summaryTitle{
  margin:0 0 12px;
  font-size:17px;
}
.checkoutFlow__serviceCard,
.checkoutFlow__providerCard{
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  padding:10px;
  background:#fff;
  margin-bottom:10px;
}
.checkoutFlow__rows{
  border-top:1px solid rgba(0,0,0,.08);
  margin-top:8px;
  padding-top:8px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.checkoutFlow__row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  color:#334155;
  font-size:13px;
}
.checkoutFlow__row--discount{
  color:#166534;
}
.checkoutFlow__row--total{
  margin-top:3px;
  padding-top:8px;
  border-top:1px dashed rgba(0,0,0,.14);
  color:var(--text);
  font-size:16px;
}
.checkoutFlow__note{
  margin:10px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}

.couponRow{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.couponRow .input{ flex:1; min-width:220px; }

.payOpts{ display:flex; gap:10px; flex-wrap:wrap; margin-top:10px; }
.payOpt{ flex:1; min-width:240px; }
.payOpts--stack{
  flex-direction:column;
  gap:8px;
}
.payOpt--card{
  width:100%;
  border:1px solid rgba(0,0,0,.1);
  border-radius:12px;
  background:#fff;
  padding:10px;
}
.payOpt--card span{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.payOpt--card small{
  color:var(--muted);
  line-height:1.45;
}

.checkoutFlow__cardTitle{
  margin:0 0 8px;
  color:var(--text);
  font-size:13px;
}
.checkoutFlow__cardGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin-top:10px;
}
.payChannelTips{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}
.payChannelTips__btn{
  border:1px solid rgba(0,0,0,.12);
  border-radius:999px;
  padding:6px 10px;
  background:#fff;
  color:#334155;
  font-size:12px;
  cursor:pointer;
}
.payChannelTips__btn.is-active{
  border-color:rgba(90,14,36,.35);
  background:rgba(90,14,36,.08);
  color:var(--primary);
}

@media (max-width: 980px){
  .checkoutFlow__layout{
    grid-template-columns:1fr;
  }
  .checkoutFlow__aside{
    position:static;
  }
}
@media (max-width: 620px){
  .checkoutFlow__title{ font-size:22px; }
  .checkoutFlow__cardGrid{ grid-template-columns:1fr; }
}

/* Provider Dashboard Classic */
.providerDashHeader{
  position:sticky;
  top:0;
  z-index:70;
  background:linear-gradient(135deg, #3f0b19, #5a0e24);
  border-bottom:1px solid rgba(255,255,255,.18);
  box-shadow:0 12px 30px rgba(0,0,0,.12);
}

.providerDashHeader__inner{
  min-height:66px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
}

.providerDashHeader__brand{
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
  text-decoration:none;
}

.providerDashHeader__brand img{
  height:26px;
  width:auto;
  display:block;
}

.providerDashHeader__brand strong{
  display:block;
  font-size:14px;
  line-height:1.2;
}

.providerDashHeader__brand span{
  display:block;
  font-size:12px;
  opacity:.88;
}

.providerDashHeader__actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.providerDashHeader .btn--ghost{
  border-color:rgba(255,255,255,.42);
  color:#fff;
  background:rgba(255,255,255,.08);
}

.providerDashHeader .btn--ghost:hover{
  background:rgba(255,255,255,.16);
}

.providerDash{
  padding-top:30px;
}

.providerDash__hero{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:14px;
  padding:20px;
  border:1px solid var(--border);
  border-radius:22px;
  background:
    radial-gradient(580px 230px at 100% 0%, rgba(118,21,60,.09), transparent 60%),
    radial-gradient(620px 280px at 0% 100%, rgba(90,14,36,.07), transparent 60%),
    #fff;
  box-shadow:var(--shadow);
}

.providerDash__heroMain{
  min-width:0;
}

.pdEyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(90,14,36,.18);
  background:rgba(90,14,36,.07);
  color:var(--primary);
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.pdTitle{
  margin:12px 0 8px;
  font-size:30px;
  line-height:1.14;
  color:var(--text);
}

.pdSubtitle{
  margin:0;
  color:var(--muted);
  line-height:1.68;
  max-width:65ch;
}

.pdBadgeRow{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:14px;
}

.pdBadge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:7px 11px;
  font-size:12px;
  border:1px solid rgba(0,0,0,.1);
  background:#fff;
  color:#1f2937;
}

.pdBadge--plain{
  border-color:rgba(0,0,0,.08);
  background:#fff;
}

.pdBadge--ok{
  background:rgba(16,185,129,.1);
  border-color:rgba(16,185,129,.25);
  color:#065f46;
}

.pdBadge--warn{
  background:rgba(217,119,6,.1);
  border-color:rgba(217,119,6,.24);
  color:#92400e;
}

.pdBadge--danger{
  background:rgba(176,0,32,.1);
  border-color:rgba(176,0,32,.24);
  color:#991b1b;
}

.pdBadge--neutral{
  background:rgba(71,85,105,.08);
  border-color:rgba(71,85,105,.2);
  color:#334155;
}

.providerDash__heroMeta{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}

.pdMetaItem{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  background:#fff;
  padding:10px 12px;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.pdMetaItem__k{
  font-size:11px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.04em;
}

.pdMetaItem__v{
  font-size:13px;
  color:var(--text);
  line-height:1.55;
}

.pdBanner{
  margin-top:12px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.1);
  padding:11px 12px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}

.pdBanner--ok{
  background:rgba(16,185,129,.1);
  border-color:rgba(16,185,129,.25);
  color:#065f46;
}

.pdBanner--warn{
  background:rgba(217,119,6,.1);
  border-color:rgba(217,119,6,.25);
  color:#92400e;
}

.pdBanner--danger{
  background:rgba(176,0,32,.1);
  border-color:rgba(176,0,32,.24);
  color:#991b1b;
}

.pdBanner--neutral{
  background:rgba(71,85,105,.08);
  border-color:rgba(71,85,105,.2);
  color:#334155;
}

.pdStats{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
}

.pdStatCard{
  border:1px solid var(--border);
  border-radius:18px;
  background:#fff;
  padding:14px;
}

.pdStats--finance{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.pdStatCard__label{
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-bottom:8px;
}

.pdStatCard__value{
  display:block;
  color:var(--primary);
  font-size:24px;
  line-height:1.1;
}

.pdStatCard__meta{
  margin-top:8px;
  display:block;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}

.pdStatCard__meta--danger{
  color:#991b1b;
}

.pdStatCard__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.pdStatCard--brand{
  border:none;
  background:linear-gradient(135deg, var(--primary), var(--secondary));
  box-shadow:var(--shadow);
}

.pdStatCard__label--light,
.pdStatCard__value--light,
.pdStatCard__meta--light{
  color:#fff;
}

.pdStatCard__meta--light{
  opacity:.94;
}

.pdAmountToggle{
  width:34px;
  height:34px;
  min-width:34px;
  border:1px solid rgba(255,255,255,.45);
  background:rgba(255,255,255,.12);
  color:#fff;
  border-radius:999px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:0;
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease, transform .2s ease;
}

.pdAmountToggle:hover{
  background:rgba(255,255,255,.2);
}

.pdAmountToggle:active{
  transform:translateY(1px);
}

.pdAmountToggle__eye{
  width:16px;
  height:10px;
  border:2px solid currentColor;
  border-radius:999px / 70%;
  position:relative;
}

.pdAmountToggle__eye::after{
  content:'';
  position:absolute;
  top:50%;
  left:50%;
  width:4px;
  height:4px;
  border-radius:50%;
  background:currentColor;
  transform:translate(-50%, -50%);
}

.pdAmountToggle__eye::before{
  content:'';
  position:absolute;
  left:-3px;
  right:-3px;
  top:50%;
  height:2px;
  border-radius:999px;
  background:currentColor;
  transform:translateY(-50%) rotate(-28deg) scaleX(1);
  transform-origin:center;
  opacity:.95;
  transition:transform .22s ease, opacity .22s ease;
}

.pdAmountToggle.is-revealed{
  background:rgba(255,255,255,.24);
  border-color:rgba(255,255,255,.7);
}

.pdAmountToggle.is-revealed .pdAmountToggle__eye::before{
  opacity:0;
  transform:translateY(-50%) rotate(-28deg) scaleX(.2);
}

.pdStatCard__value{
  transition:opacity .22s ease, letter-spacing .22s ease;
}

.pdStatCard__value.is-hidden{
  opacity:.9;
  letter-spacing:.04em;
}

.pdStatCard--earnLayout{
  position:relative;
  min-height:160px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  text-align:left;
}

.pdStatCard--earnLayout .pdStatCard__head{
  width:100%;
  justify-content:flex-start;
  align-items:flex-start;
}

.pdStatCard--earnLayout .pdAmountToggle{
  position:absolute;
  top:12px;
  right:12px;
}

.pdStatCard--earnLayout .pdStatCard__label{
  margin-bottom:8px;
}

.pdOrderModal{
  position:fixed;
  inset:0;
  z-index:120;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.pdOrderModal.is-hidden{
  display:none;
}

.pdOrderModal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.55);
}

.pdOrderModal__card{
  position:relative;
  width:min(760px, 100%);
  border-radius:18px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  box-shadow:0 22px 48px rgba(0,0,0,.22);
  padding:16px;
  z-index:1;
}

.pdOrderModal__head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}

.pdOrderModal__title{
  margin:0;
  font-size:21px;
  color:#111827;
}

.pdOrderModal__sub{
  margin:6px 0 0;
  color:#64748b;
  font-size:13px;
}

.pdOrderModal__metaGrid{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:8px;
}

.pdOrderModal__metaItem{
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  padding:9px;
  background:rgba(0,0,0,.01);
  display:flex;
  flex-direction:column;
  gap:3px;
}

.pdOrderModal__metaItem span{
  color:#64748b;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.pdOrderModal__metaItem strong{
  color:#0f172a;
  font-size:13px;
  line-height:1.45;
}

.pdOrderModal__secure{
  margin-top:10px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
  align-items:end;
}

.pdOrderModal__secureItem{
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  padding:9px;
  background:#fff;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.pdOrderModal__secureItem span{
  color:#64748b;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.pdOrderModal__secureItem strong{
  color:#0f172a;
  font-size:13px;
  line-height:1.45;
}

.pdOrderModal__actions{
  margin-top:12px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:flex-end;
}

.pdOrderModal__actions--stack{
  flex-direction:column;
  align-items:stretch;
}

.pdApproveForm{
  flex:1;
  min-width:290px;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.pdApproveMode{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
}

.pdApproveOption{
  border:1px solid rgba(0,0,0,.1);
  border-radius:12px;
  padding:9px 10px;
  display:flex;
  align-items:center;
  gap:8px;
  background:#fff;
  font-size:13px;
  font-weight:600;
  color:#0f172a;
  cursor:pointer;
}

.pdApproveOption input{
  margin:0;
  accent-color:var(--primary);
}

.pdApproveSchedule{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.pdApproveSchedule.is-hidden{
  display:none;
}

.pdApproveSchedule .label{
  margin:0;
}

@media (max-width: 640px){
  .pdApproveForm{
    min-width:100%;
  }

  .pdApproveMode{
    grid-template-columns:1fr;
  }
}

.pdOrderModal__reject{
  display:flex;
  gap:8px;
  flex:1;
  min-width:260px;
}

.pdOrderModal__reject .input{
  flex:1;
}

.pdInlineForm{
  display:grid;
  grid-template-columns:1.1fr auto;
  gap:8px;
  width:100%;
}

.pdInlineForm .input[type="datetime-local"]{
  min-height:42px;
}

.pdInlineForm .input[type="text"]{
  min-height:42px;
}

.pdInlineForm--compact{
  grid-template-columns:1fr auto;
}

.pdInlineForm--triple{
  grid-template-columns:1fr 1fr auto;
}

.pdPanel--action{
  border-color:rgba(90,14,36,.2);
  background:
    radial-gradient(420px 200px at 100% 0%, rgba(118,21,60,.08), transparent 60%),
    #fff;
}

.pdActionGrid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
}

.pdActionItem{
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  padding:9px;
  display:flex;
  flex-direction:column;
  gap:4px;
  background:#fff;
}

.pdActionItem span{
  color:#64748b;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.pdActionItem strong{
  color:#0f172a;
  font-size:13px;
  line-height:1.45;
}

.pdActionButtons{
  margin-top:10px;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.pdMain{
  margin-top:14px;
  display:grid;
  grid-template-columns:minmax(0, 1.55fr) minmax(0, 1fr);
  gap:12px;
  align-items:start;
}

.pdMain--single{
  grid-template-columns:1fr;
}

.pdMain__left,
.pdMain__right{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.pdPanel{
  border:1px solid var(--border);
  border-radius:18px;
  background:#fff;
  padding:14px;
}

.pdPanel__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:10px;
}

.pdPanel__title{
  margin:0;
  font-size:18px;
  color:var(--text);
}

.pdPanel__sub{
  color:var(--muted);
  font-size:12px;
}

.pdPanel--interview{
  margin-top:12px;
}

.pdInterviewGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

.pdInterviewItem{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:10px;
  background:rgba(0,0,0,.015);
}

.pdInterviewItem__k{
  display:block;
  font-size:11px;
  color:var(--muted);
  margin-bottom:4px;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.pdInterviewItem__v{
  display:block;
  font-size:13px;
  line-height:1.55;
  color:var(--text);
}

.pdServiceGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
}

.pdServiceItem{
  border:1px solid rgba(0,0,0,.1);
  border-radius:14px;
  background:#fff;
  padding:10px;
  display:flex;
  align-items:center;
  gap:8px;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.pdServiceItem:hover{
  border-color:rgba(90,14,36,.35);
  box-shadow:0 10px 24px rgba(0,0,0,.06);
}

.pdServiceItem.is-active{
  border-color:rgba(90,14,36,.34);
  background:rgba(90,14,36,.045);
}

.pdServiceItem input{
  margin:0;
  accent-color:var(--primary);
}

.pdServiceItem__main{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}

.pdServiceItem__name{
  font-size:14px;
  color:var(--text);
  line-height:1.35;
}

.pdServiceItem__meta{
  font-size:11px;
  color:var(--muted);
}

.pdServiceItem.is-readonly{
  cursor:default;
}

.pdServiceState{
  flex:0 0 auto;
  min-width:42px;
  text-align:center;
  border-radius:999px;
  padding:3px 8px;
  font-size:10px;
  letter-spacing:.05em;
  text-transform:uppercase;
  border:1px solid rgba(0,0,0,.1);
}

.pdServiceState--on{
  color:#065f46;
  background:rgba(16,185,129,.12);
  border-color:rgba(16,185,129,.25);
}

.pdServiceState--off{
  color:#64748b;
  background:rgba(148,163,184,.14);
  border-color:rgba(148,163,184,.28);
}

.pdActions{
  margin-top:10px;
  display:flex;
  justify-content:flex-end;
}

.pdTableWrap{
  overflow:auto;
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
}

.pdTable{
  width:100%;
  border-collapse:collapse;
  min-width:720px;
}

.pdTable th,
.pdTable td{
  padding:10px;
  border-bottom:1px solid rgba(0,0,0,.07);
  font-size:13px;
}

.pdTable thead th{
  background:rgba(0,0,0,.03);
  color:#334155;
  text-align:left;
  white-space:nowrap;
}

.pdTable .is-num{
  text-align:right;
}

.pdStatus{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:4px 8px;
  font-size:11px;
  border:1px solid rgba(0,0,0,.12);
}

.pdStatus--ok{
  color:#065f46;
  background:rgba(16,185,129,.1);
  border-color:rgba(16,185,129,.25);
}

.pdStatus--warn{
  color:#92400e;
  background:rgba(217,119,6,.12);
  border-color:rgba(217,119,6,.25);
}

.pdStatus--danger{
  color:#991b1b;
  background:rgba(176,0,32,.1);
  border-color:rgba(176,0,32,.24);
}

.pdStatus--info{
  color:#1d4ed8;
  background:rgba(59,130,246,.1);
  border-color:rgba(59,130,246,.24);
}

.pdStatus--neutral{
  color:#334155;
  background:rgba(71,85,105,.08);
  border-color:rgba(71,85,105,.2);
}

.pdEmpty,
.pdEmptyCell{
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
}

.pdEmptyCell{
  text-align:center;
  padding:20px 12px;
}

.pdDual{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.pdLedgerList{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.pdLedgerItem{
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  padding:10px;
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
  background:rgba(0,0,0,.01);
}

.pdLedgerItem__title{
  color:var(--text);
  font-size:13px;
}

.pdLedgerItem__meta{
  color:var(--muted);
  font-size:11px;
  line-height:1.5;
}

.pdLedgerItem__amount{
  text-align:right;
  font-size:13px;
  color:var(--text);
}

.pdProfileList{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.pdProfileRow{
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  padding:10px;
  display:flex;
  flex-direction:column;
  gap:4px;
  background:rgba(0,0,0,.01);
}

.pdProfileRow span{
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.pdProfileRow strong{
  color:var(--text);
  font-size:13px;
  line-height:1.5;
}

.pdProfileGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
}

.pdSkillGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
  margin-top:6px;
}

.pdSkillChip{
  border:1px solid rgba(0,0,0,.1);
  border-radius:12px;
  padding:9px 10px;
  display:flex;
  align-items:center;
  gap:8px;
  background:rgba(0,0,0,.01);
  cursor:pointer;
}

.pdSkillChip input{
  margin:0;
  accent-color:var(--primary);
}

.pdSkillChip span{
  color:#1f2937;
  font-size:13px;
}

.pdFormStack{
  display:flex;
  flex-direction:column;
}

.pdQuickDebt{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
  margin-bottom:2px;
}

.pdQuickDebt__item{
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  background:rgba(0,0,0,.015);
  padding:9px 10px;
  display:flex;
  flex-direction:column;
  gap:3px;
}

.pdQuickDebt__item span{
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.pdQuickDebt__item strong{
  color:var(--text);
  font-size:14px;
}

.pdDebtActions{
  margin-top:8px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.pdDivider{
  margin:12px 0;
  border-top:1px dashed rgba(0,0,0,.14);
}

.pdSelectedWrap{
  margin-bottom:12px;
}

.pdPanel__head--tight{
  margin-bottom:8px;
}

.pdAllServicesToggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 10px;
}

.pdAllServicesWrap{
  display:block;
}

.pdAllServicesWrap.is-collapsed{
  display:none;
}

.pdServiceTools{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin:0 0 10px;
}

.pdServiceTools__search{
  flex:1 1 280px;
  min-width:220px;
}

.pdServiceTools__search .input{
  width:100%;
}

.pdServiceTools__filters{
  flex:1 1 360px;
  display:grid;
  grid-template-columns:repeat(2, minmax(170px, 1fr));
  gap:8px;
}

.pdServiceTools__filters .input{
  width:100%;
}

.pdServiceTools__meta{
  margin:0 0 10px;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}

.pdSvcCard.is-hidden{
  display:none;
}

.providerSimpleFooter{
  margin-top:28px;
  border-top:1px solid var(--border);
  background:#fff;
}

.providerSimpleFooter__inner{
  min-height:64px;
  padding:12px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.providerSimpleFooter__brand{
  display:flex;
  align-items:center;
  gap:10px;
  color:#334155;
  font-size:12px;
  font-weight:600;
}

.providerSimpleFooter__brand img{
  height:22px;
  width:auto;
  display:block;
}

.providerSimpleFooter__copy{
  color:var(--muted);
  font-size:12px;
}

/* Provider dashboard refresh (menu app style) */
.providerDash{
  padding-top:22px;
}

.providerDashHeader{
  background:#fff;
  border-bottom:1px solid var(--border);
  box-shadow:0 10px 26px rgba(15,23,42,.08);
  padding-left:10px;
  padding-right:10px;
}

.providerDashHeader__inner{
  min-height:70px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 8px;
}

.providerDashHeader__brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:2px;
  color:#0f172a;
  text-decoration:none;
  min-width:0;
}

.providerDashHeader__brand strong{
  font-size:16px;
  line-height:1.2;
}

.providerDashHeader__brand span{
  font-size:11px;
  line-height:1.25;
  color:#64748b;
  opacity:1;
  white-space:nowrap;
}

.providerDashHeader .btn--ghost{
  border-color:rgba(15,23,42,.15);
  color:#0f172a;
  background:#fff;
}

.providerDashHeader .btn--ghost:hover{
  background:#f8fafc;
}

.providerDashHeader__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  margin-left:auto;
  flex-wrap:nowrap;
}

.pdMenuToggle{
  width:40px;
  height:40px;
  min-width:40px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
}

.pdMenuToggle__icon{
  width:18px;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.pdMenuToggle__icon span{
  display:block;
  width:100%;
  height:2px;
  border-radius:999px;
  background:currentColor;
}

.pdOnlineState{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:6px 11px;
  font-size:11px;
  letter-spacing:.04em;
  font-weight:700;
  border:1px solid rgba(15,23,42,.2);
  color:#0f172a;
  background:#f8fafc;
}

.pdOnlineState--ok{
  color:#065f46;
  background:rgba(16,185,129,.14);
  border-color:rgba(16,185,129,.32);
}

.pdOnlineState--danger{
  color:#991b1b;
  background:rgba(220,38,38,.12);
  border-color:rgba(220,38,38,.35);
}

.providerDash__hero{
  grid-template-columns:1fr;
  background:
    radial-gradient(700px 280px at 100% 0%, rgba(107,17,40,.1), transparent 65%),
    linear-gradient(180deg, #fff, #fff6f8);
}

.pdHeroQuickGrid{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

.pdHeroQuickItem{
  border:1px solid rgba(90,14,36,.14);
  border-radius:14px;
  background:#fff;
  padding:10px 12px;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.pdHeroQuickItem span{
  color:#64748b;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.pdHeroQuickItem strong{
  font-size:18px;
  color:#111827;
}

.pdBanner--dangerHard{
  border-width:2px;
  box-shadow:0 10px 26px rgba(176,0,32,.2);
}

.pdStatCard--dangerSurface{
  border:none;
  background:linear-gradient(135deg, #8b0d1e, #b91c1c);
  box-shadow:0 16px 34px rgba(127,29,29,.34);
}

.pdStatCard__meta--dangerLight{
  color:#fff;
  opacity:.96;
}

.pdDebtCardAction{
  margin-top:10px;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.pdDebtCardAction .btn--ghost{
  border-color:rgba(255,255,255,.55);
  color:#fff;
  background:rgba(255,255,255,.12);
}

.pdDebtCardAction .btn--ghost:hover{
  background:rgba(255,255,255,.2);
}

.pdDebtCardAction span{
  color:#fff;
  opacity:.92;
  font-size:12px;
}

.pdOrderModal__card--sm{
  width:min(520px, 100%);
}

.pdDebtModalForm{
  margin-top:6px;
}

.pdMenuSheet{
  position:fixed;
  inset:0;
  z-index:110;
  display:none;
}

body.is-provider-menu-open{
  overflow:hidden;
}

.pdMenuSheet.is-open{
  display:block;
}

.pdMenuSheet__backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.55);
}

.pdMenuSheet__panel{
  position:absolute;
  right:0;
  top:0;
  height:100%;
  width:min(520px, 100%);
  border-left:1px solid rgba(0,0,0,.08);
  background:#fff;
  box-shadow:-16px 0 38px rgba(15,23,42,.24);
  padding:16px;
  overflow:auto;
}

.pdMenuSheet__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.pdMenuSheet__title{
  margin:0;
  font-size:20px;
  color:#111827;
}

.pdMenuSheet__sub{
  margin:5px 0 0;
  color:#64748b;
  font-size:12px;
  line-height:1.5;
}

.pdMenuProfile{
  margin-top:12px;
  border:1px solid rgba(90,14,36,.16);
  border-radius:14px;
  padding:11px 12px;
  background:linear-gradient(180deg, rgba(90,14,36,.05), rgba(90,14,36,.02));
}

.pdMenuProfile__name{
  font-size:16px;
  color:#111827;
  font-weight:700;
}

.pdMenuProfile__line{
  margin-top:2px;
  color:#334155;
  font-size:12px;
}

.pdMenuMeta{
  margin-top:12px;
  display:grid;
  gap:8px;
}

.pdMenuActions{
  margin-top:12px;
  display:grid;
  gap:8px;
}

.providerDash .btn--danger{
  background:#b91c1c;
  border-color:#b91c1c;
  color:#fff;
}

.providerDash .btn--danger:hover{
  background:#991b1b;
  border-color:#991b1b;
}

.providerSimpleFooter{
  margin-top:26px;
  border-top:none;
  background:
    radial-gradient(420px 120px at 0% 100%, rgba(90,14,36,.08), transparent 62%),
    #fff;
}

.providerSimpleFooter__inner{
  min-height:70px;
}

@media (max-width: 1080px){
  .pdStats{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .pdMain{
    grid-template-columns:1fr;
  }
}

@media (max-width: 760px){
  .providerDashHeader{
    position:static;
    padding-left:8px;
    padding-right:8px;
  }

  .providerDashHeader__inner{
    min-height:64px;
    padding:12px 10px;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:10px;
  }

  .providerDashHeader__brand{
    max-width:calc(100% - 122px);
  }

  .providerDashHeader__brand strong{
    font-size:15px;
  }

  .providerDashHeader__brand span{
    font-size:10px;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .providerDashHeader__actions{
    width:auto;
    margin-left:auto;
    justify-content:flex-end;
    gap:8px;
  }

  .pdOnlineState{
    padding:5px 9px;
    font-size:10px;
  }

  .pdMenuToggle{
    width:38px;
    height:38px;
    min-width:38px;
  }

  .providerDash__hero{
    grid-template-columns:1fr;
    padding:16px;
  }

  .pdTitle{
    font-size:25px;
  }

  .pdInterviewGrid,
  .pdDual,
  .pdServiceGrid,
  .pdQuickDebt,
  .pdStats,
  .pdHeroQuickGrid,
  .pdProfileGrid,
  .pdSkillGrid{
    grid-template-columns:1fr;
  }

  .pdOrderModal{
    padding:12px;
  }

  .pdOrderModal__metaGrid,
  .pdOrderModal__secure,
  .pdActionGrid,
  .pdInlineForm,
  .pdInlineForm--compact,
  .pdInlineForm--triple{
    grid-template-columns:1fr;
  }

  .pdOrderModal__reject{
    flex-direction:column;
  }

  .pdMenuSheet__panel{
    width:100%;
    border-left:none;
  }
}

@media (max-width: 420px){
  .providerDashHeader__brand span{
    display:none;
  }
}

/* Provider service catalog cards on dashboard */
.pdServiceCatalog{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}

.pdServiceCatalog--selected{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.pdSvcCard{
  display:block;
  text-decoration:none;
  color:inherit;
  border:1px solid rgba(0,0,0,.1);
  border-radius:16px;
  overflow:hidden;
  background:#fff;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.pdSvcCard:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(0,0,0,.08);
  border-color:rgba(90,14,36,.28);
}

.pdSvcCard--selected{
  border-color:rgba(16,185,129,.35);
  background:linear-gradient(180deg, rgba(16,185,129,.04), #fff);
}

.pdSvcCard.is-disabled{
  opacity:.92;
}

.pdSvcCard.is-disabled .pdSvcCard__media img{
  filter:saturate(.45);
}

.pdSvcCard__media{
  position:relative;
  height:142px;
  background:rgba(0,0,0,.04);
}

.pdSvcCard__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.pdSvcCard__pill{
  position:absolute;
  left:10px;
  top:10px;
  border-radius:999px;
  padding:4px 9px;
  font-size:10px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
}

.pdSvcCard__pill--on{
  color:#065f46;
  background:rgba(16,185,129,.12);
  border-color:rgba(16,185,129,.28);
}

.pdSvcCard__pill--off{
  color:#475569;
  background:rgba(148,163,184,.14);
  border-color:rgba(148,163,184,.3);
}

.pdSvcCard__body{
  padding:11px;
}

.pdSvcCard__top{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:flex-start;
}

.pdSvcCard__title{
  margin:0;
  font-size:14px;
  color:var(--text);
  line-height:1.35;
}

.pdSvcCard__cat{
  font-size:10px;
  color:var(--muted);
  border:1px solid rgba(0,0,0,.12);
  border-radius:999px;
  padding:3px 7px;
  white-space:nowrap;
}

.pdSvcCard__meta{
  margin-top:8px;
  color:var(--muted);
  font-size:12px;
  display:flex;
  align-items:center;
  gap:6px;
}

.pdSvcCard__desc{
  margin:8px 0 0;
  font-size:12px;
  line-height:1.55;
  color:#475569;
}

/* Provider service details page */
.providerSvcPage{
  padding-top:26px;
}

.providerSvcPage__grid{
  margin-top:10px;
  display:grid;
  grid-template-columns:minmax(0, 1.35fr) minmax(0, .9fr);
  gap:12px;
  align-items:start;
}

.providerSvcCard,
.providerSvcInfoCard,
.providerSvcGalleryPanel{
  border:1px solid var(--border);
  border-radius:18px;
  background:#fff;
}

.providerSvcCard{
  overflow:hidden;
}

.providerSvcCard__media{
  height:420px;
  background:rgba(0,0,0,.04);
}

.providerSvcCard__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.providerSvcCard__thumbs{
  display:flex;
  gap:8px;
  padding:10px;
  border-top:1px solid rgba(0,0,0,.08);
  overflow:auto;
}

.providerSvcThumb{
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
  overflow:hidden;
  width:82px;
  height:58px;
  padding:0;
  background:#fff;
  cursor:pointer;
  flex:0 0 auto;
  opacity:.75;
}

.providerSvcThumb.is-active{
  opacity:1;
  border-color:rgba(90,14,36,.35);
  box-shadow:0 10px 24px rgba(0,0,0,.08);
}

.providerSvcThumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.providerSvcCard__body{
  padding:14px;
}

.providerSvcTitle{
  margin:0;
  font-size:26px;
  line-height:1.15;
  color:var(--text);
}

.providerSvcMeta{
  margin:8px 0 0;
  color:var(--muted);
  font-size:13px;
}

.providerSvcDesc{
  margin:10px 0 0;
  color:#475569;
  line-height:1.7;
}

.providerSvcSide{
  display:flex;
  flex-direction:column;
  gap:12px;
  position:sticky;
  top:92px;
}

.providerSvcInfoCard{
  padding:14px;
}

.providerSvcInfoCard h3{
  margin:0 0 10px;
  font-size:17px;
}

.providerSvcInfoRow{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  padding:8px 0;
  border-bottom:1px solid rgba(0,0,0,.07);
  font-size:13px;
}

.providerSvcInfoRow--total{
  border-bottom:none;
  padding-bottom:0;
}

.providerSvcStatus{
  margin:0 0 10px;
  color:#334155;
  font-size:13px;
  line-height:1.6;
}

.providerSvcHint{
  margin:9px 0 0;
  color:#64748b;
  font-size:12px;
  line-height:1.6;
}

.providerSvcGalleryPanel{
  margin-top:12px;
  padding:14px;
}

.providerSvcGalleryPanel__head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  margin-bottom:10px;
}

.providerSvcGalleryPanel__head h2{
  margin:0;
  font-size:20px;
}

.providerSvcGalleryPanel__head span{
  color:var(--muted);
  font-size:12px;
}

.providerSvcGalleryGrid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:8px;
}

.providerSvcGalleryItem{
  border:1px solid rgba(0,0,0,.1);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  padding:0;
  cursor:pointer;
}

.providerSvcGalleryItem img{
  width:100%;
  height:120px;
  object-fit:cover;
  display:block;
}

@media (max-width: 1080px){
  .pdServiceCatalog{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .providerSvcPage__grid{
    grid-template-columns:1fr;
  }

  .providerSvcSide{
    position:static;
  }

  .providerSvcGalleryGrid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 760px){
  .pdServiceTools{
    flex-direction:column;
    align-items:stretch;
  }

  .pdServiceTools__search,
  .pdServiceTools__filters{
    flex:1 1 auto;
    width:100%;
  }

  .pdServiceTools__filters{
    grid-template-columns:1fr;
  }

  .providerSimpleFooter__inner{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
  }

  .pdServiceCatalog{
    grid-template-columns:1fr;
  }

  .providerSvcCard__media{
    height:260px;
  }

  .providerSvcTitle{
    font-size:22px;
  }

  .providerSvcGalleryGrid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .providerSvcGalleryItem img{
    height:106px;
  }
}



/* Global location permission prompt */
.geoPrompt{
  position:fixed;
  inset:0;
  z-index:210;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(15,23,42,.35);
  padding:16px;
}
.geoPrompt.is-open{ display:flex; }
.geoPrompt__card{
  width:min(96vw, 460px);
  background:#fff;
  border:1px solid rgba(0,0,0,.12);
  border-radius:18px;
  padding:18px;
  box-shadow:0 24px 50px rgba(15,23,42,.22);
}
.geoPrompt__title{
  margin:0 0 8px;
  font-size:22px;
  line-height:1.2;
}
.geoPrompt__text{
  margin:0;
  color:var(--muted);
  line-height:1.55;
}
.geoPrompt__status{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(90,14,36,.14);
  background:#fdf5f8;
  color:#5a0e24;
  font-size:13px;
  display:none;
}
.geoPrompt__actions{
  margin-top:14px;
  display:flex;
  gap:8px;
  justify-content:flex-end;
  flex-wrap:wrap;
}

/* PWA install prompt */
.installPrompt{
  position:fixed;
  inset:0;
  z-index:212;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(15,23,42,.45);
  padding:16px;
}
.installPrompt.is-open{ display:flex; }
.installPrompt__card{
  width:min(96vw, 440px);
  background:#fff;
  border:1px solid rgba(0,0,0,.12);
  border-radius:18px;
  padding:18px;
  box-shadow:0 24px 50px rgba(15,23,42,.24);
}
.installPrompt__title{
  margin:0 0 8px;
  font-size:21px;
  line-height:1.2;
}
.installPrompt__text{
  margin:0;
  color:var(--muted);
  line-height:1.55;
}
.installPrompt__actions{
  margin-top:14px;
  display:flex;
  gap:8px;
  justify-content:flex-end;
  flex-wrap:wrap;
}
@media (max-width: 520px){
  .installPrompt__actions .btn{
    width:100%;
  }
}
