
:root {
  --black: #14100d;
  --black-soft: #251a14;
  --coffee: #463124;
  --gold: #c69a55;
  --gold-dark: #8b612c;
  --gold-light: #efd9ad;
  --cream: #fbf7f1;
  --paper: #fffdf9;
  --white: #ffffff;
  --text: #30251e;
  --muted: #75695f;
  --line: rgba(198, 154, 85, .22);
  --line-dark: rgba(198, 154, 85, .36);
  --shadow: rgba(66, 42, 22, .11);
  --success: #3d7858;
  --danger: #aa4c47;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
html, body { width: 100%; max-width: 100%; overflow-x: hidden; }

body {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
  color: var(--text);
  line-height: 1.95;
  background:
    radial-gradient(circle at 5% 9%, rgba(198,154,85,.13), transparent 23%),
    radial-gradient(circle at 94% 84%, rgba(198,154,85,.09), transparent 25%),
    linear-gradient(180deg, #fff 0%, var(--cream) 38%, #fffdf9 100%);
}

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button { border: none; }
.container { width: min(1220px, calc(100% - 32px)); margin-inline: auto; }
.page { position: relative; isolation: isolate; }

.page::before,
.page::after {
  content: "";
  position: fixed;
  width: 420px;
  height: 420px;
  background: url("floral.svg") center / contain no-repeat;
  z-index: -1;
  opacity: .8;
  pointer-events: none;
}
.page::before { right: -130px; top: 120px; }
.page::after { left: -130px; bottom: 10px; transform: scaleX(-1); }

.topbar {
  padding: 8px 16px;
  text-align: center;
  color: #f5e6d1;
  background: #17110e;
  font-size: 13px;
}

.header {
  position: sticky;
  top: 0;
  z-index: 80;
  background: rgba(255,255,255,.92);
  border-bottom: 1px solid rgba(198,154,85,.14);
  backdrop-filter: blur(13px);
}

.header-inner {
  height: 92px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
}
.brand img {
  width: 76px;
  height: 66px;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid rgba(198,154,85,.25);
}
.brand strong {
  display: block;
  color: var(--gold-dark);
  font-size: 22px;
  font-weight: 900;
}
.brand small {
  display: block;
  direction: ltr;
  letter-spacing: 3px;
  color: var(--gold);
  font-size: 10px;
}

.nav {
  display: flex;
  align-items: center;
  gap: 25px;
  font-size: 14px;
  font-weight: 800;
}
.nav a {
  position: relative;
  white-space: nowrap;
}
.nav a::after {
  content: "";
  position: absolute;
  right: 0;
  left: 100%;
  bottom: -11px;
  height: 2px;
  background: var(--gold);
  transition: left .2s ease;
}
.nav a:hover { color: var(--gold-dark); }
.nav a:hover::after { left: 0; }

.header-cta {
  min-height: 44px;
  padding: 10px 17px;
  border-radius: 12px;
  color: white;
  font-weight: 900;
  white-space: nowrap;
  background: linear-gradient(135deg, #d0a35b, #9b6a30);
  box-shadow: 0 13px 28px rgba(198,154,85,.24);
}

.hero { padding: 24px 0 60px; }

.hero-card {
  min-height: 690px;
  position: relative;
  overflow: hidden;
  border-radius: 34px;
  border: 1px solid rgba(198,154,85,.22);
  background: #261b15;
  display: flex;
  align-items: center;
  box-shadow: 0 30px 90px rgba(59,37,19,.17);
}
.hero-card > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(23,16,12,.92) 0%, rgba(23,16,12,.68) 48%, rgba(23,16,12,.18) 100%),
    linear-gradient(0deg, rgba(23,16,12,.18), transparent 42%);
}

.hero-content {
  position: relative;
  z-index: 2;
  max-width: 710px;
  padding: 58px;
  color: #fff;
}
.hero-logo {
  width: 94px;
  height: 86px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(239,217,173,.38);
  margin-bottom: 22px;
  background: #12100e;
}
.hero-logo img { width: 100%; height: 100%; object-fit: cover; }
.eyebrow { color: #f2d39f; font-weight: 800; margin-bottom: 6px; }
.hero h1 {
  font-size: clamp(47px, 7vw, 88px);
  line-height: 1.14;
  margin-bottom: 14px;
  font-weight: 900;
}
.hero p {
  max-width: 590px;
  color: #f0e8e1;
  font-size: 17px;
  line-height: 2.12;
}
.hero-actions { display: flex; gap: 13px; flex-wrap: wrap; margin-top: 28px; }

.btn {
  min-height: 53px;
  min-width: 165px;
  padding: 12px 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  font-weight: 900;
  transition: transform .2s ease, box-shadow .2s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn.primary {
  color: #fff;
  background: linear-gradient(135deg, #d1a35a, #9a672f);
  box-shadow: 0 15px 30px rgba(198,154,85,.26);
}
.btn.ghost {
  color: #fff;
  border: 1px solid rgba(255,255,255,.38);
  background: rgba(255,255,255,.09);
  backdrop-filter: blur(8px);
}

.hero-facts {
  position: relative;
  z-index: 5;
  width: min(1080px, calc(100% - 40px));
  margin: -30px auto 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 13px;
}
.fact {
  padding: 17px;
  text-align: center;
  border-radius: 18px;
  background: rgba(255,255,255,.96);
  border: 1px solid var(--line);
  box-shadow: 0 15px 38px var(--shadow);
}
.fact b { display: block; color: var(--gold-dark); font-size: 18px; }
.fact span { color: var(--muted); font-size: 12px; }

.service-nav { padding: 52px 0 16px; }
.pills {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
}
.pills a {
  padding: 9px 15px;
  border-radius: 100px;
  border: 1px solid var(--line);
  background: #fff;
  color: #5d4939;
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(66,42,22,.05);
}
.pills a:hover { color: var(--gold-dark); background: #fff7ea; }

.services-section { padding: 34px 0 38px; }
.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 21px;
}
.heading-copy span { color: var(--gold-dark); font-weight: 900; font-size: 13px; }
.heading-copy h2 {
  margin-top: 3px;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.45;
}
.section-note {
  max-width: 500px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.9;
}

.category-layout {
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  gap: 22px;
  align-items: stretch;
}
.category-layout.reverse { grid-template-columns: 1.22fr .78fr; }

.category-image {
  min-height: 530px;
  border-radius: 24px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 20px 50px rgba(66,42,22,.11);
}
.category-image img { width: 100%; height: 100%; object-fit: cover; }
.category-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(27,18,13,.55), transparent 62%);
}
.category-image .image-label {
  position: absolute;
  right: 21px;
  bottom: 18px;
  left: 21px;
  z-index: 2;
  color: white;
}
.image-label b { display: block; font-size: 26px; }
.image-label span { color: #eaded2; font-size: 13px; }

.service-panel {
  padding: 24px;
  border-radius: 24px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.94);
  box-shadow: 0 18px 48px rgba(66,42,22,.075);
}
.service-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 17px;
  margin-bottom: 14px;
  border-bottom: 1px solid var(--line);
}
.service-panel-header h3 { font-size: 28px; }
.service-panel-header span {
  padding: 7px 11px;
  border-radius: 100px;
  color: var(--gold-dark);
  background: #fff7e9;
  border: 1px solid rgba(198,154,85,.18);
  font-size: 12px;
  font-weight: 800;
}

.service-list { display: grid; gap: 10px; }
.service-row {
  min-height: 66px;
  padding: 12px 13px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 13px;
  align-items: center;
  border-radius: 15px;
  border: 1px solid rgba(198,154,85,.13);
  background: linear-gradient(135deg, #fff, #fdf9f4);
  transition: transform .2s ease, box-shadow .2s ease;
}
.service-row:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(66,42,22,.07);
}
.service-info b { display: block; font-size: 15px; }
.service-info small { display: block; color: var(--muted); margin-top: 1px; font-size: 11px; }
.service-price {
  min-width: 118px;
  padding: 8px 10px;
  text-align: center;
  border-radius: 12px;
  color: var(--gold-dark);
  background: #fbf3e6;
  border: 1px solid rgba(198,154,85,.16);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}
.service-price.consult { color: var(--muted); background: #f7f3ef; }

.lash-table {
  display: grid;
  grid-template-columns: 1.2fr .7fr .7fr;
  border: 1px solid var(--line);
  border-radius: 17px;
  overflow: hidden;
  margin-top: 13px;
}
.lash-table > div {
  padding: 11px 12px;
  border-bottom: 1px solid var(--line);
  border-left: 1px solid var(--line);
  background: #fff;
  font-size: 13px;
}
.lash-table > div:nth-child(3n) { border-left: none; }
.lash-table .th {
  color: #fff;
  background: linear-gradient(135deg, #38271d, #5a3c28);
  font-weight: 900;
}
.lash-table .plus { color: var(--gold-dark); font-weight: 900; }

.note-card {
  margin-top: 15px;
  padding: 14px 15px;
  border-radius: 15px;
  color: #645346;
  background: #fff8ed;
  border: 1px solid rgba(198,154,85,.19);
  font-size: 12px;
  line-height: 1.9;
}

.gallery { padding: 25px 0 50px; }
.gallery-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr .8fr;
  grid-template-rows: 260px 260px;
  gap: 13px;
}
.gallery-item { overflow: hidden; border-radius: 20px; position: relative; }
.gallery-item:first-child { grid-row: 1 / 3; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.gallery-item:hover img { transform: scale(1.035); }
.gallery-item::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 20px;
  pointer-events: none;
}

.booking { padding: 52px 0; }
.booking-card {
  padding: 31px;
  border-radius: 29px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.96);
  box-shadow: 0 25px 70px rgba(66,42,22,.11);
  display: grid;
  grid-template-columns: .88fr 1.12fr;
  gap: 29px;
}
.booking-visual {
  min-height: 640px;
  border-radius: 23px;
  overflow: hidden;
  position: relative;
}
.booking-visual img { width: 100%; height: 100%; object-fit: cover; }
.booking-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(27,18,13,.70), transparent 64%);
}
.booking-copy {
  position: absolute;
  right: 24px;
  left: 24px;
  bottom: 22px;
  z-index: 2;
  color: white;
}
.booking-copy h3 { font-size: 31px; }
.booking-copy p { color: #eaded4; }

.form-side h2 { font-size: 37px; margin-bottom: 5px; }
.form-side > p { color: var(--muted); margin-bottom: 20px; }
.required-note {
  margin-bottom: 17px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #fbf6ef;
  border: 1px solid rgba(198,154,85,.15);
  color: var(--muted);
  font-size: 12px;
}
.required-note b { color: var(--gold-dark); }

.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.field { display: grid; gap: 7px; }
.field.full { grid-column: 1 / -1; }
label { color: #4b382b; font-size: 13px; font-weight: 900; }
label .optional { color: #a39589; font-weight: 500; }

input, select, textarea {
  width: 100%;
  min-height: 53px;
  padding: 13px 14px;
  color: var(--text);
  background: #fff;
  border: 1px solid rgba(198,154,85,.22);
  border-radius: 13px;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}
textarea { min-height: 115px; resize: vertical; }
input:focus, select:focus, textarea:focus {
  border-color: rgba(198,154,85,.65);
  box-shadow: 0 0 0 4px rgba(198,154,85,.10);
}
.phone { direction: ltr; text-align: left; }

.submit-btn {
  width: 100%;
  min-height: 58px;
  border-radius: 13px;
  color: #fff;
  cursor: pointer;
  font-weight: 900;
  background: linear-gradient(135deg, #d0a25b, #99652d);
  box-shadow: 0 15px 31px rgba(198,154,85,.25);
}
.submit-btn:disabled { opacity: .65; cursor: wait; }

.status { display: none; padding: 12px 13px; border-radius: 12px; font-size: 13px; }
.status.show { display: block; }
.status.ok {
  color: var(--success);
  background: rgba(61,120,88,.09);
  border: 1px solid rgba(61,120,88,.20);
}
.status.error {
  color: var(--danger);
  background: rgba(170,76,71,.08);
  border: 1px solid rgba(170,76,71,.18);
}
.hp { position: absolute !important; left: -9999px !important; opacity: 0 !important; }

.policy-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
  margin-top: 24px;
}
.policy {
  padding: 17px;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: #fff;
}
.policy b { display: block; color: var(--gold-dark); margin-bottom: 4px; }
.policy p { color: var(--muted); font-size: 12px; line-height: 1.9; }

.contact-band {
  margin-bottom: 45px;
  padding: 27px 29px;
  border-radius: 23px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  color: #fff;
  background: linear-gradient(135deg, #17110e, #493022);
}
.contact-band h3 { font-size: 25px; }
.contact-band p { color: #eaded2; }
.contact-band a {
  direction: ltr;
  color: #f1c981;
  font-size: 28px;
  font-weight: 900;
}

.footer {
  padding: 39px 0 18px;
  color: #eadfd5;
  background: #17110e;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 26px;
}
.footer-logo {
  width: 96px;
  height: 86px;
  object-fit: cover;
  border-radius: 12px;
  margin-bottom: 11px;
}
.footer h4 { color: #efca87; margin-bottom: 9px; }
.footer p, .footer li { color: #cfc0b4; font-size: 13px; line-height: 2; }
.footer ul { list-style: none; }
.copyright {
  text-align: center;
  margin-top: 25px;
  padding-top: 15px;
  border-top: 1px solid rgba(255,255,255,.10);
  color: #aa9b90;
  font-size: 12px;
}

@media (max-width: 1060px) {
  .nav { display: none; }
  .hero-facts { grid-template-columns: repeat(2, 1fr); }
  .category-layout,
  .category-layout.reverse,
  .booking-card { grid-template-columns: 1fr; }
  .category-image { min-height: 390px; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); grid-template-rows: 300px 300px; }
  .gallery-item:first-child { grid-row: auto; }
  .booking-visual { min-height: 430px; }
}

@media (max-width: 700px) {
  .container { width: min(100% - 20px, 1220px); }
  .header-inner { height: 78px; }
  .brand img { width: 58px; height: 52px; }
  .brand strong { font-size: 17px; }
  .brand small { font-size: 8px; }
  .header-cta { padding: 9px 11px; font-size: 12px; }
  .hero { padding-top: 10px; }
  .hero-card { min-height: 650px; border-radius: 23px; }
  .hero-content { padding: 30px 20px; }
  .hero h1 { font-size: 43px; }
  .hero p { font-size: 15px; }
  .hero-facts { width: calc(100% - 20px); grid-template-columns: 1fr 1fr; }
  .fact { padding: 13px 8px; }
  .section-heading { display: block; }
  .section-note { margin-top: 7px; }
  .service-panel { padding: 17px; }
  .service-panel-header { display: block; }
  .service-panel-header span { display: inline-block; margin-top: 7px; }
  .lash-table { grid-template-columns: 1fr .75fr .75fr; }
  .lash-table > div { padding: 9px 7px; font-size: 11px; }
  .service-row { grid-template-columns: 1fr; }
  .service-price { min-width: 0; width: fit-content; }
  .gallery-grid { grid-template-columns: 1fr; grid-template-rows: repeat(5, 330px); }
  .booking-card { padding: 18px; border-radius: 23px; }
  .form-grid { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
  .policy-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
}
