:root{
  --blush:#f0d9d4;
  --plum:#5a2a3f;
  --plum-dark:#3f1c2b;
  --white:#ffffff;
  --cream:#fbf3f1;
  --text:#3a2530;
  --text-dim:#8a6f78;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--text);font-family:'Almarai',Tahoma,sans-serif;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
h1,h2,.topbar__brand{font-family:'Tajawal',sans-serif;font-weight:700}
.section-title{font-size:clamp(26px,4vw,38px);text-align:center;margin:6px 0 40px}
.eyebrow{color:var(--plum);font-weight:700;font-size:13px;letter-spacing:.5px}
.eyebrow--center{display:block;text-align:center}

.back-pill{position:fixed;inset-block-start:16px;inset-inline-start:16px;z-index:300;background:rgba(255,255,255,.9);color:var(--plum);padding:8px 16px;border-radius:999px;font-size:13px;font-weight:700;border:1px solid var(--plum);box-shadow:0 2px 8px rgba(0,0,0,.08)}

/* ---- Topbar ---- */
.topbar{position:sticky;inset-block-start:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:16px 28px;background:rgba(251,243,241,.92);backdrop-filter:blur(8px);border-block-end:1px solid rgba(90,42,63,.1)}
.topbar__brand{font-size:20px;font-weight:600;color:var(--plum-dark)}
.topbar__brand span{color:var(--plum);font-weight:700}
.topbar__nav{display:flex;gap:26px;font-size:14px;font-weight:700}
.topbar__nav a{color:var(--text)}
.btn{display:inline-block;padding:12px 28px;border-radius:999px;font-weight:700;font-size:14px}
.btn--filled{background:var(--plum);color:var(--white)}
.btn--ghost{background:transparent;border:1.5px solid var(--plum);color:var(--plum)}

/* ---- Hero ---- */
.hero{padding:70px 28px 40px;max-width:760px;margin:0 auto;text-align:center}
.hero h1{font-size:clamp(34px,6vw,58px);line-height:1.2;margin:14px 0 18px}
.hero h1 span{color:var(--plum)}
.hero p{color:var(--text-dim);font-size:16px;line-height:1.8;max-width:560px;margin:0 auto 30px}

/* ---- Zone picker (archetype K: diagram-anchored nav) ---- */
.zone-picker{padding:20px 24px 60px;text-align:center}
.zone-tabs{display:flex;justify-content:center;gap:10px;margin-bottom:36px}
.zone-tab{padding:10px 26px;border-radius:999px;font-weight:700;font-size:14px;border:1.5px solid var(--plum);color:var(--plum)}
.zone-tab.is-active{background:var(--plum);color:var(--white)}
.zone-diagram-wrap{max-width:340px;margin:0 auto}
.zone-diagram{position:relative;width:100%}
.zone-diagram.is-hidden{display:none}
.zone-svg{width:100%;display:block}
.zone-dot{position:absolute;transform:translate(50%,-50%);width:16px;height:16px;border-radius:50%;background:var(--plum);border:3px solid var(--blush);box-shadow:0 0 0 4px rgba(90,42,63,.15)}
.zone-dot:hover .zone-dot__label,.zone-dot:focus .zone-dot__label{opacity:1;transform:translate(-50%,-6px)}
.zone-dot__label{position:absolute;inset-inline-end:24px;inset-block-start:-6px;background:var(--plum-dark);color:var(--white);padding:6px 12px;border-radius:8px;font-size:12px;white-space:nowrap;opacity:0;transition:.2s;pointer-events:none}

/* ---- Services ---- */
.services{padding:0 24px 70px;max-width:1080px;margin:0 auto}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc-card{background:var(--white);border-radius:16px;padding:24px;border:1px solid rgba(90,42,63,.08);transition:.25s}
.svc-card.is-highlighted{box-shadow:0 0 0 3px var(--plum);transform:translateY(-4px)}
.svc-card__name{font-family:'Tajawal',sans-serif;font-weight:700;font-size:18px;margin:0 0 8px;color:var(--plum-dark)}
.svc-card__price{font-size:20px;font-weight:800;color:var(--plum);margin:0 0 10px}
.svc-card__detail{color:var(--text-dim);font-size:13.5px;line-height:1.8;margin:0}

/* ---- Before/After slider ---- */
.before-after{padding:20px 24px 70px;text-align:center}
.ba-note{color:var(--text-dim);font-size:13px;max-width:480px;margin:-20px auto 30px}
.ba-slider{position:relative;max-width:420px;margin:0 auto;border-radius:20px;overflow:hidden;aspect-ratio:3/4;cursor:ew-resize;user-select:none}
.ba-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba-clip{position:absolute;inset-block-start:0;inset-inline-start:0;height:100%;width:50%;overflow:hidden}
.ba-clip .ba-img{position:absolute;inset-block-start:0;inset-inline-start:0;height:100%;max-width:none}
.ba-handle{position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:var(--white);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.3);font-size:16px;color:var(--plum);z-index:5}
.ba-tag{position:absolute;inset-block-start:14px;background:rgba(0,0,0,.55);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;z-index:4}
.ba-tag--before{inset-inline-start:14px}
.ba-tag--after{inset-inline-end:14px}

/* ---- Doctors ---- */
.doctors{padding:20px 24px 70px;max-width:760px;margin:0 auto;text-align:center}
.doctors-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;text-align:start}
.doc-card{background:var(--white);border-radius:16px;overflow:hidden;border:1px solid rgba(90,42,63,.08)}
.doc-card img{width:100%;aspect-ratio:1/1;object-fit:cover}
.doc-card__body{padding:16px}
.doc-card__name{font-weight:700;margin:0 0 4px;font-size:15px;color:var(--plum-dark)}
.doc-card__role{color:var(--plum);font-size:12.5px;margin:0 0 8px}
.doc-card__bio{color:var(--text-dim);font-size:12.5px;line-height:1.7;margin:0}

/* ---- FAQ ---- */
.faq{padding:20px 24px 70px;max-width:680px;margin:0 auto}
.faq-item{border-block-end:1px solid rgba(90,42,63,.15)}
.faq-q{width:100%;text-align:start;padding:18px 4px;font-weight:700;font-size:15px;display:flex;justify-content:space-between;align-items:center;color:var(--plum-dark)}
.faq-q__icon{transition:.25s}
.faq-item.is-open .faq-q__icon{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:.3s;color:var(--text-dim);font-size:13.5px;line-height:1.8}
.faq-item.is-open .faq-a{max-height:200px;padding-block-end:16px}

/* ---- Booking wizard ---- */
.booking{padding:20px 24px 90px}
.booking-wrap{max-width:560px;margin:0 auto}
.wizard{background:var(--white);border-radius:20px;padding:30px;border:1px solid rgba(90,42,63,.1)}
.wizard-steps{display:flex;justify-content:space-between;margin-bottom:26px;font-size:12px;font-weight:700;color:var(--text-dim)}
.w-step.is-active{color:var(--plum)}
.wizard-panel{display:none}
.wizard-panel.is-active{display:block}
.wizard-label{font-weight:700;margin-bottom:14px;color:var(--plum-dark)}
.wizard-options{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.w-option{padding:14px 16px;border-radius:10px;border:1.5px solid rgba(90,42,63,.2);text-align:start;font-size:14px}
.w-option.is-selected{border-color:var(--plum);background:var(--blush)}
.w-input{width:100%;padding:14px 16px;border-radius:10px;border:1.5px solid rgba(90,42,63,.2);margin-bottom:12px;font-family:inherit;font-size:14px}
.wizard-next,.wizard-back{margin-inline-end:8px}
.wizard-success{display:none;text-align:center;padding:10px}
.wizard-success.is-visible{display:block}
.wizard-success__icon{width:54px;height:54px;border-radius:50%;background:var(--plum);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;margin:0 auto 16px}
.wizard-success p{color:var(--text-dim);font-size:14px;line-height:1.7}
.wizard-success strong{color:var(--plum);font-size:18px}

/* ---- WhatsApp FAB ---- */
.wa-fab{position:fixed;inset-block-end:24px;inset-inline-end:24px;width:54px;height:54px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.25);z-index:200}

/* ---- Footer ---- */
.site-footer{background:var(--plum-dark);padding:44px 24px 24px;color:#e9d9de}
.footer-grid{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.footer-grid h4{color:var(--blush);font-size:14px;margin:0 0 10px}
.footer-grid p{color:#cbb2ba;font-size:13px;line-height:1.8;margin:0 0 6px}
.tax-line{opacity:.7;font-size:11.5px}
.footer-bottom{text-align:center;color:#a78a92;font-size:12px;margin-block-start:26px;padding-block-start:20px;border-block-start:1px solid rgba(255,255,255,.1)}

/* ---- Responsive ---- */
@media (max-width:900px){
  .services-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:768px){
  .topbar__nav{display:none}
  .footer-grid{grid-template-columns:1fr;text-align:center}
}
@media (max-width:480px){
  .services-grid{grid-template-columns:1fr}
  .doctors-grid{grid-template-columns:1fr}
  .zone-dot__label{font-size:11px}
}
